summaryrefslogtreecommitdiff
path: root/Master/tlpkg/libexec
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-07-07 20:50:48 +0000
committerKarl Berry <karl@freefriends.org>2022-07-07 20:50:48 +0000
commit4fdf1c66a06ac8f28910562fad37cf76720affcb (patch)
tree5fbe8994d19e9e1ad481029b586eb699ea764ffa /Master/tlpkg/libexec
parent2dfebf86a81ab6ed22dd5bc664b75ea9259c1be1 (diff)
biber binaries (6jul22)
git-svn-id: svn://tug.org/texlive/trunk@63832 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/libexec')
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds37
1 files changed, 26 insertions, 11 deletions
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index ba0afb3c0fe..944f8ea4548 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -6314,13 +6314,35 @@ sub POSTbiber {
"linux_x86_32" => "i386-linux",
"linux_x86_64" => "x86_64-linux",
"linux_x86_64-musl" => "x86_64-linuxmusl",
- "x86_64-pc-solaris2" => "x86_64-solaris",
+ "x86_64-pc-solaris2.11" => "x86_64-solaris",
);
# handle the prebuilt binaries, which are zipped or tarred.
for my $archive (sort (<biber-*>)) {
+ next if $archive =~ /MSWIN64/; # only 32-bit windows
next if $archive =~ /freebsd[^7]\./; # we only want freebsd7
+ # Put the executable in the Master bin directory.
+ # biber-2.18-1-MSWIN64.zip -> MSWIN64
+ # biber-linux_x86_32.tar.gz -> linux_x86_32
+ # biber-linux_x86_64-musl.tar.gz -> linux_x86_64-musl
+ # etc.
+ # hopefully biber won't have any platform names starting with a numeral.
+ # $1 = possible version number
+ # $2 = biber platform name, with trailing -
+ # $3 = archive extension
+ $archive =~ m/^biber-([0-9.-]+-)?([a-zA-Z].*?)\.(zip|tar\..z)/;
+ my $biber_platform = $2;
+ #(my $biber_platform = $archive) =~ s/biber.*-(.*?)\.(zip|tar\..z)/$1/;
+ die "failed to get biber platform name from $archive, goodbye"
+ if ! $biber_platform;
+ print "\t got biber_platform=$biber_platform from archive=$archive\n";
+ #
+ my $tl_platform = $tl_platform{$biber_platform};
+ die "unknown biber platform $biber_platform (from $archive), goodbye"
+ if ! $tl_platform;
+ print "\t got tl_platform=$tl_platform\n";
+
my $unarchiver = &unarchiver ($archive);
&xsystem ("$unarchiver $archive");
@@ -6329,11 +6351,6 @@ sub POSTbiber {
my $biber_binary = "biber";
$biber_binary .= ".exe" if $archive =~ /MSWIN|cygwin/i;
- # Put the executable in the Master bin directory.
- (my $biber_platform = $archive) =~ s/biber-(.*?)\..*/$1/;
- my $tl_platform = $tl_platform{$biber_platform};
- die "unknown biber platform $biber_platform, goodbye" if ! $tl_platform;
-
# really need to do svn cp for this (in place, can't do it here).
my $bindir = "$TOPDEST/bin/$tl_platform";
&xsystem ("mkdir -p $bindir/");
@@ -6342,14 +6359,12 @@ sub POSTbiber {
# don't keep binary archives around in Master tree.
&xsystem ("$RM biber[-.]*");
- #
- # not meaningful info in TL.
- &xsystem ("$RM README.FreeBSD");
}
# 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".
+# to specify the commands that will get from the archive file on CTAN to
+# a binary named "biber". Although this function is generic, and merely
+# returns the command based on the extension of ARCHIVE.
#
sub unarchiver {
my ($archive) = @_;