diff options
-rw-r--r-- | guix/import/texlive.scm | 27 | ||||
-rw-r--r-- | tests/texlive.scm | 88 |
2 files changed, 75 insertions, 40 deletions
diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index 109bfc07e9..5aae1c3d49 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm @@ -623,16 +623,23 @@ at VERSION." `(package (name ,name) (version ,(if empty-package? '%texlive-version version)) - (source ,(and (not meta-package?) - `(texlive-origin - name version - (list ,@(svn-multi-reference-locations reference)) - (base32 - ,(bytevector->nix-base32-string - (let-values (((port get-hash) (open-sha256-port))) - (write-file source port) - (force-output port) - (get-hash))))))) + (source + ,(and (not meta-package?) + `(origin + (method svn-multi-fetch) + (uri (svn-multi-reference + (url (texlive-packages-repository version)) + (revision ,(svn-multi-reference-revision reference)) + (locations + (list ,@(svn-multi-reference-locations reference))))) + (file-name (git-file-name name version)) + (sha256 + (base32 + ,(bytevector->nix-base32-string + (let-values (((port get-hash) (open-sha256-port))) + (write-file source port) + (force-output port) + (get-hash)))))))) ,@(if (assoc-ref data 'docfiles) '((outputs '("out" "doc"))) '()) diff --git a/tests/texlive.scm b/tests/texlive.scm index 39f7a8f856..0e21c2e9b0 100644 --- a/tests/texlive.scm +++ b/tests/texlive.scm @@ -32,7 +32,8 @@ (test-begin "texlive") (define %fake-tlpdb - '(("12many" + '((database-revision . 12345) + ("12many" . ((name . "12many") (catalogue @@ -375,10 +376,15 @@ completely compatible with Plain TeX.") (('package ('name "texlive-example") ('version _) - ('source ('texlive-origin - 'name 'version - ('list "tex/latex/example/") - ('base32 (? string? hash)))) + ('source ('origin + ('method 'svn-multi-fetch) + ('uri ('svn-multi-reference + ('url ('texlive-packages-repository 'version)) + ('revision 12345) + ('locations ('list "tex/latex/example/")))) + ('file-name ('git-file-name 'name 'version)) + ('sha256 + ('base32 (? string? hash))))) ('build-system 'texlive-build-system) ('home-page (? string?)) ('synopsis (? string?)) @@ -409,15 +415,21 @@ completely compatible with Plain TeX.") (('package ('name "texlive-texsis") ('version _) - ('source ('texlive-origin - 'name 'version - ('list "bibtex/bst/texsis/" - "doc/man/man1/texsis.1" - "doc/man/man1/texsis.man1.pdf" - "doc/otherformats/texsis/base/" - "tex/texsis/base/" - "tex/texsis/config/") - ('base32 (? string? hash)))) + ('source ('origin + ('method 'svn-multi-fetch) + ('uri ('svn-multi-reference + ('url ('texlive-packages-repository 'version)) + ('revision 12345) + ('locations + ('list "bibtex/bst/texsis/" + "doc/man/man1/texsis.1" + "doc/man/man1/texsis.man1.pdf" + "doc/otherformats/texsis/base/" + "tex/texsis/base/" + "tex/texsis/config/")))) + ('file-name ('git-file-name 'name 'version)) + ('sha256 + ('base32 (? string? hash))))) ('outputs ''("out" "doc")) ('build-system 'texlive-build-system) ('propagated-inputs @@ -489,12 +501,17 @@ completely compatible with Plain TeX.") (('package ('name "texlive-12many") ('version _) - ('source ('texlive-origin - 'name 'version - ('list "doc/latex/12many/" - "source/latex/12many/" - "tex/latex/12many/") - ('base32 (? string? hash)))) + ('source ('origin + ('method 'svn-multi-fetch) + ('uri ('svn-multi-reference + ('url ('texlive-packages-repository 'version)) + ('revision 12345) + ('locations ('list "doc/latex/12many/" + "source/latex/12many/" + "tex/latex/12many/")))) + ('file-name ('git-file-name 'name 'version)) + ('sha256 + ('base32 (? string? hash))))) ('outputs ''("out" "doc")) ('build-system 'texlive-build-system) ('home-page "https://ctan.org/pkg/one2many") @@ -526,11 +543,17 @@ completely compatible with Plain TeX.") (('package ('name "texlive-chs-physics-report") ('version _) - ('source ('texlive-origin - 'name 'version - ('list "doc/latex/chs-physics-report/" - "tex/latex/chs-physics-report/") - ('base32 (? string? hash)))) + ('source ('origin + ('method 'svn-multi-fetch) + ('uri ('svn-multi-reference + ('url ('texlive-packages-repository 'version)) + ('revision 12345) + ('locations + ('list "doc/latex/chs-physics-report/" + "tex/latex/chs-physics-report/")))) + ('file-name ('git-file-name 'name 'version)) + ('sha256 + ('base32 (? string? hash))))) ('outputs ''("out" "doc")) ('build-system 'texlive-build-system) ('home-page (? string?)) @@ -598,11 +621,16 @@ completely compatible with Plain TeX.") (('package ('name "texlive-lollipop") ('version _) - ('source ('texlive-origin - 'name 'version - ('list "doc/otherformats/lollipop/" - "tex/lollipop/") - ('base32 (? string? hash)))) + ('source ('origin + ('method 'svn-multi-fetch) + ('uri ('svn-multi-reference + ('url ('texlive-packages-repository 'version)) + ('revision 12345) + ('locations ('list "doc/otherformats/lollipop/" + "tex/lollipop/")))) + ('file-name ('git-file-name 'name 'version)) + ('sha256 + ('base32 (? string? hash))))) ('outputs ''("out" "doc")) ('build-system 'texlive-build-system) ('arguments ('list '#:create-formats ('gexp ('list "lollipop")))) |