summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi8
-rw-r--r--gnu/packages/base.scm19
-rw-r--r--gnu/packages/tex.scm21
-rw-r--r--guix/packages.scm3
-rw-r--r--tests/packages.scm10
5 files changed, 41 insertions, 20 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 57030102ca..9bf177a185 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -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
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 3a46ad2ec5..87c7568ef2 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1778,14 +1778,17 @@ command.")
(delete-file-recursively
(string-append out "/share/zoneinfo-leaps")))))
(delete 'configure))))
- (inputs (list (origin
- (method url-fetch)
- (uri (string-append
- "https://data.iana.org/time-zones/releases/tzcode"
- version ".tar.gz"))
- (sha256
- (base32
- "07hn7hn2klw4dfyr673ril2nrk18198hbfv25gljsvc833hzk9g9")))))
+ (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"))))))
(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)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 9f8cccecc8..f5dd1243ab 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -706,14 +706,15 @@ of user-specified directories similar to how shells look up executables.")
(string-append "File.join(\"" ptex "\"")))
(invoke "ruby" "generate-ptex-patterns.rb"))))))))
(native-inputs
- (list ruby-2.7
- 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))
+ ;; 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" ,texlive-tex)))
(home-page "https://ctan.org/pkg/hyph-utf8")
(synopsis "Hyphenation patterns expressed in UTF-8")
(description
@@ -65048,7 +65049,9 @@ Unicode option of @code{inputenc} or @code{inputenx}, or by XeLaTeX/LuaLaTeX.")
"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
diff --git a/guix/packages.scm b/guix/packages.scm
index 0ce3276051..84f2c6f838 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -678,6 +678,9 @@ Texinfo. Otherwise, return the string."
"_")
,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))))
diff --git a/tests/packages.scm b/tests/packages.scm
index 7c28e75c45..1d901505aa 100644
--- a/tests/packages.scm
+++ b/tests/packages.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012-2023 Ludovic Courtès <[email protected]>
+;;; Copyright © 2012-2024 Ludovic Courtès <[email protected]>
;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <[email protected]>
;;; Copyright © 2021 Maxim Cournoyer <[email protected]>
;;; Copyright © 2021 Maxime Devos <[email protected]>
@@ -2051,6 +2051,14 @@
(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.