Texlive: bump to 2021 (#5963)

* add texlive 2020

changes in addition to bump and required changes:
 - uses system libraries where feasible instead of bundled ones
 - uses install-tl and tlpdb from a source tarball instead of an SVN checkout (removes the dependency on svn)

* first attempt at splitting up the package

add a texmf and texmf_doc subpackage containing $dataDir/texlive/texmf-dist{,/doc}
this is both to work around Haiku ticket #12116 (and still have docs) as well as
making the package more managable in general.

Ideally the package should be split up according to texlive collections, but
that would require parsing of texlive.tlpdb of some sort.

* replace envsubst with sed replacements

envsubst doesn't work because haikuporter's variables are not exported and are only available in the recipe itself

* replace the tlpdb tarball with the extra tarball which contains some of the yet missing files

also, change the SELFAUTO patch dynamically in the recipe to use $dataDir (i.e. a /packages based path) instead of hard-coding /boot/system/data. This way the installed tools can also be used during the INSTALL phase in the haikuports recipe itself.

* files that are copied directly by install-tl need to be copied and not linked (otherwise it copies the symlink which doesn't work in the installed system)
This commit is contained in:
Joachim Mairböck
2021-07-18 08:06:42 +02:00
committed by GitHub
parent a03e6f82f7
commit 1f5d9401c7
5 changed files with 625 additions and 481 deletions

View File

@@ -0,0 +1,26 @@
selected_scheme scheme-full
TEXDIR dataDir/texlive
TEXMFCONFIG /boot/home/config/settings/texmf/config
TEXMFHOME /boot/home/config/settings/texmf-dist
TEXMFLOCAL /boot/system/non-packaged/data/texlive/texmf-dist
TEXMFSYSCONFIG sysconfDir/texlive
TEXMFSYSVAR sharedStateDir/texlive
TEXMFVAR /boot/home/config/var/texmf
instopt_adjustpath 0
instopt_adjustrepo 1
instopt_letter 0
instopt_portable 0
instopt_write18_restricted 1
tlpdbopt_autobackup 1
tlpdbopt_backupdir tlpkg/backups
tlpdbopt_create_formats 1
tlpdbopt_desktop_integration 1
tlpdbopt_file_assocs 1
tlpdbopt_generate_updmap 0
tlpdbopt_install_docfiles 1
tlpdbopt_install_srcfiles 1
tlpdbopt_post_code 1
tlpdbopt_sys_bin /boot/system/bin
tlpdbopt_sys_info /boot/system/documentation/info
tlpdbopt_sys_man /boot/system/documentation/man
tlpdbopt_w32_multi_user 1

View File

@@ -1,36 +0,0 @@
diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm
index afcd157..b8bcc4a 100644
--- a/Master/tlpkg/TeXLive/TLUtils.pm
+++ b/Master/tlpkg/TeXLive/TLUtils.pm
@@ -282,7 +282,7 @@ sub platform_name {
$CPU = $guessed_platform =~ /hf$/ ? "armhf" : "armel";
}
- my @OSs = qw(aix cygwin darwin freebsd hpux irix
+ my @OSs = qw(aix cygwin darwin freebsd haiku hpux irix
kfreebsd linux netbsd openbsd solaris);
for my $os (@OSs) {
# Match word boundary at the beginning of the os name so that
@@ -336,6 +336,7 @@ sub platform_desc {
'hppa-hpux' => 'HP-UX',
'i386-cygwin' => 'Intel x86 with Cygwin',
'i386-darwin' => 'Intel x86 with MacOSX/Darwin',
+ 'i386-haiku' => 'Intel x86 with Haiku',
'i386-freebsd' => 'Intel x86 with FreeBSD',
'i386-kfreebsd' => 'Intel x86 with GNU/kFreeBSD',
'i386-openbsd' => 'Intel x86 with OpenBSD',
diff --git a/Master/tlpkg/texlive.tlpdb b/Master/tlpkg/texlive.tlpdb
index f917900..42f1100 100644
--- a/Master/tlpkg/texlive.tlpdb
+++ b/Master/tlpkg/texlive.tlpdb
@@ -2941,7 +2941,7 @@ depend opt_path:0
depend opt_adjustrepo:1
depend opt_write18_restricted:1
depend opt_frozen:0
-depend setting_available_architectures:x86_64-linux x86_64-darwin amd64-kfreebsd x86_64-solaris x86_64-cygwin mipsel-linux i386-kfreebsd i386-netbsd win32 i386-solaris universal-darwin i386-freebsd amd64-freebsd i386-linux amd64-netbsd armel-linux alpha-linux sparc-solaris powerpc-linux i386-cygwin armhf-linux
+depend setting_available_architectures:x86_64-linux x86_64-darwin amd64-kfreebsd x86_64-solaris x86_64-cygwin mipsel-linux i386-kfreebsd i386-netbsd win32 i386-solaris universal-darwin i386-freebsd i386-haiku amd64-freebsd i386-linux amd64-netbsd armel-linux alpha-linux sparc-solaris powerpc-linux i386-cygwin armhf-linux
depend opt_autobackup:1
depend opt_backupdir:tlpkg/backups
depend opt_create_formats:1
--
2.2.2

View File

@@ -1,309 +0,0 @@
From 9e27fba3c8f813d5e5fd38c08ad4c6ea0e17a04d Mon Sep 17 00:00:00 2001
From: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Date: Sun, 24 May 2015 20:20:28 +1200
Subject: Haiku support
diff --git a/libs/lua52/lua-5.2.3/src/luaconf.h b/libs/lua52/lua-5.2.3/src/luaconf.h
index 18be9a9..cf06f9a 100644
--- a/libs/lua52/lua-5.2.3/src/luaconf.h
+++ b/libs/lua52/lua-5.2.3/src/luaconf.h
@@ -69,7 +69,9 @@
#define LUA_USE_MKSTEMP
#define LUA_USE_ISATTY
#define LUA_USE_POPEN
+#ifndef __HAIKU__
#define LUA_USE_ULONGJMP
+#endif
#define LUA_USE_GMTIME_R
#endif
diff --git a/m4/kpse-socket-libs.m4 b/m4/kpse-socket-libs.m4
index c768b95..c291884 100644
--- a/m4/kpse-socket-libs.m4
+++ b/m4/kpse-socket-libs.m4
@@ -20,7 +20,7 @@ AC_DEFUN([KPSE_CHECK_SOCKET_LIBS],
[AC_REQUIRE([KPSE_CHECK_WIN32])
AS_IF([test "x$kpse_cv_have_win32" = xno],
[kpse_save_LIBS=$LIBS
- AC_SEARCH_LIBS([connect], [socket nsl])
+ AC_SEARCH_LIBS([connect], [socket nsl network])
LIBS=$kpse_save_LIBS],
[AC_CHECK_LIB([wsock32], [main],
[ac_cv_search_connect=-lwsock32],
diff --git a/texk/dviljk/config.h b/texk/dviljk/config.h
index a92d247..3d9bd99 100644
--- a/texk/dviljk/config.h
+++ b/texk/dviljk/config.h
@@ -10,6 +10,8 @@
#define unix
#elif defined (__NetBSD__)
#define unix
+#elif defined (__HAIKU__)
+#define unix
#endif
#endif
diff --git a/texk/dvipdfm-x/configure.ac b/texk/dvipdfm-x/configure.ac
index 60d9987..4a8b00e 100644
--- a/texk/dvipdfm-x/configure.ac
+++ b/texk/dvipdfm-x/configure.ac
@@ -49,6 +49,7 @@ AC_CHECK_SIZEOF([int])
AC_CHECK_SIZEOF([long])
AC_SEARCH_LIBS([pow], [m])
+AC_SEARCH_LIBS([getpass], [bsd])
KPSE_KPATHSEA_FLAGS
KPSE_ZLIB_FLAGS
diff --git a/texk/dvipdfm-x/pdfencrypt.c b/texk/dvipdfm-x/pdfencrypt.c
index 480823c..c0a206f 100644
--- a/texk/dvipdfm-x/pdfencrypt.c
+++ b/texk/dvipdfm-x/pdfencrypt.c
@@ -31,6 +31,9 @@
#include <conio.h>
#define getch _getch
#else /* !WIN32 */
+#ifdef __HAIKU__
+#define _BSD_SOURCE
+#endif
#include <unistd.h>
#endif /* WIN32 */
diff --git a/texk/web2c/configure.ac b/texk/web2c/configure.ac
index 87e2ad5..61e79ef 100644
--- a/texk/web2c/configure.ac
+++ b/texk/web2c/configure.ac
@@ -22,7 +22,7 @@ dnl
m4_include([../../version.ac])[] dnl define tex_live_version
AC_INIT([Web2C], tex_live_version(), [tex-k@tug.org])
AC_PREREQ([2.65])
-dnl
+dnl
dnl We don't use (for example) tex/tex.web because people who only want
dnl to build part of the distribution may not have any given program.
dnl Even cpascal.h isn't guaranteed, but then nothing is, really ...
@@ -107,9 +107,9 @@ KPSE_LUA52_DEFINES
KPSE_LUAJIT_DEFINES
LIBS=$kpse_save_LIBS
if test "x$kpse_cv_have_win32" = xno; then
- AC_SEARCH_LIBS([gethostbyname], [nsl])
- AC_SEARCH_LIBS([hstrerror], [resolv])
- AC_SEARCH_LIBS([inet_aton], [resolv])
+ AC_SEARCH_LIBS([gethostbyname], [nsl network])
+ AC_SEARCH_LIBS([hstrerror], [resolv bind])
+ AC_SEARCH_LIBS([inet_aton], [resolv bind])
LIBS=$kpse_save_LIBS
AC_SEARCH_LIBS([nanosleep], [rt])
LIBS=$kpse_save_LIBS
--
2.19.1
From a44382c99b305b1b7b51ef309ec3229ad4ee01ab Mon Sep 17 00:00:00 2001
From: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Date: Tue, 2 Jun 2015 09:30:45 +1200
Subject: Don't use the /nonesuch idiom on Haiku.
diff --git a/texk/kpathsea/cnf-to-paths.awk b/texk/kpathsea/cnf-to-paths.awk
index 939f54d..431062f 100644
--- a/texk/kpathsea/cnf-to-paths.awk
+++ b/texk/kpathsea/cnf-to-paths.awk
@@ -43,12 +43,9 @@
# Replace all semicolons with colons in the SELFAUTO paths we're keeping.
# (The path-splitting code should be changed to understand both.)
gsub(/;/, ":", val);
- } else if (val ~ /^\//) {
- # If the value starts with /, presume we're compiling with changes
- # made for a distro, and keep it. Likewise switch to :.
- gsub(/;/, ":", val);
} else {
- val = "/nonesuch";
+ # Just hard-code it on Haiku; it never does the right thing otherwise
+ gsub(/;/, ":", val);
}
print "#ifndef DEFAULT_" ident;
--
2.19.1
From 0285476adf12cc898269a7571cd6c9e9745e5d55 Mon Sep 17 00:00:00 2001
From: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Date: Tue, 2 Jun 2015 10:16:26 +1200
Subject: Don't allow SELFAUTO* magic on Haiku.
diff --git a/texk/kpathsea/progname.c b/texk/kpathsea/progname.c
index c4fe781..0d032b4 100644
--- a/texk/kpathsea/progname.c
+++ b/texk/kpathsea/progname.c
@@ -667,6 +667,15 @@ kpathsea_set_program_name (kpathsea kpse, const_string argv0,
#endif
/* SELFAUTODIR is actually the parent of the invocation directory,
and SELFAUTOPARENT the grandparent. This is how teTeX did it. */
+#ifdef __HAIKU__
+ /* The SELFAUTO* variables don't work under a packaged TeX Live installation
+ on Haiku; normally SELFAUTOLOC would be a path like texlive/texmf-dist/bin/platform.
+ Have no idea how this is going to play out... */
+ kpathsea_xputenv (kpse, "SELFAUTOLOC", "/boot/system/bin");
+ kpathsea_xputenv (kpse, "SELFAUTODIR", "/boot/system/data/texlive/texmf-dist");
+ kpathsea_xputenv (kpse, "SELFAUTOPARENT", "/boot/system/data/texlive");
+ kpathsea_xputenv (kpse, "SELFAUTOGRANDPARENT", "/boot/system/data");
+#else
kpathsea_xputenv (kpse, "SELFAUTOLOC", fix_selfdir (sdir));
sdir_parent = xdirname (sdir);
kpathsea_xputenv (kpse, "SELFAUTODIR", fix_selfdir (sdir_parent));
@@ -674,6 +683,7 @@ kpathsea_set_program_name (kpathsea kpse, const_string argv0,
kpathsea_xputenv (kpse, "SELFAUTOPARENT", fix_selfdir (sdir_grandparent));
sdir_greatgrandparent = xdirname (sdir_grandparent);
kpathsea_xputenv (kpse, "SELFAUTOGRANDPARENT", fix_selfdir (sdir_greatgrandparent));
+#endif
#if defined(WIN32) || defined(__CYGWIN__)
mk_suffixlist(kpse);
--
2.19.1
From 685c41b414d9c72dfa96c19d688360cf638392dd Mon Sep 17 00:00:00 2001
From: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Date: Wed, 3 Jun 2015 15:07:56 +1200
Subject: Try and fix up more weirdness with install-tl
diff --git a/texk/texlive/tl_scripts/texlinks.sh b/texk/texlive/tl_scripts/texlinks.sh
index 028b50b..0e848c8 100755
--- a/texk/texlive/tl_scripts/texlinks.sh
+++ b/texk/texlive/tl_scripts/texlinks.sh
@@ -162,26 +162,36 @@ install_link()
# context includes wrapper scripts that create/run these.
verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
;;
+ /boot/system/bin/*)
+ # Trying to symlink to ourself
+ verbose_echo "skipped symlinking to self: $src -> $dest (haiku case)"
+ ;;
*)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
-
- if test -f "$src"; then
- if $silent; then :; else
- # i.e., the rm failed.
- errmsg "install_link $src -> $dest failed: file already exists."
- fi
- else
- if echo "$src" | grep '/pdfcsplain$' >/dev/null; then
- # at p.olsak insistence: we have three pdfcsplain entries in
- # fmtutil.cnf with different engines, but the executable link
- # must point to pdftex.
- verbose_echo "forcing pdfcsplain destination to be pdftex"
- dest=pdftex
+ case $dest in
+ /boot/system/bin/*)
+ verbose_echo "skipped symlink to bin dir: $src -> $dest (haiku case)"
+ ;;
+ *)
+ test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
+ rm -f "$src"
+
+ if test -f "$src"; then
+ if $silent; then :; else
+ # i.e., the rm failed.
+ errmsg "install_link $src -> $dest failed: file already exists."
+ fi
+ else
+ if echo "$src" | grep '/pdfcsplain$' >/dev/null; then
+ # at p.olsak insistence: we have three pdfcsplain entries in
+ # fmtutil.cnf with different engines, but the executable link
+ # must point to pdftex.
+ verbose_echo "forcing pdfcsplain destination to be pdftex"
+ dest=pdftex
+ fi
+ verbose_do ln -s "$dest" "$src"
fi
- verbose_do ln -s "$dest" "$src"
- fi
- ;;
+ ;;
+ esac
esac
}
--
2.19.1
From 31f1525b912d9d83d6524e5fa2409dd4d3be9cdc Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Thu, 7 Feb 2019 17:32:53 +0300
Subject: Define Haiku as POSIX OS
diff --git a/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.c b/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.c
index f856a7a..50a35d4 100644
--- a/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.c
+++ b/libs/luajit/LuaJIT-2.0.3/src/lj_alloc.c
@@ -188,7 +188,7 @@ static LJ_AINLINE void *CALL_MMAP(size_t size)
return ptr;
}
-#elif LJ_TARGET_OSX || LJ_TARGET_PS4 || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__sun__)
+#elif LJ_TARGET_OSX || LJ_TARGET_PS4 || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__sun__) || defined(__HAIKU__)
/* OSX and FreeBSD mmap() use a naive first-fit linear search.
** That's perfect for us. Except that -pagezero_size must be set for OSX,
diff --git a/libs/luajit/LuaJIT-2.0.3/src/lj_arch.h b/libs/luajit/LuaJIT-2.0.3/src/lj_arch.h
index 0196eed..a9072e1 100644
--- a/libs/luajit/LuaJIT-2.0.3/src/lj_arch.h
+++ b/libs/luajit/LuaJIT-2.0.3/src/lj_arch.h
@@ -69,6 +69,8 @@
#elif (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
defined(__NetBSD__) || defined(__OpenBSD__)) && !defined(__ORBIS__)
#define LUAJIT_OS LUAJIT_OS_BSD
+#elif defined(__HAIKU__)
+#define LUAJIT_OS LUAJIT_OS_POSIX
#elif (defined(__sun__) && defined(__svr4__)) || defined(__CYGWIN__)
#define LUAJIT_OS LUAJIT_OS_POSIX
#else
--
2.19.1
From ba7e845739a7725f658996dcefc1f234159f8f00 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Thu, 7 Feb 2019 17:49:20 +0300
Subject: Fix data-narrowing bug
diff --git a/libs/teckit/TECkit-2.5.3/source/MakeNormData.pl b/libs/teckit/TECkit-2.5.3/source/MakeNormData.pl
index bc1a856..0a69beb 100644
--- a/libs/teckit/TECkit-2.5.3/source/MakeNormData.pl
+++ b/libs/teckit/TECkit-2.5.3/source/MakeNormData.pl
@@ -234,7 +234,7 @@ foreach (@rights) {
}
print "};\n\n";
-print "const UInt16 cComposites[" . (1 + scalar keys %lIndex) . "][" . (1 + scalar keys %rIndex) . "] = {\n";
+print "const UInt32 cComposites[" . (1 + scalar keys %lIndex) . "][" . (1 + scalar keys %rIndex) . "] = {\n";
for $l (0 .. scalar keys %lIndex) {
print "\t{";
print join(',', map { sprintf("0x%04X", $cmp{$l}{$_}) } (0 .. scalar keys %rIndex));
diff --git a/libs/teckit/TECkit-2.5.3/source/NormalizationData.c b/libs/teckit/TECkit-2.5.3/source/NormalizationData.c
index e39685b..1d0f760 100644
--- a/libs/teckit/TECkit-2.5.3/source/NormalizationData.c
+++ b/libs/teckit/TECkit-2.5.3/source/NormalizationData.c
@@ -2198,7 +2198,7 @@ const UInt8 cRCharIndex[][256] = {
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
};
-const UInt16 cComposites[373][59] = {
+const UInt32 cComposites[373][59] = {
{0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000},
{0x0000,0x1109A,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000},
{0x0000,0x1109C,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000},
--
2.19.1

View File

@@ -0,0 +1,224 @@
From 8a78b705e7ce64fac04334f7d1aaaf14760d970d Mon Sep 17 00:00:00 2001
From: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Date: Sun, 18 Apr 2021 12:16:13 +0200
Subject: Haiku support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
changes for version 2021 by jmairboeck
Signed-off-by: Joachim Mairböck <j.mairboeck@gmail.com>
diff --git a/m4/kpse-socket-libs.m4 b/m4/kpse-socket-libs.m4
index c768b95..c291884 100644
--- a/m4/kpse-socket-libs.m4
+++ b/m4/kpse-socket-libs.m4
@@ -20,7 +20,7 @@ AC_DEFUN([KPSE_CHECK_SOCKET_LIBS],
[AC_REQUIRE([KPSE_CHECK_WIN32])
AS_IF([test "x$kpse_cv_have_win32" = xno],
[kpse_save_LIBS=$LIBS
- AC_SEARCH_LIBS([connect], [socket nsl])
+ AC_SEARCH_LIBS([connect], [socket nsl network])
LIBS=$kpse_save_LIBS],
[AC_CHECK_LIB([wsock32], [main],
[ac_cv_search_connect=-lwsock32],
diff --git a/texk/dviljk/config.h b/texk/dviljk/config.h
index a92d247..3d9bd99 100644
--- a/texk/dviljk/config.h
+++ b/texk/dviljk/config.h
@@ -10,6 +10,8 @@
#define unix
#elif defined (__NetBSD__)
#define unix
+#elif defined (__HAIKU__)
+#define unix
#endif
#endif
diff --git a/texk/dvipdfm-x/configure.ac b/texk/dvipdfm-x/configure.ac
index 40afd7c..054611e 100644
--- a/texk/dvipdfm-x/configure.ac
+++ b/texk/dvipdfm-x/configure.ac
@@ -50,6 +50,7 @@ AC_CHECK_SIZEOF([int])
AC_CHECK_SIZEOF([long])
AC_SEARCH_LIBS([pow], [m])
+AC_SEARCH_LIBS([getpass], [bsd])
KPSE_KPATHSEA_FLAGS
KPSE_ZLIB_FLAGS
diff --git a/texk/dvipdfm-x/dvipdfmx.c b/texk/dvipdfm-x/dvipdfmx.c
index ec4499c..afe3f31 100644
--- a/texk/dvipdfm-x/dvipdfmx.c
+++ b/texk/dvipdfm-x/dvipdfmx.c
@@ -365,6 +365,9 @@ getpass (const char *prompt)
return pwd_buf;
}
#else /* !WIN32 */
+#ifdef __HAIKU__
+#define _BSD_SOURCE
+#endif
#include <unistd.h>
#endif /* WIN32 */
diff --git a/texk/web2c/configure.ac b/texk/web2c/configure.ac
index e90ca38..ca7f8f5 100644
--- a/texk/web2c/configure.ac
+++ b/texk/web2c/configure.ac
@@ -107,9 +107,9 @@ KPSE_LUA52_DEFINES
KPSE_LUAJIT_DEFINES
LIBS=$kpse_save_LIBS
if test "x$kpse_cv_have_win32" = xno; then
- AC_SEARCH_LIBS([gethostbyname], [nsl])
- AC_SEARCH_LIBS([hstrerror], [resolv])
- AC_SEARCH_LIBS([inet_aton], [resolv])
+ AC_SEARCH_LIBS([gethostbyname], [nsl network])
+ AC_SEARCH_LIBS([hstrerror], [resolv bind])
+ AC_SEARCH_LIBS([inet_aton], [resolv bind])
LIBS=$kpse_save_LIBS
AC_SEARCH_LIBS([nanosleep], [rt])
LIBS=$kpse_save_LIBS
--
2.30.2
From 4d9bca6d325d71456f1903cc80b3877abe41fcd8 Mon Sep 17 00:00:00 2001
From: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Date: Tue, 2 Jun 2015 09:30:45 +1200
Subject: Don't use the /nonesuch idiom on Haiku.
diff --git a/texk/kpathsea/cnf-to-paths.awk b/texk/kpathsea/cnf-to-paths.awk
index 894f352..a98c5cb 100644
--- a/texk/kpathsea/cnf-to-paths.awk
+++ b/texk/kpathsea/cnf-to-paths.awk
@@ -46,12 +46,9 @@
# Replace all semicolons with colons in the SELFAUTO paths we're keeping.
# (The path-splitting code should be changed to understand both.)
gsub(/;/, ":", val);
- } else if (val ~ /^\//) {
- # If the value starts with /, presume we're compiling with changes
- # made for a distro, and keep it. Likewise switch to :.
- gsub(/;/, ":", val);
} else {
- val = "/nonesuch";
+ # Just hard-code it on Haiku; it never does the right thing otherwise
+ gsub(/;/, ":", val);
}
print "#ifndef DEFAULT_" ident;
--
2.30.2
From 77986a30c780f2073650d98c95025963220fda96 Mon Sep 17 00:00:00 2001
From: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Date: Tue, 2 Jun 2015 10:16:26 +1200
Subject: Don't allow SELFAUTO* magic on Haiku.
diff --git a/texk/kpathsea/progname.c b/texk/kpathsea/progname.c
index a984eab..4792dea 100644
--- a/texk/kpathsea/progname.c
+++ b/texk/kpathsea/progname.c
@@ -661,6 +661,15 @@ kpathsea_set_program_name (kpathsea kpse, const_string argv0,
#endif
/* SELFAUTODIR is actually the parent of the invocation directory,
and SELFAUTOPARENT the grandparent. This is how teTeX did it. */
+#ifdef __HAIKU__
+ /* The SELFAUTO* variables don't work under a packaged TeX Live installation
+ on Haiku; normally SELFAUTOLOC would be a path like texlive/texmf-dist/bin/platform.
+ Have no idea how this is going to play out... */
+ kpathsea_xputenv (kpse, "SELFAUTOLOC", "/boot/system/bin");
+ kpathsea_xputenv (kpse, "SELFAUTODIR", "/boot/system/data/texlive/texmf-dist");
+ kpathsea_xputenv (kpse, "SELFAUTOPARENT", "/boot/system/data/texlive");
+ kpathsea_xputenv (kpse, "SELFAUTOGRANDPARENT", "/boot/system/data");
+#else
kpathsea_xputenv (kpse, "SELFAUTOLOC", fix_selfdir (sdir));
sdir_parent = xdirname (sdir);
kpathsea_xputenv (kpse, "SELFAUTODIR", fix_selfdir (sdir_parent));
@@ -668,6 +677,7 @@ kpathsea_set_program_name (kpathsea kpse, const_string argv0,
kpathsea_xputenv (kpse, "SELFAUTOPARENT", fix_selfdir (sdir_grandparent));
sdir_greatgrandparent = xdirname (sdir_grandparent);
kpathsea_xputenv (kpse, "SELFAUTOGRANDPARENT", fix_selfdir (sdir_greatgrandparent));
+#endif
#if defined(WIN32) || defined(__CYGWIN__)
mk_suffixlist(kpse);
--
2.30.2
From 9c6e3297f09142844ed305e4e79265aea77f9b00 Mon Sep 17 00:00:00 2001
From: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Date: Sat, 12 Jun 2021 14:05:19 +0200
Subject: Try and fix up more weirdness with install-tl
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
changes for version 2021 by jmairboeck
Signed-off-by: Joachim Mairböck <j.mairboeck@gmail.com>
diff --git a/texk/texlive/linked_scripts/texlive-extra/texlinks.sh b/texk/texlive/linked_scripts/texlive-extra/texlinks.sh
index 1f0e3c1..e9ec416 100755
--- a/texk/texlive/linked_scripts/texlive-extra/texlinks.sh
+++ b/texk/texlive/linked_scripts/texlive-extra/texlinks.sh
@@ -156,25 +156,36 @@ install_link()
# context includes wrapper scripts that create/run these.
verbose_echo "skipped ConTeXtish symlink $src -> $dest (special case)"
;;
+ /boot/system/bin/*)
+ # Trying to symlink to ourself
+ verbose_echo "skipped symlinking to self: $src -> $dest (haiku case)"
+ ;;
*)
- test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
- rm -f "$src"
+ case $dest in
+ /boot/system/bin/*)
+ verbose_echo "skipped symlink to bin dir: $src -> $dest (haiku case)"
+ ;;
+ *)
+ test "x$src" != "x`(ls -ld $src | awk '{print $NF}') 2>/dev/null`" &&
+ rm -f "$src"
- if test -f "$src"; then
- if $silent; then :; else
- # i.e., the rm failed.
- errmsg "install_link $src -> $dest failed: file already exists."
- fi
- else
- if echo "$src" | grep '/pdfcsplain$' >/dev/null; then
- # at p.olsak insistence: we have three pdfcsplain entries in
- # fmtutil.cnf with different engines, but the executable link
- # must point to pdftex.
- verbose_echo "forcing pdfcsplain destination to be pdftex"
- dest=pdftex$exeext
+ if test -f "$src"; then
+ if $silent; then :; else
+ # i.e., the rm failed.
+ errmsg "install_link $src -> $dest failed: file already exists."
+ fi
+ else
+ if echo "$src" | grep '/pdfcsplain$' >/dev/null; then
+ # at p.olsak insistence: we have three pdfcsplain entries in
+ # fmtutil.cnf with different engines, but the executable link
+ # must point to pdftex.
+ verbose_echo "forcing pdfcsplain destination to be pdftex"
+ dest=pdftex$exeext
+ fi
+ verbose_do ln -s "$dest" "$src"
fi
- verbose_do ln -s "$dest" "$src"
- fi
+ ;;
+ esac
;;
esac
}
--
2.30.2

View File

@@ -6,27 +6,46 @@ are free software, including support for many languages around the world."
HOMEPAGE="http://tug.org/texlive/"
COPYRIGHT="1996 by collaboration between the TeX user groups."
LICENSE="GNU GPL v2"
REVISION="3"
SOURCE_URI="ftp://tug.org/historic/systems/texlive/2014/texlive-20140525-source.tar.xz"
SOURCE_URI_2="ftp://tug.org/historic/systems/texlive/2014/texlive-20140525-texmf.tar.xz"
CHECKSUM_SHA256="08bb4eb02923ac65ce1183612c6b64da185904f26a1660f5ca4f902d055795be"
CHECKSUM_SHA256_2="e0227251c5aa23f8b88973c298cc80b03bd238c645f7f82a6ce888a06b295963"
SOURCE_DIR="texlive-20140525-source"
SOURCE_DIR_2="texlive-20140525-texmf"
PATCHES="texlive-2014.patchset"
ADDITIONAL_FILES="tlutils.pm.patch"
REVISION="1"
fullVersion=20210325
SOURCE_URI="ftp://tug.org/historic/systems/texlive/$portVersion/texlive-$fullVersion-source.tar.xz"
SOURCE_URI_2="ftp://tug.org/historic/systems/texlive/$portVersion/texlive-$fullVersion-texmf.tar.xz"
SOURCE_URI_3="ftp://tug.org/historic/systems/texlive/$portVersion/install-tl-unx.tar.gz"
SOURCE_URI_4="ftp://tug.org/historic/systems/texlive/$portVersion/texlive-$fullVersion-extra.tar.xz"
CHECKSUM_SHA256="7aefd96608d72061970f2d73f275be5648ea8ae815af073016d3106acc0d584b"
CHECKSUM_SHA256_2="ff12d436c23e99fb30aad55924266104356847eb0238c193e839c150d9670f1c"
CHECKSUM_SHA256_3="74eac0855e1e40c8db4f28b24ef354bd7263c1f76031bdc02b52156b572b7a1d"
CHECKSUM_SHA256_4="46a3f385d0b30893eec6b39352135d2929ee19a0a81df2441bfcaa9f6c78339c"
SOURCE_DIR="texlive-$fullVersion-source"
SOURCE_DIR_2="texlive-$fullVersion-texmf"
SOURCE_DIR_3="install-tl-20210324"
SOURCE_DIR_4="texlive-$fullVersion-extra"
PATCHES="texlive-$portVersion.patchset"
ADDITIONAL_FILES="texlive.profile"
ARCHITECTURES="x86 !x86_gcc2 x86_64"
SECONDARY_ARCHITECTURES="x86"
ARCHITECTURES="!x86_gcc2 ?x86_64"
SECONDARY_ARCHITECTURES="?x86"
libkpathseaVersion="6.3.3"
libptexencVersion="1.3.9"
libsynctexVersion="2.0.0"
libtexluaVersion="5.3.6"
libtexluajitVersion="2.1.0"
libkpathseaVersionCompat="$libkpathseaVersion compat >= ${libkpathseaVersion%%.*}"
libptexencVersionCompat="$libptexencVersion compat >= ${libptexencVersion%%.*}"
libsynctexVersionCompat="$libsynctexVersion compat >= ${libsynctexVersion%%.*}"
libtexluaVersionCompat="$libtexluaVersion compat >= ${libtexluaVersion%%.*}"
libtexluajitVersionCompat="$libtexluajitVersion compat >= ${libtexluajitVersion%%.*}"
PROVIDES="
texlive$secondaryArchSuffix = $portVersion compat >= 2014
texlive$secondaryArchSuffix = $portVersion compat >= $portVersion
cmd:a2ping
cmd:a5toa4
cmd:adhocfilelist
cmd:afm2afm
cmd:afm2pl
cmd:afm2tfm
cmd:albatross
cmd:aleph
cmd:allcm
cmd:allec
@@ -36,16 +55,24 @@ PROVIDES="
cmd:arlatex
cmd:authorindex
cmd:autoinst
cmd:autosp
cmd:axohelp
cmd:bbl2bib
cmd:bbox
cmd:bg5+latex
cmd:bg5+pdflatex
cmd:bg5conv
cmd:bg5latex
cmd:bg5pdflatex
cmd:bib2gls
cmd:bibdoiadd
cmd:bibexport
cmd:bibmradd
cmd:bibtex
cmd:bibtex8
cmd:bibtexu
cmd:biburl2doi
cmd:bibzbladd
cmd:bundledoc
cmd:cachepic
cmd:cef5conv
@@ -59,23 +86,37 @@ PROVIDES="
cmd:cefspdflatex
cmd:cfftot1
cmd:checkcites
cmd:checklistings
cmd:chkdvifont
cmd:chklref
cmd:chktex
cmd:chkweb
cmd:cjk_gs_integrate
cmd:cllualatex
cmd:cluttex
cmd:clxelatex
cmd:context
cmd:contextjit
cmd:convbkmk
cmd:convertgls2bib
cmd:cslatex
cmd:csplain
cmd:ctan_o_mat
cmd:ctanbib
cmd:ctangle
cmd:ctanify
cmd:ctanupload
cmd:ctie
cmd:ctwill
cmd:ctwill_refsort
cmd:ctwill_twinx
cmd:cweave
cmd:de_macro
cmd:depythontex
cmd:detex
cmd:devnag
cmd:deweb
cmd:diadia
cmd:disdvi
cmd:dosepsbin
cmd:dt2dv
@@ -90,12 +131,14 @@ PROVIDES="
cmd:dvidvi
cmd:dvigif
cmd:dvihp
cmd:dviinfox
cmd:dvilj
cmd:dvilj2p
cmd:dvilj4
cmd:dvilj4l
cmd:dvilj6
cmd:dvilualatex
cmd:dvilualatex_dev
cmd:dviluatex
cmd:dvipdfm
cmd:dvipdfmx
@@ -105,6 +148,7 @@ PROVIDES="
cmd:dvips
cmd:dvired
cmd:dviselect
cmd:dvispc
cmd:dvisvgm
cmd:dvitodvi
cmd:dvitomp
@@ -127,14 +171,18 @@ PROVIDES="
cmd:fig4latex
cmd:findhyph
cmd:fmtutil_sys
cmd:fmtutil_user
cmd:fmtutil
cmd:fontinst
cmd:fragmaster
cmd:gbklatex
cmd:gbkpdflatex
cmd:getmapdl
cmd:gftodvi
cmd:gftopk
cmd:gftype
cmd:git_latexdiff
cmd:gregorio
cmd:gsftopk
cmd:hbf2gf
cmd:ht
@@ -145,15 +193,19 @@ PROVIDES="
cmd:httexi
cmd:htxelatex
cmd:htxetex
cmd:hyperxmp_add_bytecount
cmd:includeres
cmd:inimf
cmd:initex
cmd:installfont_tl
cmd:jadetex
cmd:jamo_normalize
cmd:jfmutil
cmd:kanji_config_updmap_sys
cmd:kanji_config_updmap_user
cmd:kanji_config_updmap
cmd:kanji_fontmap_creator
cmd:ketcindy
cmd:komkindex
cmd:kpseaccess
cmd:kpsepath
@@ -163,11 +215,15 @@ PROVIDES="
cmd:kpsewhere
cmd:kpsewhich
cmd:kpsexpand
cmd:l3build
cmd:lacheck
cmd:lamed
cmd:latex_git_log
cmd:latex
cmd:latex_dev
cmd:latex_git_log
cmd:latex_papersize
cmd:latex2man
cmd:latex2nemeth
cmd:latexdef
cmd:latexdiff_vc
cmd:latexdiff
cmd:latexfileversion
@@ -180,18 +236,26 @@ PROVIDES="
cmd:lily_rebuild_pdfs
cmd:listbib
cmd:listings_ext.sh
cmd:llmk
cmd:lollipop
cmd:ltx2crossrefxml
cmd:ltxfileinfo
cmd:ltximg
cmd:lua2dox_filter
cmd:luacsplain
cmd:luahbtex
cmd:luajithbtex
cmd:luajittex
cmd:lualatex
cmd:lualollipop
cmd:lualatex_dev
cmd:luaotfload_tool
cmd:luatex
cmd:luatools
cmd:lwarpmk
cmd:m_tx
cmd:mag
cmd:make4ht
cmd:makedtx
cmd:makeglossaries_lite
cmd:makeglossaries
cmd:makeindex
cmd:makejvf
@@ -202,13 +266,16 @@ PROVIDES="
cmd:mf_nowin
cmd:mf
cmd:mf2pt1
cmd:mflua_nowin
cmd:mflua
cmd:mfluajit_nowin
cmd:mfluajit
cmd:mfplain
cmd:mft
cmd:mk4ht
cmd:mkgrkindex
cmd:mkindex
cmd:mkjobtexmf
cmd:mkluatexfontdb
cmd:mkocp
cmd:mkofm
cmd:mkpic
@@ -224,6 +291,7 @@ PROVIDES="
cmd:mmpfb
cmd:mpost
cmd:mptopdf
cmd:msxlint
cmd:mtxrun
cmd:mtxrunjit
cmd:multibibliography
@@ -234,6 +302,7 @@ PROVIDES="
cmd:ofm2opl
cmd:omfonts
cmd:opl2ofm
cmd:optex
cmd:ot2kpx
cmd:otangle
cmd:otfinfo
@@ -242,32 +311,28 @@ PROVIDES="
cmd:outocp
cmd:ovf2ovp
cmd:ovp2ovf
cmd:pamphletangler
cmd:patgen
cmd:pbibtex
cmd:pdf180
cmd:pdf270
cmd:pdf90
cmd:pdfannotextractor
cmd:pdfatfi
cmd:pdfbook
cmd:pdfbook2
cmd:pdfcrop
cmd:pdfcslatex
cmd:pdfcsplain
cmd:pdfetex
cmd:pdfflip
cmd:pdfjadetex
cmd:pdfjam_pocketmod
cmd:pdfjam_slides3up
cmd:pdfjam_slides6up
cmd:pdfjam
cmd:pdfjoin
cmd:pdflatex
cmd:pdflatex_dev
cmd:pdflatexpicscale
cmd:pdfmex
cmd:pdfnup
cmd:pdfpun
cmd:pdftex
cmd:pdftex_quiet
cmd:pdftosrc
cmd:pdfxmltex
cmd:pdfxup
cmd:pdvitomp
cmd:pdvitype
cmd:pedigree
cmd:perltex
@@ -279,10 +344,12 @@ PROVIDES="
cmd:pktogf
cmd:pktype
cmd:platex
cmd:platex_dev
cmd:pltotf
cmd:pmx2pdf
cmd:pmpost
cmd:pmxab
cmd:pmxchords
cmd:pn2pdf
cmd:pooltype
cmd:ppltotf
cmd:prepmx
@@ -302,7 +369,11 @@ PROVIDES="
cmd:ptex2pdf
cmd:ptftopl
cmd:purifyeps
cmd:pygmentex
cmd:pythontex
cmd:r_mpost
cmd:r_pmpost
cmd:r_upmpost
cmd:repstopdf
cmd:rpdfcrop
cmd:rubibtex
@@ -314,25 +385,22 @@ PROVIDES="
cmd:sjisconv
cmd:sjislatex
cmd:sjispdflatex
cmd:spix
cmd:splitindex
cmd:srcredact
cmd:sty2dtx
cmd:svn_multi
cmd:synctex
cmd:t1ascii
cmd:t1asm
cmd:t1binary
cmd:t1disasm
cmd:t1dotlessj
cmd:t1lint
cmd:t1mac
cmd:t1rawafm
cmd:t1reencode
cmd:t1testpage
cmd:t1unmac
cmd:t4ht
cmd:tangle
cmd:teckit_compile
cmd:tex
cmd:tex2aspc
cmd:tex4ebook
cmd:tex4ht
cmd:texconfig_dialog
cmd:texconfig_sys
@@ -354,11 +422,18 @@ PROVIDES="
cmd:texluajit
cmd:texluajitc
cmd:texmfstart
cmd:texosquery_jre5
cmd:texosquery_jre8
cmd:texosquery
cmd:texplate
cmd:texsis
cmd:tftopl
cmd:thumbpdf
cmd:tie
cmd:tikztosvg
cmd:tlcockpit
cmd:tlmgr
cmd:tlshell
cmd:tpic2pdftex
cmd:ttf2afm
cmd:ttf2kotexfont
@@ -370,9 +445,14 @@ PROVIDES="
cmd:ulqda
cmd:upbibtex
cmd:updmap_sys
cmd:updmap_user
cmd:updmap
cmd:updvitomp
cmd:updvitype
cmd:uplatex
cmd:uplatex_dev
cmd:upmendex
cmd:upmpost
cmd:uppltotf
cmd:uptex
cmd:uptftopl
@@ -384,77 +464,112 @@ PROVIDES="
cmd:vpl2ovp
cmd:vpl2vpl
cmd:vptovf
cmd:webquiz
cmd:weave
cmd:wofm2opl
cmd:wopl2ofm
cmd:wordcount
cmd:wovf2ovp
cmd:wovp2ovf
cmd:xdvipdfmx
cmd:xelatex
cmd:xelollipop
cmd:xelatex_dev
cmd:xetex
cmd:xhlatex
cmd:xindex
cmd:xml2pmx
cmd:xmltex
lib:libkpathsea$secondaryArchSuffix
lib:libptexenc$secondaryArchSuffix
cmd:yplan
lib:libkpathsea$secondaryArchSuffix = $libkpathseaVersionCompat
lib:libptexenc$secondaryArchSuffix = $libptexencVersionCompat
lib:libsynctex$secondaryArchSuffix = $libsynctexVersionCompat
lib:libtexlua53$secondaryArchSuffix = $libtexluaVersionCompat
lib:libtexluajit$secondaryArchSuffix = $libtexluajitVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libpng$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libTECkit$secondaryArchSuffix
lib:libcairo$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix >= 66
lib:libicuuc$secondaryArchSuffix >= 66
lib:libicui18n$secondaryArchSuffix >= 66
lib:libfreetype$secondaryArchSuffix
lib:libgd$secondaryArchSuffix
lib:libgmp$secondaryArchSuffix
lib:libgobject_2.0$secondaryArchSuffix
lib:libgraphite2$secondaryArchSuffix
lib:libharfbuzz$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicuio$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libmpfr$secondaryArchSuffix
lib:libpaper$secondaryArchSuffix
lib:libpixman_1$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libzzip_0$secondaryArchSuffix
"
PROVIDES_devel="
texlive${secondaryArchSuffix}_devel = $portVersion
devel:libkpathsea$secondaryArchSuffix = $portVersion
devel:libptexenc$secondaryArchSuffix = $portVersion
devel:libkpathsea$secondaryArchSuffix = $libkpathseaVersionCompat
devel:libptexenc$secondaryArchSuffix = $libptexencVersionCompat
devel:libsynctex$secondaryArchSuffix = $libsynctexVersionCompat
devel:libtexlua53$secondaryArchSuffix = $libtexluaVersionCompat
devel:libtexluajit$secondaryArchSuffix = $libtexluajitVersionCompat
"
REQUIRES_devel="
texlive$secondaryArchSuffix == $portVersion base
"
ARCHITECTURES_texmf="?any"
PROVIDES_texmf="
texlive${secondaryArchSuffix}_texmf = $portVersion
"
REQUIRES_texmf="
texlive$secondaryArchSuffix == $portVersion base
"
ARCHITECTURES_texmf_doc="?any"
PROVIDES_texmf_doc="
texlive${secondaryArchSuffix}_texmf_doc = $portVersion
"
REQUIRES_texmf_doc="
texlive$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
haiku_devel
icu${secondaryArchSuffix}_devel
devel:libpng$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libTECkit$secondaryArchSuffix
devel:libcairo$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libbz2$secondaryArchSuffix
devel:libgd$secondaryArchSuffix
devel:libgmp$secondaryArchSuffix
devel:libgobject_2.0$secondaryArchSuffix
devel:libgraphite2$secondaryArchSuffix
devel:libharfbuzz$secondaryArchSuffix
devel:libicudata$secondaryArchSuffix
devel:libicui18n$secondaryArchSuffix
devel:libicuio$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix
devel:libmpfr$secondaryArchSuffix
devel:libpaper$secondaryArchSuffix
devel:libpixman_1$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libzzip$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:pkg_config$secondaryArchSuffix
cmd:icu_config$secondaryArchSuffix
cmd:freetype_config$secondaryArchSuffix
cmd:gcc$secondaryArchSuffix
cmd:g++$secondaryArchSuffix
cmd:make
cmd:m4
cmd:bison
cmd:yacc
cmd:perl
cmd:aclocal
cmd:makeinfo
cmd:gawk
cmd:autoconf
cmd:automake
cmd:libtoolize
cmd:sed
cmd:grep
cmd:awk
cmd:makeinfo
cmd:find
cmd:flex
cmd:svn
cmd:wget
cmd:xz
cmd:xzdec
cmd:patch
gettext${secondaryArchSuffix}
gettext${secondaryArchSuffix}_libintl
cmd:freetype_config$secondaryArchSuffix
"
GLOBAL_WRITABLE_FILES="
@@ -463,26 +578,123 @@ GLOBAL_WRITABLE_FILES="
var/texlive/tex/generic/config/language.dat auto-merge
var/texlive/tex/generic/config/language.dat.lua auto-merge
var/texlive/tex/generic/config/language.def auto-merge
var/texlive/web2c/fmtutil.cnf auto-merge
var/texlive/web2c/aleph/aleph.fmt auto-merge
var/texlive/web2c/aleph/aleph.log auto-merge
var/texlive/web2c/eptex/eptex.fmt auto-merge
var/texlive/web2c/eptex/eptex.log auto-merge
var/texlive/web2c/eptex/platex-dev.fmt auto-merge
var/texlive/web2c/eptex/platex-dev.log auto-merge
var/texlive/web2c/eptex/platex.fmt auto-merge
var/texlive/web2c/eptex/platex.log auto-merge
var/texlive/web2c/euptex/euptex.fmt auto-merge
var/texlive/web2c/euptex/euptex.log auto-merge
var/texlive/web2c/euptex/uplatex-dev.fmt auto-merge
var/texlive/web2c/euptex/uplatex-dev.log auto-merge
var/texlive/web2c/euptex/uplatex.fmt auto-merge
var/texlive/web2c/euptex/uplatex.log auto-merge
var/texlive/web2c/luahbtex/luahbtex.fmt auto-merge
var/texlive/web2c/luahbtex/luahbtex.log auto-merge
var/texlive/web2c/luahbtex/lualatex-dev.fmt auto-merge
var/texlive/web2c/luahbtex/lualatex-dev.log auto-merge
var/texlive/web2c/luahbtex/lualatex.fmt auto-merge
var/texlive/web2c/luahbtex/lualatex.log auto-merge
var/texlive/web2c/luajithbtex/luajithbtex.fmt auto-merge
var/texlive/web2c/luajithbtex/luajithbtex.log auto-merge
var/texlive/web2c/luajittex/luajittex.fmt auto-merge
var/texlive/web2c/luajittex/luajittex.log auto-merge
var/texlive/web2c/luatex/dvilualatex-dev.fmt auto-merge
var/texlive/web2c/luatex/dvilualatex-dev.log auto-merge
var/texlive/web2c/luatex/dvilualatex.fmt auto-merge
var/texlive/web2c/luatex/dvilualatex.log auto-merge
var/texlive/web2c/luatex/dviluatex.fmt auto-merge
var/texlive/web2c/luatex/dviluatex.log auto-merge
var/texlive/web2c/luatex/luacsplain.fmt auto-merge
var/texlive/web2c/luatex/luacsplain.log auto-merge
var/texlive/web2c/luatex/luatex.fmt auto-merge
var/texlive/web2c/luatex/luatex.log auto-merge
var/texlive/web2c/luatex/optex.fmt auto-merge
var/texlive/web2c/luatex/optex.log auto-merge
var/texlive/web2c/luatex/pdfcsplain.fmt auto-merge
var/texlive/web2c/luatex/pdfcsplain.log auto-merge
var/texlive/web2c/metafont/mf.base auto-merge
var/texlive/web2c/metafont/mf.log auto-merge
var/texlive/web2c/pdftex/amstex.fmt auto-merge
var/texlive/web2c/pdftex/amstex.log auto-merge
var/texlive/web2c/pdftex/cont-en.fmt auto-merge
var/texlive/web2c/pdftex/cont-en.log auto-merge
var/texlive/web2c/pdftex/cslatex.fmt auto-merge
var/texlive/web2c/pdftex/cslatex.log auto-merge
var/texlive/web2c/pdftex/csplain.fmt auto-merge
var/texlive/web2c/pdftex/csplain.log auto-merge
var/texlive/web2c/pdftex/eplain.fmt auto-merge
var/texlive/web2c/pdftex/eplain.log auto-merge
var/texlive/web2c/pdftex/etex.fmt auto-merge
var/texlive/web2c/pdftex/etex.log auto-merge
var/texlive/web2c/pdftex/jadetex.fmt auto-merge
var/texlive/web2c/pdftex/jadetex.log auto-merge
var/texlive/web2c/pdftex/latex-dev.fmt auto-merge
var/texlive/web2c/pdftex/latex-dev.log auto-merge
var/texlive/web2c/pdftex/latex.fmt auto-merge
var/texlive/web2c/pdftex/latex.log auto-merge
var/texlive/web2c/pdftex/mex.fmt auto-merge
var/texlive/web2c/pdftex/mex.log auto-merge
var/texlive/web2c/pdftex/mllatex.fmt auto-merge
var/texlive/web2c/pdftex/mllatex.log auto-merge
var/texlive/web2c/pdftex/mltex.fmt auto-merge
var/texlive/web2c/pdftex/mltex.log auto-merge
var/texlive/web2c/pdftex/mptopdf.fmt auto-merge
var/texlive/web2c/pdftex/mptopdf.log auto-merge
var/texlive/web2c/pdftex/pdfcslatex.fmt auto-merge
var/texlive/web2c/pdftex/pdfcslatex.log auto-merge
var/texlive/web2c/pdftex/pdfcsplain.fmt auto-merge
var/texlive/web2c/pdftex/pdfcsplain.log auto-merge
var/texlive/web2c/pdftex/pdfetex.fmt auto-merge
var/texlive/web2c/pdftex/pdfetex.log auto-merge
var/texlive/web2c/pdftex/pdfjadetex.fmt auto-merge
var/texlive/web2c/pdftex/pdfjadetex.log auto-merge
var/texlive/web2c/pdftex/pdflatex-dev.fmt auto-merge
var/texlive/web2c/pdftex/pdflatex-dev.log auto-merge
var/texlive/web2c/pdftex/pdflatex.fmt auto-merge
var/texlive/web2c/pdftex/pdflatex.log auto-merge
var/texlive/web2c/pdftex/pdfmex.fmt auto-merge
var/texlive/web2c/pdftex/pdfmex.log auto-merge
var/texlive/web2c/pdftex/pdftex.fmt auto-merge
var/texlive/web2c/pdftex/pdftex.log auto-merge
var/texlive/web2c/pdftex/pdfxmltex.fmt auto-merge
var/texlive/web2c/pdftex/pdfxmltex.log auto-merge
var/texlive/web2c/pdftex/texsis.fmt auto-merge
var/texlive/web2c/pdftex/texsis.log auto-merge
var/texlive/web2c/pdftex/utf8mex.fmt auto-merge
var/texlive/web2c/pdftex/utf8mex.log auto-merge
var/texlive/web2c/pdftex/xmltex.fmt auto-merge
var/texlive/web2c/pdftex/xmltex.log auto-merge
var/texlive/web2c/ptex/ptex.fmt auto-merge
var/texlive/web2c/ptex/ptex.log auto-merge
var/texlive/web2c/tex/lollipop.fmt auto-merge
var/texlive/web2c/tex/lollipop.log auto-merge
var/texlive/web2c/tex/tex.fmt auto-merge
var/texlive/web2c/tex/tex.log auto-merge
var/texlive/web2c/uptex/uptex.fmt auto-merge
var/texlive/web2c/uptex/uptex.log auto-merge
var/texlive/web2c/xetex/cont-en.fmt auto-merge
var/texlive/web2c/xetex/cont-en.log auto-merge
var/texlive/web2c/xetex/pdfcsplain.fmt auto-merge
var/texlive/web2c/xetex/pdfcsplain.log auto-merge
var/texlive/web2c/xetex/xelatex-dev.fmt auto-merge
var/texlive/web2c/xetex/xelatex-dev.log auto-merge
var/texlive/web2c/xetex/xelatex.fmt auto-merge
var/texlive/web2c/xetex/xelatex.log auto-merge
var/texlive/web2c/xetex/xetex.fmt auto-merge
var/texlive/web2c/xetex/xetex.log auto-merge
"
fetchTexLiveInstaller()
{
if [ ! -e Master ] ; then
# Does a sparse checkout, grabbing only the files necessary to run tl-installer, that we don't already have available
svn checkout svn://tug.org/texlive/tags/texlive-2014.0/Master Master --depth immediates
cd Master
rm -rf texmf-dist
svn update --set-depth infinity readme-html.dir readme-txt.dir tlpkg
else
cd Master
fi
# Put the texmf-dist into the correct location
if [ ! -e texmf-dist ] ; then
ln -s $sourceDir2/texmf-dist/ texmf-dist
fi
rm -rv texmf-dist
ln -sv $sourceDir2/texmf-dist/ texmf-dist
# Link our binaries to bin/{i386,x86_64}-haiku
# Link our binaries to bin/{i386,x86_64}-haiku
if [ $targetArchitecture = x86_gcc2 ] || [ $targetArchitecture = x86 ]; then
if [ ! -e bin/i386-haiku ] ; then
@@ -496,6 +708,13 @@ fetchTexLiveInstaller()
ln -s $prefix/bin bin/x86_64-haiku
fi
fi
# link or copy the needed files from the "extra" sources
rm -v tlpkg/{texlive.tlpdb,tlpostcode,README} readme-{html,txt}.dir README{,.usergroups} {index,doc}.html || true
ln -sv $sourceDir4/tlpkg/{texlive.tlpdb,tlpostcode} tlpkg
ln -sv $sourceDir4/readme-{html,txt}.dir .
cp -v $sourceDir4/tlpkg/README tlpkg
cp -v $sourceDir4/{README{,.usergroups},{index,doc}.html} .
}
### Variables that TeX Live uses to control where files go
@@ -615,38 +834,59 @@ fixKSearchPaths()
sed -i -e "s@^TEXMFCNF@IGNOREDTEXMFCNF@" $TEXMFCNF
# redefine TEXMFCNF: {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}
sed -i -e "s@%TEXMFCNF.*@TEXMFCNF={$dataDir/texlive/texmf-dist/web2c,/boot/system/non-packaged/data/texmf-dist/web2c,/boot/home/config/settings/texmf-dist/web2c}@" $TEXMFCNF
PROGNAMEC=$sourceDir/texk/kpathsea/progname.c
sed -i -e "s@/boot/system/bin@$prefix/bin@" $PROGNAMEC
sed -i -e "s@/boot/system/data@$dataDir@" $PROGNAMEC
}
BUILD()
PATCH()
{
# disable the install-bin-links target
sed -i -e 's/!WIN32/WIN32/g' am/bin_links.am
libtoolize --force --copy --install
cd texk/ptexenc
aclocal
automake --add-missing
cd -
autoreconf
mkdir -p ../build && cd ../build
./reautoconf
# may need to run this super early to ensure everything gets the right value...
fixKSearchPaths
}
BUILD()
{
mkdir -p ../build && cd ../build
if [ $targetArchitecture = x86_gcc2 ] || [ $targetArchitecture = x86 ]; then
HOST=i586-pc-haiku
elif [ $targetArchitecture = x86_64 ]; then
HOST=x86_64-unknown-haiku
else
HOST=${targetArchitecture}-unknown-haiku
fi
# don't use secondary arch bindir
runConfigure --omit-buildspec --omit-dirs "binDir sbinDir" $sourceDir/configure \
--bindir=$prefix/bin --sbindir=$prefix/bin --disable-native-texlive-build --disable-cxx-runtime-hack \
--enable-shared --disable-static --with-banner-add="/Haiku" --with-editor='lpe +%d "%s"' --with-system-icu \
--without-cairo --with-system-freetype2 --with-system-libpng --with-system-zlib --without-x -C \
runConfigure --omit-buildspec --omit-dirs "binDir sbinDir" \
$sourceDir/configure \
--bindir=$prefix/bin --sbindir=$prefix/bin \
--disable-native-texlive-build \
--enable-shared --disable-static \
--with-banner-add="/Haiku" --with-editor='lpe +%d "%s"' \
--with-system-harfbauzz \
--with-system-icu \
--with-system-graphite2 \
--with-system-zziplib \
--with-system-mpfr \
--with-system-gmp \
--with-system-cairo \
--with-system-pixman \
--with-system-gd \
--with-system-freetype2 \
--with-system-libpng \
--with-system-libpaper \
--with-system-zlib \
--with-system-libgs \
--with-system-harfbuzz \
--with-system-teckit \
--without-x \
--disable-t1utils \
--build=$HOST --host=$HOST
# and make the damn thing!
make all $jobArgs
}
@@ -659,9 +899,8 @@ INSTALL()
make texlinks
# and install the actual distribution...
cd ..
cd $sourceDir3
fetchTexLiveInstaller
# we should now be in "Master"
export TEXLIVE_INSTALL_PREFIX=$dataDir/texlive
export TEXLIVE_INSTALL_TEXMFSYSVAR=$sharedStateDir/texlive
export TEXLIVE_INSTALL_TEXMFSYSCONFIG=$sysconfDir/texlive
@@ -669,56 +908,56 @@ INSTALL()
export TEXLIVE_INSTALL_TEXMFVAR=/boot/home/config/var/texmf
export TEXLIVE_INSTALL_TEXMFCONFIG=/boot/home/config/settings/texmf/config
export TEXLIVE_INSTALL_TEXMFHOME=/boot/home/config/settings
if [ ! -e flag.patched ] ; then
patch -Np2 < $portDir/additional-files/tlutils.pm.patch
touch flag.patched
fi
# hmm, need to work-around /boot/system/non-packaged not existing....
# the texfm local tree should probably be done with a post-install script, perhaps
sed -i -e 's/make_local_skeleton \".*//' install-tl
# run the TeX Live installer, and specify all our paths, once more, to be sure... ;-)
export PATH=bin/i386-haiku:bin/x86_64-haiku:$prefix/bin:$PATH
install-tl <<< $"D
1
$dataDir/texlive
2
/boot/system/non-packaged/data/texlive/texmf-dist
3
$sharedStateDir/texlive
4
$sysconfDir/texlive
5
/boot/home/config/var/texmf
6
/boot/home/config/settings/texmf/config
7
/boot/home/config/settings/texmf-dist
R
I
"
export PATH=bin/i386-haiku:bin/${targetArchitecture}-haiku:$binDir:$PATH
if [ $targetArchitecture = x86_gcc2 ] || [ $targetArchitecture = x86 ]; then
customBinDir=bin/i386-haiku/
else
customBinDir=bin/${targetArchitecture}-haiku/
fi
sed -e "s@dataDir@$dataDir@g" \
-e "s@sharedStateDir@$sharedStateDir@g" \
-e "s@sysconfDir@$sysconfDir@g" \
$portDir/additional-files/texlive.profile > texlive.profile
install-tl --custom-bin=$customBinDir --profile=texlive.profile
# somewhere along the way, a texmf.cnf gets created with ALL the wrong paths...
# replace it with the known working version
cp -f $dataDir/texmf-dist/web2c/texmf.cnf $dataDir/texlive/texmf-dist/web2c/texmf.cnf
# some reason, this doesn't get created, which we need
if [ ! -e $prefix/bin/mktexfmt ] ; then
ln -s $prefix/bin/fmtutil $prefix/bin/mktexfmt
ln -s fmtutil $prefix/bin/mktexfmt
fi
# remove the documents directory; it's too big for package create to handle!
# see https://dev.haiku-os.org/ticket/12116
#rm -rf $dataDir/texlive/texmf-dist/doc
# needed post-install steps apparently not done by install-tl
$prefix/bin/fmtutil-sys --all
#$prefix/bin/mtxrun --generate
# remove useless libtool files
# remove useless libtool files and other unneeded files
rm -f $libDir/*.la
prepareInstalledDevelLibs libkpathsea libptexenc
rm -rf $dataDir/texlive/bin
rm -f $dataDir/texlive/install-tl*
prepareInstalledDevelLibs libkpathsea libptexenc libsynctex libtexlua53 libtexluajit
# devel package
packageEntries devel \
$developDir
exit 1
# texmf_doc package
packageEntries texmf_doc \
$dataDir/texlive/texmf-dist/doc
# texmf package
packageEntries texmf \
$dataDir/texlive/texmf-dist
# exit 1
}
TEST()