aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/biber-fix-encoding-write.patch31
-rw-r--r--gnu/packages/tex.scm18
3 files changed, 43 insertions, 7 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 9dabacb3de..bc54b61c21 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -604,6 +604,7 @@ dist_patch_DATA = \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
%D%/packages/patches/beets-python-3.7-fix.patch \
%D%/packages/patches/beignet-correct-file-names.patch \
+ %D%/packages/patches/biber-fix-encoding-write.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/blast+-fix-makefile.patch \
%D%/packages/patches/blender-newer-ffmpeg.patch \
diff --git a/gnu/packages/patches/biber-fix-encoding-write.patch b/gnu/packages/patches/biber-fix-encoding-write.patch
new file mode 100644
index 0000000000..56cd11212e
--- /dev/null
+++ b/gnu/packages/patches/biber-fix-encoding-write.patch
@@ -0,0 +1,31 @@
+From 2a9b15aefb842a734637f3d230936ea1b7c60096 Mon Sep 17 00:00:00 2001
+From: Philip Kime <Philip@kime.org.uk>
+Date: Thu, 8 Nov 2018 22:02:09 +0100
+Subject: [PATCH] Fix to address #239
+
+---
+ lib/Biber.pm | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/Biber.pm b/lib/Biber.pm
+index 8b1f80a5..d97fca29 100644
+--- a/lib/Biber.pm
++++ b/lib/Biber.pm
+@@ -311,6 +311,8 @@ sub parse_ctrlfile {
+ unless (eval {$checkbuf = File::Slurper::read_text($ctrl_file_path, 'latin1')}) {
+ biber_error("$ctrl_file_path is not UTF-8 or even latin1, how horrible.");
+ }
++ # Write ctrl file as UTF-8
++ File::Slurper::write_text($ctrl_file_path, NFC($checkbuf));# Unicode NFC boundary
+ }
+
+ $checkbuf = NFD($checkbuf);# Unicode NFD boundary
+@@ -319,8 +321,6 @@ sub parse_ctrlfile {
+ unlink($output) unless $output eq '-';# ignore deletion of STDOUT marker
+ biber_error("$ctrl_file_path is malformed, last biblatex run probably failed. Deleted $output");
+ }
+- # Write ctrl file as UTF-8
+- File::Slurper::write_text($ctrl_file_path, NFC($checkbuf));# Unicode NFC boundary
+
+ # Validate if asked to
+ if (Biber::Config->getoption('validate_control')) {
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 765f6aa849..3bfde1d714 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -4219,15 +4219,19 @@ values (strings, macros, or numbers) pasted together.")
(define-public biber
(package
(name "biber")
- (version "2.7")
+ (version "2.12")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/plk/biber/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/plk/biber/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ ;; TODO: Patch awaiting inclusion upstream (see:
+ ;; https://github.com/plk/biber/issues/239).
+ (patches (search-patches "biber-fix-encoding-write.patch"))
(sha256
(base32
- "17wd80jg98qyddhvz4cin8779ycvppaf2va77r1lyvymjz6w9bx0"))))
+ "1g1hi6zvf2hmrjly1sidjaxy5440gfqm4p7p3n7kayshnjsmlskx"))))
(build-system perl-build-system)
(arguments
`(#:phases
@@ -4249,7 +4253,7 @@ values (strings, macros, or numbers) pasted together.")
("perl-data-uniqid" ,perl-data-uniqid)
("perl-datetime-format-builder" ,perl-datetime-format-builder)
("perl-datetime-calendar-julian" ,perl-datetime-calendar-julian)
- ("perl-file-slurp" ,perl-file-slurp)
+ ("perl-file-slurper" ,perl-file-slurper)
("perl-ipc-cmd" ,perl-ipc-cmd)
("perl-ipc-run3" ,perl-ipc-run3)
("perl-list-allutils" ,perl-list-allutils)