diff options
author | Alexandre Rostovtsev <tetromino@gentoo.org> | 2013-09-09 00:40:49 +0000 |
---|---|---|
committer | Alexandre Rostovtsev <tetromino@gentoo.org> | 2013-09-09 00:40:49 +0000 |
commit | 8ec92027442260264aca0d441a4a634bcee24767 (patch) | |
tree | 69d244f04949ee4f079706374a3cf77ff4bd839f /app-arch/file-roller | |
parent | Restore 3.0.5, needed by stable dev-ruby/ruby2ruby-1.2.4-r2. (diff) | |
download | historical-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/ChangeLog | 8 | ||||
-rw-r--r-- | app-arch/file-roller/Manifest | 16 | ||||
-rw-r--r-- | app-arch/file-roller/file-roller-3.8.4-r1.ebuild | 102 | ||||
-rw-r--r-- | app-arch/file-roller/files/file-roller-3.8.4-rar-5.patch | 246 |
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 + |