From 4a245129ffc84ca9a173da82df6f91239c6b1fe6 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou <mail@nicolasgoaziou.fr> Date: Fri, 5 May 2023 17:22:03 +0200 Subject: guix: import: Update texlive importer according to new build system. * guix/import/texlive.scm (tlpdb->package): Generate a package that doesn't need SIMPLE-TEXLIVE-PACKAGE. * guix/import/utils.scm (package->definition): Remove special case for `simple-texlive-package'. * tests/texlive.scm (%fake-tlpdb): Add test data. ("texlive->guix-package"): Update test. ("texlive->guix-package, no docfiles"): New test. --- guix/import/texlive.scm | 42 +++++++++++++++++++++++------------------- guix/import/utils.scm | 3 --- 2 files changed, 23 insertions(+), 22 deletions(-) (limited to 'guix/import') diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index 086cd363a9..e5fcb7adf8 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm @@ -275,33 +275,37 @@ of those files are returned that are unexpectedly installed." store ref (string-append name "-svn-multi-checkout"))))) (values `(package - (inherit (simple-texlive-package - ,name - (list ,@dirs) - (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 'srcfiles) '() '(#:trivial? #true)))) - ;; package->definition in (guix import utils) expects to see a - ;; version field. - (version ,version) + (name ,name) + (version (number->string %texlive-revision)) + (source (texlive-origin + name version + (list ,@(sort locs string<)) + (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"))) + '()) + (build-system texlive-build-system) ,@(match filtered-depends (() '()) (inputs `((propagated-inputs - (list ,@(map + (list ,@(map-in-order (lambda (tex-name) (let ((name (guix-name tex-name))) (string->symbol name))) - inputs)))))) - ,@(or (and=> (assoc-ref data 'name) + ;; Sort inputs alphabetically. + (reverse inputs))))))) + (home-page + ,(or (and=> (or (assoc-ref data 'catalogue) + (assoc-ref data 'name)) (lambda (name) - `((home-page ,(string-append "https://ctan.org/pkg/" - name))))) - '((home-page "https://www.tug.org/texlive/"))) + (string-append "https://ctan.org/pkg/" name))) + "https://www.tug.org/texlive/")) (synopsis ,(assoc-ref data 'shortdesc)) (description ,(and=> (assoc-ref data 'longdesc) beautify-description)) (license ,(and=> (assoc-ref data 'catalogue-license) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index e9a0a7ecd7..5176f12a31 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -436,10 +436,7 @@ APPEND-VERSION?/string is a string, append this string." (match guix-package ((or ('package ('name name) ('version version) . rest) - ('package ('inherit ('simple-texlive-package name . _)) - ('version version) . rest) ('let _ ('package ('name name) ('version version) . rest))) - `(define-public ,(string->symbol (cond ((string? append-version?/string) -- cgit v1.2.3