;;; GNU Guix --- Functional package management for GNU ;;; ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2016 ng0 ;;; Copyright © 2017 2018 Marius Bakke ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2018 2019 2020 Tobias Geerinckx-Rice ;;; Copyright © 2020 Raghav Gururajan ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages pwmt) #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages djvu) #:use-module (gnu packages documentation) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages javascript) #:use-module (gnu packages pdf) #:use-module (gnu packages pkg-config) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system meson)) (define-public girara (package (name "girara") (version "0.3.4") (source (origin (method git-fetch) (uri (git-reference (url "https://git.pwmt.org/pwmt/girara") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "08rpw9hkaprm4r853xy1d35i2af1pji8c3mzzl01mmwmyr9p0x8k")))) (native-inputs `(("pkg-config" ,pkg-config) ("check" ,check) ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("xorg-server" ,xorg-server-for-tests))) ;; Listed in 'Requires.private' of 'girara.pc'. (propagated-inputs `(("gtk+" ,gtk+))) (arguments `(#:phases (modify-phases %standard-phases (add-before 'check 'start-xserver ;; Tests require a running X server. (lambda* (#:key inputs #:allow-other-keys) (let ((xorg-server (assoc-ref inputs "xorg-server")) (display ":1")) (setenv "DISPLAY" display) ;; On busy machines, tests may take longer than ;; the default of four seconds. (setenv "CK_DEFAULT_TIMEOUT" "20") ;; Don't fail due to missing '/etc/machine-id'. (setenv "DBUS_FATAL_WARNINGS" "0") (zero? (system (string-append xorg-server "/bin/Xvfb " display " &"))))))))) (build-system meson-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.") (license license:zlib))) (define-public zathura (package (name "zathura") (version "0.4.5") (source (origin (method url-fetch) (uri (string-append "https://pwmt.org/projects/zathura/download/zathura-" version ".tar.xz")) (sha256 (base32 "0b3nrcvykkpv2vm99kijnic2gpfzva520bsjlihaxandzfm9ff8c")))) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ;; For building documentation. ("python-sphinx" ,python-sphinx) ;; For building icons. ("librsvg" ,librsvg) ;; For tests. ("check" ,check) ("xorg-server" ,xorg-server-for-tests))) (inputs `(("sqlite" ,sqlite))) ;; Listed in 'Requires.private' of 'zathura.pc'. (propagated-inputs `(("cairo" ,cairo) ("girara" ,girara))) (native-search-paths (list (search-path-specification (variable "ZATHURA_PLUGINS_PATH") (files '("lib/zathura"))))) (build-system meson-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'check 'start-xserver ;; Tests require a running X server. (lambda* (#:key inputs #:allow-other-keys) (let ((xorg-server (assoc-ref inputs "xorg-server")) (display ":1")) (setenv "DISPLAY" display) ;; On busy machines, tests may take longer than ;; the default of four seconds. (setenv "CK_DEFAULT_TIMEOUT" "20") ;; Don't fail due to missing '/etc/machine-id'. (setenv "DBUS_FATAL_WARNINGS" "0") (zero? (system (string-append xorg-server "/bin/Xvfb " display " &"))))))))) (home-page "https://pwmt.org/projects/zathura/") (synopsis "Lightweight keyboard-driven PDF viewer") (description "Zathura is a customizable document viewer. It provides a minimalistic interface and an interface that mainly focuses on keyboard interaction.") (license license:zlib))) (define-public zathura-ps (package (name "zathura-ps") (version "0.2.6") (source (origin (method url-fetch) (uri (string-append "https://pwmt.org/projects/zathura-ps/download/zathura-ps-" version ".tar.xz")) (sha256 (base32 "0wygq89nyjrjnsq7vbpidqdsirjm6iq4w2rijzwpk2f83ys8bc3y")))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("libspectre" ,libspectre) ("zathura" ,zathura))) (build-system meson-build-system) (arguments `(#:tests? #f ; package does not contain tests #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-plugin-directory ;; Something of a regression in 0.2.6: the new Meson build system ;; now hard-codes an incorrect plugin directory. Fix it. (lambda* (#:key outputs #:allow-other-keys) (substitute* "meson.build" (("(install_dir:).*" _ key) (string-append key "'" (assoc-ref outputs "out") "/lib/zathura'\n"))) #t))))) (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.") (license license:zlib))) (define-public zathura-pdf-poppler (package (name "zathura-pdf-poppler") (version "0.3.0") (source (origin (method url-fetch) (uri (string-append "https://pwmt.org/projects/zathura-pdf-poppler/download/zathura-pdf-poppler-" version ".tar.xz")) (sha256 (base32 "1vfl4vkyy3rf39r1sqaa7y8113bgkh2bkfq3nn2inis9mrykmk6m")))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("poppler" ,poppler) ("zathura" ,zathura))) (build-system meson-build-system) (arguments `(#:tests? #f ; package does not include tests #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-plugin-directory ;; Something of a regression in 0.2.9: the new Meson build system ;; now hard-codes an incorrect plugin directory. Fix it. (lambda* (#:key outputs #:allow-other-keys) (substitute* "meson.build" (("(install_dir:).*" _ key) (string-append key "'" (assoc-ref outputs "out") "/lib/zathura'\n"))) #t))))) (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.") (license license:zlib))) (define-public zathura-pdf-mupdf (package (name "zathura-pdf-mupdf") (version "0.3.5") (source (origin (method url-fetch) (uri (string-append "https://pwmt.org/projects/zathura-pdf-mupdf" "/download/zathura-pdf-mupdf-" version ".tar.xz")) (sha256 (base32 "1pjwsb7zwclxsvz229fl7y2saf1pv3ifwv3ay8viqxgrp9x3z9hq")))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("jbig2dec" ,jbig2dec) ("libjpeg" ,libjpeg) ("mujs" ,mujs) ("mupdf" ,mupdf) ("openjpeg" ,openjpeg) ("openssl" ,openssl) ("zathura" ,zathura))) (build-system meson-build-system) (arguments `(#:tests? #f ; package does not contain tests #:configure-flags (list (string-append "-Dplugindir=" (assoc-ref %outputs "out") "/lib/zathura") "-Dlink-external=true") #:phases (modify-phases %standard-phases (add-before 'configure 'add-mujs-to-dependencies (lambda _ ;; Add mujs to the 'build_dependencies'. (substitute* "meson.build" (("^ libopenjp2 = dependency.*" x) (string-append x " mujs = cc.find_library('mujs')\n")) (("^ libopenjp2") " libopenjp2, mujs"))))))) (home-page "https://pwmt.org/projects/zathura-pdf-mupdf/") (synopsis "PDF support for zathura (mupdf backend)") (description "The zathura-pdf-mupdf plugin adds PDF support to zathura by using the @code{mupdf} rendering library.") (license license:zlib))) (define-public zathura-djvu (package (name "zathura-djvu") (version "0.2.9") (source (origin (method url-fetch) (uri (string-append "https://pwmt.org/projects/zathura-djvu/download/zathura-djvu-" version ".tar.xz")) (sha256 (base32 "0062n236414db7q7pnn3ccg5111ghxj3407pn9ri08skxskgirln")))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("djvulibre" ,djvulibre) ("zathura" ,zathura))) (build-system meson-build-system) (arguments `(#:tests? #f ; package does not contain tests #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-plugin-directory ;; Something of a regression in 0.2.8: the new Meson build system ;; now hard-codes an incorrect plugin directory. Fix it. (lambda* (#:key outputs #:allow-other-keys) (substitute* "meson.build" (("(install_dir:).*" _ key) (string-append key "'" (assoc-ref outputs "out") "/lib/zathura'\n"))) #t))))) (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.") (license license:zlib)))