[64bit] Biber packaging questions

Ken Brown kbrown@cornell.edu
Wed Jun 12 14:10:00 GMT 2013


I've succeeded, with help from the Biber developer, in building 
biber.exe for 64bit Cygwin.  This is supposed to be part of 
texlive-collection-bibtexextra.  Before I send an RFU, I have a few 
packaging questions, for which I have to give some background.

Biber is written in perl and is then packed into a self-contained Perl 
Archive biber.exe.  The first time a user runs biber.exe, it unpacks all 
necessary perl modules and all necessary DLLs (including the perl DLL) 
into a subdirectory of /tmp.  In this way biber.exe can run on any 
Cygwin system, which doesn't even have to have perl installed.  In order 
to *build* biber.exe, however, perl and many perl modules are required.

The Biber developer builds the executables for several platforms 
(including 32bit Cygwin).  These executables are then included in the 
TeX Live source.  Since he does not currently build biber.exe for 64bit 
Cygwin, I had to do this step.  This required building the following 
perl modules, which are not currently in the Cygwin distro:

perl-Business-ISBN
perl-Business-ISBN-Data
perl-Business-ISMN
perl-Business-ISSN
perl-Capture-Tiny
perl-Config-AutoConf
perl-Data-Compare
perl-Data-Diver
perl-Data-Dump
perl-Date-Simple
perl-Encode-EUCJPASCII
perl-Encode-HanExtra
perl-Encode-JIS2K
perl-ExtUtils-LibBuilder
perl-File-Find-Rule
perl-File-Slurp
perl-File-Slurp-Unicode
perl-IO-HTML
perl-IPC-Run3
perl-LWP-Protocol-https
perl-List-AllUtils
perl-List-MoreUtils
perl-Log-Log4perl
perl-MIME-Charset
perl-Mozilla-CA
perl-Number-Compare
perl-Readonly
perl-Readonly-XS
perl-Regexp-Common
perl-Text-BibTeX
perl-Text-Glob
perl-Tie-Cycle
perl-Unicode-Collate
perl-Unicode-GCString
perl-XML-LibXML-Simple
perl-XML-LibXSLT


Here are my questions:

1. Should these build prerequisites be added to the 64bit distro? 
Otherwise it will be difficult for others to rebuild biber from source.

2. Biber requires perl 5.16 or later, so I did a quick and dirty build 
of perl-5.16.3.  By "quick and dirty" I mean that I simply took Yaakov's 
perl.cygport and removed all patches that wouldn't apply.  This is no 
problem for *users* of biber.exe, since the latter includes the perl 
DLL.  But again it makes it difficult for others to replicate the build 
until the official perl is updated.  I have no idea what to do about this.

3. There is a completely different approach I could take.  Namely, I 
could simply package Biber as a perl module and forget about packing it 
into a Perl Archive.  If I do this, then users will need perl 5.16 or 
later, as well as most or all of the perl modules listed above, so the 
RFU will have to wait for a perl update; but that's probably not 
serious.  Would this be preferable?  I'm not aware of any Linux distros 
that do this, though someone did do it unofficially for Fedora:

   http://www.linux.cz/pipermail/texlive/2012-August/000563.html

Ken

P.S. I'm copying Philip Kime, the Biber developer.  He should probably 
be kept in the CC for all replies.



More information about the Cygwin-apps mailing list