diff options
author | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2024-06-22 10:24:20 +0200 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2024-07-11 10:25:20 +0100 |
commit | ac3edb217e69184ed7975178fd3d6706cf919f68 (patch) | |
tree | 649a3d3a9171f5355d29fba4de2cb4ddfddba65e | |
parent | 33006275db8627267e1a43ba939bc5ca9847e751 (diff) | |
download | guix-patches-ac3edb217e69184ed7975178fd3d6706cf919f68.tar guix-patches-ac3edb217e69184ed7975178fd3d6706cf919f68.tar.gz |
gnu: Turn TEXLIVE-SOURCE into a complete package.
* gnu/packages/tex.scm (%texlive-version): Remove variable.
(texlive-source): Turn into a complete package so it can benefit from auto-updates.
(texlive-libkpathsea):
(texlive-libptexenc):
(texlive-bin):
(texlive-scheme-basic):
(texlive-scheme-bookpub):
(texlive-scheme-context):
(texlive-scheme-full):
(texlive-scheme-gust):
(texlive-scheme-medium):
(texlive-scheme-minimal):
(texlive-scheme-small):
(texlive-scheme-tetex):
(texlive-afm2pl-bin):
(texlive-autosp-bin):
(texlive-axodraw2-bin):
(texlive-cjkutils-bin):
(texlive-gregoriotex-bin):
(texlive-m-tx-bin):
(texlive-musixtnt-bin):
(texlive-pmx-bin):
(texlive-velthuis-bin):
(texlive-vlna-bin):
(texlive-bibtex8-bin):
(texlive-chktex-bin):
(texlive-detex-bin):
(texlive-dtl-bin):
(texlive-dvi2tty-bin):
(texlive-dvidvi-bin):
(texlive-dviljk-bin):
(texlive-dviout-util-bin):
(texlive-dvipng-bin):
(texlive-dvipos-bin):
(texlive-dvisvgm-bin):
(texlive-ptex-bin):
(texlive-lcdftypetools-bin):
(texlive-dvipdfmx-bin):
(texlive-dvips-bin):
(texlive-lacheck-bin):
(texlive-seetexk-bin):
(texlive-ps2eps-bin):
(texlive-ps2pk-bin):
(texlive-psutils-bin):
(texlive-t1utils-bin):
(texlive-tex4ht-bin):
(texlive-tpic2pdftex-bin):
(texlive-ttfutils-bin):
(texlive-upmendex-bin):
(texlive-xpdfopen-bin):
(texlive-gsftopk-bin):
(texlive-xml2pmx-bin):
(texlive-makeindex-bin):
(texlive-collection-basic):
(texlive-collection-bibtexextra):
(texlive-collection-binextra):
(texlive-collection-context):
(texlive-collection-fontsextra):
(texlive-collection-fontsrecommended):
(texlive-collection-fontutils):
(texlive-collection-formatsextra):
(texlive-collection-games):
(texlive-collection-humanities):
(texlive-collection-langarabic):
(texlive-collection-langchinese):
(texlive-collection-langcjk):
(texlive-collection-langcyrillic):
(texlive-collection-langczechslovak):
(texlive-collection-langenglish):
(texlive-collection-langeuropean):
(texlive-collection-langfrench):
(texlive-collection-langgerman):
(texlive-collection-langgreek):
(texlive-collection-langitalian):
(texlive-collection-langjapanese):
(texlive-collection-langkorean):
(texlive-collection-langother):
(texlive-collection-langpolish):
(texlive-collection-langportuguese):
(texlive-collection-langspanish):
(texlive-collection-latex):
(texlive-collection-latexextra):
(texlive-collection-latexrecommended):
(texlive-collection-luatex):
(texlive-collection-mathscience):
(texlive-collection-metapost):
(texlive-collection-music):
(texlive-collection-pictures):
(texlive-collection-plaingeneric):
(texlive-collection-pstricks):
(texlive-collection-publishers):
(texlive-collection-xetex):
(texlive-xindy-bin):
(texlive-xdvi-bin): Adapt to change of record type.
(texlive-updmap.cfg)[version]: Use the same as TEXLIVE-SOURCE.
* guix/import/texlive.scm:
(tlpdb-guix-packages): Define "source" as a special package.
(texlive->svn-multi-reference):
(tlpdb->package):
(package-from-texlive-repository?): Treat TEXLIVE-SOURCE specially.
Change-Id: I33890e54d825fdfed4203d770e40ed6255dd4dd2
Change-Id: I62fdd2766938ea4562fe6e4d45fd11c1ee0104d3
-rw-r--r-- | gnu/packages/tex.scm | 232 | ||||
-rw-r--r-- | guix/import/texlive.scm | 50 |
2 files changed, 157 insertions, 125 deletions
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 6054283506..e577a28788 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -194,27 +194,41 @@ (define-deprecated/public old-name name (deprecated-package (symbol->string 'old-name) name))) -(define %texlive-version "2023.0") - -(define texlive-source - (origin - (method svn-fetch) - (uri (svn-reference - (url (string-append %texlive-repository - "tags/texlive-" %texlive-version "/Build/source/")) - (revision 66594))) - (file-name (git-file-name "texlive-source" %texlive-version)) - (sha256 - (base32 - "186q0r00zfd39wc9r56rvbxs8f1xix7hlrz62zj07c68a0fy76rd")))) +(define-public texlive-source + (package + (name "texlive-source") + (version "2023.0") + (source + (origin + ;; This could be written as a SVN reference, but with a multi-reference + ;; the package can benefit from the `texlive' updater. + (method svn-multi-fetch) + (uri (svn-multi-reference + (url (string-append %texlive-repository + "tags/texlive-" version "/Build/source")) + (revision 66594) + (locations (list "./")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "186q0r00zfd39wc9r56rvbxs8f1xix7hlrz62zj07c68a0fy76rd")))) + (build-system trivial-build-system) + (arguments (list #:builder #~(mkdir #$output))) + (home-page "https://www.tug.org/texlive/") + (synopsis "Source code for all TeX Live programs") + (description + "This package fetches the source for all TeX Live programs provided by +the TeX Live repository. It is meant to be used as a source-only package; it +should not be installed in a profile.") + (license (license:fsf-free "https://www.tug.org/texlive/copying.html")))) (define-public texlive-libkpathsea (package (name "texlive-libkpathsea") - (version %texlive-version) + (version (package-version texlive-source)) (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -312,10 +326,10 @@ of user-specified directories similar to how shells look up executables.") (define-public texlive-libptexenc (package (name "texlive-libptexenc") - (version %texlive-version) + (version (package-version texlive-source)) (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -754,10 +768,10 @@ and should be preferred to it whenever a package would otherwise depend on (define-public texlive-bin (package (name "texlive-bin") - (version %texlive-version) + (version (package-version texlive-source)) (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -887,7 +901,7 @@ Live collection or scheme package to their profile instead of this package.") (define-public texlive-scheme-basic (package (name "texlive-scheme-basic") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -906,7 +920,7 @@ Computer Modern fonts. This scheme corresponds to @code{collection-basic} and (define-public texlive-scheme-bookpub (package (name "texlive-scheme-bookpub") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -950,7 +964,7 @@ mathematical or other technical packages.") (define-public texlive-scheme-context (package (name "texlive-scheme-context") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -984,7 +998,7 @@ mathematical or other technical packages.") (define-public texlive-scheme-full (package (name "texlive-scheme-full") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -1037,7 +1051,7 @@ mathematical or other technical packages.") (define-public texlive-scheme-gust (package (name "texlive-scheme-gust") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -1084,7 +1098,7 @@ typeset Polish plain TeX, LaTeX and ConTeXt documents in PostScript or PDF.") (define-public texlive-scheme-medium (package (name "texlive-scheme-medium") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -1120,7 +1134,7 @@ LaTeX, many recommended packages, and support for most European languages.") (define-public texlive-scheme-minimal (package (name "texlive-scheme-minimal") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -1137,7 +1151,7 @@ Live infrastructure. This scheme corresponds exactly to (define-public texlive-scheme-small (package (name "texlive-scheme-small") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -1187,7 +1201,7 @@ variant. It adds XeTeX, MetaPost, and some recommended packages to (define-public texlive-scheme-tetex (package (name "texlive-scheme-tetex") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -1271,7 +1285,7 @@ This function is meant to be used in packages as a native input, to build documentation in the TeX format." (let ((default-packages (list texlive-scheme-basic))) (package - (version "2023.0") + (version (package-version texlive-source)) (source (package-source texlive-scripts)) (name "texlive-updmap.cfg") (build-system copy-build-system) @@ -2093,7 +2107,7 @@ ligatures, but also offers additional control over them.") (name "texlive-afm2pl-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -4885,7 +4899,7 @@ other parts.") (name "texlive-autosp-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -4969,7 +4983,7 @@ the pdf code inserted in the output file. The processing involves a run of (name "texlive-axodraw2-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -11292,7 +11306,7 @@ supported.") (name "texlive-cjkutils-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -18910,7 +18924,7 @@ create a PDF of your score.") (name "texlive-gregoriotex-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -25486,7 +25500,7 @@ those who prefer its language.") (name "texlive-m-tx-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -27658,7 +27672,7 @@ source file. This should be used before using @code{\\TransformNotes}.") (name "texlive-musixtnt-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -31048,7 +31062,7 @@ a score.") (name "texlive-pmx-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -39377,7 +39391,7 @@ fonts, in both Metafont and Type 1 formats.") (name "texlive-velthuis-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -39555,7 +39569,7 @@ the end of a line.") (name "texlive-vlna-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -40817,7 +40831,7 @@ order are controlled by an external configuration file.") (name "texlive-bibtex8-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -41077,7 +41091,7 @@ Filters are also provided for checking the LaTeX parts of CWEB documents.") (name "texlive-chktex-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -41610,7 +41624,7 @@ Kubowicz's OpenDetex as its successor.") (name "texlive-detex-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -41770,7 +41784,7 @@ which is readily readable by humans. The DTL bundle contains an assembler (name "texlive-dtl-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -41893,7 +41907,7 @@ the document.") (name "texlive-dvi2tty-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -42047,7 +42061,7 @@ exclusions.") (name "texlive-dvidvi-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -42154,7 +42168,7 @@ file. It also supports XeTeX XDV format.") (name "texlive-dviljk-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -42230,7 +42244,7 @@ transforms between a DVI file and a text file.") (name "texlive-dviout-util-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -42309,7 +42323,7 @@ not read the postamble, so it can be started before TeX finishes.") (name "texlive-dvipng-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -42391,7 +42405,7 @@ and @samp{y} location.") (name "texlive-dvipos-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -42496,7 +42510,7 @@ support SVG fonts are enabled to render the graphics properly.") (name "texlive-dvisvgm-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -45191,7 +45205,7 @@ distributed as package @code{pTeX-manual}.") (name "texlive-ptex-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -46859,7 +46873,7 @@ a Type 1 font. (name "texlive-lcdftypetools-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -47671,7 +47685,7 @@ does pdfTeX.") (name "texlive-dvipdfmx-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -47750,7 +47764,7 @@ PostScript.") (name "texlive-dvips-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -47854,7 +47868,7 @@ generated code can be included in any LaTeX document.") (name "texlive-lacheck-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -49092,7 +49106,7 @@ SeeTeX project. (name "texlive-seetexk-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -52194,7 +52208,7 @@ produce bounding box values for Rawppm or Rawpbm format files.") (name "texlive-ps2eps-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -52281,7 +52295,7 @@ documents generated that use Type 1 fonts.") (name "texlive-ps2pk-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -52380,7 +52394,7 @@ printing. Utilities include @command{psbook}, @command{psselect}, (name "texlive-psutils-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -53522,7 +53536,7 @@ and -editable format; (name "texlive-t1utils-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -53720,7 +53734,7 @@ such as @code{gellmu}.") (name "texlive-tex4ht-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -56238,7 +56252,7 @@ is planned.") (name "texlive-tpic2pdftex-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -56397,7 +56411,7 @@ emulates the macro, using TikZ.") (name "texlive-ttfutils-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -56572,7 +56586,7 @@ Zhuyin) for Chinese Han scripts (Hanzi ideographs). (name "texlive-upmendex-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -57002,7 +57016,7 @@ command line or from within a (shell) script. The programs work with (name "texlive-xpdfopen-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -58582,7 +58596,7 @@ dealing with Type 1 fonts, direct.") (name "texlive-gsftopk-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -58789,7 +58803,7 @@ MusiXTeX processing.") (name "texlive-xml2pmx-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -67068,7 +67082,7 @@ always (re)defines a command. There is also @code{\\makeenvironment} and (name "texlive-makeindex-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -79437,7 +79451,7 @@ The macros were designed for use within other macros.") (define-public texlive-collection-basic (package (name "texlive-collection-basic") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -79487,7 +79501,7 @@ LaTeX.") (define-public texlive-collection-bibtexextra (package (name "texlive-collection-bibtexextra") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -79666,7 +79680,7 @@ data(bases), notably including BibLaTeX.") (define-public texlive-collection-binextra (package (name "texlive-collection-binextra") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -79787,7 +79801,7 @@ programming, patgen, and plenty more.") (define-public texlive-collection-context (package (name "texlive-collection-context") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -79837,7 +79851,7 @@ third-party ConTeXt packages.") (define-public texlive-collection-fontsextra (package (name "texlive-collection-fontsextra") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80199,7 +80213,7 @@ third-party ConTeXt packages.") (define-public texlive-collection-fontsrecommended (package (name "texlive-collection-fontsrecommended") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80249,7 +80263,7 @@ for Computer Modern, in outline form.") (define-public texlive-collection-fontutils (package (name "texlive-collection-fontutils") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80285,7 +80299,7 @@ for manipulation of PostScript and other image formats.") (define-public texlive-collection-formatsextra (package (name "texlive-collection-formatsextra") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80324,7 +80338,7 @@ HiTeX engine and related.") (define-public texlive-collection-games (package (name "texlive-collection-games") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80387,7 +80401,7 @@ including chess.") (define-public texlive-collection-humanities (package (name "texlive-collection-humanities") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80455,7 +80469,7 @@ humanities, etc.") (define-public texlive-collection-langarabic (package (name "texlive-collection-langarabic") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80497,7 +80511,7 @@ humanities, etc.") (define-public texlive-collection-langchinese (package (name "texlive-collection-langchinese") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80545,7 +80559,7 @@ from @code{collection-langcjk}.") (define-public texlive-collection-langcjk (package (name "texlive-collection-langcjk") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80581,7 +80595,7 @@ their individual language collections.") (define-public texlive-collection-langcyrillic (package (name "texlive-collection-langcyrillic") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80633,7 +80647,7 @@ Russian, Serbian, Ukrainian), even if Latin alphabets may also be used.") (define-public texlive-collection-langczechslovak (package (name "texlive-collection-langczechslovak") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80661,7 +80675,7 @@ Russian, Serbian, Ukrainian), even if Latin alphabets may also be used.") (define-public texlive-collection-langenglish (package (name "texlive-collection-langenglish") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80745,7 +80759,7 @@ Russian, Serbian, Ukrainian), even if Latin alphabets may also be used.") (define-public texlive-collection-langeuropean (package (name "texlive-collection-langeuropean") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80808,7 +80822,7 @@ simply on the size of the support.") (define-public texlive-collection-langfrench (package (name "texlive-collection-langfrench") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80864,7 +80878,7 @@ simply on the size of the support.") (define-public texlive-collection-langgerman (package (name "texlive-collection-langgerman") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80920,7 +80934,7 @@ simply on the size of the support.") (define-public texlive-collection-langgreek (package (name "texlive-collection-langgreek") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80958,7 +80972,7 @@ simply on the size of the support.") (define-public texlive-collection-langitalian (package (name "texlive-collection-langitalian") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -80989,7 +81003,7 @@ simply on the size of the support.") (define-public texlive-collection-langjapanese (package (name "texlive-collection-langjapanese") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -81067,7 +81081,7 @@ from @code{collection-langcjk}.") (define-public texlive-collection-langkorean (package (name "texlive-collection-langkorean") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -81095,7 +81109,7 @@ from @code{collection-langcjk}.") (define-public texlive-collection-langother (package (name "texlive-collection-langother") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -81162,7 +81176,7 @@ reasonable.") (define-public texlive-collection-langpolish (package (name "texlive-collection-langpolish") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -81193,7 +81207,7 @@ reasonable.") (define-public texlive-collection-langportuguese (package (name "texlive-collection-langportuguese") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -81218,7 +81232,7 @@ reasonable.") (define-public texlive-collection-langspanish (package (name "texlive-collection-langspanish") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -81241,7 +81255,7 @@ reasonable.") (define-public texlive-collection-latex (package (name "texlive-collection-latex") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -81313,7 +81327,7 @@ used and strongly recommended in practice.") (define-public texlive-collection-latexextra (package (name "texlive-collection-latexextra") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -82797,7 +82811,7 @@ LaTeX.") (define-public texlive-collection-latexrecommended (package (name "texlive-collection-latexrecommended") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -82885,7 +82899,7 @@ LaTeX which have widespread use.") (define-public texlive-collection-luatex (package (name "texlive-collection-luatex") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -82997,7 +83011,7 @@ itself, and plain formats, are in @code{collection-basic}.") (define-public texlive-collection-mathscience (package (name "texlive-collection-mathscience") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -83262,7 +83276,7 @@ science packages.") (define-public texlive-collection-metapost (package (name "texlive-collection-metapost") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -83324,7 +83338,7 @@ with packages in @code{collection-basic}.") (define-public texlive-collection-music (package (name "texlive-collection-music") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -83373,7 +83387,7 @@ with packages in @code{collection-basic}.") (define-public texlive-collection-pictures (package (name "texlive-collection-pictures") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -83627,7 +83641,7 @@ PStricks are separate.") (define-public texlive-collection-plaingeneric (package (name "texlive-collection-plaingeneric") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -83752,7 +83766,7 @@ often LaTeX, and occasionally other formats.") (define-public texlive-collection-pstricks (package (name "texlive-collection-pstricks") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -83880,7 +83894,7 @@ often LaTeX, and occasionally other formats.") (define-public texlive-collection-publishers (package (name "texlive-collection-publishers") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -84170,7 +84184,7 @@ often LaTeX, and occasionally other formats.") (define-public texlive-collection-xetex (package (name "texlive-collection-xetex") - (version %texlive-version) + (version (package-version texlive-source)) (source #f) (build-system trivial-build-system) (arguments (list #:builder #~(mkdir #$output))) @@ -87309,7 +87323,7 @@ in terms of the collating order of the text being processed.") (name "texlive-xindy-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -90744,7 +90758,7 @@ that it will build with web2c out of the box.") (name "texlive-xdvi-bin") (source (origin - (inherit texlive-source) + (inherit (package-source texlive-source)) (modules '((guix build utils) (ice-9 ftw))) (snippet diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index eb6262e140..1881f40f16 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm @@ -213,7 +213,13 @@ fmtutil, and tlmgr. It is automatically installed alongside texlive-bin.") "tlpkg/installer/config.guess" "tlpkg/installer/curl/curl-ca-bundle.crt" "tlpkg/TeXLive/" - "tlpkg/texlive.tlpdb")))) + "tlpkg/texlive.tlpdb")) + ("source" + (shortdesc . "Source code for all TeX Live programs") + (longdesc . "This package fetches the source for all TeX Live programs +provided by the TeX Live repository. It is meant to be used as a source-only +package; it should not be installed in a profile.") + (runfiles "./")))) (define (svn-command . args) "Execute \"svn\" command with arguments ARGS, provided as strings, and @@ -620,12 +626,11 @@ at VERSION." (files (append (or (assoc-ref data 'docfiles) (list)) (or (assoc-ref data 'runfiles) (list)) (or (assoc-ref data 'srcfiles) (list)))) - (texlive-scripts? (equal? upstream-name "scripts")) (locations ;; Drop "texmf-dist/" prefix from files. Special case - ;; TEXLIVE-SCRIPTS, where files are split across "tlpkg/" and - ;; "texmf-dist/". - (if texlive-scripts? + ;; TEXLIVE-SCRIPTS and TEXLIVE-SOURCE, where files are not always + ;; exported from "texmf-dist/". + (if (member upstream-name '("scripts" "source")) files (files->locations ;; Ignore any file not starting with the expected prefix, such @@ -636,10 +641,15 @@ at VERSION." (string-drop file (string-length "texmf-dist/")))) files))))) (svn-multi-reference - (url (if texlive-scripts? - (string-append - %texlive-repository "tags/texlive-" version "/Master") - (texlive-packages-repository version))) + (url (match upstream-name + ("scripts" + (string-append + %texlive-repository "tags/texlive-" version "/Master")) + ("source" + (string-append %texlive-repository + "tags/texlive-" version "/Build/source")) + (_ + (texlive-packages-repository version)))) (locations (sort locations string<)) (revision (assoc-ref database 'database-revision))))) @@ -668,10 +678,17 @@ at VERSION." (method svn-multi-fetch) (uri (svn-multi-reference (url - ,(if (equal? upstream-name "scripts") - '(string-append %texlive-repository - "tags/texlive-" version "/Master/") - '(texlive-packages-repository version))) + ,(match upstream-name + ("scripts" + '(string-append + %texlive-repository "tags/texlive-" version + "/Master")) + ("source" + '(string-append + %texlive-repository "tags/texlive-" version + "/Build/source")) + (_ + '(texlive-packages-repository version)))) (revision ,(svn-multi-reference-revision reference)) (locations (list ,@(svn-multi-reference-locations reference))))) @@ -763,9 +780,10 @@ VERSION." (define (package-from-texlive-repository? package) (let ((name (package-name package))) - ;; TEXLIVE-SCRIPTS does use TEXLIVE-BUILD-SYSTEM, but package's structure - ;; is sufficiently regular to permit auto-updates. - (or (equal? name "texlive-scripts") + ;; TEXLIVE-SCRIPTS and TEXLIVE-SOURCE do not use TEXLIVE-BUILD-SYSTEM, but + ;; package's structure is sufficiently regular to benefit from + ;; auto-updates. + (or (member name '("texlive-scripts" "texlive-source")) (and (string-prefix? "texlive-" (package-name package)) (eq? 'texlive (build-system-name (package-build-system package))))))) |