Unless trunk's 7.6 is severely delayed, this proposal is for 7.7 :
among other things, I need to check some things on a clean system
(with all the known deps but not too much else, and certainly no
addiitional perl), and for the new packages I will need to find out
more details before I'm ready to create pages.

 NB biber and biblatex-biber are the same thing : it is called biber
within TeX, but the source tarball is biblatex-biber.

1. Why the current build is less than perfect :

1.1 We do not build xindy - I have now managed this, but with added
libsigsegv and clisp, both in /usr.  The TUG docs suggest these are
a build-time dependency, so I was initially hoping to build them in
the texlive tree (to avoid adding packages to the book), but I
failed to persuade clisp that libsigsegv was there.  Also, with
hindsight, we prefer system libraries.  NB the clisp tests fail
badly with a segmentation fault, which is probably why nobody runs
them.

1.2 TeX Live ships with a copy of libpaper, which it will use unless
forced to use a system version.  This is a package which lives at
debian and appears to get some love and affection.  It is an
external reference for a2ps, cups, ghostscript.  As well as the
debian "underscore for version", it currently has "nmu" in the name:
that stands for Non Maintainer Update, and the debian changelog
shows it is fairly common for this package.  For consistency with
other separately maintained packages, I think we should add this and
make the system version the default.

1.3 We do not build biber.  The TUG page says:
|TeX Live includes biber (a BibTeX replacement for BibLaTeX users)
|executables. These executables bundle the many Perl modules which
|biber requires, using the Par::Packer mechanism. This process is
|described in the biber documentation; it isn't feasible to
|incorporate it in the standard TL build.

 I have not fully sorted out the biber dependencies (my normal
desktops include an old version [ 5.837 ] of libwww-perl and I have
not wished to upgrade to 6 where many things have been split into
separate modules.  Looks like I will be doing that now :-(

 At the moment, I have around 40 perl modules as dependencies for
biber.  A few of these, as well as biber itself, use 'perl Build.PL
; ./Build ; ./Build test ; ./Build install'.  Quite frankly, getting
those to build and test is painful - with the conventional process,
most packages warn of missing dependencies, but a few fail their
tests when other things are missing.  With Build.PL, getting 'perl
Build.PL' to actually create Build is mostly a question of trying,
looking at what could not be found in @INC, adding something,
repeating.

 I have not, for the moment, found out why recent versions [ 1.9,
1.8 ] of biber fail many of their tests, but I can now report that
1.8 passes my small use-test [ 1.9 does not, nor does it pass its
own tests - fails in Biber/LaTeX/Recode.pm with Undefined subroutine
&File::Slurp::read_file, apparently it has been fixed in upstream git
and 2.0 at sourceforge in -development, although that currently has
no source].  Anyway, as I later found out, 1.8 matches texlive 2014L

 Now that I am building from source, without the binary installer,
using texmf, I find that texmf has deposited biber source at
/opt/texlive/2014/texmf-dist/source/bibtex/biber/biblatex-biber.tar.gz
[ did I mention that the source tarballs, and the directories at
sourceforge, contain a version but they are all named
biblatex-biber.tar.gz ? ] and tar -tvf shows me this is version 1.8.

1.4 If you install texmf (docs, scripts, fonts, etc) it is not
necessary to use the binary installer.  But although what I will
call "basic" TeX can be built and mostly tested (before install,
kpathsea destined for /usr does not work, so 3 tests skip), it is
not possible to build xindy without a working latex, and the
asymptote tests fail catastrophically.  So, the source-only build
needs to be repeated - it _is_ possible to build everythign the
second time, but to only install xindy and asymptote.

2. Proposed changes. (Outline)  The numbers are for reference,
actually doing this will probably start by adding libpaper, then
libsigsegv, then xindy.

 Bruce said he want to keep the binary version of TeX, so I guess we
will stick with /opt/texlive/2014/bin/<ARCH>-linux for the programs,
but with headers and (kpathsea) libs in /usr as they are now.

 Given time, I might manage to come up with a variable - to be set
at the start of TeX install or build - to return the correct value
for ARCH.

2.1 Add a page for texmf, with a note of why you would want to do
this.

2.2 If you are starting from nothing, you cannot build xindy (it
needs latex), nor can you test asymptote.  Therefore, I propose to
rearrange the texindex source page :

2.2.1 Add a variable containing the configure arguments for xindy,
but with a test or a note so that this is unset for an initial build
where TeX is not already installed.

2.2.2 in texlive source introduction, explain that if you do not
have an existing tex but want the full package then you will have to
install twice, first a basic version, then rebuild for xindy and
asymptote.

2.2.3 Build and test TeX itself as now  Add a section for installing
(like now, but either for the "basic" TeX, or for TeX-with-xindy when
a version already exists.)

2.2.4 If this is the first install, make the symlinks (most of these
are for calling pdftex by other names).

2.2.5 Add a section for installing xindy (from Utils/Xindy in $PWD,
not from ../Utils/xindy !) if doing a full build after a basic
build.

2.2.6 Move the separate configure, make, test, install for asymptote
to be together (after the main part of TeX), for use when a version
of TeX is already installed and on $PATH.

2.3 add libpaper

2.4 add libsigsegv

2.5 add clisp

2.6 add whichever modules are needed by biber to the perl modules
page.  I am in two minds about showing how to build those using
Build.PL, but something is needed, and this will change in the
future :
|Module::Build will be removed from the Perl core distribution in the
|next major release. Please install it from CPAN. It is being used at
|Build.PL, line 5.

 That also applies to biber itself, so perhaps a link like "see
biblatex-biber for details of how to use Build.PL" will do the job.
Or (2.7 below) I could add them, with a suggested build order, to
the (biblatex-)biber page ?

2.7 I am not particularly keen on dropping (biblatex-)biber into the
perl modules, although it could go there.  I would prefer to give it
a separate page along with the other TeX stuff.  Perhaps that page
could itself contain the (mostly external) links to the perl modules
which it needs ?  Either way, it needs to note that people should use
the version shipped with texlive.

2.8 The program is /usr/bin/biber, a perl script, although file
describes it as
/usr/bin/biber: OS/2 REXX batch file, UTF-8 Unicode text
[ !! ], the perl modules install as site_perl/5.XX.Y/Biber with a
capital B, and the tarball is biblatex-biber.  I think it should
probably be called, and indexed, as Biber with a capital B ?

ĸen
-- 
Nanny Ogg usually went to bed early. After all, she was an old lady.
Sometimes she went to bed as early as 6 a.m.
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to