guix: import: Handle texlua and TCL scripts.

* guix/import/texlive.scm (linked-scripts): Also generate scripts from files
with ".tlu" and ".tcl" extensions.
(tlpdb->package): Add appropriate inputs when providing a TCL script.
This commit is contained in:
Nicolas Goaziou 2023-07-10 10:03:46 +02:00
parent 22c752fde1
commit 026ed35ddb
No known key found for this signature in database
GPG key ID: DA00B4F048E92F2D

View file

@ -292,7 +292,8 @@ (define (formats package-data)
(define (linked-scripts name package-database) (define (linked-scripts name package-database)
"Return a list of script names to symlink from \"bin/\" directory for "Return a list of script names to symlink from \"bin/\" directory for
package NAME according to PACKAGE-DATABASE. Consider as scripts files with package NAME according to PACKAGE-DATABASE. Consider as scripts files with
\".lua\", \".pl\", \".py\", \".sh\" extensions, and files without extension." \".lua\", \".pl\", \".py\", \".sh\", \".tcl\", \".tlu\" extensions, and files
without extension."
(and-let* ((data (assoc-ref package-database name)) (and-let* ((data (assoc-ref package-database name))
;; Check if binaries are associated to the package. ;; Check if binaries are associated to the package.
(depend (assoc-ref data 'depend)) (depend (assoc-ref data 'depend))
@ -310,7 +311,7 @@ (define (linked-scripts name package-database)
(filter-map (lambda (script) (filter-map (lambda (script)
(and (any (lambda (ext) (and (any (lambda (ext)
(member (basename script ext) binaries)) (member (basename script ext) binaries))
'(".lua" ".pl" ".py" ".sh")) '(".lua" ".pl" ".py" ".sh" ".tcl" ".tlu"))
(basename script))) (basename script)))
;; Get the right (alphabetic) order. ;; Get the right (alphabetic) order.
(reverse scripts)))) (reverse scripts))))
@ -466,13 +467,14 @@ (define (tlpdb->package name version package-database)
'((native-inputs (list texlive-metafont)))) '((native-inputs (list texlive-metafont))))
'()) '())
;; Inputs. ;; Inputs.
,@(match (filter-map (lambda (s) ,@(match (append-map (lambda (s)
(cond ((string-suffix? ".pl" s) 'perl) (cond ((string-suffix? ".pl" s) '(perl))
((string-suffix? ".py" s) 'python) ((string-suffix? ".py" s) '(python))
(else #f))) ((string-suffix? ".tcl" s) '(tcl tk))
(else '())))
(or scripts '())) (or scripts '()))
(() '()) (() '())
(inputs `((inputs (list ,@inputs))))) (inputs `((inputs (list ,@(delete-duplicates inputs eq?))))))
;; Propagated inputs. ;; Propagated inputs.
,@(match (translate-depends depends) ,@(match (translate-depends depends)
(() '()) (() '())