diff options
author | Florian Schmaus <flow@gentoo.org> | 2024-04-04 10:43:41 +0200 |
---|---|---|
committer | Florian Schmaus <flow@gentoo.org> | 2024-04-04 10:43:41 +0200 |
commit | 356ebad3bab3702ee6d2630af4a2116eb6a05b72 (patch) | |
tree | f9e5a5b7281fd130012e9feb93bd822abb03ef76 | |
parent | app-text/texlive-core: sync with ::gentoo (diff) | |
download | tex-overlay-356ebad3bab3702ee6d2630af4a2116eb6a05b72.tar.gz tex-overlay-356ebad3bab3702ee6d2630af4a2116eb6a05b72.tar.bz2 tex-overlay-356ebad3bab3702ee6d2630af4a2116eb6a05b72.zip |
app-text/texlive-core: drop 2023-r1, 2023-r2
Signed-off-by: Florian Schmaus <flow@gentoo.org>
-rw-r--r-- | app-text/texlive-core/texlive-core-2023-r1.ebuild | 483 | ||||
-rw-r--r-- | app-text/texlive-core/texlive-core-2023-r2.ebuild | 461 |
2 files changed, 0 insertions, 944 deletions
diff --git a/app-text/texlive-core/texlive-core-2023-r1.ebuild b/app-text/texlive-core/texlive-core-2023-r1.ebuild deleted file mode 100644 index 7d3e51f..0000000 --- a/app-text/texlive-core/texlive-core-2023-r1.ebuild +++ /dev/null @@ -1,483 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -TL_SOURCE_VERSION=20230311 -inherit flag-o-matic toolchain-funcs libtool texlive-common - -MY_P=${PN%-core}-${TL_SOURCE_VERSION}-source - -DESCRIPTION="A complete TeX distribution" -HOMEPAGE="https://tug.org/texlive/" -SLOT="0" -LICENSE="BSD GPL-1 GPL-2 GPL-2+ GPL-3+ MIT TeX-other-free" -RESTRICT="mirror" -GENTOO_TEX_PATCHES_NUM=3 -SRC_URI=" - https://mirrors.ctan.org/systems/texlive/Source/${MY_P}.tar.xz - https://gitweb.gentoo.org/proj/tex-patches.git/snapshot/tex-patches-${GENTOO_TEX_PATCHES_NUM}.tar.bz2 - -> gentoo-tex-patches-${GENTOO_TEX_PATCHES_NUM}.tar.bz2 -" - -# Macros that are not a part of texlive-sources or or pulled in from collection-binextra -# but still needed for other packages during installation -TL_CORE_EXTRA_CONTENTS=" - autosp.r58211 - axodraw2.r58155 - chktex.r64797 - detex.r66186 - dvi2tty.r66186 - dvidvi.r65952 - dviljk.r66186 - dvipdfmx.r69127 - dvipos.r66186 - gsftopk.r52851 - hyphen-base.r68321 - lacheck.r66186 - m-tx.r64182 - makeindex.r62517 - pmx.r65926 - texlive-scripts.r69754 - texlive-scripts-extra.r62517 - texlive.infra.r69740 - tpic2pdftex.r52851 - upmendex.r66381 - velthuis.r66186 - vlna.r66186 - xml2pmx.r57972 -" -TL_CORE_EXTRA_DOC_CONTENTS=" - autosp.doc.r58211 - axodraw2.doc.r58155 - chktex.doc.r64797 - detex.doc.r66186 - dvi2tty.doc.r66186 - dvidvi.doc.r65952 - dviljk.doc.r66186 - dvipdfmx.doc.r69127 - dvipos.doc.r66186 - gsftopk.doc.r52851 - lacheck.doc.r66186 - m-tx.doc.r64182 - makeindex.doc.r62517 - pmx.doc.r65926 - texlive-scripts.doc.r69754 - texlive-scripts-extra.doc.r62517 - texlive.infra.doc.r69740 - tpic2pdftex.doc.r52851 - upmendex.doc.r66381 - velthuis.doc.r66186 - vlna.doc.r66186 - xml2pmx.doc.r57972 -" -TL_CORE_EXTRA_SRC_CONTENTS=" - axodraw2.source.r58155 -" - -TEXLIVE_MODULE_BINSCRIPTS=" - texmf-dist/scripts/m-tx/m-tx.lua - texmf-dist/scripts/texlive/fmtutil-sys.sh - texmf-dist/scripts/texlive/fmtutil-user.sh - texmf-dist/scripts/texlive/fmtutil.pl - texmf-dist/scripts/texlive/mktexlsr - texmf-dist/scripts/texlive/mktexlsr.pl - texmf-dist/scripts/texlive/mktexmf - texmf-dist/scripts/texlive/mktexpk - texmf-dist/scripts/texlive/mktextfm - texmf-dist/scripts/texlive/rungs.lua - texmf-dist/scripts/texlive/tlmgr.pl - texmf-dist/scripts/texlive/updmap-sys.sh - texmf-dist/scripts/texlive/updmap-user.sh - texmf-dist/scripts/texlive/updmap.pl - texmf-dist/scripts/texlive-extra/allcm.sh - texmf-dist/scripts/texlive-extra/allneeded.sh - texmf-dist/scripts/texlive-extra/dvi2fax.sh - texmf-dist/scripts/texlive-extra/dvired.sh - texmf-dist/scripts/texlive-extra/e2pall.pl - texmf-dist/scripts/texlive-extra/kpsetool.sh - texmf-dist/scripts/texlive-extra/kpsewhere.sh - texmf-dist/scripts/texlive-extra/ps2frag.sh - texmf-dist/scripts/texlive-extra/pslatex.sh - texmf-dist/scripts/texlive-extra/texconfig-dialog.sh - texmf-dist/scripts/texlive-extra/texconfig-sys.sh - texmf-dist/scripts/texlive-extra/texconfig.sh - texmf-dist/scripts/texlive-extra/texlinks.sh -" - -TEXLIVE_MODULE_BINLINKS=" - fmtutil:mktexfmt - mktexlsr:texhash - allcm:allec - kpsetool:kpsexpand - kpsetool:kpsepath -" -texlive-common_append_to_src_uri TL_CORE_EXTRA_CONTENTS - -SRC_URI+=" doc? ( " -texlive-common_append_to_src_uri TL_CORE_EXTRA_DOC_CONTENTS -SRC_URI+=" )" - -SRC_URI+=" source? ( " -texlive-common_append_to_src_uri TL_CORE_EXTRA_SRC_CONTENTS -SRC_URI+=" )" - -KEYWORDS="~amd64 ~arm64 ~ppc ~riscv ~x86" -IUSE="cjk X doc source tk +luajittex xetex xindy" - -TEXMF_PATH=/usr/share/texmf-dist -MODULAR_X_DEPEND=" - X? ( - x11-libs/libX11 - x11-libs/libXmu - )" - -COMMON_DEPEND=" - ${MODULAR_X_DEPEND} - !app-text/epspdf - !app-text/pdfjam - sys-libs/zlib - >=media-libs/harfbuzz-1.4.5:=[icu,graphite] - >=media-libs/libpng-1.2.43-r2:0= - media-libs/gd[png] - media-gfx/graphite2:= - media-gfx/potrace:= - >=x11-libs/cairo-1.12 - >=x11-libs/pixman-0.18 - dev-libs/zziplib:= - app-text/libpaper:= - dev-libs/gmp:= - dev-libs/mpfr:= - >=dev-libs/ptexenc-1.4.3 - xetex? ( - >=app-text/teckit-2.5.10 - media-libs/fontconfig - ) - xindy? ( dev-lisp/clisp:= ) - media-libs/freetype:2 - >=dev-libs/icu-50:= - >=dev-libs/kpathsea-6.3.5:= -" - -BDEPEND=" - sys-apps/ed - sys-devel/flex - virtual/pkgconfig -" - -DEPEND=" - ${COMMON_DEPEND} -" - -RDEPEND=" - ${COMMON_DEPEND} - virtual/perl-Getopt-Long - dev-perl/File-HomeDir - dev-perl/Log-Dispatch - dev-perl/Unicode-LineBreak - dev-perl/YAML-Tiny - tk? ( - dev-lang/tk - dev-perl/Tk - ) -" - -S="${WORKDIR}/${MY_P}" -BUILDDIR="${WORKDIR}/${P}_build" - -src_unpack() { - default - - mkdir -p "${BUILDDIR}" || die "failed to create build dir" -} - -RELOC_TARGET=texmf-dist - -src_prepare() { - cd "${WORKDIR}" || die - - # From texlive-module.eclass. - sed -n -e 's:\s*RELOC/::p' tlpkg/tlpobj/* > "${T}/reloclist" || die - sed -e 's/\/[^/]*$//' -e "s:^:${RELOC_TARGET}/:" "${T}/reloclist" | - sort -u | - xargs mkdir -p || die - local i - while read -r i; do - mv "${i}" "${RELOC_TARGET}/${i%/*}" || die - done < "${T}/reloclist" - mv "${WORKDIR}"/texmf* "${S}" || die "failed to move texmf files" - - cd "${S}" || die - - sed -i \ - -e "s,/usr/include /usr/local/include.*echo \$KPATHSEA_INCLUDES.*,$(pkg-config kpathsea --variable=includedir)\"," \ - texk/web2c/configure || die - - local patch_dir="${WORKDIR}/tex-patches-${GENTOO_TEX_PATCHES_NUM}" - eapply "${patch_dir}" - - default - - elibtoolize -} - -src_configure() { - # It fails on alpha without this - use alpha && append-ldflags "-Wl,--no-relax" - - # Too many regexps use A-Z a-z constructs, what causes problems with locales - # that don't have the same alphabetical order than ascii. Bug #242430 - # So we set LC_ALL to C in order to avoid problems. - export LC_ALL=C - - # Disable freetype-config as this is considered obsolete. - # Also only pkg-config works for prefix as described in bug #690094 - export ac_cv_prog_ac_ct_FT2_CONFIG=no - - # revisit/upstream once we bump to 2022, bug #882245 - append-cppflags -D_GNU_SOURCE - - local econf_new_2023=( - --enable-ptex=no - --enable-uptex=no - --enable-autosp=yes - --enable-axodraw2=yes - --enable-devnag=yes - --enable-lacheck=yes - --enable-m-tx=yes - --enable-pmx=yes - --enable-tpic2pdftex=yes - --with-clisp-runtime=system - --enable-xml2pmx=yes - $(use_enable X xpdfopen) - --enable-web2c=yes - --enable-afm2pl=yes - --enable-dvidvi=yes - --enable-dviljk=yes - $(use_enable cjk dvipdfm-x) - --enable-dvipos=yes - --enable-gregorio=yes - --enable-gsftopk=yes - --enable-makeindexk=yes - --enable-musixtnt=yes - --enable-seetexk=yes - --enable-ttfdump=yes - --enable-upmendex=yes - --enable-texlive=yes - --enable-linked-scripts=no - # web2c afm2pl chktex dtl dvi2tty dvidvi dviljk dviout-util dvipdfm-x gregorio - ) - - tc-export CC CXX AR RANLIB - cd "${BUILDDIR}" || die - ECONF_SOURCE="${S}" \ - econf -C \ - --bindir="${EPREFIX}"/usr/bin \ - --datadir="${BUILDDIR}" \ - --with-system-freetype2 \ - --with-system-zlib \ - --with-system-libpng \ - --with-system-teckit \ - --with-teckit-includes="${EPREFIX}"/usr/include/teckit \ - --with-system-kpathsea \ - --with-kpathsea-includes="${EPREFIX}"/usr/include \ - --with-system-icu \ - --with-system-ptexenc \ - --with-system-harfbuzz \ - --with-system-graphite2 \ - --with-system-cairo \ - --with-system-pixman \ - --with-system-zziplib \ - --with-system-libpaper \ - --with-system-gmp \ - --with-system-gd \ - --with-system-mpfr \ - --with-system-potrace \ - --without-texinfo \ - --disable-dialog \ - --disable-multiplatform \ - --enable-chktex \ - --enable-epsfwin \ - --enable-detex \ - --enable-dvi2tty \ - --enable-mftalkwin \ - --enable-regiswin \ - --enable-shared \ - --enable-tektronixwin \ - --enable-unitermwin \ - --enable-vlna \ - --with-ps=gs \ - --disable-psutils \ - --disable-t1utils \ - --enable-ipc \ - --disable-biber \ - --disable-bibtex-x \ - --disable-dvipng \ - --disable-dvipsk \ - --disable-lcdf-typetools \ - --disable-ps2pk \ - --disable-ttf2pk2 \ - --disable-tex4htk \ - --disable-cjkutils \ - --disable-xdvik \ - --enable-luatex \ - --disable-dvisvgm \ - --disable-ps2eps \ - --disable-static \ - --disable-native-texlive-build \ - --disable-largefile \ - --disable-build-in-source-tree \ - --disable-xindy-docs \ - --disable-xindy-rules \ - --with-banner-add=" Gentoo Linux" \ - $(use_enable luajittex) \ - $(use_enable luajittex luajithbtex) \ - $(use_enable luajittex mfluajit) \ - $(use_enable xetex) \ - $(use_enable cjk dviout-util) \ - $(use_enable cjk ptex) \ - $(use_enable cjk eptex) \ - $(use_enable cjk uptex) \ - $(use_enable cjk euptex) \ - $(use_enable cjk mendexk) \ - $(use_enable cjk makejvf) \ - $(use_enable cjk pmp) \ - $(use_enable cjk upmp) \ - $(use_enable tk texdoctk) \ - $(use_with X x) \ - $(use_enable xindy) \ - "${econf_new_2023[@]}" -} - -src_compile() { - cd "${BUILDDIR}" || die - tc-export CC CXX AR RANLIB - - emake AR="$(tc-getAR)" SHELL="${EPREFIX}"/bin/sh texmf="${EPREFIX}"${TEXMF_PATH:-/usr/share/texmf-dist} - - cd "${S}" || die - # Mimic updmap --syncwithtrees to enable only fonts installed - # Code copied from updmap script - while read -r i; do - texlive-common_is_file_present_in_texmf "${i}" || echo "${i}" - done > "${T}/updmap_update" < <(grep -E '^(Mixed|Kanji)?Map' "texmf-dist/web2c/updmap.cfg" | sed 's@.* @@') - { - sed 's@/@\\/@g; s@^@/^MixedMap[ ]*@; s@$@$/s/^/#! /@' <"${T}/updmap_update" - sed 's@/@\\/@g; s@^@/^Map[ ]*@; s@$@$/s/^/#! /@' <"${T}/updmap_update" - sed 's@/@\\/@g; s@^@/^KanjiMap[ ]*@; s@$@$/s/^/#! /@' <"${T}/updmap_update" - } > "${T}/updmap_update2" - sed -f "${T}/updmap_update2" "texmf-dist/web2c/updmap.cfg" > "${T}/updmap_update3"\ - && cat "${T}/updmap_update3" > "texmf-dist/web2c/updmap.cfg" -} - -src_install() { - cd "${BUILDDIR}" || die - dodir ${TEXMF_PATH:-/usr/share/texmf-dist}/web2c - - emake DESTDIR="${D}" texmf="${ED}${TEXMF_PATH:-/usr/share/texmf-dist}" run_texlinks="true" run_mktexlsr="true" install - - cd "${S}" || die - dodir /usr/share # just in case - cp -pR texmf-dist "${ED}/usr/share/" || die "failed to install texmf trees" - cp -pR "${WORKDIR}"/tlpkg "${ED}/usr/share/" || die "failed to install tlpkg files" - - # When X is disabled mf-nowin doesn't exist but some scripts expect it to - # exist. Instead, it is called mf, so we symlink it to please everything. - use X || dosym mf /usr/bin/mf-nowin - - docinto texk - cd "${S}/texk" || die - dodoc ChangeLog README - - docinto dviljk - cd "${S}/texk/dviljk" || die - dodoc ChangeLog README NEWS - - docinto makeindexk - cd "${S}/texk/makeindexk" || die - dodoc ChangeLog NOTES README - - docinto web2c - cd "${S}/texk/web2c" || die - dodoc ChangeLog NEWS PROJECTS README - - use doc || rm -rf "${ED}/usr/share/texmf-dist/doc" - - dodir /etc/env.d - echo 'CONFIG_PROTECT_MASK="/etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d"' > "${ED}/etc/env.d/98texlive" - # populate /etc/texmf - keepdir /etc/texmf/web2c - - # take care of updmap.cfg and language.d files - keepdir /etc/texmf/{updmap.d,language.dat.d,language.def.d,language.dat.lua.d} - - mv "${ED}${TEXMF_PATH}/web2c/updmap.cfg" "${ED}/etc/texmf/updmap.d/00updmap.cfg" || die "moving updmap.cfg failed" - - # Remove fmtutil.cnf, it will be regenerated from /etc/texmf/fmtutil.d files - # by texmf-update - rm -f "${ED}${TEXMF_PATH}/web2c/fmtutil.cnf" || die - # Remove bundled and invalid updmap.cfg - rm -f "${ED}/usr/share/texmf-dist/web2c/updmap.cfg" || die - - rm -f "${ED}/usr/bin/"{,u}ptex - - [[ -n ${TEXLIVE_MODULE_BINSCRIPTS} ]] && dobin_texmf_scripts ${TEXLIVE_MODULE_BINSCRIPTS} - if [[ -n ${TEXLIVE_MODULE_BINLINKS} ]] ; then - dodir "/usr/bin" - for i in ${TEXLIVE_MODULE_BINLINKS} ; do - [[ -f ${ED}/usr/bin/${i%:*} ]] || die "Trying to install an invalid BINLINK ${i%:*}. This should not happen. Please file a bug." - dosym "${i%:*}" "/usr/bin/${i#*:}" - done - fi - - texlive-common_handle_config_files - - # the virtex symlink is not installed - # The links has to be relative, since the targets - # is not present at this stage and MacOS doesn't - # like non-existing targets - dosym tex /usr/bin/virtex - dosym pdftex /usr/bin/pdfvirtex - - find "${ED}" -name '*.la' -delete || die -} - -pkg_postinst() { - # Note that the etexmf-update and efmtutil-sys use nonfatal. We are - # pkg_postinst, so invoking die will merely print an error message - # but not abort the installation as it already happened. However, - # unlike the texlive modules, we observed fmtutil-sys failures in - # texlive-core. - - # TODO: Research the rationale of calling etexmf-update and - # eftmutil-sys here and the reasons why it sometimes fails. - nonfatal etexmf-update - nonfatal efmtutil-sys - - elog - elog "If you have configuration files in ${EPREFIX}/etc/texmf to merge," - elog "please update them and run ${EPREFIX}/usr/sbin/texmf-update." - elog - - local display_migration_hint=false - if [[ -n ${REPLACING_VERSIONS} ]]; then - local new_texlive_version=$(ver_cut 1) - local replaced_version - for replaced_version in ${REPLACING_VERSIONS}; do - replaced_version=$(ver_cut 1 "${replaced_version}") - if ver_test "${replaced_version}" -lt "${new_texlive_version}" ; then - display_migration_hint=true - break - fi - done - fi - - if ! ${display_migration_hint}; then - return - fi - - ewarn "If you are migrating from an older TeX distribution" - ewarn "Please make sure you have read:" - ewarn "https://wiki.gentoo.org/wiki/Project:TeX/Tex_Live_Migration_Guide" - ewarn "in order to avoid possible problems" -} diff --git a/app-text/texlive-core/texlive-core-2023-r2.ebuild b/app-text/texlive-core/texlive-core-2023-r2.ebuild deleted file mode 100644 index 906d98f..0000000 --- a/app-text/texlive-core/texlive-core-2023-r2.ebuild +++ /dev/null @@ -1,461 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -TL_SOURCE_VERSION=20230311 -inherit flag-o-matic toolchain-funcs libtool texlive-common - -MY_P=${PN%-core}-${TL_SOURCE_VERSION}-source - -DESCRIPTION="A complete TeX distribution" -HOMEPAGE="https://tug.org/texlive/" -SLOT="0" -LICENSE="BSD GPL-1 GPL-2 GPL-2+ GPL-3+ MIT TeX-other-free" -RESTRICT="mirror" -GENTOO_TEX_PATCHES_NUM=3 -SRC_URI=" - https://mirrors.ctan.org/systems/texlive/Source/${MY_P}.tar.xz - https://gitweb.gentoo.org/proj/tex-patches.git/snapshot/tex-patches-${GENTOO_TEX_PATCHES_NUM}.tar.bz2 - -> gentoo-tex-patches-${GENTOO_TEX_PATCHES_NUM}.tar.bz2 -" - -# Macros that are not a part of texlive-sources or or pulled in from collection-binextra -# but still needed for other packages during installation. -TL_CORE_EXTRA_CONTENTS=" - autosp.r58211 - axodraw2.r58155 - chktex.r64797 - detex.r66186 - dvi2tty.r66186 - dvidvi.r65952 - dviljk.r66186 - dvipdfmx.r69127 - dvipos.r66186 - gsftopk.r52851 - hyphen-base.r68321 - lacheck.r66186 - m-tx.r64182 - makeindex.r62517 - pmx.r65926 - texlive-scripts.r69754 - texlive-scripts-extra.r62517 - texlive.infra.r69740 - tpic2pdftex.r52851 - upmendex.r66381 - velthuis.r66186 - vlna.r66186 - xindy.r65958 - xml2pmx.r57972 -" -TL_CORE_EXTRA_DOC_CONTENTS=" - autosp.doc.r58211 - axodraw2.doc.r58155 - chktex.doc.r64797 - detex.doc.r66186 - dvi2tty.doc.r66186 - dvidvi.doc.r65952 - dviljk.doc.r66186 - dvipdfmx.doc.r69127 - dvipos.doc.r66186 - gsftopk.doc.r52851 - lacheck.doc.r66186 - m-tx.doc.r64182 - makeindex.doc.r62517 - pmx.doc.r65926 - texlive-scripts.doc.r69754 - texlive-scripts-extra.doc.r62517 - texlive.infra.doc.r69740 - tpic2pdftex.doc.r52851 - upmendex.doc.r66381 - velthuis.doc.r66186 - vlna.doc.r66186 - xindy.doc.r65958 - xml2pmx.doc.r57972 -" -TL_CORE_EXTRA_SRC_CONTENTS=" - axodraw2.source.r58155 -" - -TEXLIVE_MODULE_BINSCRIPTS=" - texmf-dist/scripts/m-tx/m-tx.lua - texmf-dist/scripts/texlive/fmtutil-sys.sh - texmf-dist/scripts/texlive/fmtutil-user.sh - texmf-dist/scripts/texlive/fmtutil.pl - texmf-dist/scripts/texlive/mktexlsr - texmf-dist/scripts/texlive/mktexlsr.pl - texmf-dist/scripts/texlive/mktexmf - texmf-dist/scripts/texlive/mktexpk - texmf-dist/scripts/texlive/mktextfm - texmf-dist/scripts/texlive/rungs.lua - texmf-dist/scripts/texlive/tlmgr.pl - texmf-dist/scripts/texlive/updmap-sys.sh - texmf-dist/scripts/texlive/updmap-user.sh - texmf-dist/scripts/texlive/updmap.pl - texmf-dist/scripts/texlive-extra/allcm.sh - texmf-dist/scripts/texlive-extra/allneeded.sh - texmf-dist/scripts/texlive-extra/dvi2fax.sh - texmf-dist/scripts/texlive-extra/dvired.sh - texmf-dist/scripts/texlive-extra/e2pall.pl - texmf-dist/scripts/texlive-extra/kpsetool.sh - texmf-dist/scripts/texlive-extra/kpsewhere.sh - texmf-dist/scripts/texlive-extra/ps2frag.sh - texmf-dist/scripts/texlive-extra/pslatex.sh - texmf-dist/scripts/texlive-extra/texconfig-dialog.sh - texmf-dist/scripts/texlive-extra/texconfig-sys.sh - texmf-dist/scripts/texlive-extra/texconfig.sh - texmf-dist/scripts/texlive-extra/texlinks.sh -" - -TEXLIVE_MODULE_BINLINKS=" - fmtutil:mktexfmt - mktexlsr:texhash - allcm:allec - kpsetool:kpsexpand - kpsetool:kpsepath -" -texlive-common_append_to_src_uri TL_CORE_EXTRA_CONTENTS - -SRC_URI+=" doc? ( " -texlive-common_append_to_src_uri TL_CORE_EXTRA_DOC_CONTENTS -SRC_URI+=" )" - -SRC_URI+=" source? ( " -texlive-common_append_to_src_uri TL_CORE_EXTRA_SRC_CONTENTS -SRC_URI+=" )" - -KEYWORDS="~amd64 ~arm64 ~ppc ~riscv ~x86" -IUSE="cjk X doc source tk +luajittex xetex xindy" - -TEXMF_PATH=/usr/share/texmf-dist -MODULAR_X_DEPEND=" - X? ( - x11-libs/libX11 - x11-libs/libXmu - )" - -COMMON_DEPEND=" - ${MODULAR_X_DEPEND} - !app-text/epspdf - !app-text/pdfjam - sys-libs/zlib - >=media-libs/harfbuzz-1.4.5:=[icu,graphite] - >=media-libs/libpng-1.2.43-r2:0= - media-libs/gd[png] - media-gfx/graphite2:= - media-gfx/potrace:= - >=x11-libs/cairo-1.12 - >=x11-libs/pixman-0.18 - dev-libs/zziplib:= - app-text/libpaper:= - dev-libs/gmp:= - dev-libs/mpfr:= - >=dev-libs/ptexenc-1.4.3 - xetex? ( - >=app-text/teckit-2.5.10 - media-libs/fontconfig - ) - xindy? ( dev-lisp/clisp:= ) - media-libs/freetype:2 - >=dev-libs/icu-50:= - >=dev-libs/kpathsea-6.3.5:= -" - -BDEPEND=" - sys-apps/ed - sys-devel/flex - virtual/pkgconfig -" - -DEPEND=" - ${COMMON_DEPEND} -" - -RDEPEND=" - ${COMMON_DEPEND} - virtual/perl-Getopt-Long - dev-perl/File-HomeDir - dev-perl/Log-Dispatch - dev-perl/Unicode-LineBreak - dev-perl/YAML-Tiny - tk? ( - dev-lang/tk - dev-perl/Tk - ) -" - -S="${WORKDIR}/${MY_P}" -BUILDDIR="${WORKDIR}/${P}_build" - -src_unpack() { - default - - mkdir -p "${BUILDDIR}" || die "failed to create build dir" -} - -RELOC_TARGET=texmf-dist - -src_prepare() { - cd "${WORKDIR}" || die - - # From texlive-module.eclass. - sed -n -e 's:\s*RELOC/::p' tlpkg/tlpobj/* > "${T}/reloclist" || die - sed -e 's/\/[^/]*$//' -e "s:^:${RELOC_TARGET}/:" "${T}/reloclist" | - sort -u | - xargs mkdir -p || die - local i - while read -r i; do - mv "${i}" "${RELOC_TARGET}/${i%/*}" || die - done < "${T}/reloclist" - mv "${WORKDIR}"/texmf* "${S}" || die "failed to move texmf files" - - cd "${S}" || die - - sed -i \ - -e "s,/usr/include /usr/local/include.*echo \$KPATHSEA_INCLUDES.*,$(pkg-config kpathsea --variable=includedir)\"," \ - texk/web2c/configure || die - - local patch_dir="${WORKDIR}/tex-patches-${GENTOO_TEX_PATCHES_NUM}" - eapply "${patch_dir}" - - default - - elibtoolize -} - -src_configure() { - # It fails on alpha without this - use alpha && append-ldflags "-Wl,--no-relax" - - # Too many regexps use A-Z a-z constructs, what causes problems with locales - # that don't have the same alphabetical order than ascii. Bug #242430 - # So we set LC_ALL to C in order to avoid problems. - export LC_ALL=C - - # Disable freetype-config as this is considered obsolete. - # Also only pkg-config works for prefix as described in bug #690094 - export ac_cv_prog_ac_ct_FT2_CONFIG=no - - local my_conf=( - --bindir="${EPREFIX}"/usr/bin - --datadir="${BUILDDIR}" - --with-system-freetype2 - --with-system-zlib - --with-system-libpng - --with-system-teckit - --with-system-kpathsea - --with-system-icu - --with-system-ptexenc - --with-system-harfbuzz - --with-system-graphite2 - --with-system-cairo - --with-system-pixman - --with-system-zziplib - --with-system-libpaper - --with-system-gmp - --with-system-gd - --with-system-mpfr - --with-system-potrace - --disable-multiplatform - --enable-chktex - --enable-epsfwin - --enable-detex - --enable-dvi2tty - --enable-mftalkwin - --enable-regiswin - --enable-shared - --enable-tektronixwin - --enable-unitermwin - --enable-vlna - --enable-year2038 - --disable-psutils - --disable-t1utils - --enable-ipc - --disable-bibtex-x - --disable-dvipng - --disable-dvipsk - --disable-lcdf-typetools - --disable-ps2pk - --disable-ttf2pk2 - --disable-tex4htk - --disable-cjkutils - --disable-xdvik - --enable-luatex - --disable-dvisvgm - --disable-ps2eps - --disable-static - --disable-native-texlive-build - --disable-largefile - --disable-xindy-docs - --disable-xindy-rules - --with-banner-add=" Gentoo Linux" - $(use_enable luajittex) - $(use_enable luajittex luajithbtex) - $(use_enable luajittex mfluajit) - $(use_enable xetex) - $(use_enable cjk dviout-util) - $(use_enable cjk ptex) - $(use_enable cjk eptex) - $(use_enable cjk uptex) - $(use_enable cjk euptex) - $(use_enable cjk mendexk) - $(use_enable cjk makejvf) - $(use_enable cjk pmp) - $(use_enable cjk upmp) - $(use_enable tk texdoctk) - $(use_with X x) - $(use_enable xindy) - --enable-ptex=no - --enable-uptex=no - --enable-autosp=yes - --enable-axodraw2=yes - --enable-devnag=yes - --enable-lacheck=yes - --enable-m-tx=yes - --enable-pmx=yes - --enable-tpic2pdftex=yes - --with-clisp-runtime=system - --enable-xml2pmx=yes - $(use_enable X xpdfopen) - --enable-web2c=yes - --enable-afm2pl=yes - --enable-dvidvi=yes - --enable-dviljk=yes - $(use_enable cjk dvipdfm-x) - --enable-dvipos=yes - --enable-gregorio=yes - --enable-gsftopk=yes - --enable-makeindexk=yes - --enable-musixtnt=yes - --enable-seetexk=yes - --enable-ttfdump=yes - --enable-upmendex=yes - --enable-texlive=yes - --enable-linked-scripts=no - # web2c afm2pl chktex dtl dvi2tty dvidvi dviljk dviout-util dvipdfm-x gregorio - ) - - # Enable the following on version bumps. While it makes the build - # always fail, presumably because texlive passes these configure - # options to sub-configures, it still points out dropped - # options. See https://bugs.gentoo.org/828591 - my_conf+=( - # --enable-option-checking=fatal - ) - - tc-export CC CXX AR RANLIB - cd "${BUILDDIR}" || die - ECONF_SOURCE="${S}" \ - econf -C "${my_conf[@]}" -} - -src_compile() { - cd "${BUILDDIR}" || die - tc-export CC CXX AR RANLIB - - emake AR="$(tc-getAR)" SHELL="${EPREFIX}"/bin/sh texmf="${EPREFIX}"${TEXMF_PATH:-/usr/share/texmf-dist} - - cd "${S}" || die - # Mimic updmap --syncwithtrees to enable only fonts installed - # Code copied from updmap script - while read -r i; do - texlive-common_is_file_present_in_texmf "${i}" || echo "${i}" - done > "${T}/updmap_update" < <(grep -E '^(Mixed|Kanji)?Map' "texmf-dist/web2c/updmap.cfg" | sed 's@.* @@') - { - sed 's@/@\\/@g; s@^@/^MixedMap[ ]*@; s@$@$/s/^/#! /@' <"${T}/updmap_update" - sed 's@/@\\/@g; s@^@/^Map[ ]*@; s@$@$/s/^/#! /@' <"${T}/updmap_update" - sed 's@/@\\/@g; s@^@/^KanjiMap[ ]*@; s@$@$/s/^/#! /@' <"${T}/updmap_update" - } > "${T}/updmap_update2" - sed -f "${T}/updmap_update2" "texmf-dist/web2c/updmap.cfg" > "${T}/updmap_update3"\ - && cat "${T}/updmap_update3" > "texmf-dist/web2c/updmap.cfg" -} - -src_install() { - cd "${BUILDDIR}" || die - dodir ${TEXMF_PATH:-/usr/share/texmf-dist}/web2c - - emake DESTDIR="${D}" texmf="${ED}${TEXMF_PATH:-/usr/share/texmf-dist}" run_texlinks="true" run_mktexlsr="true" install - - cd "${S}" || die - dodir /usr/share # just in case - cp -pR texmf-dist "${ED}/usr/share/" || die "failed to install texmf trees" - cp -pR "${WORKDIR}"/tlpkg "${ED}/usr/share/" || die "failed to install tlpkg files" - - # When X is disabled mf-nowin doesn't exist but some scripts expect it to - # exist. Instead, it is called mf, so we symlink it to please everything. - use X || dosym mf /usr/bin/mf-nowin - - docinto texk - cd "${S}/texk" || die - dodoc ChangeLog README - - docinto dviljk - cd "${S}/texk/dviljk" || die - dodoc ChangeLog README NEWS - - docinto makeindexk - cd "${S}/texk/makeindexk" || die - dodoc ChangeLog NOTES README - - docinto web2c - cd "${S}/texk/web2c" || die - dodoc ChangeLog NEWS PROJECTS README - - use doc || rm -rf "${ED}/usr/share/texmf-dist/doc" - - dodir /etc/env.d - echo 'CONFIG_PROTECT_MASK="/etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d"' > "${ED}/etc/env.d/98texlive" - # populate /etc/texmf - keepdir /etc/texmf/web2c - - # take care of updmap.cfg and language.d files - keepdir /etc/texmf/{updmap.d,language.dat.d,language.def.d,language.dat.lua.d} - - mv "${ED}${TEXMF_PATH}/web2c/updmap.cfg" "${ED}/etc/texmf/updmap.d/00updmap.cfg" || die "moving updmap.cfg failed" - - # Remove fmtutil.cnf, it will be regenerated from /etc/texmf/fmtutil.d files - # by texmf-update - rm "${ED}${TEXMF_PATH}/web2c/fmtutil.cnf" || die - - rm "${ED}/usr/bin/"{,u}ptex || die - - if ! use xindy; then - rm -rf "${ED}{TEXMF_PATH}"/{,scripts,doc}/xindy - fi - - dobin_texmf_scripts ${TEXLIVE_MODULE_BINSCRIPTS} - - dodir "/usr/bin" - for i in ${TEXLIVE_MODULE_BINLINKS} ; do - [[ -f ${ED}/usr/bin/${i%:*} ]] || die "Trying to install an invalid BINLINK ${i%:*}. This should not happen. Please file a bug." - - dosym "${i%:*}" "/usr/bin/${i#*:}" - done - - # https://bugs.gentoo.org/832139 - rm "${ED}"/usr/bin/tlmgr || die - - texlive-common_handle_config_files - - # the virtex symlink is not installed - # The links has to be relative, since the targets - # is not present at this stage and MacOS doesn't - # like non-existing targets - dosym tex /usr/bin/virtex - dosym pdftex /usr/bin/pdfvirtex - - find "${ED}" -name '*.la' -delete || die -} - -pkg_postinst() { - # Note that the etexmf-update and efmtutil-sys use nonfatal. We are - # pkg_postinst, so invoking die will merely print an error message - # but not abort the installation as it already happened. However, - # unlike the texlive modules, we observed fmtutil-sys failures in - # texlive-core. - - # TODO: Research the rationale of calling etexmf-update and - # eftmutil-sys here and the reasons why it sometimes fails. - nonfatal etexmf-update - nonfatal efmtutil-sys -} |