all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Question about sbcl-package->ecl-package
@ 2019-10-16  9:26 Guillaume Le Vaillant
  2019-10-16 11:59 ` Pierre Neidhardt
  0 siblings, 1 reply; 15+ messages in thread
From: Guillaume Le Vaillant @ 2019-10-16  9:26 UTC (permalink / raw)
  To: guix-devel

Hi,

I'm trying to package a Common Lisp library and I have a strange
problem.

In 'gnu/packages/lisp.scm', there are packages called 'sbcl-chanl' and
'ecl-chanl' whose definitions are:

--8<---------------cut here---------------start------------->8---
(define-public sbcl-chanl
  (let ((commit "2362b57550c2c9238cc882d03553aaa1040b7340")
        (revision "0"))
    (package
      (name "sbcl-chanl")
      ...)))

(define-public ecl-chanl
  (let ((base (sbcl-package->ecl-package sbcl-chanl)))
    (package
      (inherit base)
      (arguments
       (substitute-keyword-arguments (package-arguments base)
         ;; Some phases are modified here so that compiling
         ;; with ECL works.
         ...)))))
--8<---------------cut here---------------end--------------->8---

Compiling these two packages works fine.

Now, I define the following new packages:

--8<---------------cut here---------------start------------->8---
(define-public sbcl-simple-parallel-tasks
  (let ((commit "db460f7a3f7bbfe2d3a2223ed21e162068d04dda")
        (revision "0"))
    (package
      (name "sbcl-simple-parallel-tasks")
      ...
      (inputs
       `(("chanl" ,sbcl-chanl)))
      ...)))

(define-public ecl-simple-parallel-tasks
  (sbcl-package->ecl-package sbcl-simple-parallel-tasks))
--8<---------------cut here---------------end--------------->8---

Compiling 'sbcl-simple-parallel-tasks' works fine.

However, when I try to compile 'ecl-simple-parallel-tasks', guix first
tries to build a different derivation of 'ecl-chanl', which fails
because it apparently doesn't have the modified phases declared in the
definition of 'ecl-chanl'.

More precisely:
- If I do 'guix build ecl-chanl', guix builds
  'y60p0wn2hwp5jr0hy2qb09yazkp29m7i-ecl-chanl-0.4.1-0.2362b57'
  successfully.
- If I do 'guix build ecl-simple-parallel-tasks', guix tries to build
  'qqzlyknj5wgrm0f0nm4wwafv3ldvhrgi-ecl-chanl-0.4.1-0.2362b57'
  and fails.

When doing 'guix build ecl-simple-parallel-tasks' I was expecting guix
to use the 'ecl-chanl' I had already compiled as input, but instead it
looks as if it tries to build
'(sbcl-package->ecl-package sbcl-chanl)' instead.

Does anyone know why in this case guix tries to compile a different
derivation of 'ecl-chanl' that I didn't define anywhere?

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2019-10-18 11:55 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-16  9:26 Question about sbcl-package->ecl-package Guillaume Le Vaillant
2019-10-16 11:59 ` Pierre Neidhardt
2019-10-16 12:47   ` Efraim Flashner
2019-10-16 14:06     ` Guillaume Le Vaillant
2019-10-17 12:01       ` Guillaume Le Vaillant
2019-10-17 12:20         ` Pierre Neidhardt
2019-10-17 13:09           ` Guillaume Le Vaillant
2019-10-17 13:16             ` Pierre Neidhardt
2019-10-17 13:35               ` Guillaume Le Vaillant
2019-10-17 13:48                 ` Pierre Neidhardt
2019-10-17 14:47                   ` Guillaume Le Vaillant
2019-10-17 14:54                     ` Pierre Neidhardt
2019-10-18  9:22                       ` Pierre Neidhardt
2019-10-18 11:55                         ` Guillaume Le Vaillant
2019-10-17 13:16           ` Guillaume Le Vaillant

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.