diff mbox series

[bug#73073,v2,1/8] guix: packages: Allow origin inside inputs with "new style".

Message ID a6b14210f78ccc3b2d0b9d28c5ba3a4c05c28316.1725930587.git.zimon.toutoune@gmail.com
State New
Headers show
Series Allow origin inside inputs with "new style". | expand

Commit Message

Simon Tournier Sept. 10, 2024, 1:27 a.m. UTC
* guix/packages.scm (add-input-label): Rely on 'origin-actual-file-name' for
internal inputs labels.
(maybe-add-input-labels): Special case to avoid world rebuild.

Change-Id: I6ba5352b1b1b8ab810da3730b09cb9db61d6429c
---
 guix/packages.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Ludovic Courtès Sept. 16, 2024, 8:19 p.m. UTC | #1
Simon Tournier <zimon.toutoune@gmail.com> skribis:

> * guix/packages.scm (add-input-label): Rely on 'origin-actual-file-name' for
> internal inputs labels.
> (maybe-add-input-labels): Special case to avoid world rebuild.
>
> Change-Id: I6ba5352b1b1b8ab810da3730b09cb9db61d6429c

[...]

> @@ -444,6 +444,9 @@ (define (maybe-add-input-labels inputs)
>          ((and (pair? (car inputs))
>                (string? (caar inputs)))
>           inputs)
> +        ((and (origin? (car inputs))    ;XXXX: Remove next world rebuild
> +              (null? (cdr inputs)))     ;special case tzdata
> +         (list (list "_" (car inputs))))

I would rather have this hack in ‘tzdata’ itself, along the lines of
what I sent in a previous message.

> @@ -676,6 +679,13 @@ (define (add-input-label input)
>                "_")
>           ,obj
>           ,@(if (string=? output "out") '() (list output)))))
> +    ((? origin? origin)                 ;XXXX: Remove next world rebuild
> +     (let ((texlive (package-source
> +                     (module-ref (resolve-interface '(gnu packages tex))
> +                                 'texlive-latex))))
> +       (if (eq? input texlive)
> +           (list "_" origin)
> +           (list (or (origin-actual-file-name origin) "_") origin))))

I think this should be avoided, but what is it that causes a rebuild in
this case?

Thanks,
Ludo’.
diff mbox series

Patch

diff --git a/guix/packages.scm b/guix/packages.scm
index f373136d22..35dba6adc3 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -444,6 +444,9 @@  (define (maybe-add-input-labels inputs)
         ((and (pair? (car inputs))
               (string? (caar inputs)))
          inputs)
+        ((and (origin? (car inputs))    ;XXXX: Remove next world rebuild
+              (null? (cdr inputs)))     ;special case tzdata
+         (list (list "_" (car inputs))))
         (else (map add-input-label inputs))))
 
 (define (add-input-labels . inputs)
@@ -676,6 +679,13 @@  (define (add-input-label input)
               "_")
          ,obj
          ,@(if (string=? output "out") '() (list output)))))
+    ((? origin? origin)                 ;XXXX: Remove next world rebuild
+     (let ((texlive (package-source
+                     (module-ref (resolve-interface '(gnu packages tex))
+                                 'texlive-latex))))
+       (if (eq? input texlive)
+           (list "_" origin)
+           (list (or (origin-actual-file-name origin) "_") origin))))
     (x
      `("_" ,x))))