From 7a6da1e22a93bcb0408bff4d7b5368dc289415a7 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Mon, 15 May 2023 00:45:54 +0200 Subject: [PATCH] guix: import: Improve home-page generation in texlive importer. * guix/import/texlive.scm (tlpdb): Also register `catalogue' key. (tlpdb->package): First try to use catalogue for the home-page, then the name. * tests/texlive.scm (%fake-tlpdb): Add tests data. ("texlive->guix-package, with catalogue entry, no inputs"): New test. --- guix/import/texlive.scm | 1 + tests/texlive.scm | 57 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index e5fcb7adf8..8618ccd802 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm @@ -133,6 +133,7 @@ '((name . string) (shortdesc . string) (longdesc . string) + (catalogue . string) (catalogue-license . string) (catalogue-ctan . string) (srcfiles . list) diff --git a/tests/texlive.scm b/tests/texlive.scm index 1493fc87bb..19bb3bda1b 100644 --- a/tests/texlive.scm +++ b/tests/texlive.scm @@ -32,7 +32,25 @@ (test-begin "texlive") (define %fake-tlpdb - '(("example" + '(("12many" + . ((name + . "12many") + (catalogue + . "one2many") + (shortdesc + . "Generalising mathematical index sets") + (longdesc + . "In the discrete branches of mathematics...") + (docfiles + . ("texmf-dist/doc/latex/12many/12many.pdf" + "texmf-dist/doc/latex/12many/README")) + (srcfiles + . ("texmf-dist/source/latex/12many/12many.dtx" + "texmf-dist/source/latex/12many/12many.ins")) + (runfiles + . ("texmf-dist/tex/latex/12many/12many.sty")) + (catalogue-license . "lppl"))) + ("example" . ((name . "example") (shortdesc . "Typeset examples...") (longdesc . "The package makes it easier...") @@ -247,4 +265,41 @@ completely compatible with Plain TeX.") (format #t "~s~%" result) (pk 'fail result #f))))))) +(test-assert "texlive->guix-package, with catalogue entry, no inputs" + ;; Replace network resources with sample data. + (mock ((guix build svn) svn-fetch + (lambda* (url revision directory + #:key (svn-command "svn") + (user-name #f) + (password #f) + (recursive? #t)) + (mkdir-p directory) + (with-output-to-file (string-append directory "/foo") + (lambda () + (display "source"))))) + (let ((result (texlive->guix-package "12many" + #:package-database + (lambda _ %fake-tlpdb)))) + (match result + (('package + ('name "texlive-12many") + ('version _) + ('source ('texlive-origin + 'name 'version + ('list "doc/latex/12many/" + "source/latex/12many/" + "tex/latex/12many/") + ('base32 (? string? hash)))) + ('outputs ''("out" "doc")) + ('build-system 'texlive-build-system) + ('home-page "https://ctan.org/pkg/one2many") + ('synopsis (? string?)) + ('description (? string?)) + ('license 'lppl)) + #true) + (_ + (begin + (format #t "~s~%" result) + (pk 'fail result #f))))))) + (test-end "texlive")