diff options
Diffstat (limited to 'libre/atril')
-rw-r--r-- | libre/atril/PKGBUILD | 61 | ||||
-rw-r--r-- | libre/atril/atril.install | 13 | ||||
-rw-r--r-- | libre/atril/libarchive.patch | 91 |
3 files changed, 165 insertions, 0 deletions
diff --git a/libre/atril/PKGBUILD b/libre/atril/PKGBUILD new file mode 100644 index 000000000..9cf1c2fed --- /dev/null +++ b/libre/atril/PKGBUILD @@ -0,0 +1,61 @@ +# $Id: PKGBUILD 106531 2014-03-05 20:16:04Z flexiondotorg $ +# Maintainer (Arch): Martin Wimpress <code@flexion.org> +# Maintainer: André Silva <emulatorman@parabola.nu> + +pkgname=atril +pkgver=1.8.0 +pkgrel=1.parabola1 +pkgdesc="Simply a document viewer, with libarchive support" +url="http://mate-desktop.org" +arch=('i686' 'x86_64' 'mips64el') +license=('GPL') +depends=('dconf' 'dbus' 'desktop-file-utils' 'gtk2' 'libsm' 'libspectre' + 'mate-desktop' 'mate-icon-theme' 'poppler-glib' 'zlib') +makedepends=('caja' 'djvulibre' 'gobject-introspection' 'libgxps' 'mate-common' + 'perl-xml-parser' 'texlive-bin' 'yelp-tools') +optdepends=('caja: Document Properties extension' + 'djvulibre: DjVu support' + 'libgxps: XPS support' + 'p7zip: cbz and cb7 compressed comic books' + 'texlive-bin: DVI support' + 'libarchive: cbr compressed comic books' + 'yelp: for reading MATE help documents') +replaces=('mate-document-viewer' "$pkgname-libre") +provides=('mate-document-viewer') +conflicts=('mate-document-viewer' "$pkgname-libre") +options=('!emptydirs') +groups=('mate-extra') +source=("http://pub.mate-desktop.org/releases/1.8/${pkgname}-${pkgver}.tar.xz" + 'libarchive.patch') +sha1sums=('8327437ba12df61326b83342cea746d1764727d0' + 'e88168d61b18ce8e340ef3db9c6df6bb66c65d14') +install=${pkgname}.install + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + NOCONFIGURE=1 ./autogen.sh + patch -Np1 -i ../libarchive.patch +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib/${pkgname} \ + --with-gtk=2.0 \ + --enable-gtk-doc \ + --enable-djvu \ + --enable-dvi \ + --enable-t1lib \ + --enable-pixbuf \ + --enable-comics \ + --enable-xps \ + --enable-introspection \ + --disable-static + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/libre/atril/atril.install b/libre/atril/atril.install new file mode 100644 index 000000000..bf6781f93 --- /dev/null +++ b/libre/atril/atril.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 +} diff --git a/libre/atril/libarchive.patch b/libre/atril/libarchive.patch new file mode 100644 index 000000000..f86908267 --- /dev/null +++ b/libre/atril/libarchive.patch @@ -0,0 +1,91 @@ +diff --git a/backend/comics/comics-document.c b/backend/comics/comics-document.c +index a135a74..380cb54 100644 +--- a/backend/comics/comics-document.c ++++ b/backend/comics/comics-document.c +@@ -54,8 +54,7 @@ + + typedef enum + { +- RARLABS, +- GNAUNRAR, ++ LIBARCHIVE, + UNZIP, + P7ZIP, + TAR +@@ -107,11 +106,8 @@ typedef struct { + } ComicBookDecompressCommand; + + static const ComicBookDecompressCommand command_usage_def[] = { +- /* RARLABS unrar */ +- {"%s p -c- -ierr --", "%s vb -c- -- %s", NULL , FALSE, NO_OFFSET}, +- +- /* GNA! unrar */ +- {NULL , "%s t %s" , "%s -xf %s %s" , FALSE, NO_OFFSET}, ++ /* libarchive */ ++ {NULL , "%s tf %s" , "%s xf %s %s" , FALSE, NO_OFFSET}, + + /* unzip */ + {"%s -p -C --" , "%s %s" , NULL , TRUE , OFFSET_ZIP}, +@@ -282,7 +278,7 @@ comics_generate_command_lines (ComicsDocument *comics_document, + if (comics_document->dir == NULL) + return FALSE; + +- /* unrar-free can't create directories, but ev_mkdtemp already created the dir */ ++ /* libarchive can't create directories on rar support, but ev_mkdtemp already created the dir */ + + comics_document->decompress_tmp = + g_strdup_printf (command_usage_def[type].decompress_tmp, +@@ -321,51 +317,10 @@ comics_check_decompress_command (gchar *mime_type, + + if (!strcmp (mime_type, "application/x-cbr") || + !strcmp (mime_type, "application/x-rar")) { +- /* The RARLAB provides a no-charge proprietary (freeware) +- * decompress-only client for Linux called unrar. Another +- * option is a GPLv2-licensed command-line tool developed by +- * the Gna! project. Confusingly enough, the free software RAR +- * decoder is also named unrar. For this reason we need to add +- * some lines for disambiguation. Sorry for the added the +- * complexity but it's life :) +- * Finally, some distributions, like Debian, rename this free +- * option as unrar-free. +- * */ +- comics_document->selected_command = +- g_find_program_in_path ("unrar"); +- if (comics_document->selected_command) { +- /* We only use std_err to avoid printing useless error +- * messages on the terminal */ +- success = +- g_spawn_command_line_sync ( +- comics_document->selected_command, +- &std_out, &std_err, +- &retval, &err); +- if (!success) { +- g_propagate_error (error, err); +- g_error_free (err); +- return FALSE; +- /* I don't check retval status because RARLAB unrar +- * doesn't have a way to return 0 without involving an +- * operation with a file*/ +- } else if (WIFEXITED (retval)) { +- if (g_strrstr (std_out,"freeware") != NULL) +- /* The RARLAB freeware client */ +- comics_document->command_usage = RARLABS; +- else +- /* The Gna! free software client */ +- comics_document->command_usage = GNAUNRAR; +- +- g_free (std_out); +- g_free (std_err); +- return TRUE; +- } +- } +- /* The Gna! free software client with Debian naming convention */ + comics_document->selected_command = +- g_find_program_in_path ("unrar-free"); ++ g_find_program_in_path ("bsdtar"); + if (comics_document->selected_command) { +- comics_document->command_usage = GNAUNRAR; ++ comics_document->command_usage = LIBARCHIVE; + return TRUE; + } + |