summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2023-06-19 14:43:56 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2023-07-18 18:15:50 +0200
commit3aeca58073eff8b7a835f6492e735dd152d9dc99 (patch)
tree25b66bc9201ceac81866d8423a2c64073a877bc2 /gnu
parentaea0d94bc1f2c424d66f1a0f89f8d91642192c7d (diff)
gnu: biber -> texlive-biber.
Build from sources provided by TeX Live distribution, so they always match BibLaTeX version. * gnu/packages/patches/biber-adapt-perl-5.36.patch: Delete file. * gnu/local.mk: Apply removal. * gnu/packages/tex.scm (texlive-biber): New variable. (biber): Deprecate variable. (perl-text-bibtex): Move from here... * gnu/packages/perl.scm (perl-text-bibtex): ... to here.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/biber-adapt-perl-5.36.patch40
-rw-r--r--gnu/packages/perl.scm40
-rw-r--r--gnu/packages/tex.scm136
4 files changed, 95 insertions, 122 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index a56864be86..f2ef72c10a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -957,7 +957,6 @@ dist_patch_DATA = \
%D%/packages/patches/bsd-games-stdio.h.patch \
%D%/packages/patches/beancount-disable-googleapis-fonts.patch \
%D%/packages/patches/beignet-correct-file-names.patch \
- %D%/packages/patches/biber-adapt-perl-5.36.patch \
%D%/packages/patches/bidiv-update-fribidi.patch \
%D%/packages/patches/binutils-boot-2.20.1a.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
diff --git a/gnu/packages/patches/biber-adapt-perl-5.36.patch b/gnu/packages/patches/biber-adapt-perl-5.36.patch
deleted file mode 100644
index 895813c1f2..0000000000
--- a/gnu/packages/patches/biber-adapt-perl-5.36.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From d9e961710074d266ad6bdf395c98868d91952088 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
-Date: Wed, 25 May 2022 12:41:59 +0200
-Subject: [PATCH] Adapt to Perl 5.36
-
-A developmental release of Perl 5.36.0 fails to run tests with:
-
- $ perl -Ilib t/basic-misc.t
- 1..72
- Can't modify undef operator in scalar assignment at lib/Biber/Section.pm line 433, near "undef;"
- Compilation failed in require at lib/Biber.pm line 24.
- BEGIN failed--compilation aborted at lib/Biber.pm line 24.
- Compilation failed in require at t/basic-misc.t line 11.
- BEGIN failed--compilation aborted at t/basic-misc.t line 11.
- # Looks like your test exited with 255 before it could output anything.
-
-This is because of a missing semicolon between commands in
-del_everykeys(). The new perl is more strict and raises a compile-time
-error:
-
- $ perl -e '$a = undef $b = undef;'
- Can't modify undef operator in scalar assignment at -e line 1, near "undef;"
- Execution of -e aborted due to compilation errors.
----
- lib/Biber/Section.pm | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/Biber/Section.pm b/lib/Biber/Section.pm
-index 03ed69a51..a78942f57 100644
---- a/lib/Biber/Section.pm
-+++ b/lib/Biber/Section.pm
-@@ -429,7 +429,7 @@ sub add_everykey {
-
- sub del_everykeys {
- my $self = shift;
-- $self->{everykey} = undef
-+ $self->{everykey} = undef;
- $self->{everykey_lc} = undef;
- return;
- }
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 13bf3fa84c..57852a3cee 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -10631,6 +10631,46 @@ used to justify strings to various alignment styles.")
text sequences from strings.")
(license (package-license perl))))
+(define-public perl-text-bibtex
+ (package
+ (name "perl-text-bibtex")
+ (version "0.88")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/A/AM/AMBS/Text-BibTeX-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0b7lmjvfmypps1nw6nsdikgaakm0n0g4186glaqazg5xd1p5h55h"))))
+ (build-system perl-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'add-output-directory-to-rpath
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "inc/MyBuilder.pm"
+ (("-Lbtparse" line)
+ (string-append "-Wl,-rpath="
+ (assoc-ref outputs "out") "/lib " line)))
+ #t))
+ (add-after 'unpack 'install-libraries-to-/lib
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "Build.PL"
+ (("lib64") "lib"))
+ #t)))))
+ (native-inputs
+ (list perl-capture-tiny perl-config-autoconf perl-extutils-libbuilder
+ perl-module-build))
+ (home-page "https://metacpan.org/release/Text-BibTeX")
+ (synopsis "Interface to read and parse BibTeX files")
+ (description "@code{Text::BibTeX} is a Perl library for reading, parsing,
+and processing BibTeX files. @code{Text::BibTeX} gives you access to the data
+at many different levels: you may work with BibTeX entries as simple field to
+string mappings, or get at the original form of the data as a list of simple
+values (strings, macros, or numbers) pasted together.")
+ (license license:perl-license)))
+
(define-public perl-text-charwidth
(package
(name "perl-text-charwidth")
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 30ce70619b..bd81c33bee 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -9515,78 +9515,56 @@ This package contains the complete TeX Live distribution.")
(license (license:fsf-free "https://www.tug.org/texlive/copying.html"))
(home-page "https://www.tug.org/texlive/")))
-(define-public perl-text-bibtex
+(define-public texlive-biber
(package
- (name "perl-text-bibtex")
- (version "0.88")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://cpan/authors/id/A/AM/AMBS/Text-BibTeX-"
- version ".tar.gz"))
- (sha256
- (base32
- "0b7lmjvfmypps1nw6nsdikgaakm0n0g4186glaqazg5xd1p5h55h"))))
- (build-system perl-build-system)
+ (name "texlive-biber")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/bibtex/biber/" "source/bibtex/biber/")
+ (base32
+ "0i1hqr9zb7b9d1zjlyg4awa6mkyq6wnrb6z4689j1rg07vnbd7mw")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'add-output-directory-to-rpath
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "inc/MyBuilder.pm"
- (("-Lbtparse" line)
- (string-append "-Wl,-rpath="
- (assoc-ref outputs "out") "/lib " line)))
- #t))
- (add-after 'unpack 'install-libraries-to-/lib
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "Build.PL"
- (("lib64") "lib"))
- #t)))))
+ (list
+ #:tests? #true
+ #:imported-modules `(,@%texlive-build-system-modules
+ (guix build perl-build-system))
+ #:modules '((guix build texlive-build-system)
+ ((guix build perl-build-system) #:prefix perl:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'unpack-biber-source
+ (lambda _
+ (mkdir-p "build")
+ (with-directory-excursion "build"
+ (invoke "tar" "xvf"
+ "../source/bibtex/biber/biblatex-biber.tar.gz"
+ "--strip-components=1"))))
+ (add-after 'unpack-biber-source 'build-biber
+ (lambda args
+ (with-directory-excursion "build"
+ (for-each (lambda (phase)
+ (apply (assoc-ref perl:%standard-phases phase) args))
+ '(configure build check install)))))
+ (add-after 'install 'wrap-programs
+ (lambda _
+ (let ((perl5lib (getenv "PERL5LIB")))
+ (wrap-program (string-append #$output "/bin/biber")
+ `("PERL5LIB" ":" prefix
+ (,(string-append perl5lib ":"
+ #$output "/lib/perl5/site_perl"))))))))))
(native-inputs
- (list perl-capture-tiny perl-config-autoconf perl-extutils-libbuilder
- perl-module-build))
- (home-page "https://metacpan.org/release/Text-BibTeX")
- (synopsis "Interface to read and parse BibTeX files")
- (description "@code{Text::BibTeX} is a Perl library for reading, parsing,
-and processing BibTeX files. @code{Text::BibTeX} gives you access to the data
-at many different levels: you may work with BibTeX entries as simple field to
-string mappings, or get at the original form of the data as a list of simple
-values (strings, macros, or numbers) pasted together.")
- (license license:perl-license)))
-
-(define-public biber
- (package
- ;; Note: When updating Biber, make sure it matches our BibLaTeX version by
- ;; checking the Biber/BibLaTeX compatibility matrix in the BibLaTeX manual
- ;; at <https://ctan.org/pkg/biblatex>.
- (name "biber")
- (version "2.16")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/plk/biber/")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0586q8y1f2k23mvb02ccm3qsb35cwskafksixsjaih7a7xcf5gxx"))
- (patches (search-patches "biber-adapt-perl-5.36.patch"))))
- (build-system perl-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'wrap-programs
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (perl5lib (getenv "PERL5LIB")))
- (wrap-program (string-append out "/bin/biber")
- `("PERL5LIB" ":" prefix
- (,(string-append perl5lib ":" out
- "/lib/perl5/site_perl")))))
- #t)))))
+ (list perl-config-autoconf
+ perl-extutils-libbuilder
+ perl-file-which
+ perl-module-build
+ perl-test-differences))
(inputs
- (list perl-autovivification
+ (list perl
+ perl-autovivification
perl-class-accessor
perl-data-dump
perl-data-compare
@@ -9625,19 +9603,15 @@ values (strings, macros, or numbers) pasted together.")
perl-business-issn
perl-business-ismn
perl-lingua-translit))
- (native-inputs
- `(("perl-config-autoconf" ,perl-config-autoconf)
- ("perl-extutils-libbuilder" ,perl-extutils-libbuilder)
- ("perl-module-build" ,perl-module-build)
- ;; for tests
- ("perl-file-which" ,perl-file-which)
- ("perl-test-more" ,perl-test-most) ; FIXME: "more" would be sufficient
- ("perl-test-differences" ,perl-test-differences)))
- (home-page "https://biblatex-biber.sourceforge.net/")
- (synopsis "Backend for the BibLaTeX citation management tool")
- (description "Biber is a BibTeX replacement for users of biblatex. Among
-other things it comes with full Unicode support.")
- (license license:artistic2.0)))
+ (home-page "https://ctan.org/pkg/biber")
+ (synopsis "BibTeX replacement for users of BibLaTeX")
+ (description
+ "Biber is a BibTeX replacement for users of BibLaTeX. It supports full
+UTF-8, can (re)-encode input and output, supports highly configurable sorting,
+dynamic bibliography sets and many other features.")
+ (license license:gpl3+)))
+
+(define-deprecated-package biber texlive-biber)
(define-public rubber
(package