Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Publishing:TeXLive:2023
Meta
_bin.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _bin.spec of Package Meta
# # spec file for package _bin # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@VERSION@@ %define __perl_requires %{nil} %define __os_install_post /usr/lib/rpm/brp-compress \\\ %(ls /usr/lib/rpm/brp-suse.d/* 2> /dev/null | grep -vE 'symlink|desktop') %{nil} %if ! %{defined perl_version} %global perl_version %(rpm -q --qf '%%{VERSION}' perl) %endif %global perl_versnum %(rpm -q --qf '%%{VERSION}' perl | sed 's/\\.//g') # # LuaJIT -- does not build nor support all architectures # Current status is available at https://github.com/LuaJIT/LuaJIT # https://github.com/LuaJIT/LuaJIT/issues/42 # Compare with libs/luajit/LuaJIT-<version>/src/lj_arch.h # %ifnarch ppc %power64 s390 s390x riscv64 %global with_LuaJIT 1 %endif %bcond_with LuaJIT # psutils -- is also available as the package psutils and therefore # not necessary required, enabling the resulting psutils # cause dependency on package collection-fontutils %bcond_with psutils # # buildbiber -- we build our own biber executable as with this all # architectures can be supported (in theory) and the final # perl dump binary is smaller # %bcond_without buildbiber # # lcdf-typetools -- is also available as the package lcdf-typetools # and therefore we may only require this external package %bcond_without lcdf_typetools # # # %bcond_without luametatex Name: texlive Version: %{texlive_version}.%{texlive_release} Release: 0 Summary: The TeXLive Formatting System License: Apache-2.0 AND Artistic-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LPPL-1.3c AND LPPL-1.0 AND MIT AND BSD-3-Clause AND SUSE-TeX AND SUSE-Public-Domain Group: Productivity/Publishing/TeX/Base URL: https://www.tug.org/texlive/ PreReq: %{name}-filesystem >= %{texlive_version} PreReq: %{name}-kpathsea >= %{texlive_version} PreReq: %{name}-kpathsea-bin >= %{texlive_version} PreReq: %{name}-scripts >= %{texlive_version} PreReq: /usr/bin/clear PreReq: /usr/bin/dialog PreReq: /usr/bin/perl PreReq: coreutils PreReq: ed PreReq: findutils PreReq: grep PreReq: sed #!BuildIgnore: %{name}-kpathsea-bin #!BuildIgnore: %{name}-kpathsea #!BuildIgnore: %{name}-scripts-bin #!BuildIgnore: %{name}-scripts Requires(pre): user(mktex) Requires(pre): group(mktex) Requires(post): coreutils Requires(postun): coreutils Requires(posttrans): coreutils Requires(posttrans): ed Requires(posttrans): findutils Requires(posttrans): grep Requires(posttrans): sed Requires(posttrans): %{name}-filesystem >= %{texlive_version} Requires(posttrans): %{name}-kpathsea-bin >= %{texlive_version} Requires(posttrans): %{name}-kpathsea >= %{texlive_version} Requires(posttrans): %{name}-scripts-bin >= %{texlive_version} Requires(posttrans): %{name}-scripts >= %{texlive_version} Recommends: %{name}-scheme-medium BuildRequires: autoconf BuildRequires: automake BuildRequires: bison BuildRequires: cairo BuildRequires: cairo-devel BuildRequires: dejavu BuildRequires: dialog BuildRequires: ed BuildRequires: expat BuildRequires: fdupes BuildRequires: fftw3-devel BuildRequires: flex BuildRequires: freeglut-devel BuildRequires: freetype2-devel BuildRequires: gc-devel BuildRequires: gcc-c++ BuildRequires: gd-devel BuildConflicts: ghostscript-mini BuildRequires: %{name}-filesystem BuildRequires: Mesa-libglapi-devel BuildRequires: ghostscript-devel BuildRequires: ghostscript-library BuildRequires: glibc-devel BuildRequires: graphite2-devel BuildRequires: gsl-devel %if 0%{?suse_version} > 1550 BuildRequires: harfbuzz-devel >= 7.1 %endif BuildRequires: jpeg BuildRequires: libOSMesa-devel %if 0%{?suse_version} > 1550 BuildRequires: libicu-devel >= 72.1 %endif BuildRequires: libjpeg-devel BuildRequires: libopenssl-devel BuildRequires: libpaper-devel BuildRequires: libpng-devel BuildRequires: libsigsegv-devel BuildRequires: libtool BuildRequires: libxml2-devel BuildRequires: libxslt-devel BuildRequires: makeinfo BuildRequires: mpfr-devel BuildRequires: ncurses-devel BuildRequires: netpbm BuildRequires: pango-devel BuildRequires: pango-tools BuildRequires: potrace-devel BuildRequires: pwdutils BuildRequires: readline-devel BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glew) #BuildRequires: pkgconfig(glm) BuildRequires: glm-devel BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(gsl) BuildConflicts: texinfo BuildRequires: unzip BuildRequires: xaw3d-devel BuildRequires: xz BuildRequires: zip BuildRequires: zlib-devel BuildRequires: zziplib-devel BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xaw7) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xmu) BuildRequires: pkgconfig(xpm) BuildRequires: pkgconfig(xt) %if %{with buildbiber} #BuildRequires: perl-base >= 5.32.0 BuildRequires: perl-base >= 5.26.1 BuildRequires: perl(autovivification) #BuildRequires: perl(Business::ISBN) BuildRequires: perl-Business-ISBN >= 3.005 BuildRequires: perl-Business-ISBN-Data >= 20191107 BuildRequires: perl(Business::ISMN) BuildRequires: perl(Business::ISSN) BuildRequires: perl(Class::Accessor) BuildRequires: perl(Class::Factory::Util) BuildRequires: perl(Config::AutoConf) >= 0.15 BuildRequires: perl(Data::Compare) BuildRequires: perl(Data::Dump) BuildRequires: perl(Data::Uniqid) BuildRequires: perl(Date::Simple) BuildRequires: perl(DateTime) BuildRequires: perl(DateTime::Calendar::Julian) BuildRequires: perl(DateTime::Format::Builder) BuildRequires: perl(DateTime::Format::Strptime) BuildRequires: perl(Encode::EUCJPASCII) BuildRequires: perl(Encode::HanExtra) BuildRequires: perl(Encode::JIS2K) BuildRequires: perl(ExtUtils::LibBuilder) >= 0.02 BuildRequires: perl(File::Slurp::Unicode) BuildRequires: perl(File::Slurper) BuildRequires: perl(File::Which) BuildRequires: perl(IO::String) BuildRequires: perl(IPC::Cmd) BuildRequires: perl(IPC::Run3) BuildRequires: perl(LWP::Protocol::https) BuildRequires: perl(LWP::Simple) BuildRequires: perl(LWP::UserAgent) BuildRequires: perl(Lingua::Translit) >= 0.28 BuildRequires: perl(List::AllUtils) BuildRequires: perl(List::MoreUtils) >= 0.407 BuildRequires: perl(List::MoreUtils::XS) BuildRequires: perl(Log::Log4perl) BuildRequires: perl(Module::Build) >= 0.38 BuildRequires: perl(Package::DeprecationManager) BuildRequires: perl(Params::Util) BuildRequires: perl(Parse::RecDescent) BuildRequires: perl(PerlIO::utf8_strict) BuildRequires: perl(Readonly::XS) BuildRequires: perl(Regexp::Common) BuildRequires: perl(Sort::Key) BuildRequires: perl(Sub::Install) BuildRequires: perl(Test::Differences) BuildRequires: perl(Test::More) BuildRequires: perl(Test::Pod) >= 1.22 BuildRequires: perl(Test::Pod::Coverage) >= 1.08 BuildRequires: perl(Text::BibTeX) >= 0.88 BuildRequires: perl(Text::CSV) BuildRequires: perl(Text::CSV_XS) BuildRequires: perl(Text::Roman) BuildRequires: perl(Unicode::Collate) >= 1.29 BuildRequires: perl(Unicode::GCString) BuildRequires: perl(Unicode::LineBreak) >= 2019.001 BuildRequires: perl(Unicode::Normalize) >= 1.26 BuildRequires: perl(XML::LibXML) >= 1.70 BuildRequires: perl(XML::LibXML::Simple) BuildRequires: perl(XML::LibXSLT) BuildRequires: perl(XML::Writer::String) %endif # Download at ftp://tug.org/texlive/historic/%{texlive_version}/ Source0: %{texlive_source}.tar.xz Source1: https://github.com/plk/biber/archive/refs/tags/v%{biber_version}.tar.gz#/biber-%{biber_version}.tar.gz Source2: biblatex-biber-ms.tar.gz %if %{with luametatex} Source3: luametatex-230310.tar.xz %endif Source4: cnf-to-paths.awk Source30: texlive-rpmlintrc Source50: public.c Source51: public.8 @@SOURCES@@ Patch0: source.dif Patch1: source-configure.dif Patch2: source-xdvizilla.dif Patch3: source-arraysubs.dif Patch4: source-decNumber.dif Patch5: source-texdoc.dif Patch6: source-dviutils.dif Patch8: source-psutils.dif Patch11: source-lacheck.dif Patch12: source-warns.dif Patch13: source-x11r7.dif Patch17: source-64.dif Patch18: source-a2ping.dif Patch19: source-dvipng.dif Patch21: source-ppc64.dif # PATCH-FIX-SUSE Make biber work with our perl Patch42: biblatex-encoding.dif Patch43: biblatex-ms-encoding.dif # PATCH-FIX-SUSE Old problem back: we do not use internal Certs! Patch44: biber-certs.dif Patch45: biblatex-ms-missing.dif # PATCH-FIX-SUSE Make biber work with perl 5.18.2 Patch47: biber-perl-5.18.2.dif # Patch50: luametatex.dif # PATCH-SECURITY: VUL-0: CVE-2023-32700: texlive: Arbitrary code execution in LuaTeX Patch51: source-luatex.dif # PATCH-FIX-SUSE Let it build even without ls-R files around Patch62: source-psutils-kpathsea.dif # Missed luajit fix for ppc/ppc64/ppc64le and riscv64 # PATCH-FIX-SUSE Support luajit fix for arm64 Patch106: 0006-Fix-register-allocation-bug-in-arm64.patch Prefix: %{_bindir} %define add_optflags(a:f:t:p:w:W:d:g:O:A:C:D:E:H:i:M:n:P:U:u:l:s:X:B:I:L:b:V:m:x:c:S:E:o:v:) \ %global optflags %{optflags} %{**} %{expand: %%global options %(mktemp /tmp/texlive-opts.XXXXXXXX)} %global _varlib %{_localstatedir}/lib %define libexec %(rpm --eval '%%{_libexecdir}' | sed 's-/usr--g') %define libexecdir ${prefix}%{libexec} %define _texmfdistdir %{_datadir}/texmf %if 0%{texlive_version} >= 2013 %define _texmfmaindir %{_texmfdistdir} %define _texmfdirs %{_texmfdistdir} %else %define _texmfmaindir %{_libexecdir}/texmf %define _texmfdirs \{%{_texmfdistdir},%{_texmfmaindir}\} %endif %define _texmfconfdir %{_sysconfdir}/texmf %define _texmfvardir %{_varlib}/texmf %define _texmfcache %{_localstatedir}/cache/texmf %define _fontcache %{_texmfcache}/fonts # %define _x11bin %{_prefix}/bin %define _x11lib %{_libdir} %define _x11data %{_datadir}/X11 %define _x11inc %{_includedir} %define _appdefdir %{_x11data}/app-defaults # %define texgrp mktex %define texusr mktex #define texgid 505 #define texuid 505 # %description After installing texlive and the package texlive-latex, find a large selection of documentation for TeX, LaTeX, and various layout styles in /usr/share/texmf/doc. TeX (pronounced tech) is an interpreter for text formatting and was developed by Donald E. Knuth. It works with control and macro commands on a text file. Working with TeX is similar to typesetting methods. LaTeX is a complex macro package that removes the cryptical TeX interface and does most of the work for the user. TeX uses special fonts produced by the MetaFont program. Various printer drivers and an X11 viewer are also included in this package. The teTeX package is based on the standard TeX package of Karl Berry, which makes configuration much easier. It is also possible to use PostScript fonts. A real PostScript printer is required, however. If the ghostscript (gs) package is installed, all drivers for printing and viewing can use these fonts. Note, however, that the fonts included in the ghostscript package are not identical to Adobe's PostScript fonts. The copyright prohibids us to include them on the CD. Besides these features, the programs MakeIndex (for producing indexes) and BibTeX (for literature data processing) exist. The texlive package includes a full texmf tree, many programs like tex, dvips, etc., shell script configuration, and a big collection of documentations. This package is easily configured by the script texconfig and has multilanguage options. @@PACKAGES@@ %package -n libkpathsea6 Version: @@KPSEVERSION@@ Release: 0 Summary: Path searching library for TeX-related files License: LGPL-2.1-or-later Group: System/Libraries URL: https://www.tug.org/texlive/ Prefix: %{_libdir} %description -n libkpathsea6 Kpathsea is a library and utility programs which provide path searching facilities for TeX file types, including the self- locating feature required for movable installations, layered on top of a general search mechanism. It is not distributed separately, but rather is released and maintained as part of the TeX-live sources. %package -n %{name}-kpathsea-devel Version: @@KPSEVERSION@@ Release: 0 Summary: Path searching library for TeX-related files License: LGPL-2.1-or-later Group: Development/Libraries/C and C++ URL: https://www.tug.org/texlive/ Requires: libkpathsea6 = @@KPSEVERSION@@ %description -n %{name}-kpathsea-devel Kpathsea is a library and utility programs which provide path searching facilities for TeX file types, including the self- locating feature required for movable installations, layered on top of a general search mechanism. It is not distributed separately, but rather is released and maintained as part of the TeX-live sources. %package -n libptexenc1 Version: @@PTEXENCVERSION@@ Release: 0 Summary: Libraries of Kanji code convert library for pTeX License: BSD-3-Clause Group: System/Libraries URL: https://www.tug.org/texlive/ Prefix: %{_libdir} %description -n libptexenc1 The ptexenc is a useful library for Japanese pTeX (which stands for publishing TeX, and is an extension of TeX by ASCII Co.) and its surrounding tools. %package -n %{name}-ptexenc-devel Version: @@PTEXENCVERSION@@ Release: 0 Summary: Libraries of Kanji code convert library for pTeX License: BSD-3-Clause Group: Development/Libraries/C and C++ URL: https://www.tug.org/texlive/ Requires: libptexenc1 = @@PTEXENCVERSION@@ %description -n %{name}-ptexenc-devel This package includes the ptexenc development files. The ptexenc is a useful library for Japanese pTeX (which stands for publishing TeX, and is an extension of TeX by ASCII Co.) and its surrounding tools. %package -n libsynctex2 Version: @@SYNCTEXVERSION@@ Release: 0 Summary: Libraries of The Synchronization TeXnology License: MIT Group: System/Libraries URL: https://www.tug.org/texlive/ Prefix: %{_libdir} %description -n libsynctex2 The Synchronization TeXnology by Jérôme Laurens is a new feature of recent TeX engines. It allows to synchronize between input and output, which means to navigate from the source document to the typeset material and vice versa. %package -n %{name}-synctex-devel Version: @@SYNCTEXVERSION@@ Release: 0 Summary: Libraries of The Synchronization TeXnology License: MIT Group: Development/Libraries/C and C++ URL: https://www.tug.org/texlive/ Requires: libsynctex2 = @@SYNCTEXVERSION@@ %description -n %{name}-synctex-devel This package includes the synctex development files. The Synchronization TeXnology by Jérôme Laurens is a new feature of recent TeX engines. It allows to synchronize between input and output, which means to navigate from the source document to the typeset material and vice versa. %package -n libtexlua53-5 Version: @@TEXLUAVERSION53@@ Release: 0 Summary: Libraries of an extended version of pdfTeX using Lua License: MIT Group: System/Libraries URL: https://www.tug.org/texlive/ Prefix: %{_libdir} %description -n libtexlua53-5 LuaTeX is an extended version of pdfTeX using Lua as an embedded scripting language %package -n %{name}-texlua-devel Version: @@TEXLUAVERSION53@@ Release: 0 Summary: Libraries of an extended version of pdfTeX using Lua License: MIT Group: Development/Libraries/C and C++ URL: https://www.tug.org/texlive/ Requires: libtexlua53-5 = @@TEXLUAVERSION53@@ %description -n %{name}-texlua-devel This package includes the luatex development files. LuaTeX is an extended version of pdfTeX using Lua as an embedded scripting language %if %{with LuaJIT} %package -n libtexluajit2 Version: @@TEXLUAJITVERSION@@ Release: 0 Summary: Libraries of Just-In-Time compiler for Lua License: MIT Group: System/Libraries URL: https://www.tug.org/texlive/ Prefix: %{_libdir} %description -n libtexluajit2 LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language %package -n %{name}-texluajit-devel Version: @@TEXLUAJITVERSION@@ Release: 0 Summary: Libraries of Just-In-Time compiler for Lua License: MIT Group: Development/Libraries/C and C++ URL: https://www.tug.org/texlive/ Requires: libtexlua53-5 = @@TEXLUAVERSION53@@ Requires: libtexluajit2 = @@TEXLUAJITVERSION@@ %description -n %{name}-texluajit-devel This package includes the LuaJIT development files. LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language %endif %package -n %{name}-bin-devel Version: %{texlive_version}.%{texlive_release} Release: 0 Summary: Basic development packages for TeXLive License: BSD-3-Clause AND LGPL-2.1-or-later AND SUSE-TeX Group: Development/Languages/Other URL: https://www.tug.org/texlive/ Requires: libkpathsea6 = @@KPSEVERSION@@ Requires: libptexenc1 = @@PTEXENCVERSION@@ Requires: libsynctex2 = @@SYNCTEXVERSION@@ Requires: libtexlua53-5 = @@TEXLUAVERSION53@@ %if %{with LuaJIT} Requires: libtexluajit2 = @@TEXLUAJITVERSION@@ %endif Requires: texlive-cweb-bin >= %{texlive_version} Requires: texlive-web-bin >= %{texlive_version} %description -n %{name}-bin-devel This package will cause the installation of several development packages for TeXLive. %if %{with buildbiber} %package -n perl-biber Version: %{biber_version} Release: 0 Summary: Library files of Biber a BibTeX replacement License: LPPL-1.0 Group: Productivity/Publishing/TeX/Utilities URL: https://biblatex-biber.sourceforge.net/ Recommends: perl(Readonly::XS) Requires: perl-base = %{perl_version} Requires: perl(Business::ISBN) >= 3.005 Requires: perl(Business::ISMN) Requires: perl(Business::ISSN) Requires: perl(Class::Accessor) Requires: perl(Data::Compare) Requires: perl(Data::Dump) Requires: perl(Data::Uniqid) Requires: perl(Date::Simple) Requires: perl(DateTime) Requires: perl(DateTime::Calendar::Julian) Requires: perl(DateTime::Format::Builder) Requires: perl(DateTime::TimeZone) Requires: perl(Encode::EUCJPASCII) Requires: perl(Encode::HanExtra) Requires: perl(Encode::JIS2K) Requires: perl(File::Slurp) Requires: perl(File::Slurp::Unicode) Requires: perl(File::Slurper) Requires: perl(IPC::Cmd) Requires: perl(IPC::Run3) Requires: perl(LWP::Protocol::https) Requires: perl(LWP::Simple) Requires: perl(List::AllUtils) Requires: perl(List::MoreUtils) Requires: perl(Log::Log4perl) Requires: perl(Regexp::Common) Requires: perl(Sort::Key) Requires: perl(Text::BibTeX) >= 0.88 Requires: perl(Text::CSV) Requires: perl(Text::Roman) Requires: perl(URI) Requires: perl(Unicode::Collate) >= 1.29 Requires: perl(Unicode::GCString) Requires: perl(XML::LibXML) >= 1.70 Requires: perl(XML::LibXML::Simple) Requires: perl(XML::LibXSLT) Requires: perl(XML::Writer) Requires: perl(autovivification) Prefix: %{_bindir} BuildArch: noarch %description -n perl-biber Perl library files of Biber a BibTeX replacement for users of BibLaTeX. This package is required by the package texlive-biber-bin. %endif %prep %define _lto_cflags %{nil} OS=%{_target_os} CPU=%{_target_cpu} %ifarch ia64 RPM_OPT_FLAGS=$(echo "${RPM_OPT_FLAGS}"|sed -r 's/-O[0-9]?/-O1/g') %endif %ifarch %arm RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-mthumb/-mthumb-interwork -marm} %endif CC=gcc CXX=g++ XCFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE" XCXXFLAGS="$XCFLAGS -include cstdint" cflags () { local flag=$1; shift || return local cvar=$1; shift || return local xvar=$1; shift || true if test -z "${flag}" ; then return fi case "$flag" in -Wl,*) if test -z "${cvar}" ; then return fi case "${!cvar}" in *${flag}*) return esac if echo 'int main () { return 0; }' | ${CC:-gcc} -Werror $flag -o /dev/null -xc - ; then eval $cvar=\${$cvar:+\$$cvar\ }$flag fi ;; *) if test -z "${cvar}" ; then return fi case "${!cvar}" in *${flag}*) ;; *) if ${CC:-gcc} -Werror $flag -S -o /dev/null -xc /dev/null ; then eval $cvar=\${$cvar:+\$$cvar\ }$flag fi esac if test -z "${xvar}" ; then return fi case "${!xvar}" in *${flag}*) ;; *) if ${CXX:-g++} -Werror $flag -S -o /dev/null -xc++ /dev/null ; then eval $xvar=\${$xvar:+\$$xvar\ }$flag fi esac esac > /dev/null 2>&1 } cflags -std=gnu99 XCFLAGS cflags -fno-const-strings XCFLAGS XCXXFLAGS cflags -fno-strict-aliasing XCFLAGS XCXXFLAGS cflags -fPIC XCFLAGS XCXXFLAGS cflags -Wno-write-strings XCFLAGS XCXXFLAGS cflags -Wno-char-subscripts XCFLAGS XCXXFLAGS cflags -Wno-unused XCFLAGS XCXXFLAGS cflags -Wno-uninitialized XCFLAGS XCXXFLAGS cflags -Wno-return-type XCFLAGS XCXXFLAGS cflags -Wno-parentheses XCFLAGS XCXXFLAGS cflags -Wno-sign-compare XCFLAGS XCXXFLAGS cflags -Wno-unprototyped-calls XCFLAGS cflags -pipe XCFLAGS XCXXFLAGS cflags -Wl,-O2 XLDFLAGS cflags -Wl,--as-needed XLDFLAGS cflags -Wl,--hash-size=8599 XLDFLAGS cflags -Wl,-warn-common XLDFLAGS cflags -Wl,-Bsymbolic-functions XLDFLAGS # Unicode cflags -DDECDPUN=1 XCFLAGS cflags -DDECNUMDIGITS=3 XCFLAGS # XCXXFLAGS="${XCXXFLAGS/-Wno-unprototyped-calls/}" HOST=%{_target_cpu}-suse-%{_host_os} BUILD=%{_target_cpu}-suse-%{_build_os} BINARY=${CPU}-${OS} VENDOR="%{vendor}" VENDOR="${VENDOR%%%%,*}" # Generate the Options file exec 6>&1 exec 1>|%{options} # On error clear trap 'rm -vf %{options}' ERR # Disable MALLOC_PERTURB_ # echo unset MALLOC_PERTURB_ # System wide configuration echo CPU=\"$CPU\" echo BINARY=\"${BINARY%%-gnu*}\" echo XCFLAGS=\"$XCFLAGS\" echo XCXXFLAGS=\"$XCXXFLAGS\" echo XLDFLAGS=\"$XLDFLAGS\" echo HOST=\"${HOST%%-gnu*}\" echo BUILD=\"${BUILD%%-gnu*}\" echo export XCFLAGS XCXXFLAGS XLDFLAGS HOST BUILD BINARY # Do not include e.g. from manual build echo unset TEXINPUTS TEXMF HOME # Use a well defined multi byte locale echo unset ${!LC_*} if test -d /usr/lib/locale/C.utf8 then echo LANG=C.UTF-8 echo LC_CTYPE=C.UTF-8 else echo LANG=POSIX echo LC_CTYPE=en_US.UTF-8 fi echo export LANG LC_CTYPE # Environment for configuration echo CONFIG_SHELL=/bin/bash echo CC=\"$CC\" echo CXX=\"$CXX\" echo CFLAGS=\"$XCFLAGS\" echo CXXFLAGS=\"$XCXXFLAGS\" echo LDFLAGS=\"-Wl,-warn-common $XLDFLAGS\" echo VENDOR=\"${VENDOR}\" echo ARCH_LIB=%{_lib} echo export CC CXX CFLAGS CXXFLAGS LDFLAGS VENDOR PATH CONFIG_SHELL ARCH_LIB # Do not run TeX engine in fmtutil with batchmode echo batchmode=no echo export batchmode %ifnarch hppa echo ulimit -s unlimited %else # This is the maximum on hppa echo ulimit -s 81920 %endif exec 1>&6- %setup -c -q -n texlive -T tar --strip-components=1 -xf %{SOURCE0} %if %{with buildbiber} pushd ../ tar xf %{SOURCE1} popd pushd ../ tar xf %{SOURCE2} popd %endif %if %{with luametatex} pushd ../ tar -xf %{SOURCE3} popd %endif %patch -P1 -p0 -b .configure %patch -P2 -p0 -b .xdvizilla %patch -P3 -p0 -b .arraysubs %patch -P4 -p0 -b .unicode %patch -P5 -p0 -b .texdoc %patch -P6 -p0 -b .dviutils %patch -P8 -p0 -b .psutils %patch -P11 -p0 -b .lacheck %patch -P12 -p0 -b .warns %patch -P13 -p0 -b .x11r7 %patch -P17 -p0 -b .64 %patch -P18 -p0 -b .a2p %patch -P19 -p0 -b .dvipng %patch -P21 -p0 -b .ppcelf pushd libs/luajit/LuaJIT-src/ #Missed patch ppc and risc %patch -P106 -p1 -b .arm64 popd %patch -P0 -p0 -b .p0 %if %{with luametatex} pushd ../luametatex* %patch -P50 -p0 -b .unicode popd %endif %patch -P51 %if %{with buildbiber} pushd ../biber-*/ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . %patch -P42 -p0 -b .en %patch -P44 -p0 -b .noica %if 0%{perl_versnum} < 5200 %patch -P47 -p0 -b .518 %endif rm -vf bin/biber.noica rm -vf t/*.fastsort popd pushd ../biblatex-biber-*/ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . %patch -P43 -p0 -b .en %patch -P44 -p0 -b .noica %patch -P45 -p0 -b .missing %if 0%{perl_versnum} < 5200 %patch -P47 -p0 -b .518 %endif rm -vf bin/biber.noica rm -vf t/*.fastsort popd %endif %patch -P62 -p0 -b .kpserr # Correct FHS paths paths=$(find -name cnf-to-paths.awk) test -n "$paths" || exit 1 cp -vf %{S:4} $paths %build # Extend the options file echo "world=${PWD}/world" >> %{options} echo "prefix=${PWD}/prefix" >> %{options} echo "texmfcnf=${PWD}/texk/kpathsea" >> %{options} # Read the options file . %{options} if test -d /usr/include/unicode -a -d /usr/include/harfbuzz && \ grep -qrs UBLOCK_LATIN_EXTENDED_F /usr/include/unicode then icu[0]='--with-system-icu' icu[1]='--with-system-harfbuzz' else icu[0]='--without-system-icu' icu[1]='--without-system-harfbuzz' fi # Wrong version string sed -ri '/m4_define.*tex_live_version/{s@[0-9]+/dev@%{texlive_version}@}' version.ac for rp in $(find -name configure) ; do sed -ri '/(Web2C|STRING|VERSION)/{s@[0-9]+/dev@%{texlive_version}@}' $rp done for rp in $(find -name configure.ac) ; do sed -ri 's/KPSE_WIN32_CALL/KPSE_COND_WIN32/' $rp done # Avoid -rpath as libtool is not configurable at this point for rp in $(find -name libtool.m4 -or -name configure) ; do sed -ri 's/(-rpath)/\1-link/g' $rp done LD_LIBRARY_PATH=${prefix}/%{_lib}:${world}/texk/kpathsea/.libs:${world}/texk/ptexenc/.libs export LD_LIBRARY_PATH # We have an other autoconf/automake version and some patch changing ac files ./reautoconf . libs/gd libs/icu/dummy texk/dvipdfm-x texk/dvipng texk/dvisvgm \ texk/ttf2pk2 texk/web2c texk/web2c/web2c texk/xdvik if [[ $VENDOR =~ opensuse ]] ; then banner='for opensuse.org' else banner='for SUSE Linux' fi # # Avoid win32 Makefile # find -name configure | xargs sed -ri '/(CONFIG_FILES|ac_config_files)=/ { s@[[:blank:]]+(otps/|)win32/Makefile@@p; }' find -name config.status | xargs -r rm -vf # # The (up)mendex unsigned character sort does not work on non-Intel boxes # sed -ri '/^CFLAGS/{ s/$/ -fsigned-char/ }' texk/mendexk/Makefile.in sed -ri '/^CFLAGS/{ s/$/ -fsigned-char/ }' texk/upmendex/Makefile.in # Run configure now ... no reautoconf here as TeX Live uses modified m4 macros # longinteger and off_t declarations are still inconsistent, do not enable # largefile unless you are testing. # Default to building ICU without thread support, since xetex does not need it. cache=$PWD/config.cache mkdir -p ${world} pushd ${world}/ STRIP=/bin/true \ STRIPPROG=/bin/true \ ../configure \ --host=${HOST} \ --build=${BUILD} \ --enable-fast-install=no \ --disable-native-texlive-build \ --disable-cxx-runtime-hack \ --cache-file=$cache \ --disable-multiplatform \ --prefix=$prefix \ --datadir=$prefix \ --datarootdir=$prefix \ --exec-prefix=$prefix \ --bindir=$prefix/bin \ --libdir=$prefix/%{_lib} \ --infodir=$prefix/share/info \ --mandir=$prefix/share/man \ --sysconfdir=$prefix/etc \ --localstatedir=$prefix/var/lib \ --sharedstatedir=$prefix/var/lib \ --includedir=$prefix/include \ --x-libraries=%{_x11lib} \ --x-includes=%{_x11inc} \ --disable-cxx-runtime-hack \ --disable-texinfo \ --disable-texi2html \ --disable-dialog \ --disable-t1utils \ --disable-dvi2tty \ --disable-xindy \ --disable-xindy-docs \ --disable-xindy-rules \ --disable-xz \ --disable-largefile \ --disable-threads \ --%{!?with_psutils:disable}%{?with_psutils:enable}-psutils \ --%{!?with_lcdf_typetools:disable}%{?with_lcdf_typetools:enable}-lcdf-typetools \ --enable-freetype \ --enable-musixflx \ --enable-lacheck \ --enable-detex \ --enable-seetexk \ --enable-tex4htk \ --enable-shared \ %if %{with LuaJIT} --enable-luajittex \ --enable-luajithbtex \ --enable-mfluajit \ %else --disable-luajittex \ --disable-luajithbtex \ --disable-mfluajit \ %endif --with-gnu-ld \ --with-gnu-libc \ --with-system-xz \ --with-system-dialog \ --with-system-t1utils \ --with-system-ncurses \ --with-system-zlib \ --with-system-expat \ --with-system-unzip \ --with-system-libpng \ --with-system-pnglib \ --with-system-gd \ --with-system-zziplib \ --with-system-libgs \ --with-system-freetype2 \ --with-freetype2-includes=%{_includedir}/freetype2 \ --with-system-cairo \ --with-system-includes=%{_includedir}/cairo \ --with-system-mpfr \ --with-system-graphite2 \ --with-system-potrace \ --with-system-libpaper \ --with-banner-add="/TeX Live $banner" \ ${icu[0]:+"${icu[@]}"} \ --enable-epsfwin \ --enable-mftalkwin \ --enable-regiswin \ --enable-tektronixwin \ --enable-unitermwin \ --with-ps=gs \ --with-x \ --with-mf-x-toolkit \ --with-xdvi-x-toolkit=xaw3d \ --with-editor='vi +%%d %%s' testsuite () { test -s ${world}/texk/bibtex-x/test-suite.log || return cat ${world}/texk/bibtex-x/test-suite.log for log in ${world}/texk/bibtex-x/tests/*.log do echo $log cat $log done rm -vf %{options} } trap "testsuite" ERR PATH=$prefix/bin:$PATH \ TEXMFLOCAL=%{_texmfmaindir} \ TEXMFCNF=$texmfcnf \ make %{?_smp_mflags} world STRIP=/bin/true STRIPPROG=/bin/true trap 'rm -vf %{options}' ERR popd pushd utils/asymptote autoreconf (cat>libOSMesa.so)<<-'EOF' /* GNU ld script */ INPUT(%{_libdir}/libOSMesa.so AS_NEEDED(-lglapi)) EOF %if 0%{?suse_version} <= 1350 sed -ri '/^namespace camp \{/{ s/$/ using glm::value_ptr;/; }' glrender.cc %endif PATH=$prefix/bin:$PATH \ TEXMFLOCAL=%{_texmfmaindir} \ TEXMFCNF=$texmfcnf \ STRIP=/bin/true \ STRIPPROG=/bin/true \ LDFLAGS="$LDFLAGS -L$PWD" \ CFLAGS="${CFLAGS/-Wno-unprototyped-calls/}" \ CXXFLAGS="${CXXFLAGS/-Wno-unprototyped-calls/}" \ %if 0%{?suse_version} <= 1350 CFLAGS="${CFLAGS/-std=gnu99/-std=gnu++11} -DGLM_FORCE_RADIANS" \ CXXFLAGS="${CXXFLAGS/-std=gnu99/-std=gnu++11} -DGLM_FORCE_RADIANS" \ %else CFLAGS="${CFLAGS/-std=gnu99/}" \ CXXFLAGS="${CXXFLAGS/-std=gnu99/}" \ %endif ./configure \ --host=${HOST} \ --build=${BUILD} \ --prefix=%{_prefix} \ --bindir=%{_bindir} \ --libdir=%{_libdir} \ --datadir=%{_texmfmaindir} \ --disable-texlive-build \ --enable-offscreen \ --enable-readline \ --enable-gsl \ --enable-fftw \ --enable-gc=system \ --enable-gl make asy mkdir -p ${prefix}/bin mkdir -p ${prefix}/texmf/asymptote/GUI install -m 0755 asy ${prefix}/bin/ install -m 0755 GUI/xasy.py ${prefix}/texmf/asymptote/GUI ln -sf ../texmf/asymptote/GUI/xasy.py ${prefix}/bin/xasy popd # compile public mkdir -p %{libexecdir}/mktex $CC ${RPM_OPT_FLAGS} -D_GNU_SOURCE -DTEXGRP='"%{texgrp}"' -DTEXUSR='"%{texusr}"' -DMKTEX='"%{_libexecdir}/mktex"' -fPIE -pie -o %{libexecdir}/mktex/public %{S:50} # install our own scripts mkdir -p ${prefix}/bin install -m 0755 texk/seetexk/a4toa5 ${prefix}/bin/ install -m 0755 texk/seetexk/mydvichk ${prefix}/bin/ install -m 0755 texk/seetexk/odd2even ${prefix}/bin/ %if %{with LuaJIT} echo "Luaji is supported on this platform" %else for broken in luajittex texluajit texluajitc luajithbtex luajittex texluajit texluajitc do test ! -x ${prefix}/bin/$broken || continue (cat>${prefix}/bin/$broken)<<-'EOF' #!/bin/sh echo "${0}: is not supported on $(uname -m)" 1>&2 echo "${0}: Report at https://github.com/LuaJIT/LuaJIT/issues/42" 1>&2 exit 1 EOF chmod 0755 ${prefix}/bin/$broken unset broken done %endif # install perl modules mkdir -p ${prefix}/share/texmf/tlpkg/TeXLive install -m 0644 texk/tests/TeXLive/TLConfig.pm ${prefix}/share/texmf/tlpkg/TeXLive/ install -m 0644 texk/tests/TeXLive/TLUtils.pm ${prefix}/share/texmf/tlpkg/TeXLive/ %if %{with luametatex} pushd ../luametatex* %cmake \ -DVERBOSE=ON \ -DCMAKE_C_COMPILER=gcc \ -DCMAKE_STRIP:FILEPATH=/bin/true \ -DCMAKE_CXX_COMPILER=g++ cmake --build . --parallel %{?_smp_mflags} popd %endif %if %{with buildbiber} # dump a biber executable pushd ../biber-*/ find -name '*.ca' | xargs -r rm -vf if test "$(getconf LONG_BIT)" -lt 64 ; then sed -ri '/eq_or_diff.*(17000002|era[1234]|range[12])/{s@.*@eq_or_diff("dummy", "dummy", "skipped on 32bit");@}' t/dateformats.t fi LANG=en_US.UTF-8 %{__perl} ./Build.PL installdirs=vendor optimize="$RPM_OPT_FLAGS" LANG=en_US.UTF-8 ./Build build flags=%{?_smp_mflags} # There is no network here rm t/remote-files.t LANG=en_US.UTF-8 \ BIBER_DEV_TESTS=1 \ ./Build test popd pushd ../biblatex-biber-*/ find -name '*.ca' | xargs -r rm -vf if test "$(getconf LONG_BIT)" -lt 64 ; then sed -ri '/eq_or_diff.*(17000002|era[1234]|range[12])/{s@.*@eq_or_diff("dummy", "dummy", "skipped on 32bit");@}' t/dateformats.t fi LANG=en_US.UTF-8 %{__perl} ./Build.PL installdirs=vendor optimize="$RPM_OPT_FLAGS" LANG=en_US.UTF-8 ./Build build flags=%{?_smp_mflags} # There is no network here rm t/remote-files.t LANG=en_US.UTF-8 \ BIBER_DEV_TESTS=1 \ ./Build test popd %endif %install # Read the options file . %{options} mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_libdir}/pkgconfig mkdir -p %{buildroot}%{_includedir} mkdir -p %{buildroot}%{_infodir} mkdir -p %{buildroot}%{_libexecdir}/mktex mkdir -p %{buildroot}%{_mandir} mkdir -p %{buildroot}%{_mandir}/man1 mkdir -p %{buildroot}%{_mandir}/man5 mkdir -p %{buildroot}%{_mandir}/man8 mkdir -p %{buildroot}%{_texmfmaindir} mkdir -p %{buildroot}%{_texmfdistdir} mkdir -p %{buildroot}%{_texmfconfdir}/dvipdfm/config mkdir -p %{buildroot}%{_texmfconfdir}/dvipdfmx mkdir -p %{buildroot}%{_texmfconfdir}/dvips/config mkdir -p %{buildroot}%{_texmfconfdir}/scripts/urlbst mkdir -p %{buildroot}%{_texmfconfdir}/scripts/match_parens mkdir -p %{buildroot}%{_texmfconfdir}/scripts/mf2pt1 mkdir -p %{buildroot}%{_texmfconfdir}/tex/amstex/base mkdir -p %{buildroot}%{_texmfconfdir}/tex/generic/config mkdir -p %{buildroot}%{_texmfconfdir}/tex/lambda/config mkdir -p %{buildroot}%{_texmfconfdir}/tex/mex/base mkdir -p %{buildroot}%{_texmfconfdir}/tex/plain/cyrplain mkdir -p %{buildroot}%{_texmfconfdir}/web2c mkdir -p %{buildroot}%{_texmfconfdir}/xdvi mkdir -p %{buildroot}%{_texmfvardir} mkdir -p %{buildroot}%{_texmfvardir}/dist mkdir -p %{buildroot}%{_texmfvardir}/fonts mkdir -p %{buildroot}%{_texmfvardir}/fonts/dvipdfm mkdir -p %{buildroot}%{_texmfvardir}/fonts/dvips mkdir -p %{buildroot}%{_texmfvardir}/fonts/pdftex mkdir -p %{buildroot}%{_texmfvardir}/main mkdir -p %{buildroot}%{_texmfvardir}/md5 mkdir -p %{buildroot}%{_texmfvardir}/web2c mkdir -p %{buildroot}%{_texmfvardir}/web2c/aleph mkdir -p %{buildroot}%{_texmfvardir}/web2c/eptex mkdir -p %{buildroot}%{_texmfvardir}/web2c/luatex mkdir -p %{buildroot}%{_texmfvardir}/web2c/metafont mkdir -p %{buildroot}%{_texmfvardir}/web2c/pdftex mkdir -p %{buildroot}%{_texmfvardir}/web2c/ptex mkdir -p %{buildroot}%{_texmfvardir}/web2c/tex mkdir -p %{buildroot}%{_texmfvardir}/web2c/xetex mkdir -p %{buildroot}%{_texmfcache} mkdir -p %{buildroot}%{_fontcache} mkdir -p %{buildroot}%{_fontcache}/pk mkdir -p %{buildroot}%{_fontcache}/source mkdir -p %{buildroot}%{_fontcache}/tfm mkdir -p %{buildroot}%{_appdefdir} mkdir -p %{buildroot}/var/adm/update-scripts pushd ${prefix}/bin/ tar -cpSf - . | tar -xvspSf - -C %{buildroot}%{_bindir}/ rm -vf %{buildroot}%{_bindir}/tlmgr rm -vf %{buildroot}%{_bindir}/tlshell rm -vf %{buildroot}%{_bindir}/installfont-tl rm -vf %{buildroot}%{_bindir}/tlcockpit popd pushd ${prefix}/%{_lib}/ tar -cpSf - *.so* | tar -xvspSf - -C %{buildroot}%{_libdir}/ popd pushd %{libexecdir}/ tar -cpSf - mktex | tar -xvspSf - -C %{buildroot}%{_libexecdir}/ popd pushd ${prefix}/share/texmf tar -cpSf - tlpkg | tar -xvspSf - -C %{buildroot}%{_texmfdistdir}/ popd pushd ${prefix}/include/ tar -cpSf - . | tar -xvspSf - -C %{buildroot}%{_includedir}/ popd pushd ${prefix}/share/man/ popd %if %{with luametatex} pushd ../luametatex* %cmake_install for exe in context mtxrun do ln -sf luametatex %{buildroot}%{_bindir}/${exe} ln -sf %{_texmfdistdir}/scripts/context/lua/${exe}.lua %{buildroot}%{_bindir}/${exe}.lua done ln -sf %{_texmfdistdir}/scripts/context/lua/mtx-context.lua %{buildroot}%{_bindir}/mtx-context.lua popd %endif # # Biber support # %if %{with buildbiber} pushd ../biblatex-biber-*/ ./Build install destdir=%{buildroot} chmod 0755 %{buildroot}%{_bindir}/biber rm -vf %{buildroot}%{_mandir}/man1/biber.1* chmod 0644 %{buildroot}%{perl_vendorlib}/Biber.pm chmod -R u+rw %{buildroot}%{perl_vendorlib}/Biber mkdir %{buildroot}%{perl_vendorlib}/biber-ms mv %{buildroot}%{perl_vendorlib}/Biber.pm %{buildroot}%{perl_vendorlib}/biber-ms/Biber.pm mv %{buildroot}%{perl_vendorlib}/Biber %{buildroot}%{perl_vendorlib}/biber-ms/Biber mv %{buildroot}%{_bindir}/biber %{buildroot}%{_bindir}/biber-ms if test -d %{buildroot}%{perl_vendorlib}/Unicode/Collate then chmod -R u+rw %{buildroot}%{perl_vendorlib}/Unicode/Collate/* fi rm -vrf %{buildroot}%{perl_vendorarch}/auto rm -vrf %{buildroot}%{_mandir}/man3 %perl_process_packlist %perl_gen_filelist pushd blib install -m 0644 bindoc/biber.1 %{buildroot}%{_mandir}/man1/biber-ms.1 gzip -n9 %{buildroot}%{_mandir}/man1/biber-ms.1 popd sed -ri "/^use warnings;/a\use lib %{perl_vendorlib}/biber-ms;" %{buildroot}%{_bindir}/biber-ms sed -ri '\@/usr/(share|bin)/.*@d' texlive.files popd mv ../biblatex-biber-*/texlive.files perl-biber-ms.files pushd ../biber-*/ ./Build install destdir=%{buildroot} chmod 0755 %{buildroot}%{_bindir}/biber rm -vf %{buildroot}%{_mandir}/man1/biber.1* chmod 0644 %{buildroot}%{perl_vendorlib}/Biber.pm chmod -R u+rw %{buildroot}%{perl_vendorlib}/Biber if test -d %{buildroot}%{perl_vendorlib}/Unicode/Collate then chmod -R u+rw %{buildroot}%{perl_vendorlib}/Unicode/Collate/* fi rm -vrf %{buildroot}%{perl_vendorarch}/auto rm -vrf %{buildroot}%{_mandir}/man3 %perl_process_packlist %perl_gen_filelist pushd blib install -m 0644 bindoc/biber.1 %{buildroot}%{_mandir}/man1/ gzip -n9 %{buildroot}%{_mandir}/man1/biber.1 popd sed -ri '\@/usr/(share|bin)/.*@d' texlive.files popd mv ../biber-*/texlive.files perl-biber.files %else (cat > %{buildroot}%{_bindir}/biber)<<-'EOF' #!/bin/sh echo No biber available due to old perl installation >&2 exit 1 EOF chmod 0755 %{buildroot}%{_bindir}/biber %endif # # Those lines with exclamation mark have to done in the # specific spec files # #! pushd ${prefix}/share/info/ #! tar -cpSf - *.info | tar -xvspSf - -C %{buildroot}%{_infodir}/ #! popd #! pushd ${prefix}/share/man/ #! tar -cpSf - . | tar -xvspSf - -C %{buildroot}%{_mandir}/ #! rm -vf %{buildroot}%{_mandir}/man*/tlmgr* #! rm -vf %{buildroot}%{_mandir}/man*/installfont-tl* #! popd pushd ${prefix}/texmf/ tar -cpSf - . | tar -xvspSf - -C %{buildroot}%{_texmfmaindir}/ rm -vrf %{buildroot}%{_texmfmaindir}/texconfig/g rm -vrf %{buildroot}%{_texmfmaindir}/texconfig/v rm -vrf %{buildroot}%{_texmfmaindir}/texconfig/x rm -vrf %{buildroot}%{_texmfmaindir}/tlpkg/tlpobj rm -vf %{buildroot}%{_texmfmaindir}/texconfig/generic rm -vf %{buildroot}%{_texmfmaindir}/texconfig/README #! mv -vf %{buildroot}%{_texmfmaindir}/dvipdfmx/dvipdfmx.cfg \ #! %{buildroot}%{_texmfconfdir}/dvipdfmx/ #! ln -sf %{_texmfconfdir}/dvipdfmx/dvipdfmx.cfg \ #! %{buildroot}%{_texmfmaindir}/dvipdfmx/ for cnf in %{buildroot}%{_texmfmaindir}/web2c/*.cnf ; do test -e "$cnf" || break mv -vf $cnf %{buildroot}%{_texmfconfdir}/web2c/ ln -sf %{_texmfconfdir}/web2c/${cnf##*/} $cnf done #! mv -vf %{buildroot}%{_texmfmaindir}/xdvi/xdvi.cfg \ #! %{buildroot}%{_texmfconfdir}/xdvi/ #! ln -sf %{_texmfconfdir}/xdvi/xdvi.cfg \ #! %{buildroot}%{_texmfmaindir}/xdvi/ #! mv -vf %{buildroot}%{_texmfmaindir}/xdvi/XDvi \ #! %{buildroot}%{_texmfconfdir}/xdvi/ #! ln -sf %{_texmfconfdir}/xdvi/XDvi \ #! %{buildroot}%{_appdefdir}/ popd pushd ${prefix}/texmf-dist/ tar -cpSf - . | tar -xvspSf - -C %{buildroot}%{_texmfdistdir}/ rm -vrf %{buildroot}%{_texmfdistdir}/texconfig/g rm -vrf %{buildroot}%{_texmfdistdir}/texconfig/v rm -vrf %{buildroot}%{_texmfdistdir}/texconfig/x rm -vrf %{buildroot}%{_texmfdistdir}/tlpkg/tlpobj rm -vf %{buildroot}%{_texmfdistdir}/texconfig/generic rm -vf %{buildroot}%{_texmfdistdir}/texconfig/README for cnf in %{buildroot}%{_texmfdistdir}/web2c/*.cnf ; do test -e "$cnf" || break mv -vf $cnf %{buildroot}%{_texmfconfdir}/web2c/ ln -sf %{_texmfconfdir}/web2c/${cnf##*/} $cnf done popd pushd %{buildroot}%{_bindir}/ # ppower4 (currently) not part of TEX Live rm -f pdfthumb rm -f ppower4 # repair/relocate the script links find -type l -printf '%f\a%l\n' | \ while IFS=$'\a' read dst src; do case "$src" in /*) ;; %if 0%{texlive_version} >= 2013 */texmf/*) ln -vsf ../share/texmf/${src#../texmf/} $dst ;; %else */texmf/*) ln -vsf ../lib/texmf/${src#../texmf/} $dst ;; %endif */texmf-dist/*) ln -vsf ../share/texmf/${src#../texmf-dist/} $dst ;; esac done # set xasy script link %if 0%{texlive_version} >= 2013 ln -vsf ../share/texmf/asymptote/GUI/xasy.py xasy %else ln -vsf ../lib/texmf/asymptote/GUI/xasy.py xasy %endif # some scripts not included in main source tar ball test -e match_parens || ln -vsf ../share/texmf/scripts/match_parens/match_parens match_parens test -e mf2pt1 || ln -vsf ../share/texmf/scripts/mf2pt1/mf2pt1.pl mf2pt1 test -e urlbst || ln -vsf ../share/texmf/scripts/urlbst/urlbst urlbst # set some may missed symbolic links test -e mfplain || ln -vsf mpost mfplain test -e texlua || ln -vsf luatex texlua test -e texluac || ln -vsf luatex texluac test -e texhash || ln -vsf mktexlsr texhash test -e rpdfcrop || ln -vsf pdfcrop rpdfcrop test -e latexdef || ln -vsf texdef latexdef # stolen from texlink script, also added musixtex case sed -r '\@^[[:blank:]]*(#|$)@d;s@\*@@' < $prefix/texmf-dist/web2c/fmtutil.cnf | \ awk '{print $1, $2 }' | while read fmt engine ; do test -f "$engine" || continue case "$fmt" in mf) test "$engine" = mf-nowin -a -f mfw && engine=mfw esac case "$fmt" in cont-??|mptopdf|*musixtex) continue ;; *) test "$fmt" = "$(ls -ld "$fmt" 2> /dev/null | awk '{print $NF}')" || rm -rf "$fmt" test ! -f "$fmt" || continue test "$fmt" = "pdfcsplain" && engine=pdftex ln -vsf "$engine" "$fmt" esac done # our pdfmusixtex extension of the musixtex lua script test -e pdfmusixtex || ln -sf musixtex pdfmusixtex if test ! -e rlxtools ; then printf '#!/bin/sh\nmtxrun --script rlxtools "$@"\n' > rlxtools chmod 755 rlxtools fi %if 0%{texlive_version} >= 2017 # new dviinfox perl script ln -vsf ../share/texmf/scripts/dviinfox/dviinfox.pl dviinfox %endif %if 0%{texlive_version} >= 2018 # new ketcindy wrapper script ln -vsf ../share/texmf/scripts/ketcindy/ketcindy.sh ketcindy %endif %if 0%{texlive_version} >= 2020 # new git-latexdiff wrapper script ln -vsf ../share/texmf/scripts/git-latexdiff/git-latexdiff git-latexdiff # ... and add rungs texlua script as dvipdfmx/dvipdfm require this %if 0%{texlive_version} >= 2023 ln -vsf ../share/texmf/scripts/texlive/rungs.lua rungs rm -vf %{buildroot}%{_texmfdistdir}/scripts/texlive/rungs.lua %else ln -vsf ../share/texmf/scripts/texlive/rungs.tlu rungs rm -vf %{buildroot}%{_texmfdistdir}/scripts/texlive/rungs.tlu %endif %endif popd # clear out all file below texmf tree as this will delivered by texlive tar balls find %{buildroot}%{_texmfdirs} -type f | xargs -r rm -vf # but work around missing MusixTeX files ... %if 0%{texlive_version} < 2013 pushd ${prefix}/texmf-dist/ install -m 0755 scripts/m-tx/m-tx.lua %{buildroot}%{_texmfdistdir}/scripts/m-tx/ install -m 0755 scripts/pmx/pmx2pdf.lua %{buildroot}%{_texmfdistdir}/scripts/pmx/ popd %endif # install manual page of public install -m 0644 %{S:51} %{buildroot}%{_mandir}/man8/public.8 gzip -n9 %{buildroot}%{_mandir}/man8/public.8 # is part of texlive-kpathsea rm -vf %{buildroot}%{_texmfconfdir}/web2c/fmtutil.cnf rm -vf %{buildroot}%{_texmfconfdir}/web2c/texmf.cnf rm -vf %{buildroot}%{_texmfmaindir}/web2c/fmtutil.cnf rm -vf %{buildroot}%{_texmfmaindir}/web2c/texmf.cnf rm -vf %{buildroot}%{_texmfdistdir}/web2c/fmtutil.cnf rm -vf %{buildroot}%{_texmfdistdir}/web2c/texmf.cnf # relink texlive helpers to public binary for mktex in texhash mktexlsr mktexmf mktexpk mktextfm do # mktexlsr and co are now perl/shell script out of package texlive-scripts rm -f %{buildroot}%{_bindir}/$mktex case "$mktex" in mktexlsr*) ln -sf ../../share/texmf/scripts/texlive/${mktex}.pl %{buildroot}%{_libexecdir}/mktex/$mktex ;; texhash*) ln -sf ../../share/texmf/scripts/texlive/mktexlsr.pl %{buildroot}%{_libexecdir}/mktex/$mktex ;; *) ln -sf ../../share/texmf/scripts/texlive/${mktex} %{buildroot}%{_libexecdir}/mktex/$mktex ;; esac ln -sf %{_libexecdir}/mktex/public %{buildroot}%{_bindir}/$mktex done %if %{with zypper_posttrans} ln -sf %{_texmfdistdir}/texconfig/zypper.py \ %{buildroot}/var/adm/update-scripts/%{name}-%{version}-%{release}-zypper %endif pushd ${prefix}/%{_lib}/pkgconfig/ for pc in kpathsea ptexenc texlua texlua53 texluajit synctex do test -e "$pc.pc" || continue sed -ri "s@([^=]+=)${prefix}@\1/usr@" $pc.pc install -m 0644 $pc.pc %{buildroot}%{_libdir}/pkgconfig/ done popd pushd ${world}/texk/kpathsea/ install -m 0644 c-auto.h %{buildroot}%{_includedir}/kpathsea/ popd %if %{with buildbiber} for scr in %{_bindir}/biber \ %{_bindir}/biber-ms \ %else for scr in \ %endif %{_texmfdistdir}/scripts/texlive/rungs.tlu \ %{_texmfdistdir}/scripts/texlive/rungs.lua do test -e %{buildroot}/$scr || continue ed %{buildroot}/${scr} <<-'EOF' 1 s@/env[[:blank:]]\+@/@ . w q EOF done # Currently disabled due python2 requirement rm -vf %{buildroot}%{_bindir}/ebong %if %{defined verify_permissions} %verifyscript kpathsea-bin %verify_permissions -e %{_libexecdir}/mktex/public %endif %post kpathsea-bin %if %{defined set_permissions} %set_permissions %{_libexecdir}/mktex/public %endif %post mkdir -p /var/run/texlive > /var/run/texlive/run-mktexlsr > /var/run/texlive/run-update %postun if test $1 = 1; then mkdir -p /var/run/texlive > /var/run/texlive/run-mktexlsr > /var/run/texlive/run-update fi %posttrans %if %{with zypper_posttrans} test -z "$ZYPP_IS_RUNNING" || exit 0 %endif test -d /var/run/texlive || exit 0 VERBOSE=false %{_texmfdistdir}/texconfig/update || : %post -n libkpathsea6 -p /sbin/ldconfig %postun -n libkpathsea6 -p /sbin/ldconfig %post -n libptexenc1 -p /sbin/ldconfig %postun -n libptexenc1 -p /sbin/ldconfig %post -n libsynctex2 -p /sbin/ldconfig %postun -n libsynctex2 -p /sbin/ldconfig %post -n libtexlua53-5 -p /sbin/ldconfig %postun -n libtexlua53-5 -p /sbin/ldconfig %if %{with LuaJIT} %post -n libtexluajit2 -p /sbin/ldconfig %postun -n libtexluajit2 -p /sbin/ldconfig %endif %if %{with luametatex} %post context-bin mkdir -p /var/run/texlive > /var/run/texlive/run-fmtutil.context %postun context-bin if test $1 = 1; then mkdir -p /var/run/texlive > /var/run/texlive/run-fmtutil.context fi %endif %files # is part of texlive-texlive.infra #%{_texmfdistdir}/tlpkg/TeXLive/TLConfig.pm #%{_texmfdistdir}/tlpkg/TeXLive/TLUtils.pm # is part of texlive-kpathsea #%config(noreplace) %verify(not md5 size mtime) %{_texmfconfdir}/web2c/fmtutil.cnf #%config(noreplace) %verify(not md5 size mtime) %{_texmfconfdir}/web2c/texmf.cnf #%verify(link) %{_texmfmaindir}/web2c/fmtutil.cnf #%verify(link) %{_texmfmaindir}/web2c/texmf.cnf # is part of texlive-luatex #%config(noreplace) %verify(not md5 size mtime) %{_texmfconfdir}/web2c/texmfcnf.lua #%verify(link) %{_texmfmaindir}/web2c/texmfcnf.lua %{_mandir}/man8/public.8%{?ext_man} %if %{with zypper_posttrans} %verify(link) /var/adm/update-scripts/%{name}-%{version}-%{release}-zypper %endif @@FILES@@ %files -n libkpathsea6 %{_libdir}/libkpathsea*.so.* %files -n %{name}-kpathsea-devel %dir %{_includedir}/kpathsea %{_includedir}/kpathsea/* %{_libdir}/libkpathsea.so %{_libdir}/pkgconfig/kpathsea.pc %files -n libptexenc1 %{_libdir}/libptexenc*.so.* %files -n %{name}-ptexenc-devel %dir %{_includedir}/ptexenc %{_includedir}/ptexenc/* %{_libdir}/libptexenc.so %{_libdir}/pkgconfig/ptexenc.pc %files -n libsynctex2 %{_libdir}/libsynctex.so.* %files -n %{name}-synctex-devel %dir %{_includedir}/synctex/ %{_includedir}/synctex/*.h %{_libdir}/libsynctex.so %{_libdir}/pkgconfig/synctex.pc %files -n libtexlua53-5 %{_libdir}/libtexlua53*so.* %files -n %{name}-texlua-devel %dir %{_includedir}/texlua[0-9]*/ %{_includedir}/texlua[0-9]*/*.h* %{_libdir}/libtexlua[0-9]*so %{_libdir}/pkgconfig/texlua[0-9]*.pc %if %{with LuaJIT} %files -n libtexluajit2 %{_libdir}/libtexluajit.so.* %files -n %{name}-texluajit-devel %dir %{_includedir}/texluajit/ %{_includedir}/texluajit/*.h* %{_libdir}/libtexluajit.so %{_libdir}/pkgconfig/texluajit.pc %endif %files -n %{name}-bin-devel %if %{with buildbiber} %files -n perl-biber -f perl-biber.files %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor