aboutsummaryrefslogtreecommitdiff
;;; Whispers --- Stealth VPN and ssh tunneler
;;; Copyright © 2013, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2021, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Nikita <nikita@n0.is>
;;; Copyright © 2016-2020, 2022, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Ben Sturmfels <ben@sturm.com.au>
;;; Copyright © 2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020, 2024 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2020, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2024 dan <i@dan.games>
;;; Copyright © 2023 Benjamin Slade <slade@lambda-y.net>
;;;
;;; Copyright © 2024 Runciter <runciter@whispers-vpn.org>
;;;
;;; This file is part of Whispers.
;;;
;;; Whispers 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.
;;;
;;; Whispers 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 Whispers.  If not, see <http://www.gnu.org/licenses/>.

(define-module (whispers packages pdf)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix gexp)
  #:use-module (guix utils)
  #:use-module (guix build-system meson)
  #:use-module (gnu packages)
  #:use-module (gnu packages pdf)
  #:use-module (gnu packages ghostscript)
  #:use-module (gnu packages djvu)
  #:use-module (gnu packages tls)
  #:use-module (gnu packages sphinx)
  #:use-module (gnu packages javascript)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages gettext)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages check)
  #:use-module (gnu packages web)
  #:use-module (gnu packages xorg)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages gnome)
  #:use-module (gnu packages ocr)
  #:use-module (gnu packages image)
  #:use-module (gnu packages sqlite)
  #:use-module (gnu packages backup)
  #:use-module (gnu packages tex))

(define-public zathura-synctex
  (package
   (inherit zathura)
   (name "zathura-synctex")
   (arguments
    (list
     #:configure-flags
     #~(list "-Dsynctex=enabled")
     #:phases
     #~(modify-phases %standard-phases
                      (add-before 'check 'start-xserver
                                  ;; Tests require a running X server.
                                  (lambda* (#:key inputs #:allow-other-keys)
                                    (let ((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
                                                      (search-input-file inputs "/bin/Xvfb")
                                                      " " display " &")))))))))
   (native-inputs
    (list pkg-config
          gettext-minimal
          (list glib "bin")

          ;; For building documentation.
          python-sphinx

          ;; For building icons.
          (librsvg-for-system)

          ;; For tests.
          check
          xorg-server-for-tests

          ;; For synctex.
          texlive-bin))))

(define-public zathura-cb-synctex
  (package
   (inherit zathura-cb)
   (name "zathura-cb-synctex")
   (inputs (list libarchive zathura-synctex))))

(define-public zathura-ps-synctex
  (package
   (inherit zathura-ps)
   (name "zathura-ps-synctex")
   (inputs (list libspectre zathura-synctex))))

(define-public zathura-djvu-synctex
  (package
   (inherit zathura-djvu)
   (name "zathura-djvu-synctex")
   (inputs
    (list djvulibre zathura-synctex))))

(define-public zathura-pdf-mupdf-synctex
  (package
   (inherit zathura-pdf-mupdf)
   (inputs
    (list gumbo-parser
          jbig2dec
          libjpeg-turbo
          mujs
          mupdf
          openjpeg
          openssl
          tesseract-ocr
          zathura-synctex))))

(define-public zathura-pdf-poppler-synctex
  (package
   (inherit zathura-pdf-poppler)
   (name "zathura-pdf-poppler-synctex")
   (inputs
    (list poppler zathura-synctex))))