>From c39f3443c96ce28127028264de431670ce9b3964 Mon Sep 17 00:00:00 2001 From: Paul van der Walt Date: Sun, 1 Mar 2015 23:47:42 +0100 Subject: [PATCH] gnu: Add zathura, zathura-djvu, zathura-ps, zathura-pdf-poppler, djvulibre. * gnu-system.am: Add zathura-plugindir-environment-variable.patch. * gnu/packages/patches/zathura-plugindir-environment-variable.patch: Patch zathura to respect ZATHURA_PLUGIN_DIR environment variable. * gnu/packages/pdf.scm (djvulibre): New variable. * gnu/packages/pdf.scm (zathura): New variable. * gnu/packages/pdf.scm (zathura-pdf-poppler): New variable. * gnu/packages/pdf.scm (zathura-ps): New variable. * gnu/packages/pdf.scm (zathura-cb): New variable. * gnu/packages/pdf.scm (zathura-djvu): New variable. --- gnu-system.am | 4 +- .../zathura-plugindir-environment-variable.patch | 44 ++++ gnu/packages/pdf.scm | 267 +++++++++++++++++++++ 3 files changed, 313 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/zathura-plugindir-environment-variable.patch diff --git a/gnu-system.am b/gnu-system.am index e42e89a..5dda73a 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -550,8 +550,8 @@ dist_patch_DATA = \ gnu/packages/patches/xf86-video-trident-remove-mibstore.patch \ gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch \ gnu/packages/patches/xfce4-panel-plugins.patch \ - gnu/packages/patches/xmodmap-asprintf.patch - + gnu/packages/patches/xmodmap-asprintf.patch \ + gnu/packages/patches/zathura-plugindir-environment-variable.patch MISC_DISTRO_FILES = gnu/packages/javac.in bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap diff --git a/gnu/packages/patches/zathura-plugindir-environment-variable.patch b/gnu/packages/patches/zathura-plugindir-environment-variable.patch new file mode 100644 index 0000000..4c7d116 --- /dev/null +++ b/gnu/packages/patches/zathura-plugindir-environment-variable.patch @@ -0,0 +1,44 @@ +From f41ea6573185ec326870004e579354e5dd829672 Mon Sep 17 00:00:00 2001 +From: Paul van der Walt +Date: Sun, 1 Mar 2015 22:57:43 +0100 +Subject: [PATCH] Search for Zathura plugins (for reading different file + formats) in the environment variable ZATHURA_PLUGIN_DIR. Command line option + -p still takes precedence. + +Patch by Paul van der Walt . +--- + zathura/zathura.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/zathura/zathura.c b/zathura/zathura.c +index 589dd28..d3c9887 100644 +--- a/zathura/zathura.c ++++ b/zathura/zathura.c +@@ -413,12 +413,24 @@ zathura_set_plugin_dir(zathura_t* zathura, const char* dir) + g_return_if_fail(zathura != NULL); + g_return_if_fail(zathura->plugins.manager != NULL); + ++ // Get the new environment variable, if any. ++ const gchar* envvar_plugin_dir = g_getenv("ZATHURA_PLUGIN_DIR"); ++ + if (dir != NULL) { ++ // This bit sets the plugin dir from command-line. + girara_list_t* paths = girara_split_path_array(dir); + GIRARA_LIST_FOREACH(paths, char*, iter, path) + zathura_plugin_manager_add_dir(zathura->plugins.manager, path); + GIRARA_LIST_FOREACH_END(paths, char*, iter, path); + girara_list_free(paths); ++ } else if (envvar_plugin_dir != NULL) { ++ // Set plugins dir to the contents of environment variable ++ // ZATHURA_PLUGIN_DIR. ++ girara_list_t* paths = girara_split_path_array(envvar_plugin_dir); ++ GIRARA_LIST_FOREACH(paths, char*, iter, path) ++ zathura_plugin_manager_add_dir(zathura->plugins.manager, path); ++ GIRARA_LIST_FOREACH_END(paths, char*, iter, path); ++ girara_list_free(paths); + } else { + #ifdef ZATHURA_PLUGINDIR + girara_list_t* paths = girara_split_path_array(ZATHURA_PLUGINDIR); +-- +2.3.1 + diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 7b4f2ab..b76b006 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2014, 2015 Ricardo Wurmus +;;; Copyright © 2015 Paul van der Walt ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,9 @@ #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages databases) + #:use-module (gnu packages gettext) + #:use-module (gnu packages backup) #:use-module (gnu packages lesstif) #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) @@ -143,6 +147,269 @@ (license license:gpl3) ; or gpl2, but not gpl2+ (home-page "http://www.foolabs.com/xpdf/"))) + +(define-public girara + (package + (name "girara") + (version "0.2.3") + (source (origin + (method url-fetch) + (uri + (string-append "https://pwmt.org/projects/girara/download/girara-" + version ".tar.gz")) + (sha256 + (base32 + "1phfmqp8y17zcy9yi6pm2f80x8ldbk60iswpm4bmjz5217jwqzxh")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (arguments + `(#:make-flags + `(,(string-append "PREFIX=" (assoc-ref %outputs "out")) + "COLOR=0" "CC=gcc") + #:test-target "test" + #:phases + (alist-delete + 'check + (alist-delete + 'configure + %standard-phases)))) + (inputs `(("gtk+" ,gtk+) + ("glib" ,glib) + ("gettext" ,gnu-gettext))) + (build-system gnu-build-system) + (home-page "https://pwmt.org/projects/girara/") + (synopsis "library for minimalistic gtk+3 user interfaces") + (description "girara is a library that implements a user interface that +focuses on simplicity and minimalism. Currently based on GTK+, a +cross-platform widget toolkit, it provides an interface that focuses on three +main components: A so-called view widget that represents the actual +application, an input bar that is used to execute commands of the +application and the status bar which provides the user with current +information. girara was designed to replace and enhance the user interface +that is used by zathura and jumanji and other features that those applications +share.") + (license license:zlib))) + +(define-public zathura-cb + (package + (name "zathura-cb") + (version "0.1.4") + (source (origin + (method url-fetch) + (uri + (string-append "https://pwmt.org/projects/zathura-cb/download/zathura-cb-" + version ".tar.gz")) + (sha256 + (base32 + "09ln4fpjxmhcq6cw1ka7mdkmca36gyd4gzrynbw3waz0ri0b277j")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + `(,(string-append "DESTDIR=" (assoc-ref %outputs "out")) + "PLUGINDIR=/lib/zathura" "CC=gcc") + #:phases + (alist-delete + 'check + (alist-delete + 'configure + %standard-phases)))) + (home-page "https://pwmt.org/projects/zathura-cb/") + (synopsis "Comic book support for zathura (libarchive backend)") + (description "The zathura-cb plugin adds comic book support to zathura +using libarchive.") + (propagated-inputs + `(("girara" ,girara))) + (inputs + `(("libarchive" ,libarchive) + ("gtk+" ,gtk+) + ("zathura" ,(package (inherit zathura) + (inputs (alist-delete "zathura-cb" + (package-inputs zathura))))))) + (license license:zlib))) + +(define-public zathura-ps + (package + (name "zathura-ps") + (version "0.2.2") + (source (origin + (method url-fetch) + (uri + (string-append "https://pwmt.org/projects/zathura-ps/download/zathura-ps-" + version ".tar.gz")) + (sha256 + (base32 + "1a6ps5v1wk18qvslbkjln6w8wfzzr6fi13ls96vbdc03vdhn4m76")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + `(,(string-append "DESTDIR=" (assoc-ref %outputs "out")) + "PLUGINDIR=/lib/zathura" "CC=gcc") + #:phases + (alist-delete + 'check + (alist-delete + 'configure + %standard-phases)))) + (home-page "https://pwmt.org/projects/zathura-ps/") + (synopsis "PS support for zathura (libspectre backend)") + (description "The zathura-ps plugin adds PS support to zathura +using libspectre.") + (propagated-inputs + `(("girara" ,girara))) + (inputs + `(("libspectre" ,libspectre) + ("gtk+" ,gtk+) + ("zathura" ,(package (inherit zathura) + (inputs (alist-delete "zathura-ps" + (package-inputs zathura))))))) + (license license:zlib))) + +(define-public zathura-djvu + (package + (name "zathura-djvu") + (version "0.2.4") + (source (origin + (method url-fetch) + (uri + (string-append "https://pwmt.org/projects/zathura-djvu/download/zathura-djvu-" + version ".tar.gz")) + (sha256 + (base32 + "1g1lafmrjbx0xv7fljdmyqxx0k334sq4q6jy4a0q5xfrgz0bh45c")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + `(,(string-append "DESTDIR=" (assoc-ref %outputs "out")) + "PLUGINDIR=/lib/zathura" "CC=gcc") + #:phases + (alist-delete + 'check + (alist-delete + 'configure + %standard-phases)))) + (home-page "https://pwmt.org/projects/zathura-djvu/") + (synopsis "DjVu support for zathura (DjVuLibre backend)") + (description "The zathura-djvu plugin adds DjVu support to zathura +using the DjVuLibre library.") + (propagated-inputs + `(("girara" ,girara))) + (inputs + `(("djvulibre" ,djvulibre) + ("gtk+" ,gtk+) + ("zathura" ,(package (inherit zathura) + (inputs (alist-delete "zathura-djvu" + (package-inputs zathura))))))) + (license license:zlib))) + +(define-public zathura-pdf-poppler + (package + (name "zathura-pdf-poppler") + (version "0.2.5") + (source (origin + (method url-fetch) + (uri + (string-append "https://pwmt.org/projects/zathura-pdf-poppler/download/zathura-pdf-poppler-" + version ".tar.gz")) + (sha256 + (base32 + "1b0chsds8iwjm4g629p6a67nb6wgra65pw2vvngd7g35dmcjgcv0")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + `(,(string-append "DESTDIR=" (assoc-ref %outputs "out")) + "PLUGINDIR=/lib/zathura" "CC=gcc") + #:phases + (alist-delete + 'check + (alist-delete + 'configure + %standard-phases)))) + (home-page "https://pwmt.org/projects/zathura-pdf-poppler/") + (synopsis "PDF support for zathura (poppler backend)") + (description "The zathura-pdf-poppler plugin adds PDF support to zathura +by using the poppler rendering engine.") + (propagated-inputs + `(("girara" ,girara))) + (inputs + `(("poppler" ,poppler) + ("gtk+" ,gtk+) + ("zathura" ,(package (inherit zathura) + (inputs (alist-delete "zathura-pdf-poppler" + (package-inputs zathura))))) + ("cairo" ,cairo))) + (license license:zlib))) + +(define-public zathura + (package + (name "zathura") + (version "0.3.2") + (source (origin + (method url-fetch) + (uri + (string-append "https://pwmt.org/projects/zathura/download/zathura-" + version ".tar.gz")) + (sha256 + (base32 + "1qk5s7cyqp4l673yhma5igk9g24p5jyqyy81fdk7q7xjqlym19px")) + (patches + (list + (search-patch "zathura-plugindir-environment-variable.patch"))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (native-search-paths + (list (search-path-specification + (variable "ZATHURA_PLUGIN_DIR") + (files '("lib/zathura"))))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + `(,(string-append "PREFIX=" (assoc-ref %outputs "out")) + "CC=gcc" "COLOR=0") + #:phases + (alist-delete + 'check + (alist-delete + 'configure + %standard-phases)))) + (home-page "https://pwmt.org/projects/zathura/") + (synopsis "Lightweight keyboard-driven PDF viewer") + (description "zathura is a highly customizable and functional document +viewer. It provides a minimalistic and space saving interface as well as an +easy usage that mainly focuses on keyboard interaction.") + (inputs `(("glib" ,glib) + ("girara" ,girara) + ("gettext" ,gnu-gettext) + ("sqlite" ,sqlite) + ("gtk+" ,gtk+))) + (license license:zlib))) + +(define-public djvulibre + (package + (name "djvulibre") + (version "3.5.27") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/djvulibre/djvulibre-" + version ".tar.gz")) + (sha256 + (base32 + "0psh3zl9dj4n4r3lx25390nx34xz0bg0ql48zdskhq354ljni5p6")))) + (build-system gnu-build-system) + (home-page "http://djvu.sourceforge.net/") + (synopsis "DjVuLibre is a GPL implementation of DjVu, a document format.") + (description "DjVuLibre is an open source (GPL'ed) implementation of DjVu, +including viewers, browser plugins, decoders, simple encoders, and +utilities.") + (license license:gpl2))) + (define-public podofo (package (name "podofo") -- 2.3.1