TeX Live 2014

This commit is contained in:
Jessica Hamilton
2015-06-05 19:24:53 +12:00
parent 23b51e95c4
commit 08057d6143
3 changed files with 988 additions and 0 deletions

View File

@@ -0,0 +1,237 @@
From bd95a285e81b9fd3ff852810bacfb4c751ae7aec 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.2.2
From 080a1c28447c5abae634ef1848ddc60a504b050a 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.2.2
From ee7a3fb96fb2be78a1b7b7721adde56a5514fc9e 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.2.2
From 1b8868ceaac76a98ae55619475734ecc794940f7 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.2.2

View File

@@ -0,0 +1,36 @@
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

@@ -0,0 +1,715 @@
SUMMARY="TeX Live"
DESCRIPTION="
TeX Live is an easy way to get up and running with the TeX document production system. It provides a
comprehensive TeX system. It includes all the major TeX-related programs, macro packages, and fonts
that are free software, including support for many languages around the world.
"
HOMEPAGE="http://tug.org/texlive/"
COPYRIGHT="Copyright 1996 by collaboration between the TeX user groups."
LICENSE="GNU GPL v2"
SRC_URI="ftp://tug.org/historic/systems/texlive/2014/texlive-20140525-source.tar.xz"
SRC_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"
REVISION="1"
ARCHITECTURES="x86"
SECONDARY_ARCHITECTURES="x86"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
# x86_gcc2 is fine as primary target architecture as long as we're building
# for a different secondary architecture.
ARCHITECTURES="$ARCHITECTURES x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"
PATCHES="texlive-2014.patchset"
PROVIDES="
texlive = $portVersion compat >= 2014
cmd:a2ping
cmd:a5toa4
cmd:adhocfilelist
cmd:afm2afm
cmd:afm2pl
cmd:afm2tfm
cmd:aleph
cmd:allcm
cmd:allec
cmd:allneeded
cmd:amstex
cmd:arara
cmd:arlatex
cmd:authorindex
cmd:autoinst
cmd:bbox
cmd:bg5+latex
cmd:bg5+pdflatex
cmd:bg5conv
cmd:bg5latex
cmd:bg5pdflatex
cmd:bibexport
cmd:bibtex
cmd:bibtex8
cmd:bibtexu
cmd:bundledoc
cmd:cachepic
cmd:cef5conv
cmd:cef5latex
cmd:cef5pdflatex
cmd:cefconv
cmd:ceflatex
cmd:cefpdflatex
cmd:cefsconv
cmd:cefslatex
cmd:cefspdflatex
cmd:cfftot1
cmd:checkcites
cmd:chktex
cmd:chkweb
cmd:context
cmd:contextjit
cmd:convbkmk
cmd:cslatex
cmd:csplain
cmd:ctangle
cmd:ctanify
cmd:ctanupload
cmd:ctie
cmd:cweave
cmd:de_macro
cmd:depythontex
cmd:detex
cmd:devnag
cmd:deweb
cmd:disdvi
cmd:dosepsbin
cmd:dt2dv
cmd:dtxgen
cmd:dv2dt
cmd:dvi2fax
cmd:dvi2tty
cmd:dviasm
cmd:dvibook
cmd:dviconcat
cmd:dvicopy
cmd:dvidvi
cmd:dvigif
cmd:dvihp
cmd:dvilj
cmd:dvilj2p
cmd:dvilj4
cmd:dvilj4l
cmd:dvilj6
cmd:dvilualatex
cmd:dviluatex
cmd:dvipdfm
cmd:dvipdfmx
cmd:dvipdft
cmd:dvipng
cmd:dvipos
cmd:dvips
cmd:dvired
cmd:dviselect
cmd:dvisvgm
cmd:dvitodvi
cmd:dvitomp
cmd:dvitype
cmd:e2pall
cmd:ebb
cmd:ebong
cmd:eplain
cmd:epsffit
cmd:epspdf
cmd:epspdftk
cmd:epstopdf
cmd:eptex
cmd:etex
cmd:euptex
cmd:exceltex
cmd:extconv
cmd:extractbb
cmd:extractres
cmd:fig4latex
cmd:findhyph
cmd:fmtutil_sys
cmd:fmtutil
cmd:fontinst
cmd:fragmaster
cmd:gbklatex
cmd:gbkpdflatex
cmd:gftodvi
cmd:gftopk
cmd:gftype
cmd:gsftopk
cmd:hbf2gf
cmd:ht
cmd:htcontext
cmd:htlatex
cmd:htmex
cmd:httex
cmd:httexi
cmd:htxelatex
cmd:htxetex
cmd:includeres
cmd:inimf
cmd:initex
cmd:installfont_tl
cmd:jadetex
cmd:jamo_normalize
cmd:kanji_config_updmap_sys
cmd:kanji_config_updmap
cmd:kanji_fontmap_creator
cmd:komkindex
cmd:kpseaccess
cmd:kpsepath
cmd:kpsereadlink
cmd:kpsestat
cmd:kpsetool
cmd:kpsewhere
cmd:kpsewhich
cmd:kpsexpand
cmd:lacheck
cmd:lamed
cmd:latex_git_log
cmd:latex
cmd:latex2man
cmd:latexdiff_vc
cmd:latexdiff
cmd:latexfileversion
cmd:latexindent
cmd:latexmk
cmd:latexpand
cmd:latexrevise
cmd:lily_glyph_commands
cmd:lily_image_commands
cmd:lily_rebuild_pdfs
cmd:listbib
cmd:listings_ext.sh
cmd:lollipop
cmd:ltxfileinfo
cmd:ltximg
cmd:lua2dox_filter
cmd:luajittex
cmd:lualatex
cmd:lualollipop
cmd:luaotfload_tool
cmd:luatex
cmd:luatools
cmd:m_tx
cmd:mag
cmd:makeglossaries
cmd:makeindex
cmd:makejvf
cmd:match_parens
cmd:mathspic
cmd:mendex
cmd:mex
cmd:mf_nowin
cmd:mf
cmd:mf2pt1
cmd:mfplain
cmd:mft
cmd:mk4ht
cmd:mkgrkindex
cmd:mkindex
cmd:mkjobtexmf
cmd:mkluatexfontdb
cmd:mkocp
cmd:mkofm
cmd:mkpic
cmd:mkt1font
cmd:mktexfmt
cmd:mktexlsr
cmd:mktexmf
cmd:mktexpk
cmd:mktextfm
cmd:mllatex
cmd:mltex
cmd:mmafm
cmd:mmpfb
cmd:mpost
cmd:mptopdf
cmd:mtxrun
cmd:mtxrunjit
cmd:multibibliography
cmd:musixflx
cmd:musixtex
cmd:odvicopy
cmd:odvitype
cmd:ofm2opl
cmd:omfonts
cmd:opl2ofm
cmd:ot2kpx
cmd:otangle
cmd:otfinfo
cmd:otftotfm
cmd:otp2ocp
cmd:outocp
cmd:ovf2ovp
cmd:ovp2ovf
cmd:patgen
cmd:pbibtex
cmd:pdf180
cmd:pdf270
cmd:pdf90
cmd:pdfannotextractor
cmd:pdfatfi
cmd:pdfbook
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:pdfmex
cmd:pdfnup
cmd:pdfpun
cmd:pdftex
cmd:pdftosrc
cmd:pdfxmltex
cmd:pdvitype
cmd:pedigree
cmd:perltex
cmd:pfarrei
cmd:pfb2pfa
cmd:pk2bm
cmd:pkfix_helper
cmd:pkfix
cmd:pktogf
cmd:pktype
cmd:platex
cmd:pltotf
cmd:pmx2pdf
cmd:pmxab
cmd:pmxchords
cmd:pooltype
cmd:ppltotf
cmd:prepmx
cmd:ps2eps
cmd:ps2frag
cmd:ps2pk
cmd:ps4pdf
cmd:psbook
cmd:psjoin
cmd:pslatex
cmd:psnup
cmd:psresize
cmd:psselect
cmd:pst2pdf
cmd:pstops
cmd:ptex
cmd:ptex2pdf
cmd:ptftopl
cmd:purifyeps
cmd:pythontex
cmd:repstopdf
cmd:rpdfcrop
cmd:rubibtex
cmd:rubikrotation
cmd:rumakeindex
cmd:rungs
cmd:scor2prt
cmd:simpdftex
cmd:sjisconv
cmd:sjislatex
cmd:sjispdflatex
cmd:splitindex
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:tex4ht
cmd:texconfig_dialog
cmd:texconfig_sys
cmd:texconfig
cmd:texcount
cmd:texdef
cmd:texdiff
cmd:texdirflatten
cmd:texdoc
cmd:texdoctk
cmd:texexec
cmd:texfot
cmd:texhash
cmd:texlinks
cmd:texliveonfly
cmd:texloganalyser
cmd:texlua
cmd:texluac
cmd:texluajit
cmd:texluajitc
cmd:texmfstart
cmd:texsis
cmd:tftopl
cmd:thumbpdf
cmd:tie
cmd:tlmgr
cmd:tpic2pdftex
cmd:ttf2afm
cmd:ttf2kotexfont
cmd:ttf2pk
cmd:ttf2tfm
cmd:ttfdump
cmd:ttftotype42
cmd:typeoutfileinfo
cmd:ulqda
cmd:upbibtex
cmd:updmap_sys
cmd:updmap
cmd:updvitype
cmd:uplatex
cmd:uppltotf
cmd:uptex
cmd:uptftopl
cmd:urlbst
cmd:utf8mex
cmd:vftovp
cmd:vlna
cmd:vpe
cmd:vpl2ovp
cmd:vpl2vpl
cmd:vptovf
cmd:weave
cmd:wofm2opl
cmd:wopl2ofm
cmd:wovf2ovp
cmd:wovp2ovf
cmd:xdvipdfmx
cmd:xelatex
cmd:xelollipop
cmd:xetex
cmd:xmltex
lib:libkpathsea$secondaryArchSuffix
lib:libptexenc$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libpng$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libbz2$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libicudata$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
haiku_devel
icu${secondaryArchSuffix}_devel
devel:libpng$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libbz2$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:autoconf
cmd:automake
cmd:libtoolize
cmd:sed
cmd:grep
cmd:awk
cmd:makeinfo
cmd:flex
cmd:svn
cmd:wget
cmd:xz
cmd:xzdec
cmd:patch
gettext${secondaryArchSuffix}
gettext${secondaryArchSuffix}_libintl
"
GLOBAL_WRITABLE_FILES="
settings/texlive/ls-R auto-merge
var/texlive/ls-R auto-merge
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
"
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
# Link our binaries to bin/i386-haiku
if [ ! -e bin/i386-haiku ] ; then
mkdir -p bin
ln -s $prefix/bin bin/i386-haiku
fi
}
### Variables that TeX Live uses to control where files go
# This is the parent directory of our several trees, i.e.,
# /usr/local/texlive/YYYY in the original TeX Live distribution.
#
# All trees must be organized according to the TeX Directory Structure
# (http://tug.org/tds), or files may not be found.
#
# Redistributors will probably want $SELFAUTODIR/share, i.e., /usr/share.
# Kpathsea sets SELFAUTOLOC (the directory with the binary),
# SELFAUTODIR (its parent), and SELFAUTOPARENT (its grandparent).
#
### TEXMFROOT = $SELFAUTOPARENT
#
# The main tree of distributed packages and programs:
#
### TEXMFDIST = $TEXMFROOT/texmf-dist
#
# We used to have a separate /texmf tree with some core programs and files.
# Keep the variable name.
#
### TEXMFMAIN = $TEXMFDIST
#
# Local additions to the distribution trees.
#
### TEXMFLOCAL = $SELFAUTOGRANDPARENT/texmf-local
#
# TEXMFSYSVAR, where *-sys store cached runtime data.
#
### TEXMFSYSVAR = $TEXMFROOT/texmf-var
#
# TEXMFSYSCONFIG, where *-sys store configuration data.
#
### TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
#
# Per-user texmf tree(s) -- organized per the TDS, as usual. To define
# more than one per-user tree, set this to a list of directories in
# braces, as described above. (This used to be HOMETEXMF.) ~ expands
# to #USERPROFILE# on Windows, $HOME otherwise.
#
### TEXMFHOME = ~/texmf
#
# TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
#
### TEXMFVAR = ~/.texlive2014/texmf-var
#
# TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
#
### TEXMFCONFIG = ~/.texlive2014/texmf-config
#
# List all the texmf trees. For an explanation of what they are, see the
# TeX Live manual.
#
# For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
# explicitly and before all other trees.
#
# TEXMFLOCAL precedes TEXMFDIST because locally-installed versions
# should take precedence over distribution files -- although it is
# generally a source of confusion to have different versions of a
# package installed, whatever the trees, so try to avoid it.
#
### TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}
#
# Where to look for ls-R files. There need not be an ls-R in the
# directories in this path, but if there is one, Kpathsea will use it.
# By default, this is only the !! elements of TEXMF, so that mktexlsr
# does not create ls-R files in the non-!! elements -- because if an
# ls-R is present, it will be used, and the disk will not be searched.
# This is arguably a bug in kpathsea.
#
### TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}
#
# The system trees. These are the trees that are shared by all users.
# If a tree appears in this list, the mktex* scripts will use
# VARTEXFONTS for generated files, if the original tree isn't writable;
# otherwise the current working directory is used.
#
### SYSTEXMF = $TEXMFSYSVAR;$TEXMFLOCAL;$TEXMFDIST
#
# First writable tree here is used by Lua(La)TeX for the font cache.
# LuaLaTeX uses the value here, while ConTeXt uses the same variable but
# from texmfcnf.lua; therefore the two values should be kept in sync.
# (As should everything else in texmf.cnf <-> texmfcnf.lua.)
#
### TEXMFCACHE = $TEXMFSYSVAR;$TEXMFVAR
#
# Where generated fonts may be written. This tree is used when the sources
# were found in a system tree and either that tree wasn't writable, or the
# varfonts feature was enabled in MT_FEATURES in mktex.cnf.
#
### VARTEXFONTS = $TEXMFVAR/fonts
#
# On some systems, there will be a system tree which contains all the font
# files that may be created as well as the formats. For example
# TEXMFVAR = /var/lib/texmf
# is used in many distros. In this case, set VARTEXFONTS like this
#VARTEXFONTS = $TEXMFVAR/fonts
# and do not mention it in TEXMFDBS (but _do_ mention TEXMFVAR).
#
# Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
# one of the TEXMF directories (avoids overlapping ls-R files).
fixKSearchPaths()
{
TEXMFCNF=$sourceDir/texk/kpathsea/texmf.cnf
sed -i -e "s@TEXMFROOT =.*@TEXMFROOT = $dataDir/texlive@" $TEXMFCNF
sed -i -e "s@TEXMFDIST =.*@TEXMFDIST = $dataDir/texlive/texmf-dist@" $TEXMFCNF
sed -i -e "s@TEXMFMAIN =.*@TEXMFMAIN = $dataDir/texlive/texmf-dist@" $TEXMFCNF
sed -i -e "s@TEXMFLOCAL =.*@TEXMFLOCAL = /boot/system/non-packaged/data/texmf-dist@" $TEXMFCNF
sed -i -e "s@TEXMFSYSVAR =.*@TEXMFSYSVAR = $sharedStateDir/texlive@" $TEXMFCNF
sed -i -e "s@TEXMFSYSCONFIG =.*@TEXMFSYSCONFIG = $sysconfDir/texlive@" $TEXMFCNF
sed -i -e "s@TEXMFHOME =.*@TEXMFHOME = /boot/home/config/settings/texmf-dist@" $TEXMFCNF
sed -i -e "s@TEXMFVAR =.*@TEXMFVAR = /boot/home/config/var/texmf@" $TEXMFCNF
sed -i -e "s@TEXMFCONFIG =.*@TEXMFCONFIG = /boot/home/config/settings/texmf/config@" $TEXMFCNF
sed -i -e "s@VARTEXFONTS =.*@VARTEXFONTS = /boot/home/config/settings/texmf/fonts@" $TEXMFCNF
# rename current TEXMFCNF; easier than writing a more complex sed script!
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
}
BUILD()
{
# disable the install-bin-links target
sed -i -e 's/!WIN32/WIN32/g' am/bin_links.am
libtoolize --force --copy --install
autoreconf
mkdir -p ../build && cd ../build
# may need to run this super early to ensure everything gets the right value...
fixKSearchPaths
# 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 \
--build=i586-pc-haiku --host=i586-pc-haiku
# and make the damn thing!
make all $jobArgs
}
INSTALL()
{
cd ../build
make install-strip
# make texlinks creates broken symlinks :( see comment in BUILD()
make texlinks
# and install the actual distribution...
cd ..
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
export TEXLIVE_INSTALL_TEXMFLOCAL=/boot/system/non-packaged/data/texmf-dist
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/patches/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:$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
"
# 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
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
# remove useless libtool files
rm -f $libDir/*.la
prepareInstalledDevelLibs libkpathsea libptexenc
# devel package
packageEntries devel \
$developDir
exit 1
}
TEST()
{
make check
}
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
texlive${secondaryArchSuffix}_devel = $portVersion
devel:libkpathsea$secondaryArchSuffix = $portVersion
devel:libptexenc$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
texlive$secondaryArchSuffix == $portVersion base
"