mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-18 13:36:36 +01:00
packages: Use origin file names as their input labels.
* guix/packages.scm (add-input-label): Rely on 'origin-actual-file-name' for internal inputs labels. * tests/packages.scm ("this-package-input, origin"): New test. * doc/guix.texi (package Reference): Mention origin lookup for ‘lookup-package-input’ & co. * gnu/packages/base.scm (tzdata)[inputs]: Reintroduce label. * gnu/packages/tex.scm (texlive-hyphen-complete)[inputs]: Likewise. (texlive-newverbs)[native-inputs]: Likewise. Change-Id: I6ba5352b1b1b8ab810da3730b09cb9db61d6429c Co-authored-by: Simon Tournier <zimon.toutoune@gmail.com>
This commit is contained in:
parent
e9e4b2fafd
commit
f8f005815e
5 changed files with 41 additions and 20 deletions
|
@ -8061,8 +8061,8 @@ inputs.
|
|||
Look up @var{name} among @var{package}'s inputs (or native, propagated,
|
||||
or direct inputs). Return it if found, @code{#f} otherwise.
|
||||
|
||||
@var{name} is the name of a package depended on. Here's how you might
|
||||
use it:
|
||||
@var{name} is the name of a package or the file name of an origin
|
||||
depended on. Here's how you might use it:
|
||||
|
||||
@lisp
|
||||
(use-modules (guix packages) (gnu packages base))
|
||||
|
@ -8073,6 +8073,10 @@ use it:
|
|||
|
||||
In this example we obtain the @code{gmp} package that is among the
|
||||
direct inputs of @code{coreutils}.
|
||||
|
||||
When looking up an origin, use the name that appears in the origin's
|
||||
@code{file-name} field or its default file name---e.g.,
|
||||
@code{"foo-1.2.tar.gz"}.
|
||||
@end deffn
|
||||
|
||||
@cindex development inputs, of a package
|
||||
|
|
|
@ -1778,14 +1778,17 @@ (define-public tzdata
|
|||
(delete-file-recursively
|
||||
(string-append out "/share/zoneinfo-leaps")))))
|
||||
(delete 'configure))))
|
||||
(inputs (list (origin
|
||||
(inputs `(("_"
|
||||
;; Note: The "_" label above is here to avoid a full rebuild.
|
||||
;; TODO: Remove it on next rebuild cycle.
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://data.iana.org/time-zones/releases/tzcode"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07hn7hn2klw4dfyr673ril2nrk18198hbfv25gljsvc833hzk9g9")))))
|
||||
"07hn7hn2klw4dfyr673ril2nrk18198hbfv25gljsvc833hzk9g9"))))))
|
||||
(home-page "https://www.iana.org/time-zones")
|
||||
(synopsis "Database of current and historical time zones")
|
||||
(description "The Time Zone Database (often called tz or zoneinfo)
|
||||
|
|
|
@ -706,14 +706,15 @@ (define-public texlive-hyphen-complete
|
|||
(string-append "File.join(\"" ptex "\"")))
|
||||
(invoke "ruby" "generate-ptex-patterns.rb"))))))))
|
||||
(native-inputs
|
||||
(list ruby-2.7
|
||||
ruby-hydra-minimal/pinned
|
||||
;; TODO: Remove input labels on next rebuild cycle.
|
||||
`(("ruby" ,ruby-2.7)
|
||||
("ruby-hydra-minimal" ,ruby-hydra-minimal/pinned)
|
||||
;; Build phase requires "docstrip.tex" from TEXLIVE-LATEX.
|
||||
;; However, adding this package to native inputs would initiate
|
||||
;; a circular dependency. To work around this, use TEXLIVE-LATEX
|
||||
;; source, then add "docstrip.tex" to TEXINPUTS before build.
|
||||
(package-source texlive-latex)
|
||||
texlive-tex))
|
||||
("_" ,(package-source texlive-latex))
|
||||
("texlive-tex" ,texlive-tex)))
|
||||
(home-page "https://ctan.org/pkg/hyph-utf8")
|
||||
(synopsis "Hyphenation patterns expressed in UTF-8")
|
||||
(description
|
||||
|
@ -65048,7 +65049,9 @@ (define-public texlive-newverbs
|
|||
"tex/generic/ydoc/ydocstrip.tex")
|
||||
"build/")
|
||||
(setenv "TEXINPUTS" (string-append (getcwd) "/build:")))))))
|
||||
(native-inputs (list (package-source texlive-ydoc)))
|
||||
(native-inputs
|
||||
;; TODO: Remove input label on next rebuild cycle.
|
||||
`(("_" ,(package-source texlive-ydoc))))
|
||||
(home-page "https://ctan.org/pkg/newverbs")
|
||||
(synopsis "Define new versions of @code{\\verb}")
|
||||
(description
|
||||
|
|
|
@ -678,6 +678,9 @@ (define (add-input-label input)
|
|||
"_")
|
||||
,obj
|
||||
,@(if (string=? output "out") '() (list output)))))
|
||||
((? origin? origin)
|
||||
;; Allow references to origins by their file name.
|
||||
(list (or (origin-actual-file-name origin) "_") origin))
|
||||
(x
|
||||
`("_" ,x))))
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
|
@ -2051,6 +2051,14 @@ (define (list->set* lst)
|
|||
(dummy-package "a"
|
||||
(arguments (this-package-native-input "hello")))))
|
||||
|
||||
(test-equal "this-package-input, origin"
|
||||
"http://example.org/foo.tar.gz"
|
||||
(origin-uri
|
||||
(package-arguments
|
||||
(dummy-package "a"
|
||||
(inputs (list (dummy-origin (uri "http://example.org/foo.tar.gz"))))
|
||||
(arguments (this-package-input "foo.tar.gz"))))))
|
||||
|
||||
(test-eq "modify-inputs, replace"
|
||||
coreutils
|
||||
;; Replace an input; notice that the label in unchanged.
|
||||
|
|
Loading…
Reference in a new issue