From b822351c471e54b5f871df0a4e788cad4c03b104 Mon Sep 17 00:00:00 2001 From: Matteo Bernardini Date: Sat, 20 Jun 2020 10:19:37 +0200 Subject: office/texlive: Removed (added to Slackware). Signed-off-by: Matteo Bernardini --- office/texlive/README | 14 - office/texlive/README.tlpkg | 17 - office/texlive/doinst.sh | 5 - office/texlive/patches/tabu.sty.diff | 32 - office/texlive/prep/texmf_get.sh | 1146 ---------------------------------- office/texlive/slack-desc | 19 - office/texlive/texlive.SlackBuild | 253 -------- office/texlive/texlive.info | 12 - 8 files changed, 1498 deletions(-) delete mode 100644 office/texlive/README delete mode 100644 office/texlive/README.tlpkg delete mode 100644 office/texlive/doinst.sh delete mode 100644 office/texlive/patches/tabu.sty.diff delete mode 100644 office/texlive/prep/texmf_get.sh delete mode 100644 office/texlive/slack-desc delete mode 100644 office/texlive/texlive.SlackBuild delete mode 100644 office/texlive/texlive.info diff --git a/office/texlive/README b/office/texlive/README deleted file mode 100644 index d08796d591be..000000000000 --- a/office/texlive/README +++ /dev/null @@ -1,14 +0,0 @@ -TeXLive (TeXLive binaries, support files, TeX formats) - -This package contains binaries and many support files, TeX formats and -packages, and other files included in the TeXLive TeX distribution. -This should be adequate for the needs of most TeX users. - -The remaining stuff can be found in texlive-extra and texlive-docs, -all of which are also available at SlackBuilds.org. - -Have a look at the scripts in the prep/ directory to see how the texmf -archives were created from the original Texlive netarchives. - -Note that this package conflicts with the tetex packages in Slackware, -so you'll need to remove tetex and tetex-doc before installing TeXLive. diff --git a/office/texlive/README.tlpkg b/office/texlive/README.tlpkg deleted file mode 100644 index 7a6f790ca8eb..000000000000 --- a/office/texlive/README.tlpkg +++ /dev/null @@ -1,17 +0,0 @@ -The TeXLive Package Manager, i.e. tlmgr(1), is not shipped with this -TeXLive package, as it's not expected to work properly (if at all). -The general consensus from the TeXLive users mailing list is that -distributions should not be shipping tlpkg. - -The *proper* way to upgrade the TeXLive Slackware package (or any -part of it) is through your Slackware's package manager. If you -elect to try tlmgr(1), and it doesn't work at all, or worse, it messes -up part of your TeXLive installation, too bad. On the other hand, -if you are able to document exactly what we need to do in order to -make it: - 1) work - 2) put updates and such in a user-specific directory, i.e. - *not* alter/replace system package contents -then we would love to hear from you. :-) - ---rworkman :-) diff --git a/office/texlive/doinst.sh b/office/texlive/doinst.sh deleted file mode 100644 index f864e767d66f..000000000000 --- a/office/texlive/doinst.sh +++ /dev/null @@ -1,5 +0,0 @@ -chroot . /usr/bin/mktexlsr 1>/dev/null 2>/dev/null -printf "y\n" | chroot . /usr/bin/updmap-sys --syncwithtrees 1>/dev/null 2>/dev/null -chroot . /usr/bin/updmap-sys 1>/dev/null 2>/dev/null -chroot . /usr/bin/fmtutil-sys --all 1>/dev/null 2>/dev/null -chroot . /usr/bin/mtxrun --generate 1>/dev/null 2>/dev/null diff --git a/office/texlive/patches/tabu.sty.diff b/office/texlive/patches/tabu.sty.diff deleted file mode 100644 index 8ebe034d189d..000000000000 --- a/office/texlive/patches/tabu.sty.diff +++ /dev/null @@ -1,32 +0,0 @@ ---- ./tabu.sty.orig 2019-01-14 16:10:48.000000000 -0600 -+++ ./tabu.sty 2019-06-30 16:24:01.975474339 -0500 -@@ -57,7 +57,7 @@ - %% - - \NeedsTeXFormat{LaTeX2e} --\ProvidesPackage{tabu}[2019/01/11 v2.9 - flexible LaTeX tabulars (FC+tabu-fixed)] -+\ProvidesPackage{tabu}[2019/01/11 v2.9 - flexible LaTeX tabulars (FC+tabu-fixed) + intermediate FMi] - \RequirePackage{array}[2008/09/09] - \RequirePackage{varwidth}[2009/03/30] - \AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined} -@@ -727,6 +727,10 @@ - \tabu@currentgrouptype\expandafter{\the\currentgrouptype}}% - \fi - }% \tabu@init -+%%TABU-FIXED set up \tabu@currentgrouptype -+%FMi cancel for nested arrays ... -+\def\@tabarray{\m@th\def\tabu@currentgrouptype{\currentgrouptype}\@ifnextchar[\@array{\@array[c]}} -+ - \def\tabu@indent{% correction for indentation - \ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget - \everypar\expandafter{% -@@ -1663,6 +1667,9 @@ - \ifdim \tabu@temp\p@>\z@ \ifdim \tabu@temp\tabucolX<\tabu@target - \tabu@target=\tabu@temp\tabucolX \fi\fi - \setbox\tabu@box \hbox \bgroup -+%%TABU-FIXED add \color@begingroup -+%%FMi not yet understood why this one is also needed ... -+ \color@begingroup - \begin{varwidth}\tabu@target - \let\FV@ListProcessLine \tabu@FV@ListProcessLine % \hbox to natural width... - \narrowragged \arraybackslash \parfillskip \@flushglue diff --git a/office/texlive/prep/texmf_get.sh b/office/texlive/prep/texmf_get.sh deleted file mode 100644 index c66a71b7f293..000000000000 --- a/office/texlive/prep/texmf_get.sh +++ /dev/null @@ -1,1146 +0,0 @@ -#!/bin/bash - -# texmf_get.sh -# -# Copyright 2016 - 2020 Johannes Schoepfer, Germany, slackbuilds@schoepfer.info -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# V 15.0.4 -# -# Prepare xz-compressed tarballs of texlive-texmf-trees based on texlive.tlpdb -# This script takes care of dependencies(as far as these are present in texlive.tlpdb) -# of collections and packages, and that every texlive-package is included only once. -# The editions(base/extra/docs) should contain no binaries(exception biber) -# -base: the most usefull stuff, most binaries/scripts, -# manpages for compiled binaries 65mb 2017-11-07 -# -docs: -base documentation only, no manpages/GNU infofiles -# -extra: remaining stuff and corresponding docs -# -# texlive netarchive policy: Every package is included as dependency -# in exactly one collection. A package may have dependencies on other -# packages from any collection. - -#set -e -MAJORVERSION=2020 -mirror="http://mirror.ctan.org/systems/texlive/tlnet/" -TMP=${TMP:-$PWD/tmp} - -# Globally excluded packages, which are/contain -# -useless without tlmgr-installer -# -non-linux, e.g. texworks -# -covered by an external package, e.g. asymptote on SBo -# -obsolete, e.g. omega -# -binaries provided already by texlive.Slackbuild -# -binaries which texlive upstream recommends to build natively, e.g. dvisvgm on SBo -# -only sources, e.g. metatype1, patch, ... - -global_exclude=" - 00texlive.config - 00texlive.image - 00texlive.installation - 00texlive.installer - aleph - antomega - asymptote - bibtexu - cslatex - dviout.win32 - lambda - ocherokee - oinuit - omega - omegaware - otibet - texlive-common - texlive-docindex - texlive-msg-translations - texosquery - texworks - tlcockpit - tlshell - wintools.win32 - dvisvgm - " - - # special packages, move their type1 fonts(if metafonts are present) - # and/or docs to -extra -special_packages=" - koma-script - velthuis - armtex - montex - vntex - pl - cc-pl - cs - musixtex-fonts - tipa - cbfonts - ptex-fonts - uptex-fonts - " -#Todo: split type1 fonts, or keep subset of type1 fonts in base -# cm-super - -# keep precompiled binaries, list binary, not package name -keep_precompiled=" - biber - " - -texmf_editions () { - - # "excludes from -base", also dependencies are excluded - PACKAGES=" - cm-super - biber - bib2gls - knitting - pst-cox - pst-poker - pst-vectorian - pst-geo - bclogo - texplate - texliveonfly - kerkis - " texmfget extra || exit 1 - - # packages/collections and their dependencies for -base - PACKAGES=" - $(grep ^"name hyphen-.*" $db | cut -d' ' -f2 ) - $special_packages - etoolbox - memoir - ptex - platex - revtex - ucs - uplatex - uptex - velthuis - wasy - xcolor - xypic - collection-basic - collection-latex - collection-metapost - collection-plaingeneric - collection-luatex - collection-context - collection-fontutils - collection-langczechslovak - collection-langeuropean - collection-langenglish - collection-langfrench - collection-langgreek - collection-langitalian - collection-langpolish - collection-langportuguese - collection-langspanish - collection-latexrecommended - $(collection_by_size fontsextra 70000 || exit 1) - $(collection_by_size latexextra 1000 || exit 1) - $(collection_by_size langchinese 5000 || exit 1) - $(collection_by_size langcjk 3000 || exit 1) - $(collection_by_size pictures 100000 || exit 1) - $(collection_by_size publishers 10000 || exit 1) - " texmfget base - - # packages/collections and their dependencies for -extra - PACKAGES=" - $(grep ^"name .*biblatex" $db | cut -d' ' -f2 ) - amiri - arabi - arabi-add - arara - arev - bangorcsthesis - beamer2thesis - beamertheme-detlevcm - beamertheme-epyt - beamertheme-npbt - beamertheme-saintpetersburg - beebe - bhcexam - bxtexlogo - collection-fontsextra - collection-langchinese - collection-langcjk - collection-langjapanese - collection-langkorean - collection-pictures - collection-publishers - collection-texworks - collection-wintools - ctan-o-mat - ctanify - ctanupload - dad - duckuments - ethiop-t1 - fibeamer - fithesis - ghsystem - gregoriotex - hustthesis - ijsra - iwhdp - jpsj - kerkis - ketcindy - kpfonts - langsci - latex2nemeth - libertine - lilyglyphs - lni - luatexko - media9 - musuos - mwe - newtx - nwejm - padauk - pdfwin - pdfx - powerdot-tuliplab - powerdot-fuberlin - quran - quran-de - realhats - resumecls - sanskrit-t1 - sapthesis - sduthesis - seuthesix - simurgh - skaknew - stellenbosch - suanpan - texdoctk - tudscr - uantwerpendocs - udesoftec - universalis - uowthesis - wasy-type1 - xduthesis - xetexko - xq - " texmfget extra || exit 1 - - # What's left, for base again - PACKAGES=" - collection-fontsrecommended - collection-xetex - collection-langcyrillic - collection-langarabic - collection-langgerman - collection-langother - collection-humanities - collection-mathscience - collection-pstricks - collection-music - collection-games - collection-binextra - collection-bibtexextra - collection-formatsextra - collection-latexextra - " texmfget base || exit 1 - -} - -# ==== Nothing to edit beyond this line ==== - -usage () { - echo - echo "Generate texmf trees/editions based on collections/packages" - echo "and their (hard)dependencies." - echo "./texmf_get.sh [base|docs|extra|lint]" - echo - echo "-base: texfiles, no docs" - echo "-docs: docs of -base" - echo "-extra: remaining texfiles and docs" - echo "[lint]: compare filename contents of all generated editions," - echo " to detect overlapping files" - echo - echo "Only new/updated/missing tex packages are downloaded." - echo "The first run takes \"long\", tex packages(about 3Gb)" - echo "need to be downloaded." - echo "To check out a new version/release, delete" - echo "$db" - echo "A new ascii index file/database(texlive.tlpdb) is will be" - echo "pulled on the next run, and a new version yymmdd will be set." - echo - echo "All generated tarballs, logs etc. are going to" - echo "$TMP" - echo -} - -collection_by_size () { - # from collection $1, pull packages smaller $2 bytes - start_n="$(grep -n ^"name collection-$1"$ $db | cut -d':' -f1)" - # find end of package/collection - for emptyline in $emptylines - do - if [ "$emptyline" -gt "$start_n" ] - then - end_n=$emptyline - break - fi - done - extrapackages="$(sed "${start_n},${end_n}!d" $db | grep ^"depend " | grep -v ^"depend collection" | sed "s/^depend//g" )" - - # add if smaller than ... - for checksize in $extrapackages - do - package_meta $checksize || exit 1 - size=$(grep ^"containersize " $texmf/$checksize.meta | cut -d' ' -f2) - # for $2, e.g. 3000 means 3kb - [ $size -lt $2 ] && echo $checksize - done -} - -package_meta () { - if [ ! -s "$texmf/$1.meta" ] - then - # collection start linenumer - start_n="$(grep -n ^"name ${1}"$ $db | cut -d':' -f1)" - [ -z "$start_n" ] && echo "$1 was not found in $db, bye." && exit 1 - # find end of package/collection - for emptyline in $emptylines - do - if [ "$emptyline" -gt "$start_n" ] - then - end_n=$emptyline - break - fi - done - # Don't handle collections as dependency of other collections - sed "${start_n},${end_n}!d;/^depend collection/d" $db > $texmf/$1.meta - fi -} - -download () { - # Download packages, if not already available. Not every packages has a corresponding .doc package. - # Try multiple times if package isn't present or checksum fails - - unset checksum_ok - if [ "$flavour" = ".doc" ] - then - sha512="$(grep ^doccontainerchecksum $texmf/$1.meta | cut -d' ' -f2 )" - else - sha512="$(grep ^containerchecksum $texmf/$1.meta | cut -d' ' -f2 )" - fi - - cd $texmf - - for run in {1..8} - do - [ ! -s "${1}${flavour}.tar.xz" ] && \ - wget -q --show-progress -t1 -c ${mirror}archive/${1}${flavour}.tar.xz - [ ! -s "${1}${flavour}.tar.xz" ] && continue - if [ "$(sha512sum ${1}${flavour}.tar.xz | cut -d' ' -f1 )" != "$sha512" ] - then - echo "sha512sum of ${1}${flavour}.tar.xz doesn't match $texmf/$1.meta" - echo "deleting ${1}${flavour}.tar.xz" - rm ${1}${flavour}.tar.xz - else - checksum_ok=yes - break - fi - done - - # If no success by downloading, write error log - if [ -z "$checksum_ok" ] - then - echo "Downloading ${1}${flavour}.tar.xz or sh512sum check was not successful,\\ - writing to $errorlog" - echo "Delete ${db}* and try again." - echo "$VERSION" >> $errorlog - echo "Error downloading ${1}${flavour}.tar.xz" >> $errorlog - exit 1 - fi -} - -untar () { - # leave if $1 has no content - if [ -s "$1" ] - then - while read package - do - echo "untar $package$flavour" - # untar all packages, check for relocation, "relocate 1" -> untar in texmf-dist - download $package || exit 1 - # untar package, relocate to texmf-dist if necessary, binary packages always need relocation - relocated='.' - [ -n "$(grep -w ^"relocated 1" $texmf/$package.meta)" -o -n "$(grep ^"binfiles " $texmf/$package.meta)" ] && relocated="texmf-dist" - # if not .doc package, investigate files for dependencies/provides - if [ -n "$flavour" ] - then - tar xf ${package}${flavour}.tar.xz --exclude tlpkg -C $relocated || exit 1 - else - tar vxf ${package}${flavour}.tar.xz \ - --exclude tlpkg/tlpobj \ - -C $relocated | grep -E '\.sty$|\.bbx$|\.cls$' > $texmf/$package.deps - if [ -n "$texmf/$package.deps" ] - then - unset provide - unset depends - for depfile in $(cat $texmf/$package.deps) - do - filename="$( echo $depfile | rev | cut -d'.' -f2- | cut -d'/' -f1 | rev)" - # always add $filename as "ProvidesPackage", if it's a .sty - echo $depfile | grep '\.sty'$ &>/dev/null - [ $? = 0 ] && provide+="${filename}," - # remove comments, if there are backslashes ignore that content, except it is \filename - #provide+="$(sed "s/%.*//g" $texmf/$relocated/$depfile | sed -n "s/.*\\\ProvidesPackage{\([^}]*\)}.*/\1/p" | sed "s/\\\filename/$filename/g;/\\\/d" | sort -u | tr '\n' ',')" - #sed -z "s/.*\\\Provides\(Package\|ExplPackage\|File\|Class\)*.\n//g" | sed "s/[[:space:]]// - #provide+="$(sed "s/%.*//g" $texmf/$relocated/$depfile | sed -z "s/.*\\\Provides\(Package\|ExplPackage\|File\|Class\)*.\n//g" | sed "s/[[:space:]]// | sed -n "s/.*\\\Provides\(Package\|ExplPackage\|File\|Class\){\([^}]*\)}.*/\2/p" | sed "s/\\\filename/$filename/g;s/\\\ExplFileName/$filename/g;/\\\/d" | sed "s/\(\.sty$\|\.cls$\)//g" | sort -u | tr '\n' ',')" - provide+="$(sed "s/%.*//g" $texmf/$relocated/$depfile | sed -z "s/\(Package\|ExplPackage\|File\|Class\)\n/\1/g" | sed "s/[[:space:]]//" | sed -n "s/.*\\\Provides\(Package\|ExplPackage\|File\|Class\){\([^}]*\)}.*/\2/p" | sed "s/\\\filename/$filename/g;s/\\\ExplFileName/$filename/g" | sed "s/\(\.sty$\|\.cls$\)//g" | sort -u | tr '\n' ',')" - #depends+="$(sed "s/%.*//g" $texmf/$relocated/$depfile | sed -n "s/.*\(\\\require\|\\\use\)package{\([^}]*\)}.*/\2/p" | sed "/\\\/d" | sort -u | tr '\n' ',')" - depends+="$(sed "s/%.*//g" $texmf/$relocated/$depfile | sed -n "s/.*\(\\\require\|\\\use\)package{\([^}]*\)}.*/\2/p" | sort -u | tr '\n' ',')" - #depends+="$(sed "s/%.*//g" $texmf/$relocated/$depfile | sed -n "s/.*\\\\(require\|use\)package{\([^}]*\)}.*/\2/p" | sed "/\\\/d" | sort -u | tr '\n' ',')" - done - if [ -n "$provide" ] - then - echo "$package $provide" >> $TMP/provides.run.$edition - fi - if [ -n "$depends" ] - then - echo "$package $depends" >> $TMP/depends.run.$edition - fi - fi - fi - - # Delete binaries, these are provided - # by the buildscript, keep symlinks and scripts - - for arch in $platforms - do - if [ -d $texmf/texmf-dist/bin/$arch ] - then - [ ! -d $texmf/texmf-dist/linked_scripts ] && \ - mkdir $texmf/texmf-dist/linked_scripts - # remove the unfortunate "man" link - [ -L "$texmf/texmf-dist/bin/$arch/man" ] && \ - rm $texmf/texmf-dist/bin/$arch/man - for link in $(find $texmf/texmf-dist/bin/$arch -type l) - do - link_valid_dest=$texmf/texmf-dist/linked_scripts/${link##*/} - # move symlink to linked_scripts - mv $link $link_valid_dest - # some links have to dangle, because target binaries are coming from the buildscript - # fix SELFAUTOPARENT in some scripts - if [ -e "$link_valid_dest" ] - then - sed -i "s/kpsewhich -var-value=SELFAUTOPARENT/kpsewhich -var-value=TEXMFROOT/g" \ - $link_valid_dest || exit 1 - fi - done - - # keep only binaries of special packages - # remove xindy.mem(gzip compresses data) to prevent overwriting - for bin in $(find $texmf/texmf-dist/bin/$arch -type f -exec file '{}' + | \ - grep -e "executable" -e "shared object" -e ELF -e "gzip compressed data" | cut -f 1 -d : ) - do - for binary in $keep_precompiled - do - if [ "$(echo $bin | rev | cut -d'/' -f1 | rev)" != "$binary" ] - then - rm $bin - echo -n "$package:" >> $binary_removed.$edition - echo $bin | rev | cut -d'/' -f1 | rev >> $binary_removed.$edition - fi - done - done - # move scripts to linked-scripts - for script in \ - $(find $texmf/texmf-dist/bin/$arch -type f -exec file '{}' + |\ - grep -wv ELF | cut -f 1 -d : ) - do - echo "Moving script/bin $script to $texmf/texmf-dist/linked_scripts/" - mv $script $texmf/texmf-dist/linked_scripts/ - done - fi - done - - for tlpkg_dir in $texmf/tlpkg $texmf/texmf-dist/tlpkg - do - if [ -d $tlpkg_dir ] - then - for bin in $(find $tlpkg_dir -type f -exec file '{}' + | \ - grep -e "executable" -e "shared object" -e ELF -e "gzip compressed data" | cut -f 1 -d : ) - do - echo "Deleting binary $bin found in $tlpkg_dir" - rm $bin - echo -n "$package:" >> $binary_removed.$edition - echo $bin | rev | cut -d'/' -f1 | rev >> $binary_removed.$edition - done - [ -d $tlpkg_dir/TeXLive ] && \ - mkdir -p $texmf/texmf-dist/scripts/texlive && \ - mv $tlpkg_dir/TeXLive $texmf/texmf-dist/scripts/texlive - fi - done - - if [ "$flavour" = ".doc" ] - then - size=$(grep ^doccontainersize $texmf/$package.meta | cut -d' ' -f2) - else - size=$(grep ^containersize $texmf/$package.meta | cut -d' ' -f2) - # add maps to updmap.cfg, don't add special_packages map files to -base - add_map=yes - if [ $edition = base ] - then - for no_map in $special_packages - do - [ $no_map = $package ] && add_map=no && break - done - fi - [ $add_map = yes ] && grep ^'execute ' $texmf/$package.meta | grep Map | cut -d' ' -f2- | sed "s/^add//g" >> $updmap.$edition - fi - shortdesc="$(grep ^shortdesc $texmf/$package.meta | cut -d' ' -f2- )" - echo "$size byte, $package$flavour: $shortdesc" >> $output.meta - # make index of uncompressed size of each package - echo "$(xz -l --verbose ${package}${flavour}.tar.xz | grep "Uncompressed size" | \ - cut -d'(' -f2 | cut -d' ' -f1 ) byte, $package$flavour: $shortdesc" >> $output.meta.uncompressed - done < $1 - - # add a path to updmap - if [ -s "$texmf/texmf-dist/linked_scripts/updmap" ] - then - sed -i '/unshift.*@INC.*/a unshift(@INC, "$TEXMFROOT/texmf-dist/scripts/texlive");' $texmf/texmf-dist/linked_scripts/updmap || exit 1 - fi - - # copy packages index to texmf-dist, to have a list of included packages in the final installation - # don't list binary packages, as the binaries itself are not contained, only the symlinks. - cat $output.meta | grep -v '\-linux:' >> $output.$edition.meta - cat $output.meta.uncompressed | grep -v '\-linux:' >> $output.$edition.meta.uncompressed - - # cleanup - [ -f $output.meta ] && rm $output.meta - [ -f $output.meta.uncompressed ] && rm $output.meta.uncompressed - fi -} - -remove_cruft () { - # Remove m$-stuff, ConTeXt single-user-system stuff, empty files/directories and pdf-manpages - rm -rf $texmf/texmf-dist/source - rm -rf $texmf/texmf-dist/scripts/context/stubs/source/ - find $texmf/texmf-dist/ -type d -name 'win32' -exec rm -rf {} + - find $texmf/texmf-dist/ -type d -name 'win64' -exec rm -rf {} + - find $texmf/texmf-dist/ -type d -name 'mswin' -exec rm -rf {} + - find $texmf/texmf-dist/ -type d -name 'win' -exec rm -rf {} + - find $texmf/texmf-dist/ -type d -name 'setup' -exec rm -rf {} + - find $texmf/texmf-dist/ -type d -name 'install' -exec rm -rf {} + - find $texmf/texmf-dist/ -type f -name 'uninstall*.sh' -delete - find $texmf/texmf-dist/ -type f -name '*.bat' -delete - find $texmf/texmf-dist/ -type f -name '*.bat.w95' -delete - find $texmf/texmf-dist/ -type f -name '*.vbs' -delete - find $texmf/texmf-dist/ -type f -name '*win32*' -delete - find $texmf/texmf-dist/ -type f -name 'winansi*' -delete - find $texmf/texmf-dist/ -type f -name '*man1.pdf' -delete - find $texmf/texmf-dist/ -type f -name '*man5.pdf' -delete - find $texmf/texmf-dist/ -type f -empty -delete - find $texmf/texmf-dist/ -type d -empty -delete -} - -texmfget () { - # make sure no package is added more than once. - echo "Preparing index of packages to be added to -${1} ..." - echo "$PACKAGES" | sed "s/[[:space:]]//g;/^$/d" > $collections_tobedone - # Remove outputfile if already present - >$output - >$output_doc - - # Only do something if $collection wasn't already done before - while [ -s $collections_tobedone ] - do - collection=$(tail -n1 $collections_tobedone) - - # continue with next collection if collection was already done - if [ -s "$collections_done" ] - then - grep -w "^${collection}$" $collections_done &> /dev/null - if [ $? = 0 ] - then - # remove from $collections_tobedone - sed -i "/^$collection$/d" $collections_tobedone - if [ -n "$(grep "^${collection} added to" $logfile)" ] - then - echo "$collection already added " >> $logfile - fi - continue - fi - fi - - package_meta $collection || exit 1 - - # If $collection is a singel package(not a collection-), add it here - if [ -n "$(head -n1 $texmf/$collection.meta | grep -v "name collection" )" ] - then - unset addpackage - # if package contains docs, add to docs-packages - if [ -n "$(grep ^docfiles $texmf/$collection.meta)" ] - then - echo "$collection" >> $output_doc - echo "$collection added to docs $1" >> $logfile - addpackage=yes - fi - # if package contains runfiles, binfiles or depend, add to edition - if [ \ - -n "$(grep ^runfiles $texmf/$collection.meta)" -o \ - -n "$(grep ^binfiles $texmf/$collection.meta)" -o \ - -n "$(grep ^depend $texmf/$collection.meta)" \ - ] - then - echo "$collection" >> $output - echo "$collection added to -$1" >> $logfile - addpackage=yes - fi - # if package contains only srcfiles, don't add to a edition - if [ -n "$(grep ^srcfiles $texmf/$collection.meta)" -a -z "$addpackage" ] - then - echo "$collection only contains srcfiles, added nowhere" >> $logfile - addpackage=yes - fi - # abort if package seems broken - if [ -z "$addpackage" ] - then - echo "$collection doesn't contain any docfiles/runfiles/binfiles/depends or srcfiles" - echo "Please exclude package/report to upstream mailinglist tex-live@tug.org, bye." - exit 1 - fi - fi - - # Don't handle collections as dependency of other collections, as this destroys control over what packages to be added - # add dependend packages, but no binary(ARCH) and no packages containing a '.'. Packges with dot indicate binary/texlive-manager/windows packages - - grep ^"depend " $texmf/$collection.meta | cut -d' ' -f2- > $dependencies - - if [ -s "$dependencies" ] - then - # check for .ARCH packages which may be binaries, scripts or links - # Binaries should all come from the sourcebuild(exception biber) - for dependency in $(cat $dependencies) - do - echo $dependency | grep '\.ARCH'$ &>/dev/null - if [ $? = 0 ] - then - for arch in $platforms - do - archpackage="$(echo $dependency | sed "s/\.ARCH$/\.$arch/")" - grep ^"name $archpackage"$ $db &>/dev/null && echo "$archpackage" >> $dependencies.verified_arch - done - else - echo $dependency >> $dependencies.verified_arch - fi - done - if [ -f $dependencies.verified_arch ] - then - mv $dependencies.verified_arch $dependencies - else - rm $dependencies - fi - fi - - if [ -s "$dependencies" ] - then - echo "----------------" >> $logfile - echo "Dependencies of $collection: $(cat $dependencies | tr '\n' ' ')" >> $logfile - for dependency in $(cat $dependencies) - do - if [ -n "$(grep ^"${dependency}"$ $collections_done)" ] - then - sed -i "/^${dependency}$/d" $dependencies - continue - else - for exclude in $global_exclude - do - if [ "$exclude" = "$dependency" ] - then - sed -i "/^${exclude}$/d" $dependencies - echo "$exclude excluded, see \$global_exclude" >> $logfile - fi - done - fi - done - cat $dependencies >> $collections_tobedone - echo "----------------" >> $logfile - fi - - sed -i "/^${collection}$/d" $collections_tobedone - echo "$collection" >> $collections_done - done - # handle package index list per edition - cat $output >> $TMP/packages.$1 - # handle doc package index, one for each edition - cat $output_doc >> $TMP/packages.$1.doc - - # untar only one $edition, untar docs together with -extra edition - if [ "$1" = $edition -o docs = $edition ] - then - cd $texmf - # Cleanup tar-directory - [ -d $texmf/texmf-dist ] && rm -rf $texmf/texmf-dist - mkdir $texmf/texmf-dist - - # Make tarball/checksum reproducible by setting mtime(clamp-mtime), - # owner, group and sort content. - # --clamp-mtime --mtime doesn't work with tar 1.13, - # when makepkg creates the tarball: - # tar-1.13: time_t value 9223372036854775808 too large (max=68719476735) - echo "Adding files to $( echo $tarball | rev | cut -d'/' -f1 | rev ) ..." - case $edition in - base) - unset flavour - untar $output || exit 1 - remove_cruft || exit 1 - tar rf $tarball --owner=0 --group=0 --sort=name texmf-dist || exit 1 - rm -rf texmf-dist - ;; - extra) - unset flavour - untar $output || exit 1 - export flavour=".doc" - untar $output_doc || exit 1 - remove_cruft || exit 1 - #tar vrf $tarball --clamp-mtime --mtime --owner=0 --group=0 --sort=name texmf-dist || exit 1 - tar rf $tarball --owner=0 --group=0 --sort=name texmf-dist || exit 1 - rm -rf texmf-dist - ;; - docs) - export flavour=".doc" - # only add -base docs to -docs - if [ $1 = base ] - then - untar $output_doc || exit 1 - remove_cruft || exit 1 - #tar vrf $tarball --clamp-mtime --mtime --owner=0 --group=0 --sort=name texmf-dist || exit 1 - tar rf $tarball --owner=0 --group=0 --sort=name texmf-dist || exit 1 - rm -rf texmf-dist - fi - ;; - esac - fi -} - -lint () { - -echo "Comparing content of all editions, this may take a while ..." -cd $TMP -# check if all editions of same VERSION are there, take -base as reference -lint_version=$( ls texlive-base-*tar.xz | head -n1 | cut -d'.' -f2 || exit 1) -if [ -s texlive-extra-$MAJORVERSION.$lint_version.tar.xz \ - -a -s texlive-docs-$MAJORVERSION.$lint_version.tar.xz ] -then - for edition in base extra docs - do - echo "Extracting index of texlive-${edition}-$MAJORVERSION.$lint_version.tar.xz ..." - # don't list directories - tar tf texlive-${edition}-$MAJORVERSION.$lint_version.tar.xz | grep -v '/'$ > $TMP/packages.$edition.lint - done - - # compare content - for edition in base extra docs - do - >$TMP/packages.$edition.lint.dup - if [ $edition = base ] - then - echo "check if files of base are present in another edition" - while read line - do - grep ^"$line"$ $TMP/packages.extra.lint >> $TMP/packages.base.lint.dup - grep ^"$line"$ $TMP/packages.docs.lint >> $TMP/packages.base.lint.dup - done < $TMP/packages.$edition.lint - fi - done -else - echo "Not all editions are present to lint them. Create them first by" - echo "$0 [base|docs|extra]" - echo "bye." - exit 1 -fi - -exit 0 - -} - -# Main - -LANG=C -output=$TMP/packages -output_doc=$TMP/packages.doc.tmp -errorlog=$TMP/error.log -texmf=$TMP/texmf -db=$TMP/texlive.tlpdb -tmpfile=$TMP/tmpfile -collections_done=$TMP/done -collections_tobedone=$TMP/tobedone -allcollections=$TMP/allcollections -binary_removed=$TMP/binaries.removed -manpages=$TMP/manpages -dependencies=$TMP/deps -packages_base=$TMP/packages.base -packages_extra=$TMP/packages.extra -packages_manpages=$TMP/packages.manpages -updmap=$TMP/updmap.cfg -files_split=$TMP/files.split -platforms="x86_64-linux i386-linux" - -mkdir -p $texmf -cd $TMP - -case "$1" in - base|docs|extra) edition=$1;; - lint) lint ;; - *) usage; exit 0 ;; -esac - -echo "Building $edition tarball ..." - -# Set VERSION, get texlive.tlpdb and keep unshorten $db.orig -if [ ! -s ${db}.orig -o ! -s $db -o ! -s VERSION ] -then - echo $MAJORVERSION.$(date +%y%m%d) > VERSION - #wget -q --show-progress -c -O ${db}.orig ${mirror}tlpkg/texlive.tlpdb - wget -q --show-progress -c -O ${db}.orig.xz ${mirror}tlpkg/texlive.tlpdb.xz - unxz ${db}.orig.xz - - # remove most content from $db to be faster on later processing. - # keep dependencies/manpages/binfiles/shortdesc/sizes - grep -E \ - '^\S|^ RELOC/doc/man|^ texmf-dist/doc/man/man|^ RELOC/doc/info/|^ texmf-dist/doc/info/|^ bin|^$' \ - ${db}.orig | grep -v ^longdesc > $db - - # As $db might be renewed, remove the all package meta-files - # to make them be created again based on (new) $db - rm -rf $texmf/*.meta -fi - -# Get linenumbers of empty lines from $db -emptylines="$(grep -n ^$ $db | cut -d':' -f1)" - -# Make a list of all collections -grep ^"name collection-" $db | cut -d' ' -f2 > $allcollections - -# translate .ARCH to platforms in excludes, to make .ARCH packages excludeable by $global_exclude -for exclude in $global_exclude -do - if [ -n "$(echo $exclude | grep '\.ARCH'$ )" ] - then - for arch in $platforms - do - global_exclude+=" $(echo $exclude | sed "s/\.ARCH$/\.$arch/")" - done - global_exclude=${global_exclude/$exclude/} - fi -done - -VERSION=$(cat $TMP/VERSION) -tarball=$TMP/texlive-$edition-$VERSION.tar -# set logfile -logfile=$TMP/$VERSION.log - -# reset some files ->$logfile ->$tarball ->$collections_done ->$files_split ->$manpages ->$packages_manpages ->$updmap.$edition ->$packages_base ->$packages_extra ->$packages_base.doc ->$packages_extra.doc ->$TMP/packages.$edition.meta ->$TMP/packages.$edition.meta.uncompressed ->$TMP/provides.run.$edition ->$TMP/depends.run.$edition ->$binary_removed.$edition - -# put the editions base/extra together -texmf_editions || exit 1 - -# Check if all collections are part in at least one edition -while read collection -do - grep -w "$collection" $collections_done &> /dev/null - if [ $? != 0 ] - then - echo "Error: $collection was not handled." - echo "Edit packages/collections in the texmfget function." | tee -a $logfile - exit 1 - fi -done < $allcollections - -# cleanup -rm $allcollections -rm $collections_done -rm $collections_tobedone -rm $output -rm $output_doc -rm $dependencies - -# untar special- and manpage packages to be splitted/moved to other editions -# splitting special packages, files index -echo "Prepare index of to be splitted/moved files from -base" -[ ! -d texmf-dist ] && mkdir texmf-dist -for package in $special_packages -do - echo "Splitting $package" - # special packages have to be in -base, as only here are special - # tasks done to reduce size of -base edition - if [ -z "$( grep ^"$package"$ $packages_base )" ] - then - echo "$package was not found to be part of -base" - echo "Edit \$special_packages in $0," - echo "it should contain only packages from -base, bye." - exit 1 - fi - unset relocated - pathprefix="texmf-dist/" - [ -n "$(grep -w ^"relocated 1" $texmf/$package.meta)" ] && \ - relocated="-C texmf-dist" && unset pathprefix - # avoid big pdf docs which are also present as html - # move (big)type1 fonts to -extra - # $files_split lists files to be moved from -base to -extra - if [ $package = "cm-super" ] - then - # cm-super minimal for -base, create index of extended cm-super - tar tf $texmf/$package.tar.xz | sed \ - "/1000\.pfb$/d;/^tlpkg/d;/\.sty$/d;/\.enc$/d;/\.GS$/d" \ - | tee -a $files_split > $files_split.tmp - else - tar tf $texmf/${package}.tar.xz | sed \ - -ne "/.*doc\/latex\/.*\.pdf$/p" \ - -ne "/.*fonts\/map\/.*\.map$/p" \ - -ne "/.*fonts\/enc\/.*\.enc$/p" \ - -ne "/.*fonts\/afm\/.*\.\(afm\|afm\.gz\)$/p" \ - -ne "/.*fonts\/type1\/.*\.pfb$/p" \ - -ne "/.*fonts\/vf\/.*\.vf$/p" \ - | tee -a $files_split > $files_split.tmp - fi - - if [ $edition = base ] - then - # Calculate package-minimal size, uncompressed and compressed - mkdir -p calculate/texmf-dist - tar xf $texmf/$package.tar.xz -C calculate/texmf-dist --exclude-from=$files_split.tmp - tar cf calculate/calc.tar.xz -I 'xz -9' calculate/texmf-dist - size_minimal=$(du -bc calculate/calc.tar.xz | tail -n1 | sed "s/[[:space:]].*//") - size_minimal_uncompressed="$(xz -l --verbose calculate/calc.tar.xz | grep "Uncompressed size" | cut -d'(' -f2 | cut -d' ' -f1 )" - sed -i \ - -e "s/^[0-9]* byte, $package: /$size_minimal byte, $package-minimal: /" \ - $output.base.meta - sed -i \ - -e "s/^[0-9]* byte, $package: /$size_minimal_uncompressed byte, $package-minimal: /" \ - $output.base.meta.uncompressed - rm -rf calculate - fi - - if [ $edition = extra ] - then - mkdir -p calculate/texmf-dist - tar xf $texmf/${package}.tar.xz -C calculate/texmf-dist $(paste $files_split.tmp) - tar cf calculate/calc.tar.xz -I 'xz -9' calculate/texmf-dist - size_extended=$(du -bc calculate/calc.tar.xz | tail -n1 | sed "s/[[:space:]].*//") - size_extended_uncompressed="$(xz -l --verbose calculate/calc.tar.xz | \ - grep "Uncompressed size" | cut -d'(' -f2 | cut -d' ' -f1 )" - - # put new sizes in package index uncompressed - sed -i \ - -e "s/^[0-9]* byte, $package: /$size_extended byte, $package-extended: /" \ - $output.extra.meta - sed -i \ - -e "s/^[0-9]* byte, $package: /$size_extended_uncompressed byte, $package-extended: /" \ - $output.extra.meta.uncompressed - rm -rf calculate - - # put map files from splitted packages in -extra - mkdir meta_tmp - tar xf $texmf/${package}.tar.xz -C meta_tmp tlpkg/tlpobj/$package.tlpobj - grep ^'execute ' meta_tmp/tlpkg/tlpobj/$package.tlpobj | \ - grep Map | cut -d' ' -f2- | sed "s/^add//g" >> $updmap.$edition - rm -rf meta_tmp - fi - - # untar to provide files for -extra - tar xf $texmf/${package}.tar.xz $relocated $(paste $files_split.tmp) - if [ $package = "cm-super" ] - then - # create cm-super- minimal config/maps with 10pt glyphs only - sed "s/cm-super/cm-super-minimal/g" $texmf/texmf-dist/dvips/cm-super/config.cm-super \ - > $texmf/texmf-dist/dvips/cm-super/config-minimal.cm-super - for map in t1 t2a t2b t2c ts1 x2 - do - grep 1000 $texmf/texmf-dist/fonts/map/dvips/cm-super/cm-super-$map.map \ - > $texmf/texmf-dist/fonts/map/dvips/cm-super/cm-super-minimal-$map.map - sed -i "/.*1000\.pfb/d" $texmf/texmf-dist/fonts/map/dvips/cm-super/cm-super-$map.map - done - fi -done - -# cleanup -rm $files_split.tmp - -# fix relocation in index for splitted packages -sed -i \ - -e "s|^doc|texmf-dist\/doc|g" \ - -e "s|^fonts|texmf-dist\/fonts|g" \ - -e "s|^dvips|texmf-dist\/dvips|g" \ - $files_split - -# sort meta data about added packages -sort -n $output.$edition.meta > $tmpfile -mv $tmpfile $output.$edition.meta -sort -n $output.$edition.meta.uncompressed > $tmpfile -mv $tmpfile $output.$edition.meta.uncompressed - -sort -u $binary_removed.$edition > $tmpfile -mv $tmpfile $binary_removed.$edition - -# include manpages/GNU infofiles in -base, write index for later exclusion from other editions. -# In -extra/-docs there should not be any manpage left. -echo "Looking for manpages/GNU infofiles to be included in -base ..." -for package in $(paste -s $packages_base.doc | sort -u) -do - if [ -n "$(grep -E "(doc/man/man|doc/info/)" $texmf/$package.meta )" ] - then - echo "Adding manpage from $package.doc to -base" - flavour=".doc" download $package || exit 1 - unset relocated - pathprefix="texmf-dist/" - [ -n "$(grep -w ^"relocated 1" $texmf/$package.meta)" ] \ - && relocated="-C texmf-dist" && unset pathprefix - tar tf $texmf/${package}.doc.tar.xz | sed \ - -ne "/.*doc\/man\/.*\.1$/p" \ - -ne "/.*doc\/man\/.*\.5$/p" \ - -ne "/.*doc\/info\/.*\.info$/p" \ - | tee -a $manpages > $manpages.tmp - # untar to provide files for -/extra/-docs - tar xf $texmf/${package}.doc.tar.xz $relocated $(paste $manpages.tmp) - echo "$package" >> $packages_manpages - fi -done -# cleanup -rm $manpages.tmp -sed -i \ - -e "s/^doc/texmf-dist\/doc/g" \ - $manpages - -case $edition in - base) - # Content info - cat << EOF | gzip -9 >> $texmf/texmf-dist/packages.$edition.gz -Content of -$edition: -$(sed "/-linux$/d" $packages_base | sort) -EOF - # create texdoc cache file - if [ $(command -v texdoc) ] - then - mkdir -p texmf-dist/scripts/texdoc || exit 1 - TEXMFVAR=$texmf/texmf-dist \ - texdoc -c texlive_tlpdb=$TMP/texlive.tlpdb.orig \ - -DlM texlive-en >/dev/null 2>&1 - mv texmf-dist/texdoc/cache-tlpdb.lua \ - texmf-dist/scripts/texdoc/Data.tlpdb.lua || exit 1 - # add cache to tarball - tar rf $tarball --owner=0 --group=0 --sort=name \ - texmf-dist/scripts/texdoc/Data.tlpdb.lua || exit 1 - else - echo "WARNING: texdoc binary(comming with texlive) is not installed, the texdoc cache" - echo "Data.tlpdb.lua can't be created and wont't be available." - echo "Texdoc will not wotk without this." - echo "" - echo "Continue with any key or abort with ctrl-c" - read -n1 - fi - - # prepare updmap.cfg - tar xf $tarball texmf-dist/web2c/updmap.cfg - end_n="$(grep -n 'end of updmap-hdr' texmf-dist/web2c/updmap.cfg | cut -d':' -f1)" - - sed "1,${end_n}!d" texmf-dist/web2c/updmap.cfg > $TMP/updmap.cfg.tmp - cat $updmap.$edition >> $TMP/updmap.cfg.tmp - mv $TMP/updmap.cfg.tmp texmf-dist/web2c/updmap.cfg - tar f $tarball --delete texmf-dist/web2c/updmap.cfg - tar rf $tarball --owner=0 --group=0 --sort=name \ - texmf-dist/web2c/updmap.cfg - -# add manpages/GNU infofiles to the tarball - tar rf $tarball --owner=0 --group=0 --sort=name \ - texmf-dist/doc/man/ texmf-dist/doc/info/ \ - texmf-dist/packages.$edition.gz \ - || exit 1 -# # add cm-super minimal maps/config -# tar rf $tarball --owner=0 --group=0 --sort=name \ -# texmf-dist/dvips/cm-super/config-minimal.cm-super \ -# --wildcards texmf-dist/fonts/map/dvips/cm-super/cm-super-minimal-*.map \ -# || exit 1 - echo "Removing files -from base, splitted from special packages to be included in -extra" - tar f $tarball --delete $(paste $files_split) || exit 1 - ;; - extra) - echo "Removing manpages from $edition which now reside in -base" - tar f $tarball --delete $(paste $manpages) 2>/dev/null - # content info - echo "Content of -$edition, including documentation:" > $texmf/texmf-dist/packages.$edition - sed "/-linux$/d" $TMP/packages.$edition | sort >> $texmf/texmf-dist/packages.$edition - gzip -9 $texmf/texmf-dist/packages.$edition -# # remove cm-super minimal config, which resides in -base -# rm \ -# $texmf/texmf-dist/dvips/cm-super/config-minimal.cm-super \ -# $texmf/texmf-dist/fonts/map/dvips/cm-super/cm-super-minimal-*.map - - # add -extra updmap.cfg - mkdir -p $texmf/texmf-dist/web2c - mv $updmap.$edition $texmf/texmf-dist/web2c - tar rf $tarball --owner=0 --group=0 --sort=name \ - --exclude texmf-dist/doc \ - texmf-dist \ - || exit 1 - ;; - docs) - # add docs splittet from base from special packages, add packages index - # content info, this edition contains all docs from -base - echo "Content of -$edition, documentation for -base:" > $texmf/texmf-dist/packages.$edition - sort $packages_base.doc >> $texmf/texmf-dist/packages.$edition - gzip -9 $texmf/texmf-dist/packages.$edition - tar rf $tarball --owner=0 --group=0 --sort=name \ - texmf-dist/doc/ \ - texmf-dist/packages.$edition.gz \ - || exit 1 - echo "Removing manpages from $edition which now reside in -base" - tar f $tarball --delete $(paste $manpages) || exit 1 - ;; -esac - -rm -rf texmf-dist -[ -f $updmap.$edition ] && rm $updmap.$edition - -# compress the tarball as everything is in place now -echo "Compressing $tarball ..." -[ -f $tarball.xz ] && rm $tarball.xz -xz -9 -T0 $tarball || exit 1 -md5sum $tarball.xz -ls -lh $tarball.xz -echo "Logfile: $logfile" diff --git a/office/texlive/slack-desc b/office/texlive/slack-desc deleted file mode 100644 index 5feea19c555c..000000000000 --- a/office/texlive/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -texlive: texlive (TeX binaries, support files, and formats) -texlive: -texlive: This package contains binaries, support files, TeX formats and -texlive: packages,and other files included in the TeXLive TeX distribution. -texlive: Included are input files for TeX, runtime configuration files, -texlive: hyphenation tables, manpages, and the computer modern fonts. -texlive: -texlive: SlackBuilds.org has more texmf files and documentation in the -texlive: texlive-extra and texlive-docs packages. -texlive: -texlive: diff --git a/office/texlive/texlive.SlackBuild b/office/texlive/texlive.SlackBuild deleted file mode 100644 index f33177ed0592..000000000000 --- a/office/texlive/texlive.SlackBuild +++ /dev/null @@ -1,253 +0,0 @@ -#!/bin/sh - -# TeXLive build script for Slackware - -# Copyright 2009, 2017 - 2020 Patrick J. Volkerding, Sebeka, MN, USA -# Copyright 2009 - 2014 Robby Workman, Northport, AL, USA -# Copyright 2016 - 2017 Johannes Schoepfer, Germany -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# URL: ftp://tug.org/historic/systems/texlive/ -# Testrelease: ftp://tug.org/texlive/Images/test/ -# Upstream stable fixes: svn://tug.org/texlive/branches/branch2020/Build/source - -PRGNAM=texlive -SOURCEVERSION=20200327 -VERSION=${VERSION:-2020.200608} -BUILD=${BUILD:-2} -TAG=${TAG:-_SBo} - -CWD=$(pwd) -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-texlive -OUTPUT=${OUTPUT:-/tmp} - -set -e - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -TEXMFROOT=/usr/share - -# NOTE: Using the system version of poppler will require texlive to be -# recompiled with pretty much every poppler update, as they almost always -# bump the shared library version. But sometimes you do what you have -# to do... -SYSTEMPOPPLER=${SYSTEMPOPPLER:-NO} -if [ "$SYSTEMPOPPLER" = "NO" ]; then - POPPLER="--without-system-poppler --without-system-xpdf" -else - POPPLER="--with-system-poppler --with-system-xpdf" -fi - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf texlive-$SOURCEVERSION-source -tar xvf $CWD/texlive-${SOURCEVERSION}-source.tar.xz || exit 1 -cd texlive-$SOURCEVERSION-source || exit 1 -chown -R root:root . -chmod -R u+w,go-w,a+rX-st . - -export LANG=C -export PATH="$PKG/usr/bin:$PATH" -export LD_LIBRARY_PATH="$PKG/usr/lib${LIBDIRSUFFIX}:$LD_LIBRARY_PATH" - -# set TEXMFROOT and TEXMFLOCAL -sed -i \ - -e "s|^TEXMFROOT.*|TEXMFROOT = $TEXMFROOT|" \ - -e "s|^TEXMFLOCAL.*|TEXMFLOCAL = \$TEXMFROOT/texmf-local|" \ - texk/kpathsea/texmf.cnf - -# prevent compiling Xdvi with libXp -sed -i 's|-lXp ||' texk/xdvik/configure - -mkdir build -cd build - CFLAGS="$SLKCFLAGS" \ - CXXFLAGS="$SLKCFLAGS -fpermissive" \ - ../configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --mandir=/usr/man \ - --infodir=/usr/info \ - --with-banner-add=' on Slackware (SlackBuilds.org)' \ - --disable-native-texlive-build \ - --enable-largefile \ - --enable-shared \ - --disable-static \ - --disable-missing \ - --disable-multiplatform \ - --disable-debug \ - --disable-dialog \ - --disable-bibtexu \ - --disable-xz \ - --with-x \ - --disable-dvisvgm \ - --enable-xindy \ - --disable-xindy-docs \ - --disable-xindy-rules \ - --with-clisp-runtime=system \ - --enable-gc=system \ - --with-system-zlib \ - --with-system-libpng \ - --with-system-t1lib \ - --with-system-gd \ - --with-system-freetype2 \ - --with-system-libgs \ - --with-system-icu \ - --with-system-pixman \ - --with-system-cairo \ - --with-system-gmp \ - --with-system-mpfr \ - --with-system-fontconfig \ - --with-system-ncurses \ - --without-system-harfbuzz \ - --disable-aleph \ - --disable-dump-share \ - --disable-linked-scripts \ - $POPPLER \ - --build=$ARCH-slackware-linux || exit 1 - - make || exit 1 - #make check || exit 1 - make install-strip DESTDIR=$PKG || exit 1 - -cd .. - -# Don't ship .la files: -rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la - -# Remove all files which are covered by tlnet -rm -rf $PKG$TEXMFROOT $PKG/usr/man $PKG/usr/info - -# install the tlnet stuff -mkdir -p $PKG$TEXMFROOT -tar xvf $CWD/texlive-base-$VERSION.tar.xz -C $PKG$TEXMFROOT || exit 1 -chown -R root:root $PKG -chmod -R u+w,go-w,a+rX-st $PKG - -# use symlinks/scripts from tlnet -for link in $PKG$TEXMFROOT/texmf-dist/linked_scripts/* ;do \ - if [ -e "$link" ]; then - ln -sf $TEXMFROOT/texmf-dist/linked_scripts/bin/${link##*/} $PKG/usr/bin/${link##*/} - else - mv $link $PKG/usr/bin/${link##*/} - fi -done -mkdir -p $PKG$TEXMFROOT/texmf-dist/bin -mv $PKG$TEXMFROOT/texmf-dist/linked_scripts/* $PKG$TEXMFROOT/texmf-dist/bin -mv $PKG$TEXMFROOT/texmf-dist/bin $PKG$TEXMFROOT/texmf-dist/linked_scripts - -# set some paths -sed -i \ - -e "s|^TEXMFROOT.*|TEXMFROOT = $TEXMFROOT|" \ - -e "s|^TEXMFLOCAL.*|TEXMFLOCAL = \$TEXMFROOT/texmf-local|" \ - -e "s|^OSFONTDIR.*|OSFONTDIR = ~/.fonts:/usr/share/fonts|" \ - $PKG$TEXMFROOT/texmf-dist/web2c/texmf.cnf - -# disable obsolete aleph/lamed/cslatex/pdfcslatex -sed -i \ - -e 's|^aleph|#! aleph|' \ - -e 's|^lamed|#! lamed|' \ - -e 's|^cslatex|#! cslatex|' \ - -e 's|^pdfcslatex|#! pdfcslatex|' \ - $PKG$TEXMFROOT/texmf-dist/web2c/fmtutil.cnf - -# make ConTeXt work -sed -i \ - -e "s|selfautoparent:|$TEXMFROOT/|g" \ - -e "s|\(TEXMFLOCAL[ ]*=[ ]*\)[^,]*|\1\"$TEXMFROOT/texmf-local\"|" \ - $PKG$TEXMFROOT/texmf-dist/web2c/texmfcnf.lua - -# provide texlive fonts optionally for other system apps -mkdir -p $PKG/etc/fonts/conf.avail -cat > $PKG/etc/fonts/conf.avail/09-texlive.conf << EOF - - - - $TEXMFROOT/texmf-dist/fonts/opentype - $TEXMFROOT/texmf-dist/fonts/truetype - -EOF - -# Install the docs while we're still here -mkdir -p $PKG/usr/doc/texlive-$VERSION -cp -a ChangeLog README* $PKG/usr/doc/texlive-$VERSION -# Install index of provided tex packages to the docs -mv $PKG$TEXMFROOT/texmf-dist/packages.base.gz $PKG/usr/doc/texlive-$VERSION - -# Put a symlink to $TEXMFROOT/texmf-dist/doc in our Slackware docdir -ln -sf $TEXMFROOT/texmf-dist/doc $PKG/usr/doc/texlive-$VERSION/doc - -# We won't make tlmgr easily available; it's still there, but -# we'll make it harder to void the warranty :-) -rm $PKG/usr/bin/tlmgr -cat $CWD/README.tlpkg > $PKG/usr/doc/texlive-$VERSION/README.tlpkg - -# Create some directories to make it clear that they're owned by this package -mkdir -p $PKG$TEXMFROOT/{texmf-config,texmf-var,texmf-local} - -# Use patch for tabu.sty from https://github.com/tabu-fixed/tabu to fix -# breakage when compiling doxygen: -( cd $PKG$TEXMFROOT/texmf-dist/tex/latex/tabu - cat $CWD/patches/tabu.sty.diff | patch -p1 --verbose || exit 1 - ) || exit 1 - -# Add texlive perl modules -mkdir -p $PKG/usr/share/perl5 -mv $PKG$TEXMFROOT/texmf-dist/scripts/texlive/TeXLive $PKG/usr/share/perl5/ - -# Move manual pages to the correct place -mkdir $PKG/usr/man -mv $PKG$TEXMFROOT/texmf-dist/doc/man/man1 $PKG/usr/man -mv $PKG$TEXMFROOT/texmf-dist/doc/man/man5 $PKG/usr/man -rmdir $PKG$TEXMFROOT/texmf-dist/doc/man - -# Handle the man pages -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $(find $PKG/usr/man -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done - -# Handle the GNU info pages -mv $PKG$TEXMFROOT/texmf-dist/doc/info $PKG/usr -gzip -9 $PKG/usr/info/* - -mkdir -p $PKG/install -cat $CWD/doinst.sh > $PKG/install/doinst.sh -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/office/texlive/texlive.info b/office/texlive/texlive.info deleted file mode 100644 index af079541e7e2..000000000000 --- a/office/texlive/texlive.info +++ /dev/null @@ -1,12 +0,0 @@ -PRGNAM="texlive" -VERSION="2020.200608" -HOMEPAGE="https://tug.org/texlive/" -DOWNLOAD="http://slackware.schoepfer.info/slackbuilds/texlive/texlive-20200327-source.tar.xz \ - http://slackware.schoepfer.info/slackbuilds/texlive/texlive-base-2020.200608.tar.xz" -MD5SUM="02963bd8eae94b278407e86c9604e761 \ - 448c337b359fdfc44321cd7928176b74" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Johannes Schoepfer" -EMAIL="slackbuilds@schoepfer.info" -- cgit v1.2.3