;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
version ".tar.gz"))
(sha256
(base32
- "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z"))))
+ "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; The gnulib test-lock test is prone to writer starvation
+ ;; with our glibc@2.25, which prefers readers, so disable it.
+ ;; The gnulib commit b20e8afb0b2 should fix this once
+ ;; incorporated here.
+ (substitute* "gettext-runtime/tests/Makefile.in"
+ (("TESTS = test-lock\\$\\(EXEEXT\\)") "TESTS ="))
+ (substitute* "gettext-tools/gnulib-tests/Makefile.in"
+ (("test-lock\\$\\(EXEEXT\\) ") ""))
+ #t))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;8 MiB of HTML
(substitute* "gettext-tools/src/project-id"
(("/bin/pwd")
- "pwd"))))))
+ "pwd"))
+
+ #t))))
(add-before 'configure 'link-expat
(lambda _
;; Gettext defaults to opening expat via dlopen on
;; "Linux". Change to link directly.
(substitute* "gettext-tools/configure"
(("LIBEXPAT=\"-ldl\"") "LIBEXPAT=\"-ldl -lexpat\"")
- (("LTLIBEXPAT=\"-ldl\"") "LTLIBEXPAT=\"-ldl -lexpat\"")))))
+ (("LTLIBEXPAT=\"-ldl\"") "LTLIBEXPAT=\"-ldl -lexpat\""))
+ #t)))
;; When tests fail, we want to know the details.
#:make-flags '("VERBOSE=yes")))
(define-public po4a
(package
(name "po4a")
- (version "0.47")
+ (version "0.55")
(source (origin
(method url-fetch)
- (uri (string-append "https://alioth.debian.org/frs/download.php"
- "/file/4142/po4a-" version ".tar.gz"))
+ (uri (string-append "https://github.com/mquinson/po4a/releases/download/v"
+ version "/po4a-" version ".tar.gz"))
(sha256
(base32
- "01vm0750aq0h2lphrflv3wq9gz7y0py8frglfpacn58ivyvy242h"))))
+ "1qss4q5df3nsydsbggb7gg50bn0kdxq5wn8riqm9zwkiq6a4bifg"))))
(build-system perl-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- ;; FIXME: One test fails as we don't have SGMLS.pm
- (add-before 'check 'disable-sgml-test
- (lambda _
- (delete-file "t/20-sgml.t")
- #t))
- (add-after 'unpack 'fix-builder
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* "Po4aBuilder.pm"
- ;; By default it tries to install into perl's manpath.
- (("my \\$mandir = .*$")
- (string-append "my $mandir = \"" (assoc-ref outputs "out")
- "/share/man\";\n")))
- #t))
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure all executables in "bin" find the Perl modules
(find-files (string-append (assoc-ref outputs "out")
"/share/man")
".*\\.gz$"))
+ #t))
+ (add-after 'unpack 'patch-docbook-xml
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* (find-files "." ".*\\.xml(-good)?")
+ (("http://www.oasis-open.org/docbook/xml/4.1.2/")
+ (string-append (assoc-ref inputs "docbook-xml")
+ "/xml/dtd/docbook/")))
+ #t))
+ (add-before 'check 'disable-failing-tests
+ (lambda _
+ ;; FIXME: ‘Files ../t-03-asciidoc/Titles.po and Titles.po differ’.
+ (delete-file "t/03-asciidoc.t")
+
+ ;; FIXME: these tests require SGMLS.pm.
+ (delete-file "t/01-classes.t")
+ (delete-file "t/16-sgml.t")
+
#t)))))
(native-inputs
`(("gettext" ,gettext-minimal)
("perl-module-build" ,perl-module-build)
("docbook-xsl" ,docbook-xsl)
- ("docbook-xml" ,docbook-xml) ;for tests
- ("texlive" ,texlive-minimal) ;for tests
("libxml2" ,libxml2)
- ("xsltproc" ,libxslt)))
- (home-page "http://po4a.alioth.debian.org/")
+ ("xsltproc" ,libxslt)
+
+ ;; For tests.
+ ("docbook-xml" ,docbook-xml-4.1.2)
+ ("perl-yaml-tiny" ,perl-yaml-tiny)
+ ("texlive" ,texlive-tiny)))
+ (home-page "https://po4a.org/")
(synopsis "Scripts to ease maintenance of translations")
(description
"The po4a (PO for anything) project goal is to ease translations (and