update to texlive-20200327
This commit is contained in:
parent
6b70a0a955
commit
ad2b3f165e
File diff suppressed because it is too large
Load Diff
46
b_one_srpm
46
b_one_srpm
@ -1,46 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This script creates texlive.spec from generated specs by tl2rpm
|
||||
# and generates local testing repository from built packages.
|
||||
# Written by Jindrich Novy (novyjindrich@gmail.com).
|
||||
#
|
||||
gcc tl2rpm.c -o tl2rpm -O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=native -march=native
|
||||
[ "$?" != "0" ] && exit 1
|
||||
rm -f _mkdirs.spec _unpack.spec _sources.spec _remove.spec _packages.spec _font.spec _files.spec _dirs.spec
|
||||
touch _mkdirs.spec
|
||||
./tl2rpm
|
||||
mv _mkdirs.spec _mkdirs.spec.tmp
|
||||
sort _mkdirs.spec.tmp > _mkdirs.spec
|
||||
rm -f _mkdirs.spec.tmp
|
||||
mv _dirs.spec _dirs.spec.tmp
|
||||
sort _dirs.spec.tmp > _dirs.spec
|
||||
rm -f _dirs.spec.tmp
|
||||
mv _sources.spec _sources.spec.tmp
|
||||
sort _sources.spec.tmp > _sources.spec
|
||||
rm -f _sources.spec.tmp
|
||||
while read LINE; do
|
||||
if [ "${LINE%% *}" = "%include" ]; then
|
||||
cat ${LINE:9}
|
||||
else
|
||||
echo "$LINE"
|
||||
fi
|
||||
done < texlive.spec.template > texlive.spec
|
||||
#exit 0
|
||||
RPMBUILDDIR=`rpm --eval "%_topdir"`
|
||||
rm -f $RPMBUILDDIR/RPMS/noarch/texlive*
|
||||
rm -f $RPMBUILDDIR/RPMS/x86_64/texlive*
|
||||
for i in `ls texlive/archive`; do
|
||||
rm -f $RPMBUILDDIR/SOURCES/$i
|
||||
done
|
||||
ACTDIR=`pwd`
|
||||
for i in `ls texlive/archive`; do
|
||||
ln -s $ACTDIR/texlive/archive/$i $RPMBUILDDIR/SOURCES/$i
|
||||
done
|
||||
LANG=C time rpmbuild -bb texlive.spec > buildlog-srpm 2>&1
|
||||
[ "$?" != "0" ] && exit 1
|
||||
mv buildlog-srpm buildlog-srpm.full
|
||||
rm -rf packages
|
||||
mkdir packages
|
||||
mv RPMS/noarch/texlive* packages
|
||||
mv RPMS/x86_64/texlive* packages
|
||||
createrepo packages
|
@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Probably should redo this in python ... but lazy
|
||||
# Copyright 2020 Tom Callaway <spot@fedoraproject.org>
|
||||
|
||||
MIRROR="http://ctan.math.illinois.edu/systems/texlive/tlnet/archive/"
|
||||
|
||||
function validate_url(){
|
||||
if [[ `wget -S --spider $1 2>&1 | grep 'HTTP/1.1 200 OK'` ]]; then
|
||||
echo "true";
|
||||
else
|
||||
echo "false";
|
||||
fi
|
||||
}
|
||||
|
||||
for i in `grep "^%package" texlive.spec | cut -d " " -f 2-`; do
|
||||
PACKAGENAME="$i";
|
||||
COMPONENTNAME=`echo $i | sed 's|-doc$|.doc|g'`;
|
||||
# Some of the older versions have trailing .NNN.NNN values. Strip em.
|
||||
CURRVERSION=`grep -A10 "%package $i$" texlive.spec | grep -m 1 "^Version:" | cut -d " " -f 2- | cut -d "." -f 1 | sed 's|^svn|r|g'`;
|
||||
# printf "$COMPONENTNAME "
|
||||
# echo "$COMPONENTNAME @ $CURRVERSION";
|
||||
MY_URL=`echo $MIRROR$COMPONENTNAME.$CURRVERSION.tar.xz`
|
||||
# echo $MY_URL
|
||||
OUTPUT=`validate_url $MY_URL`
|
||||
# echo $OUTPUT
|
||||
if $OUTPUT; then
|
||||
# echo "[$PACKAGENAME] same as upstream"
|
||||
continue
|
||||
else
|
||||
echo "$PACKAGENAME"
|
||||
fi
|
||||
done
|
123
co_archive
123
co_archive
@ -1,123 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This script checks out upstream archives from CTAN, removes unneeded files,
|
||||
# expands files required for dependency resolution by tl2rpm.
|
||||
# Written by Jindrich Novy (novyjindrich@gmail.com).
|
||||
#
|
||||
echo "Syncing with remote server..."
|
||||
[ -e texlive/archive/asana-math.tar.xz ] && mv texlive/archive/asana-math.tar.xz texlive/archive/Asana-Math.tar.xz
|
||||
[ -e texlive/archive/asana-math.doc.tar.xz ] && mv texlive/archive/asana-math.doc.tar.xz texlive/archive/Asana-Math.doc.tar.xz
|
||||
[ -e texlive/archive/lineara.tar.xz ] && mv texlive/archive/lineara.tar.xz texlive/archive/linearA.tar.xz
|
||||
[ -e texlive/archive/lineara.doc.tar.xz ] && mv texlive/archive/lineara.doc.tar.xz texlive/archive/linearA.doc.tar.xz
|
||||
[ -e texlive/archive/lineara.source.tar.xz ] && mv texlive/archive/lineara.source.tar.xz texlive/archive/linearA.source.tar.xz
|
||||
[ -e texlive/archive/musixtex-fnts.tar.xz ] && mv texlive/archive/musixtex-fnts.tar.xz texlive/archive/musixtex-fonts.tar.xz
|
||||
[ -e texlive/archive/musixtex-fnts.doc.tar.xz ] && mv texlive/archive/musixtex-fnts.doc.tar.xz texlive/archive/musixtex-fonts.doc.tar.xz
|
||||
#rsync -av --delete ftp.cstug.cz::pub/tex/local/tlpretest/archive texlive --delete-excluded \
|
||||
#rsync -av --delete rsync://ftp.ctex.org/mirrors/texlive/tlpretest/ texlive --delete-excluded \
|
||||
#rsync -av --delete ftp.cstug.cz::pub/tex/local/tlpretest/archive texlive --delete-excluded \
|
||||
#rsync -av --delete rsync://ftp.fernuni-hagen.de/ctan/systems/texlive/tlnet/archive texlive --delete-excluded \
|
||||
rsync -av --delete rsync://rsync.dante.ctan.org/CTAN/systems/texlive/tlnet/archive texlive --delete-excluded \
|
||||
--exclude '*mactex*' \
|
||||
--exclude '*.win32*' \
|
||||
--exclude '*.i386-freebsd*' \
|
||||
--exclude '*.i386-cygwin*' \
|
||||
--exclude '*.i386-solaris*' \
|
||||
--exclude '*.i386-netbsd*' \
|
||||
--exclude '*.i386-kfreebsd*' \
|
||||
--exclude '*.armel-linux*' \
|
||||
--exclude '*.mipsel-linux*' \
|
||||
--exclude '*.mips-irix*' \
|
||||
--exclude '*.powerpc-*' \
|
||||
--exclude '*.sparc-*' \
|
||||
--exclude '*.amd64-*' \
|
||||
--exclude '*.alpha-*' \
|
||||
--exclude '*.x86_64-*' \
|
||||
--exclude '*.universal-darwin*' \
|
||||
--exclude '*.armhf-linux*' \
|
||||
--exclude '*.exe.*' \
|
||||
--exclude '*.exe' \
|
||||
--exclude 'install-tl*' \
|
||||
--exclude 'breakcites*' \
|
||||
--exclude 'psutils*' \
|
||||
--exclude 'rst.*' \
|
||||
--exclude 't1utils*' \
|
||||
--exclude 'xindy*' \
|
||||
--exclude 'asymptote*' \
|
||||
--exclude 'tlpkg/*' \
|
||||
--exclude 'update-tlmgr*' | tee /tmp/rsynclogCTAN
|
||||
EXIT=$?
|
||||
[ -e texlive/archive/Asana-Math.tar.xz ] && mv texlive/archive/Asana-Math.tar.xz texlive/archive/asana-math.tar.xz
|
||||
[ -e texlive/archive/Asana-Math.doc.tar.xz ] && mv texlive/archive/Asana-Math.doc.tar.xz texlive/archive/asana-math.doc.tar.xz
|
||||
[ -e texlive/archive/linearA.tar.xz ] && mv texlive/archive/linearA.tar.xz texlive/archive/lineara.tar.xz
|
||||
[ -e texlive/archive/linearA.doc.tar.xz ] && mv texlive/archive/linearA.doc.tar.xz texlive/archive/lineara.doc.tar.xz
|
||||
[ -e texlive/archive/linearA.source.tar.xz ] && mv texlive/archive/linearA.source.tar.xz texlive/archive/lineara.source.tar.xz
|
||||
[ -e texlive/archive/musixtex-fonts.tar.xz ] && mv texlive/archive/musixtex-fonts.tar.xz texlive/archive/musixtex-fnts.tar.xz
|
||||
[ -e texlive/archive/musixtex-fonts.doc.tar.xz ] && mv texlive/archive/musixtex-fonts.doc.tar.xz texlive/archive/musixtex-fnts.doc.tar.xz
|
||||
UPDATES=`grep 'tar.xz$' /tmp/rsynclogCTAN`
|
||||
if [ "$UPDATES" == "" ]; then
|
||||
rm -f /tmp/rsynclogCTAN
|
||||
exit 0
|
||||
else
|
||||
UPDATES=`grep 'tar.xz$' /tmp/rsynclogCTAN | grep -v 'deleting'`
|
||||
for i in $UPDATES; do
|
||||
echo "+ $i"
|
||||
done
|
||||
fi
|
||||
rm -f /tmp/rsynclogCTAN
|
||||
[ $EXIT != 0 ] && exit 1
|
||||
|
||||
echo "Creating symlinks..."
|
||||
for i in `ls texlive/archive`; do
|
||||
rm -f ~/rpmbuild/SOURCES/$i
|
||||
done
|
||||
RPMBUILDDIR=`rpm --eval "%_topdir"`
|
||||
ACTDIR=`pwd`
|
||||
for i in `ls texlive/archive`; do
|
||||
ln -s $ACTDIR/texlive/archive/$i $RPMBUILDDIR/SOURCES/$i
|
||||
done
|
||||
|
||||
echo "Expanding..."
|
||||
rm -rf texlive.expanded.old
|
||||
if [ -d texlive.expanded ]; then
|
||||
mv texlive.expanded texlive.expanded.old
|
||||
else
|
||||
mkdir -p texlive.expanded.old
|
||||
fi
|
||||
mkdir texlive.expanded
|
||||
for i in texlive/archive/*.tar.xz; do
|
||||
tar xf $i -C texlive.expanded '*.sty' '*.tex' '*.cls' '*.ldf' '*.bbx' '*.cbx' '*.def' '*.tlpobj' '*.clo' '*.bug' '*.bg2' '*i386-linux*' '*texmf/scripts*' '*texmf-dist/scripts*' > /dev/null 2>&1
|
||||
done
|
||||
diff -ru texlive.expanded.old texlive.expanded > archive.diff
|
||||
|
||||
echo "Moving..."
|
||||
pushd texlive.expanded
|
||||
cp -pr doc source tex texmf-dist
|
||||
rm -rf doc source tex
|
||||
popd
|
||||
|
||||
echo "Generating tlpdb..."
|
||||
pushd ./texlive.expanded/tlpkg/tlpobj
|
||||
OUT=../../../texlive.tlpdb
|
||||
mv $OUT $OUT.bck
|
||||
for i in `ls *.tlpobj | grep -v '\.i386-linux.tlpobj$' | grep -v '\.doc.tlpobj$' | grep -v '\.source.tlpobj$'`; do
|
||||
NAME=`echo $i | sed 's/.tlpobj$//g'`
|
||||
grep -v '^catalogue-' $i >> $OUT
|
||||
if [ -e $NAME.doc.tlpobj ]; then
|
||||
grep '^docfiles' $NAME.doc.tlpobj >> $OUT
|
||||
grep '^ ' $NAME.doc.tlpobj >> $OUT
|
||||
fi
|
||||
if [ -e $NAME.source.tlpobj ]; then
|
||||
grep '^srcfiles' $NAME.source.tlpobj >> $OUT
|
||||
grep '^ ' $NAME.source.tlpobj >> $OUT
|
||||
fi
|
||||
grep '^catalogue-' $i >> $OUT
|
||||
echo >> $OUT
|
||||
if [ -e $NAME.i386-linux.tlpobj ]; then
|
||||
cat $NAME.i386-linux.tlpobj >> $OUT
|
||||
echo >> $OUT
|
||||
fi
|
||||
done
|
||||
popd
|
||||
patch texlive.tlpdb < tlpdb.patch
|
||||
[ "$?" = "1" ] && exit 1
|
||||
diff -u texlive.tlpdb.orig texlive.tlpdb > tlpdb.patch
|
63
co_source
63
co_source
@ -1,63 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This script checks out TeX Live upstream sources to build binaries,
|
||||
# removes unneeded files and generates a tarball used to build RPMs.
|
||||
# Written by Jindrich Novy (novyjindrich@gmail.com)
|
||||
#
|
||||
svn co svn://tug.org/texlive/trunk/Build/source | tee /tmp/rsynclog
|
||||
[ "$?" != "0" ] && exit 1
|
||||
UPDATES=`grep -v '^Checked out revision' /tmp/rsynclog`
|
||||
[ "$UPDATES" == "" ] && exit 0
|
||||
cp -R source source.svn
|
||||
for i in \
|
||||
'.svn' \
|
||||
'*.exe' \
|
||||
'*.dsp' \
|
||||
'*.dsw' \
|
||||
'*.orig' \
|
||||
'*vcproj*' \
|
||||
'*vcxproj*' \
|
||||
'*.vc' \
|
||||
'*vc[678]*' \
|
||||
; do
|
||||
find source -name $i | tee | xargs rm -rf
|
||||
done
|
||||
#rm -rf source/utils/biber*
|
||||
rm -rf \
|
||||
source/libs/zlib* \
|
||||
source/libs/libpng* \
|
||||
source/libs/expat* \
|
||||
source/libs/jpeg* \
|
||||
source/libs/t1lib* \
|
||||
source/libs/teckit* \
|
||||
source/libs/gd* \
|
||||
source/libs/freetype2* \
|
||||
source/libs/zziplib* \
|
||||
source/libs/poppler* \
|
||||
source/libs/unzip* \
|
||||
source/libs/xpdf* \
|
||||
source/libs/cairo* \
|
||||
source/libs/harfbuzz* \
|
||||
source/libs/pixman* \
|
||||
source/libs/libpaper* \
|
||||
source/libs/icu* \
|
||||
source/libs/graphite2* \
|
||||
source/libs/potrace* \
|
||||
source/libs/freetype/* \
|
||||
source/texk/texlive/w32_wrapper \
|
||||
source/utils/t1utils* \
|
||||
source/utils/xindy* \
|
||||
source/utils/asymptote* \
|
||||
source/utils/psutils* \
|
||||
source/utils/biber* \
|
||||
source/utils/xz* \
|
||||
source/extra*
|
||||
#source/utils/asymptote*
|
||||
DATE=`date +%Y%m%d`_r`grep Checked /tmp/rsynclog | cut -d" " -f4 | sed s/.$//`
|
||||
sed -i s/global\ source_date.*$/global\ source_date\ $DATE/g texlive.spec.template
|
||||
rm -f texlive-*-source.tar.xz
|
||||
echo "Packing..."
|
||||
time tar Oc source | xz -cv -T0 - > texlive-$DATE-source.tar.xz
|
||||
rm -rf source
|
||||
mv source.svn source
|
||||
mv texlive*-source.tar.xz `rpm --eval "%_topdir"`/SOURCES
|
313
makeTLspec.py
313
makeTLspec.py
@ -1,313 +0,0 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
# makeTLspec: Take a CTAN component name and make spec snippets for it
|
||||
#
|
||||
# Copyright (c) 2020 Tom Callaway <spot@fedoraproject.org>
|
||||
# Copyright (c) 2013-2016 Tomas Popela <tpopela@redhat.com> (from chromium-latest.py)
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining
|
||||
# a copy of this software and associated documentation files (the
|
||||
# "Software"), to deal in the Software without restriction, including
|
||||
# without limitation the rights to use, copy, modify, merge, publish,
|
||||
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||
# permit persons to whom the Software is furnished to do so, subject to
|
||||
# the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
from datetime import datetime
|
||||
from optparse import OptionParser
|
||||
import os
|
||||
import pathlib
|
||||
import requests
|
||||
import sys
|
||||
import tarfile
|
||||
import urllib.request, urllib.parse, urllib.error
|
||||
|
||||
def dlProgress(count, blockSize, totalSize):
|
||||
if (totalSize <= blockSize):
|
||||
percent = int(count * 100)
|
||||
else:
|
||||
percent = int(count * blockSize * 100 / totalSize)
|
||||
sys.stdout.write("\r" + "Downloading ... %d%%" % percent)
|
||||
sys.stdout.flush()
|
||||
|
||||
def license_to_fedora(argument):
|
||||
switcher = {
|
||||
'lppl1.3c': 'LPPL 1.3',
|
||||
'lppl1.3': 'LPPL 1.3',
|
||||
'lppl1.2': 'LPPL 1.2',
|
||||
'lppl1.1': 'LPPL 1.1',
|
||||
'lppl1': 'LPPL 1',
|
||||
'lppl': 'LPPL',
|
||||
'apache2': 'ASL 2.0',
|
||||
'artistic2': 'Artistic 2.0',
|
||||
'bsd': 'BSD',
|
||||
'fdl': 'GFDL',
|
||||
'fsl': 'GFSL',
|
||||
'gpl2': 'GPLv2',
|
||||
'gpl3': 'GPLv3',
|
||||
'gpl': 'GPL+',
|
||||
'knuth': 'Knuth',
|
||||
'lgpl2.1': 'LGPLv2',
|
||||
'lgpl': 'LGPLv2+',
|
||||
'ofl': 'OFL',
|
||||
'pd': 'Public Domain',
|
||||
'other-free': 'UNKNOWN'
|
||||
}
|
||||
return switcher.get(argument, "UNKNOWN")
|
||||
|
||||
def remove_file_if_exists(filename):
|
||||
if os.path.isfile("./%s" % filename):
|
||||
try:
|
||||
os.remove(filename)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
def downloadit(component):
|
||||
mirror = "http://ctan.math.illinois.edu/systems/texlive/tlnet/archive/"
|
||||
if options.verbose:
|
||||
print("Downloading main tarball for %s..." % component)
|
||||
componentfile = component + ".tar.xz"
|
||||
componentdocfile = component + ".doc.tar.xz"
|
||||
|
||||
texlivegitdir = str(pathlib.Path.home()) + "/git/texlive"
|
||||
try:
|
||||
os.chdir(texlivegitdir)
|
||||
except OSError:
|
||||
print("Could not change to %s... bailing out" % texlivegitdir)
|
||||
return
|
||||
|
||||
if (options.clean):
|
||||
remove_file_if_exists(componentfile)
|
||||
remove_file_if_exists(componentdocfile)
|
||||
|
||||
# Make sure we have not already downloaded the component bits
|
||||
for item in [componentfile, componentdocfile]:
|
||||
if os.path.isfile(item):
|
||||
print("%s already exists!" % item)
|
||||
else:
|
||||
url = mirror + item
|
||||
request = requests.get(url)
|
||||
if request.status_code == 200:
|
||||
print("Downloading %s" % url)
|
||||
info = urllib.request.urlretrieve(url, item, reporthook=dlProgress)[1]
|
||||
urllib.request.urlcleanup()
|
||||
print("")
|
||||
else:
|
||||
print('Tarball for %s is not on this mirror.' % item)
|
||||
remove_file_if_exists (item)
|
||||
# sys.exit(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
# We want to be in ~/git/texlive/
|
||||
texlivegitdir = str(pathlib.Path.home()) + "/git/texlive"
|
||||
sourceslistpath = texlivegitdir + "/sourceslistfile.txt"
|
||||
packagespath = texlivegitdir + "/packagesfile.txt"
|
||||
fileslistpath = texlivegitdir + "/fileslistfile.txt"
|
||||
|
||||
mirror = "http://ctan.math.illinois.edu/systems/texlive/tlnet/archive/"
|
||||
|
||||
usage = "usage: %prog [options] CTANcomponent"
|
||||
parser = OptionParser(usage)
|
||||
parser.add_option("-c", "--clean", action="store_true", help="Re-download sources")
|
||||
parser.add_option("-d", "--download", action="store_true", help="Download files fresh")
|
||||
parser.add_option("-s", "--startingsourcenum", default="1", help="Starting sourcenum for the sourceslist [default: %default]")
|
||||
parser.add_option("-t", "--timestamp", action="store_true", help="add a timestamp to the output files (if any)")
|
||||
parser.add_option("-v", "--verbose", action="store_true", help="Tell us what is happening")
|
||||
parser.add_option("-w", "--write", action="store_true", help="Write output to files")
|
||||
options, args = parser.parse_args()
|
||||
if len(args) < 1:
|
||||
parser.error("incorrect number of arguments found")
|
||||
|
||||
if options.timestamp:
|
||||
now = datetime.now()
|
||||
timestamp = now.strftime("%Y%m%d-%H%M%S")
|
||||
sourceslistpath = texlivegitdir + "/sourceslistfile-{0:s}.txt".format(timestamp)
|
||||
packagespath = texlivegitdir + "/packagesfile-{0:s}.txt".format(timestamp)
|
||||
fileslistpath = texlivegitdir + "/fileslistfile-{0:s}.txt".format(timestamp)
|
||||
|
||||
if options.write:
|
||||
# Probably want a warning if these are found since they'll be destroyed otherwise.
|
||||
sourceslistfile = open(sourceslistpath, "w")
|
||||
packagesfile = open(packagespath, "w")
|
||||
fileslistfile = open(fileslistpath, "w")
|
||||
counter = int(options.startingsourcenum)
|
||||
sortedargs = sorted(args)
|
||||
for component in sortedargs:
|
||||
masterfilelist = []
|
||||
masterdirlist = []
|
||||
if options.verbose:
|
||||
print("Starting SPEC generation for %s..." % component)
|
||||
if options.download:
|
||||
downloadit(component)
|
||||
|
||||
# Unpack tarballs if they exist
|
||||
componentfile = component + ".tar.xz"
|
||||
componentdocfile = component + ".doc.tar.xz"
|
||||
sandboxdir = texlivegitdir + "/sandbox"
|
||||
|
||||
if not os.path.exists(sandboxdir):
|
||||
os.makedirs(sandboxdir)
|
||||
|
||||
try:
|
||||
os.chdir(sandboxdir)
|
||||
except OSError:
|
||||
print("Could not change to %s... bailing out" % sandboxdir)
|
||||
else:
|
||||
if os.path.isfile(texlivegitdir + "/{0:s}".format(componentfile)) or os.path.isfile(texlivegitdir + "/{0:s}".format(componentdocfile)):
|
||||
for file in [componentfile, componentdocfile]:
|
||||
if os.path.isfile(texlivegitdir + "/{0:s}".format(file)):
|
||||
if options.write:
|
||||
sourceslistfile.write("Source{0:d}: {1:s}{2:s}\n".format(counter, mirror, file))
|
||||
counter += 1
|
||||
else:
|
||||
print("Source{0:d}: {1:s}{2:s}".format(counter, mirror, file))
|
||||
counter += 1
|
||||
|
||||
if options.verbose:
|
||||
print("Unpacking {0:s} ...".format(file), end="")
|
||||
tar = tarfile.open(texlivegitdir + "/" + file)
|
||||
filelist = tar.getnames()
|
||||
justdirs = []
|
||||
justfiles = []
|
||||
for newfile in filelist:
|
||||
mypath = pathlib.Path(newfile)
|
||||
# we dont want to generate provides for files in doc packages
|
||||
if file == componentfile:
|
||||
justfiles.append(mypath.name)
|
||||
justdirs.append(mypath.parent)
|
||||
cleandirs = [str(x) for x in justdirs if not str(x).startswith('tlpkg')]
|
||||
# Eliminate dupes
|
||||
cleandirs = list( dict.fromkeys(cleandirs) )
|
||||
masterdirlist = masterdirlist + cleandirs
|
||||
masterfilelist = masterfilelist + justfiles
|
||||
tar.extractall()
|
||||
tar.close()
|
||||
if options.verbose:
|
||||
print(" done!")
|
||||
|
||||
f = open(sandboxdir + '/tlpkg/tlpobj/' + component + '.tlpobj', 'r')
|
||||
if options.write:
|
||||
packagesfile.write("%package {0:s}\n".format(component))
|
||||
else:
|
||||
print("%package {0:s}".format(component))
|
||||
# Figure out the summary
|
||||
for line in f:
|
||||
if line.startswith('shortdesc'):
|
||||
summarytxt = line.replace('shortdesc ', '')
|
||||
if options.write:
|
||||
packagesfile.write("Summary: {0:s}\n".format(summarytxt.rstrip()))
|
||||
else:
|
||||
print("Summary: {0:s}".format(summarytxt.rstrip()))
|
||||
f = open(sandboxdir + '/tlpkg/tlpobj/' + component + '.tlpobj', 'r')
|
||||
# Figure out the version
|
||||
for line in f:
|
||||
if line.startswith('revision'):
|
||||
vernum = line.replace('revision ', '')
|
||||
if options.write:
|
||||
packagesfile.write("Version: svn{0:s}\n".format(vernum.rstrip()))
|
||||
else:
|
||||
print("Version: svn{0:s}".format(vernum.rstrip()))
|
||||
f = open(sandboxdir + '/tlpkg/tlpobj/' + component + '.tlpobj', 'r')
|
||||
# Figure out the license
|
||||
license = ''
|
||||
for line in f:
|
||||
if line.startswith('catalogue-license'):
|
||||
license = line.replace('catalogue-license ', '')
|
||||
# print(license_to_fedora(license.rstrip()))
|
||||
if options.write:
|
||||
packagesfile.write("License: {0:s}\n".format(license_to_fedora(license.rstrip())))
|
||||
else:
|
||||
print("License: {0:s}".format(license_to_fedora(license.rstrip())))
|
||||
|
||||
# Print our universal requires
|
||||
if options.write:
|
||||
packagesfile.write("Requires: texlive-base texlive-kpathsea\n")
|
||||
else:
|
||||
print("Requires: texlive-base texlive-kpathsea")
|
||||
|
||||
f = open(sandboxdir + '/tlpkg/tlpobj/' + component + '.tlpobj', 'r')
|
||||
# Print component specific requires ...
|
||||
for line in f:
|
||||
if line.startswith('depend'):
|
||||
require = line.replace('depend ', '')
|
||||
require = require.rstrip()
|
||||
if not require.endswith('.ARCH'):
|
||||
if options.write:
|
||||
packagesfile.write("Requires: tex({0:s}.sty)\n".format(require))
|
||||
else:
|
||||
print("Requires: tex({0:s}.sty)".format(require))
|
||||
|
||||
f = open(sandboxdir + '/tlpkg/tlpobj/' + component + '.tlpobj', 'r')
|
||||
# Package specific provides
|
||||
for monkey in sorted(masterfilelist):
|
||||
if str(monkey).rstrip().endswith('.sty') or str(monkey).rstrip().endswith('.tex') or str(monkey).rstrip().endswith('.bbx') or str(monkey).rstrip().endswith('.cbx') or str(monkey).rstrip().endswith('.fd') or str(monkey).rstrip().endswith('.cls') or str(monkey).rstrip().endswith('.def') or str(monkey).rstrip().endswith('.map') or str(monkey).rstrip().endswith('.enc') or str(monkey).rstrip().endswith('.bug') or str(monkey).rstrip().endswith('.bg2') or str(monkey).rstrip().endswith('.clo'):
|
||||
if options.write:
|
||||
packagesfile.write("Provides: tex(" + str(monkey) + ") = %{tl_version}\n")
|
||||
else:
|
||||
print("Provides: tex(" + str(monkey) + ") = %{tl_version}")
|
||||
|
||||
# spacer between %package and %description
|
||||
if options.write:
|
||||
packagesfile.write("\n")
|
||||
else:
|
||||
print("")
|
||||
|
||||
f = open(sandboxdir + '/tlpkg/tlpobj/' + component + '.tlpobj', 'r')
|
||||
# Here is where we make the description section for the component.
|
||||
|
||||
if options.write:
|
||||
packagesfile.write("%description {0:s}\n".format(component))
|
||||
else:
|
||||
print("%description {0:s}".format(component))
|
||||
for line in f:
|
||||
if line.startswith('longdesc'):
|
||||
descline = line.replace('longdesc ', '')
|
||||
if options.write:
|
||||
packagesfile.write(descline.rstrip() + "\n")
|
||||
else:
|
||||
print(descline.rstrip())
|
||||
if options.write:
|
||||
packagesfile.write("\n")
|
||||
else:
|
||||
print("")
|
||||
|
||||
# Here is where we make the files section for the component.
|
||||
if options.write:
|
||||
fileslistfile.write("%files {0:s}\n".format(component))
|
||||
fileslistfile.write("%license {0:s}.txt\n".format(license.rstrip()))
|
||||
else:
|
||||
print("%files {0:s}".format(component))
|
||||
print("%license {0:s}.txt".format(license.rstrip()))
|
||||
for x in sorted(masterdirlist):
|
||||
if x.startswith('doc'):
|
||||
if options.write:
|
||||
fileslistfile.write('%doc %{{_texdir}}/texmf-dist/{0:s}\n'.format(x))
|
||||
else:
|
||||
print('%doc %{{_texdir}}/texmf-dist/{0:s}'.format(x))
|
||||
else:
|
||||
if options.write:
|
||||
fileslistfile.write('%{{_texdir}}/texmf-dist/{0:s}\n'.format(x))
|
||||
else:
|
||||
print('%{{_texdir}}/texmf-dist/{0:s}'.format(x))
|
||||
if options.write:
|
||||
fileslistfile.write("\n")
|
||||
else:
|
||||
print("")
|
||||
else:
|
||||
print("Component {0:s} not found, maybe retired?".format(component))
|
||||
sourceslistfile.close()
|
||||
packagesfile.close()
|
||||
fileslistfile.close()
|
||||
print("That's all folks.")
|
||||
|
@ -1,29 +0,0 @@
|
||||
diff -up source/texk/kpathsea/mktexlsr.than source/texk/kpathsea/mktexlsr
|
||||
--- source/texk/kpathsea/mktexlsr.than 2015-06-10 17:43:50.012950721 +0200
|
||||
+++ source/texk/kpathsea/mktexlsr 2015-06-10 17:48:11.452194948 +0200
|
||||
@@ -210,7 +210,8 @@ for TEXMFLS_R in "$@"; do
|
||||
until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
|
||||
chmod $PERMS "$db_file_tmp"
|
||||
rm -f "$db_file"
|
||||
- mv "$db_file_tmp" "$db_file"
|
||||
+ # selinux fix
|
||||
+ cp "$db_file_tmp" "$db_file"
|
||||
rm -rf "$db_dir_tmp"
|
||||
done
|
||||
|
||||
diff -up source/texk/texlive/tl_scripts/fmtutil.sh.than source/texk/texlive/tl_scripts/fmtutil.sh
|
||||
--- source/texk/texlive/tl_scripts/fmtutil.sh.than 2015-06-10 17:48:30.002070364 +0200
|
||||
+++ source/texk/texlive/tl_scripts/fmtutil.sh 2015-06-10 17:49:11.923788832 +0200
|
||||
@@ -796,10 +796,10 @@ run_initex()
|
||||
log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
|
||||
|
||||
# We don't want user-interaction for the following "mv" commands:
|
||||
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
|
||||
+ cp "$format.log" "$fulldestdir/$format.log" </dev/null
|
||||
#
|
||||
destfile=$fulldestdir/$fmtfile
|
||||
- if mv "$fmtfile" "$destfile" </dev/null; then
|
||||
+ if cp "$fmtfile" "$destfile" </dev/null; then
|
||||
verboseMsg "$progname: $destfile installed."
|
||||
#
|
||||
# As a special special case, we create mplib-luatex.mem for use by
|
@ -1,31 +0,0 @@
|
||||
diff -up source/texk/kpathsea/mktexlsr.than source/texk/kpathsea/mktexlsr
|
||||
--- source/texk/kpathsea/mktexlsr.than 2015-07-28 21:31:52.595540260 -0400
|
||||
+++ source/texk/kpathsea/mktexlsr 2015-07-28 21:32:12.347422108 -0400
|
||||
@@ -217,7 +217,8 @@ for TEXMFLS_R in "$@"; do
|
||||
until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
|
||||
chmod $PERMS "$db_file_tmp"
|
||||
rm -f "$db_file"
|
||||
- mv "$db_file_tmp" "$db_file"
|
||||
+ # selinux fix
|
||||
+ cp "$db_file_tmp" "$db_file"
|
||||
rm -rf "$db_dir_tmp"
|
||||
done
|
||||
|
||||
diff -up source/texk/texlive/linked_scripts/texlive/fmtutil.pl.than source/texk/texlive/linked_scripts/texlive/fmtutil.pl
|
||||
--- source/texk/texlive/linked_scripts/texlive/fmtutil.pl.than 2015-07-28 21:34:04.856749097 -0400
|
||||
+++ source/texk/texlive/linked_scripts/texlive/fmtutil.pl 2015-07-28 21:35:19.212304314 -0400
|
||||
@@ -582,12 +582,12 @@ sub rebuild_one_format {
|
||||
}
|
||||
TeXLive::TLUtils::mkdirhier($fulldestdir);
|
||||
|
||||
- if (!File::Copy::move( "$fmt.log", "$fulldestdir/$fmt.log")) {
|
||||
+ if (!File::Copy::copy( "$fmt.log", "$fulldestdir/$fmt.log")) {
|
||||
print_deferred_error("Cannot move $fmt.log to $fulldestdir.\n");
|
||||
}
|
||||
|
||||
my $destfile = "$fulldestdir/$fmtfile";
|
||||
- if (File::Copy::move( $fmtfile, $destfile )) {
|
||||
+ if (File::Copy::copy( $fmtfile, $destfile )) {
|
||||
print_info("$destfile installed.\n");
|
||||
#
|
||||
# original fmtutil.sh did some magic trick for mplib-luatex.mem
|
@ -1,134 +0,0 @@
|
||||
diff -up ./latexdiff.pl.orig ./latexdiff.pl
|
||||
--- ./latexdiff.pl.orig 2015-12-28 19:15:33.000000000 -0500
|
||||
+++ ./latexdiff.pl 2016-06-22 15:46:24.444571914 -0400
|
||||
@@ -1465,7 +1465,7 @@ sub flatten {
|
||||
$bblfile=~s/\.tex$//;
|
||||
$bblfile.=".bbl";
|
||||
|
||||
- if ( ($includeonly) = ($preamble =~ m/\\includeonly{(.*?)}/ ) ) {
|
||||
+ if ( ($includeonly) = ($preamble =~ m/\\includeonly\{(.*?)}/ ) ) {
|
||||
$includeonly =~ s/,/|/g;
|
||||
} else {
|
||||
$includeonly = '.*?';
|
||||
@@ -1474,7 +1474,7 @@ sub flatten {
|
||||
print STDERR "DEBUG: includeonly $includeonly\n" if $debug;
|
||||
|
||||
# recursively replace \\input and \\include files
|
||||
- 1 while $text=~s/(^(?:[^%\n]|\\%)*)\\input{(.*?)}|\\include{(${includeonly}(?:\.tex)?)}/{
|
||||
+ 1 while $text=~s/(^(?:[^%\n]|\\%)*)\\input\{(.*?)}|\\include\{(${includeonly}(?:\.tex)?)}/{
|
||||
$begline=(defined($1)? $1 : "") ;
|
||||
$fname = $2 if defined($2) ;
|
||||
$fname = $3 if defined($3) ;
|
||||
@@ -1491,7 +1491,7 @@ sub flatten {
|
||||
"$begline$newpage$replacement$newpage";
|
||||
}/exgm;
|
||||
# replace bibliography with bbl file if it exists
|
||||
- $text=~s/(^(?:[^%\n]|\\%)*)\\bibliography{(.*?)}/{
|
||||
+ $text=~s/(^(?:[^%\n]|\\%)*)\\bibliography\{(.*?)}/{
|
||||
if ( -f $bblfile ){
|
||||
$replacement=read_file_with_encoding(File::Spec->catfile($bblfile), $encoding);
|
||||
} else {
|
||||
@@ -1502,7 +1502,7 @@ sub flatten {
|
||||
"$begline$replacement";
|
||||
}/exgm;
|
||||
# replace subfile with contents (subfile package)
|
||||
- $text=~s/(^(?:[^%\n]|\\%)*)\\subfile{(.*?)}/{
|
||||
+ $text=~s/(^(?:[^%\n]|\\%)*)\\subfile\{(.*?)}/{
|
||||
$begline=(defined($1)? $1 : "") ;
|
||||
$fname = $2;
|
||||
# # add tex extension unless there is a three letter extension already
|
||||
@@ -2244,7 +2244,7 @@ sub take_comments_and_enter_from_frac()
|
||||
sub preprocess {
|
||||
for (@_) {
|
||||
# Change \{ to \QLEFTBRACE, \} to \QRIGHTBRACE, and \& to \AMPERSAND
|
||||
- s/(?<!\\)\\{/\\QLEFTBRACE /sg;
|
||||
+ s/(?<!\\)\\\{/\\QLEFTBRACE /sg;
|
||||
s/(?<!\\)\\}/\\QRIGHTBRACE /sg;
|
||||
s/(?<!\\)\\&/\\AMPERSAND /sg;
|
||||
# replace {,} in comments with \\CLEFTBRACE,\\CRIGHTBRACE
|
||||
@@ -2258,29 +2258,29 @@ sub preprocess {
|
||||
s/\\begin\{(verbatim\*?)\}(.*?)\\end\{\1\}/"\\${1}{". tohash(\%verbhash,"${2}") . "}"/esg;
|
||||
# Convert _n or _\cmd into \SUBSCRIPTNB{n} or \SUBSCRIPTNB{\cmd} and _{nnn} into \SUBSCRIPT{nn}
|
||||
1 while s/(?<!\\)_(\s*([^{\\\s]|\\\w+))/\\SUBSCRIPTNB{$1}/g ;
|
||||
- 1 while s/(?<!\\)_(\s*{($pat_n)})/\\SUBSCRIPT$1/g ;
|
||||
+ 1 while s/(?<!\\)_(\s*\{($pat_n)})/\\SUBSCRIPT$1/g ;
|
||||
# Convert ^n into \SUPERSCRIPTNB{n} and ^{nnn} into \SUPERSCRIPT{nn}
|
||||
1 while s/(?<!\\)\^(\s*([^{\\\s]|\\\w+))/\\SUPERSCRIPTNB{$1}/g ;
|
||||
- 1 while s/(?<!\\)\^(\s*{($pat_n)})/\\SUPERSCRIPT$1/g ;
|
||||
+ 1 while s/(?<!\\)\^(\s*\{($pat_n)})/\\SUPERSCRIPT$1/g ;
|
||||
# Convert \sqrt{n} into \SQRT{n} and \sqrt nn into SQRTNB{nn}
|
||||
1 while s/(?<!\\)\\sqrt(\s*([^{\\\s]|\\\w+))/\\SQRTNB{$1}/g ;
|
||||
- 1 while s/(?<!\\)\\sqrt(\s*{($pat_n)})/\\SQRT$1/g ;
|
||||
+ 1 while s/(?<!\\)\\sqrt(\s*\{($pat_n)})/\\SQRT$1/g ;
|
||||
# Convert $$ $$ into \begin{DOLLARDOLLAR} \end{DOLLARDOLLAR}
|
||||
s/\$\$(.*?)\$\$/\\begin{DOLLARDOLLAR}$1\\end{DOLLARDOLLAR}/sg;
|
||||
# Convert \[ \] into \begin{SQUAREBRACKET} \end{SQUAREBRACKET}
|
||||
s/(?<!\\)\\\[/\\begin{SQUAREBRACKET}/sg;
|
||||
s/\\\]/\\end{SQUAREBRACKET}/sg;
|
||||
# Convert all picture environmentent (\begin{PICTUREENV} .. \end{PICTUREENV} \PICTUREBLOCKenv
|
||||
- s/\\begin{($PICTUREENV)}(.*?)\\end{\1}/\\PICTUREBLOCK$1\{$2\}/sg;
|
||||
+ s/\\begin\{($PICTUREENV)}(.*?)\\end\{\1}/\\PICTUREBLOCK$1\{$2\}/sg;
|
||||
# For --block-math-markup option -convert all \begin{MATH} .. \end{MATH}
|
||||
# into \MATHBLOCKMATH{...} commands, where MATH is any valid math environment
|
||||
# Also convert all array environments into ARRAYBLOCK environments
|
||||
if ( $mathmarkup != FINE ) {
|
||||
- s/\\begin{($ARRENV)}(.*?)\\end{\1}/\\ARRAYBLOCK$1\{$2\}/sg;
|
||||
+ s/\\begin\{($ARRENV)}(.*?)\\end\{\1}/\\ARRAYBLOCK$1\{$2\}/sg;
|
||||
|
||||
take_comments_and_enter_from_frac();
|
||||
|
||||
- s/\\begin{($MATHENV|$MATHARRENV|SQUAREBRACKET)}(.*?)\\end{\1}/\\MATHBLOCK$1\{$2\}/sg;
|
||||
+ s/\\begin\{($MATHENV|$MATHARRENV|SQUAREBRACKET)}(.*?)\\end\{\1}/\\MATHBLOCK$1\{$2\}/sg;
|
||||
}
|
||||
# add final token " STOP"
|
||||
$_ .= " STOP"
|
||||
@@ -2566,15 +2566,15 @@ sub postprocess {
|
||||
# environments) are between the \begin{$MATHENV} and \end{MATHMODE} commands. This is necessary as the minimal matching
|
||||
# is not globally minimal but only 'locally' (matching is beginning from the left side of the string)
|
||||
if ( $mathmarkup == FINE ) {
|
||||
- 1 while s/\\begin{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}((?:.(?!(?:\\end{(?:(?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}|\\begin{MATHMODE})))*?)\\end{MATHMODE}/\\begin{$1}$2\\end{$1}/s;
|
||||
- 1 while s/\\begin{MATHMODE}((?:.(?!\\end{MATHMODE}))*?)\\end{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}/\\begin{$2}$1\\end{$2}/s;
|
||||
- # convert remaining \begin{MATHMODE} \end{MATHMODE} (and not containing & or \\ )into MATHREPL environments
|
||||
- s/\\begin{MATHMODE}((?:(.(?!(?<!\\)\&|\\\\))*)?)\\end{MATHMODE}/\\begin{$MATHREPL}$1\\end{$MATHREPL}/sg;
|
||||
+ 1 while s/\\begin\{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}((?:.(?!(?:\\end\{(?:(?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}|\\begin\{MATHMODE})))*?)\\end\{MATHMODE}/\\begin{$1}$2\\end{$1}/s;
|
||||
+ 1 while s/\\begin\{MATHMODE}((?:.(?!\\end\{MATHMODE}))*?)\\end\{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}/\\begin{$2}$1\\end{$2}/s;
|
||||
+ # convert remaining \begin\{MATHMODE} \end{MATHMODE} (and not containing & or \\ )into MATHREPL environments
|
||||
+ s/\\begin\{MATHMODE}((?:(.(?!(?<!\\)\&|\\\\))*)?)\\end\{MATHMODE}/\\begin{$MATHREPL}$1\\end{$MATHREPL}/sg;
|
||||
# others into MATHARRREPL
|
||||
- s/\\begin{MATHMODE}(.*?)\\end{MATHMODE}/\\begin{$MATHARRREPL}$1\\end{$MATHARRREPL}/sg;
|
||||
+ s/\\begin\{MATHMODE}(.*?)\\end\{MATHMODE}/\\begin{$MATHARRREPL}$1\\end{$MATHARRREPL}/sg;
|
||||
|
||||
# now look for AUXCMD math-mode pairs which have only comments (or empty lines between them), and remove the added commands
|
||||
- s/\\begin{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}$AUXCMD\n((?:\s*%.[^\n]*\n)*)\\end{\1}$AUXCMD\n/$2/sg;
|
||||
+ s/\\begin\{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}$AUXCMD\n((?:\s*%.[^\n]*\n)*)\\end{\1}$AUXCMD\n/$2/sg;
|
||||
} else {
|
||||
# math modes OFF,WHOLE,COARSE: Convert \MATHBLOCKmath{..} commands back to environments
|
||||
s/\\MATHBLOCK($MATHENV|$MATHARRENV|SQUAREBRACKET)\{($pat_n)\}/\\begin{$1}$2\\end{$1}/sg;
|
||||
@@ -2652,19 +2652,19 @@ sub postprocess {
|
||||
# undo renaming of the \begin and \end,{,} and dollars in comments
|
||||
1 while s/(%.*)DOLLARDIF/$1\$/mg ;
|
||||
# Convert \begin{SQUAREBRACKET} \end{SQUAREBRACKET} into \[ \]
|
||||
- s/\\end{SQUAREBRACKET}/\\\]/sg;
|
||||
- s/\\begin{SQUAREBRACKET}/\\\[/sg;
|
||||
+ s/\\end\{SQUAREBRACKET}/\\\]/sg;
|
||||
+ s/\\begin\{SQUAREBRACKET}/\\\[/sg;
|
||||
# 4. Convert \begin{DOLLARDOLLAR} \end{DOLLARDOLLAR} into $$ $$
|
||||
s/\\begin\{DOLLARDOLLAR\}(.*?)\\end\{DOLLARDOLLAR\}/\$\$$1\$\$/sg;
|
||||
# 5. Convert \SUPERSCRIPTNB{n} into ^n and \SUPERSCRIPT{nn} into ^{nnn}
|
||||
- 1 while s/\\SUPERSCRIPT(\s*{($pat_n)})/^$1/g ;
|
||||
- 1 while s/\\SUPERSCRIPTNB{(\s*$pat0)}/^$1/g ;
|
||||
+ 1 while s/\\SUPERSCRIPT(\s*\{($pat_n)})/^$1/g ;
|
||||
+ 1 while s/\\SUPERSCRIPTNB\{(\s*$pat0)}/^$1/g ;
|
||||
# Convert \SUBSCRIPNB{n} into _n and \SUBCRIPT{nn} into _{nnn}
|
||||
- 1 while s/\\SUBSCRIPT(\s*{($pat_n)})/_$1/g ;
|
||||
- 1 while s/\\SUBSCRIPTNB{(\s*$pat0)}/_$1/g ;
|
||||
+ 1 while s/\\SUBSCRIPT(\s*\{($pat_n)})/_$1/g ;
|
||||
+ 1 while s/\\SUBSCRIPTNB\{(\s*$pat0)}/_$1/g ;
|
||||
# Convert \SQRT{n} into \sqrt{n} and \SQRTNB{nn} into \sqrt nn
|
||||
- 1 while s/\\SQRT(\s*{($pat_n)})/\\sqrt$1/g ;
|
||||
- 1 while s/\\SQRTNB{(\s*$pat0)}/\\sqrt$1/g ;
|
||||
+ 1 while s/\\SQRT(\s*\{($pat_n)})/\\sqrt$1/g ;
|
||||
+ 1 while s/\\SQRTNB\{(\s*$pat0)}/\\sqrt$1/g ;
|
||||
|
||||
1 while s/(%.*)\\CRIGHTBRACE (.*)$/$1\}$2/mg ;
|
||||
1 while s/(%.*)\\CLEFTBRACE (.*)$/$1\{$2/mg ;
|
@ -1,121 +0,0 @@
|
||||
diff -U0 texlive-2016/source/texk/upmendex/ChangeLog.than texlive-2016/source/texk/upmendex/ChangeLog
|
||||
--- texlive-2016/source/texk/upmendex/ChangeLog.than 2017-03-08 15:14:32.529825017 +0100
|
||||
+++ texlive-2016/source/texk/upmendex/ChangeLog 2017-03-08 15:17:34.235944067 +0100
|
||||
@@ -0,0 +1,6 @@
|
||||
+2016-06-19 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
|
||||
+
|
||||
+ * version 0.51 Beta version.
|
||||
+ * fwrite.c: Fix bug of option "hanzi_head" in style file.
|
||||
+ Thanks to Dr. Werner Fink.
|
||||
+
|
||||
diff -up texlive-2016/source/texk/upmendex/fwrite.c.than texlive-2016/source/texk/upmendex/fwrite.c
|
||||
--- texlive-2016/source/texk/upmendex/fwrite.c.than 2017-03-08 15:13:29.460213372 +0100
|
||||
+++ texlive-2016/source/texk/upmendex/fwrite.c 2017-03-08 15:17:34.235944067 +0100
|
||||
@@ -67,33 +67,38 @@ static inline int SAPPENDF(char *buf, co
|
||||
|
||||
static void fprint_uchar(FILE *fp, const UChar *a, const int mode, const int len)
|
||||
{
|
||||
- int k;
|
||||
- char str[15], *ret;
|
||||
- UChar istr[5];
|
||||
+ char str[3*INITIALLENGTH+1];
|
||||
+ UChar istr[INITIALLENGTH];
|
||||
int olen, wclen;
|
||||
UErrorCode perr;
|
||||
|
||||
if (len<0) {
|
||||
- for (k=0; a[k] || k<4; k++) istr[k]=a[k];
|
||||
- wclen=k;
|
||||
+ u_strcpy(istr,a);
|
||||
+ wclen=u_strlen(istr);
|
||||
} else {
|
||||
- wclen = is_surrogate_pair(a) ? 2 : 1;
|
||||
+ wclen=is_surrogate_pair(a) ? 2 : 1;
|
||||
istr[0]=a[0];
|
||||
if (wclen==2) istr[1]=a[1];
|
||||
+ istr[wclen]=L'\0';
|
||||
}
|
||||
- istr[wclen]=L'\0';
|
||||
if (mode==M_TO_UPPER) {
|
||||
- perr = U_ZERO_ERROR;
|
||||
- u_strToUpper(istr,5,istr,wclen,"",&perr);
|
||||
+ perr=U_ZERO_ERROR;
|
||||
+ olen=u_strToUpper(istr,INITIALLENGTH,istr,wclen,"",&perr);
|
||||
} else if (mode==M_TO_LOWER) {
|
||||
- perr = U_ZERO_ERROR;
|
||||
- u_strToLower(istr,5,istr,wclen, istr[0]==0x130&&turkish_i?"tr":"", &perr);
|
||||
+ perr=U_ZERO_ERROR;
|
||||
+ olen=u_strToLower(istr,INITIALLENGTH,istr,wclen, istr[0]==0x130&&turkish_i?"tr":"", &perr);
|
||||
} else if (mode==M_TO_TITLE) {
|
||||
- perr = U_ZERO_ERROR;
|
||||
- u_strToTitle(istr,5,istr,wclen,NULL,"",&perr);
|
||||
- }
|
||||
- perr = U_ZERO_ERROR;
|
||||
- ret = u_strToUTF8(str, 15, &olen, istr, wclen, &perr);
|
||||
+ perr=U_ZERO_ERROR;
|
||||
+ olen=u_strToTitle(istr,INITIALLENGTH,istr,wclen,NULL,"",&perr);
|
||||
+ } else
|
||||
+ olen=wclen;
|
||||
+ if (olen>INITIALLENGTH) {
|
||||
+ warn_printf(efp, "\nWarning, Too long (%d) header.\n", olen);
|
||||
+ wclen=INITIALLENGTH;
|
||||
+ } else
|
||||
+ wclen=olen;
|
||||
+ perr=U_ZERO_ERROR;
|
||||
+ u_strToUTF8(str, 3*INITIALLENGTH+1, &olen, istr, wclen, &perr);
|
||||
fprintf(fp,"%s",str);
|
||||
}
|
||||
|
||||
@@ -844,7 +849,7 @@ static int initial_cmp_char(UChar *ini,
|
||||
static int init_hanzi_header(void)
|
||||
{
|
||||
UChar strX[2],*pch0,*pch1;
|
||||
- int k, hzmode;
|
||||
+ int k, hzmode, len;
|
||||
struct hanzi_index *hz_idx_init;
|
||||
|
||||
strX[0]=0x5B57; strX[1]=L'\0';
|
||||
@@ -878,21 +883,18 @@ static int init_hanzi_header(void)
|
||||
for (k=0;k<hz_index_len;k++) {
|
||||
if (u_strlen(pch0)==0) break;
|
||||
if ((pch1=u_strchr(pch0,L';'))>0) {
|
||||
- if (pch1-pch0>=INITIALLENGTH) {
|
||||
- warn_printf(efp, "\nWarning, Too long hanzi header.\n");
|
||||
- break;
|
||||
- }
|
||||
- u_strncpy(hz_index[k].idx,pch0,pch1-pch0);
|
||||
- hz_index[k].idx[pch1-pch0]=L'\0';
|
||||
- pch0=pch1+1;
|
||||
+ len=pch1-pch0;
|
||||
} else {
|
||||
- if (u_strlen(pch0)>=INITIALLENGTH) {
|
||||
- warn_printf(efp, "\nWarning, Too long hanzi header.\n");
|
||||
- break;
|
||||
- }
|
||||
- u_strcpy(hz_index[k].idx,pch0);
|
||||
- break;
|
||||
+ len=u_strlen(pch0);
|
||||
}
|
||||
+ if (len>=INITIALLENGTH) {
|
||||
+ warn_printf(efp, "\nWarning, Too long (%d) hanzi header.\n", len);
|
||||
+ len=INITIALLENGTH-1;
|
||||
+ }
|
||||
+ u_strncpy(hz_index[k].idx,pch0,len);
|
||||
+ hz_index[k].idx[len]=L'\0';
|
||||
+ if (pch1>0) pch0=pch1+1;
|
||||
+ else break;
|
||||
}
|
||||
|
||||
return hzmode;
|
||||
diff -up texlive-2016/source/texk/upmendex/main.c.than texlive-2016/source/texk/upmendex/main.c
|
||||
--- texlive-2016/source/texk/upmendex/main.c.than 2017-03-08 15:13:49.460455992 +0100
|
||||
+++ texlive-2016/source/texk/upmendex/main.c 2017-03-08 15:17:34.236944029 +0100
|
||||
@@ -19,7 +19,7 @@ char *styfile,*idxfile[256],*indfile,*di
|
||||
#endif
|
||||
KpathseaSupportInfo kp_ist,kp_dict;
|
||||
|
||||
-#define VERSION "version 0.50"
|
||||
+#define VERSION "version 0.51"
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
@ -1,41 +0,0 @@
|
||||
diff -up source/texk/kpathsea/mktexlsr.than source/texk/kpathsea/mktexlsr
|
||||
--- source/texk/kpathsea/mktexlsr.than 2015-07-28 21:31:52.595540260 -0400
|
||||
+++ source/texk/kpathsea/mktexlsr 2015-07-28 21:32:12.347422108 -0400
|
||||
@@ -217,7 +217,8 @@ for TEXMFLS_R in "$@"; do
|
||||
until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
|
||||
chmod $PERMS "$db_file_tmp"
|
||||
rm -f "$db_file"
|
||||
- mv "$db_file_tmp" "$db_file"
|
||||
+ # selinux fix
|
||||
+ cp "$db_file_tmp" "$db_file"
|
||||
rm -rf "$db_dir_tmp"
|
||||
done
|
||||
|
||||
diff -up source/texk/texlive/linked_scripts/texlive/fmtutil.pl.orig source/texk/texlive/linked_scripts/texlive/fmtutil.pl
|
||||
--- source/texk/texlive/linked_scripts/texlive/fmtutil.pl.orig 2016-06-22 10:58:50.754708661 -0400
|
||||
+++ source/texk/texlive/linked_scripts/texlive/fmtutil.pl 2016-06-22 11:00:32.566943691 -0400
|
||||
@@ -679,7 +679,7 @@ sub rebuild_one_format {
|
||||
}
|
||||
TeXLive::TLUtils::mkdirhier($fulldestdir);
|
||||
|
||||
- if (!File::Copy::move( "$fmt.log", "$fulldestdir/$fmt.log")) {
|
||||
+ if (!File::Copy::copy( "$fmt.log", "$fulldestdir/$fmt.log")) {
|
||||
print_deferred_error("Cannot move $fmt.log to $fulldestdir.\n");
|
||||
}
|
||||
if ($opts{'recorder'}) {
|
||||
@@ -687,13 +687,13 @@ sub rebuild_one_format {
|
||||
# package dependencies for each format. Unfortunately omega-based
|
||||
# engines gratuitiously changed the extension from .fls to .ofl.
|
||||
my $recfile = $fmt . ($fmt =~ m/^(aleph|lamed)$/ ? ".ofl" : ".fls");
|
||||
- if (!File::Copy::move( $recfile, "$fulldestdir/$recfile")) {
|
||||
+ if (!File::Copy::copy( $recfile, "$fulldestdir/$recfile")) {
|
||||
print_deferred_error("Cannot move $recfile to $fulldestdir.\n");
|
||||
}
|
||||
}
|
||||
|
||||
my $destfile = "$fulldestdir/$fmtfile";
|
||||
- if (File::Copy::move( $fmtfile, $destfile )) {
|
||||
+ if (File::Copy::copy( $fmtfile, $destfile )) {
|
||||
print_info("$destfile installed.\n");
|
||||
#
|
||||
# original fmtutil.sh did some magic trick for mplib-luatex.mem
|
@ -1,40 +0,0 @@
|
||||
diff -up ./source/libs/xpdf/xpdf-src/misc/xpdf.dt ./source/libs/xpdf/xpdf-src/misc/xpdf
|
||||
diff -up ./source/texk/lcdf-typetools/tests/t1.test.dt ./source/texk/lcdf-typetools/tests/t1.test
|
||||
--- ./source/texk/lcdf-typetools/tests/t1.test.dt 2018-02-11 10:47:00.407885931 +0100
|
||||
+++ ./source/texk/lcdf-typetools/tests/t1.test 2018-02-11 10:47:47.274470298 +0100
|
||||
@@ -17,10 +17,6 @@ cat $srcdir/tests/uhvrrc8a.pfb | $LCDF_T
|
||||
&& echo "t1dotlessj/bin tests OK" \
|
||||
|| failed="$failed t1dotlessj/bin"
|
||||
|
||||
-$LCDF_TYPETOOLS_TREE/t1lint/t1lint uhv_dl.pfa \
|
||||
- && echo "t1lint/asc tests OK" \
|
||||
- || failed="$failed t1lint/asc"
|
||||
-
|
||||
cat uhv_dl.pfb | $LCDF_TYPETOOLS_TREE/t1lint/t1lint \
|
||||
&& echo "t1lint/bin tests OK" \
|
||||
|| failed="$failed t1lint/bin"
|
||||
@@ -30,24 +26,14 @@ $LCDF_TYPETOOLS_TREE/t1testpage/t1testpa
|
||||
-$LCDF_TYPETOOLS_TREE/t1testpage/t1testpage -o uhv_dl_a.ps uhv_dl.pfa \
|
||||
- && diff uhv_dl_a.ps $srcdir/tests/uhv_dl.ps \
|
||||
- && echo "t1testpage/asc tests OK" \
|
||||
- || failed="$failed t1testpage/asc"
|
||||
-
|
||||
cat uhv_dl.pfb | $LCDF_TYPETOOLS_TREE/t1testpage/t1testpage >uhv_dl_b.ps \
|
||||
&& diff uhv_dl_b.ps $srcdir/tests/uhv_dl.ps \
|
||||
&& echo "t1testpage/bin tests OK" \
|
||||
|| failed="$failed t1testpage/bin"
|
||||
|
||||
$LCDF_TYPETOOLS_TREE/t1reencode/t1reencode -e $srcdir/tests/t2c.enc -a $srcdir/tests/uhvrrc8a.pfb uhv_re.tmp \
|
||||
&& grep -v 'Created by t1reencode' uhv_re.tmp >uhv_re.pfa \
|
||||
&& diff uhv_re.pfa $srcdir/tests/uhv_re.pfa \
|
||||
&& echo "t1reencode/asc tests OK" \
|
||||
|| failed="$failed t1reencode/asc"
|
||||
|
||||
-$LCDF_TYPETOOLS_TREE/t1rawafm/t1rawafm -o uhv_re_a.afm uhv_re.pfa \
|
||||
- && diff uhv_re_a.afm $srcdir/tests/uhv_re.afm \
|
||||
- && echo "t1rawafm/asc tests OK" \
|
||||
- || failed="$failed t1rawafm/asc"
|
||||
-
|
||||
cat $srcdir/tests/uhvrrc8a.pfb | $LCDF_TYPETOOLS_TREE/t1reencode/t1reencode -e $srcdir/tests/t2c.enc -b \
|
||||
| $LCDF_TYPETOOLS_TREE/t1rawafm/t1rawafm >uhv_re_b.afm \
|
||||
&& diff uhv_re_b.afm $srcdir/tests/uhv_re.afm \
|
11
texlive-20180414-annocheck.patch
Normal file
11
texlive-20180414-annocheck.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- texlive-20180414/source/libs/luajit/Makefile.in.annocheck 2018-01-10 01:37:05.000000000 +0100
|
||||
+++ texlive-20180414/source/libs/luajit/Makefile.in 2019-01-11 22:45:34.503080977 +0100
|
||||
@@ -680,7 +680,7 @@
|
||||
NEVER_NAMES_LT = -o -name .libs -o -name '*.lo'
|
||||
AM_CPPFLAGS = -I$(srcdir)/$(LUAJIT_TREE)/src $(LUAJIT_DEFINES) -U_FORTIFY_SOURCE
|
||||
AM_CFLAGS = $(LUAJIT_CFLAGS) $(LUAJIT_HAS_NOT_LOG2) -Wall
|
||||
-AM_CCASFLAGS = $(LUAJIT_CFLAGS) $(LUAJIT_HAS_NOT_LOG2)
|
||||
+AM_CCASFLAGS = $(LUAJIT_CFLAGS) $(LUAJIT_HAS_NOT_LOG2) -Wa,--generate-missing-build-notes=yes
|
||||
SUBDIRS = . native include
|
||||
lib_LTLIBRARIES = libtexluajit.la
|
||||
libtexluajit_la_LDFLAGS = -bindir @bindir@ -no-undefined -version-info $(LUAJIT_LT_VERSINFO) $(LIBLUAJIT_LDEXTRA)
|
File diff suppressed because it is too large
Load Diff
25
texlive-20190410-dvisvgm-fix-libgs-detection.patch
Normal file
25
texlive-20190410-dvisvgm-fix-libgs-detection.patch
Normal file
@ -0,0 +1,25 @@
|
||||
diff -up texlive-base-20190410/source/texk/dvisvgm/configure.ac.fix-libgs-detection texlive-base-20190410/source/texk/dvisvgm/configure.ac
|
||||
--- texlive-base-20190410/source/texk/dvisvgm/configure.ac.fix-libgs-detection 2019-03-10 14:21:29.000000000 -0400
|
||||
+++ texlive-base-20190410/source/texk/dvisvgm/configure.ac 2019-05-23 19:07:30.447057345 -0400
|
||||
@@ -66,7 +66,8 @@ AS_IF([test "x$have_libgs" = "xno"],
|
||||
# Ghostscript not found, check for dlopen
|
||||
[AC_CHECK_LIB(dl, dlopen,,
|
||||
[AC_DEFINE(DISABLE_GS, 1, [Set to 1 if PostScript support should be disabled])]
|
||||
- [AC_MSG_WARN(PostScript support disabled)])])
|
||||
+ [AC_MSG_WARN(PostScript support disabled)])],
|
||||
+ [test "x$have_libgs" = "xyes"], [HAVE_LIBGS=1])
|
||||
fi
|
||||
|
||||
if test -z "$HAVE_LIBGS" || test "$HAVE_LIBGS" -eq 0; then
|
||||
diff -up texlive-base-20190410/source/texk/dvisvgm/configure.fix-libgs-detection texlive-base-20190410/source/texk/dvisvgm/configure
|
||||
--- texlive-base-20190410/source/texk/dvisvgm/configure.fix-libgs-detection 2019-05-23 19:07:45.568703333 -0400
|
||||
+++ texlive-base-20190410/source/texk/dvisvgm/configure 2019-05-23 19:09:31.341219687 -0400
|
||||
@@ -22013,6 +22013,8 @@ $as_echo "#define DISABLE_GS 1" >>confde
|
||||
$as_echo "$as_me: WARNING: PostScript support disabled" >&2;}
|
||||
fi
|
||||
|
||||
+elif test "x$have_libgs" = "xyes"; then :
|
||||
+ HAVE_LIBGS=1
|
||||
fi
|
||||
fi
|
||||
|
249
texlive-20190410-poppler-0.73.patch
Normal file
249
texlive-20190410-poppler-0.73.patch
Normal file
@ -0,0 +1,249 @@
|
||||
diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc
|
||||
--- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 2019-05-23 15:50:17.849768543 -0400
|
||||
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc 2019-05-23 16:00:41.022262790 -0400
|
||||
@@ -120,7 +120,7 @@ struct UsedEncoding {
|
||||
|
||||
static InObj *inObjList;
|
||||
static UsedEncoding *encodingList;
|
||||
-static GBool isInit = gFalse;
|
||||
+static bool isInit = false;
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// Maintain list of open embedded PDF files
|
||||
@@ -275,7 +275,7 @@ static int getNewObjectNumber(Ref ref)
|
||||
|
||||
static void copyObject(Object *);
|
||||
|
||||
-static void copyName(char *s)
|
||||
+static void copyName(const char *s)
|
||||
{
|
||||
pdf_puts("/");
|
||||
for (; *s != 0; s++) {
|
||||
@@ -310,7 +310,7 @@ static void copyDict(Object * obj)
|
||||
static void copyFontDict(Object * obj, InObj * r)
|
||||
{
|
||||
int i, l;
|
||||
- char *key;
|
||||
+ const char *key;
|
||||
if (!obj->isDict())
|
||||
pdftex_fail("PDF inclusion: invalid dict type <%s>",
|
||||
obj->getTypeName());
|
||||
@@ -382,7 +382,7 @@ static bool embeddableFont(Object * font
|
||||
return false;
|
||||
}
|
||||
|
||||
-static void copyFont(char *tag, Object * fontRef)
|
||||
+static void copyFont(const char *tag, Object * fontRef)
|
||||
{
|
||||
Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
|
||||
stemV;
|
||||
@@ -418,7 +418,7 @@ static void copyFont(char *tag, Object *
|
||||
&& fontdescRef.isRef()
|
||||
&& fontdesc.isDict()
|
||||
&& embeddableFont(&fontdesc)
|
||||
- && (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
|
||||
+ && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) {
|
||||
// round /StemV value, since the PDF input is a float
|
||||
// (see Font Descriptors in PDF reference), but we only store an
|
||||
// integer, since we don't want to change the struct.
|
||||
@@ -427,7 +427,7 @@ static void copyFont(char *tag, Object *
|
||||
charset = fontdesc.dictLookup("CharSet");
|
||||
if (!charset.isNull() &&
|
||||
charset.isString() && is_subsetable(fontmap))
|
||||
- epdf_mark_glyphs(fd, charset.getString()->getCString());
|
||||
+ epdf_mark_glyphs(fd, (char *)charset.getString()->c_str());
|
||||
else
|
||||
embed_whole_font(fd);
|
||||
addFontDesc(fontdescRef.getRef(), fd);
|
||||
@@ -467,7 +467,7 @@ static void copyFontResources(Object * o
|
||||
pdf_puts(">>\n");
|
||||
}
|
||||
|
||||
-static void copyOtherResources(Object * obj, char *key)
|
||||
+static void copyOtherResources(Object * obj, const char *key)
|
||||
{
|
||||
// copies all other resources (write_epdf handles Fonts and ProcSets),
|
||||
|
||||
@@ -554,8 +554,8 @@ static void copyObject(Object * obj)
|
||||
Object obj1;
|
||||
int i, l, c;
|
||||
Ref ref;
|
||||
- char *p;
|
||||
- GString *s;
|
||||
+ const char *p;
|
||||
+ const GString *s;
|
||||
if (obj->isBool()) {
|
||||
pdf_printf("%s", obj->getBool()? "true" : "false");
|
||||
} else if (obj->isInt()) {
|
||||
@@ -566,7 +566,7 @@ static void copyObject(Object * obj)
|
||||
pdf_printf("%s", convertNumToPDF(obj->getNum()));
|
||||
} else if (obj->isString()) {
|
||||
s = obj->getString();
|
||||
- p = s->getCString();
|
||||
+ p = s->c_str();
|
||||
l = s->getLength();
|
||||
if (strlen(p) == (unsigned int) l) {
|
||||
pdf_puts("(");
|
||||
@@ -664,7 +664,7 @@ static void writeEncodings()
|
||||
("PDF inclusion: CID fonts are not supported"
|
||||
" (try to disable font replacement to fix this)");
|
||||
}
|
||||
- if ((s = ((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
|
||||
+ if ((s = (char *) ((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
|
||||
glyphNames[i] = s;
|
||||
else
|
||||
glyphNames[i] = notdef;
|
||||
@@ -683,7 +683,7 @@ static void writeEncodings()
|
||||
}
|
||||
|
||||
// get the pagebox according to the pagebox_spec
|
||||
-static PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
|
||||
+static const PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
|
||||
{
|
||||
if (pagebox_spec == pdfboxspecmedia)
|
||||
return page->getMediaBox();
|
||||
@@ -715,7 +715,7 @@ read_pdf_info(char *image_name, char *pa
|
||||
{
|
||||
PdfDocument *pdf_doc;
|
||||
Page *page;
|
||||
- PDFRectangle *pagebox;
|
||||
+ const PDFRectangle *pagebox;
|
||||
#ifdef POPPLER_VERSION
|
||||
int pdf_major_version_found, pdf_minor_version_found;
|
||||
#else
|
||||
@@ -724,8 +724,8 @@ read_pdf_info(char *image_name, char *pa
|
||||
// initialize
|
||||
if (!isInit) {
|
||||
globalParams = new GlobalParams();
|
||||
- globalParams->setErrQuiet(gFalse);
|
||||
- isInit = gTrue;
|
||||
+ globalParams->setErrQuiet(false);
|
||||
+ isInit = true;
|
||||
}
|
||||
// open PDF file
|
||||
pdf_doc = find_add_document(image_name);
|
||||
@@ -822,7 +822,7 @@ void write_epdf(void)
|
||||
Object groupDict;
|
||||
bool writeSepGroup = false;
|
||||
Object info;
|
||||
- char *key;
|
||||
+ const char *key;
|
||||
char s[256];
|
||||
int i, l;
|
||||
int rotate;
|
||||
@@ -849,7 +849,7 @@ void write_epdf(void)
|
||||
pageObj = xref->fetch(pageRef->num, pageRef->gen);
|
||||
pageDict = pageObj.getDict();
|
||||
rotate = page->getRotate();
|
||||
- PDFRectangle *pagebox;
|
||||
+ const PDFRectangle *pagebox;
|
||||
// write the Page header
|
||||
pdf_puts("/Type /XObject\n");
|
||||
pdf_puts("/Subtype /Form\n");
|
||||
@@ -977,7 +977,7 @@ The changes below seem to work fine.
|
||||
}
|
||||
l = dic1.getLength();
|
||||
for (i = 0; i < l; i++) {
|
||||
- groupDict.dictAdd(copyString(dic1.getKey(i)),
|
||||
+ groupDict.dictAdd(dic1.getKey(i),
|
||||
dic1.getValNF(i));
|
||||
}
|
||||
// end modification
|
||||
diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc
|
||||
--- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 2019-05-23 15:50:17.850768522 -0400
|
||||
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc 2019-05-23 15:50:17.858768349 -0400
|
||||
@@ -109,7 +109,7 @@ int main(int argc, char *argv[])
|
||||
fprintf(stderr, "No SourceName found\n");
|
||||
exit(1);
|
||||
}
|
||||
- outname = srcName.getString()->getCString();
|
||||
+ outname = (char *)srcName.getString()->c_str();
|
||||
// We cannot free srcName, as objname shares its string.
|
||||
// srcName.free();
|
||||
} else if (objnum > 0) {
|
||||
@@ -118,7 +118,7 @@ int main(int argc, char *argv[])
|
||||
fprintf(stderr, "Not a Stream object\n");
|
||||
exit(1);
|
||||
}
|
||||
- sprintf(buf, "%s", fileName->getCString());
|
||||
+ sprintf(buf, "%s", fileName->c_str());
|
||||
if ((p = strrchr(buf, '.')) == 0)
|
||||
p = strchr(buf, 0);
|
||||
if (objgen == 0)
|
||||
@@ -128,7 +128,7 @@ int main(int argc, char *argv[])
|
||||
outname = buf;
|
||||
} else { // objnum < 0 means we are extracting the XRef table
|
||||
extract_xref_table = true;
|
||||
- sprintf(buf, "%s", fileName->getCString());
|
||||
+ sprintf(buf, "%s", fileName->c_str());
|
||||
if ((p = strrchr(buf, '.')) == 0)
|
||||
p = strchr(buf, 0);
|
||||
sprintf(p, ".xref");
|
||||
@@ -161,7 +161,7 @@ int main(int argc, char *argv[])
|
||||
Object objStr, obj1, obj2;
|
||||
int nObjects, first, n;
|
||||
int localOffset = 0;
|
||||
- Guint firstOffset;
|
||||
+ unsigned int firstOffset;
|
||||
|
||||
objStr = xref->fetch(e->offset, 0);
|
||||
assert(objStr.isStream());
|
||||
@@ -173,9 +173,9 @@ int main(int argc, char *argv[])
|
||||
|
||||
// parse the header: object numbers and offsets
|
||||
objStr.streamReset();
|
||||
- str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first);
|
||||
+ str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
|
||||
lexer = new Lexer(xref, str);
|
||||
- parser = new Parser(xref, lexer, gFalse);
|
||||
+ parser = new Parser(xref, lexer, false);
|
||||
for (n = 0; n < nObjects; ++n) {
|
||||
obj1 = parser->getObj();
|
||||
obj2 = parser->getObj();
|
||||
diff -up texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp
|
||||
--- texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 2018-12-25 00:48:22.000000000 -0500
|
||||
+++ texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp 2019-05-23 15:50:17.858768349 -0400
|
||||
@@ -78,26 +78,29 @@ pdf_get_rect(char* filename, int page_nu
|
||||
|
||||
Page* page = doc->getCatalog()->getPage(page_num);
|
||||
|
||||
- const PDFRectangle* r;
|
||||
+ PDFRectangle* r;
|
||||
+ const PDFRectangle* cr;
|
||||
switch (pdf_box) {
|
||||
default:
|
||||
case pdfbox_crop:
|
||||
- r = page->getCropBox();
|
||||
+ cr = page->getCropBox();
|
||||
break;
|
||||
case pdfbox_media:
|
||||
- r = page->getMediaBox();
|
||||
+ cr = page->getMediaBox();
|
||||
break;
|
||||
case pdfbox_bleed:
|
||||
- r = page->getBleedBox();
|
||||
+ cr = page->getBleedBox();
|
||||
break;
|
||||
case pdfbox_trim:
|
||||
- r = page->getTrimBox();
|
||||
+ cr = page->getTrimBox();
|
||||
break;
|
||||
case pdfbox_art:
|
||||
- r = page->getArtBox();
|
||||
+ cr = page->getArtBox();
|
||||
break;
|
||||
}
|
||||
|
||||
+ r = new PDFRectangle (cr->x1, cr->y1, cr->x2, cr->y2);
|
||||
+
|
||||
int RotAngle = 0;
|
||||
RotAngle = (int)page->getRotate() % 360;
|
||||
if (RotAngle < 0)
|
||||
@@ -112,6 +115,7 @@ pdf_get_rect(char* filename, int page_nu
|
||||
box->x = 72.27 / 72 * my_fmin(r->x1, r->x2);
|
||||
box->y = 72.27 / 72 * my_fmin(r->y1, r->y2);
|
||||
|
||||
+ delete r;
|
||||
delete doc;
|
||||
|
||||
return 0;
|
79
texlive-20190410-tlmgr-ignore-warning.patch
Normal file
79
texlive-20190410-tlmgr-ignore-warning.patch
Normal file
@ -0,0 +1,79 @@
|
||||
diff -up ./scripts/texlive/tlmgr.pl.ignore-warning ./scripts/texlive/tlmgr.pl
|
||||
--- ./scripts/texlive/tlmgr.pl.ignore-warning 2019-05-24 21:35:57.384845754 -0400
|
||||
+++ ./scripts/texlive/tlmgr.pl 2019-05-24 21:39:32.703577109 -0400
|
||||
@@ -231,6 +231,7 @@ my %action_specification = (
|
||||
"dry-run|n" => 1,
|
||||
"file" => 1,
|
||||
"force" => 1,
|
||||
+ "ignore-warning" => 1,
|
||||
"no-depends" => 1,
|
||||
"no-depends-at-all" => 1,
|
||||
"reinstall" => 1,
|
||||
@@ -331,6 +332,7 @@ my %action_specification = (
|
||||
"dry-run|n" => 1,
|
||||
"exclude" => "=s@",
|
||||
"force" => 1,
|
||||
+ "ignore-warning" => 1,
|
||||
"list" => 1,
|
||||
"no-auto-install" => 1,
|
||||
"no-auto-remove" => 1,
|
||||
@@ -2613,6 +2615,15 @@ sub upd_info {
|
||||
}
|
||||
|
||||
sub action_update {
|
||||
+ if (!($opts{"ignore-warning"})) {
|
||||
+ print("*** WARNING ***: Performing this action will likely destroy the Fedora TeXLive install on your system.\n");
|
||||
+ print("*** WARNING ***: This is almost NEVER what you want to do.\n");
|
||||
+ print("*** WARNING ***: Try using dnf install/update instead.\n");
|
||||
+ print("*** WARNING ***: If performing this action is really what you want to do, pass the \"ignore-warning\" option.\n");
|
||||
+ print("*** WARNING ***: But please do not file any bugs with the OS Vendor.\n");
|
||||
+ exit;
|
||||
+ }
|
||||
+
|
||||
init_local_db(1);
|
||||
$opts{"no-depends"} = 1 if $opts{"no-depends-at-all"};
|
||||
|
||||
@@ -3618,6 +3629,15 @@ sub check_announce_format_triggers {
|
||||
# anymore! That has all to be done by the caller.
|
||||
#
|
||||
sub action_install {
|
||||
+ if (!($opts{"ignore-warning"})) {
|
||||
+ print("*** WARNING ***: Performing this action will likely destroy the Fedora TeXLive install on your system.\n");
|
||||
+ print("*** WARNING ***: This is almost NEVER what you want to do.\n");
|
||||
+ print("*** WARNING ***: Try using dnf install/update instead.\n");
|
||||
+ print("*** WARNING ***: If performing this action is really what you want to do, pass the \"ignore-warning\" option.\n");
|
||||
+ print("*** WARNING ***: But please do not file any bugs with the OS Vendor.\n");
|
||||
+ exit;
|
||||
+ }
|
||||
+
|
||||
init_local_db(1);
|
||||
my $ret = $F_OK;
|
||||
return ($F_ERROR) if !check_on_writable();
|
||||
@@ -8151,6 +8171,13 @@ If updates to C<tlmgr> itself (or other
|
||||
infrastructure) are present, C<tlmgr> will bail out and not perform the
|
||||
installation unless this option is given. Not recommended.
|
||||
|
||||
+=item B<--ignore-warning>
|
||||
+
|
||||
+The tlmgr tool can really ruin a Fedora install of TeXLive.
|
||||
+We have added a warning check here to try to keep you from
|
||||
+blindly following a tutorial and doing this. If you still want to
|
||||
+proceed, just use this option.
|
||||
+
|
||||
=item B<--no-depends>
|
||||
|
||||
Do not install dependencies. (By default, installing a package ensures
|
||||
@@ -8846,6 +8873,13 @@ In short:
|
||||
Nothing is actually installed; instead, the actions to be performed are
|
||||
written to the terminal. This is a more detailed report than C<--list>.
|
||||
|
||||
+=item B<--ignore-warning>
|
||||
+
|
||||
+The tlmgr tool can really ruin a Fedora install of TeXLive.
|
||||
+We have added a warning check here to try to keep you from
|
||||
+blindly following a tutorial and doing this. If you still want to
|
||||
+proceed, just use this option.
|
||||
+
|
||||
=item B<--list> [I<pkg>]
|
||||
|
||||
Concisely list the packages which would be updated, newly installed, or
|
142
texlive-20200327-disable-more-failing-tests.patch
Normal file
142
texlive-20200327-disable-more-failing-tests.patch
Normal file
@ -0,0 +1,142 @@
|
||||
diff -up texlive-base-20200327/source/texk/web2c/am/texmf.am.dt texlive-base-20200327/source/texk/web2c/am/texmf.am
|
||||
--- texlive-base-20200327/source/texk/web2c/am/texmf.am.dt 2019-12-17 14:24:59.000000000 -0500
|
||||
+++ texlive-base-20200327/source/texk/web2c/am/texmf.am 2020-04-20 14:33:43.465656684 -0400
|
||||
@@ -75,7 +75,7 @@ DISTCLEANFILES += $(nodist_tex_SOURCES)
|
||||
|
||||
# TeX tests
|
||||
#
|
||||
-tex_tests = triptest.test tests/write18-quote-test.pl tests/tex-closeout.test
|
||||
+tex_tests = tests/write18-quote-test.pl tests/tex-closeout.test
|
||||
triptest.log: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
|
||||
tests/write18-quote-test.log tests/tex-closeout.test: tex$(EXEEXT)
|
||||
EXTRA_DIST += $(tex_tests)
|
||||
@@ -203,7 +203,7 @@ DISTCLEANFILES += $(nodist_libmf_a_SOURC
|
||||
|
||||
# Metafont tests
|
||||
#
|
||||
-mf_tests = mftraptest.test
|
||||
+mf_tests =
|
||||
mftraptest.log: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
|
||||
EXTRA_DIST += $(mf_tests)
|
||||
if MF
|
||||
diff -up texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am.dt texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am
|
||||
--- texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am.dt 2020-04-20 14:32:46.325851485 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am 2020-04-20 14:34:20.015892398 -0400
|
||||
@@ -83,7 +83,7 @@ EXTRA_DIST += \
|
||||
|
||||
# e-pTeX Tests
|
||||
#
|
||||
-eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test
|
||||
+eptex_tests = eptexdir/epver.test
|
||||
eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
|
||||
eptexdir/pdfprimitive.log: eptex$(EXEEXT)
|
||||
eptexdir/epver.log: eptex$(EXEEXT)
|
||||
diff -up texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am.dt texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am
|
||||
--- texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am.dt 2020-04-20 14:32:46.326851464 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am 2020-04-20 14:34:55.625147806 -0400
|
||||
@@ -84,7 +84,7 @@ EXTRA_DIST += \
|
||||
|
||||
# e-upTeX Tests
|
||||
#
|
||||
-euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test
|
||||
+euptex_tests = euptexdir/eupver.test
|
||||
euptexdir/euptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
|
||||
euptexdir/pdfprimitive.log: euptex$(EXEEXT)
|
||||
euptexdir/eupver.log: euptex$(EXEEXT)
|
||||
diff -up texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am.dt texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am
|
||||
--- texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am.dt 2017-04-16 06:11:22.000000000 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am 2020-04-20 14:32:46.326851464 -0400
|
||||
@@ -110,7 +110,7 @@ EXTRA_DIST += \
|
||||
|
||||
# MFLua tests
|
||||
#
|
||||
-mflua_tests = mfluadir/mfluatraptest.test
|
||||
+mflua_tests =
|
||||
mfluadir/mfluatraptest.log: mflua$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
|
||||
EXTRA_DIST += $(mflua_tests)
|
||||
|
||||
diff -up texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am
|
||||
--- texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt 2017-04-16 06:11:22.000000000 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am 2020-04-20 14:32:46.326851464 -0400
|
||||
@@ -106,7 +106,7 @@ EXTRA_DIST += \
|
||||
|
||||
# MFLuaJIT tests
|
||||
#
|
||||
-mfluajit_tests = mfluajitdir/mfluajittraptest.test
|
||||
+mfluajit_tests =
|
||||
mfluajitdir/mfluajittraptest.log: mfluajit$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
|
||||
EXTRA_DIST += $(mfluajit_tests)
|
||||
|
||||
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am.dt texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am
|
||||
--- texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am.dt 2020-04-20 14:32:46.326851464 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am 2020-04-20 14:35:48.451043188 -0400
|
||||
@@ -95,8 +95,8 @@ EXTRA_DIST += \
|
||||
|
||||
# pdfTeX tests
|
||||
#
|
||||
-pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \
|
||||
- pdftexdir/pdfimage.test pdftexdir/expanded.test \
|
||||
+pdftex_tests = pdftexdir/pdftex.test \
|
||||
+ pdftexdir/expanded.test \
|
||||
pdftexdir/tests/cnfline.test
|
||||
|
||||
pdftexdir/wprob.log pdftexdir/pdftex.log \
|
||||
diff -up texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am.dt texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am
|
||||
--- texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am.dt 2020-04-20 14:32:46.327851443 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am 2020-04-20 14:36:23.750305069 -0400
|
||||
@@ -168,7 +168,7 @@ EXTRA_DIST += \
|
||||
|
||||
# pTeX Tests
|
||||
#
|
||||
-ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test
|
||||
+ptex_tests = ptexdir/pver.test
|
||||
ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
|
||||
ptexdir/pver.log: ptex$(EXEEXT)
|
||||
pweb_tests = \
|
||||
diff -up texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am.dt texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am
|
||||
--- texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am.dt 2020-04-20 14:32:46.327851443 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am 2020-04-20 14:36:53.266687857 -0400
|
||||
@@ -158,7 +158,7 @@ EXTRA_DIST += \
|
||||
uptexdir/ChangeLog
|
||||
|
||||
# upTeX Tests
|
||||
-uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test
|
||||
+uptex_tests = uptexdir/upver.test
|
||||
uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
|
||||
uptexdir/upver.log: uptex$(EXEEXT)
|
||||
upweb_tests = \
|
||||
diff -up texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am.dt texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am
|
||||
--- texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am.dt 2020-04-20 14:32:46.327851443 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am 2020-04-20 14:37:13.223270564 -0400
|
||||
@@ -201,7 +201,6 @@ EXTRA_DIST += \
|
||||
#
|
||||
xetex_tests = \
|
||||
xetexdir/xetex-filedump.test \
|
||||
- xetexdir/xetex-bug73.test \
|
||||
xetexdir/xetex.test
|
||||
xetexdir/xetex-filedump.log xetexdir/xetex-bug73.log xetexdir/xetex.log: xetex$(EXEEXT)
|
||||
|
||||
diff -up texlive-base-20200327/source/texk/kpathsea/Makefile.am.dt texlive-base-20200327/source/texk/kpathsea/Makefile.am
|
||||
--- texlive-base-20200327/source/texk/kpathsea/Makefile.am.dt 2020-04-20 15:49:39.282325550 -0400
|
||||
+++ texlive-base-20200327/source/texk/kpathsea/Makefile.am 2020-04-20 15:49:51.475074045 -0400
|
||||
@@ -275,7 +275,7 @@ uninstall-local:
|
||||
AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S;
|
||||
AM_TESTS_ENVIRONMENT += LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
|
||||
#
|
||||
-TESTS = tests/cnfline.test tests/cnfnewline.test
|
||||
+TESTS = tests/cnfnewline.test
|
||||
TESTS += tests/cnfnull.test tests/cnfprog.test
|
||||
TESTS += tests/kpseaccess.test
|
||||
TESTS += tests/kpsereadlink.test tests/kpsestat.test tests/kpsewhich.test
|
||||
diff -up texlive-base-20200327/source/texk/kpathsea/Makefile.in.dt texlive-base-20200327/source/texk/kpathsea/Makefile.in
|
||||
--- texlive-base-20200327/source/texk/kpathsea/Makefile.in.dt 2020-04-21 10:17:29.766949867 -0400
|
||||
+++ texlive-base-20200327/source/texk/kpathsea/Makefile.in 2020-04-21 10:17:36.926798780 -0400
|
||||
@@ -858,7 +858,7 @@ dist_noinst_DATA = texmf.cnf
|
||||
AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S; \
|
||||
LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
|
||||
#
|
||||
-TESTS = tests/cnfline.test tests/cnfnewline.test tests/cnfnull.test \
|
||||
+TESTS = tests/cnfnewline.test tests/cnfnull.test \
|
||||
tests/cnfprog.test tests/kpseaccess.test \
|
||||
tests/kpsereadlink.test tests/kpsestat.test \
|
||||
tests/kpsewhich.test
|
641
texlive-20200327-new-poppler.patch
Normal file
641
texlive-20200327-new-poppler.patch
Normal file
@ -0,0 +1,641 @@
|
||||
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
|
||||
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.newpoppler 2019-11-27 17:45:26.000000000 -0500
|
||||
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-04-20 14:28:40.111986243 -0400
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
-Copyright 1996-2016 Han The Thanh, <thanh@pdftex.org>
|
||||
+Copyright 1996-2017 Han The Thanh, <thanh@pdftex.org>
|
||||
|
||||
This file is part of pdfTeX.
|
||||
|
||||
@@ -17,6 +17,15 @@ You should have received a copy of the G
|
||||
with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
+/*
|
||||
+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at
|
||||
+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
|
||||
+by Arch Linux. A little modifications are made to avoid a crash for
|
||||
+some kind of pdf images, such as figure_missing.pdf in gnuplot.
|
||||
+The poppler should be 0.59.0 or newer versions.
|
||||
+POPPLER_VERSION should be defined.
|
||||
+*/
|
||||
+
|
||||
/* Do this early in order to avoid a conflict between
|
||||
MINGW32 <rpcndr.h> defining 'boolean' as 'unsigned char' and
|
||||
<kpathsea/types.h> defining Pascal's boolean as 'int'.
|
||||
@@ -39,10 +48,7 @@ with this program. If not, see <http://
|
||||
#include <goo/gfile.h>
|
||||
#define GString GooString
|
||||
#else
|
||||
-#include <aconf.h>
|
||||
-#include <GString.h>
|
||||
-#include <gmem.h>
|
||||
-#include <gfile.h>
|
||||
+#error POPPLER_VERSION should be defined.
|
||||
#endif
|
||||
#include <assert.h>
|
||||
|
||||
@@ -84,31 +90,6 @@ extern integer zround(double);
|
||||
#define MASK_SUPPRESS_PTEX_PAGENUMBER 0x04
|
||||
#define MASK_SUPPRESS_PTEX_INFODICT 0x08
|
||||
|
||||
-// PdfObject encapsulates the xpdf Object type,
|
||||
-// and properly frees its resources on destruction.
|
||||
-// Use obj-> to access members of the Object,
|
||||
-// and &obj to get a pointer to the object.
|
||||
-// It is no longer necessary to call Object::free explicitely.
|
||||
-
|
||||
-class PdfObject {
|
||||
- public:
|
||||
- PdfObject() { // nothing
|
||||
- } ~PdfObject() {
|
||||
- iObject.free();
|
||||
- }
|
||||
- Object *operator->() {
|
||||
- return &iObject;
|
||||
- }
|
||||
- Object *operator&() {
|
||||
- return &iObject;
|
||||
- }
|
||||
- private: // no copying or assigning
|
||||
- PdfObject(const PdfObject &);
|
||||
- void operator=(const PdfObject &);
|
||||
- public:
|
||||
- Object iObject;
|
||||
-};
|
||||
-
|
||||
// When copying the Resources of the selected page, all objects are copied
|
||||
// recusively top-down. Indirect objects however are not fetched during
|
||||
// copying, but get a new object number from pdfTeX and then will be
|
||||
@@ -212,18 +193,6 @@ static void delete_document(PdfDocument
|
||||
delete pdf_doc;
|
||||
}
|
||||
|
||||
-// Replacement for
|
||||
-// Object *initDict(Dict *dict1){ initObj(objDict); dict = dict1; return this; }
|
||||
-
|
||||
-static void initDictFromDict(PdfObject & obj, Dict * dict)
|
||||
-{
|
||||
- obj->initDict(xref);
|
||||
- for (int i = 0, l = dict->getLength(); i < l; i++) {
|
||||
- Object obj1;
|
||||
- obj->dictAdd(copyString(dict->getKey(i)), dict->getValNF(i, &obj1));
|
||||
- }
|
||||
-}
|
||||
-
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
static int addEncoding(GfxFont * gfont)
|
||||
@@ -320,10 +289,10 @@ static void copyName(char *s)
|
||||
|
||||
static void copyDictEntry(Object * obj, int i)
|
||||
{
|
||||
- PdfObject obj1;
|
||||
+ Object obj1;
|
||||
copyName(obj->dictGetKey(i));
|
||||
pdf_puts(" ");
|
||||
- obj->dictGetValNF(i, &obj1);
|
||||
+ obj1 = obj->dictGetValNF(i);
|
||||
copyObject(&obj1);
|
||||
pdf_puts("\n");
|
||||
}
|
||||
@@ -376,17 +345,17 @@ static void copyStream(Stream * str)
|
||||
static void copyProcSet(Object * obj)
|
||||
{
|
||||
int i, l;
|
||||
- PdfObject procset;
|
||||
+ Object procset;
|
||||
if (!obj->isArray())
|
||||
pdftex_fail("PDF inclusion: invalid ProcSet array type <%s>",
|
||||
obj->getTypeName());
|
||||
pdf_puts("/ProcSet [ ");
|
||||
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
|
||||
- obj->arrayGetNF(i, &procset);
|
||||
- if (!procset->isName())
|
||||
+ procset = obj->arrayGetNF(i);
|
||||
+ if (!procset.isName())
|
||||
pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
|
||||
- procset->getTypeName());
|
||||
- copyName(procset->getName());
|
||||
+ procset.getTypeName());
|
||||
+ copyName(procset.getName());
|
||||
pdf_puts(" ");
|
||||
}
|
||||
pdf_puts("]\n");
|
||||
@@ -394,10 +363,29 @@ static void copyProcSet(Object * obj)
|
||||
|
||||
#define REPLACE_TYPE1C true
|
||||
|
||||
+static bool embeddableFont(Object * fontdesc)
|
||||
+{
|
||||
+ Object fontfile, ffsubtype;
|
||||
+
|
||||
+ if (!fontdesc->isDict())
|
||||
+ return false;
|
||||
+ fontfile = fontdesc->dictLookup("FontFile");
|
||||
+ if (fontfile.isStream())
|
||||
+ return true;
|
||||
+ if (REPLACE_TYPE1C) {
|
||||
+ fontfile = fontdesc->dictLookup("FontFile3");
|
||||
+ if (!fontfile.isStream())
|
||||
+ return false;
|
||||
+ ffsubtype = fontfile.streamGetDict()->lookup("Subtype");
|
||||
+ return ffsubtype.isName() && !strcmp(ffsubtype.getName(), "Type1C");
|
||||
+ }
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
static void copyFont(char *tag, Object * fontRef)
|
||||
{
|
||||
- PdfObject fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
|
||||
- fontfile, ffsubtype, stemV;
|
||||
+ Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
|
||||
+ stemV;
|
||||
GfxFont *gfont;
|
||||
fd_entry *fd;
|
||||
fm_entry *fontmap;
|
||||
@@ -413,33 +401,39 @@ static void copyFont(char *tag, Object *
|
||||
}
|
||||
// Only handle included Type1 (and Type1C) fonts; anything else will be copied.
|
||||
// Type1C fonts are replaced by Type1 fonts, if REPLACE_TYPE1C is true.
|
||||
- if (!fixedinclusioncopyfont && fontRef->fetch(xref, &fontdict)->isDict()
|
||||
- && fontdict->dictLookup("Subtype", &subtype)->isName()
|
||||
- && !strcmp(subtype->getName(), "Type1")
|
||||
- && fontdict->dictLookup("BaseFont", &basefont)->isName()
|
||||
- && fontdict->dictLookupNF("FontDescriptor", &fontdescRef)->isRef()
|
||||
- && fontdescRef->fetch(xref, &fontdesc)->isDict()
|
||||
- && (fontdesc->dictLookup("FontFile", &fontfile)->isStream()
|
||||
- || (REPLACE_TYPE1C
|
||||
- && fontdesc->dictLookup("FontFile3", &fontfile)->isStream()
|
||||
- && fontfile->streamGetDict()->lookup("Subtype",
|
||||
- &ffsubtype)->isName()
|
||||
- && !strcmp(ffsubtype->getName(), "Type1C")))
|
||||
- && (fontmap = lookup_fontmap(basefont->getName())) != NULL) {
|
||||
+ fontdict = fontRef->fetch(xref);
|
||||
+ fontdesc = Object(objNull);
|
||||
+ if (fontdict.isDict()) {
|
||||
+ subtype = fontdict.dictLookup("Subtype");
|
||||
+ basefont = fontdict.dictLookup("BaseFont");
|
||||
+ fontdescRef = fontdict.dictLookupNF("FontDescriptor");
|
||||
+ if (fontdescRef.isRef()) {
|
||||
+ fontdesc = fontdescRef.fetch(xref);
|
||||
+ }
|
||||
+ }
|
||||
+ if (!fixedinclusioncopyfont && fontdict.isDict()
|
||||
+ && subtype.isName()
|
||||
+ && !strcmp(subtype.getName(), "Type1")
|
||||
+ && basefont.isName()
|
||||
+ && fontdescRef.isRef()
|
||||
+ && fontdesc.isDict()
|
||||
+ && embeddableFont(&fontdesc)
|
||||
+ && (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
|
||||
// round /StemV value, since the PDF input is a float
|
||||
// (see Font Descriptors in PDF reference), but we only store an
|
||||
// integer, since we don't want to change the struct.
|
||||
- fontdesc->dictLookup("StemV", &stemV);
|
||||
- fd = epdf_create_fontdescriptor(fontmap, zround(stemV->getNum()));
|
||||
- if (fontdesc->dictLookup("CharSet", &charset) &&
|
||||
- charset->isString() && is_subsetable(fontmap))
|
||||
- epdf_mark_glyphs(fd, charset->getString()->getCString());
|
||||
+ stemV = fontdesc.dictLookup("StemV");
|
||||
+ fd = epdf_create_fontdescriptor(fontmap, zround(stemV.getNum()));
|
||||
+ charset = fontdesc.dictLookup("CharSet");
|
||||
+ if (!charset.isNull() &&
|
||||
+ charset.isString() && is_subsetable(fontmap))
|
||||
+ epdf_mark_glyphs(fd, charset.getString()->getCString());
|
||||
else
|
||||
embed_whole_font(fd);
|
||||
- addFontDesc(fontdescRef->getRef(), fd);
|
||||
+ addFontDesc(fontdescRef.getRef(), fd);
|
||||
copyName(tag);
|
||||
gfont = GfxFont::makeFont(xref, tag, fontRef->getRef(),
|
||||
- fontdict->getDict());
|
||||
+ fontdict.getDict());
|
||||
pdf_printf(" %d 0 R ", addFont(fontRef->getRef(), fd,
|
||||
addEncoding(gfont)));
|
||||
} else {
|
||||
@@ -451,24 +445,24 @@ static void copyFont(char *tag, Object *
|
||||
|
||||
static void copyFontResources(Object * obj)
|
||||
{
|
||||
- PdfObject fontRef;
|
||||
+ Object fontRef;
|
||||
int i, l;
|
||||
if (!obj->isDict())
|
||||
pdftex_fail("PDF inclusion: invalid font resources dict type <%s>",
|
||||
obj->getTypeName());
|
||||
pdf_puts("/Font << ");
|
||||
for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
|
||||
- obj->dictGetValNF(i, &fontRef);
|
||||
- if (fontRef->isRef())
|
||||
+ fontRef = obj->dictGetValNF(i);
|
||||
+ if (fontRef.isRef())
|
||||
copyFont(obj->dictGetKey(i), &fontRef);
|
||||
- else if (fontRef->isDict()) { // some programs generate pdf with embedded font object
|
||||
+ else if (fontRef.isDict()) { // some programs generate pdf with embedded font object
|
||||
copyName(obj->dictGetKey(i));
|
||||
pdf_puts(" ");
|
||||
copyObject(&fontRef);
|
||||
}
|
||||
else
|
||||
pdftex_fail("PDF inclusion: invalid font in reference type <%s>",
|
||||
- fontRef->getTypeName());
|
||||
+ fontRef.getTypeName());
|
||||
}
|
||||
pdf_puts(">>\n");
|
||||
}
|
||||
@@ -557,7 +551,7 @@ static char *convertNumToPDF(double n)
|
||||
|
||||
static void copyObject(Object * obj)
|
||||
{
|
||||
- PdfObject obj1;
|
||||
+ Object obj1;
|
||||
int i, l, c;
|
||||
Ref ref;
|
||||
char *p;
|
||||
@@ -601,8 +595,8 @@ static void copyObject(Object * obj)
|
||||
} else if (obj->isArray()) {
|
||||
pdf_puts("[");
|
||||
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
|
||||
- obj->arrayGetNF(i, &obj1);
|
||||
- if (!obj1->isName())
|
||||
+ obj1 = obj->arrayGetNF(i);
|
||||
+ if (!obj1.isName())
|
||||
pdf_puts(" ");
|
||||
copyObject(&obj1);
|
||||
}
|
||||
@@ -612,9 +606,8 @@ static void copyObject(Object * obj)
|
||||
copyDict(obj);
|
||||
pdf_puts(">>");
|
||||
} else if (obj->isStream()) {
|
||||
- initDictFromDict(obj1, obj->streamGetDict());
|
||||
pdf_puts("<<\n");
|
||||
- copyDict(&obj1);
|
||||
+ copyDict(obj->getStream()->getDictObject());
|
||||
pdf_puts(">>\n");
|
||||
pdf_puts("stream\n");
|
||||
copyStream(obj->getStream()->getUndecodedStream());
|
||||
@@ -638,9 +631,8 @@ static void writeRefs()
|
||||
InObj *r;
|
||||
for (r = inObjList; r != 0; r = r->next) {
|
||||
if (!r->written) {
|
||||
- Object obj1;
|
||||
r->written = 1;
|
||||
- xref->fetch(r->ref.num, r->ref.gen, &obj1);
|
||||
+ Object obj1 = xref->fetch(r->ref.num, r->ref.gen);
|
||||
if (r->type == objFont) {
|
||||
assert(!obj1.isStream());
|
||||
pdfbeginobj(r->num, 2); // \pdfobjcompresslevel = 2 is for this
|
||||
@@ -656,7 +648,6 @@ static void writeRefs()
|
||||
pdf_puts("\n");
|
||||
pdfendobj();
|
||||
}
|
||||
- obj1.free();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -685,7 +676,7 @@ static void writeEncodings()
|
||||
#ifdef POPPLER_VERSION
|
||||
r->font->decRefCnt();
|
||||
#else
|
||||
- delete r->font;
|
||||
+#error POPPLER_VERSION should be defined.
|
||||
#endif
|
||||
delete r;
|
||||
}
|
||||
@@ -728,7 +719,7 @@ read_pdf_info(char *image_name, char *pa
|
||||
#ifdef POPPLER_VERSION
|
||||
int pdf_major_version_found, pdf_minor_version_found;
|
||||
#else
|
||||
- float pdf_version_found, pdf_version_wanted;
|
||||
+#error POPPLER_VERSION should be defined.
|
||||
#endif
|
||||
// initialize
|
||||
if (!isInit) {
|
||||
@@ -760,19 +751,7 @@ read_pdf_info(char *image_name, char *pa
|
||||
}
|
||||
}
|
||||
#else
|
||||
- pdf_version_found = pdf_doc->doc->getPDFVersion();
|
||||
- pdf_version_wanted = major_pdf_version_wanted + (minor_pdf_version_wanted * 0.1);
|
||||
- if (pdf_version_found > pdf_version_wanted + 0.01) {
|
||||
- char msg[] =
|
||||
- "PDF inclusion: found PDF version <%.1f>, but at most version <%.1f> allowed";
|
||||
- if (pdf_inclusion_errorlevel > 0) {
|
||||
- pdftex_fail(msg, pdf_version_found, pdf_version_wanted);
|
||||
- } else if (pdf_inclusion_errorlevel < 0) {
|
||||
- ; /* do nothing */
|
||||
- } else { /* = 0, give warning */
|
||||
- pdftex_warn(msg, pdf_version_found, pdf_version_wanted);
|
||||
- }
|
||||
- }
|
||||
+#error POPPLER_VERSION should be defined.
|
||||
#endif
|
||||
epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages();
|
||||
if (page_name) {
|
||||
@@ -839,8 +818,8 @@ void write_epdf(void)
|
||||
Page *page;
|
||||
Ref *pageRef;
|
||||
Dict *pageDict;
|
||||
- PdfObject contents, obj1, obj2, pageObj, dictObj;
|
||||
- PdfObject groupDict;
|
||||
+ Object contents, obj1, obj2, pageObj, dictObj;
|
||||
+ Object groupDict;
|
||||
bool writeSepGroup = false;
|
||||
Object info;
|
||||
char *key;
|
||||
@@ -867,8 +846,8 @@ void write_epdf(void)
|
||||
encodingList = 0;
|
||||
page = pdf_doc->doc->getCatalog()->getPage(epdf_selected_page);
|
||||
pageRef = pdf_doc->doc->getCatalog()->getPageRef(epdf_selected_page);
|
||||
- xref->fetch(pageRef->num, pageRef->gen, &pageObj);
|
||||
- pageDict = pageObj->getDict();
|
||||
+ pageObj = xref->fetch(pageRef->num, pageRef->gen);
|
||||
+ pageDict = pageObj.getDict();
|
||||
rotate = page->getRotate();
|
||||
PDFRectangle *pagebox;
|
||||
// write the Page header
|
||||
@@ -886,7 +865,7 @@ void write_epdf(void)
|
||||
pdf_printf("/%s.PageNumber %i\n", pdfkeyprefix, (int) epdf_selected_page);
|
||||
}
|
||||
if ((suppress_ptex_info & MASK_SUPPRESS_PTEX_INFODICT) == 0) {
|
||||
- pdf_doc->doc->getDocInfoNF(&info);
|
||||
+ info = pdf_doc->doc->getDocInfoNF();
|
||||
if (info.isRef()) {
|
||||
// the info dict must be indirect (PDF Ref p. 61)
|
||||
pdf_printf("/%s.InfoDict ", pdfkeyprefix);
|
||||
@@ -942,14 +921,14 @@ void write_epdf(void)
|
||||
pdf_puts(stripzeros(s));
|
||||
|
||||
// Metadata validity check (as a stream it must be indirect)
|
||||
- pageDict->lookupNF("Metadata", &dictObj);
|
||||
- if (!dictObj->isNull() && !dictObj->isRef())
|
||||
+ dictObj = pageDict->lookupNF("Metadata");
|
||||
+ if (!dictObj.isNull() && !dictObj.isRef())
|
||||
pdftex_warn("PDF inclusion: /Metadata must be indirect object");
|
||||
|
||||
// copy selected items in Page dictionary except Resources & Group
|
||||
for (i = 0; pageDictKeys[i] != NULL; i++) {
|
||||
- pageDict->lookupNF(pageDictKeys[i], &dictObj);
|
||||
- if (!dictObj->isNull()) {
|
||||
+ dictObj = pageDict->lookupNF(pageDictKeys[i]);
|
||||
+ if (!dictObj.isNull()) {
|
||||
pdf_newline();
|
||||
pdf_printf("/%s ", pageDictKeys[i]);
|
||||
copyObject(&dictObj); // preserves indirection
|
||||
@@ -957,8 +936,8 @@ void write_epdf(void)
|
||||
}
|
||||
|
||||
// handle page group
|
||||
- pageDict->lookupNF("Group", &dictObj);
|
||||
- if (!dictObj->isNull()) {
|
||||
+ dictObj = pageDict->lookupNF("Group");
|
||||
+ if (!dictObj.isNull()) {
|
||||
if (pdfpagegroupval == 0) {
|
||||
// another pdf with page group was included earlier on the
|
||||
// same page; copy the Group entry as is. See manual for
|
||||
@@ -972,11 +951,36 @@ void write_epdf(void)
|
||||
copyObject(&dictObj);
|
||||
} else {
|
||||
// write Group dict as a separate object, since the Page dict also refers to it
|
||||
- pageDict->lookup("Group", &dictObj);
|
||||
- if (!dictObj->isDict())
|
||||
+ dictObj = pageDict->lookup("Group");
|
||||
+ if (!dictObj.isDict())
|
||||
pdftex_fail("PDF inclusion: /Group dict missing");
|
||||
writeSepGroup = true;
|
||||
- initDictFromDict(groupDict, page->getGroup());
|
||||
+/*
|
||||
+This part is only a single line
|
||||
+ groupDict = Object(page->getGroup());
|
||||
+in the original patch. In this case, however, pdftex crashes at
|
||||
+"delete pdf_doc->doc" in "delete_document()" for inclusion of some
|
||||
+kind of pdf images, for example, figure_missing.pdf in gnuplot.
|
||||
+A change
|
||||
+ groupDict = Object(page->getGroup()).copy();
|
||||
+does not improve the situation.
|
||||
+The changes below seem to work fine.
|
||||
+*/
|
||||
+// begin modification
|
||||
+ groupDict = pageDict->lookup("Group");
|
||||
+ const Dict& dic1 = page->getGroup();
|
||||
+ const Dict& dic2 = groupDict.getDict();
|
||||
+ // replace dic2 in groupDict with dic1
|
||||
+ l = dic2.getLength();
|
||||
+ for (i = 0; i < l; i++) {
|
||||
+ groupDict.dictRemove(dic2.getKey(i));
|
||||
+ }
|
||||
+ l = dic1.getLength();
|
||||
+ for (i = 0; i < l; i++) {
|
||||
+ groupDict.dictAdd(copyString(dic1.getKey(i)),
|
||||
+ dic1.getValNF(i));
|
||||
+ }
|
||||
+// end modification
|
||||
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
|
||||
}
|
||||
}
|
||||
@@ -989,14 +993,14 @@ void write_epdf(void)
|
||||
pdftex_warn
|
||||
("PDF inclusion: /Resources missing. 'This practice is not recommended' (PDF Ref)");
|
||||
} else {
|
||||
- initDictFromDict(obj1, page->getResourceDict());
|
||||
+ Object *obj1 = page->getResourceDictObject();
|
||||
if (!obj1->isDict())
|
||||
pdftex_fail("PDF inclusion: invalid resources dict type <%s>",
|
||||
obj1->getTypeName());
|
||||
pdf_newline();
|
||||
pdf_puts("/Resources <<\n");
|
||||
for (i = 0, l = obj1->dictGetLength(); i < l; ++i) {
|
||||
- obj1->dictGetVal(i, &obj2);
|
||||
+ obj2 = obj1->dictGetVal(i);
|
||||
key = obj1->dictGetKey(i);
|
||||
if (strcmp("Font", key) == 0)
|
||||
copyFontResources(&obj2);
|
||||
@@ -1009,8 +1013,8 @@ void write_epdf(void)
|
||||
}
|
||||
|
||||
// write the page contents
|
||||
- page->getContents(&contents);
|
||||
- if (contents->isStream()) {
|
||||
+ contents = page->getContents();
|
||||
+ if (contents.isStream()) {
|
||||
|
||||
// Variant A: get stream and recompress under control
|
||||
// of \pdfcompresslevel
|
||||
@@ -1021,36 +1025,35 @@ void write_epdf(void)
|
||||
|
||||
// Variant B: copy stream without recompressing
|
||||
//
|
||||
- contents->streamGetDict()->lookup("F", &obj1);
|
||||
- if (!obj1->isNull()) {
|
||||
+ obj1 = contents.streamGetDict()->lookup("F");
|
||||
+ if (!obj1.isNull()) {
|
||||
pdftex_fail("PDF inclusion: Unsupported external stream");
|
||||
}
|
||||
- contents->streamGetDict()->lookup("Length", &obj1);
|
||||
- assert(!obj1->isNull());
|
||||
+ obj1 = contents.streamGetDict()->lookup("Length");
|
||||
+ assert(!obj1.isNull());
|
||||
pdf_puts("/Length ");
|
||||
copyObject(&obj1);
|
||||
pdf_puts("\n");
|
||||
- contents->streamGetDict()->lookup("Filter", &obj1);
|
||||
- if (!obj1->isNull()) {
|
||||
+ obj1 = contents.streamGetDict()->lookup("Filter");
|
||||
+ if (!obj1.isNull()) {
|
||||
pdf_puts("/Filter ");
|
||||
copyObject(&obj1);
|
||||
pdf_puts("\n");
|
||||
- contents->streamGetDict()->lookup("DecodeParms", &obj1);
|
||||
- if (!obj1->isNull()) {
|
||||
+ obj1 = contents.streamGetDict()->lookup("DecodeParms");
|
||||
+ if (!obj1.isNull()) {
|
||||
pdf_puts("/DecodeParms ");
|
||||
copyObject(&obj1);
|
||||
pdf_puts("\n");
|
||||
}
|
||||
}
|
||||
pdf_puts(">>\nstream\n");
|
||||
- copyStream(contents->getStream()->getUndecodedStream());
|
||||
+ copyStream(contents.getStream()->getUndecodedStream());
|
||||
pdfendstream();
|
||||
- } else if (contents->isArray()) {
|
||||
+ } else if (contents.isArray()) {
|
||||
pdfbeginstream();
|
||||
- for (i = 0, l = contents->arrayGetLength(); i < l; ++i) {
|
||||
- Object contentsobj;
|
||||
- copyStream((contents->arrayGet(i, &contentsobj))->getStream());
|
||||
- contentsobj.free();
|
||||
+ for (i = 0, l = contents.arrayGetLength(); i < l; ++i) {
|
||||
+ Object contentsobj = contents.arrayGet(i);
|
||||
+ copyStream(contentsobj.getStream());
|
||||
if (i < l - 1)
|
||||
pdf_newline(); // add a newline after each stream except the last
|
||||
}
|
||||
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc
|
||||
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.newpoppler 2017-10-17 00:24:27.000000000 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc 2020-04-20 14:25:55.786266341 -0400
|
||||
@@ -16,6 +16,14 @@ GNU General Public License for more deta
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
+
|
||||
+/*
|
||||
+This is based on the patch texlive-poppler-0.59.patch <2017-09-19> at
|
||||
+https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk
|
||||
+by Arch Linux. The poppler should be 0.59.0 or newer versions.
|
||||
+POPPLER_VERSION should be defined.
|
||||
+*/
|
||||
+
|
||||
#include <w2c/config.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
@@ -32,10 +40,7 @@ with this program. If not, see <http://
|
||||
#include <goo/gmem.h>
|
||||
#include <goo/gfile.h>
|
||||
#else
|
||||
-#include <aconf.h>
|
||||
-#include <GString.h>
|
||||
-#include <gmem.h>
|
||||
-#include <gfile.h>
|
||||
+#error POPPLER_VERSION should be defined.
|
||||
#endif
|
||||
#include <assert.h>
|
||||
|
||||
@@ -86,22 +91,20 @@ int main(int argc, char *argv[])
|
||||
objgen = atoi(argv[3]);
|
||||
}
|
||||
xref = doc->getXRef();
|
||||
- catalogDict.initNull();
|
||||
- xref->getCatalog(&catalogDict);
|
||||
+ catalogDict = xref->getCatalog();
|
||||
if (!catalogDict.isDict("Catalog")) {
|
||||
fprintf(stderr, "No Catalog found\n");
|
||||
exit(1);
|
||||
}
|
||||
- srcStream.initNull();
|
||||
+ srcStream = Object(objNull);
|
||||
if (objnum == 0) {
|
||||
- catalogDict.dictLookup("SourceObject", &srcStream);
|
||||
+ srcStream = catalogDict.dictLookup("SourceObject");
|
||||
static char const_SourceFile[] = "SourceFile";
|
||||
if (!srcStream.isStream(const_SourceFile)) {
|
||||
fprintf(stderr, "No SourceObject found\n");
|
||||
exit(1);
|
||||
}
|
||||
- srcName.initNull();
|
||||
- srcStream.getStream()->getDict()->lookup("SourceName", &srcName);
|
||||
+ srcName = srcStream.getStream()->getDict()->lookup("SourceName");
|
||||
if (!srcName.isString()) {
|
||||
fprintf(stderr, "No SourceName found\n");
|
||||
exit(1);
|
||||
@@ -110,7 +113,7 @@ int main(int argc, char *argv[])
|
||||
// We cannot free srcName, as objname shares its string.
|
||||
// srcName.free();
|
||||
} else if (objnum > 0) {
|
||||
- xref->fetch(objnum, objgen, &srcStream);
|
||||
+ srcStream = xref->fetch(objnum, objgen);
|
||||
if (!srcStream.isStream()) {
|
||||
fprintf(stderr, "Not a Stream object\n");
|
||||
exit(1);
|
||||
@@ -160,26 +163,24 @@ int main(int argc, char *argv[])
|
||||
int localOffset = 0;
|
||||
Guint firstOffset;
|
||||
|
||||
- assert(xref->fetch(e->offset, 0, &objStr)->isStream());
|
||||
- nObjects = objStr.streamGetDict()->lookup("N", &obj1)->getInt();
|
||||
- obj1.free();
|
||||
- first = objStr.streamGetDict()->lookup("First", &obj1)->getInt();
|
||||
- obj1.free();
|
||||
+ objStr = xref->fetch(e->offset, 0);
|
||||
+ assert(objStr.isStream());
|
||||
+ obj1 = objStr.streamGetDict()->lookup("N");
|
||||
+ nObjects = obj1.getInt();
|
||||
+ obj1 = objStr.streamGetDict()->lookup("First");
|
||||
+ first = obj1.getInt();
|
||||
firstOffset = objStr.getStream()->getBaseStream()->getStart() + first;
|
||||
|
||||
// parse the header: object numbers and offsets
|
||||
objStr.streamReset();
|
||||
- obj1.initNull();
|
||||
- str = new EmbedStream(objStr.getStream(), &obj1, gTrue, first);
|
||||
+ str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first);
|
||||
lexer = new Lexer(xref, str);
|
||||
parser = new Parser(xref, lexer, gFalse);
|
||||
for (n = 0; n < nObjects; ++n) {
|
||||
- parser->getObj(&obj1);
|
||||
- parser->getObj(&obj2);
|
||||
+ obj1 = parser->getObj();
|
||||
+ obj2 = parser->getObj();
|
||||
if (n == e->gen)
|
||||
localOffset = obj2.getInt();
|
||||
- obj1.free();
|
||||
- obj2.free();
|
||||
}
|
||||
#if defined(POPPLER_VERSION) || defined(XPDF304)
|
||||
while (str->getChar() != EOF) ;
|
||||
@@ -187,7 +188,6 @@ int main(int argc, char *argv[])
|
||||
lexer->skipToEOF();
|
||||
#endif
|
||||
delete parser;
|
||||
- objStr.free();
|
||||
|
||||
fprintf(outfile, "%.10lu 00000 n\n",
|
||||
(long unsigned)(firstOffset + localOffset));
|
||||
@@ -198,7 +198,6 @@ int main(int argc, char *argv[])
|
||||
s->reset();
|
||||
while ((c = s->getChar()) != EOF)
|
||||
fputc(c, outfile);
|
||||
- srcStream.free();
|
||||
}
|
||||
if (objnum == 0)
|
||||
fprintf(stderr, "Source file extracted to %s\n", outname);
|
||||
@@ -207,7 +206,6 @@ int main(int argc, char *argv[])
|
||||
else
|
||||
fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
|
||||
fclose(outfile);
|
||||
- catalogDict.free();
|
||||
delete doc;
|
||||
delete globalParams;
|
||||
}
|
266
texlive-20200327-poppler-0.84.patch
Normal file
266
texlive-20200327-poppler-0.84.patch
Normal file
@ -0,0 +1,266 @@
|
||||
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
|
||||
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 2020-04-20 14:38:05.301181578 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-04-20 14:38:05.314181306 -0400
|
||||
@@ -26,6 +26,15 @@ The poppler should be 0.59.0 or newer ve
|
||||
POPPLER_VERSION should be defined.
|
||||
*/
|
||||
|
||||
+#ifdef POPPLER_VERSION
|
||||
+#include <poppler-config.h>
|
||||
+#define xpdfVersion POPPLER_VERSION
|
||||
+#define xpdfString "poppler"
|
||||
+#else
|
||||
+#include <xpdf/config.h> /* just to get the xpdf version */
|
||||
+#define xpdfString "xpdf"
|
||||
+#endif
|
||||
+
|
||||
/* Do this early in order to avoid a conflict between
|
||||
MINGW32 <rpcndr.h> defining 'boolean' as 'unsigned char' and
|
||||
<kpathsea/types.h> defining Pascal's boolean as 'int'.
|
||||
@@ -292,7 +301,7 @@ static void copyDictEntry(Object * obj,
|
||||
Object obj1;
|
||||
copyName(obj->dictGetKey(i));
|
||||
pdf_puts(" ");
|
||||
- obj1 = obj->dictGetValNF(i);
|
||||
+ obj1 = obj->dictGetValNF(i).copy();
|
||||
copyObject(&obj1);
|
||||
pdf_puts("\n");
|
||||
}
|
||||
@@ -351,7 +360,7 @@ static void copyProcSet(Object * obj)
|
||||
obj->getTypeName());
|
||||
pdf_puts("/ProcSet [ ");
|
||||
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
|
||||
- procset = obj->arrayGetNF(i);
|
||||
+ procset = obj->arrayGetNF(i).copy();
|
||||
if (!procset.isName())
|
||||
pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
|
||||
procset.getTypeName());
|
||||
@@ -406,7 +415,7 @@ static void copyFont(const char *tag, Ob
|
||||
if (fontdict.isDict()) {
|
||||
subtype = fontdict.dictLookup("Subtype");
|
||||
basefont = fontdict.dictLookup("BaseFont");
|
||||
- fontdescRef = fontdict.dictLookupNF("FontDescriptor");
|
||||
+ fontdescRef = fontdict.dictLookupNF("FontDescriptor").copy();
|
||||
if (fontdescRef.isRef()) {
|
||||
fontdesc = fontdescRef.fetch(xref);
|
||||
}
|
||||
@@ -452,7 +461,7 @@ static void copyFontResources(Object * o
|
||||
obj->getTypeName());
|
||||
pdf_puts("/Font << ");
|
||||
for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
|
||||
- fontRef = obj->dictGetValNF(i);
|
||||
+ fontRef = obj->dictGetValNF(i).copy();
|
||||
if (fontRef.isRef())
|
||||
copyFont(obj->dictGetKey(i), &fontRef);
|
||||
else if (fontRef.isDict()) { // some programs generate pdf with embedded font object
|
||||
@@ -595,7 +604,7 @@ static void copyObject(Object * obj)
|
||||
} else if (obj->isArray()) {
|
||||
pdf_puts("[");
|
||||
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
|
||||
- obj1 = obj->arrayGetNF(i);
|
||||
+ obj1 = obj->arrayGetNF(i).copy();
|
||||
if (!obj1.isName())
|
||||
pdf_puts(" ");
|
||||
copyObject(&obj1);
|
||||
@@ -723,7 +732,7 @@ read_pdf_info(char *image_name, char *pa
|
||||
#endif
|
||||
// initialize
|
||||
if (!isInit) {
|
||||
- globalParams = new GlobalParams();
|
||||
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
|
||||
globalParams->setErrQuiet(false);
|
||||
isInit = true;
|
||||
}
|
||||
@@ -761,7 +770,7 @@ read_pdf_info(char *image_name, char *pa
|
||||
if (link == 0 || !link->isOk())
|
||||
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
|
||||
Ref ref = link->getPageRef();
|
||||
- page_num = pdf_doc->doc->getCatalog()->findPage(ref.num, ref.gen);
|
||||
+ page_num = pdf_doc->doc->getCatalog()->findPage(ref);
|
||||
if (page_num == 0)
|
||||
pdftex_fail("PDF inclusion: destination is not a page <%s>",
|
||||
page_name);
|
||||
@@ -921,13 +930,13 @@ void write_epdf(void)
|
||||
pdf_puts(stripzeros(s));
|
||||
|
||||
// Metadata validity check (as a stream it must be indirect)
|
||||
- dictObj = pageDict->lookupNF("Metadata");
|
||||
+ dictObj = pageDict->lookupNF("Metadata").copy();
|
||||
if (!dictObj.isNull() && !dictObj.isRef())
|
||||
pdftex_warn("PDF inclusion: /Metadata must be indirect object");
|
||||
|
||||
// copy selected items in Page dictionary except Resources & Group
|
||||
for (i = 0; pageDictKeys[i] != NULL; i++) {
|
||||
- dictObj = pageDict->lookupNF(pageDictKeys[i]);
|
||||
+ dictObj = pageDict->lookupNF(pageDictKeys[i]).copy();
|
||||
if (!dictObj.isNull()) {
|
||||
pdf_newline();
|
||||
pdf_printf("/%s ", pageDictKeys[i]);
|
||||
@@ -936,7 +945,7 @@ void write_epdf(void)
|
||||
}
|
||||
|
||||
// handle page group
|
||||
- dictObj = pageDict->lookupNF("Group");
|
||||
+ dictObj = pageDict->lookupNF("Group").copy();
|
||||
if (!dictObj.isNull()) {
|
||||
if (pdfpagegroupval == 0) {
|
||||
// another pdf with page group was included earlier on the
|
||||
@@ -978,7 +987,7 @@ The changes below seem to work fine.
|
||||
l = dic1.getLength();
|
||||
for (i = 0; i < l; i++) {
|
||||
groupDict.dictAdd(dic1.getKey(i),
|
||||
- dic1.getValNF(i));
|
||||
+ dic1.getValNF(i).copy());
|
||||
}
|
||||
// end modification
|
||||
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
|
||||
@@ -1108,6 +1117,6 @@ void epdf_check_mem()
|
||||
delete_document(p);
|
||||
}
|
||||
// see above for globalParams
|
||||
- delete globalParams;
|
||||
+ globalParams.reset();
|
||||
}
|
||||
}
|
||||
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc
|
||||
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 2020-04-20 14:38:05.301181578 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc 2020-04-20 14:38:05.314181306 -0400
|
||||
@@ -24,6 +24,15 @@ by Arch Linux. The poppler should be 0.5
|
||||
POPPLER_VERSION should be defined.
|
||||
*/
|
||||
|
||||
+#ifdef POPPLER_VERSION
|
||||
+#include <poppler-config.h>
|
||||
+#define xpdfVersion POPPLER_VERSION
|
||||
+#define xpdfString "poppler"
|
||||
+#else
|
||||
+#include <xpdf/config.h> /* just to get the xpdf version */
|
||||
+#define xpdfString "xpdf"
|
||||
+#endif
|
||||
+
|
||||
#include <w2c/config.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
@@ -79,7 +88,7 @@ int main(int argc, char *argv[])
|
||||
exit(1);
|
||||
}
|
||||
fileName = new GString(argv[1]);
|
||||
- globalParams = new GlobalParams();
|
||||
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
|
||||
doc = new PDFDoc(fileName);
|
||||
if (!doc->isOk()) {
|
||||
fprintf(stderr, "Invalid PDF file\n");
|
||||
@@ -100,7 +109,7 @@ int main(int argc, char *argv[])
|
||||
if (objnum == 0) {
|
||||
srcStream = catalogDict.dictLookup("SourceObject");
|
||||
static char const_SourceFile[] = "SourceFile";
|
||||
- if (!srcStream.isStream(const_SourceFile)) {
|
||||
+ if (!(srcStream.isStream() && srcStream.getDict()->is(const_SourceFile))) {
|
||||
fprintf(stderr, "No SourceObject found\n");
|
||||
exit(1);
|
||||
}
|
||||
@@ -156,7 +165,6 @@ int main(int argc, char *argv[])
|
||||
(e->type == xrefEntryFree ? "f" : "n"));
|
||||
else { // e->offset is the object number of the object stream
|
||||
Stream *str;
|
||||
- Lexer *lexer;
|
||||
Parser *parser;
|
||||
Object objStr, obj1, obj2;
|
||||
int nObjects, first, n;
|
||||
@@ -174,8 +182,7 @@ int main(int argc, char *argv[])
|
||||
// parse the header: object numbers and offsets
|
||||
objStr.streamReset();
|
||||
str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
|
||||
- lexer = new Lexer(xref, str);
|
||||
- parser = new Parser(xref, lexer, false);
|
||||
+ parser = new Parser(xref, str, false);
|
||||
for (n = 0; n < nObjects; ++n) {
|
||||
obj1 = parser->getObj();
|
||||
obj2 = parser->getObj();
|
||||
@@ -207,5 +214,5 @@ int main(int argc, char *argv[])
|
||||
fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
|
||||
fclose(outfile);
|
||||
delete doc;
|
||||
- delete globalParams;
|
||||
+ globalParams.reset();
|
||||
}
|
||||
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c
|
||||
--- texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 2019-12-29 19:37:32.000000000 -0500
|
||||
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c 2020-04-20 14:39:39.355214866 -0400
|
||||
@@ -32,14 +32,6 @@ with this program. If not, see <http://
|
||||
#include <zlib.h>
|
||||
#include "ptexlib.h"
|
||||
#include <png.h>
|
||||
-#ifdef POPPLER_VERSION
|
||||
-/* POPPLER_VERSION should be a proper version string */
|
||||
-#define xpdfVersion POPPLER_VERSION
|
||||
-#define xpdfString "poppler"
|
||||
-#else
|
||||
-#include <xpdf/config.h> /* just to get the xpdf version */
|
||||
-#define xpdfString "xpdf"
|
||||
-#endif
|
||||
|
||||
#define check_nprintf(size_get, size_want) \
|
||||
if ((unsigned)(size_get) >= (unsigned)(size_want)) \
|
||||
@@ -977,12 +969,10 @@ void initversionstring(char **versions)
|
||||
{
|
||||
const_string fmt =
|
||||
"Compiled with libpng %s; using libpng %s\n"
|
||||
- "Compiled with zlib %s; using zlib %s\n"
|
||||
- "Compiled with %s version %s\n";
|
||||
+ "Compiled with zlib %s; using zlib %s\n";
|
||||
size_t len = strlen(fmt)
|
||||
+ strlen(PNG_LIBPNG_VER_STRING) + strlen(png_libpng_ver)
|
||||
+ strlen(ZLIB_VERSION) + strlen(zlib_version)
|
||||
- + strlen(xpdfString) + strlen(xpdfVersion)
|
||||
+ 1;
|
||||
|
||||
/* len will be more than enough, because of the placeholder chars in fmt
|
||||
@@ -990,7 +980,7 @@ void initversionstring(char **versions)
|
||||
*versions = xmalloc(len);
|
||||
sprintf(*versions, fmt,
|
||||
PNG_LIBPNG_VER_STRING, png_libpng_ver,
|
||||
- ZLIB_VERSION, zlib_version, xpdfString, xpdfVersion);
|
||||
+ ZLIB_VERSION, zlib_version);
|
||||
}
|
||||
|
||||
|
||||
diff -up texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c
|
||||
--- texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 2019-12-30 16:00:39.000000000 -0500
|
||||
+++ texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c 2020-04-20 14:40:44.534851910 -0400
|
||||
@@ -38,10 +38,6 @@ authorization from the copyright holders
|
||||
|
||||
#include <w2c/config.h>
|
||||
|
||||
-#ifndef POPPLER_VERSION
|
||||
-#include <poppler-config.h>
|
||||
-#endif
|
||||
-
|
||||
#include <png.h>
|
||||
#include <zlib.h>
|
||||
#include <graphite2/Font.h>
|
||||
@@ -170,7 +166,6 @@ void initversionstring(char **versions)
|
||||
"Compiled with Graphite2 version %d.%d.%d; using %d.%d.%d\n"
|
||||
"Compiled with HarfBuzz version %s; using %s\n"
|
||||
"Compiled with libpng version %s; using %s\n"
|
||||
- "Compiled with poppler version %s\n"
|
||||
#ifdef XETEX_MAC
|
||||
"Using Mac OS X Core Text and Cocoa frameworks\n"
|
||||
#else
|
||||
@@ -187,7 +182,6 @@ void initversionstring(char **versions)
|
||||
+ strlen(hb_version_string())
|
||||
+ strlen(PNG_LIBPNG_VER_STRING)
|
||||
+ strlen(png_libpng_ver)
|
||||
- + strlen(POPPLER_VERSION)
|
||||
#ifndef XETEX_MAC
|
||||
+ 6 * 3 /* for fontconfig version #s (won't really need 3 digits per field!) */
|
||||
#endif
|
||||
@@ -217,7 +211,7 @@ void initversionstring(char **versions)
|
||||
GR2_VERSION_MAJOR, GR2_VERSION_MINOR, GR2_VERSION_BUGFIX,
|
||||
grMajor, grMinor, grBugfix,
|
||||
HB_VERSION_STRING, hb_version_string(),
|
||||
- PNG_LIBPNG_VER_STRING, png_libpng_ver, POPPLER_VERSION
|
||||
+ PNG_LIBPNG_VER_STRING, png_libpng_ver
|
||||
#ifndef XETEX_MAC
|
||||
,
|
||||
FC_VERSION / 10000, (FC_VERSION % 10000) / 100, FC_VERSION % 100,
|
20
texlive-20200327-poppler-0.90.patch
Normal file
20
texlive-20200327-poppler-0.90.patch
Normal file
@ -0,0 +1,20 @@
|
||||
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler090 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
|
||||
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler090 2020-07-14 13:13:31.620607263 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-07-14 13:16:01.530248309 -0400
|
||||
@@ -766,7 +766,7 @@ read_pdf_info(char *image_name, char *pa
|
||||
if (page_name) {
|
||||
// get page by name
|
||||
GString name(page_name);
|
||||
- LinkDest *link = pdf_doc->doc->findDest(&name);
|
||||
+ std::unique_ptr<LinkDest> link = pdf_doc->doc->findDest(&name);
|
||||
if (link == 0 || !link->isOk())
|
||||
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
|
||||
Ref ref = link->getPageRef();
|
||||
@@ -774,7 +774,6 @@ read_pdf_info(char *image_name, char *pa
|
||||
if (page_num == 0)
|
||||
pdftex_fail("PDF inclusion: destination is not a page <%s>",
|
||||
page_name);
|
||||
- delete link;
|
||||
} else {
|
||||
// get page by number
|
||||
if (page_num <= 0 || page_num > epdf_num_pages)
|
22
texlive-20200327-texinfo-path-fix.patch
Normal file
22
texlive-20200327-texinfo-path-fix.patch
Normal file
@ -0,0 +1,22 @@
|
||||
diff -up texlive-base-20200327/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20200327/source/texk/kpathsea/texmf.cnf
|
||||
--- texlive-base-20200327/source/texk/kpathsea/texmf.cnf.texinfo-fix 2020-04-20 14:29:38.934769870 -0400
|
||||
+++ texlive-base-20200327/source/texk/kpathsea/texmf.cnf 2020-04-20 14:31:48.070069635 -0400
|
||||
@@ -83,6 +83,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
|
||||
% to %USERPROFILE% on Windows, $HOME otherwise.
|
||||
TEXMFHOME = ~/texmf
|
||||
|
||||
+% Texinfo on Fedora lives out of $TEXMFROOT
|
||||
+TEXINFOHOME = $SELFAUTODIR/share/texmf
|
||||
+
|
||||
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
|
||||
TEXMFVAR = ~/.texlive2020/texmf-var
|
||||
|
||||
@@ -108,7 +111,7 @@ TEXMFAUXTREES = {}
|
||||
% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
|
||||
% ever defined (the 99% common case), no extra elements will be added to
|
||||
% the search paths. tlmgr takes care to end any value with a trailing comma.
|
||||
-TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
|
||||
+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
|
||||
|
||||
% Where to look for, and where mktexlsr creates, ls-R files. By default,
|
||||
% this is all and only the !! elements of TEXMF, so that mktexlsr does not
|
12
texlive-base-20180414-disable-omegafonts-check-test.patch
Normal file
12
texlive-base-20180414-disable-omegafonts-check-test.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up texlive-base-20180414/source/texk/web2c/omegafonts/check.test.disabletest texlive-base-20180414/source/texk/web2c/omegafonts/check.test
|
||||
--- texlive-base-20180414/source/texk/web2c/omegafonts/check.test.disabletest 2018-10-04 13:24:17.965126655 -0400
|
||||
+++ texlive-base-20180414/source/texk/web2c/omegafonts/check.test 2018-10-04 13:24:26.068945230 -0400
|
||||
@@ -4,6 +4,8 @@
|
||||
# Copyright 2014, 2015 Peter Breitenlohner <tex-live@tug.org>
|
||||
# You may freely use, modify and/or distribute this file.
|
||||
|
||||
+exit 0
|
||||
+
|
||||
test -d tests || mkdir -p tests
|
||||
|
||||
TEXMFCNF=$srcdir/../../kpathsea
|
@ -0,0 +1,11 @@
|
||||
diff -up texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c.shh texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c
|
||||
--- texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c.shh 2019-03-19 11:02:44.303218932 -0400
|
||||
+++ texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c 2019-03-19 11:02:59.545857443 -0400
|
||||
@@ -6023,7 +6023,6 @@ synctex_scanner_p synctex_scanner_new_wi
|
||||
if ((scanner->reader = synctex_reader_init_with_output_file(scanner->reader, output, build_directory))) {
|
||||
return parse? synctex_scanner_parse(scanner):scanner;
|
||||
}
|
||||
- _synctex_error("No file?");
|
||||
return NULL;
|
||||
}
|
||||
|
16
texlive-base-20190410-CVE-2019-19601.patch
Normal file
16
texlive-base-20190410-CVE-2019-19601.patch
Normal file
@ -0,0 +1,16 @@
|
||||
diff -up texlive-base-20190410/source/texk/detex/detex-src/detex.l.me texlive-base-20190410/source/texk/detex/detex-src/detex.l
|
||||
--- texlive-base-20190410/source/texk/detex/detex-src/detex.l.me 2020-02-05 12:54:36.100840384 +0100
|
||||
+++ texlive-base-20190410/source/texk/detex/detex-src/detex.l 2020-02-05 13:00:28.476320773 +0100
|
||||
@@ -898,10 +898,10 @@ TexOpen(char *sbFile)
|
||||
#else
|
||||
if (*sbFile == '/') { /* absolute path */
|
||||
#endif
|
||||
- (void)sprintf(sbFullPath, "%s", sbFile);
|
||||
+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s", sbFile);
|
||||
iPath = csbInputPaths; /* only check once */
|
||||
} else
|
||||
- (void)sprintf(sbFullPath, "%s/%s", rgsbInputPaths[iPath], sbFile);
|
||||
+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s/%s", rgsbInputPaths[iPath], sbFile);
|
||||
#ifdef OS2
|
||||
pch = sbFullPath;
|
||||
while (pch = strchr(pch, '\\'))
|
@ -1,20 +0,0 @@
|
||||
diff -up tex/latex/sympytexpackage/sympytex.sty.than tex/latex/sympytexpackage/sympytex.sty
|
||||
--- tex/latex/sympytexpackage/sympytex.sty.than 2017-07-05 14:24:09.206951593 +0200
|
||||
+++ tex/latex/sympytexpackage/sympytex.sty 2017-07-05 14:25:09.994666464 +0200
|
||||
@@ -43,13 +43,13 @@
|
||||
\newwrite\ST@sf
|
||||
\immediate\openout\ST@sf=\jobname.sympy
|
||||
\newcommand{\ST@wsf}[1]{\immediate\write\ST@sf{#1}}
|
||||
-\iffalse
|
||||
+%\iffalse
|
||||
%% To get .sympy files to automatically change the Python path to find
|
||||
%% sympytex.py, delete the \iffalse and \fi lines surrounding this and
|
||||
%% change the directory below to where sympytex.py can be found.
|
||||
\ST@wsf{import sys}
|
||||
-\ST@wsf{sys.path.insert(0, 'directory with sympytex.py')}
|
||||
-\fi
|
||||
+\ST@wsf{sys.path.insert(0, '/usr/share/texlive/texmf-dist/scripts/sympytexpackage')}
|
||||
+%\fi
|
||||
\ST@wsf{import sympy}
|
||||
\ST@wsf{import sympytex}
|
||||
\ST@wsf{sympytex.openout('\jobname')}
|
@ -1,91 +0,0 @@
|
||||
--- tex/latex/geometry/geometry.sty 2016-11-25 19:33:49.000000000 +0100
|
||||
+++ tex/latex/geometry/geometry.sty 2018-05-06 13:09:27.223486373 +0200
|
||||
@@ -8,6 +8,8 @@
|
||||
%%
|
||||
%% Copyright (C) 1996-2010
|
||||
%% by Hideo Umeki <latexgeometry@gmail.com>
|
||||
+%% Copyright (C) 2018
|
||||
+%% by Hideo Umeki and David Carlisle https://github.com/davidcarlisle/geometry
|
||||
%%
|
||||
%% This work may be distributed and/or modified under the conditions of
|
||||
%% the LaTeX Project Public License, either version 1.3c of this license
|
||||
@@ -18,14 +20,14 @@
|
||||
%% version 2005/12/01 or later.
|
||||
%%
|
||||
%% This work is "maintained" (as per the LPPL maintenance status)
|
||||
-%% by Hideo Umeki.
|
||||
+%% by David Carlisle.
|
||||
%%
|
||||
%% This work consists of the files geometry.dtx and
|
||||
%% the derived files: geometry.{sty,ins,drv}, geometry-samples.tex.
|
||||
%%
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{geometry}
|
||||
- [2010/09/12 v5.6 Page Geometry]
|
||||
+ [2018/03/24 v5.7 Page Geometry]
|
||||
\RequirePackage{keyval}%
|
||||
\RequirePackage{ifpdf}%
|
||||
\RequirePackage{ifvtex}%
|
||||
@@ -72,6 +74,7 @@
|
||||
\def\Gm@dvips{dvips}%
|
||||
\def\Gm@dvipdfm{dvipdfm}%
|
||||
\def\Gm@pdftex{pdftex}%
|
||||
+\def\Gm@luatex{luatex}%
|
||||
\def\Gm@xetex{xetex}%
|
||||
\def\Gm@vtex{vtex}%
|
||||
\def\Gm@true{true}%
|
||||
@@ -592,6 +595,8 @@
|
||||
\Gm@doifelse{dvipdfm}{#1}{\Gm@setdriver{dvipdfm}}{\Gm@unsetdriver{dvipdfm}}}}%
|
||||
\define@key{Gm}{pdftex}[true]{\ifGm@preamble{pdftex}{%
|
||||
\Gm@doifelse{pdftex}{#1}{\Gm@setdriver{pdftex}}{\Gm@unsetdriver{pdftex}}}}%
|
||||
+\define@key{Gm}{luatex}[true]{\ifGm@preamble{luatex}{%
|
||||
+ \Gm@doifelse{luatex}{#1}{\Gm@setdriver{luatex}}{\Gm@unsetdriver{luatex}}}}%
|
||||
\define@key{Gm}{xetex}[true]{\ifGm@preamble{xetex}{%
|
||||
\Gm@doifelse{xetex}{#1}{\Gm@setdriver{xetex}}{\Gm@unsetdriver{xetex}}}}%
|
||||
\define@key{Gm}{vtex}[true]{\ifGm@preamble{vtex}{%
|
||||
@@ -809,7 +814,11 @@
|
||||
\ifx\Gm@driver\@empty
|
||||
\typeout{*geometry* driver: auto-detecting}%
|
||||
\ifpdf
|
||||
- \Gm@setdriver{pdftex}%
|
||||
+ \ifx\pdfextension\@undefined
|
||||
+ \Gm@setdriver{pdftex}%
|
||||
+ \else
|
||||
+ \Gm@setdriver{luatex}%
|
||||
+ \fi
|
||||
\else
|
||||
\Gm@setdriver{dvips}%
|
||||
\fi
|
||||
@@ -1030,7 +1039,7 @@
|
||||
\setlength\pdfpagewidth{\Gm@pw}%
|
||||
\setlength\pdfpageheight{\Gm@ph}}%
|
||||
\ifnum\mag=\@m\else
|
||||
- \@tempdima=\mag sp%
|
||||
+ \@tempdima=\mag sp
|
||||
\@ifundefined{pdfhorigin}{}{%
|
||||
\divide\pdfhorigin\@tempdima
|
||||
\multiply\pdfhorigin\@m
|
||||
@@ -1039,6 +1048,23 @@
|
||||
\ifx\Gm@truedimen\Gm@true
|
||||
\setlength\paperwidth{\Gm@pw}%
|
||||
\setlength\paperheight{\Gm@ph}%
|
||||
+ \fi
|
||||
+ \fi
|
||||
+ \fi
|
||||
+ \ifx\Gm@driver\Gm@luatex
|
||||
+ \setlength\pagewidth{\Gm@pw}%
|
||||
+ \setlength\pageheight{\Gm@ph}%
|
||||
+ \ifnum\mag=\@m\else
|
||||
+ \@tempdima=\mag sp
|
||||
+ \edef\Gm@horigin{\pdfvariable horigin}%
|
||||
+ \edef\Gm@vorigin{\pdfvariable vorigin}%
|
||||
+ \divide\Gm@horigin\@tempdima
|
||||
+ \multiply\Gm@horigin\@m
|
||||
+ \divide\Gm@vorigin\@tempdima
|
||||
+ \multiply\Gm@vorigin\@m
|
||||
+ \ifx\Gm@truedimen\Gm@true
|
||||
+ \setlength\paperwidth{\Gm@pw}%
|
||||
+ \setlength\paperheight{\Gm@ph}%
|
||||
\fi
|
||||
\fi
|
||||
\fi
|
@ -1,12 +0,0 @@
|
||||
diff -up source/texk/kpathsea/mktexlsr.than source/texk/kpathsea/mktexlsr
|
||||
--- source/texk/kpathsea/mktexlsr.than 2015-04-29 16:52:42.800897655 +0200
|
||||
+++ source/texk/kpathsea/mktexlsr 2015-04-29 16:53:12.500695909 +0200
|
||||
@@ -66,7 +66,7 @@ if tty -s; then verbose=true; else verbo
|
||||
dry_run=false
|
||||
trees=
|
||||
|
||||
-treefile="${TMPDIR-/tmp}/mktexlsrtrees$$.tmp"
|
||||
+treefile=`mktemp -q --tmpdir mktexlsrtrees.XXXXXXXXXX`
|
||||
trap 'cd /; rm -f $treefile; test -z "$db_dir_tmp" || rm -rf "$db_dir_tmp";
|
||||
exit' 0 1 2 3 7 13 15
|
||||
|
@ -1,189 +0,0 @@
|
||||
"cmdtrack", NULL, /* Removed from TeXLive - non-free */
|
||||
"fltpage", NULL, /* Removed from TeXLive - non-free */
|
||||
"free-math-font-survey", NULL, /* Removed from TeXLive - non-free */
|
||||
"kalender", NULL, /* Removed from TeXLive - non-free */
|
||||
"latex-tipps-und-tricks", NULL, /* Removed from TeXLive - non-free */
|
||||
"russ", NULL, /* Removed from TeXLive - non-free */
|
||||
"preview", NULL, /* upstream in Fedora */
|
||||
"psutils", NULL, /* in Fedora */
|
||||
"floatflt", "LPPL",
|
||||
"seetexk", "MIT",
|
||||
"texdraw", "CC-BY",
|
||||
"ogham", "Public Domain",
|
||||
"midnight", "midnight",
|
||||
"ec", "ec",
|
||||
"setspace", "Copyright only", /* http://www.linux.cz/pipermail/texlive/2011-December/000357.html */
|
||||
"authoraftertitle", "Public Domain", /* http://www.linux.cz/pipermail/texlive/2011-December/000359.html */
|
||||
"gentle", "CC-BY-SA", /* http://www.linux.cz/pipermail/texlive/2011-December/000375.html */
|
||||
"gillcm", "BSD", /* http://www.linux.cz/pipermail/texlive/2011-December/000382.html */
|
||||
"doc-pictex", "Copyright only", /* http://www.linux.cz/pipermail/texlive/2011-December/000386.html */
|
||||
"abstyles", "Abstyles", /* http://www.linux.cz/pipermail/texlive/2011-December/000343.html */
|
||||
"adobemapping", "BSD",
|
||||
"ANUfinalexam", "GPL+",
|
||||
"apalike2", "Knuth",
|
||||
"apa6e", "BSD",
|
||||
"arpic", "Arpic",
|
||||
"ar", "LPPL",
|
||||
"asana-math", "OFL",
|
||||
"ascii-chart", "LPPL",
|
||||
"bbm", "Copyright only",
|
||||
"bbold-type1", "Copyright only",
|
||||
"bera", "Bitstream vera",
|
||||
"berenisadf", "GPLv2+ and LPPL",
|
||||
"bchart", "MIT",
|
||||
"blacklettert1", "LPPL",
|
||||
"borceux", "Borceux",
|
||||
"braille", "LPPL",
|
||||
"breakcites", "Copyright only",
|
||||
"calligra", "Copyright only",
|
||||
"calligra-type1", "Copyright only",
|
||||
"charter", "Copyright only",
|
||||
"cherokee", "Copyright only",
|
||||
"chicago", "Knuth",
|
||||
"cite", "Copyright only",
|
||||
"clock", "GPL+",
|
||||
"cm-unicode", "OFL",
|
||||
"codepage", "BSD",
|
||||
"context-filter", "BSD",
|
||||
"context-mathsets", "BSD",
|
||||
"context-rst", "BSD",
|
||||
"context", "GPL+ or LPPL",
|
||||
"context-vim", "BSD",
|
||||
"courseoutline", "Copyright only",
|
||||
"coursepaper", "Copyright only",
|
||||
"crossword", "Crossword",
|
||||
"csplain", "GPLv2+",
|
||||
"dancers", "Copyright only",
|
||||
"de-macro", "AFL",
|
||||
"detex", "NCSA",
|
||||
"din1505", "Bibtex",
|
||||
"dk-bib", "GPLv2+",
|
||||
"dosepsbin", "GPLv2 or Artistic",
|
||||
"dotseqn", "Dotseqn",
|
||||
"doublestroke", "Doublestroke",
|
||||
"dvidvi", "Copyright only",
|
||||
"ecv", "Copyright only",
|
||||
"eiad", "Public Domain",
|
||||
"electrum", "GPLv2+ with exceptions and LPPL",
|
||||
"elvish", "Elvish",
|
||||
"epstopdf", "BSD",
|
||||
"eqname", "Copyright only",
|
||||
"esstix", "OFL",
|
||||
"etex-pkg", "LPPL",
|
||||
"eurosym", "Eurosym",
|
||||
"facture", "CC-BY-SA",
|
||||
"fancynum", "LPPL",
|
||||
"fbithesis", "LPPL",
|
||||
"figflow", "Copyright only",
|
||||
"finbib", "Bibtex",
|
||||
"fltpoint", "LPPL",
|
||||
"fonetika", "GPL+ and LPPL",
|
||||
"font-change", "CC-BY-SA",
|
||||
"formlett", "GPL+",
|
||||
"framed", "Copyright only",
|
||||
"fundus", "LPPL",
|
||||
"fwlw", "Copyright only",
|
||||
"gene-logic", "Crossword",
|
||||
"gentium", "OFL",
|
||||
"germbib", "Bibtex",
|
||||
"getoptk", "CeCILL-B",
|
||||
"gfsartemisia", "LPPL",
|
||||
"gfsbaskerville", "LPPL",
|
||||
"gfsbodoni", "OFL",
|
||||
"gfscomplutum", "OFL",
|
||||
"gfsdidot", "LPPL",
|
||||
"gfsneohellenic", "LPPL",
|
||||
"gfsporson", "LPPL",
|
||||
"gfssolomos", "OFL",
|
||||
"harvmac", "CC-BY",
|
||||
"hc", "GPLv2+",
|
||||
"hyphen-basque", "Bahyph",
|
||||
"hyphenex", "Public Domain",
|
||||
"hyphen-greek", "LPPL",
|
||||
"hyphen-turkish", "Copyright only",
|
||||
"hyph-utf8", "Copyright only",
|
||||
"ifsym", "LPPL",
|
||||
"inconsolata", "OFL",
|
||||
"index", "LPPL",
|
||||
"ipaex", "IPA",
|
||||
"itrans", "BSD",
|
||||
"jadetex", "MIT",
|
||||
"jamtimes", "BSD",
|
||||
"japanese-otf", "BSD",
|
||||
"jlabels", "Bibtex or LPPL",
|
||||
"kixfont", "Copyright only",
|
||||
"latex2e-help-texinfo", "Latex2e",
|
||||
"lhcyr", "Lhcyr",
|
||||
"localloc", "Bibtex",
|
||||
"lshort-german", "GFDL",
|
||||
"lshort-spanish", "GPLv2+",
|
||||
"lshort-ukr", "GPLv2+",
|
||||
"lua-alt-getopt", "MIT",
|
||||
"magaz", "Copyright only",
|
||||
"makeindex", "MakeIndex",
|
||||
"mdputu", "BSD",
|
||||
"menu", "LPPL",
|
||||
"metapost-examples", "GPL+",
|
||||
"mhequ", "Public Domain",
|
||||
"mil3", "Copyright only",
|
||||
"minutes", "LPPL",
|
||||
"mkgrkindex", "LPPL",
|
||||
"mkjobtexmf", "GPLv2 or Artistic",
|
||||
"mpman-ru", "MIT",
|
||||
"mp3d", "LPPL",
|
||||
"mslapa", "Public Domain",
|
||||
"mxedruli", "LPPL",
|
||||
"nature", "LPPL",
|
||||
"newsletr", "Newsletr",
|
||||
"ocr-b-outline", "Copyright only",
|
||||
"ocr-b", "Copyright only",
|
||||
"oldstandard", "OFL",
|
||||
"oubraces", "Copyright only",
|
||||
"passivetex", "MIT",
|
||||
"path", "Bibtex",
|
||||
"pax", "GPLv2+",
|
||||
"pb-diagram", "GPLv2+",
|
||||
"persian-modern", "OFL",
|
||||
"philokalia", "OFL",
|
||||
"plain-doc", "Public Domain",
|
||||
"plweb", "Copyright only",
|
||||
"pnas2009", "Bibtex",
|
||||
"prodint", "OFL",
|
||||
"productbox", "Copyright only",
|
||||
"psfrag", "psfrag",
|
||||
"pst-bspline", "LPPL",
|
||||
"ps2pkm", "MIT",
|
||||
"ptex", "BSD",
|
||||
"punknova", "Punknova",
|
||||
"rccol", "LPPL",
|
||||
"rsfs", "rsfs",
|
||||
"r_und_s", "BSD",
|
||||
"shapepar", "Dotseqn",
|
||||
"showhyphens", "MIT",
|
||||
"slideshow", "Copyright only",
|
||||
"sphack", "Bibtex",
|
||||
"stix", "OFL",
|
||||
"subsupscripts", "LPPL",
|
||||
"tabls", "Dotseqn",
|
||||
"tds", "Latex2e",
|
||||
"tetex", "GPL+ and GPLv2+ and LPPL",
|
||||
"texdiff", "GPL+ or Artistic",
|
||||
"texdirflatten", "GPL+ or Artistic",
|
||||
"texloganalyser", "BSD",
|
||||
"tex-refs", "GFDL",
|
||||
"threeparttable", "Threeparttable",
|
||||
"tie", "Latex2e",
|
||||
"tikz-dependency", "(GPLv2 or LPPL) and (GFDL or LPPL)",
|
||||
"tucv", "CC-BY-SA",
|
||||
"tugboat-plain", "Bibtex",
|
||||
"ulem", "Copyright only",
|
||||
"umtypewriter", "OFL",
|
||||
"utopia", "Utopia",
|
||||
"venturisadf", "Utopia",
|
||||
"version", "Copyright only",
|
||||
"vntex", "Utopia",
|
||||
"wadalab", "Wadalab",
|
||||
"webguide", "Utopia",
|
||||
"wsuipa", "Utopia",
|
||||
"xdvi", "MIT",
|
||||
"zed-csp", "Zed",
|
@ -1,16 +0,0 @@
|
||||
diff -up source/m4/kpse-teckit-flags.m4.fix source/m4/kpse-teckit-flags.m4
|
||||
--- source/m4/kpse-teckit-flags.m4.fix 2015-07-28 21:46:52.411157717 -0400
|
||||
+++ source/m4/kpse-teckit-flags.m4 2015-07-28 21:47:03.570090966 -0400
|
||||
@@ -20,9 +20,8 @@ _KPSE_LIB_FLAGS([teckit], [TECkit], [],
|
||||
|
||||
# KPSE_TECKIT_OPTIONS([WITH-SYSTEM])
|
||||
# ----------------------------------
|
||||
-AC_DEFUN([KPSE_TECKIT_OPTIONS], [_KPSE_LIB_OPTIONS([teckit], [$1], [pkg-config])])
|
||||
+AC_DEFUN([KPSE_TECKIT_OPTIONS], [_KPSE_LIB_OPTIONS([teckit], [$1])])
|
||||
|
||||
# KPSE_TECKIT_SYSTEM_FLAGS
|
||||
-# -------------------------
|
||||
-AC_DEFUN([KPSE_TECKIT_SYSTEM_FLAGS], [dnl
|
||||
-_KPSE_PKG_CONFIG_FLAGS([teckit], [teckit])])
|
||||
+# ------------------------
|
||||
+AC_DEFUN([KPSE_TECKIT_SYSTEM_FLAGS], [_KPSE_LIB_FLAGS_SYSTEM([teckit], [TECkit])])
|
@ -1,121 +0,0 @@
|
||||
--- latexdiff.pl 2015-04-19 16:00:38.000000000 -0600
|
||||
+++ latexdiff.pl 2015-12-15 19:14:13.581563397 -0700
|
||||
@@ -1434,7 +1434,7 @@ sub flatten {
|
||||
$bblfile=~s/\.tex$//;
|
||||
$bblfile.=".bbl";
|
||||
|
||||
- if ( ($includeonly) = ($preamble =~ m/\\includeonly{(.*?)}/ ) ) {
|
||||
+ if ( ($includeonly) = ($preamble =~ m/\\includeonly\{(.*?)}/ ) ) {
|
||||
$includeonly =~ s/,/|/g;
|
||||
} else {
|
||||
$includeonly = '.*?';
|
||||
@@ -1443,7 +1443,7 @@ sub flatten {
|
||||
print STDERR "DEBUG: includeonly $includeonly\n" if $debug;
|
||||
|
||||
# recursively replace \\input and \\include files
|
||||
- $text=~s/(^(?:[^%\n]|\\%)*)\\input{(.*?)}|\\include{(${includeonly}(?:\.tex)?)}/{
|
||||
+ $text=~s/(^(?:[^%\n]|\\%)*)\\input\{(.*?)}|\\include\{(${includeonly}(?:\.tex)?)}/{
|
||||
$begline=(defined($1)? $1 : "") ;
|
||||
$fname = $2 if defined($2) ;
|
||||
$fname = $3 if defined($3) ;
|
||||
@@ -1460,7 +1460,7 @@ sub flatten {
|
||||
"$begline$newpage$replacement$newpage";
|
||||
}/exgm;
|
||||
# replace bibliography with bbl file if it exists
|
||||
- $text=~s/(^(?:[^%\n]|\\%)*)\\bibliography{(.*?)}/{
|
||||
+ $text=~s/(^(?:[^%\n]|\\%)*)\\bibliography\{(.*?)}/{
|
||||
if ( -f $bblfile ){
|
||||
$replacement=read_file_with_encoding(File::Spec->catfile($bblfile), $encoding);
|
||||
} else {
|
||||
@@ -1471,7 +1471,7 @@ sub flatten {
|
||||
"$begline$replacement";
|
||||
}/exgm;
|
||||
# replace subfile with contents (subfile package)
|
||||
- $text=~s/(^(?:[^%\n]|\\%)*)\\subfile{(.*?)}/{
|
||||
+ $text=~s/(^(?:[^%\n]|\\%)*)\\subfile\{(.*?)}/{
|
||||
$begline=(defined($1)? $1 : "") ;
|
||||
$fname = $2;
|
||||
# # add tex extension unless there is a three letter extension already
|
||||
@@ -2166,7 +2166,7 @@ sub marktags {
|
||||
sub preprocess {
|
||||
for (@_) {
|
||||
# Change \{ to \QLEFTBRACE and \} to \QRIGHTBRACE
|
||||
- s/(?<!\\)\\{/\\QLEFTBRACE /sg;
|
||||
+ s/(?<!\\)\\\{/\\QLEFTBRACE /sg;
|
||||
s/(?<!\\)\\}/\\QRIGHTBRACE /sg;
|
||||
s/(?<!\\)\\&/\\AMPERSAND /sg;
|
||||
# replace {,} in comments with \\CLEFTBRACE,\\CRIGHTBRACE
|
||||
@@ -2180,23 +2180,23 @@ sub preprocess {
|
||||
s/\\begin\{(verbatim\*?)\}(.*?)\\end\{\1\}/"\\${1}{". tohash(\%verbhash,"${2}") . "}"/esg;
|
||||
# Convert _n or _\cmd into \SUBSCRIPTNB{n} or \SUBSCRIPTNB{\cmd} and _{nnn} into \SUBSCRIPT{nn}
|
||||
1 while s/(?<!\\)_([^{\\]|\\\w+)/\\SUBSCRIPTNB{$1}/g ;
|
||||
- 1 while s/(?<!\\)_{($pat6)}/\\SUBSCRIPT{$1}/g ;
|
||||
+ 1 while s/(?<!\\)_\{($pat6)}/\\SUBSCRIPT{$1}/g ;
|
||||
# Convert ^n into \SUPERSCRIPTNB{n} and ^{nnn} into \SUPERSCRIPT{nn}
|
||||
1 while s/(?<!\\)\^([^{\\]|\\\w+)/\\SUPERSCRIPTNB{$1}/g ;
|
||||
- 1 while s/(?<!\\)\^{($pat6)}/\\SUPERSCRIPT{$1}/g ;
|
||||
+ 1 while s/(?<!\\)\^\{($pat6)}/\\SUPERSCRIPT{$1}/g ;
|
||||
# Convert $$ $$ into \begin{DOLLARDOLLAR} \end{DOLLARDOLLAR}
|
||||
s/\$\$(.*?)\$\$/\\begin{DOLLARDOLLAR}$1\\end{DOLLARDOLLAR}/sg;
|
||||
# Convert \[ \] into \begin{SQUAREBRACKET} \end{SQUAREBRACKET}
|
||||
s/(?<!\\)\\\[/\\begin{SQUAREBRACKET}/sg;
|
||||
s/\\\]/\\end{SQUAREBRACKET}/sg;
|
||||
# Convert all picture environmentent (\begin{PICTUREENV} .. \end{PICTUREENV} \PICTUREBLOCKenv
|
||||
- s/\\begin{($PICTUREENV)}(.*?)\\end{\1}/\\PICTUREBLOCK$1\{$2\}/sg;
|
||||
+ s/\\begin\{($PICTUREENV)}(.*?)\\end\{\1}/\\PICTUREBLOCK$1\{$2\}/sg;
|
||||
# For --block-math-markup option -convert all \begin{MATH} .. \end{MATH}
|
||||
# into \MATHBLOCKMATH{...} commands, where MATH is any valid math environment
|
||||
# Also convert all array environments into ARRAYBLOCK environments
|
||||
if ( $mathmarkup != FINE ) {
|
||||
- s/\\begin{($ARRENV)}(.*?)\\end{\1}/\\ARRAYBLOCK$1\{$2\}/sg;
|
||||
- s/\\begin{($MATHENV|$MATHARRENV|SQUAREBRACKET)}(.*?)\\end{\1}/\\MATHBLOCK$1\{$2\}/sg;
|
||||
+ s/\\begin\{($ARRENV)}(.*?)\\end\{\1}/\\ARRAYBLOCK$1\{$2\}/sg;
|
||||
+ s/\\begin\{($MATHENV|$MATHARRENV|SQUAREBRACKET)}(.*?)\\end\{\1}/\\MATHBLOCK$1\{$2\}/sg;
|
||||
}
|
||||
# add final token " STOP"
|
||||
$_ .= " STOP"
|
||||
@@ -2438,15 +2438,15 @@ sub postprocess {
|
||||
# environments) are between the \begin{$MATHENV} and \end{MATHMODE} commands. This is necessary as the minimal matching
|
||||
# is not globally minimal but only 'locally' (matching is beginning from the left side of the string)
|
||||
if ( $mathmarkup == FINE ) {
|
||||
- 1 while s/\\begin{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}((?:.(?!(?:\\end{(?:(?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}|\\begin{MATHMODE})))*?)\\end{MATHMODE}/\\begin{$1}$2\\end{$1}/s;
|
||||
- 1 while s/\\begin{MATHMODE}((?:.(?!\\end{MATHMODE}))*?)\\end{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}/\\begin{$2}$1\\end{$2}/s;
|
||||
- # convert remaining \begin{MATHMODE} \end{MATHMODE} (and not containing & or \\ )into MATHREPL environments
|
||||
- s/\\begin{MATHMODE}((?:(.(?!(?<!\\)\&|\\\\))*)?)\\end{MATHMODE}/\\begin{$MATHREPL}$1\\end{$MATHREPL}/sg;
|
||||
+ 1 while s/\\begin\{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}((?:.(?!(?:\\end\{(?:(?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}|\\begin\{MATHMODE})))*?)\\end\{MATHMODE}/\\begin{$1}$2\\end{$1}/s;
|
||||
+ 1 while s/\\begin\{MATHMODE}((?:.(?!\\end\{MATHMODE}))*?)\\end\{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}/\\begin{$2}$1\\end{$2}/s;
|
||||
+ # convert remaining \begin\{MATHMODE} \end{MATHMODE} (and not containing & or \\ )into MATHREPL environments
|
||||
+ s/\\begin\{MATHMODE}((?:(.(?!(?<!\\)\&|\\\\))*)?)\\end\{MATHMODE}/\\begin{$MATHREPL}$1\\end{$MATHREPL}/sg;
|
||||
# others into MATHARRREPL
|
||||
- s/\\begin{MATHMODE}(.*?)\\end{MATHMODE}/\\begin{$MATHARRREPL}$1\\end{$MATHARRREPL}/sg;
|
||||
+ s/\\begin\{MATHMODE}(.*?)\\end\{MATHMODE}/\\begin{$MATHARRREPL}$1\\end{$MATHARRREPL}/sg;
|
||||
|
||||
# now look for AUXCMD math-mode pairs which have only comments (or empty lines between them), and remove the added commands
|
||||
- s/\\begin{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}$AUXCMD\n((?:\s*%.[^\n]*\n)*)\\end{\1}$AUXCMD\n/$2/sg;
|
||||
+ s/\\begin\{((?:$MATHENV)|(?:$MATHARRENV)|SQUAREBRACKET)}$AUXCMD\n((?:\s*%.[^\n]*\n)*)\\end{\1}$AUXCMD\n/$2/sg;
|
||||
} else {
|
||||
# math modes OFF,WHOLE,COARSE: Convert \MATHBLOCKmath{..} commands back to environments
|
||||
s/\\MATHBLOCK($MATHENV|$MATHARRENV|SQUAREBRACKET)\{($pat6)\}/\\begin{$1}$2\\end{$1}/sg;
|
||||
@@ -2524,16 +2524,16 @@ sub postprocess {
|
||||
# undo renaming of the \begin and \end,{,} and dollars in comments
|
||||
1 while s/(%.*)DOLLARDIF/$1\$/mg ;
|
||||
# Convert \begin{SQUAREBRACKET} \end{SQUAREBRACKET} into \[ \]
|
||||
- s/\\end{SQUAREBRACKET}/\\\]/sg;
|
||||
- s/\\begin{SQUAREBRACKET}/\\\[/sg;
|
||||
+ s/\\end\{SQUAREBRACKET}/\\\]/sg;
|
||||
+ s/\\begin\{SQUAREBRACKET}/\\\[/sg;
|
||||
# 4. Convert \begin{DOLLARDOLLAR} \end{DOLLARDOLLAR} into $$ $$
|
||||
s/\\begin\{DOLLARDOLLAR\}(.*?)\\end\{DOLLARDOLLAR\}/\$\$$1\$\$/sg;
|
||||
# 5. Convert \SUPERSCRIPTNB{n} into ^n and \SUPERSCRIPT{nn} into ^{nnn}
|
||||
- 1 while s/\\SUPERSCRIPT{($pat6)}/^{$1}/g ;
|
||||
- 1 while s/\\SUPERSCRIPTNB{($pat0)}/^$1/g ;
|
||||
+ 1 while s/\\SUPERSCRIPT\{($pat6)}/^{$1}/g ;
|
||||
+ 1 while s/\\SUPERSCRIPTNB\{($pat0)}/^$1/g ;
|
||||
# Convert \SUBSCRIPNB{n} into _n and \SUBCRIPT{nn} into _{nnn}
|
||||
- 1 while s/\\SUBSCRIPT{($pat6)}/_{$1}/g ;
|
||||
- 1 while s/\\SUBSCRIPTNB{($pat0)}/_$1/g ;
|
||||
+ 1 while s/\\SUBSCRIPT\{($pat6)}/_{$1}/g ;
|
||||
+ 1 while s/\\SUBSCRIPTNB\{($pat0)}/_$1/g ;
|
||||
1 while s/(%.*)\\CRIGHTBRACE (.*)$/$1\}$2/mg ;
|
||||
1 while s/(%.*)\\CLEFTBRACE (.*)$/$1\{$2/mg ;
|
||||
|
@ -1,48 +0,0 @@
|
||||
--- latexpand.old 2015-12-14 14:23:11.624505410 -0500
|
||||
+++ latexpand 2015-12-14 14:37:45.196569657 -0500
|
||||
@@ -123,7 +123,7 @@ sub process_file
|
||||
# ignored by LaTeX, but we don't allow anything before
|
||||
# to avoid e.g. \verb|\end{document}| from terminating
|
||||
# the file.
|
||||
- if (!$keep_comments && $line =~ /^[ \t]*\\end{document}/) {
|
||||
+ if (!$keep_comments && $line =~ /^[ \t]*\\end\{document}/) {
|
||||
last;
|
||||
}
|
||||
}
|
||||
@@ -133,7 +133,8 @@ sub process_file
|
||||
|
||||
sub process_line
|
||||
{
|
||||
- my ($_, $prefix, $file) = @_;
|
||||
+ my ($line, $prefix, $file) = @_;
|
||||
+ $_ = $line;
|
||||
# Consider \makeatletter only in preamble, because we do want
|
||||
# to warn on \someCommand{\makeatletter\command@with@arobase}.
|
||||
if ($in_preamble && /^[^%]*\\makeatletter/) {
|
||||
@@ -203,7 +204,7 @@ sub process_line
|
||||
if ($expand_usepackage) {
|
||||
# Don't bother with before and after text, we just require the
|
||||
# usepackage to be alone on its line.
|
||||
- if (my ($package_name) = /^\s*\\usepackage{([^}]*)}\s*(%.*)?$/) {
|
||||
+ if (my ($package_name) = /^\s*\\usepackage\{([^}]*)}\s*(%.*)?$/) {
|
||||
my $full = find_file($package_name . ".sty", $TEXINPUTS);
|
||||
if ($full) {
|
||||
say $prefix . "Found package file: $full\n";
|
||||
@@ -216,7 +217,7 @@ sub process_line
|
||||
}
|
||||
if ($expand_bbl) {
|
||||
if (my ($before, $bib_name, $after)
|
||||
- = /^(.*)\\bibliography{([^}]*)}(.*)$/) {
|
||||
+ = /^(.*)\\bibliography\{([^}]*)}(.*)$/) {
|
||||
# The BBL file is not necessarily $bib_name.
|
||||
# Take it from the command-line.
|
||||
print $before . $nl;
|
||||
@@ -233,7 +234,7 @@ sub process_line
|
||||
print STDERR "$full\n";
|
||||
}
|
||||
}
|
||||
- if (/^[ \t]*\\begin{document}/) {
|
||||
+ if (/^[ \t]*\\begin\{document}/) {
|
||||
$in_preamble = 0;
|
||||
if ($makeatletter) {
|
||||
print '\makeatletter' . $nl;
|
@ -1,20 +0,0 @@
|
||||
diff -U0 texlive-2016/source/texk/kpathsea/ChangeLog.than texlive-2016/source/texk/kpathsea/ChangeLog
|
||||
--- texlive-2016/source/texk/kpathsea/ChangeLog.than 2017-03-07 17:36:09.052243607 +0100
|
||||
+++ texlive-2016/source/texk/kpathsea/ChangeLog 2017-03-07 17:36:55.525484239 +0100
|
||||
@@ -0,0 +1,5 @@
|
||||
+2016-11-30 Karl Berry <karl@ks.tug.org>
|
||||
+
|
||||
+ * texmf.cnf (shell_escape_commands): remove mpost, due to
|
||||
+ the -tex option. Oops! Report from Bruno Le Floch.
|
||||
+
|
||||
diff -up texlive-2016/source/texk/kpathsea/texmf.cnf.than texlive-2016/source/texk/kpathsea/texmf.cnf
|
||||
--- texlive-2016/source/texk/kpathsea/texmf.cnf.than 2017-03-07 17:37:14.160778751 +0100
|
||||
+++ texlive-2016/source/texk/kpathsea/texmf.cnf 2017-03-07 17:37:39.688812317 +0100
|
||||
@@ -568,7 +568,6 @@ extractbb,\
|
||||
gregorio,\
|
||||
kpsewhich,\
|
||||
makeindex,\
|
||||
-mpost,\
|
||||
repstopdf,\
|
||||
|
||||
% we'd like to allow:
|
@ -1,42 +0,0 @@
|
||||
diff -up tex/latex/pkgloader/pkgloader.sty.nol3regex tex/latex/pkgloader/pkgloader.sty
|
||||
--- tex/latex/pkgloader/pkgloader.sty.nol3regex 2020-05-12 15:43:34.909265349 -0400
|
||||
+++ tex/latex/pkgloader/pkgloader.sty 2020-05-12 15:44:42.157074791 -0400
|
||||
@@ -71,7 +71,6 @@
|
||||
% \begin{macrocode}
|
||||
\RequirePackage{xparse}
|
||||
\RequirePackage{l3keys2e}
|
||||
-\RequirePackage{l3regex}
|
||||
\RequirePackage{lt3graph}
|
||||
% \end{macrocode}
|
||||
%
|
||||
@@ -660,7 +659,7 @@
|
||||
%
|
||||
% \begin{macrocode}
|
||||
\prop_map_inline:Nn \g__pkgloader_known_pkg_prop {%%%%%%%%%%%%%% ##1
|
||||
- \int_step_inline:nncn {1} {1} {g__pkgloader_count_(##1)_int} {%% ####1
|
||||
+ \int_step_inline:nnvn {1} {1} {g__pkgloader_count_(##1)_int} {%% ####1
|
||||
% \end{macrocode}
|
||||
%
|
||||
% If the current configuration should be loaded but still
|
||||
@@ -767,9 +766,8 @@
|
||||
% \end{macrocode}
|
||||
% \uninteresting\begin{macrocode}
|
||||
}
|
||||
-\cs_generate_variant:Nn \int_step_inline:nnnn {nncn}
|
||||
+\cs_generate_variant:Nn \int_step_inline:nnnn {nnvn}
|
||||
\cs_generate_variant:Nn \bool_if:nT {vT}
|
||||
-\cs_generate_variant:Nn \withargs:nnn {vvn}
|
||||
\cs_generate_variant:Nn \graph_gput_vertex:Nnn {Nnf}
|
||||
\graph_new:N \l__pkgloader_order_graph
|
||||
\tl_new:N \l__pkgloader_used_configs_tl
|
||||
@@ -836,8 +834,8 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
-\cs_generate_variant:Nn \withargs:nn {xn}
|
||||
-\cs_generate_variant:Nn \withargs:nnnnn {vvfvn}
|
||||
+\cs_generate_variant:Nn \withargs:nn {x}
|
||||
+\cs_generate_variant:Nn \withargs:nnnnn {vvfv}
|
||||
% \end{macrocode}
|
||||
%
|
||||
% And it needs the following auxiliary function to strip
|
@ -1,163 +0,0 @@
|
||||
diff -up tex/latex/bgteubner/bgteubner.cls.fixme tex/latex/bgteubner/bgteubner.cls
|
||||
--- tex/latex/bgteubner/bgteubner.cls.fixme 2020-05-11 11:18:45.614265736 -0400
|
||||
+++ tex/latex/bgteubner/bgteubner.cls 2020-05-11 11:19:44.848269987 -0400
|
||||
@@ -280,7 +280,8 @@
|
||||
\RequirePackage{warning}[2001/08/17]
|
||||
\RequirePackage[all]{onlyamsmath}[2001/10/04]
|
||||
\RequirePackage[sepfour,autolanguage]{numprint}[2003/11/09]
|
||||
-\RequirePackage{scrpage2}[2002/11/01]
|
||||
+\RequirePackage{scrlfile}
|
||||
+\ReplacePackage{scrpage2}{scrlayer-scrpage}
|
||||
\RequirePackage[fixlanguage]{babelbib}[2003/07/28]
|
||||
\RequirePackage{fnbreak}[2003/04/03]
|
||||
\RequirePackage[countmax]{subfloat}[2002/12/16]
|
||||
diff -up tex/latex/mdframed/ltxmdf.cls.fixme tex/latex/mdframed/ltxmdf.cls
|
||||
--- tex/latex/mdframed/ltxmdf.cls.fixme 2020-05-11 11:15:55.073132609 -0400
|
||||
+++ tex/latex/mdframed/ltxmdf.cls 2020-05-11 11:16:31.591518713 -0400
|
||||
@@ -68,7 +68,8 @@
|
||||
\endgroup
|
||||
\xspaceaddexceptions{\xspace@check@icr}
|
||||
\RequirePackage{multicol}\columnseprule0.4pt
|
||||
-\RequirePackage{scrpage2}
|
||||
+\RequirePackage{scrlfile}
|
||||
+\ReplacePackage{scrpage2}{scrlayer-scrpage}
|
||||
\RequirePackage[inline]{enumitem}
|
||||
\RequirePackage{amsmath}
|
||||
\RequirePackage{listings}
|
||||
diff -up tex/latex/mentis/mentis.cls.fixme tex/latex/mentis/mentis.cls
|
||||
--- tex/latex/mentis/mentis.cls.fixme 2020-05-11 11:44:12.168603751 -0400
|
||||
+++ tex/latex/mentis/mentis.cls 2020-05-11 11:44:31.344281400 -0400
|
||||
@@ -40,7 +40,8 @@
|
||||
%%% \end{macrocode}
|
||||
\RequirePackage{xspace}
|
||||
\RequirePackage{textcomp}
|
||||
-\RequirePackage{scrpage2}
|
||||
+\RequirePackage{scrlfile}
|
||||
+\ReplacePackage{scrpage2}{scrlayer-scrpage}
|
||||
\RequirePackage{jurabib}
|
||||
%%% \begin{macrocode}
|
||||
%%\RequirePackage{picinpar}
|
||||
diff -up tex/latex/rcsinfo/rcsinfo.sty.fixme tex/latex/rcsinfo/rcsinfo.sty
|
||||
--- tex/latex/rcsinfo/rcsinfo.sty.fixme 2020-05-11 11:27:58.018979581 -0400
|
||||
+++ tex/latex/rcsinfo/rcsinfo.sty 2020-05-11 11:29:20.177598457 -0400
|
||||
@@ -119,7 +119,8 @@
|
||||
\RequirePackage{fancyhdr}
|
||||
\fi
|
||||
\if@rcsInfoUseScrpage@
|
||||
- \RequirePackage{scrpage2}
|
||||
+ \RequirePackage{scrlfile}
|
||||
+ \ReplacePackage{scrpage2}{scrlayer-scrpage}
|
||||
\fi
|
||||
\def\today{\ifcase\month\or
|
||||
January\or February\or March\or April\or May\or June\or
|
||||
diff -up tex/latex/rtklage/rtklage.cls.fixme tex/latex/rtklage/rtklage.cls
|
||||
--- tex/latex/rtklage/rtklage.cls.fixme 2020-05-11 11:22:57.281035108 -0400
|
||||
+++ tex/latex/rtklage/rtklage.cls 2020-05-11 11:23:18.024686393 -0400
|
||||
@@ -7,7 +7,7 @@
|
||||
\RequirePackage{scrdate}
|
||||
\RequirePackage{calc}
|
||||
\RequirePackage[np]{numprint}
|
||||
-\RequirePackage[plainheadsepline]{scrpage2}
|
||||
+\RequirePackage[plainheadsepline]{scrlayer-scrpage}
|
||||
\RequirePackage{alphanum}
|
||||
\RequirePackage{eso-pic}
|
||||
\RequirePackage{color}
|
||||
diff -up tex/latex/schule/schuleab.cls.fixme tex/latex/schule/schuleab.cls
|
||||
--- tex/latex/schule/schuleab.cls.fixme 2020-05-11 11:48:43.556041642 -0400
|
||||
+++ tex/latex/schule/schuleab.cls 2020-05-11 11:48:57.530806700 -0400
|
||||
@@ -154,7 +154,7 @@
|
||||
\RequirePackage[utf8]{inputenc}
|
||||
\RequirePackage[T1]{fontenc}
|
||||
\RequirePackage{schulealt}
|
||||
-\RequirePackage[headsepline]{scrpage2}
|
||||
+\RequirePackage[headsepline]{scrlayer-scrpage}
|
||||
\pagestyle{scrheadings}
|
||||
|
||||
\def\dokName#1{\gdef\@dokName{#1}}
|
||||
diff -up tex/latex/schule/schuleit.cls.fixme tex/latex/schule/schuleit.cls
|
||||
--- tex/latex/schule/schuleit.cls.fixme 2020-05-11 11:47:47.675981001 -0400
|
||||
+++ tex/latex/schule/schuleit.cls 2020-05-11 11:48:04.699694823 -0400
|
||||
@@ -136,7 +136,7 @@ parskip=half]
|
||||
|
||||
\RequirePackage{schulealt}
|
||||
\RequirePackage{mdframed}
|
||||
-\RequirePackage{scrpage2}
|
||||
+\RequirePackage{scrlayer-scrpage}
|
||||
\RequirePackage{paralist}
|
||||
\RequirePackage{xargs}
|
||||
\RequirePackage{xparse}
|
||||
diff -up tex/latex/schule/schulekl.cls.fixme tex/latex/schule/schulekl.cls
|
||||
--- tex/latex/schule/schulekl.cls.fixme 2020-05-11 11:46:03.693728973 -0400
|
||||
+++ tex/latex/schule/schulekl.cls 2020-05-11 11:46:48.188980998 -0400
|
||||
@@ -124,7 +124,7 @@
|
||||
|
||||
\LoadClass{schullzk}
|
||||
\RequirePackage{schullzk}
|
||||
-\RequirePackage[headsepline]{scrpage2}
|
||||
+\RequirePackage[headsepline]{scrlayer-scrpage}
|
||||
\pagestyle{scrheadings}
|
||||
\newboolean{@klassenarbeit}
|
||||
\setboolean{@klassenarbeit}{false}
|
||||
diff -up tex/latex/schule/schuleub.cls.fixme tex/latex/schule/schuleub.cls
|
||||
--- tex/latex/schule/schuleub.cls.fixme 2020-05-11 11:46:59.156796622 -0400
|
||||
+++ tex/latex/schule/schuleub.cls 2020-05-11 11:47:13.364557780 -0400
|
||||
@@ -125,7 +125,7 @@
|
||||
\LoadClass[parskip=half,headsepline,DIV14]{scrartcl}
|
||||
\RequirePackage[utf8]{inputenc}
|
||||
\RequirePackage[T1]{fontenc}
|
||||
-\RequirePackage[headsepline]{scrpage2}
|
||||
+\RequirePackage[headsepline]{scrlayer-scrpage}
|
||||
\setkomafont{pagehead}{\normalfont}
|
||||
\RequirePackage{calc}
|
||||
\RequirePackage{hyperref}
|
||||
diff -up tex/latex/schule/schullzk.cls.fixme tex/latex/schule/schullzk.cls
|
||||
--- tex/latex/schule/schullzk.cls.fixme 2020-05-11 11:47:24.252374753 -0400
|
||||
+++ tex/latex/schule/schullzk.cls 2020-05-11 11:47:39.157124209 -0400
|
||||
@@ -127,7 +127,7 @@
|
||||
\RequirePackage[utf8]{inputenc}
|
||||
\RequirePackage[T1]{fontenc}
|
||||
\RequirePackage{schulealt}
|
||||
-\RequirePackage[headsepline]{scrpage2}
|
||||
+\RequirePackage[headsepline]{scrlayer-scrpage}
|
||||
\RequirePackage{schullzk}
|
||||
\pagestyle{scrheadings}
|
||||
\def\datum#1{\gdef\@datum{#1}}
|
||||
diff -up tex/latex/skdoc/skdoc.cls.fixme tex/latex/skdoc/skdoc.cls
|
||||
--- tex/latex/skdoc/skdoc.cls.fixme 2020-05-11 11:30:27.805461603 -0400
|
||||
+++ tex/latex/skdoc/skdoc.cls 2020-05-11 11:31:35.888317110 -0400
|
||||
@@ -40,7 +40,8 @@
|
||||
\RequirePackage[nomain,xindy,numberedsection,order=letter,
|
||||
sanitizesort=false]{glossaries}
|
||||
\RequirePackage{ydoc-code,ydoc-desc}
|
||||
-\RequirePackage{scrpage2}
|
||||
+\RequirePackage{scrlfile}
|
||||
+\ReplacePackage{scrpage2}{scrlayer-scrpage}
|
||||
\AtEndOfClass{%
|
||||
\RequirePackage[\skdoc@babel]{babel}
|
||||
\RequirePackage[english=british]{csquotes}
|
||||
diff -up tex/latex/sr-vorl/sr-vorl.cls.fixme tex/latex/sr-vorl/sr-vorl.cls
|
||||
--- tex/latex/sr-vorl/sr-vorl.cls.fixme 2020-05-11 11:50:00.653745337 -0400
|
||||
+++ tex/latex/sr-vorl/sr-vorl.cls 2020-05-11 11:50:19.241432794 -0400
|
||||
@@ -121,7 +121,8 @@
|
||||
|
||||
\RequirePackage{babel}
|
||||
\RequirePackage{geometry}
|
||||
-\RequirePackage{scrpage2}
|
||||
+\RequirePackage{scrlfile}
|
||||
+\ReplacePackage{scrpage2}{scrlayer-scrpage}
|
||||
\RequirePackage{caption}
|
||||
\RequirePackage{ragged2e}
|
||||
\RequirePackage{enumitem}
|
||||
diff -up tex/latex/svninfo/svninfo.sty.fixme tex/latex/svninfo/svninfo.sty
|
||||
--- tex/latex/svninfo/svninfo.sty.fixme 2020-05-11 11:34:20.516549642 -0400
|
||||
+++ tex/latex/svninfo/svninfo.sty 2020-05-11 11:34:50.985037457 -0400
|
||||
@@ -144,7 +144,8 @@
|
||||
\RequirePackage{fancyhdr}
|
||||
\fi
|
||||
\if@svnInfoUseScrpage@
|
||||
- \RequirePackage{scrpage2}
|
||||
+ \RequirePackage{scrlfile}
|
||||
+ \ReplacePackage{scrpage2}{scrlayer-scrpage}
|
||||
\fi
|
||||
\if@svnInfoUseEsofoot@
|
||||
\RequirePackage{eso-pic}
|
201743
texlive.spec
201743
texlive.spec
File diff suppressed because it is too large
Load Diff
@ -1,919 +0,0 @@
|
||||
%global source_date 20150728_r37987
|
||||
%global tl_version 2015
|
||||
%global tl_rel 27
|
||||
%global tl_release %{tl_rel}.%{source_date}%{?dist}
|
||||
%global tl_noarch_release %{tl_rel}%{?dist}
|
||||
%global source_name texlive-%{source_date}-source
|
||||
|
||||
%{!?_texdir: %global _texdir %{_datadir}/%{name}}
|
||||
%{!?_texmf_var: %global _texmf_var %{_var}/lib/texmf}
|
||||
|
||||
%if 0%{?fedora} <= 19
|
||||
# don't figure any perl dependencies
|
||||
%global __perl_requires %{nil}
|
||||
%else
|
||||
# don't export private perl modules
|
||||
%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\\\(
|
||||
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\\\((PDF::Reuse.*|Pedigree.*|TeXLive.*|Tk::path_tre)\\\\)
|
||||
%endif
|
||||
|
||||
%global __os_install_post /usr/lib/rpm/brp-compress %{nil}
|
||||
%global __arch_install_post %{nil}
|
||||
|
||||
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
|
||||
|
||||
Name: texlive
|
||||
Version: %{tl_version}
|
||||
Release: %{tl_release}
|
||||
Epoch: 5
|
||||
Summary: TeX formatting system
|
||||
Group: Applications/Publishing
|
||||
License: Artistic 2.0 and GPLv2 and GPLv2+ and LGPLv2+ and LPPL and MIT and Public Domain and UCD and Utopia
|
||||
URL: http://tug.org/texlive/
|
||||
BuildRequires: xz libXaw-devel libXi-devel ncurses-devel bison flex file perl(Digest::MD5) texinfo gcc-c++
|
||||
BuildRequires: gd-devel teckit-devel freetype-devel libpng-devel t1lib-devel zlib-devel poppler-devel t1utils
|
||||
BuildRequires: zziplib-devel libicu-devel cairo-devel harfbuzz-devel perl-generators pixman-devel graphite2-devel ghostscript-devel
|
||||
BuildRequires: libpaper-devel potrace-devel autoconf automake libtool
|
||||
BuildRequires: gmp-devel mpfr-devel
|
||||
Requires: texlive-scheme-basic
|
||||
Requires: texlive-collection-latexrecommended
|
||||
Requires: tex-kpathsea, tex-tetex
|
||||
Obsoletes: texlive < %{tl_version}, texlive-texmf < %{tl_version}
|
||||
Obsoletes: texlive-afm < %{tl_version}
|
||||
Obsoletes: texlive-doc < %{tl_version}
|
||||
Obsoletes: texlive-east-asian < %{tl_version}
|
||||
Obsoletes: texlive-texmf-afm < %{tl_version}, texlive-texmf-context < %{tl_version}
|
||||
Obsoletes: texlive-texmf-doc < %{tl_version}, texlive-texmf-dvips < %{tl_version}
|
||||
Obsoletes: texlive-texmf-east-asian < %{tl_version}, texlive-texmf-fonts < %{tl_version}
|
||||
Obsoletes: texlive-texmf-latex < %{tl_version}, texlive-texmf-xetex < %{tl_version}
|
||||
Obsoletes: texlive-texmf-errata < %{tl_version}
|
||||
Obsoletes: texlive-texmf-errata-afm < %{tl_version}, texlive-texmf-errata-context < %{tl_version}
|
||||
Obsoletes: texlive-texmf-errata-doc < %{tl_version}, texlive-texmf-errata-dvips < %{tl_version}
|
||||
Obsoletes: texlive-texmf-errata-east-asian < %{tl_version}, texlive-texmf-errata-fonts < %{tl_version}
|
||||
Obsoletes: texlive-texmf-errata-latex < %{tl_version}, texlive-texmf-errata-xetex < %{tl_version}
|
||||
Conflicts: texlive-dvips = 2007
|
||||
Patch1: tl-kpfix.patch
|
||||
Patch2: tl-format.patch
|
||||
Patch3: texlive-20150728-selinux-context.patch
|
||||
Patch4: texlive-fix-system-teckit.patch
|
||||
Patch100: texlive-bz979176.patch
|
||||
Patch101: etex-addlanguage-fix-bz1215257.patch
|
||||
Source0: %{source_name}.tar.xz
|
||||
Source1: tl2rpm.c
|
||||
Source2: texlive.tlpdb
|
||||
Source3: texlive-licenses.tar.xz
|
||||
Source4: tlpdb.patch
|
||||
Source5: texlive-fedora-licenses.h
|
||||
Source6: texlive.spec.template
|
||||
Source7: co_source
|
||||
Source8: co_archive
|
||||
Source9: b_one_srpm
|
||||
Source10: macros.texlive
|
||||
%include _sources.spec
|
||||
|
||||
%description
|
||||
The TeX Live software distribution offers a complete TeX system for a
|
||||
variety of Unix, Macintosh, Windows and other platforms. It
|
||||
encompasses programs for editing, typesetting, previewing and printing
|
||||
of TeX documents in many different languages, and a large collection
|
||||
of TeX macros and font libraries.
|
||||
|
||||
The distribution includes extensive general documentation about TeX,
|
||||
as well as the documentation for the included software packages.
|
||||
|
||||
%package base
|
||||
Summary: TeX Live filesystem, metadata and licenses shipped in text form
|
||||
BuildArch: noarch
|
||||
Version: %{tl_version}
|
||||
Requires(pre): coreutils
|
||||
|
||||
%description base
|
||||
TeX Live licenses shipped in text form.
|
||||
|
||||
%package lib
|
||||
Summary: Shared libraries for TeX-related files
|
||||
Provides: texlive-kpathsea-lib = %{epoch}:%{version}-%{release}
|
||||
Provides: texlive-kpathsea-lib%{_isa} = %{epoch}:%{version}-%{release}
|
||||
Obsoletes: texlive-kpathsea-lib < %{version}
|
||||
%include _obsoletes.spec
|
||||
|
||||
%description lib
|
||||
TeX specific shared libraries.
|
||||
|
||||
%package lib-devel
|
||||
Summary: Development files for TeX specific shared libraries
|
||||
Requires: %{name}-lib%{?_isa}
|
||||
Provides: kpathsea-devel = %{epoch}:%{version}
|
||||
Obsoletes: kpathsea-devel < %{version}
|
||||
Provides: texlive-kpathsea-lib-devel = %{epoch}:%{version}-%{release}
|
||||
Provides: texlive-kpathsea-lib-devel%{_isa} = %{epoch}:%{version}-%{release}
|
||||
Obsoletes: texlive-kpathsea-lib-devel < %{version}
|
||||
|
||||
%description lib-devel
|
||||
Development files for TeX specific shared libraries.
|
||||
|
||||
%include _packages.spec
|
||||
|
||||
%prep
|
||||
%setup -q -c -T
|
||||
xz -dc %{SOURCE0} | tar x
|
||||
[ -e %{source_name} ] && mv %{source_name} source
|
||||
%patch1 -p0
|
||||
%patch2 -p0
|
||||
%patch3 -p0
|
||||
%patch4 -p0
|
||||
# security fix for bz#979176
|
||||
%patch100 -p0
|
||||
for l in `unxz -c %{SOURCE3} | tar t`; do
|
||||
ln -s %{_texdir}/licenses/$l $l
|
||||
done
|
||||
pushd source
|
||||
./reautoconf
|
||||
popd
|
||||
|
||||
%build
|
||||
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -Werror=format-security"
|
||||
export CXXFLAGS="$RPM_OPT_FLAGS -std=c++03 -fno-strict-aliasing -Werror=format-security"
|
||||
cd source
|
||||
PREF=`pwd`/inst
|
||||
mkdir -p work
|
||||
cd work
|
||||
../configure \
|
||||
--prefix=$PREF \
|
||||
--datadir=$PREF \
|
||||
--libdir=$PREF/lib \
|
||||
--with-system-zlib \
|
||||
--with-system-libpng \
|
||||
--with-system-xpdf \
|
||||
--with-system-gd \
|
||||
--with-system-t1lib \
|
||||
--with-system-teckit \
|
||||
--with-system-freetype2 \
|
||||
--with-system-poppler \
|
||||
--with-system-zziplib \
|
||||
--with-system-cairo \
|
||||
--with-system-icu \
|
||||
--with-system-harfbuzz \
|
||||
--with-system-graphite2 \
|
||||
--with-system-libgs \
|
||||
--with-system-pixman \
|
||||
--with-system-libpaper \
|
||||
--with-system-potrace \
|
||||
--with-pic \
|
||||
--with-xdvi-x-toolkit=xaw \
|
||||
--with-system-mpfr \
|
||||
--with-system-gmp \
|
||||
--disable-xindy --disable-xindy-docs --disable-xindy-make-rules \
|
||||
--enable-shared \
|
||||
--enable-compiler-warnings=max \
|
||||
--without-cxx-runtime-hack \
|
||||
--disable-native-texlive-build \
|
||||
--disable-t1utils \
|
||||
--disable-psutils \
|
||||
--disable-biber \
|
||||
--disable-ptexenc \
|
||||
--disable-largefile \
|
||||
%ifarch %{power64} s390 s390x aarch64
|
||||
--disable-luajittex --disable-mfluajit \
|
||||
%endif
|
||||
--disable-rpath
|
||||
|
||||
# disable rpath
|
||||
for i in `find . -name libtool`; do
|
||||
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' $i
|
||||
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' $i
|
||||
done
|
||||
|
||||
make world %{?_smp_mflags} STRIPPROG=/bin/true STRIP=/bin/true
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
|
||||
# create directory tree
|
||||
mkdir -p %{buildroot}%{_texdir}/../texmf
|
||||
mkdir -p %{buildroot}%{_texdir}/texmf-config/web2c
|
||||
mkdir -p %{buildroot}%{_texmf_var}
|
||||
mkdir -p %{buildroot}%{_texdir}/texmf-dist
|
||||
mkdir -p %{buildroot}%{_texdir}/texmf-local
|
||||
pushd %{buildroot}%{_texdir}/texmf-local
|
||||
ln -s ../../texmf texmf-compat
|
||||
popd
|
||||
%include _mkdirs.spec
|
||||
%include _unpack.spec
|
||||
# nuke useless tlmgr packaging stuff and doc droppings
|
||||
rm -rf %{buildroot}%{_texdir}/tlpkg/tlpobj/
|
||||
rm -rf %{buildroot}%{_texdir}/texmf-dist/tlpkg/tlpobj/
|
||||
rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/man/man*/*.pdf
|
||||
rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/man/Makefile
|
||||
rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/man/man*/Makefile
|
||||
rm -rf %{buildroot}%{_texdir}/texmf-dist/doc/info/dir
|
||||
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mv %{buildroot}/bin/i386-linux/* %{buildroot}%{_bindir}
|
||||
for i in `find %{buildroot}%{_bindir} -type f`; do
|
||||
[ "`file $i | grep ELF | wc -l`" == "1" ] && rm -f $i
|
||||
done
|
||||
rm -rf %{buildroot}/tlpkg
|
||||
|
||||
# install texlive.tlpdb
|
||||
cp %{SOURCE2} %{buildroot}%{_texdir}
|
||||
|
||||
# install licenses
|
||||
mkdir -p %{buildroot}%{_texdir}/licenses
|
||||
pushd %{buildroot}%{_texdir}/licenses
|
||||
xz -dc %{SOURCE3} | tar x
|
||||
popd
|
||||
|
||||
# install binaries
|
||||
rm -rf %{buildroot}%{_texdir}/bin/
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
rm -f source/inst/bin/man
|
||||
pushd source/inst/bin/
|
||||
for i in *; do
|
||||
if [ -x %{buildroot}%{_bindir}/$i ]; then
|
||||
if [ -h $i ]; then
|
||||
[ ! -h %{buildroot}%{_bindir}/$i ] && continue;
|
||||
fi
|
||||
fi
|
||||
mv $i %{buildroot}%{_bindir}
|
||||
done
|
||||
popd
|
||||
|
||||
# install shared libs, nuke static ones
|
||||
rm -rf %{buildroot}%{_libdir}
|
||||
mkdir -p %{buildroot}%{_libdir}
|
||||
cp -d source/inst/lib/*.so* %{buildroot}%{_libdir}
|
||||
cp -a source/inst/lib/pkgconfig %{buildroot}%{_libdir}
|
||||
rm -f %{buildroot}%{_libdir}/*.a
|
||||
rm -f %{buildroot}%{_libdir}/*.la
|
||||
|
||||
# install includes
|
||||
rm -rf %{buildroot}%{_includedir}
|
||||
mkdir -p %{buildroot}%{_includedir}
|
||||
cp -r source/inst/include/* %{buildroot}%{_includedir}
|
||||
|
||||
# relocate binaries to %%{_bindir} and fix relative symlinks
|
||||
pushd %{buildroot}%{_bindir}
|
||||
for i in `find . -type l`; do
|
||||
if [ "`readlink $i | grep '\.\.' | wc -l`" == "1" ]; then
|
||||
l=`readlink $i | sed s,.*texmf,/usr/share/texlive/texmf,`
|
||||
rm -f $i
|
||||
ln -s $l $i
|
||||
fi
|
||||
done
|
||||
popd
|
||||
|
||||
# sync built/distro binaries
|
||||
pushd %{buildroot}%{_bindir}
|
||||
rm -f man
|
||||
[ ! -e mfplain ] && ln -s mpost mfplain
|
||||
[ ! -e texlua ] && ln -s luatex texlua
|
||||
[ ! -e texluac ] && ln -s luatex texluac
|
||||
# remove binaries we don't ship
|
||||
for i in physe phyzzx installfont-tl pdfthumb ppower4 tcdialog latexmk texdiff songidx inimflua inimfluajit mflua mflua-nowin mfluajit mfluajit-nowin \
|
||||
paperconf; do
|
||||
rm -f $i
|
||||
rm -f %{buildroot}%{_datadir}/texlive/texmf-dist/doc/man/man1/$i.*
|
||||
done
|
||||
rm -rf %{buildroot}%{_includedir}/ptexenc
|
||||
popd
|
||||
|
||||
# fix symlinks
|
||||
pushd %{buildroot}%{_bindir}
|
||||
for i in allcm allneeded fontinst kpsetool updmap-sys ps2frag pslatex rubibtex rumakeindex dvi2fax dvired kpsewhere; do
|
||||
rm -f $i
|
||||
ln -s /usr/share/texlive/texmf-dist/scripts/texlive/$i.sh $i
|
||||
done
|
||||
for i in updmap e2pall; do
|
||||
rm -f $i
|
||||
ln -s /usr/share/texlive/texmf-dist/scripts/texlive/$i.pl $i
|
||||
done
|
||||
for i in fmtutil-sys texconfig texconfig-sys texconfig-dialog texlinks; do
|
||||
rm -f $i
|
||||
ln -s /usr/share/texlive/texmf-dist/scripts/texlive/$i.sh $i
|
||||
done
|
||||
|
||||
rm -f fmtutil
|
||||
ln -s /usr/share/texlive/texmf-dist/scripts/texlive/fmtutil.pl fmtutil
|
||||
rm -f texmfstart
|
||||
ln -s /usr/share/texlive/texmf-dist/scripts/context/ruby/texmfstart.rb texmfstart
|
||||
rm -f texdoctk
|
||||
ln -s /usr/share/texlive/texmf-dist/scripts/texdoctk/texdoctk.pl texdoctk
|
||||
rm -f deweb
|
||||
ln -s /usr/share/texlive/texmf-dist/scripts/chktex/deweb.pl deweb
|
||||
rm -f ps2eps
|
||||
ln -s /usr/share/texlive/texmf-dist/scripts/ps2eps/ps2eps.pl ps2eps
|
||||
rm -f mkjobtexmf
|
||||
ln -s /usr/share/texlive/texmf-dist/scripts/mkjobtexmf/mkjobtexmf.pl mkjobtexmf
|
||||
rm -f rungs
|
||||
ln -s /usr/share/texlive/texmf-dist/scripts/texlive/rungs.tlu rungs
|
||||
rm -f context
|
||||
cat > context << EOF
|
||||
\#!/bin/sh
|
||||
export TEXMF=/usr/share/texlive/texmf-dist;
|
||||
export TEXMFCNF=/usr/share/texlive/texmf-dist/web2c;
|
||||
export TEXMFCACHE=/var/lib/texmf;
|
||||
%{_bindir}/mtxrun --script context "\\$@"
|
||||
EOF
|
||||
chmod 0755 context
|
||||
popd
|
||||
|
||||
# remove all unshipped stuff
|
||||
%include _remove.spec
|
||||
mkdir -p %{buildroot}/%{_datadir}/
|
||||
mkdir -p %{buildroot}/%{_infodir}/
|
||||
cp -R %{buildroot}/%{_texdir}/texmf-dist/doc/man %{buildroot}/%{_datadir}/
|
||||
find %{buildroot}/%{_texdir}/texmf-dist/doc/man -type f | xargs rm -f
|
||||
mv %{buildroot}/%{_texdir}/texmf-dist/doc/info/* %{buildroot}/%{_infodir}/
|
||||
|
||||
# nuke useless tlmgr packaging stuff
|
||||
rm -rf %{buildroot}%{_texdir}/tlpkg/tlpobj/
|
||||
rm -rf %{buildroot}%{_texdir}/texmf-dist/tlpkg/tlpobj/
|
||||
|
||||
# link config dir to the main tree and var dir to root
|
||||
pushd %{buildroot}%{_texdir}
|
||||
[ ! -h texmf-var ] && ln -s %{_texmf_var} texmf-var
|
||||
popd
|
||||
pushd %{buildroot}%{_texdir}/texmf-config/web2c
|
||||
ln -s ../../texmf-dist/web2c/updmap.cfg updmap.cfg
|
||||
popd
|
||||
|
||||
# touch ghosts
|
||||
touch %{buildroot}%{_texdir}/texmf-local/ls-R
|
||||
touch %{buildroot}%{_texdir}/texmf-dist/ls-R
|
||||
|
||||
# configure ConTeXt
|
||||
#for i in ctxtools luatools texexec texmfstart; do
|
||||
# sed -i -e 's|mtxrun|export TEXMF=/usr/share/texlive/texmf-dist; export TEXMFCNF=/usr/share/texlive/texmf-dist/web2c; export TEXMFCACHE=/var/lib/texmf; mtxrun|' %{buildroot}%{_bindir}/$i
|
||||
#done
|
||||
|
||||
# configure texmf-local - make it visible to kpathsea
|
||||
sed -i -e 's|^TEXMFLOCAL.*|TEXMFLOCAL\ =\ \$TEXMFROOT/texmf-local//|' %{buildroot}/%{_texdir}/texmf-dist/web2c/texmf.cnf
|
||||
|
||||
# create macro file for building texlive
|
||||
mkdir -p %{buildroot}%{macrosdir}
|
||||
cp -a %{SOURCE9} %{buildroot}%{macrosdir}/macros.texlive
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%pre base
|
||||
rm -rf %{_texdir}/texmf-var
|
||||
rm -rf %{_texmf_var}/*
|
||||
:
|
||||
|
||||
%posttrans base
|
||||
if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
|
||||
[ -x /sbin/restorecon ] && /sbin/restorecon -R %{_texmf_var}/
|
||||
fi
|
||||
:
|
||||
|
||||
%post lib -p /sbin/ldconfig
|
||||
%postun lib -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
|
||||
%files base
|
||||
%defattr(-,root,root)
|
||||
%dir %{_texmf_var}
|
||||
%{_texdir}/texmf-var
|
||||
%dir %{_texdir}/../texmf
|
||||
%dir %{_texdir}/licenses
|
||||
%dir %{_texdir}/texmf-local
|
||||
%{_texdir}/texmf-local/texmf-compat
|
||||
%include _dirs.spec
|
||||
%{_texdir}/licenses/*
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %ghost %{_texdir}/texmf-dist/ls-R
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %ghost %{_texdir}/texmf-local/ls-R
|
||||
%{_texdir}/texlive.tlpdb
|
||||
%{macrosdir}/macros.texlive
|
||||
|
||||
%include _files.spec
|
||||
|
||||
%files lib
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/*.so.*
|
||||
%dir %{_texdir}/texmf-config
|
||||
%dir %{_texdir}/texmf-config/web2c
|
||||
%{_texdir}/texmf-config/web2c/updmap.cfg
|
||||
%attr(0644, root, root) %verify(not md5 size mtime) %ghost %{_texdir}/texmf-config/ls-R
|
||||
|
||||
%files lib-devel
|
||||
%defattr(-,root,root)
|
||||
%dir %{_includedir}/kpathsea
|
||||
%{_includedir}/kpathsea/*
|
||||
%{_includedir}/synctex/
|
||||
%{_includedir}/texlua52/
|
||||
%{_includedir}/texluajit/
|
||||
%{_libdir}/*.so
|
||||
%{_libdir}/pkgconfig/*.pc
|
||||
|
||||
%changelog
|
||||
* Mon Jul 18 2016 Marek Kasik <mkasik@redhat.com> - 5:2015-27.20150728_r37987
|
||||
- Rebuild for poppler-0.45.0
|
||||
|
||||
* Tue May 3 2016 Marek Kasik <mkasik@redhat.com> - 5:2015-26.20150728_r37987
|
||||
- Rebuild for poppler-0.43.0
|
||||
|
||||
* Fri Apr 15 2016 David Tardon <dtardon@redhat.com> - 5:2015-25.20150728_r37987
|
||||
- rebuild for ICU 57.1
|
||||
|
||||
* Mon Nov 16 2015 Than Ngo <than@redhat.com> - 5:2015-14.20150728_r37987
|
||||
- fix build failure on secondary arch
|
||||
|
||||
* Wed Oct 28 2015 David Tardon <dtardon@redhat.com> - 5:2015-13.20150728_r37987
|
||||
- rebuild for ICU 56.1
|
||||
|
||||
* Thu Oct 08 2015 Than Ngo <than@redhat.com> - 5:2015-12.20150724
|
||||
- fix build failure on s390*
|
||||
- fix to use system gmp and system mpfr
|
||||
|
||||
* Wed Oct 7 2015 Peter Robinson <pbrobinson@fedoraproject.org> 5:2015-11.20150724
|
||||
- Fix lua builds on secondary arches again
|
||||
|
||||
* Thu Oct 1 2015 Tom Callaway <spot@fedoraproject.org> - 5:2015-10.20150724
|
||||
- fix rpm macros so that the right file is copied
|
||||
|
||||
* Mon Sep 28 2015 Tom Callaway <spot@fedoraproject.org> - 5:2015-9.20150724
|
||||
- add Requires: tex(titlesec.sty) to savetrees (bz1266801)
|
||||
|
||||
* Fri Sep 25 2015 Tom Callaway <spot@fedoraproject.org> - 5:2015-8.20150724
|
||||
- add Provides: tex-beamer-FUBerlin and texlive-beamer-FUBerlin to the beamer-FUBerlin-doc package
|
||||
... the upstream beamer-FUBerlin tarball is empty of useful content.
|
||||
|
||||
* Wed Sep 16 2015 Tom Callaway <spot@fedoraproject.org> - 5:2015-7.20150724
|
||||
- fix newline issue in pgf (bz1241458)
|
||||
- do not require: ghostscript-devel for texlive-pdfcrop-bin (bz1229407)
|
||||
- do not provide: tex(ifluatex.sty) in texlive-oberdiek (bz1146684)
|
||||
... but do require: tex(ifluatex.sty) in texlive-oberdiek to ensure complete bundle
|
||||
- add Requires: texlive-metafont-bin to texlive-kpathsea-bin (bz1123096)
|
||||
- add Provides/Obsoletes texlive-tlwg to texlive-fonts-tlwg (bz1100984)
|
||||
- add Requires: texlive-greek-fontenc and Requires: texlive-cbfonts-fd to textgreek (bz1064051)
|
||||
- apply patch from Edgar Hoch to fix etex.src to permit \addlanguage to have empty params 4 & 5 (bz1215257)
|
||||
- replace visible references to oriya to odia, add odia as equiv lang to oriya (bz1040337)
|
||||
- use macros.texlive file as source10, add and cleanup macros (bz1054317)
|
||||
- add Requires: biber to texlive-biblatex-apa (bz1048193)
|
||||
- new subpackage sync
|
||||
- add scriptlets for -doc subpackages so that texdoc just works
|
||||
- removed yfonts-t1 subpackage due to non-free license
|
||||
- fix license tags (no more Freely distributable...)
|
||||
- add Requires: tex(ltxkeys.sty) to xwatermark (bz1197494)
|
||||
- add Requires: tex(ifnextok.sty) to titlecaps (bz1186688)
|
||||
- add Requires: tex(xetex.def) to xetex (bz1155267)
|
||||
- add Requires: texlive-texconfig-bin to latex-bin-bin (bz995752)
|
||||
- add Provides/Obsoletes bibexport to texlive-bibexport
|
||||
add bibexport.sh symlink in /usr/bin (bz979448)
|
||||
- drop incorrect versioning on Requires: texlive-metafont-bin for texlive-kpathsea-bin
|
||||
|
||||
* Tue Sep 15 2015 Tom Callaway <spot@fedoraproject.org> - 5:2015-6.20150724
|
||||
- increment epoch to force upgrade (i hate versioning)
|
||||
|
||||
* Wed Sep 9 2015 Tom Callaway <spot@fedoraproject.org> - 4:2015-5.20150724
|
||||
- fix incorrect Obsoletes: texlive-kpathsea-lib
|
||||
|
||||
* Wed Aug 26 2015 Than Ngo <than@redhat.com> - 4:2015-4.20150724
|
||||
- disable luajittex on secondary arch
|
||||
|
||||
* Thu Aug 20 2015 Than Ngo <than@redhat.com> - 4:2015-3.20150724
|
||||
- rebuilt to fix some broken dependencies
|
||||
|
||||
* Wed Aug 5 2015 Tom Callaway <spot@fedoraproject.org> 4:2015-2.20150724
|
||||
- fix fmtutil.pl symlink, for you know, working fmtutil
|
||||
|
||||
* Fri Jul 24 2015 Tom Callaway <spot@fedoraproject.org> 4:2015-1.20150724
|
||||
- Update to TL2015
|
||||
|
||||
* Wed Jul 22 2015 Marek Kasik <mkasik@redhat.com> - 4:2014-12.20140525_r34255
|
||||
- Rebuild (poppler-0.34.0)
|
||||
|
||||
* Wed Jun 10 2015 Than Ngo <than@redhat.com> - 4:2014-11.20140525_r34255
|
||||
- fix wrong selinux context
|
||||
|
||||
* Mon Jun 8 2015 Marek Kasik <mkasik@redhat.com> - 4:2014-10.20140525_r34255
|
||||
- Rebuild (poppler-0.33.0)
|
||||
|
||||
* Fri Jun 5 2015 Marek Kasik <mkasik@redhat.com> - 4:2014-9.20140525_r34255
|
||||
- Rebuild (poppler-0.33.0)
|
||||
|
||||
* Wed Apr 29 2015 Than Ngo <than@redhat.com> - 4:2014-8.20140525_r34255
|
||||
- Resolves: bz#1181169, insecure use of /tmp in mktexlsr
|
||||
|
||||
* Wed Mar 4 2015 Ville Skyttä <ville.skytta@iki.fi> - 4:2014-7.20140525_r34255
|
||||
- Install rpm macros in %%{_rpmconfidir}/macros.d where available (#1074287)
|
||||
|
||||
* Mon Jan 26 2015 David Tardon <dtardon@redhat.com> - 4:2014-6.20140525_r34255
|
||||
- rebuild for ICU 54.1
|
||||
|
||||
* Fri Jan 23 2015 Marek Kasik <mkasik@redhat.com> - 4:2014-5.20140525_r34255
|
||||
- Rebuild (poppler-0.30.0)
|
||||
|
||||
* Sat Dec 27 2014 Kevin Fenzi <kevin@scrye.com> - 4:2014-4.20140525_r34255
|
||||
* Drop scriptlet that touches /home. Fixes bugs: #1128240 #1047361 #1073518 #1054338
|
||||
|
||||
* Thu Nov 27 2014 Marek Kasik <mkasik@redhat.com> - 4:2014-3.20140525_r34255
|
||||
- Rebuild (poppler-0.28.1)
|
||||
|
||||
* Tue Aug 26 2014 David Tardon <dtardon@redhat.com> - 4:2014-2.20140525_r34255
|
||||
- rebuild for ICU 53.1
|
||||
|
||||
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4:2014-1.20140525_r34255.1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Tue Jul 22 2014 Jindrich Novy <novyjindrich@gmail.com> - 2014-1-20140525
|
||||
- Tex Live 2014 is out
|
||||
- fix package dependencies to make update path smoother
|
||||
|
||||
* Sun Jun 8 2014 Jindrich Novy <novyjindrich@gmail.com> - 2014-0.1-20140525
|
||||
- update to TeX Live 2014 release candidate
|
||||
- conflict with ht package (#959696)
|
||||
|
||||
* Thu May 15 2014 Petr Pisar <ppisar@redhat.com> - 2013-12-20140512
|
||||
- Do not export private perl modules (bug #1085424)
|
||||
- Build-require libXi-devel for xdvik
|
||||
|
||||
* Wed May 14 2014 Jindrich Novy <novyjindrich@gmail.com> - 2013-11-20140512
|
||||
- remove explicit ghostscript-devel dependency in dvisvgm (#1087847)
|
||||
- pdftex now depends on pdftex-def (#1096535)
|
||||
|
||||
* Tue May 13 2014 Marek Kasik <mkasik@redhat.com> - 2013-10-20140411
|
||||
- Rebuild (poppler-0.26.0)
|
||||
|
||||
* Fri Apr 11 2014 Jindrich Novy <novyjindrich@gmail.com> - 2013-9-20140411
|
||||
- sync with upstream
|
||||
|
||||
* Fri Mar 21 2014 Dan Horák <dan[at]danny.cz> - 2013-8-20140305
|
||||
- do not attempt to built luajittex (#1070380)
|
||||
|
||||
* Tue Feb 25 2014 Jindrich Novy <novyjindrich@gmail.com> - 2013-7-20140224
|
||||
- sync with upstream
|
||||
- fix fmt files removal
|
||||
|
||||
* Sat Feb 22 2014 Jindrich Novy <novyjindrich@gmail.com> - 2013-6-20140217
|
||||
- sync with upstream
|
||||
- remove only generated fmt files upon update
|
||||
|
||||
* Fri Feb 14 2014 David Tardon <dtardon@redhat.com> - 2013-5-20131226
|
||||
- rebuild for new ICU
|
||||
|
||||
* Thu Dec 26 2013 Jindrich Novy <novyjindrich@gmail.com> - 2013-4-20131226
|
||||
- sync with upstream + add BR: libpaper-devel, potrace-devel
|
||||
- remove generated files upon update to avoid 'I'm stymified', etc.
|
||||
- update co_source - upstream SVN checkout script
|
||||
- disable Perl dependencies generation for F19 and older (#1023876)
|
||||
- always have format in printf() #1037351
|
||||
- fixes #921805, #952080, #1020941, #1025679, #1045794
|
||||
- Merry Christmas!
|
||||
|
||||
* Fri Oct 25 2013 Jindrich Novy <novyjindrich@gmail.com> - 2013-3-20131021
|
||||
- improve obsoletion automatism (#1022291, #1022746)
|
||||
|
||||
* Tue Oct 15 2013 Jindrich Novy <novyjindrich@gmail.com> - 2013-2-20131019
|
||||
- fix symlinks and dependency generation
|
||||
|
||||
* Tue Oct 15 2013 Jindrich Novy <novyjindrich@gmail.com> - 2013-1-20131014
|
||||
- sync with upstream
|
||||
- fix bin->noarch package dependencies
|
||||
|
||||
* Fri Oct 11 2013 Jindrich Novy <novyjindrich@gmail.com> - 2013-0.6.1-20131010
|
||||
- sync with upstream - fixes metapost, siunitx, latexdiff, luatex
|
||||
(#1016074, #1013367, #981390, #975254, #976863)
|
||||
- modify post scripts (#968573)
|
||||
- fix kpathsea patch
|
||||
- fix euler fonts installation (#982887)
|
||||
- fix license tag OFSFLD -> OFL (#1014052)
|
||||
- process perl dependencies (#1001434)
|
||||
- don't ship flash files (#1000265)
|
||||
- rebuild should fix rawhide poppler deps (#998696)
|
||||
- fixes build of dbus-java (#993438)
|
||||
- texexec no more complains about switch.rb (#993255)
|
||||
- bin packages now require their counterparts (#991699, #988978, #984468)
|
||||
- bibtex works fine now with spanish (#987534)
|
||||
- do proper obsoletion - include epoch (#983433)
|
||||
- fix build time tests
|
||||
|
||||
* Wed Jun 12 2013 Jindrich Novy <novyjindrich@gmail.com> - 2013-0.1-20130608
|
||||
- formally switch to 2013 based on upstream
|
||||
- call updmap-sys and fmtutil-sys for map and format updates
|
||||
- bump epoch to be sure all noarch packages get updated
|
||||
|
||||
* Tue Jun 11 2013 Jon Ciesla <limburgher@gmail.com> - 2012-25-20130531
|
||||
- Rebuild for new gd.
|
||||
|
||||
* Sun Jun 2 2013 Jindrich Novy <novyjindrich@gmail.com> - 2012-24-20130531
|
||||
- fix luatex breakage (#959625)
|
||||
- fix updmap-sys calls (#968573, #968573)
|
||||
- fix broken dependencies for packages only shiping binaries/symlinks and nothing else
|
||||
- fix update path - obsolete dvipdfm (#968358)
|
||||
- pdfcrop now requires ghostscript (#964183)
|
||||
|
||||
* Mon May 6 2013 Jindrich Novy <novyjindrich@gmail.com> - 2012-23-20130506
|
||||
- don't conflict with ht package - ht binary is now called t4ht (#959696)
|
||||
- require coreutils (#928566)
|
||||
- update build scripts
|
||||
- update symlink references tetex -> texlive
|
||||
- handle texmf -> texmf-dist upstream move
|
||||
- do proper obsoletion again
|
||||
|
||||
* Mon Apr 29 2013 Tom Callaway <spot@fedoraproject.org> - 2012-22-20130427
|
||||
- obsolete/provide ctan-musixtex-fonts and tex-musixtex
|
||||
|
||||
* Sat Apr 27 2013 Jindrich Novy <novyjindrich@gmail.com> - 2012-21-20130427
|
||||
- add missing shebang to context script
|
||||
- mark language.dat as config file (#929367)
|
||||
- add scripts for checking out sources and CTAN archives
|
||||
|
||||
* Wed Mar 27 2013 Jindrich Novy <novyjindrich@gmail.com> - 2012-20-20130321
|
||||
- bring chkweb back to life
|
||||
- fix context script (#924918)
|
||||
- prefer scripts installed from sources than from CTAN
|
||||
- BR: ghostscript-devel because of dvisvgm (#924662)
|
||||
|
||||
* Tue Mar 19 2013 Jindrich Novy <novyjindrich@gmail.com> - 2012-19-20130318
|
||||
- fix wrapper for context, remove chkweb man page (#910952)
|
||||
|
||||
* Mon Mar 11 2013 Ralf Corsépius <corsepiu@fedoraproject.org> - 2012-18-20130310
|
||||
- Remove %%config from %%{_sysconfdir}/rpm/macros.*
|
||||
(https://fedorahosted.org/fpc/ticket/259).
|
||||
|
||||
* Fri Mar 8 2013 Jindrich Novy <jnovy@redhat.com> 2012-17-20130310
|
||||
- run updmap-sys --syncwithtrees posttrans (#915086)
|
||||
- don't conflict with other packages (#913678)
|
||||
- obsolete tex-cm-lgc (#907728)
|
||||
- obsolete tex-kerkis (#907726)
|
||||
- fix clashes with xmltex (#877690)
|
||||
- use fedora latexmk instead of texlive latexmk (#914689)
|
||||
- fix broken symlinks in /usr/bin (#910952)
|
||||
- fmtutil doesn't print jadetex errors any more (#875266)
|
||||
- fix post scriptlets
|
||||
|
||||
* Tue Feb 5 2013 Jindrich Novy <jnovy@redhat.com> 2012-16-20130205
|
||||
- fix symlinks pointing to system utilities (#907643)
|
||||
- add BR: texinfo because of makeinfo
|
||||
|
||||
* Mon Jan 28 2013 Jindrich Novy <jnovy@redhat.com> 2012-15-20130131
|
||||
- enlarge tex(latex) dependency set, introduce tex(latex-base) (#904147)
|
||||
- fix post-scriptlets (#875257)
|
||||
- ship macros.texlive (#885762)
|
||||
- depend directly on texlive-kpathsea-lib
|
||||
- disable rpath
|
||||
|
||||
* Fri Jan 18 2013 Marek Kasik <mkasik@redhat.com> 2012-14-20130102
|
||||
- Rebuild (poppler-0.22.0)
|
||||
|
||||
* Fri Jan 11 2013 Jindrich Novy <jnovy@redhat.com> 2012-13-20130102
|
||||
- make dvips require latex-fonts (#879661)
|
||||
|
||||
* Mon Jan 7 2013 Jindrich Novy <jnovy@redhat.com> 2012-12-20130102
|
||||
- fix dependencies and upgrade path (#892054, #891709)
|
||||
- do not ship windows and other unneeded files
|
||||
|
||||
* Wed Jan 2 2013 Jindrich Novy <jnovy@redhat.com> 2012-11-20130102
|
||||
- sync with CTAN
|
||||
- added new buildrequires
|
||||
- don't use texlive's psutils
|
||||
- don't obsolete latexmk (#868996)
|
||||
|
||||
* Thu Dec 6 2012 Jindrich Novy <jnovy@redhat.com> 2012-10-20121205
|
||||
- sync with CTAN
|
||||
- compile also C++ sources with -fno-strict-aliasing
|
||||
- ship adhocfilelist
|
||||
- fix changelog dates
|
||||
|
||||
* Tue Nov 20 2012 Jindrich Novy <jnovy@redhat.com> 2012-9-20121120
|
||||
- obsolete metapost-metauml (#573863)
|
||||
- update BR perl-MD5 to perl(Digest::MD5) - required for updmap
|
||||
- remove redundant posttrans executions in texlive-base (#865650)
|
||||
- own ls-R in texmf-local directory
|
||||
|
||||
* Wed Nov 14 2012 Jindrich Novy <jnovy@redhat.com> 2012-8-20121115
|
||||
- prevent sed from being verbose in install log when uninstalling
|
||||
- be sure the old /usr/share/texmf tree is indexed and searched by
|
||||
kpathsea (#876710)
|
||||
- drop patch to fix build for dvisvgm, it is now applied upstream
|
||||
- fix dependencies in texlive and texlive-base subpackages (#875364)
|
||||
|
||||
* Sat Nov 10 2012 Jindrich Novy <jnovy@redhat.com> 2012-7-20121107
|
||||
- run mtxrun only once per transaction (#865650), this considerably
|
||||
speeds up installation time
|
||||
|
||||
* Wed Nov 7 2012 Jindrich Novy <jnovy@redhat.com> 2012-6-20121107
|
||||
- use -std=c++11 for all C++ apps in texlive to avoid symbol problems
|
||||
(thanks to Jakub Jelinek)
|
||||
|
||||
* Sun Nov 4 2012 Jindrich Novy <jnovy@redhat.com> 2012-5-20121024
|
||||
- don't conflict with latexmk (#868996)
|
||||
- unify versioning for both binary and noarch subpackages
|
||||
- remove lcdf-typetools hack for s390(x)
|
||||
|
||||
* Wed Oct 24 2012 Jindrich Novy <jnovy@redhat.com> 2012-3-20121024
|
||||
- sync with upstream - fixes problem lcdf-typetools tests
|
||||
- disable largefile support to fix pdflatex on 32bit arches (#872231)
|
||||
- put compatibility TEXMF tree reference into texm-local instead
|
||||
symlinking it to /usr/share/texmf directly
|
||||
|
||||
* Fri Oct 19 2012 Jindrich Novy <jnovy@redhat.com> 2012-3-20121019
|
||||
- sync with upstream sources
|
||||
- make /usr/share/texmf visible to kpathsea, make texmf-local
|
||||
pointing to it (#867656, #864875)
|
||||
- fix versioning of binary packages
|
||||
|
||||
* Tue Oct 9 2012 Jindrich Novy <jnovy@redhat.com> 2012-3-20120926
|
||||
- obsolete chktex (#864211)
|
||||
- make config.ps a config file (#441171)
|
||||
- fix post/postun scriptlet dependencies
|
||||
- all subpackages now have %%dist tag
|
||||
|
||||
* Sat Oct 6 2012 Jindrich Novy <jnovy@redhat.com> 2012-2-20120926
|
||||
- drop relase subpackage (no more needed as TL is now in Fedora)
|
||||
- fix -doc dependencies
|
||||
- remove (not-built) asymtote from source tarball
|
||||
- undefined catalogue version defaults to 0
|
||||
- perform automatic license audit
|
||||
- include also packages not part of any scheme
|
||||
- don't strip binaries so that we can generate debuginfo (#863635)
|
||||
- clean up depsolver
|
||||
|
||||
* Wed Oct 3 2012 Jindrich Novy <jnovy@redhat.com> 2012-1-20120926
|
||||
- introduce TeX Live 2012 to Fedora (#488651)
|
||||
- fixes: #619481, #759534, #814880, #819157
|
||||
|
||||
* Thu Jun 14 2012 Jindrich Novy <jnovy@redhat.com> 2012-1-20120613
|
||||
- update to 2012 final
|
||||
- obsolete system latexmk
|
||||
- include dvisvgm back
|
||||
|
||||
* Mon Apr 9 2012 Jindrich Novy <jnovy@redhat.com> 2012-0.1.20120408
|
||||
- temporarily disable dvisvgm due to gcc-4.7 compilation problems
|
||||
|
||||
* Tue Jul 26 2011 Jindrich Novy <jnovy@redhat.com> 2011-1.20110726
|
||||
- update to the official TeX Live 2011 release
|
||||
|
||||
* Sun Mar 13 2011 Jindrich Novy <jnovy@redhat.com> 2011-0.2.20110313
|
||||
- bump version to fix koma-skript versioning problem
|
||||
|
||||
* Mon Feb 28 2011 Jindrich Novy <jnovy@redhat.com> 2011-0.1.20110227
|
||||
- fix upgrade path with old TL2007 xetex, context or dvips installed
|
||||
- fix package generation bug that caused some package might be missing
|
||||
from the repository
|
||||
(http://www.linux.cz/pipermail/texlive/2011-February/000086.html)
|
||||
- fix upstream source URLs
|
||||
|
||||
* Tue Jan 25 2011 Jindrich Novy <jnovy@redhat.com> 2011-0.1.20110120
|
||||
- bump release to 2011 (we are using the 2011/dev SVN version)
|
||||
- add more file virtual provides (TFM, TTF, TTC, PFA, PFB, PCF, OTF,
|
||||
TEX, CNF, CFG, DEF, DAT, LDF, FD, ENC, MAP, VF, VPL, CLO, BUG, BUG2)
|
||||
|
||||
* Thu Dec 23 2010 Jindrich Novy <jnovy@redhat.com> 2010-14.20110105
|
||||
- sync with upstream
|
||||
- install texlive.tlpdb for autodep finder
|
||||
|
||||
* Wed Dec 15 2010 Jindrich Novy <jnovy@redhat.com> 2010-13.20101215
|
||||
- sync with upstream as of 15th Dec
|
||||
- fix dangling symlink (thanks to Michel Alexandre Salim)
|
||||
|
||||
* Fri Nov 12 2010 Jindrich Novy <jnovy@redhat.com> 2010-13.20101112
|
||||
- temporarily disable dvi2tty because of failing test suite
|
||||
- package /etc/texmf and point texmf-config there
|
||||
|
||||
* Fri Nov 5 2010 Jindrich Novy <jnovy@redhat.com> 2010-13.20101102
|
||||
- make release package part of the main build
|
||||
|
||||
* Mon Oct 18 2010 Jindrich Novy <jnovy@redhat.com> 2010-12.20101016
|
||||
- texlive-jadetex-bin obsoletes jadetex
|
||||
|
||||
* Fri Oct 8 2010 Jindrich Novy <jnovy@redhat.com> 2010-12.20101007
|
||||
- fix symlinks in /usr/bin so that they are not pointing to wrong location
|
||||
|
||||
* Thu Oct 7 2010 Jindrich Novy <jnovy@redhat.com> 2010-11.20101007
|
||||
- sync with the latest TL2010 sources
|
||||
- don't make redundant copies of binaries, symlink them
|
||||
- fix symlinks to perl utilities
|
||||
|
||||
* Wed Aug 25 2010 Jindrich Novy <jnovy@redhat.com> 2010-10.20100814
|
||||
- add obsolete of dvisvgm to allow smooth updates
|
||||
|
||||
* Mon Aug 23 2010 Jindrich Novy <jnovy@redhat.com> 2010-9.20100814
|
||||
- fix file attributes and rpmlint warnings
|
||||
- define libdir when calling configure
|
||||
- rebuild against new poppler
|
||||
|
||||
* Thu Jul 15 2010 Jindrich Novy <jnovy@redhat.com> 2010-8.20100715
|
||||
- move all the licenses and base directory hierarchy to texlive-base
|
||||
noarch subpackage
|
||||
- add automatic licensing code
|
||||
|
||||
* Fri Jun 4 2010 Jindrich Novy <jnovy@redhat.com> 2010-7.20100604
|
||||
- sync with upstream (introducing mptopdf)
|
||||
- compile C source with -fno-strict-aliasing
|
||||
|
||||
* Mon May 31 2010 Jindrich Novy <jnovy@redhat.com> 2010-7.20100531
|
||||
- switch to "tlpretest" source tree
|
||||
- add lua and ruby dependencies to packages requiring them
|
||||
- generate global package database "texlive.tlpdb" directly from
|
||||
tlpobj files shipped with each package
|
||||
|
||||
* Wed May 19 2010 Jindrich Novy <jnovy@redhat.com> 2010-6.20100521
|
||||
- disable chktex so that build passes
|
||||
- fix dist tags in releases in binary packages
|
||||
|
||||
* Fri Apr 30 2010 Jindrich Novy <jnovy@redhat.com> 2010-5.20100430
|
||||
- add dependencies resolution among biblatex files
|
||||
- another %%postun scriptlets fix
|
||||
|
||||
* Wed Apr 21 2010 Jindrich Novy <jnovy@redhat.com> 2010-4.20100421
|
||||
- add Requires(posttrans) to the main package
|
||||
|
||||
* Mon Apr 19 2010 Jindrich Novy <jnovy@redhat.com> 2010-3.20100419
|
||||
- bump version of binaries because of the kpathsea soname increase
|
||||
|
||||
* Fri Apr 16 2010 Jindrich Novy <jnovy@redhat.com> 2010-0.1.20100416
|
||||
- sync with upstream, remove ptex stuff for now
|
||||
|
||||
* Fri Apr 09 2010 Jindrich Novy <jnovy@redhat.com> 2010-0.1.20100329
|
||||
- use 2010 prefix
|
||||
- do not ship/build asymptote (#548761)
|
||||
|
||||
* Fri Mar 26 2010 Jindrich Novy <jnovy@redhat.com> 2009-3.20100326
|
||||
- declare fmutil.cnf, updmap.cfg, context.cnf and texmf.cnf as config files
|
||||
so that they don't get overwritten with texlive-kpathsea update
|
||||
- move man and info pages to the main packages, not -doc
|
||||
|
||||
* Fri Feb 19 2010 Jindrich Novy <jnovy@redhat.com> 2009-3.20100219
|
||||
- blacklist a4wide.sty because of bad (noinfo) license
|
||||
|
||||
* Tue Nov 10 2009 Jindrich Novy <jnovy@redhat.com> 2009-2
|
||||
- install man and info pages into proper locations visible
|
||||
by man and info
|
||||
- update scriptlets
|
||||
- remove xindy bits
|
||||
|
||||
* Mon Nov 09 2009 Jindrich Novy <jnovy@redhat.com> 2009-1
|
||||
- update to oficcially released TeX Live 2009
|
||||
- enable large file support
|
||||
|
||||
* Sun Nov 01 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.13
|
||||
- remove postun scriptlet to avoid accidential removal of texmf bits
|
||||
when not removing the package
|
||||
|
||||
* Fri Oct 23 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.12
|
||||
- tighten kpathsea devel dependency
|
||||
|
||||
* Tue Oct 20 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.11
|
||||
- fix generation of packages that ships only documentation
|
||||
- fix versioning of packages without version but with revision
|
||||
- fix heuristics for gathering .sty files dependencies
|
||||
- include packages under GFSL license
|
||||
- make files in old texmf tree from previous installs visible
|
||||
- do not obsolete old kpathsea, try to coexist
|
||||
- remove dvipdfm, dvipdfmx,depend of Fedora ones
|
||||
|
||||
* Sun Oct 18 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.10
|
||||
- TL2007 compatibility fixes:
|
||||
- create /usr/share/texmf symlink
|
||||
- clean all in post scriptlets
|
||||
|
||||
* Fri Oct 02 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.9
|
||||
- fix kpathsea Provides/Obsoletes
|
||||
|
||||
* Tue Sep 29 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.8
|
||||
- sync with latest upstream
|
||||
|
||||
* Sat Sep 12 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.7
|
||||
- make kpathsea independent on the main texlive package
|
||||
|
||||
* Thu Sep 10 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.6
|
||||
- remove packages under GFSL non-free license (tex-gyre)
|
||||
|
||||
* Thu Sep 3 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.5
|
||||
- fix dependencies to hyphenation packages
|
||||
- fix provides/obsoletes
|
||||
|
||||
* Mon Aug 31 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.4
|
||||
- require recommended LaTeX bits, the installation of pure
|
||||
scheme-basic is too minimalistic
|
||||
|
||||
* Tue Aug 25 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.3
|
||||
- require system psutils and t1utils and don't build the TL ones
|
||||
- correctly obsolete old kpathsea
|
||||
- binaries now have -bin postfix
|
||||
- support for Fedora fonts
|
||||
|
||||
* Thu Aug 20 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.2
|
||||
- add tetex-* virtual provides
|
||||
- fix unversioned requires
|
||||
- filter out unwanted libs and utilities from source
|
||||
|
||||
* Wed Aug 12 2009 Jindrich Novy <jnovy@redhat.com> 2009-0.1
|
||||
- update to TeX Live 2009 - pretest
|
||||
|
||||
* Mon Jun 29 2009 Jindrich Novy <jnovy@redhat.com> 2008-0.2
|
||||
- update to today's svn sources of binaries from upstream
|
||||
- fix directory -> symlink conversion
|
||||
- add ly1 (#488651)
|
||||
|
||||
* Thu Aug 14 2008 Jindrich Novy <jnovy@redhat.com> 2008-0.1
|
||||
- initial packaging for TeX Live 2008
|
||||
- wrote tl2rpm.c to autogenerate packages and post scriptlets
|
||||
from TeX Live metadata
|
||||
- fix kpathsea default search path
|
161
tl-format.patch
161
tl-format.patch
@ -1,8 +1,8 @@
|
||||
diff -up source/texk/dvi2tty/dvi2tty-5.3.4/DVI.format source/texk/dvi2tty/dvi2tty-5.3.4/DVI
|
||||
diff -up source/texk/dvidvi/dvidvi.c.format source/texk/dvidvi/dvidvi.c
|
||||
--- source/texk/dvidvi/dvidvi.c.format 2015-07-28 21:21:51.170212574 -0400
|
||||
+++ source/texk/dvidvi/dvidvi.c 2015-07-28 21:22:27.842988620 -0400
|
||||
@@ -327,7 +327,7 @@ static void stringdvibuf(integer p, inte
|
||||
diff -up texlive-base-20180414/source/texk/dvi2tty/dvi2tty-src/DVI.format texlive-base-20180414/source/texk/dvi2tty/dvi2tty-src/DVI
|
||||
diff -up texlive-base-20180414/source/texk/dvidvi/dvidvi.c.format texlive-base-20180414/source/texk/dvidvi/dvidvi.c
|
||||
--- texlive-base-20180414/source/texk/dvidvi/dvidvi.c.format 2017-06-23 10:55:46.000000000 -0400
|
||||
+++ texlive-base-20180414/source/texk/dvidvi/dvidvi.c 2018-04-30 13:07:17.910020544 -0400
|
||||
@@ -349,7 +349,7 @@ static void stringdvibuf(integer p, inte
|
||||
* Print a usage error messsage, and quit.
|
||||
*/
|
||||
static void usage(void) {
|
||||
@ -11,7 +11,7 @@ diff -up source/texk/dvidvi/dvidvi.c.format source/texk/dvidvi/dvidvi.c
|
||||
(void)fprintf(stderr,"Usage: dvidvi [options] input[.dvi] [output]\n");
|
||||
(void)fprintf(stderr,"where options are:\n");
|
||||
(void)fprintf(stderr," [-f n] first page printed [-l n] last page printed\n");
|
||||
@@ -806,7 +806,7 @@ default:
|
||||
@@ -828,7 +828,7 @@ default:
|
||||
} /* else argument with '-' */
|
||||
} /* for */
|
||||
if (*iname == 0) {
|
||||
@ -20,7 +20,7 @@ diff -up source/texk/dvidvi/dvidvi.c.format source/texk/dvidvi/dvidvi.c
|
||||
error("! no input file specified");
|
||||
}
|
||||
/* Inserted by djc@dsmail.hmi.de 3.8.1994 */
|
||||
@@ -817,7 +817,7 @@ default:
|
||||
@@ -839,7 +839,7 @@ default:
|
||||
}
|
||||
|
||||
if (*oname != 0 && !quiet) {
|
||||
@ -29,118 +29,9 @@ diff -up source/texk/dvidvi/dvidvi.c.format source/texk/dvidvi/dvidvi.c
|
||||
(void)fprintf(stderr, "%s -> %s\n",iname,oname);
|
||||
temp = nextstring ;
|
||||
}
|
||||
diff -up source/texk/ps2pk/objects.h.format source/texk/ps2pk/objects.h
|
||||
--- source/texk/ps2pk/objects.h.format 2015-07-28 21:24:03.356405337 -0400
|
||||
+++ source/texk/ps2pk/objects.h 2015-07-28 21:24:21.397295166 -0400
|
||||
@@ -231,7 +231,7 @@ struct xobject {
|
||||
/*SHARED*/
|
||||
/* NDW: personally, I want to see status and error messages! */
|
||||
#define IfTrace0(condition,model) \
|
||||
- {if (condition) printf(model);}
|
||||
+ {if (condition) printf("%s",model);}
|
||||
#define IfTrace1(condition,model,arg0) \
|
||||
{if (condition) printf(model,arg0);}
|
||||
#define IfTrace2(condition,model,arg0,arg1) \
|
||||
diff -up source/texk/web2c/cwebboot.cin.format source/texk/web2c/cwebboot.cin
|
||||
--- source/texk/web2c/cwebboot.cin.format 2015-07-28 21:24:28.351252699 -0400
|
||||
+++ source/texk/web2c/cwebboot.cin 2015-07-28 21:24:48.779127949 -0400
|
||||
@@ -1098,7 +1098,7 @@ void
|
||||
fatal(const char*s,const char*t)
|
||||
#line 1182 "cwebdir/common.w"
|
||||
{
|
||||
-if(*s)printf(s);
|
||||
+if(*s)printf("%s",s);
|
||||
err_print(t);
|
||||
history= fatal_message;exit(wrap_up());
|
||||
}
|
||||
diff -up source/texk/web2c/cwebdir/common.c.format source/texk/web2c/cwebdir/common.c
|
||||
--- source/texk/web2c/cwebdir/common.c.format 2015-07-28 21:24:56.764079186 -0400
|
||||
+++ source/texk/web2c/cwebdir/common.c 2015-07-28 21:25:24.830907788 -0400
|
||||
@@ -1063,7 +1063,7 @@ void
|
||||
fatal(s,t)
|
||||
char*s,*t;
|
||||
{
|
||||
-if(*s)printf(s);
|
||||
+if(*s)printf("%s",s);
|
||||
err_print(t);
|
||||
history= fatal_message;exit(wrap_up());
|
||||
}
|
||||
diff -up source/texk/web2c/cwebdir/common.w.format source/texk/web2c/cwebdir/common.w
|
||||
--- source/texk/web2c/cwebdir/common.w.format 2015-07-28 21:25:32.886858591 -0400
|
||||
+++ source/texk/web2c/cwebdir/common.w 2015-07-28 21:25:46.117777793 -0400
|
||||
@@ -1180,7 +1180,7 @@ concatenated to print the final error me
|
||||
fatal(s,t)
|
||||
char *s,*t;
|
||||
{
|
||||
- if (*s) printf(s);
|
||||
+ if (*s) printf("%s",s);
|
||||
err_print(t);
|
||||
history=fatal_message; exit(wrap_up());
|
||||
}
|
||||
diff -up source/texk/web2c/cwebdir/cweave.w.format source/texk/web2c/cwebdir/cweave.w
|
||||
--- source/texk/web2c/cwebdir/cweave.w.format 2015-07-28 21:25:55.096722960 -0400
|
||||
+++ source/texk/web2c/cwebdir/cweave.w 2015-07-28 21:26:13.680609471 -0400
|
||||
@@ -1784,7 +1784,7 @@ void
|
||||
print_cat(c) /* symbolic printout of a category */
|
||||
eight_bits c;
|
||||
{
|
||||
- printf(cat_name[c]);
|
||||
+ printf("%s",cat_name[c]);
|
||||
}
|
||||
|
||||
@ The token lists for translated \TEX/ output contain some special control
|
||||
diff -up source/texk/web2c/omegafonts/error_routines.c.format source/texk/web2c/omegafonts/error_routines.c
|
||||
--- source/texk/web2c/omegafonts/error_routines.c.format 2015-07-28 21:26:21.654560776 -0400
|
||||
+++ source/texk/web2c/omegafonts/error_routines.c 2015-07-28 21:27:54.356994659 -0400
|
||||
@@ -62,7 +62,7 @@ void
|
||||
yyerror(const_string fmt)
|
||||
{
|
||||
fprintf(stderr, "line %d (parsing): ", line_number);
|
||||
- fprintf(stderr, fmt);
|
||||
+ fprintf(stderr, "%s", fmt);
|
||||
fprintf(stderr, "\n");
|
||||
num_errors++;
|
||||
}
|
||||
@@ -72,7 +72,7 @@ void
|
||||
warning_0(const_string fmt)
|
||||
{
|
||||
fprintf(stderr, "line %d (warning): ", line_number);
|
||||
- fprintf(stderr, fmt);
|
||||
+ fprintf(stderr, "%s", fmt);
|
||||
fprintf(stderr, "\n");
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ void
|
||||
fatal_error_0(const_string fmt)
|
||||
{
|
||||
fprintf(stderr, "line %d (fatal): ", line_number);
|
||||
- fprintf(stderr, fmt);
|
||||
+ fprintf(stderr, "%s", fmt);
|
||||
fprintf(stderr, "\n");
|
||||
exit(1);
|
||||
}
|
||||
@@ -156,7 +156,7 @@ void
|
||||
internal_error_0(const_string fmt)
|
||||
{
|
||||
fprintf(stderr, "line %d (internal): ", line_number);
|
||||
- fprintf(stderr, fmt);
|
||||
+ fprintf(stderr, "%s", fmt);
|
||||
fprintf(stderr, "\n");
|
||||
exit(2);
|
||||
}
|
||||
diff -up source/texk/web2c/omegafonts/out_routines.c.format source/texk/web2c/omegafonts/out_routines.c
|
||||
--- source/texk/web2c/omegafonts/out_routines.c.format 2015-07-28 21:28:09.547901891 -0400
|
||||
+++ source/texk/web2c/omegafonts/out_routines.c 2015-07-28 21:28:22.209824567 -0400
|
||||
@@ -368,5 +368,5 @@ out_digits(unsigned counter)
|
||||
void
|
||||
out(const_string sval)
|
||||
{
|
||||
- fprintf(file_output, sval);
|
||||
+ fprintf(file_output, "%s", sval);
|
||||
}
|
||||
diff -up source/texk/web2c/tiedir/tie.c.format source/texk/web2c/tiedir/tie.c
|
||||
--- source/texk/web2c/tiedir/tie.c.format 2015-07-28 21:28:30.242775511 -0400
|
||||
+++ source/texk/web2c/tiedir/tie.c 2015-07-28 21:29:04.979563380 -0400
|
||||
diff -up texlive-base-20180414/source/texk/web2c/tiedir/tie.c.format texlive-base-20180414/source/texk/web2c/tiedir/tie.c
|
||||
--- texlive-base-20180414/source/texk/web2c/tiedir/tie.c.format 2016-11-25 13:24:38.000000000 -0500
|
||||
+++ texlive-base-20180414/source/texk/web2c/tiedir/tie.c 2018-04-30 13:07:27.792787747 -0400
|
||||
@@ -27,14 +27,14 @@
|
||||
\
|
||||
|
||||
@ -158,35 +49,3 @@ diff -up source/texk/web2c/tiedir/tie.c.format source/texk/web2c/tiedir/tie.c
|
||||
|
||||
#define print2_ln(a,b){print2(a,b);term_new_line;}
|
||||
#define print3_ln(a,b,c){print3(a,b,c);term_new_line;} \
|
||||
diff -up source/texk/web2c/tiedir/tie.w.format source/texk/web2c/tiedir/tie.w
|
||||
--- source/texk/web2c/tiedir/tie.w.format 2015-07-28 21:29:13.361512193 -0400
|
||||
+++ source/texk/web2c/tiedir/tie.w 2015-07-28 21:30:18.135116633 -0400
|
||||
@@ -458,14 +458,14 @@ for terminating an output line and writi
|
||||
|
||||
@^system dependencies@>
|
||||
@d term_out stdout
|
||||
-@d print(a) fprintf(term_out,a) /* `|print|' means write on the terminal */
|
||||
+@d print(a) fprintf(term_out,"%s",a) /* `|print|' means write on the terminal */
|
||||
@d print2(a,b) fprintf(term_out,a,b) /* same with two arguments */
|
||||
@d print3(a,b,c) fprintf(term_out,a,b,c) /* same with three arguments */
|
||||
@d print_c(v) fputc(v,term_out); /* print a single character */
|
||||
@d new_line(v) fputc('\n',v) /* start new line */
|
||||
@d term_new_line new_line(term_out)
|
||||
/* start new line of the terminal */
|
||||
-@d print_ln(v) {fprintf(term_out,v);term_new_line;}
|
||||
+@d print_ln(v) {fprintf(term_out,"%s",v);term_new_line;}
|
||||
/* `|print|' and then start new line */
|
||||
@d print2_ln(a,b) {print2(a,b);term_new_line;} /* same with two arguments */
|
||||
@d print3_ln(a,b,c) {print3(a,b,c);term_new_line;}
|
||||
diff -up source/utils/devnag/src/devnag.c.format source/utils/devnag/src/devnag.c
|
||||
--- source/utils/devnag/src/devnag.c.format 2015-07-28 21:23:26.446630739 -0400
|
||||
+++ source/utils/devnag/src/devnag.c 2015-07-28 21:23:34.215583295 -0400
|
||||
@@ -2400,7 +2400,7 @@ void put_macro(short macro) {
|
||||
void err_ill(const char *str) {
|
||||
fprintf(stderr, "Error: illegal character(s) \"%s\" detected at line %d:\n",
|
||||
str, linenumber);
|
||||
- fprintf(stderr, inbuf);
|
||||
+ fprintf(stderr, "%s", inbuf);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
2296
tl-oldpkgs.h
2296
tl-oldpkgs.h
File diff suppressed because it is too large
Load Diff
305
tlpdb.patch
305
tlpdb.patch
@ -1,305 +0,0 @@
|
||||
--- texlive.tlpdb.orig 2015-09-16 16:29:17.024436938 -0400
|
||||
+++ texlive.tlpdb 2015-09-16 16:29:17.050436761 -0400
|
||||
@@ -10317,7 +10317,7 @@
|
||||
catalogue-license pd
|
||||
catalogue-version 1.0a
|
||||
|
||||
-name Asana-Math
|
||||
+name asana-math
|
||||
category Package
|
||||
revision 37556
|
||||
shortdesc A font to typeset maths in Xe(La)TeX and Lua(La)TeX.
|
||||
@@ -16060,40 +16060,6 @@
|
||||
catalogue-date 2012-04-10 13:05:36 +0200
|
||||
catalogue-license gpl
|
||||
|
||||
-name biber
|
||||
-category Package
|
||||
-revision 37851
|
||||
-shortdesc A BibTeX replacement for users of biblatex.
|
||||
-longdesc Biber is a BibTeX replacement for users of biblatex. Biber
|
||||
-longdesc supports full UTF-8, can (re)-encode input and output, supports
|
||||
-longdesc highly configurable sorting, dynamic bibliography sets and many
|
||||
-longdesc other features. The CTAN distribution offers a compressed tar
|
||||
-longdesc archive of the sources, etc., together with "binary"
|
||||
-longdesc distributions for a variety of platforms. Note: on SourceForge
|
||||
-longdesc biber is formally named "biblatex-biber", to distinguish it
|
||||
-longdesc from an earlier (now apparently moribund) project called
|
||||
-longdesc "biber".
|
||||
-depend biber.ARCH
|
||||
-docfiles size=84
|
||||
- texmf-dist/doc/bibtex/biber/biber.pdf
|
||||
-srcfiles size=543
|
||||
- texmf-dist/source/bibtex/biber/Changes
|
||||
- texmf-dist/source/bibtex/biber/biblatex-biber.tar.gz
|
||||
- texmf-dist/source/bibtex/biber/utf8-macro-map.html
|
||||
-catalogue-also bibtex crosstex biblatex
|
||||
-catalogue-ctan /biblio/biber
|
||||
-catalogue-date 2015-05-08 00:12:35 +0200
|
||||
-catalogue-license artistic
|
||||
-catalogue-topics biblio
|
||||
-catalogue-version 2.1
|
||||
-
|
||||
-name biber.i386-linux
|
||||
-category Package
|
||||
-revision 37327
|
||||
-shortdesc i386-linux files of biber
|
||||
-binfiles arch=i386-linux size=4284
|
||||
- bin/i386-linux/biber
|
||||
-
|
||||
name bibexport
|
||||
category Package
|
||||
revision 29349
|
||||
@@ -33039,7 +33005,6 @@
|
||||
depend tex
|
||||
depend texconfig
|
||||
depend texlive-common
|
||||
-depend texlive-docindex
|
||||
depend texlive-en
|
||||
depend texlive-msg-translations
|
||||
depend texlive-scripts
|
||||
@@ -33287,7 +33252,7 @@
|
||||
shortdesc Additional fonts
|
||||
relocated 1
|
||||
depend collection-basic
|
||||
-depend Asana-Math
|
||||
+depend asana-math
|
||||
depend academicons
|
||||
depend accanthis
|
||||
depend adforn
|
||||
@@ -33434,7 +33399,7 @@
|
||||
depend librebaskerville
|
||||
depend librecaslon
|
||||
depend libris
|
||||
-depend linearA
|
||||
+depend lineara
|
||||
depend lobster2
|
||||
depend lxfonts
|
||||
depend ly1
|
||||
@@ -35721,7 +35686,7 @@
|
||||
depend m-tx
|
||||
depend musixguit
|
||||
depend musixtex
|
||||
-depend musixtex-fonts
|
||||
+depend musixtex-fnts
|
||||
depend musixtnt
|
||||
depend piano
|
||||
depend pmx
|
||||
@@ -36253,25 +36218,6 @@
|
||||
depend xymtex
|
||||
depend youngtab
|
||||
|
||||
-name collection-texworks
|
||||
-category Collection
|
||||
-revision 36934
|
||||
-shortdesc TeXworks editor; TL includes only the Windows binary
|
||||
-relocated 1
|
||||
-longdesc See http://tug.org/texworks.
|
||||
-depend collection-basic
|
||||
-depend texworks
|
||||
-
|
||||
-name collection-wintools
|
||||
-category Collection
|
||||
-revision 30307
|
||||
-shortdesc Windows-only support programs
|
||||
-relocated 1
|
||||
-longdesc Utilities for Windows, since they are not readily available
|
||||
-longdesc there: chktex, unzip, wget, xpdf, and the dviout previewer.
|
||||
-depend wintools.win32
|
||||
-depend dviout.win32
|
||||
-
|
||||
name collection-xetex
|
||||
category Collection
|
||||
revision 38257
|
||||
@@ -47514,7 +47460,7 @@
|
||||
texmf-dist/source/support/dosepsbin/install-sh
|
||||
catalogue-ctan /support/dosepsbin
|
||||
catalogue-date 2014-10-16 20:09:26 +0200
|
||||
-catalogue-license artistic
|
||||
+catalogue-license gpl
|
||||
catalogue-version 1.2
|
||||
|
||||
name dosepsbin.i386-linux
|
||||
@@ -79894,13 +79840,6 @@
|
||||
catalogue-license lppl
|
||||
catalogue-version v1.7
|
||||
|
||||
-name installfont.i386-linux
|
||||
-category Package
|
||||
-revision 19743
|
||||
-shortdesc i386-linux files of installfont
|
||||
-binfiles arch=i386-linux size=1
|
||||
- bin/i386-linux/installfont-tl
|
||||
-
|
||||
name interactiveworkbook
|
||||
category Package
|
||||
revision 15878
|
||||
@@ -91373,7 +91312,7 @@
|
||||
catalogue-ctan /macros/latex/contrib/labels
|
||||
catalogue-date 2011-12-16 16:22:52 +0100
|
||||
catalogue-license lppl1.2
|
||||
-catalogue-version .13
|
||||
+catalogue-version 13
|
||||
|
||||
name labyrinth
|
||||
category Package
|
||||
@@ -93004,72 +92943,6 @@
|
||||
catalogue-license gpl
|
||||
catalogue-version 2.1.19.1
|
||||
|
||||
-name latexmk
|
||||
-category Package
|
||||
-revision 36353
|
||||
-shortdesc Fully automated LaTeX document generation.
|
||||
-longdesc Latexmk completely automates the process of generating a LaTeX
|
||||
-longdesc document. Given the source files for a document, latexmk issues
|
||||
-longdesc the appropriate sequence of commands to generate a .dvi, .ps,
|
||||
-longdesc .pdf or hardcopy version of the document. An important feature
|
||||
-longdesc is the "preview continuous mode", where the script watches all
|
||||
-longdesc of the source files (primary file and included TeX and graphics
|
||||
-longdesc files), and reruns LaTeX, etc., whenever a source file has
|
||||
-longdesc changed. Thus a previewer can offer a display of the document's
|
||||
-longdesc latest state.
|
||||
-depend latexmk.ARCH
|
||||
-runfiles size=86
|
||||
- texmf-dist/scripts/latexmk/latexmk.pl
|
||||
-docfiles size=185
|
||||
- texmf-dist/doc/man/man1/latexmk.1
|
||||
- texmf-dist/doc/man/man1/latexmk.man1.pdf
|
||||
- texmf-dist/doc/support/latexmk/CHANGES
|
||||
- texmf-dist/doc/support/latexmk/COPYING
|
||||
- texmf-dist/doc/support/latexmk/INSTALL
|
||||
- texmf-dist/doc/support/latexmk/README
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/README-rcfiles
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/asymptote_latexmkrc
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/clean_pattern_latexmkrc
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/exceltex_latexmkrc
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/glossary_latexmkrc
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/lualatex_latexmkrc
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/mpost_latexmkrc
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/nomenclature_latexmkrc
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/pdflatexmkrc
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/pythontex-latexmkrc
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/sagetex_latexmkrc
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/sweave_latexmkrc
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/tex4ht-latexmkrc
|
||||
- texmf-dist/doc/support/latexmk/example_rcfiles/xelatex_latexmkrc
|
||||
- texmf-dist/doc/support/latexmk/extra-scripts/README-scripts
|
||||
- texmf-dist/doc/support/latexmk/extra-scripts/dvipdfm_call
|
||||
- texmf-dist/doc/support/latexmk/extra-scripts/dvipdfm_call.bat
|
||||
- texmf-dist/doc/support/latexmk/extra-scripts/dvipdfmx_call
|
||||
- texmf-dist/doc/support/latexmk/extra-scripts/dvipdfmx_call.bat
|
||||
- texmf-dist/doc/support/latexmk/extra-scripts/htlatexonly
|
||||
- texmf-dist/doc/support/latexmk/extra-scripts/kickxdvi
|
||||
- texmf-dist/doc/support/latexmk/extra-scripts/l1
|
||||
- texmf-dist/doc/support/latexmk/extra-scripts/l2
|
||||
- texmf-dist/doc/support/latexmk/extra-scripts/myhtlatex2
|
||||
- texmf-dist/doc/support/latexmk/extra-scripts/pst2pdf_for_latexmk
|
||||
- texmf-dist/doc/support/latexmk/extra-scripts/pst2pdf_for_latexmk_README.txt
|
||||
- texmf-dist/doc/support/latexmk/extra-scripts/startacroread
|
||||
- texmf-dist/doc/support/latexmk/latexmk.pdf
|
||||
- texmf-dist/doc/support/latexmk/latexmk.txt
|
||||
-srcfiles size=1
|
||||
- texmf-dist/source/support/latexmk/latexmk.bat
|
||||
-catalogue-ctan /support/latexmk
|
||||
-catalogue-date 2015-02-22 07:47:38 +0100
|
||||
-catalogue-license gpl2
|
||||
-catalogue-version 4.43a
|
||||
-
|
||||
-name latexmk.i386-linux
|
||||
-category Package
|
||||
-revision 10937
|
||||
-shortdesc i386-linux files of latexmk
|
||||
-binfiles arch=i386-linux size=1
|
||||
- bin/i386-linux/latexmk
|
||||
-
|
||||
name latexmp
|
||||
category Package
|
||||
revision 15878
|
||||
@@ -98324,7 +98197,7 @@
|
||||
catalogue-date 2012-04-03 18:09:05 +0200
|
||||
catalogue-license lppl
|
||||
|
||||
-name linearA
|
||||
+name lineara
|
||||
category Package
|
||||
revision 15878
|
||||
shortdesc Linear A script fonts.
|
||||
@@ -109422,7 +109295,7 @@
|
||||
texmf-dist/source/generic/mkjobtexmf/install-sh
|
||||
catalogue-ctan /support/mkjobtexmf
|
||||
catalogue-date 2011-11-16 11:07:17 +0100
|
||||
-catalogue-license artistic
|
||||
+catalogue-license gpl
|
||||
catalogue-version 0.8
|
||||
|
||||
name mkjobtexmf.i386-linux
|
||||
@@ -111632,7 +111505,7 @@
|
||||
catalogue-license lppl1.3
|
||||
catalogue-version 1.2.2
|
||||
|
||||
-name musixtex-fonts
|
||||
+name musixtex-fnts
|
||||
category Package
|
||||
revision 37762
|
||||
shortdesc Fonts used by MusixTeX.
|
||||
@@ -123189,6 +123062,7 @@
|
||||
longdesc LuaTeX).
|
||||
depend kpathsea
|
||||
depend pdftex.ARCH
|
||||
+depend pdftex-def
|
||||
execute AddFormat name=pdftex engine=pdftex patterns=language.def options="-translate-file=cp227.tcx *pdfetex.ini"
|
||||
execute AddFormat name=etex engine=pdftex patterns=language.def options="-translate-file=cp227.tcx *etex.ini"
|
||||
execute AddFormat name=pdfetex engine=pdftex patterns=language.def options="-translate-file=cp227.tcx *pdfetex.ini"
|
||||
@@ -131343,7 +131217,7 @@
|
||||
catalogue-ctan /graphics/pstricks/contrib/pst-layout
|
||||
catalogue-date 2014-02-26 23:03:13 +0100
|
||||
catalogue-license lppl
|
||||
-catalogue-version .95
|
||||
+catalogue-version 95
|
||||
|
||||
name pst-lens
|
||||
category Package
|
||||
@@ -144593,7 +144467,7 @@
|
||||
depend kurier
|
||||
depend poltawski
|
||||
depend xits
|
||||
-depend Asana-Math
|
||||
+depend asana-math
|
||||
depend gentium-tug
|
||||
depend pxfonts
|
||||
depend txfonts
|
||||
@@ -159412,7 +159286,7 @@
|
||||
texmf-dist/doc/man/man1/texdirflatten.man1.pdf
|
||||
catalogue-ctan /support/texdirflatten
|
||||
catalogue-date 2014-02-26 23:03:13 +0100
|
||||
-catalogue-license artistic
|
||||
+catalogue-license gpl
|
||||
catalogue-version 1.1
|
||||
|
||||
name texdirflatten.i386-linux
|
||||
@@ -161016,7 +160890,6 @@
|
||||
revision 29741
|
||||
shortdesc i386-linux files of texlive-scripts
|
||||
binfiles arch=i386-linux size=2
|
||||
- bin/i386-linux/man
|
||||
bin/i386-linux/rungs
|
||||
|
||||
name texlive-sr
|
||||
@@ -166717,7 +166590,7 @@
|
||||
catalogue-ctan /macros/latex209/contrib/trees/tree-dvips
|
||||
catalogue-date 2012-01-20 11:26:32 +0100
|
||||
catalogue-license lppl1
|
||||
-catalogue-version .91
|
||||
+catalogue-version 91
|
||||
|
||||
name treetex
|
||||
category Package
|
||||
@@ -179710,7 +179583,6 @@
|
||||
revision 37261
|
||||
shortdesc i386-linux files of xetex
|
||||
binfiles arch=i386-linux size=6435
|
||||
- bin/i386-linux/teckit_compile
|
||||
bin/i386-linux/xdvipdfmx
|
||||
bin/i386-linux/xelatex
|
||||
bin/i386-linux/xetex
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user