;;; Copyright © 2017, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org>
-;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
- #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
+ #:use-module (guix build-system python)
+ #:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (guix build-system texlive)
#:use-module (guix utils)
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/lualatex/luaotfload.git")
+ (url "https://github.com/lualatex/luaotfload")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(define-public rubber
(package
(name "rubber")
- (version "1.1")
+ (version "1.5.1")
(source (origin
- (method url-fetch)
- (uri (list (string-append "https://launchpad.net/rubber/trunk/"
- version "/+download/rubber-"
- version ".tar.gz")
- (string-append "http://ebeffara.free.fr/pub/rubber-"
- version ".tar.gz")))
- (sha256
- (base32
- "1xbkv8ll889933gyi2a5hj7hhh216k04gn8fwz5lfv5iz8s34gbq"))))
- (build-system gnu-build-system)
- (arguments '(#:tests? #f)) ; no `check' target
+ (method url-fetch)
+ (uri (list (string-append "https://launchpad.net/rubber/trunk/"
+ version "/+download/rubber-"
+ version ".tar.gz")
+ (string-append "http://ebeffara.free.fr/pub/rubber-"
+ version ".tar.gz")))
+ (sha256
+ (base32
+ "178dmrp0mza5gqjiqgk6dqs0c10s0c517pk6k9pjbam86vf47a1p"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f ; no `check' target
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; texlive is required to build the PDF documentation; do not
+ ;; build it.
+ (invoke "python" "setup.py" "build" "--pdf=False" "install"
+ (string-append "--prefix=" (assoc-ref outputs "out"))))))))
(native-inputs `(("texinfo" ,texinfo)))
- (inputs `(("python" ,python-2) ; incompatible with Python 3 (print syntax)
- ("which" ,which)))
(home-page "https://launchpad.net/rubber")
(synopsis "Wrapper for LaTeX and friends")
(description
'(begin
(delete-file-recursively "3rdparty")
#t))))
- (build-system cmake-build-system)
+ (build-system qt-build-system)
(arguments
`(#:configure-flags `("-DLYX_USE_QT=QT5"
"-DLYX_EXTERNAL_BOOST=1"
"-DLYX_INSTALL=1"
"-DLYX_RELEASE=1"
+ "-DLYX_PROGRAM_SUFFIX=OFF"
,(string-append "-DLYX_INSTALL_PREFIX="
- (assoc-ref %outputs "out")
- ;; Exact name and level is necessary.
- "/lyx" ,(version-major+minor version)))
- #:modules ((guix build cmake-build-system)
- (guix build qt-utils)
- (guix build utils))
- #:imported-modules (,@%cmake-build-system-modules
- (guix build qt-utils))
+ (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-python
(assoc-ref inputs "python")
"/bin/python3 ")))
#t))
- (add-after 'patch-python 'patch-desktop-file
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "lib/lyx.desktop.in"
- (("Exec=")
- (string-append "Exec="
- (assoc-ref outputs "out")
- "/")))
- #t))
(add-after 'unpack 'add-missing-test-file
(lambda _
;; Create missing file that would cause tests to fail.
(with-output-to-file "src/tests/check_layout.cmake"
(const #t))
- #t))
- (add-before 'check 'setenv-check
- (lambda _
- (setenv (string-append "LYX_DIR_"
- (string-join
- (string-split
- ,(version-major+minor version) #\-)) "x")
- (string-append (getcwd) "/../lyx-" ,version "/lib"))
- #t))
- (add-after 'install 'wrap-qt
- (lambda* (#:key outputs #:allow-other-keys)
- (wrap-qt-program (assoc-ref outputs "out")
- (string-append "../lyx"
- ,(version-major+minor version)
- "/bin/lyx"
- ,(version-major+minor version)))
- #t))
- (add-after 'install 'install-symlinks
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (mkdir-p (string-append out "/bin"))
- (symlink (string-append "../lyx" ,(version-major+minor version)
- "/bin/lyx" ,(version-major+minor version))
- (string-append out "/bin/lyx" ,(version-major+minor version)))
- #t))))))
+ #t)))))
(inputs
`(("boost" ,boost)
("hunspell" ,hunspell) ; Note: Could also use aspell instead.
writing, especially in the humanities and the social sciences. All quote
styles as well as the optional active quotes are freely configurable.")
(license license:lppl1.3c+))))
+
+(define-public texlive-logreq
+ (let ((template (simple-texlive-package
+ "texlive-logreq"
+ (list "/doc/latex/logreq/"
+ "/tex/latex/logreq/")
+ (base32
+ "13difccs3cxlkqlnhw286yb0c7mifrxfd402a2x5wwxv0m1kgfqd")
+ #:trivial? #t)))
+ (package
+ (inherit template)
+ (propagated-inputs
+ `(("texlive-etoolbox" ,texlive-etoolbox)))
+ (home-page "https://www.ctan.org/pkg/logreq")
+ (synopsis "Support for automation of the LaTeX workflow")
+ (description "The package helps to automate a typical LaTeX
+workflow that involves running LaTeX several times and running tools
+such as BibTeX or makeindex. It will log requests like \"please rerun
+LaTeX\" or \"please run BibTeX on file X\" to an external file in a
+machine-readable format. Compiler scripts and integrated LaTeX
+editing environments may parse this file to determine the next steps
+in the workflow. In sum, the package will do two things:
+
+@enumerate
+@item
+enable package authors to use LaTeX commands to issue requests, and
+
+@item
+collect all requests from all packages and write them to an external
+XML file.
+@end enumerate\n")
+ (license license:lppl1.3c))))
+
+(define-public texlive-biblatex
+ (let ((template (simple-texlive-package
+ "texlive-biblatex"
+ (list "/doc/latex/biblatex/"
+ "/tex/latex/biblatex/")
+ (base32
+ "11kzvny50iklzkamr0rqd5x532q8rxny1xhmf96jl8mzj1d2zmay")
+ #:trivial? #t)))
+ (package
+ (inherit template)
+ (propagated-inputs
+ `(("texlive-logreq" ,texlive-logreq)
+ ("texlive-url" ,texlive-url)))
+ (home-page "https://www.ctan.org/pkg/biblatex")
+ (synopsis "Sophisticated bibliographies in LaTeX")
+ (description "BibLaTeX is a complete reimplementation of the
+bibliographic facilities provided by LaTeX. Formatting of the
+bibliography is entirely controlled by LaTeX macros, facilitating the
+design of new bibliography and citation styles. BibLaTeX uses its own
+data backend program \"biber\" to read and process the bibliographic
+data. With biber, the range of features provided by biblatex
+includes:
+
+@enumerate
+@item
+full unicode support,
+
+@item
+customisable bibliography labels,
+
+@item
+multiple bibliographies in the same document, and
+
+@item
+subdivided bibliographies, such as bibliographies per chapter or
+section.
+@end enumerate\n")
+ (license license:lppl1.3c))))