summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Rostovtsev <tetromino@gentoo.org>2013-09-09 00:40:49 +0000
committerAlexandre Rostovtsev <tetromino@gentoo.org>2013-09-09 00:40:49 +0000
commit8ec92027442260264aca0d441a4a634bcee24767 (patch)
tree69d244f04949ee4f079706374a3cf77ff4bd839f /app-arch/file-roller
parentRestore 3.0.5, needed by stable dev-ruby/ruby2ruby-1.2.4-r2. (diff)
downloadhistorical-8ec92027442260264aca0d441a4a634bcee24767.tar.gz
historical-8ec92027442260264aca0d441a4a634bcee24767.tar.bz2
historical-8ec92027442260264aca0d441a4a634bcee24767.zip
Add support for rar-5 and unrar-5 (bug #483722).
Package-Manager: portage-2.2.1/cvs/Linux x86_64 Manifest-Sign-Key: 0xCF0ADD61
Diffstat (limited to 'app-arch/file-roller')
-rw-r--r--app-arch/file-roller/ChangeLog8
-rw-r--r--app-arch/file-roller/Manifest16
-rw-r--r--app-arch/file-roller/file-roller-3.8.4-r1.ebuild102
-rw-r--r--app-arch/file-roller/files/file-roller-3.8.4-rar-5.patch246
4 files changed, 366 insertions, 6 deletions
diff --git a/app-arch/file-roller/ChangeLog b/app-arch/file-roller/ChangeLog
index 97bab4828ae6..0a6cef783982 100644
--- a/app-arch/file-roller/ChangeLog
+++ b/app-arch/file-roller/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-arch/file-roller
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/file-roller/ChangeLog,v 1.324 2013/08/27 06:24:25 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-arch/file-roller/ChangeLog,v 1.325 2013/09/09 00:40:44 tetromino Exp $
+
+*file-roller-3.8.4-r1 (09 Sep 2013)
+
+ 09 Sep 2013; Alexandre Rostovtsev <tetromino@gentoo.org>
+ +file-roller-3.8.4-r1.ebuild, +files/file-roller-3.8.4-rar-5.patch:
+ Add support for rar-5 and unrar-5 (bug #483722).
27 Aug 2013; Pacho Ramos <pacho@gentoo.org> -file-roller-3.6.3.ebuild,
-file-roller-3.6.4.ebuild, -file-roller-3.8.2.ebuild,
diff --git a/app-arch/file-roller/Manifest b/app-arch/file-roller/Manifest
index 8383d350e892..64670a3c02e3 100644
--- a/app-arch/file-roller/Manifest
+++ b/app-arch/file-roller/Manifest
@@ -3,16 +3,22 @@ Hash: SHA256
AUX 3.6.0-packages.match 571 SHA256 3888ee8a6cb163d0e7813fde1d0ea028f2e47410aff8bec1e52c219e6bb7296d SHA512 899ff4ae7a8df9790ff3eb74f85b7d4b6ab7e7cd22cb2e3f5fcbf7006f9a327dfff799ecf30fae66c24097b81afaa8167ea972f37a8b983b09a2ebf1ee044212 WHIRLPOOL afd71f74d2776db559c5a60342f1c26e9d718321bc433ff7b99d98b6e22d42ede7f67901ff0c5b1d172a3ebd3ef5a067506085818f8514b0f15ece5ddf2684aa
AUX file-roller-2.10.3-use_bin_tar.patch 504 SHA256 c22e742893800c4302df40af66b1eabeab700fea7326eada849f919bdd76c052 SHA512 e93b69af0e281590a362930580f13f2b85efec98d9a40c6b8becf3731c70713be106dbfbff9f4a7e783fc0dc0f72fdb78a063d5ab7d0c9c280a90fc58b778667 WHIRLPOOL 13e8bfa47665be629119adaeaa0b31092aa409916410bdf39caca11b2f87c4f949e2153037d0d52d51ee88c1009dd1b6265a4cc525da8f7e9621d4931d15887c
+AUX file-roller-3.8.4-rar-5.patch 6831 SHA256 45105e2460a8ef18bffcf00a798f323dee1d761a9a87633bdac40b967c805fde SHA512 af0acef83dea0ee007f6c3db2f6a72552049f25a6131b3b31943c1c4a4beb31435af776cc7d252b91270302bf0f878c9e4f2ffde40e7fcf83ee16b817acc0181 WHIRLPOOL 543dc3ff03a1ac5bc630f4d5749335b06c597f463669b86896610e92b3d6a7c6a1d824867679b8921ca24e53b4dceb959a2c0485e8068bb9a54b20ea4393b1dc
DIST file-roller-2.32.2.tar.bz2 1901661 SHA256 3ddbe4e4134eab4ff8e97789a1626aec6cbc588190f2f520850d0697037e5755 SHA512 c62153871ed0210972d45ed0fa71eb177602cbc48894907c50ff45e8798d07979377ce4cbe1fbc1c37e5762cd005c5846dd9ac9f5ee93fe860de2babdc0933f0 WHIRLPOOL ea0af0538616532fc644f019d133bf5bfff876c95a3998d63ef58b3fa1b5b3d449c29589125ccdaeea18a1c0c1cafb872e996dd2b174b507c2c804d9c73e32dc
DIST file-roller-3.8.4.tar.xz 1517092 SHA256 3615bc41bbe28030d16ee414a8f5f9a3e37f745733c39032ef1559a06be3eea8 SHA512 3e901a6f7a48dab925995c1ca9dde3327a4b6c575e7e307f8d8f2dc36fc452a486a4f6068873864affe7256862de6001dce546ededd261aeaf2d9ab0dcb8ccf6 WHIRLPOOL 2d6d0a99bfeacd5ec21551cda91ef73810348b17a82d308e625234647d0c9d6babdef361c41217f799fd50df034304c637672ced66ca5ab1e1030f0b0e044e9a
EBUILD file-roller-2.32.2.ebuild 2439 SHA256 e831af3708694be41a1f51130d4779490493ae6515ce07fcb055cada4453b26a SHA512 b4089c5dc7193b47de92fc22fd276470219d66e24df31e05b7bf2bade64ed92ff41280957d387db7a2ed0c12fa02cb3bc27f752f0a3f0ed1f16b361d0df6aa67 WHIRLPOOL b1bb0dc560ccc9313c1d397323aa375e5055cc65dfeeb7691f7110d7b5e84f07b17d133f737c9f4f725bf7e7d0853a17d18310598a6e762f273a911f99acac28
+EBUILD file-roller-3.8.4-r1.ebuild 2757 SHA256 2043b6ecd1c3570b2c10f4a151774ed06fe8b04270e634bfd37735eeff144761 SHA512 14c873cd2e27c30f17a4de546af803dc889fb8427286bf77e1f68ffb446ad7165ee854a11ec640e2d0dbf1fea3a5029f8dd792e40da0ea9113f5bbd5f2b891f2 WHIRLPOOL 52899b1397f5f3f7f9e4f27d3fe1ffccfecdc57ea009c7b9296ce651a0a919b98cb142c7759dc0a640f38c4a6c89d704dd7f35fb3cffba2a439f326715a6b87f
EBUILD file-roller-3.8.4.ebuild 2619 SHA256 d78b673f8308b6a7abbb0f2ee94e74ef614d716b47967ecfd8056708ee174d7c SHA512 0e34edc756837be8713d127f3acd963aee894406d3d5e378b37e648af969731be7fa1860d464a485f4d5abf737f50c07d4edacda2c3dee6150b6687cb6830f57 WHIRLPOOL 3498a0f94447b16d10f2414f5510032726e7cc19211a3ced7ccc0dcaabeac5aface238f817f859daca5360d55db90b9d6227df55ddc71ec6439967d2ea5a3d49
-MISC ChangeLog 43662 SHA256 3ffb8e4bec0f4c9e0b623cbec7f2c28f22d0b9b2cc370168b590585372b8e067 SHA512 288341bb235fc187a75423cb749f98d6f953db3b43f0808604b0a087b45577e553cbd5e6bc1ae80388b250debab8a7e648f1760a54b24e0f9a92a8ddf0b1716a WHIRLPOOL ea2f25c845ada8b9f312e4f9e4a3c1be7efe0bde274374329aca570fa61b6505875467c191937484055c9f9c3aa9b0bc6896bddbd4ca2d18d22a7d5dc4298792
+MISC ChangeLog 43884 SHA256 d8300ae415a80d1886f76d7d6131601622052bd8f629830c869bce5f96dfbe15 SHA512 a28f2600cefd82de97d4d9b3eb2b3fbba80729a892ec1d854950d8b40d09044c14dde2c726c4afd630b21c168b36dc2239bcbda0d830751e166094ea6ad33d31 WHIRLPOOL 7fef104214969ea14e0b30e10947a2061e1eecf50384a06114f492195bcc3d75c5fc52d9eda533b09e3d67a0b6c300af88a4bcd63cd5c75275295893e54d9f52
MISC metadata.xml 446 SHA256 855d22d9ec6384bbec09562c5aebd68e043a50f002ba277818e3b7755b824f50 SHA512 fb6974a3cc457bfc0c9a17d8c160ff6997e9dafe5f4a4f863316e8e8b7b7a7d246612411eeaf890dce783b01ae74abb15bbda3a095dc3a9ad0c8c9118ee19931 WHIRLPOOL f65ab1874181cbb6c71e145f6ba51562899876bcfcf8bd93624f725455a4731090f64611ef122f6c777cce9a701af73d858ac53f3a90ca3a4ee61abd778a8026
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.20 (GNU/Linux)
+Version: GnuPG v2.0.21 (GNU/Linux)
-iEYEAREIAAYFAlIcRh4ACgkQCaWpQKGI+9QI0QCeMhJGidH6P9Nr6LE3xffl0d1q
-NjwAniPqxW5Nw79JqcV1DFd5IoJtYuS9
-=i/4h
+iQEcBAEBCAAGBQJSLRkZAAoJEJ0WA1zPCt1hML8H/jaZWSLNgd25Zdvpy9Vsmg1T
+jiULIj+0HbRqI0ve1m07/FWOcM7IiZX8tJwLgeynzomg6e3N/rSQtOuYyyfvwr2q
+3hdzhNwVzqIpWrB+NXozTQENAJocMe4xG5RJZQrjXR9t5pOdlyfoL9FhKp5+W1AV
+WLxYRoCAi+Y0LWXa1W82tDPX1IBGq4JWtacSDGjstNwTuGFxMXpsdKK3PTq+lCuz
+cE9O8y0seEITJ16ED6nNj+OPnJqio+hsrlVNu4R/LaoeWs+BeqLFj7JWiCItVncY
+NqNWKeNp6PGg8KvHPPHBRzWUDnIHXrS6XWyJicdnfIH50pptqjxaUH04kEvRofM=
+=pNHc
-----END PGP SIGNATURE-----
diff --git a/app-arch/file-roller/file-roller-3.8.4-r1.ebuild b/app-arch/file-roller/file-roller-3.8.4-r1.ebuild
new file mode 100644
index 000000000000..8b682ea4152e
--- /dev/null
+++ b/app-arch/file-roller/file-roller-3.8.4-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/file-roller/file-roller-3.8.4-r1.ebuild,v 1.1 2013/09/09 00:40:44 tetromino Exp $
+
+EAPI="5"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit eutils gnome2 readme.gentoo
+
+DESCRIPTION="Archive manager for GNOME"
+HOMEPAGE="http://fileroller.sourceforge.net/"
+
+LICENSE="GPL-2+ CC-BY-SA-3.0"
+SLOT="0"
+IUSE="nautilus packagekit"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux"
+
+# gdk-pixbuf used extensively in the source
+# cairo used in eggtreemultidnd.c
+# pango used in fr-window
+RDEPEND="
+ >=app-arch/libarchive-3:=
+ >=dev-libs/glib-2.29.14:2
+ >=dev-libs/json-glib-0.14
+ >=x11-libs/gtk+-3.6:3
+ >=x11-libs/libnotify-0.4.3:=
+ sys-apps/file
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/pango
+ nautilus? ( >=gnome-base/nautilus-3 )
+ packagekit? ( app-admin/packagekit-base )
+"
+DEPEND="${RDEPEND}
+ dev-util/desktop-file-utils
+ >=dev-util/intltool-0.40.0
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+# eautoreconf needs:
+# gnome-base/gnome-common
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+${PN} is a frontend for several archiving utilities. If you want a
+particular achive format support, see ${HOMEPAGE}
+and install the relevant package. For example:
+7-zip - app-arch/p7zip
+ace - app-arch/unace
+arj - app-arch/arj
+cpio - app-arch/cpio
+deb - app-arch/dpkg
+iso - app-cdr/cdrtools
+jar,zip - app-arch/zip and app-arch/unzip
+lha - app-arch/lha
+lzop - app-arch/lzop
+rar - app-arch/unrar or app-arch/unar
+rpm - app-arch/rpm
+unstuff - app-arch/stuffit
+zoo - app-arch/zoo"
+
+src_prepare() {
+ # Use absolute path to GNU tar since star doesn't have the same
+ # options. On Gentoo, star is /usr/bin/tar, GNU tar is /bin/tar
+ epatch "${FILESDIR}"/${PN}-2.10.3-use_bin_tar.patch
+
+ # app-arch/{un,}rar-5 support, https://bugzilla.gnome.org/show_bug.cgi?id=707568
+ epatch "${FILESDIR}"/${PN}-3.8.4-rar-5.patch
+
+ # File providing Gentoo package names for various archivers
+ cp -f "${FILESDIR}/3.6.0-packages.match" data/packages.match || die
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog HACKING MAINTAINERS NEWS README* TODO"
+ # --disable-debug because enabling it adds -O0 to CFLAGS
+ gnome2_src_configure \
+ --disable-run-in-place \
+ --disable-static \
+ --disable-debug \
+ --enable-magic \
+ --enable-libarchive \
+ --with-smclient=xsmp \
+ $(use_enable nautilus nautilus-actions) \
+ $(use_enable packagekit) \
+ ITSTOOL=$(type -P true)
+}
+
+src_install() {
+ gnome2_src_install
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+ readme.gentoo_print_elog
+}
diff --git a/app-arch/file-roller/files/file-roller-3.8.4-rar-5.patch b/app-arch/file-roller/files/file-roller-3.8.4-rar-5.patch
new file mode 100644
index 000000000000..73168e8b5982
--- /dev/null
+++ b/app-arch/file-roller/files/file-roller-3.8.4-rar-5.patch
@@ -0,0 +1,246 @@
+From 065550880248b6a66c2fa3143adc0962d0473283 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Sun, 8 Sep 2013 19:02:10 -0400
+Subject: [PATCH] rar: add support for rar-5.00
+
+https://bugzilla.gnome.org/show_bug.cgi?id=707568
+---
+ src/fr-command-rar.c | 153 +++++++++++++++++++++++++++++++++++++--------------
+ src/fr-command-rar.h | 3 +-
+ 2 files changed, 115 insertions(+), 41 deletions(-)
+
+diff --git a/src/fr-command-rar.c b/src/fr-command-rar.c
+index b67db1f..938bf8c 100644
+--- a/src/fr-command-rar.c
++++ b/src/fr-command-rar.c
+@@ -84,6 +84,82 @@ mktime_from_string (char *date_s,
+ return mktime (&tm);
+ }
+
++/* Sample rar-5 listing output:
++
++RAR 5.00 beta 8 Copyright (c) 1993-2013 Alexander Roshal 22 Aug 2013
++Trial version Type RAR -? for help
++
++Archive: test.rar
++Details: RAR 4
++
++ Attributes Size Packed Ratio Date Time Checksum Name
++----------- --------- -------- ----- -------- ----- -------- ----
++ -rw-r--r-- 453 304 67% 05-09-13 09:55 56DA5EF3 loremipsum.txt
++----------- --------- -------- ----- -------- ----- -------- ----
++ 453 304 67% 1
++
++ *
++ * Sample rar-4 listing output:
++ *
++
++RAR 4.20 Copyright (c) 1993-2012 Alexander Roshal 9 Jun 2012
++Trial version Type RAR -? for help
++
++Archive test.rar
++
++Pathname/Comment
++ Size Packed Ratio Date Time Attr CRC Meth Ver
++-------------------------------------------------------------------------------
++ loremipsum.txt
++ 453 304 67% 05-09-13 09:55 -rw-r--r-- 56DA5EF3 m3b 2.9
++-------------------------------------------------------------------------------
++ 1 453 304 67%
++
++ */
++
++static void
++parse_name_field (char *line,
++ FrCommandRar *rar_comm)
++{
++ const char *name_field;
++ FileData *fdata;
++
++ rar_comm->fdata = fdata = file_data_new ();
++
++ /* read file name. */
++
++ fdata->encrypted = (line[0] == '*') ? TRUE : FALSE;
++
++ if (rar_comm->rar4_odd_line)
++ name_field = line + 1;
++ else
++ /* rar-5 output adds trailing spaces to short file names :( */
++ name_field = g_strchomp (_g_str_get_last_field (line, 8));
++
++ if (*name_field == '/') {
++ fdata->full_path = g_strdup (name_field);
++ fdata->original_path = fdata->full_path;
++ }
++ else {
++ fdata->full_path = g_strconcat ("/", name_field, NULL);
++ fdata->original_path = fdata->full_path + 1;
++ }
++
++ fdata->link = NULL;
++ fdata->path = _g_path_remove_level (fdata->full_path);
++}
++
++static gboolean
++attr_field_is_dir (const char *attr_field,
++ FrCommandRar *rar_comm)
++{
++ if ((attr_field[0] == 'd') ||
++ (rar_comm->rar5 && attr_field[3] == 'D') ||
++ (!rar_comm->rar5 && attr_field[1] == 'D'))
++ return TRUE;
++
++ return FALSE;
++}
+
+ static void
+ process_line (char *line,
+@@ -92,14 +168,18 @@ process_line (char *line,
+ FrCommand *comm = FR_COMMAND (data);
+ FrCommandRar *rar_comm = FR_COMMAND_RAR (comm);
+ char **fields;
+- const char *name_field;
+
+ g_return_if_fail (line != NULL);
+
+ if (! rar_comm->list_started) {
+- if (strncmp (line, "--------", 8) == 0) {
++ if (strncmp (line, "Details:", 8) == 0) {
++ rar_comm->rar5 = TRUE;
++ return;
++ }
++ else if (strncmp (line, "--------", 8) == 0) {
+ rar_comm->list_started = TRUE;
+- rar_comm->odd_line = TRUE;
++ if (! rar_comm->rar5)
++ rar_comm->rar4_odd_line = TRUE;
+ }
+ else if (strncmp (line, "Volume ", 7) == 0)
+ FR_ARCHIVE (comm)->multi_volume = TRUE;
+@@ -111,24 +191,43 @@ process_line (char *line,
+ return;
+ }
+
+- if (! rar_comm->odd_line) {
+- FileData *fdata;
++ if (rar_comm->rar4_odd_line || rar_comm->rar5)
++ parse_name_field (line, rar_comm);
++
++ if (! rar_comm->rar4_odd_line) {
++ FileData *fdata;
++ const char *size_field, *ratio_field, *date_field, *time_field, *attr_field;
+
+ fdata = rar_comm->fdata;
+
+ /* read file info. */
+
+ fields = _g_str_split_line (line, 6);
++ if (rar_comm->rar5) {
++ size_field = fields[1];
++ ratio_field = fields[3];
++ date_field = fields[4];
++ time_field = fields[5];
++ attr_field = fields[0];
++ }
++ else {
++ size_field = fields[0];
++ ratio_field = fields[2];
++ date_field = fields[3];
++ time_field = fields[4];
++ attr_field = fields[5];
++ }
+ if (g_strv_length (fields) < 6) {
+ /* wrong line format, treat this line as a filename line */
+ g_strfreev (fields);
+ file_data_free (rar_comm->fdata);
+ rar_comm->fdata = NULL;
+- rar_comm->odd_line = TRUE;
++ rar_comm->rar4_odd_line = TRUE;
++ parse_name_field (line, rar_comm);
+ }
+ else {
+- if ((strcmp (fields[2], "<->") == 0)
+- || (strcmp (fields[2], "<--") == 0))
++ if ((strcmp (ratio_field, "<->") == 0)
++ || (strcmp (ratio_field, "<--") == 0))
+ {
+ /* ignore files that span more volumes */
+
+@@ -136,10 +235,10 @@ process_line (char *line,
+ rar_comm->fdata = NULL;
+ }
+ else {
+- fdata->size = g_ascii_strtoull (fields[0], NULL, 10);
+- fdata->modified = mktime_from_string (fields[3], fields[4]);
++ fdata->size = g_ascii_strtoull (size_field, NULL, 10);
++ fdata->modified = mktime_from_string (date_field, time_field);
+
+- if ((fields[5][1] == 'D') || (fields[5][0] == 'd')) {
++ if (attr_field_is_dir (attr_field, rar_comm)) {
+ char *tmp;
+
+ tmp = fdata->full_path;
+@@ -155,7 +254,7 @@ process_line (char *line,
+ }
+ else {
+ fdata->name = g_strdup (_g_path_get_basename (fdata->full_path));
+- if (fields[5][0] == 'l')
++ if (attr_field[0] == 'l')
+ fdata->link = g_strdup (_g_path_get_basename (fdata->full_path));
+ }
+
+@@ -167,34 +266,8 @@ process_line (char *line,
+ }
+ }
+
+- if (rar_comm->odd_line) {
+- FileData *fdata;
+-
+- rar_comm->fdata = fdata = file_data_new ();
+-
+- /* read file name. */
+-
+- fdata->encrypted = (line[0] == '*') ? TRUE : FALSE;
+-
+- name_field = line + 1;
+-
+- if (*name_field == '/') {
+- fdata->full_path = g_strdup (name_field);
+- fdata->original_path = fdata->full_path;
+- }
+- else {
+- fdata->full_path = g_strconcat ("/", name_field, NULL);
+- fdata->original_path = fdata->full_path + 1;
+- }
+-
+- fdata->link = NULL;
+- fdata->path = _g_path_remove_level (fdata->full_path);
+- }
+- else {
+-
+- }
+-
+- rar_comm->odd_line = ! rar_comm->odd_line;
++ if (! rar_comm->rar5)
++ rar_comm->rar4_odd_line = ! rar_comm->rar4_odd_line;
+ }
+
+
+diff --git a/src/fr-command-rar.h b/src/fr-command-rar.h
+index d60e422..09ed270 100644
+--- a/src/fr-command-rar.h
++++ b/src/fr-command-rar.h
+@@ -42,7 +42,8 @@ struct _FrCommandRar
+ FrCommand __parent;
+
+ gboolean list_started;
+- gboolean odd_line;
++ gboolean rar4_odd_line;
++ gboolean rar5;
+ FileData *fdata;
+ };
+
+--
+1.8.3.2
+