guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

114/141: gnu: Turn TEXLIVE-SOURCE into a complete package.


From: guix-commits
Subject: 114/141: gnu: Turn TEXLIVE-SOURCE into a complete package.
Date: Wed, 26 Jun 2024 06:34:44 -0400 (EDT)

ngz pushed a commit to branch tex-team
in repository guix.

commit 564887b3d3b2e8379bbea2463829ac22a7abe715
Author: Nicolas Goaziou <mail@nicolasgoaziou.fr>
AuthorDate: Sat Jun 22 10:24:20 2024 +0200

    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
---
 gnu/packages/tex.scm    | 232 +++++++++++++++++++++++++-----------------------
 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 29525ba95d..46f085f958 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
@@ -79436,7 +79450,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)))
@@ -79486,7 +79500,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)))
@@ -79665,7 +79679,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)))
@@ -79786,7 +79800,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)))
@@ -79836,7 +79850,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)))
@@ -80198,7 +80212,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)))
@@ -80248,7 +80262,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)))
@@ -80284,7 +80298,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)))
@@ -80323,7 +80337,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)))
@@ -80386,7 +80400,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)))
@@ -80454,7 +80468,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)))
@@ -80496,7 +80510,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)))
@@ -80544,7 +80558,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)))
@@ -80580,7 +80594,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)))
@@ -80632,7 +80646,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)))
@@ -80660,7 +80674,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)))
@@ -80744,7 +80758,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)))
@@ -80807,7 +80821,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)))
@@ -80863,7 +80877,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)))
@@ -80919,7 +80933,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)))
@@ -80957,7 +80971,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)))
@@ -80988,7 +81002,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)))
@@ -81066,7 +81080,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)))
@@ -81094,7 +81108,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)))
@@ -81161,7 +81175,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)))
@@ -81192,7 +81206,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)))
@@ -81217,7 +81231,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)))
@@ -81240,7 +81254,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)))
@@ -81312,7 +81326,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)))
@@ -82796,7 +82810,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)))
@@ -82884,7 +82898,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)))
@@ -82996,7 +83010,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)))
@@ -83261,7 +83275,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)))
@@ -83323,7 +83337,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)))
@@ -83372,7 +83386,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)))
@@ -83626,7 +83640,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)))
@@ -83751,7 +83765,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)))
@@ -83879,7 +83893,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)))
@@ -84169,7 +84183,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)))
@@ -87308,7 +87322,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
@@ -90743,7 +90757,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)))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]