diff --git a/app-text/texlive/additional-files/texlive.profile b/app-text/texlive/additional-files/texlive.profile new file mode 100644 index 000000000..25c11148a --- /dev/null +++ b/app-text/texlive/additional-files/texlive.profile @@ -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 diff --git a/app-text/texlive/additional-files/tlutils.pm.patch b/app-text/texlive/additional-files/tlutils.pm.patch deleted file mode 100644 index a1424b657..000000000 --- a/app-text/texlive/additional-files/tlutils.pm.patch +++ /dev/null @@ -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 diff --git a/app-text/texlive/patches/texlive-2014.patchset b/app-text/texlive/patches/texlive-2014.patchset deleted file mode 100644 index 20389678b..000000000 --- a/app-text/texlive/patches/texlive-2014.patchset +++ /dev/null @@ -1,309 +0,0 @@ -From 9e27fba3c8f813d5e5fd38c08ad4c6ea0e17a04d Mon Sep 17 00:00:00 2001 -From: Jessica Hamilton -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 - #define getch _getch - #else /* !WIN32 */ -+#ifdef __HAIKU__ -+#define _BSD_SOURCE -+#endif - #include - #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 -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 -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 -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 -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 -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 - diff --git a/app-text/texlive/patches/texlive-2021.patchset b/app-text/texlive/patches/texlive-2021.patchset new file mode 100644 index 000000000..ee246fa6b --- /dev/null +++ b/app-text/texlive/patches/texlive-2021.patchset @@ -0,0 +1,224 @@ +From 8a78b705e7ce64fac04334f7d1aaaf14760d970d Mon Sep 17 00:00:00 2001 +From: Jessica Hamilton +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 + +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 + #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 +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 +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 +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 + +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 + diff --git a/app-text/texlive/texlive-2014.recipe b/app-text/texlive/texlive-2021.recipe similarity index 51% rename from app-text/texlive/texlive-2014.recipe rename to app-text/texlive/texlive-2021.recipe index 17ed65e4b..672171135 100644 --- a/app-text/texlive/texlive-2014.recipe +++ b/app-text/texlive/texlive-2021.recipe @@ -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()