* 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 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
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.