summaryrefslogtreecommitdiff
path: root/Master/tlpkg
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-03-15 23:38:48 +0000
committerKarl Berry <karl@freefriends.org>2011-03-15 23:38:48 +0000
commit48f5ba0907a03b39a510376740b5a647a486cab7 (patch)
treec51fa14913f6c2ed494fe77cb62620c3e3aa0285 /Master/tlpkg
parentef44f6e3d8f6ca785d5bf019fc4046d406bc82e2 (diff)
biber 0.8.3, with more binaries and revamped mechanism in Build
git-svn-id: svn://tug.org/texlive/trunk@21726 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg')
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check5
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds95
-rw-r--r--Master/tlpkg/tlpsrc/biber.tlpsrc7
-rw-r--r--Master/tlpkg/tlpsrc/levy.tlpsrc1
4 files changed, 72 insertions, 36 deletions
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index f105a0729e0..ca95f561999 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -204,7 +204,7 @@ my @TLP_working = qw(
latexcheat latexcheat-esmx latexcheat-ptbr latexdiff latexmk latexmp
lato layaureo layouts lazylist
lcd lcg lcyw leading leaflet lecturer ledmac leftidx lettre lettrine
- lewis lexikon lfb lgreek lh
+ levy lewis lexikon lfb lgreek lh
libertine libgreek librarian libris limap linearA linegoal lineno linguex
lipsum listbib listing listings listings-ext listliketab listofsymbols
lithuanian liturg lkproof lm
@@ -243,7 +243,8 @@ my @TLP_working = qw(
moreverb movie15 mp3d mparhack mpgraphics
mpman-ru ms msc msg mslapa msuthesis mtgreek
multenum multibbl multibib multicap multirow
- multibox multido multiobjective munich musixguit musixtex muthesis mwcls mxedruli
+ multibox multido multiobjective munich musixguit musixtex muthesis
+ mwcls mxedruli
mylatexformat
nag namespc natbib nath nature navigator ncclatex ncctools
needspace
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 0f65c752219..ae5a5fd17ca 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -418,7 +418,8 @@ $Master = "$mydir/../..";
'letter1', "die 'skipping, circa 1989, never in TL, await request'",
'lettre', "&MAKEflatten",
'lettrgth', "die 'skipping, nonfree font'",
- 'levy', "die 'skipping, not ready, sorry'",
+ 'levy-font', "die 'skipping, use levy'",
+ 'levy-latex', "die 'skipping, nosell per old latex'",
'lexitex', "die 'skipping, camel has replaced'",
'lfb', "&MAKElfb",
'lh', "&MAKElh",
@@ -2208,9 +2209,17 @@ sub MAKEcopy
&xchdir ($DEST);
&killfiles ($specialclean{$package} || $standardclean);
&killfiles ($moreclean{$package}, "more") if $moreclean{$package};
+
+ &do_posthook ();
+}
- my $postaction = $posthook{$package};
- eval ($postaction) if $postaction;
+sub do_posthook {
+ my $posthook = $posthook{$package};
+ if ($posthook) {
+ print "\t POSTHOOK: running $posthook\n";
+ eval ($posthook);
+ die "$package failed in $posthook: $@" if $@;
+ }
}
@@ -2306,9 +2315,8 @@ sub donormal
&killfiles ($specialclean{$package} || $standardclean);
}
- # do the postaction in any case (we need to adapt some tds zips)
- my $postaction = $posthook{$package};
- eval ($postaction) if $postaction;
+ # do the postaction in any case (we need to adapt some tds zips).
+ &do_posthook ();
}
sub runins
@@ -4086,59 +4094,86 @@ sub POSTbabelbib {
sub POSTbiber {
print "POST$package - move doc, unpack and install binaries\n";
# we've started with everything under source/.
- &xchdir ("$DEST/source/bibtex/biber")
+ &xchdir ("$DEST/source/bibtex/biber");
+ my $biber_tar = glob ("biblatex-biber-*.tar.gz");
+ (my $biber_rel = $biber_tar) =~ s/.tar.gz$//;
+ &SYSTEM ("tar xf $biber_tar --strip-components=2 $biber_rel/doc/biber.pdf");
# move doc pdf.
- &SYSTEM ("$MV doc/*.pdf $DOCDIR/");
+ &SYSTEM ("$MV biber.pdf $DOCDIR/");
# biber uses different platform names.
my %tl_platform = (
- "MSWIN" => "win32",
- "darwin_x86_64" => "x86_64-darwin",
- "linux_x86_32" => "i386-linux",
- "linux_x86_64" => "x86_64-linux",
+ "MSWIN" => "win32",
+ "cygwin32" => "i386-cygwin",
+ "amd64-freebsd7" => "amd64-freebsd",
+ "i386-freebsd7" => "i386-freebsd",
+ "darwin_x86_i386" => "universal-darwin",
+ "darwin_x86_64" => "x86_64-darwin",
+ "linux_x86_32" => "i386-linux",
+ "linux_x86_64" => "x86_64-linux",
+ "solaris_i386" => "i386-solaris",
+ "solaris_x86_64" => "x86_64-solaris",
);
# handle the prebuilt binaries, which are zipped or tarred.
- &xchdir ("binaries");
- for my $archive (sort (<*.*>)) {
- my $unarchiver = &find_unarchiver ($archive);
+ for my $archive (sort (<biber-*>)) {
+ next if $archive =~ /freebsd[68]$/; # we only want freebsd7
+
+ my ($unarchiver,$post) = &biber_unarchiver ($archive);
&SYSTEM ("$unarchiver $archive");
- #
+ (my $archive_file = $archive) =~ s/\..z$//; # for x86-solaris.xz
+ &SYSTEM ("$post $archive_file* biber") if $post;
+
# each .tar.gz unpacks into a single file named biber,
# .zip unpacks into biber.exe.
my $biber_binary = "biber";
$biber_binary .= ".exe" if $archive =~ /MSWIN/i;
- #
- # Put the executable in the appropriate (a) Master bin directory
- # and (b) Build source directory.
+
+ # Put the executable in both the
+ # (a) Master bin directory and
+ # (b) Build source directory.
(my $biber_platform = $archive) =~ s/.*-(.*?)\..*/$1/;
+ ($biber_platform = $archive) =~ s/^.*\.// if ! $biber_platform;
my $tl_platform = $tl_platform{$biber_platform};
- #
+ die "unknown biber platform $biber_platform, goodbye" if ! $tl_platform;
+
my $bindir = "$TOPDEST/bin/$tl_platform";
&SYSTEM ("mkdir -p $bindir");
&SYSTEM ("$CP $biber_binary $bindir/");
#
- my $builddir = "$BUILDDEST/utils/biber";
+ my $builddir = "$BUILDDEST/utils/biber/bin/$tl_platform";
&SYSTEM ("mkdir -p $builddir/");
- &SYSTEM ("$MV $biber_binary $builddir/$biber_binary.$tl_platform");
+ &SYSTEM ("$MV $biber_binary $builddir/$biber_binary");
+
}
- &xchdir ("..");
- &SYSTEM ("$RM -r binaries");
+
+ # don't keep binary archive around in Master tree.
+ &SYSTEM ("$RM biber-*");
}
-sub find_unarchiver {
+# biber binaries are distributed in a variety of ways. The idea here is
+# to specify the commands that will get from the distribution on CTAN to
+# a binary named "biber".
+sub biber_unarchiver {
my ($archive) = @_;
- my $ret;
+ my ($unarch,$post) = ("", "");
- if ($archive =~ /\.tar\.gz$/) {
- $ret = "tar xf";
+ if ($archive =~ /\.tar\./) {
+ $unarch = "tar xf";
+ } elsif ($archive =~ /\.xz$/) {
+ $unarch = "unxz";
+ $post = "cp";
} elsif ($archive =~ /\.zip$/) {
- $ret = "unzip -q";
+ $unarch = "unzip -q";
+ } elsif ($archive =~ /freebsd.$/) {
+ $unarch = "true";
+ $post = "cp";
} else {
+ print "hello $archive?\n";
die "do not know unarchiver for $archive";
}
- return $ret;
+ return ($unarch,$post);
}
sub POSTbibtex {
diff --git a/Master/tlpkg/tlpsrc/biber.tlpsrc b/Master/tlpkg/tlpsrc/biber.tlpsrc
index ab722d289f7..94a9c754f97 100644
--- a/Master/tlpkg/tlpsrc/biber.tlpsrc
+++ b/Master/tlpkg/tlpsrc/biber.tlpsrc
@@ -1,5 +1,4 @@
-binpattern f/!alpha-linux,amd64-freebsd,amd64-kfreebsd,i386-cygwin,\
-i386-freebsd,i386-kfreebsd,i386-netbsd,i386-solaris,mips-irix,\
-powerpc-aix,powerpc-linux,sparc-linux,sparc-solaris,universal-darwin,\
-x86_64-solaris \
+binpattern f/!alpha-linux,amd64-kfreebsd,\
+i386-kfreebsd,i386-netbsd,mips-irix,\
+powerpc-aix,powerpc-linux,sparc-linux,sparc-solaris\
bin/${ARCH}/biber
diff --git a/Master/tlpkg/tlpsrc/levy.tlpsrc b/Master/tlpkg/tlpsrc/levy.tlpsrc
index e69de29bb2d..d853618cd32 100644
--- a/Master/tlpkg/tlpsrc/levy.tlpsrc
+++ b/Master/tlpkg/tlpsrc/levy.tlpsrc
@@ -0,0 +1 @@
+catalogue levy-font