diff options
Diffstat (limited to 'community/mate-file-archiver')
-rw-r--r-- | community/mate-file-archiver/PKGBUILD | 51 | ||||
-rw-r--r-- | community/mate-file-archiver/fr-rpm-bsdtar.patch | 60 | ||||
-rw-r--r-- | community/mate-file-archiver/mate-file-archiver.install | 13 |
3 files changed, 124 insertions, 0 deletions
diff --git a/community/mate-file-archiver/PKGBUILD b/community/mate-file-archiver/PKGBUILD new file mode 100644 index 000000000..33bf4e4d3 --- /dev/null +++ b/community/mate-file-archiver/PKGBUILD @@ -0,0 +1,51 @@ +# $Id: PKGBUILD 104212 2014-01-16 17:08:48Z flexiondotorg $ +# Maintainer : Martin Wimpress <code@flexion.org> +# Contributor: Giovanni "Talorno" Ricciardi <kar98k.sniper@gmail.com> +# Contributor: Alessio Sergi <asergi at archlinux dot us> +# Contributor: Xpander <xpander0@gmail.com> +# Contributor: hekel <hekel(at)archlinux.info> + +pkgname=mate-file-archiver +pkgver=1.6.0 +pkgrel=7 +pkgdesc="Archive manipulator for MATE" +url="http://mate-desktop.org" +arch=('i686' 'x86_64') +license=('GPL') +depends=('bzip2' 'desktop-file-utils' 'gtk2' 'gzip' 'libarchive' + 'mate-file-manager' 'tar') +makedepends=('mate-common' 'mate-doc-utils' 'perl-xml-parser') +optdepends=('unrar: for RAR uncompression' +'zip: for ZIP archives' 'unzip: for ZIP archives' +'p7zip: 7zip compression utility' 'arj: for ARJ archives' +'unace: extraction tool for the proprietary ace archive format') +options=('!emptydirs') +groups=('mate-extra') +source=("http://pub.mate-desktop.org/releases/1.6/${pkgname}-${pkgver}.tar.xz" + fr-rpm-bsdtar.patch) +sha1sums=('c7df115b532a14fb7be193113da32cda4a2218e8' + '219b05a979bf6f249aaae27964f02345fd81168d') +install=${pkgname}.install + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + # This patch 'depends' on libarchive + patch -Np1 -i "${srcdir}/fr-rpm-bsdtar.patch" +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./autogen.sh \ + --prefix=/usr \ + --libexecdir=/usr/lib/${pkgname} \ + --disable-static \ + --disable-scrollkeeper \ + --disable-packagekit + mate-doc-prepare --force + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/community/mate-file-archiver/fr-rpm-bsdtar.patch b/community/mate-file-archiver/fr-rpm-bsdtar.patch new file mode 100644 index 000000000..93a783176 --- /dev/null +++ b/community/mate-file-archiver/fr-rpm-bsdtar.patch @@ -0,0 +1,60 @@ +This makes Engrampa use bsdtar to extract .RPM packages instead of using cpio. +It is useful on systems that do not have cpio or RPM/YUM +This patch was created for Arch Linux, however should work on any system that has bsdtar capable of handling cpio archives. + +------------------+ + rpm2cpio.c | 2 +- + fr-command-rpm.c | 8 ++++---- + 2 files changed, 5 insertions(+), 5 deletions(-) + +Index: src/commands/rpm2cpio.c +================================ +--- mate-file-archiver-1.6.0/src/commands/rpm2cpio.c 2013-03-31 ++++ mate-file-archiver-1.6.0/src/commands/rpm2cpio.c 2013-07-26 +@@ -128,7 +128,7 @@ + archive_command = "bzip2 -dc"; + fclose (stream); + +- command = g_strdup_printf ("sh -c \"dd if=%s ibs=%u skip=1 2>/dev/null | %s | cpio %s\"", g_shell_quote (filename), offset, archive_command, cpio_args->str); ++ command = g_strdup_printf ("sh -c \"dd if=%s ibs=%u skip=1 2>/dev/null | %s | bsdtar %s\"", g_shell_quote (filename), offset, archive_command, cpio_args->str); + + return system (command); + } +Index: src/fr-command-rpm.c +================================ +--- mate-file-archiver-1.6.0/src/fr-command-rpm.c 2013-03-31 ++++ mate-file-archiver-1.6.0/src/fr-command-rpm.c 2013-07-26 +@@ -175,7 +175,7 @@ + + fr_process_begin_command (comm->process, "sh"); + fr_process_add_arg (comm->process, "-c"); +- fr_process_add_arg_concat (comm->process, PRIVEXECDIR "rpm2cpio ", comm->e_filename, " -itv", NULL); ++ fr_process_add_arg_concat (comm->process, PRIVEXECDIR "rpm2cpio ", comm->e_filename, " -tvf -", NULL); + fr_process_end_command (comm->process); + fr_process_start (comm->process); + } +@@ -200,7 +200,7 @@ + + cmd = g_string_new (PRIVEXECDIR "rpm2cpio "); + g_string_append (cmd, comm->e_filename); +- g_string_append (cmd, " -idu "); ++ g_string_append (cmd, " -xf - "); + for (scan = file_list; scan; scan = scan->next) { + char *filename = g_shell_quote (scan->data); + g_string_append (cmd, filename); +@@ -233,7 +233,7 @@ + FrCommandCap capabilities; + + capabilities = FR_COMMAND_CAN_ARCHIVE_MANY_FILES; +- if (is_program_available ("cpio", check_command)) ++ if (is_program_available ("bsdtar", check_command)) + capabilities |= FR_COMMAND_CAN_READ; + + return capabilities; +@@ -244,7 +244,7 @@ + fr_command_rpm_get_packages (FrCommand *comm, + const char *mime_type) + { +- return PACKAGES ("cpio,rpm"); ++ return PACKAGES ("bsdtar,rpm"); + } diff --git a/community/mate-file-archiver/mate-file-archiver.install b/community/mate-file-archiver/mate-file-archiver.install new file mode 100644 index 000000000..bf6781f93 --- /dev/null +++ b/community/mate-file-archiver/mate-file-archiver.install @@ -0,0 +1,13 @@ +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas/ + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} |