gnu: biber: Update to 2.12.
authorJelle Licht <jlicht@fsfe.org>
Mon, 7 Jan 2019 14:27:39 +0000 (15:27 +0100)
committerJelle Licht <jlicht@fsfe.org>
Mon, 7 Jan 2019 14:40:58 +0000 (15:40 +0100)
* gnu/packages/tex.scm (biber): Update to 2.12.
[source]: Use 'git-fetch'. Add patch.
[inputs]: Add perl-file-slurper. Remove perl-file-slurp.
* gnu/packages/patches/biber-fix-encoding-write.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

gnu/local.mk
gnu/packages/patches/biber-fix-encoding-write.patch [new file with mode: 0644]
gnu/packages/tex.scm

index 9dabacb..bc54b61 100644 (file)
@@ -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 (file)
index 0000000..56cd112
--- /dev/null
@@ -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')) {
index 765f6aa..3bfde1d 100644 (file)
@@ -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)