all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* About "asdf-build-system/source" and dependent packages
@ 2020-03-03  8:32 NOEU
  2020-03-03 14:53 ` Pierre Neidhardt
  0 siblings, 1 reply; 6+ messages in thread
From: NOEU @ 2020-03-03  8:32 UTC (permalink / raw)
  To: help-guix

Hello

I am worried about the build-system of the GNU Guix package management 
system and the resolution of package dependencies. Please help if you like.

I wanted to use the GNU Guix package management system to create a 
private channel for Common Lisp ASDF packages.

I am working while checking "gnu/packages/lisp-xyz.scm".
In lisp-xyz.scm, define the package for SBCL, and then add the ECL build 
package and source package to Is defined as

;; for SBCL
(define-public sbcl-package-name
   ...
   (inputs
     `((" package-name-a ", sbcl-package-name-a)
        ("package-name-b", sbcl-package-name-b)))
   (build-system asdf-build-system / sbcl)
   ...)

;; for Source
(define-public cl-package-name
   (sbcl-package-> cl-source-package sbcl-package-name))

;; for ECL
(define-public ecl-package-name
   (sbcl-package-> ecl-package sbcl-package-name))


To make such a definition, "guix package -i cl-package-name" will 
install the dependent "package-name-a" and "package-name-b" at the same 
time. You can find it under $GUIX_PROFILE/share/common-lisp/source.

However, I simply wanted to define a package to install the source, and 
defined the package using "asdf-build-system/source" as follows:

(define-public cl-package-name
   ...
   (inputs
     `((" package-name-a ", cl-package-name-a)
        ("package-name-b", cl-package-name-b)))
   (build-system asdf-build-system / source)
   ...)

When this definition is made and "guix package -i cl-package-name" is 
executed, the dependent package specified in "inputs" will not be 
installed. (Dependent packages are also installed in 
asdf-build-system/source. It is executed after rewriting to the 
definition used)

Is there a way to automatically install dependent(inputs) packages when 
using "asdf-build-system/source"?

Best regards,
NOEU

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

* Re: About "asdf-build-system/source" and dependent packages
  2020-03-03  8:32 About "asdf-build-system/source" and dependent packages NOEU
@ 2020-03-03 14:53 ` Pierre Neidhardt
  2020-03-03 15:17   ` Tobias Geerinckx-Rice
  2020-03-03 15:59   ` NOEU
  0 siblings, 2 replies; 6+ messages in thread
From: Pierre Neidhardt @ 2020-03-03 14:53 UTC (permalink / raw)
  To: NOEU, help-guix; +Cc: Guillaume Le Vaillant

[-- Attachment #1: Type: text/plain, Size: 409 bytes --]

Thanks for bringing this up!

asdf-build-system/source should turn its inputs into propagated inputs
so that it does what the users want.

I guess we just need to fix the build system.

What about other build systems?

For instance, installing an sbcl package will not drag the source of its
dependents, which could be considered a bug.

Thoughts?

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* Re: About "asdf-build-system/source" and dependent packages
  2020-03-03 14:53 ` Pierre Neidhardt
@ 2020-03-03 15:17   ` Tobias Geerinckx-Rice
  2020-03-03 15:23     ` Pierre Neidhardt
  2020-03-03 15:59   ` NOEU
  1 sibling, 1 reply; 6+ messages in thread
From: Tobias Geerinckx-Rice @ 2020-03-03 15:17 UTC (permalink / raw)
  To: help-guix; +Cc: NOEU, Guillaume Le Vaillant

[-- Attachment #1: Type: text/plain, Size: 608 bytes --]

Pierre Neidhardt 写道:
> Thanks for bringing this up!

+1

> asdf-build-system/source should turn its inputs into propagated 
> inputs
> so that it does what the users want.
>
> I guess we just need to fix the build system.
>
> What about other build systems?
>
> For instance, installing an sbcl package will not drag the 
> source of its
> dependents, which could be considered a bug.

…so there's no way to do this in Lisp-land without propagation? 
Damn.

I'd already started subtly (…) indoctrinating noeu on #guix that 
propagation is unwholesome :o)

Oh well,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

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

* Re: About "asdf-build-system/source" and dependent packages
  2020-03-03 15:17   ` Tobias Geerinckx-Rice
@ 2020-03-03 15:23     ` Pierre Neidhardt
  0 siblings, 0 replies; 6+ messages in thread
From: Pierre Neidhardt @ 2020-03-03 15:23 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice, help-guix; +Cc: Guillaume Le Vaillant

[-- Attachment #1: Type: text/plain, Size: 919 bytes --]

Tobias Geerinckx-Rice <me@tobias.gr> writes:

> Pierre Neidhardt 写道:
>> Thanks for bringing this up!
>
> +1
>
>> asdf-build-system/source should turn its inputs into propagated 
>> inputs
>> so that it does what the users want.
>>
>> I guess we just need to fix the build system.
>>
>> What about other build systems?
>>
>> For instance, installing an sbcl package will not drag the 
>> source of its
>> dependents, which could be considered a bug.
>
> …so there's no way to do this in Lisp-land without propagation? 
> Damn.

Actually you are right, I think we can.
We can probably generate a new .asd for the source so as to find the
dependency sources in the store.

We already do this for the SBCL build system, we would just need to copy
this part of the code to the source build system and make sure we point
to the right .asd.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* Re: About "asdf-build-system/source" and dependent packages
  2020-03-03 14:53 ` Pierre Neidhardt
  2020-03-03 15:17   ` Tobias Geerinckx-Rice
@ 2020-03-03 15:59   ` NOEU
  2020-03-04  8:16     ` Pierre Neidhardt
  1 sibling, 1 reply; 6+ messages in thread
From: NOEU @ 2020-03-03 15:59 UTC (permalink / raw)
  To: Pierre Neidhardt, help-guix; +Cc: Guillaume Le Vaillant

Thank you for responding to my poor English text.

As you told me, using propagated-inputs now automatically installs 
dependent packages.

I've been studying Common Lisp for about a month, and recently started 
touching GNU Guix as an alternative to the Quicklisp package management 
system. I read guix/build-system/asdf.scm, but I don't know how this 
system works overall, and it seems difficult to modify or change the 
build system.

But I think it's a great mechanism to be able to add a build system the 
way I want, so I'll try to read and understand the GNU Guile and Guix 
code in the future.

On 2020/03/03 23:53, Pierre Neidhardt wrote:
> Thanks for bringing this up!
> 
> asdf-build-system/source should turn its inputs into propagated inputs
> so that it does what the users want.
> 
> I guess we just need to fix the build system.
> 
> What about other build systems?
> 
> For instance, installing an sbcl package will not drag the source of its
> dependents, which could be considered a bug.
> 
> Thoughts?
> 

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

* Re: About "asdf-build-system/source" and dependent packages
  2020-03-03 15:59   ` NOEU
@ 2020-03-04  8:16     ` Pierre Neidhardt
  0 siblings, 0 replies; 6+ messages in thread
From: Pierre Neidhardt @ 2020-03-04  8:16 UTC (permalink / raw)
  To: NOEU, help-guix; +Cc: Guillaume Le Vaillant

[-- Attachment #1: Type: text/plain, Size: 115 bytes --]

I've filed bug 39894@debbugs.gnu.org to keep track of this issue.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

end of thread, other threads:[~2020-03-04  8:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-03  8:32 About "asdf-build-system/source" and dependent packages NOEU
2020-03-03 14:53 ` Pierre Neidhardt
2020-03-03 15:17   ` Tobias Geerinckx-Rice
2020-03-03 15:23     ` Pierre Neidhardt
2020-03-03 15:59   ` NOEU
2020-03-04  8:16     ` Pierre Neidhardt

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.