%define source_date 20110111 %define tl_version 2010 %define tl_release 14.%{source_date} %define tl_noarch_release 10 #%define _binary_payload w6.xzdio %define source_name texlive-%{source_date}-source %{!?_texdir: %global _texdir %{_datadir}/%{name}} %{!?_texmf_var: %global _texmf_var %{_var}/lib/texmf} # don't figure any perl requires %define __perl_requires %{nil} Name: texlive Version: %{tl_version} Release: %{tl_release}%{?dist} 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 ncurses-devel byacc BuildRequires: gd-devel teckit-devel freetype-devel t1lib-devel libpng-devel zlib-devel poppler-devel t1utils #BuildRequires: clisp-devel Requires: %{name}-base Obsoletes: texlive < %{tl_version}, texlive-texmf < %{tl_version} Obsoletes: texlive-texmf-afm < %{tl_version} Obsoletes: texlive-texmf-fonts < %{tl_version}, texlive-afm < %{tl_version} Obsoletes: texlive-dviutils < %{tl_version}, texlive-utils < %{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} Patch1: tl-kpfix.patch Source0: %{source_name}.tar.xz Source1: tl2rpm.c Source2: texlive.tlpdb Source3: texlive-licenses.tar.xz %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 release Summary: TeX Live repository package BuildArch: noarch Obsoletes: texlive-f15-release <= %{version}-%{release} Obsoletes: texlive-f14-release <= %{version}-%{release} Obsoletes: texlive-f13-release <= %{version}-%{release} Obsoletes: texlive-f12-release <= %{version}-%{release} %description release TeX Live repository package %include _packages.spec %package base Summary: TeX Live licenses shipped in text form BuildArch: noarch Requires: %{name} = %{version} Requires: %{name}-scheme-basic Requires: %{name}-collection-latexrecommended Requires: %{name}-kpathsea, %{name}-tetex %description base TeX Live licenses shipped in text form. %package kpathsea-lib Summary: Path searching library for TeX-related files %description kpathsea-lib The library is at the centre of pretty much all Unix-based TeX executable. It is no longer distributed separately, but rather consititutes a central part of the sources of the TeX-live distribution. %package kpathsea-lib-devel Summary: Path searching library for TeX-related files Requires: %{name}-kpathsea-lib = %{version} Provides: kpathsea-devel = %{version} Obsoletes: kpathsea-devel < %{version} %description kpathsea-lib-devel The library is at the centre of pretty much all Unix-based TeX executable. It is no longer distributed separately, but rather consititutes a central part of the sources of the TeX-live distribution. %prep %setup -q -c -T xz -dc %{SOURCE0} | tar x [ -e %{source_name} ] && mv %{source_name} source %patch1 -p0 for l in `unxz -c %{SOURCE3} | tar t`; do ln -s %{_texdir}/licenses/$l $l done %build export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" export CXXFLAGS="$RPM_OPT_FLAGS" cd source PREF=`pwd`/inst mkdir -p work cd work ../configure \ --prefix=$PREF \ --datadir=$PREF \ --libdir=$PREF/lib \ --with-system-xpdf \ --with-system-gd \ --with-system-t1lib \ --with-system-libpng \ --with-system-zlib \ --with-system-teckit \ --with-teckit-includes=/usr/include/teckit \ --with-system-freetype2 \ --with-pic \ --with-xdvi-x-toolkit=xaw \ --disable-xindy --disable-xindy-docs --disable-xindy-make-rules \ --enable-shared \ --enable-compiler-warnings=max \ --without-cxx-runtime-hack \ --disable-native-texlive-build \ --disable-dvi2tty \ --disable-t1utils \ --disable-psutils \ --disable-ptexenc #--disable-makejvf \ #--disable-mendexk # legally disabled #--disable-lacheck \ #--disable-dvidvi \ #--disable-ps2pkm make world %{?_smp_mflags} %install rm -rf %{buildroot} # create repo file mkdir -p %{buildroot}/etc/yum.repos.d cat << EOF > %{buildroot}%{_sysconfdir}/yum.repos.d/texlive-release.repo [texlive] name=TeX Live baseurl=http://jnovy.fedorapeople.org/texlive/packages%{dist}/ enabled=1 metadata_expire=1d gpgcheck=0 EOF # create directory tree mkdir -p %{buildroot}%{_texdir}/../texmf mkdir -p %{buildroot}%{_texmf_var} mkdir -p %{buildroot}%{_sysconfdir}/texmf %include _mkdirs.spec %include _unpack.spec # 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 cp -r source/inst/bin/* %{buildroot}%{_bindir} # install kpathsea shared libs, nuke static ones rm -rf %{buildroot}%{_libdir} mkdir -p %{buildroot}%{_libdir} cp -d source/inst/lib/* %{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,../,../share/texlive/,` 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 # invalid licenses (and texdirflatten doesn't exist) #for i in mkjobtexmf physe phyzzx texdiff texdirflatten metatex dvisvgm; do #for i in mkjobtexmf physe phyzzx texdiff texdirflatten metatex installfont-tl; do # rm -f %{buildroot}%{_bindir}/$i #done rm -f %{buildroot}%{_bindir}/installfont-tl rm -rf %{buildroot}%{_includedir}/ptexenc popd # remove all unshipped stuff %include _remove.spec #[ -e %{buildroot}/%{_texdir}/texmf/doc/man ] && mv %{buildroot}/%{_texdir}/texmf/doc/man %{buildroot}/%{_datadir}/ #[ -e %{buildroot}/%{_texdir}/texmf/doc/info ] && mkdir -p %{buildroot}/%{_infodir} && mv %{buildroot}/%{_texdir}/texmf/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} #[ ! -e texmf-config ] && ln -s texmf texmf-config [ ! -e texmf-config ] && ln -s %{_sysconfdir}/texmf texmf-config [ ! -h texmf-var ] && ln -s %{_texmf_var} texmf-var popd # touch ghosts touch %{buildroot}%{_texdir}/texmf/ls-R touch %{buildroot}%{_texdir}/texmf-dist/ls-R touch %{buildroot}%{_texdir}/../texmf/ls-R %clean rm -rf %{buildroot} %pre base rm -rf %{_texdir}/texmf-var rm -rf %{_texmf_var}/* : %posttrans base %{_bindir}/texhash 2> /dev/null %{_bindir}/updmap-sys &> /dev/null %{_bindir}/fmtutil-sys --all &> /dev/null if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then [ -x /sbin/restorecon ] && /sbin/restorecon -R %{_texmf_var}/ fi : %files %defattr(-,root,root) %files release %defattr(-,root,root) %{_sysconfdir}/yum.repos.d/texlive-release.repo %files base %defattr(-,root,root) %dir %{_texmf_var} %dir %{_sysconfdir}/texmf %dir %{_texdir}/texmf-config %dir %{_texdir}/texmf-var %dir %{_texdir}/../texmf %dir %{_texdir}/licenses %{_texdir}/licenses/* %attr(0644, root, root) %verify(not md5 size mtime) %ghost %{_texdir}/texmf/ls-R %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/ls-R %include _dirs.spec %{_texdir}/texlive.tlpdb %include _files.spec %files kpathsea-lib %defattr(-,root,root) %{_libdir}/*.so.* %files kpathsea-lib-devel %defattr(-,root,root) %dir %{_includedir}/kpathsea %{_includedir}/kpathsea/* %{_libdir}/*.so %changelog * Thu Dec 23 2010 Jindrich Novy 2010-14.20110105 - sync with upstream - install texlive.tlpdb for autodep finder * Thu Dec 15 2010 Jindrich Novy 2010-13.20101215 - sync with upstream as of 15th Dec - fix dangling symlink (thanks to Michel Alexandre Salim) * Fri Nov 12 2010 Jindrich Novy 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 2010-13.20101102 - make release package part of the main build * Mon Oct 18 2010 Jindrich Novy 2010-12.20101016 - texlive-jadetex-bin obsoletes jadetex * Fri Oct 8 2010 Jindrich Novy 2010-12.20101007 - fix symlinks in /usr/bin so that they are not pointing to wrong location * Thu Oct 7 2010 Jindrich Novy 2010-11.20101007 - sync with the latest TL2010 sources - don't make redundant copies of binaries, symlink them - fix symlinks to perl utilities * Mon Aug 25 2010 Jindrich Novy 2010-10.20100814 - add obsolete of dvisvgm to allow smooth updates * Mon Aug 23 2010 Jindrich Novy 2010-9.20100814 - fix file attributes and rpmlint warnings - define libdir when calling configure - rebuild against new poppler * Thu Jul 15 2010 Jindrich Novy 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 2010-7.20100604 - sync with upstream (introducing mptopdf) - compile C source with -fno-strict-aliasing * Mon May 31 2010 Jindrich Novy 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 2010-6.20100521 - disable chktex so that build passes - fix dist tags in releases in binary packages * Fri Apr 30 2010 Jindrich Novy 2010-5.20100430 - add dependencies resolution among biblatex files - another %%postun scriptlets fix * Wed Apr 21 2010 Jindrich Novy 2010-4.20100421 - add Requires(posttrans) to the main package * Mon Apr 19 2010 Jindrich Novy 2010-3.20100419 - bump version of binaries because of the kpathsea soname increase * Fri Apr 16 2010 Jindrich Novy 2010-0.1.20100416 - sync with upstream, remove ptex stuff for now * Fri Apr 09 2010 Jindrich Novy 2010-0.1.20100329 - use 2010 prefix - do not ship/build asymptote (#548761) * Fri Mar 26 2010 Jindrich Novy 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 2009-3.20100219 - blacklist a4wide.sty because of bad (noinfo) license * Tue Nov 10 2009 Jindrich Novy 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 2009-1 - update to oficcially released TeX Live 2009 - enable large file support * Sun Nov 01 2009 Jindrich Novy 2009-0.13 - remove postun scriptlet to avoid accidential removal of texmf bits when not removing the package * Fri Oct 23 2009 Jindrich Novy 2009-0.12 - tighten kpathsea devel dependency * Tue Oct 20 2009 Jindrich Novy 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 2009-0.10 - TL2007 compatibility fixes: - create /usr/share/texmf symlink - clean all in post scriptlets * Fri Oct 02 2009 Jindrich Novy 2009-0.9 - fix kpathsea Provides/Obsoletes * Tue Sep 29 2009 Jindrich Novy 2009-0.8 - sync with latest upstream * Sat Sep 12 2009 Jindrich Novy 2009-0.7 - make kpathsea independent on the main texlive package * Thu Sep 10 2009 Jindrich Novy 2009-0.6 - remove packages under GFSL non-free license (tex-gyre) * Thu Sep 3 2009 Jindrich Novy 2009-0.5 - fix dependencies to hyphenation packages - fix provides/obsoletes * Mon Aug 31 2009 Jindrich Novy 2009-0.4 - require recommended LaTeX bits, the installation of pure scheme-basic is too minimalistic * Tue Aug 25 2009 Jindrich Novy 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 2009-0.2 - add tetex-* virtual provides - fix unversioned requires - filter out unwanted libs and utilities from source * Wed Aug 12 2009 Jindrich Novy 2009-0.1 - update to TeX Live 2009 - pretest * Mon Jun 29 2009 Jindrich Novy 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 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