all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add biber
@ 2016-03-14 22:08 Clément Barthélemy
  2016-03-16  7:52 ` Leo Famulari
  2016-03-17 21:55 ` Ludovic Courtès
  0 siblings, 2 replies; 4+ messages in thread
From: Clément Barthélemy @ 2016-03-14 22:08 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 827 bytes --]

Hi everyone,

Attached is a series of patches (my first!) to package biber (a
BibTeX replacement written in Perl). It's kind of a work in
progress, I still have some problems :

1. The build process spits out permission errors for several
packages during the strip phase. It doesn't result in a failure,
so I am not sure what to do.

2. The perl-text-bibtex package cannot validate its runpath
because it doesn't look for a shared library in the right
directory. I disabled the validate-runpath phase, but surely there
is a better way.

3. I didn't use the git-fetch method for the biber package
because it always pulls an old (1.8) version from github.

4. Finally, I am not sure the executable works, I still need to
test it.

Let me now if something else doesn't look alright.


Thanks,

Clément

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-perl-autovivification.patch --]
[-- Type: text/x-diff, Size: 1579 bytes --]

From d2e6d412a2cadcb5e839ff68caa5fac984baa30b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Sun, 13 Mar 2016 13:48:31 +0100
Subject: [PATCH 01/23] gnu: Add perl-autovivification.

* gnu/packages/perl.scm (perl-autovivification): New variable.
---
 gnu/packages/perl.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d67870f..69f7ffa 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -241,6 +241,26 @@ manipulate, read, and write Zip archive files.")
     (home-page "http://search.cpan.org/~phred/Archive-Zip-1.37/lib/Archive/Zip.pm")
     (license (package-license perl))))
 
+(define-public perl-autovivification
+  (package
+    (name "perl-autovivification")
+    (version "0.16")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/V/VP/VPIT/"
+                           "autovivification-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1422kw9fknv7rbjkgdfflg1q3mb69d3yryszp38dn0bgzkqhwkc1"))))
+    (build-system perl-build-system)
+    (home-page "http://git.profvince.com/?p=perl%2Fmodules%2Fautovivification.git")
+    (synopsis "Lexically disable autovivification")
+    (description "This pragma allows disabling autovivification for some
+constructs and optionally throws a warning or an error when it would have
+happened.")
+    (license (package-license perl))))
+
 (define-public perl-base
   (package
     (name "perl-base")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-gnu-Add-perl-business-isbn.patch --]
[-- Type: text/x-diff, Size: 1646 bytes --]

From e062909befe2620bdacf37d8df1d85737d0118f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 22:06:19 +0100
Subject: [PATCH 02/23] gnu: Add perl-business-isbn.

* gnu/packages/perl.scm (perl-business-isbn): New variable.
---
 gnu/packages/perl.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 69f7ffa..8bfc83b 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -375,6 +375,28 @@ library can nevertheless be used stand-alone, without Perl.")
 special objects: true and false.")
     (license (package-license perl))))
 
+(define-public perl-business-isbn
+  (package
+    (name "perl-business-isbn")
+    (version "2.010")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
+                           "Business-ISBN-" version ".tar.gz"))
+       (sha256
+        (base32
+         "14d9m58665ckdd87hgv69a7xhpjbmkml3dbjgwn9rjqzsf9vnzr4"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-extutils-makemaker" ,perl-extutils-makemaker)
+       ("perl-business-isbn-data" ,perl-business-isbn-data)))
+    (home-page "http://search.cpan.org/dist/Business-ISBN/")
+    (synopsis "Work with International Standard Book Numbers")
+    (description "Business::ISBN is a module to work with International
+Standard Book Numbers, including ISBN-10 and ISBN-13.")
+    (license (package-license perl))))
+
 (define-public perl-cache-cache
   (package
     (name "perl-cache-cache")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-Add-perl-business-isbn-data.patch --]
[-- Type: text/x-diff, Size: 1545 bytes --]

From ac5093ab3a37dce8c0d15973e182286f499dbeaa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 22:07:04 +0100
Subject: [PATCH 03/23] gnu: Add perl-business-isbn-data.

* gnu/packages/perl.scm (perl-business-isbn-data): New variable.
---
 gnu/packages/perl.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 8bfc83b..b887afc 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -397,6 +397,26 @@ special objects: true and false.")
 Standard Book Numbers, including ISBN-10 and ISBN-13.")
     (license (package-license perl))))
 
+(define-public perl-business-isbn-data
+  (package
+    (name "perl-business-isbn-data")
+    (version "20140910.003")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
+                           "Business-ISBN-Data-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1jc5jrjwkr6pqga7998zkgw0yrxgb5n1y7lzgddawxibkf608mn7"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-extutils-makemaker" ,perl-extutils-makemaker)))
+    (home-page "http://search.cpan.org/dist/Business-ISBN-Data/")
+    (synopsis "Data pack for Business::ISBN")
+    (description "Data pack for Business:ISBN, necessary to run the tests.")
+    (license (package-license perl))))
+
 (define-public perl-cache-cache
   (package
     (name "perl-cache-cache")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: 0004-gnu-Add-perl-business-ismn.patch --]
[-- Type: text/x-diff, Size: 1634 bytes --]

From a728da2934a6c23f6077a2c94d37dc323b16d7d4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 22:07:30 +0100
Subject: [PATCH 04/23] gnu: Add perl-business-ismn.

* gnu/packages/perl.scm (perl-business-ismn): New variable.
---
 gnu/packages/perl.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index b887afc..1593187 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -417,6 +417,28 @@ Standard Book Numbers, including ISBN-10 and ISBN-13.")
     (description "Data pack for Business:ISBN, necessary to run the tests.")
     (license (package-license perl))))
 
+(define-public perl-business-ismn
+  (package
+    (name "perl-business-ismn")
+    (version "1.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
+                           "Business-ISMN-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0cm1v75axg4gp6cnbyavmnqqjscsxh7nc60vcbw34rqivvf9idc9"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-extutils-makemaker" ,perl-extutils-makemaker)
+       ("perl-tie-cycle" ,perl-tie-cycle)))
+    (home-page "http://search.cpan.org/dist/Business-ISMN/")
+    (synopsis "Work with International Standard Music Numbers")
+    (description "Business::ISMN is a module to work with International
+Standard Music Numbers.")
+    (license (package-license perl))))
+
 (define-public perl-cache-cache
   (package
     (name "perl-cache-cache")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #6: 0005-gnu-Add-perl-business-issn.patch --]
[-- Type: text/x-diff, Size: 1456 bytes --]

From b226004b0055f78b5a8231cc5d70126989b3d9b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 22:07:46 +0100
Subject: [PATCH 05/23] gnu: Add perl-business-issn.

* gnu/packages/perl.scm (perl-business-issn): New variable.
---
 gnu/packages/perl.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 1593187..af9e1f3 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -439,6 +439,25 @@ Standard Book Numbers, including ISBN-10 and ISBN-13.")
 Standard Music Numbers.")
     (license (package-license perl))))
 
+(define-public perl-business-issn
+  (package
+    (name "perl-business-issn")
+    (version "0.91")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
+                           "Business-ISSN-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1dfnm7h7lbqj356700ldlmgbr51v6hyjn1qig2bb4ysl1wn1jnzi"))))
+    (build-system perl-build-system)
+    (home-page "http://search.cpan.org/dist/Business-ISSN/")
+    (synopsis "Work with International Standard Serial Numbers")
+    (description "Business::ISSN is a module to work with International
+Standard Serial Numbers.")
+    (license (package-license perl))))
+
 (define-public perl-cache-cache
   (package
     (name "perl-cache-cache")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #7: 0006-gnu-Add-perl-data-compare.patch --]
[-- Type: text/x-diff, Size: 1484 bytes --]

From e601d076d68a47d440893724d433cf34de093626 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:26:27 +0100
Subject: [PATCH 06/23] gnu: Add perl-data-compare.

* gnu/packages/perl.scm (perl-data-compare): New variable.
---
 gnu/packages/perl.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index af9e1f3..20ac56c 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1234,6 +1234,26 @@ functions and data structures for processing and analysing genomic and
 bioinformatics data.")
     (license gpl3+)))
 
+(define-public perl-data-compare
+  (package
+    (name "perl-data-compare")
+    (version "1.25")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/D/DC/DCANTRELL/"
+                           "Data-Compare-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0wzasidg9yjcfsi2gdiaw6726ikqda7n24n0v2ngpaazakdkcjqx"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-file-find-rule" ,perl-file-find-rule)))
+    (home-page "https://github.com/DrHyde/perl-modules-Data-Compare")
+    (synopsis "Comparition of data structures")
+    (description "This module compares arbitrary data structures.")
+    (license (package-license perl))))
+
 (define-public perl-data-dump
   (package
     (name "perl-data-dump")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #8: 0007-gnu-Add-perl-data-uniqid.patch --]
[-- Type: text/x-diff, Size: 1489 bytes --]

From 2e64095aa2accd423348d185ae93e26162000448 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:26:51 +0100
Subject: [PATCH 07/23] gnu: Add perl-data-uniqid.

* gnu/packages/perl.scm (perl-data-uniqid): New variable.
---
 gnu/packages/perl.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 20ac56c..241bc34 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1418,6 +1418,26 @@ necessary later on.")
 variants.")
     (license (package-license perl))))
 
+(define-public perl-data-uniqid
+  (package
+    (name "perl-data-uniqid")
+    (version "0.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/M/MW/MWX/"
+                           "Data-Uniqid-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1jsc6acmv97pzsvx1fqywz4qvxxpp7kwmb78ygyqpsczkfj9p4dn"))))
+    (build-system perl-build-system)
+    (home-page "http://search.cpan.org/~mwx/Data-Uniqid-0.12/")
+    (synopsis "Perl extension to generate unique identifiers")
+    (description "This module provides three simple routines for generating
+unique identifiers.  They are base62 encoded to make them short and
+handy (e.g. to use as part of an URL).")
+    (license (package-license perl))))
+
 (define-public perl-data-visitor
   (package
     (name "perl-data-visitor")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #9: 0008-gnu-Add-perl-date-simple.patch --]
[-- Type: text/x-diff, Size: 1594 bytes --]

From f91d4277d34c45db16cc8e1eb266fbb63686c15b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:27:30 +0100
Subject: [PATCH 08/23] gnu: Add perl-date-simple.

* gnu/packages/perl.scm (perl-date-simple): New variable.
---
 gnu/packages/perl.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 241bc34..1d5d185 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1542,6 +1542,28 @@ operations, such as comparing two times, determining a date a given amount of
 time from another, or parsing international times.")
     (license (package-license perl))))
 
+(define-public perl-date-simple
+  (package
+    (name "perl-date-simple")
+    (version "3.03")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/I/IZ/IZUT/"
+                           "Date-Simple-" version ".tar.gz"))
+       (sha256
+        (base32
+         "016x17r9wi6ffdc4idwirzd1sxqcb4lmq5fn2aiq25nf2iir5899"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-test-simple" ,perl-test-simple)
+       ("perl-scalar-list-utils" ,perl-scalar-list-utils)))
+    (home-page "http://search.cpan.org/~izut/Date-Simple-3.03/")
+    (synopsis "Simple date object for Perl")
+    (description "This modules provides a simple date object for use in Perl
+program.")
+    (license (package-license perl))))
+
 (define-public perl-datetime
   (package
     (name "perl-datetime")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #10: 0009-gnu-Add-perl-encode-eucjpascii.patch --]
[-- Type: text/x-diff, Size: 2417 bytes --]

From 206e46a67f7a3993084d7b61158d4ba323b18ceb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:28:46 +0100
Subject: [PATCH 09/23] gnu: Add perl-encode-eucjpascii.

* gnu/packages/perl.scm (perl-encode-eucjpascii): New variable.
---
 gnu/packages/perl.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 1d5d185..56153ca 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2145,6 +2145,45 @@ SHA-1 message digest algorithm for use by Perl programs.")
 modules separately and deal with them after the module is done installing.")
     (license (package-license perl))))
 
+(define-public perl-encode-eucjpascii
+  (package
+    (name "perl-encode-eucjpascii")
+    (version "0.03")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "mirror://cpan/authors/id/N/NE/NEZUMI/"
+                   "Encode-EUCJPASCII-" version ".tar.gz"))
+             (sha256
+              (base32
+               "0qg8kmi7r9jcf8326b4fyq5sdpqyim2a11h7j77q577xam6x767r"))))
+    (home-page "http://hatuka.nezumi.nu/repos/Encode-EUCJPASCII/")
+    (build-system perl-build-system)
+    (synopsis "Perl eucJP-open mapping")
+    (description "This module provides an eucJP-open mapping.")
+    (license (package-license perl))))
+
+(define-public perl-encode-hanextra
+  (package
+    (name "perl-encode-hanextra")
+    (version "0.23")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "mirror://cpan/authors/id/A/AU/AUDREYT/"
+                   "Encode-HanExtra-" version ".tar.gz"))
+             (sha256
+              (base32
+               "0fj4vd8iva2i0j6s2fyhwgr9afrvhr6gjlzi7805h257mmnb1m0z"))))
+    (home-page "http://search.cpan.org/~audreyt/Encode-HanExtra-0.23/")
+    (build-system perl-build-system)
+    (synopsis "Extra sets of Chinese encodings")
+    (description "Perl ships with an adequate set of Chinese encodings, but
+the numbers of Chinese encodings are staggering, and a complete coverage will
+easily increase the size of perl distribution by several megabytes.  This
+module tries to provide the rest of them.")
+    (license x11)))
+
 (define-public perl-error
   (package
     (name "perl-error")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #11: 0010-gnu-Add-perl-encode-jis2k.patch --]
[-- Type: text/x-diff, Size: 1522 bytes --]

From 35ab025e76cd7b6708c1293f5444a3b88b1c9a75 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:29:08 +0100
Subject: [PATCH 10/23] gnu: Add perl-encode-jis2k.

* gnu/packages/perl.scm (perl-encode-jis2k): New variable.
---
 gnu/packages/perl.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 56153ca..29b3d1d 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2184,6 +2184,25 @@ easily increase the size of perl distribution by several megabytes.  This
 module tries to provide the rest of them.")
     (license x11)))
 
+(define-public perl-encode-jis2k
+  (package
+    (name "perl-encode-jis2k")
+    (version "0.03")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "mirror://cpan/authors/id/D/DA/DANKOGAI/"
+                   "Encode-JIS2K-" version ".tar.gz"))
+             (sha256
+              (base32
+               "1k1mdj4rd9m1z4h7qd2dl92ky0r1rk7mmagwsvdb9pirvdr4vj0y"))))
+    (home-page "http://search.cpan.org/~dankogai/Encode-JIS2K-0.03/")
+    (build-system perl-build-system)
+    (synopsis "Perl JIS X 0212 (aka JIS 2000) Encoding")
+    (description "This module implements encodings that covers JIS X 0213
+charset (AKA JIS 2000, hence the module name).")
+    (license (package-license perl))))
+
 (define-public perl-error
   (package
     (name "perl-error")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #12: 0011-gnu-Add-perl-extutils-libbuilder.patch --]
[-- Type: text/x-diff, Size: 1607 bytes --]

From 1e5730af95844d934d57956959c6cd8cc07b8016 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:29:32 +0100
Subject: [PATCH 11/23] gnu: Add perl-extutils-libbuilder.

* gnu/packages/perl.scm (perl-extutils-libbuilder): New variable.
---
 gnu/packages/perl.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 29b3d1d..d4aa2ad 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2381,6 +2381,27 @@ it ties together a family of modern toolchain modules.")
 module building modules.")
     (license (package-license perl))))
 
+(define-public perl-extutils-libbuilder
+  (package
+    (name "perl-extutils-libbuilder")
+    (version "0.08")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/A/AM/AMBS/"
+                           "ExtUtils-LibBuilder-" version ".tar.gz"))
+       (sha256
+        (base32 "1lmmfcjxvsvhn4f3v2lyylgr8dzcf5j7mnd1pkq3jc75dph724f5"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-module-build" ,perl-module-build)
+       ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+    (home-page "http://github.com/ambs/ExtUtils-LibBuilder")
+    (synopsis "A tool to build C libraries from Perl")
+    (description "This module helps in compiling and linking C code in your
+Perl programs.")
+    (license (package-license perl))))
+
 (define-public perl-file-changenotify
   (package
     (name "perl-file-changenotify")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #13: 0012-gnu-Add-perl-extutils-makemaker.patch --]
[-- Type: text/x-diff, Size: 1446 bytes --]

From 0ea916c3eeeed2961913878ec8b4f72a810ea6ca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:29:43 +0100
Subject: [PATCH 12/23] gnu: Add perl-extutils-makemaker.

* gnu/packages/perl.scm (perl-extutils-makemaker): New variable.
---
 gnu/packages/perl.scm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d4aa2ad..507f355 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2402,6 +2402,24 @@ module building modules.")
 Perl programs.")
     (license (package-license perl))))
 
+(define-public perl-extutils-makemaker
+  (package
+    (name "perl-extutils-makemaker")
+    (version "7.10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/B/BI/BINGOS/"
+                           "ExtUtils-MakeMaker-" version ".tar.gz"))
+       (sha256
+        (base32 "1icl1lxv9ihhxz4015i1ljdibg0726yqg39f9rvmb2j5kva6rdw3"))))
+    (build-system perl-build-system)
+    (home-page "https://metacpan.org/release/ExtUtils-MakeMaker")
+    (synopsis "Module Makefile creation")
+    (description "ExtUtils::MakeMaker is designed to write a Makefile for an
+extension module from a Makefile.PL.")
+    (license (package-license perl))))
+
 (define-public perl-file-changenotify
   (package
     (name "perl-file-changenotify")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #14: 0013-gnu-Add-perl-log-log4perl.patch --]
[-- Type: text/x-diff, Size: 1569 bytes --]

From c447d0fb96f09c81f40920c26a90b39cfa0c59a1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:29:59 +0100
Subject: [PATCH 13/23] gnu: Add perl-log-log4perl.

* gnu/packages/perl.scm (perl-log-log4perl): New variable.
---
 gnu/packages/perl.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 507f355..db0d836 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -3104,6 +3104,26 @@ either uses the first module it finds or throws an error.")
 versa.")
     (license (package-license perl))))
 
+(define-public perl-log-log4perl
+  (package
+    (name "perl-log-log4perl")
+    (version "1.46")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://cpan/authors/id/M/MS/MSCHILLI/"
+                                  "Log-Log4perl-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0vsfqrrsv42x0rhkr092vk1zzll10ifqd97afdp02y2fq0bil09i"))))
+    (build-system perl-build-system)
+    (home-page "http://github.com/mschilli/log4perl")
+    (synopsis "Perl logging API")
+    (description
+     "Log::Log4perl lets you remote-control and fine-tune the logging
+behaviour of your system from the outside.  It implements the
+popular (Java-based) Log4j logging package in pure Perl.")
+    (license (package-license perl))))
+
 (define-public perl-log-report-optional
   (package
     (name "perl-log-report-optional")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #15: 0014-gnu-Add-perl-readonly-xs.patch --]
[-- Type: text/x-diff, Size: 1584 bytes --]

From c5923201a2260388e9a1ce6db7c7ea18c236c884 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:30:13 +0100
Subject: [PATCH 14/23] gnu: Add perl-readonly-xs.

* gnu/packages/perl.scm (perl-readonly-xs): New variable.
---
 gnu/packages/perl.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index db0d836..7bc5816 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -4543,6 +4543,26 @@ can also be useful as a development and debugging tool for catching updates to
 variables that should not be changed.")
     (license (package-license perl))))
 
+(define-public perl-readonly-xs
+  (package
+    (name "perl-readonly-xs")
+    (version "1.05")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/R/RO/ROODE/"
+                           "Readonly-XS-" version ".tar.gz"))
+       (sha256
+        (base32
+         "03gz7yp194fwah2bc36ww04hgw1qx8p6y68vvnywircrablc9rca"))))
+    (build-system perl-build-system)
+    (home-page "http://search.cpan.org/~roode/Readonly-XS-1.05/")
+    (synopsis "Speed up creation of read-only scalar for Readonly.pm")
+    (description "If this companion module is installed, Readonly.pm will
+detect this and use it for creating read-only scalars.  This results in a
+significant speed improvement.")
+    (license (package-license perl))))
+
 (define-public perl-regexp-common
   (package
     (name "perl-regexp-common")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #16: 0015-gnu-Add-perl-text-bibtex.patch --]
[-- Type: text/x-diff, Size: 1898 bytes --]

From 97b9577c43b3437189648b11ce673efcfb57ee5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:32:18 +0100
Subject: [PATCH 15/23] gnu: Add perl-text-bibtex.

* gnu/packages/perl.scm (perl-text-bibtex): New variable.
---
 gnu/packages/perl.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 7bc5816..6fd054b 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -5932,6 +5932,35 @@ 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.71")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/A/AM/AMBS/"
+                           "Text-BibTeX-" version ".tar.gz"))
+       (sha256
+        (base32 "1jwi4yc4l1sf9pyc6qifcm493lwf8iggdjli7f9a9aqin1swh36d"))))
+    (build-system perl-build-system)
+    (arguments
+      `(#:phases
+        (modify-phases %standard-phases
+          ;; phase validate-runpath fails because it doesn't look for the
+          ;; shared libraries in the %output dir. There may be a better way to
+          ;; fix that.
+          (delete 'validate-runpath))))
+    (native-inputs
+     `(("perl-config-autoconf" ,perl-config-autoconf)
+       ("perl-extutils-libbuilder" ,perl-extutils-libbuilder)
+       ("perl-module-build" ,perl-module-build)))
+    (home-page "https://github.com/ambs/Text-BibTeX")
+    (synopsis "Perl library to deal with BibTeX data")
+    (description "Text::BibTeX is a Perl library for reading, parsing, and
+processing BibTeX files.")
+    (license gpl1+)))
+
 (define-public perl-text-csv
   (package
     (name "perl-text-csv")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #17: 0016-gnu-Add-perl-text-roman.patch --]
[-- Type: text/x-diff, Size: 1700 bytes --]

From dce8ed828b188ee2a982837468febd413a03a2d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:32:40 +0100
Subject: [PATCH 16/23] gnu: Add perl-text-roman.

* gnu/packages/perl.scm (perl-text-roman): New variable.
---
 gnu/packages/perl.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 6fd054b..9788399 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -6026,6 +6026,27 @@ used to match against text, rather than fetching names from a filesystem.  If
 you want to do full file globbing use the File::Glob module instead.")
     (license (package-license perl))))
 
+(define-public perl-text-roman
+  (package
+    (name "perl-text-roman")
+    (version "3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/S/SY/SYP/"
+                           "Text-Roman-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0sh47svzz0wm993ywfgpn0fvhajl2sj5hcnf5zxjz02in6ihhjnb"))))
+    (build-system perl-build-system)
+    (home-page "http://search.cpan.org/~syp/Text-Roman-3.5/")
+    (synopsis "Perl package to convert between Roman and Arabic algarisms")
+    (description "This package allow conversion between Roman and Arabic
+algarisms.  It supports both conventional Roman algarisms (which range from 1
+to 3999) and Milhar Romans, a variation which uses a bar across the algarism
+to indicate multiplication by 1000.")
+    (license (package-license perl))))
+
 (define-public perl-text-simpletable
   (package
     (name "perl-text-simpletable")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #18: 0017-gnu-Add-perl-tie-cycle.patch --]
[-- Type: text/x-diff, Size: 1523 bytes --]

From f3c0e0e699eb7582c95aaa88ecaaa37085774054 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:32:54 +0100
Subject: [PATCH 17/23] gnu: Add perl-tie-cycle.

* gnu/packages/perl.scm (perl-tie-cycle): New variable.
---
 gnu/packages/perl.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 9788399..2855bef 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -6135,6 +6135,27 @@ system.")
 as exceptions to standard program flow.")
     (license (package-license perl))))
 
+(define-public perl-tie-cycle
+  (package
+    (name "perl-tie-cycle")
+    (version "1.21")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
+                           "Tie-Cycle-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0r1mdmd01s42vwlwr2mvr1ywjvvfkc79vz6ysdii5fvcgs6wk50y"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-extutils-makemaker" ,perl-extutils-makemaker)))
+    (home-page "http://search.cpan.org/dist/Tie-Cycle/")
+    (synopsis "Cycle through a list of values via a scalar")
+    (description "Tie::Cycle is used to go through a list over and over again.
+Once at the end of the list, it goes back to the beginning.")
+    (license (package-license perl))))
+
 (define-public perl-tie-ixhash
   (package
   (name "perl-tie-ixhash")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #19: 0018-gnu-Add-perl-unicode-collate.patch --]
[-- Type: text/x-diff, Size: 1475 bytes --]

From da3a52ca9c718ab78594fb65d3bcc2a41edc094b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:33:09 +0100
Subject: [PATCH 18/23] gnu: Add perl-unicode-collate.

* gnu/packages/perl.scm (perl-unicode-collate): New variable.
---
 gnu/packages/perl.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 2855bef..0d39dfb 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -6399,6 +6399,23 @@ else.")
 common serialisation formats such as JSON or CBOR.")
     (license (package-license perl))))
 
+(define-public perl-unicode-collate
+  (package
+    (name "perl-unicode-collate")
+    (version "1.14")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://cpan/authors/id/S/SA/SADAHIRO/"
+                                  "Unicode-Collate-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0ykncvhnwy8ync01ibv0524m0si9ya1ch2v8vx61s778nnrmp2k2"))))
+    (build-system perl-build-system)
+    (home-page "http://search.cpan.org/~sadahiro/Unicode-Collate-1.14/")
+    (synopsis "Unicode collation algorithm for Perl code")
+    (description "This module provides an Unicode collation algorithm.")
+    (license (package-license perl))))
+
 (define-public perl-unicode-linebreak
   (package
     (name "perl-unicode-linebreak")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #20: 0019-gnu-Add-perl-unicode-normalize.patch --]
[-- Type: text/x-diff, Size: 1537 bytes --]

From 7e4d8f823484d20ae9987f6a2571a5dbd8d542e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:33:20 +0100
Subject: [PATCH 19/23] gnu: Add perl-unicode-normalize.

* gnu/packages/perl.scm (perl-unicode-normalize): New variable.
---
 gnu/packages/perl.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 0d39dfb..1bf3f37 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -6438,6 +6438,23 @@ described in Unicode Standard Annex #14.  The @code{East_Asian_Width} property
 defined by Annex #11 is used to determine breaking positions.")
     (license (package-license perl))))
 
+(define-public perl-unicode-normalize
+  (package
+    (name "perl-unicode-normalize")
+    (version "1.25")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://cpan/authors/id/K/KH/KHW/"
+                                  "Unicode-Normalize-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0v04bcyjfcfap4kfpc8q3ikq3j7s68nym4ckw3iasmmksdskmcq0"))))
+    (build-system perl-build-system)
+    (home-page "https://github.com/khwilliamson/Unicode-Normalize")
+    (synopsis "Perl Unicode normalization forms")
+    (description "This module provides Unicode normalization forms.")
+    (license (package-license perl))))
+
 (define-public perl-universal-can
   (package
     (name "perl-universal-can")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #21: 0020-gnu-Add-perl-xml-libxslt.patch --]
[-- Type: text/x-diff, Size: 1650 bytes --]

From 95658b2c921342cf621b9cdf466e00e5a823bbe6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:33:41 +0100
Subject: [PATCH 20/23] gnu: Add perl-xml-libxslt.

* gnu/packages/xml.scm (perl-xml-libxslt): New variable.
---
 gnu/packages/xml.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 7419c61..82086d6 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -246,6 +246,29 @@ XML parser and the high performance DOM implementation.")
 @code{XML::LibXML}.")
     (license (package-license perl))))
 
+(define-public perl-xml-libxslt
+  (package
+    (name "perl-xml-libxslt")
+    (version "1.94")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
+                                 "XML-LibXSLT-" version ".tar.gz"))
+             (sha256
+              (base32
+               "1raax6szgc1pprrjrp72i2q3k0djsqp3ya478qzlqa4p0vgd9h5r"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("perl-xml-libxml" ,perl-xml-libxml)
+       ("perl-test-pod" ,perl-test-pod)))
+    (home-page "https://bitbucket.org/shlomif/perl-xml-libxslt")
+    (synopsis "Perl interface to the Gnome libxslt library")
+    (description "This module is a fast XSLT library based on the GNOME libxslt
+library.")
+    (license (package-license perl))))
+
 (define-public perl-xml-namespacesupport
   (package
     (name "perl-xml-namespacesupport")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #22: 0021-gnu-Add-perl-xml-writer.patch --]
[-- Type: text/x-diff, Size: 1932 bytes --]

From bd8fa8690fff6e084e218e1609256d727c116e2f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:34:05 +0100
Subject: [PATCH 21/23] gnu: Add perl-xml-writer.

* gnu/packages/xml.scm (perl-xml-writer): New variable.
---
 gnu/packages/xml.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 82086d6..eac8161 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -545,6 +545,32 @@ encoding of the message to be send into XML, sending the message to the
 server, collect the answer, and finally decoding the XML to Perl.")
     (license (package-license perl))))
 
+(define-public perl-xml-writer
+  (package
+    (name "perl-xml-writer")
+    (version "0.625")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "mirror://cpan/authors/id/J/JO/JOSEPHW/XML-Writer-"
+                   version ".tar.gz"))
+             (sha256
+              (base32
+               "1gjzs570i67ywbv967g8ylb5sg59clwmyrl2yix3jl70dhn55070"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-test-pod" ,perl-test-pod)
+       ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+    (home-page "http://josephw.github.com/xml-writer-perl/")
+    (synopsis "Simple Perl module for writing XML documents")
+    (description "XML::Writer is a simple Perl module for writing XML
+documents: it takes care of constructing markup and escaping data correctly,
+and by default, it also performs a significant amount of well-formedness
+checking on the output, to make certain (for example) that start and end tags
+match, that there is exactly one document element, and that there are not
+duplicate attribute names.")
+    (license license:cc0)))
+
 (define-public pugixml
   (package
     (name "pugixml")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #23: 0022-gnu-Add-perl-mozilla-ca.patch --]
[-- Type: text/x-diff, Size: 1527 bytes --]

From a4b913bfb6003ba8d8e9dc6179a490bb208185fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:34:21 +0100
Subject: [PATCH 22/23] gnu: Add perl-mozilla-ca.

* gnu/packages/web.scm (perl-mozilla-ca): New variable.
---
 gnu/packages/web.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 516e623..fd868a3 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -2411,6 +2411,26 @@ possibly-temporary error (like a DNS lookup timeout), it'll wait a few seconds
 and retry a few times.")
     (license (package-license perl))))
 
+(define-public perl-mozilla-ca
+  (package
+    (name "perl-mozilla-ca")
+    (version "20160104")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/A/AB/ABH/"
+                           "Mozilla-CA-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0aizn08lrdrgjz9vagkjmw2c7sxn46fzz521v9dbcqii4jd0d9r7"))))
+    (build-system perl-build-system)
+    (home-page "https://github.com/gisle/mozilla-ca")
+    (synopsis "Mozilla's CA cert bundle in PEM format for Perl")
+    (description "This module provides a copy of Mozilla's bundle of
+Certificate Authority certificates in a form that can be consumed by modules
+and libraries based on OpenSSL.")
+    (license l:mpl2.0)))
+
 (define-public perl-net-amazon-s3
   (package
     (name "perl-net-amazon-s3")
-- 
2.6.3


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #24: 0023-gnu-Add-biber.patch --]
[-- Type: text/x-diff, Size: 5166 bytes --]

From 9ae879791d307f9506c532f00cbb1ed128efee92 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Barth=C3=A9lemy?= <cbarthelemy@fdn.fr>
Date: Mon, 14 Mar 2016 20:36:09 +0100
Subject: [PATCH 23/23] gnu: Add biber.

* gnu/packages/texlive.scm (biber): New variable.
---
 gnu/packages/texlive.scm | 84 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)

diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm
index cbcb6c8..6ea44ff 100644
--- a/gnu/packages/texlive.scm
+++ b/gnu/packages/texlive.scm
@@ -22,7 +22,9 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system perl)
   #:use-module (guix build-system trivial)
   #:use-module (guix utils)
   #:use-module (gnu packages)
@@ -43,6 +45,8 @@
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages tcsh)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages web)
+  #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages zip)
@@ -387,3 +391,83 @@ to manage bibliographic references.  Automatic execution of dvips to produce
 PostScript documents is also included, as well as usage of pdfLaTeX to produce
 PDF documents.")
     (license license:gpl2+)))
+
+(define-public biber
+  (package
+    (name "biber")
+    (version "2.4")
+    (source
+     (origin
+       ;; (method git-fetch) always pulls version 1.8
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://github.com/plk/biber/archive/v" version ".tar.gz"))
+       (sha256
+        (base32
+         "0bk88xbldsdy5244xwpmcmdr40fiws6d8yr1d8miiflfb6vbv3bh"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-business-isbn-data" ,perl-business-isbn-data)
+       ("perl-class-accessor" ,perl-class-accessor)
+       ("perl-config-autoconf" ,perl-config-autoconf)
+       ("perl-extutils-libbuilder" ,perl-extutils-libbuilder)
+       ("perl-file-find-rule" ,perl-file-find-rule)
+       ("perl-file-which" ,perl-file-which)
+       ("perl-module-build" ,perl-module-build)
+       ("perl-test-differences" ,perl-test-differences)
+       ("perl-test-pod" ,perl-test-pod)
+       ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
+    (inputs
+     `(("perl-autovivification" ,perl-autovivification)
+       ("perl-business-isbn" ,perl-business-isbn)
+       ("perl-business-issn" ,perl-business-issn)
+       ("perl-business-ismn" ,perl-business-ismn)
+       ("perl-data-compare" ,perl-data-compare)
+       ("perl-data-dump" ,perl-data-dump)
+       ("perl-data-uniqid" ,perl-data-uniqid)
+       ("perl-date-simple" ,perl-date-simple)
+       ("perl-encode-eucjpascii" ,perl-encode-eucjpascii)
+       ("perl-encode-hanextra" ,perl-encode-hanextra)
+       ("perl-encode-jis2k" ,perl-encode-jis2k)
+       ("perl-file-slurp" ,perl-file-slurp)
+       ("perl-ipc-run3" ,perl-ipc-run3)
+       ("perl-list-allutils" ,perl-list-allutils)
+       ("perl-list-moreutils" ,perl-list-moreutils)
+       ("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
+       ("perl-log-log4perl" ,perl-log-log4perl)
+       ("perl-mozilla-ca" ,perl-mozilla-ca)
+       ("perl-readonly-xs" ,perl-readonly-xs)
+       ("perl-regexp-common" ,perl-regexp-common)
+       ("perl-text-bibtex" ,perl-text-bibtex)
+       ("perl-text-roman" ,perl-text-roman)
+       ("perl-unicode-collate" ,perl-unicode-collate)
+       ("perl-unicode-linebreak" ,perl-unicode-linebreak)
+       ("perl-unicode-normalize" ,perl-unicode-normalize)
+       ("perl-xml-libxml-simple" ,perl-xml-libxml-simple)
+       ("perl-xml-libxslt" ,perl-xml-libxslt)
+       ("perl-xml-writer" ,perl-xml-writer)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'set-ld-library-path-and-remove-failing-test
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; libttparse.so is in lib64 of perl-text-bibtex
+             (let ((path
+                    (string-append
+                      (assoc-ref inputs "perl-text-bibtex") "/lib64")))
+               (format #t "setting LD_LIBRARY_PATH to ~s~%" path)
+               (setenv "LD_LIBRARY_PATH" path))
+             ;; the sortcase test fails for some reason related to the locale
+             ;; (see https://github.com/plk/biber/issues/107)
+             (format #t "removing test in t/sort-order.t")
+             (substitute* "t/sort-order.t"
+               (("use Test::More tests => 15;") "use Test::More tests => 14;"))
+             (substitute* "t/sort-order.t"
+               ;; l. 504
+               (("^is_deeply\\(.*location - sortcase=1.*$") "")))))))
+    (home-page "https://github.com/plk/biber")
+    (synopsis "BibTeX replacement for users of biblatex")
+    (description "Biber is a Perl program aiming at providing a customized and
+sophisticated data preparation backend for biblatex.")
+    (license license:gpl1+)))                     ;GPLv1+ | Artistic
-- 
2.6.3


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] gnu: Add biber
  2016-03-14 22:08 [PATCH] gnu: Add biber Clément Barthélemy
@ 2016-03-16  7:52 ` Leo Famulari
  2016-03-17 21:55 ` Ludovic Courtès
  1 sibling, 0 replies; 4+ messages in thread
From: Leo Famulari @ 2016-03-16  7:52 UTC (permalink / raw)
  To: Clément Barthélemy; +Cc: guix-devel

On Mon, Mar 14, 2016 at 11:08:15PM +0100, Clément Barthélemy wrote:
> Hi everyone,
> 
> Attached is a series of patches (my first!) to package biber (a
> BibTeX replacement written in Perl). It's kind of a work in
> progress, I still have some problems :
> 
> 1. The build process spits out permission errors for several
> packages during the strip phase. It doesn't result in a failure,
> so I am not sure what to do.

File permission errors? If so, it's possible to change the permissions
of files in the package definition — grep in 'gnu/packages' for 'chmod'
for examples.

> 2. The perl-text-bibtex package cannot validate its runpath
> because it doesn't look for a shared library in the right
> directory. I disabled the validate-runpath phase, but surely there
> is a better way.

If that fails, then mostly likely perl-text-bibtex won't work, since it
won't be able to find the library. If it seems to work for you, could it 
be finding a compatible library elsewhere on your system?

I don't know the canonical way to provide these paths for Perl packages.
Anyone?

> 3. I didn't use the git-fetch method for the biber package
> because it always pulls an old (1.8) version from github.

Weird — did you give v2.4 as the value of the commit? But, do you want
to build from the Git repo, or from the tarball?

> 4. Finally, I am not sure the executable works, I still need to
> test it.

Okay, then I will not try to build the patches yet. But I will give some
comments below.

Thanks for all the patches!

> * gnu/packages/perl.scm (perl-autovivification): New variable.

Okay

> * gnu/packages/perl.scm (perl-business-isbn): New variable.

[...]

> +    (native-inputs
> +     `(("perl-extutils-makemaker" ,perl-extutils-makemaker)
> +       ("perl-business-isbn-data" ,perl-business-isbn-data)))

Typically, native-inputs are build-time dependencies — is that desired
for these?  They are "native" to the architecture of the builder and not
referenced by the final package, if I understand correctly.

I have the same question about some of the later packages in the series,
but I won't bring it up again.

> * gnu/packages/perl.scm (perl-business-isbn-data): New variable.

Okay

> * gnu/packages/perl.scm (perl-business-ismn): New variable.

Okay.

> * gnu/packages/perl.scm (perl-business-issn): New variable.

Okay.

> * gnu/packages/perl.scm (perl-data-compare): New variable.
> +    (synopsis "Comparition of data structures")

Spelling: s/Comparition/Comparison

> +    (description "This module compares arbitrary data structures.")

How about giving the full sentence from the README?
"This module compares arbitrary data structures to see if they are
copies of each other."

> * gnu/packages/perl.scm (perl-data-uniqid): New variable.

Okay.

> * gnu/packages/perl.scm (perl-date-simple): New variable.
> +    (synopsis "Simple date object for Perl")
> +    (description "This modules provides a simple date object for use in Perl
> +program.")

"This module provides a simple date object for use in a Perl program."

Also, I don't know Perl, so "simple date object" doesn't explain much to
me.  Would this make sense to a Perl programmer? If so, okay.

> * gnu/packages/perl.scm (perl-encode-eucjpascii): New variable.
> +    (description "This module provides an eucJP-open mapping.")

Can you add another sentence to the description that translates the
jargon?

> +(define-public perl-encode-hanextra

This one got mixed up in the commit of perl-encode-eucjpascii. Anyways,
it looks good as its own commit.

> * gnu/packages/perl.scm (perl-encode-jis2k): New variable.
> +    (description "This module implements encodings that covers JIS X 0213
> +charset (AKA JIS 2000, hence the module name).")

Again, can you try to clarify the jargon in another sentence or two?

> * gnu/packages/perl.scm (perl-extutils-libbuilder): New variable.

Okay

> * gnu/packages/perl.scm (perl-extutils-makemaker): New variable.

Okay

> * gnu/packages/perl.scm (perl-log-log4perl): New variable.

Okay

> * gnu/packages/perl.scm (perl-readonly-xs): New variable.

Okay

> * gnu/packages/perl.scm (perl-text-bibtex): New variable.
> +    (arguments
> +      `(#:phases
> +        (modify-phases %standard-phases
> +          ;; phase validate-runpath fails because it doesn't look for the
> +          ;; shared libraries in the %output dir. There may be a better way to
> +          ;; fix that.
> +          (delete 'validate-runpath))))
> +    (native-inputs
> +     `(("perl-config-autoconf" ,perl-config-autoconf)
> +       ("perl-extutils-libbuilder" ,perl-extutils-libbuilder)
> +       ("perl-module-build" ,perl-module-build)))

We need to fix the runpath issue, and decide whether or not the inputs
should be native-inputs.

> +    (home-page "https://github.com/ambs/Text-BibTeX")
> +    (synopsis "Perl library to deal with BibTeX data")
> +    (description "Text::BibTeX is a Perl library for reading, parsing, and
> +processing BibTeX files.")
> +    (license gpl1+)))

Some of the files are under the Perl license, others GPL2 or later. I
didn't check everything. Can you research this and list all of the
licenses?

> * gnu/packages/perl.scm (perl-text-roman): New variable.

Okay

> * gnu/packages/perl.scm (perl-tie-cycle): New variable.

Okay

> * gnu/packages/perl.scm (perl-unicode-collate): New variable.

Okay

> * gnu/packages/perl.scm (perl-unicode-normalize): New variable.

Okay

> * gnu/packages/xml.scm (perl-xml-libxslt): New variable.

Okay

> * gnu/packages/xml.scm (perl-xml-writer): New variable.

Okay

> * gnu/packages/web.scm (perl-mozilla-ca): New variable.
> +    (home-page "https://github.com/gisle/mozilla-ca")
> +    (synopsis "Mozilla's CA cert bundle in PEM format for Perl")
> +    (description "This module provides a copy of Mozilla's bundle of
> +Certificate Authority certificates in a form that can be consumed by modules
> +and libraries based on OpenSSL.")

How does this work? Do you think it's safe to use?

> * gnu/packages/texlive.scm (biber): New variable.
[...]
> +  #:use-module (guix git-download)

This can be removed if you decide to use url-fetch instead of git-fetch.

> +(define-public biber
> +  (package
> +    (name "biber")
> +    (version "2.4")
> +    (source
> +     (origin
> +       ;; (method git-fetch) always pulls version 1.8

As discussed above...

> +    (native-inputs
> +     `(("perl-business-isbn-data" ,perl-business-isbn-data)
> +       ("perl-class-accessor" ,perl-class-accessor)
> +       ("perl-config-autoconf" ,perl-config-autoconf)
> +       ("perl-extutils-libbuilder" ,perl-extutils-libbuilder)
> +       ("perl-file-find-rule" ,perl-file-find-rule)
> +       ("perl-file-which" ,perl-file-which)
> +       ("perl-module-build" ,perl-module-build)
> +       ("perl-test-differences" ,perl-test-differences)
> +       ("perl-test-pod" ,perl-test-pod)
> +       ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
> +    (inputs

... as above ...

> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-before 'check 'set-ld-library-path-and-remove-failing-test

Are these changes "atomic"? Or should they be separate phases?

> +           (lambda* (#:key inputs #:allow-other-keys)
> +             ;; libttparse.so is in lib64 of perl-text-bibtex
> +             (let ((path
> +                    (string-append
> +                      (assoc-ref inputs "perl-text-bibtex") "/lib64")))
> +               (format #t "setting LD_LIBRARY_PATH to ~s~%" path)

Is this debug tracing?

> +               (setenv "LD_LIBRARY_PATH" path))

Should the package be built with this variable set? 

> +             ;; the sortcase test fails for some reason related to the locale
> +             ;; (see https://github.com/plk/biber/issues/107)
> +             (format #t "removing test in t/sort-order.t")
> +             (substitute* "t/sort-order.t"
> +               (("use Test::More tests => 15;") "use Test::More tests => 14;"))
> +             (substitute* "t/sort-order.t"
> +               ;; l. 504
> +               (("^is_deeply\\(.*location - sortcase=1.*$") "")))))))
> +    (home-page "https://github.com/plk/biber")
> +    (synopsis "BibTeX replacement for users of biblatex")
> +    (description "Biber is a Perl program aiming at providing a customized and
> +sophisticated data preparation backend for biblatex.")
> +    (license license:gpl1+)))                     ;GPLv1+ | Artistic

As above, please provide a list of licenses if there is more than one. I
also found the file 'biber/etc/bibtex.g', which bears the GPL2+.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] gnu: Add biber
  2016-03-14 22:08 [PATCH] gnu: Add biber Clément Barthélemy
  2016-03-16  7:52 ` Leo Famulari
@ 2016-03-17 21:55 ` Ludovic Courtès
  2016-03-17 22:06   ` Leo Famulari
  1 sibling, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2016-03-17 21:55 UTC (permalink / raw)
  To: Clément Barthélemy; +Cc: guix-devel

Hello!

Clément Barthélemy <cbarthelemy@fdn.fr> skribis:

> 1. The build process spits out permission errors for several
> packages during the strip phase. It doesn't result in a failure,
> so I am not sure what to do.

I believe it’s harmless.  Usually it’s the ‘strip’ command complaining
about files that lack the executable bit.

I see you already have a detailed review from Leo to work on.  :-)

Thanks for the packages, and welcome!

Ludo’.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] gnu: Add biber
  2016-03-17 21:55 ` Ludovic Courtès
@ 2016-03-17 22:06   ` Leo Famulari
  0 siblings, 0 replies; 4+ messages in thread
From: Leo Famulari @ 2016-03-17 22:06 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, Clément Barthélemy

On Thu, Mar 17, 2016 at 10:55:56PM +0100, Ludovic Courtès wrote:
> Hello!
> 
> Clément Barthélemy <cbarthelemy@fdn.fr> skribis:
> 
> > 1. The build process spits out permission errors for several
> > packages during the strip phase. It doesn't result in a failure,
> > so I am not sure what to do.
> 
> I believe it’s harmless.  Usually it’s the ‘strip’ command complaining
> about files that lack the executable bit.
> 
> I see you already have a detailed review from Leo to work on.  :-)

Yes, but it's always good when there are multiple reviewers, especially
when they know more than me :)

> 
> Thanks for the packages, and welcome!
> 
> Ludo’.
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-03-17 22:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-14 22:08 [PATCH] gnu: Add biber Clément Barthélemy
2016-03-16  7:52 ` Leo Famulari
2016-03-17 21:55 ` Ludovic Courtès
2016-03-17 22:06   ` Leo Famulari

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.