# GENERATED by tools/texlive-splitter from tlnet-archive snapshot 20260930 — do not # edit by hand. Regenerated by the biweekly texlive roll (.github/workflows/ # texlive-update.yml -> tools/texlive-splitter/roll.py). The ENGINE half # of the split: upstream's prebuilt x86_64-linux binary bundle from the # same dated snapshot. kpathsea resolves the tree relative to the binary # location (TEXMFROOT = $SELFAUTOPARENT), so the bundle works unmodified # under the self-contained /usr/lib/texlive/ root and nothing here # touches Fedora's texlive packaging (different paths, different names). # The build fetches the bundle + the repository tlpdb from the immutable # dated snapshot during %%build (network is on in Copr). %define debug_package %{nil} %global __brp_mangle_shebangs %{nil} %global _unpackaged_files_terminate_build 0 Name: texlive-bin Version: 20260930 Release: 1%{?dist} Summary: TeX Live engine binaries (upstream x86_64-linux bundle) BuildArch: x86_64 ExclusiveArch: x86_64 License: GPL-1.0-or-later AND BSD-3-Clause AND LPPL-1.3c AND MIT AND public-domain URL: https://tug.org/texlive/ %global _tl_archive_url https://texlive.info/tlnet-archive/2026/09/30/tlnet %global _tl_root %{_prefix}/lib/texlive/2026 # the binaries are useless without the core data tree — the only coupling # the engine package carries; every other group is pulled by the consumer Requires: texlive-basic = %{version} BuildRequires: tar BuildRequires: wget BuildRequires: xz %description TeX Live engine binaries from tlnet snapshot 20260930 (the upstream x86_64-linux bundle) plus the repository tlpdb tlmgr needs, installed under the self-contained root %{_tl_root}. The group packages ship the texmf-dist data tree beside it; kpathsea ties them together through the binary location alone. Requires texlive-basic (the core data). %build mkdir -p raw wget -q --retry-connrefused --waitretry=5 --tries=5 \ -O raw/x86_64-linux.tar.xz \ "%{_tl_archive_url}/archive/x86_64-linux.tar.xz" wget -q --retry-connrefused --waitretry=5 --tries=5 \ -O raw/texlive.tlpdb.xz \ "%{_tl_archive_url}/tlpkg/texlive.tlpdb.xz" tar -xJf raw/x86_64-linux.tar.xz -C raw xz -dc raw/texlive.tlpdb.xz > raw/texlive.tlpdb # the platform bundle normally unpacks bin/x86_64-linux/ pre-rooted # (the non-reloc wire shape); tolerate a root-level binary dump too mkdir -p staging/bin/x86_64-linux staging/tlpkg if [ -d raw/bin/x86_64-linux ]; then cp -a raw/bin/x86_64-linux/. staging/bin/x86_64-linux/ else cp -a raw/. staging/bin/x86_64-linux/ fi cp -a raw/texlive.tlpdb staging/tlpkg/texlive.tlpdb # pin tlmgr to this snapshot's repository (the archive URL is immutable) mkdir -p staging/texmf-config/tlmgr printf 'repository = %s\nverify-repo = none\n' "%{_tl_archive_url}" \ > staging/texmf-config/tlmgr/config %install mkdir -p "%{buildroot}%{_tl_root}/bin" \ "%{buildroot}%{_tl_root}/tlpkg" \ "%{buildroot}%{_tl_root}/texmf-config" \ "%{buildroot}%{_sysconfdir}/profile.d" cp -a staging/bin/x86_64-linux "%{buildroot}%{_tl_root}/bin/" cp -a staging/tlpkg/texlive.tlpdb "%{buildroot}%{_tl_root}/tlpkg/" cp -a staging/texmf-config/tlmgr "%{buildroot}%{_tl_root}/texmf-config/" # PATH hook: prepend the engine dir of the newest installed year; kpathsea # needs nothing else here (SELFAUTOPARENT does the rest) cat > "%{buildroot}%{_sysconfdir}/profile.d/texlive.sh" <<'EOF' #!/bin/sh # TeX Live (rolling, packaged from tlnet snapshots) — upstream engines # under /usr/lib/texlive/; kpathsea resolves the tree relative to # the binary (SELFAUTOPARENT), so only PATH is wired here. for _tl_bin in /usr/lib/texlive/*/bin/x86_64-linux; do [ -d "$_tl_bin" ] || continue case ":$PATH:" in *":$_tl_bin:"*) ;; *) PATH="$_tl_bin:$PATH" ;; esac done export PATH unset _tl_bin EOF chmod 0755 "%{buildroot}%{_sysconfdir}/profile.d/texlive.sh" %files %{_tl_root}/bin/ %{_tl_root}/tlpkg/ %{_tl_root}/texmf-config/ %{_sysconfdir}/profile.d/texlive.sh %changelog * Wed Sep 30 2026 halcyon-autoupdate - 20260930-1 - engine bundle for tlnet snapshot 20260930