[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Improve ASDF build system for Common Lisp libraries
From: |
Guillaume Le Vaillant |
Subject: |
Re: Improve ASDF build system for Common Lisp libraries |
Date: |
Mon, 14 Sep 2020 15:39:22 +0200 |
User-agent: |
mu4e 1.4.13; emacs 27.1 |
I was thinking about what the package definitions would look like if we
put pre-compiled files in package outputs instead of in their own
packages. For example with a cl-xyz package having cl-abc as native
input and cl-def as input:
- cl-xyz package needs to propagate cl-abc and cl-def (sources).
- cl-xyz:sbcl has cl-abc:sbcl as native input and cl-def:sbcl as input.
- cl-xyz:ecl has cl-abc:ecl as native input and cl-def:ecl as input.
So the package definition would look like:
--8<---------------cut here---------------start------------->8---
(package
...
(native-inputs
`(("cl-abc-sbcl" ,cl-abc "sbcl")
("cl-abc-ecl" ,cl-abc "ecl")))
(inputs
`(("cl-def-sbcl" ,cl-def "sbcl")
("cl-def-ecl" ,cl-def "ecl")))
(propagated-inputs
`(("cl-abc" ,cl-abc)
("cl-def" ,cl-def)))
...
)
--8<---------------cut here---------------end--------------->8---
It's a bit burdensome to write, but we could have a define-lisp-package
macro taking a lighter package definition and transforming it a full
package definition as above:
--8<---------------cut here---------------start------------->8---
(define-lisp-package cl-xyz
(package
...
(native-inputs
`(("cl-abc" ,cl-abc)))
(inputs
`(("cl-def" ,cl-def)))
...
))
--8<---------------cut here---------------end--------------->8---
However, it would mean that installing only cl-xyz:sbcl would download
the sbcl pre-compiled files and the ecl pre-compiled files for all the
dependencies of cl-xyz (direct and transitive).
The only way to prevent downloading all these unnecessary ecl
pre-compiled files would be for the package definition to have a way to
say "the sbcl outputs only depend on the sources and the sbcl outputs of
the dependencies", but I don't think that's possible...
signature.asc
Description: PGP signature
- Improve ASDF build system for Common Lisp libraries, Guillaume Le Vaillant, 2020/09/12
- Re: Improve ASDF build system for Common Lisp libraries, Pierre Neidhardt, 2020/09/12
- Re: Improve ASDF build system for Common Lisp libraries, Pierre Neidhardt, 2020/09/13
- Re: Improve ASDF build system for Common Lisp libraries, Guillaume Le Vaillant, 2020/09/13
- Re: Improve ASDF build system for Common Lisp libraries, Pierre Neidhardt, 2020/09/13
- Re: Improve ASDF build system for Common Lisp libraries,
Guillaume Le Vaillant <=
- Re: Improve ASDF build system for Common Lisp libraries, Pierre Neidhardt, 2020/09/15
- Re: Improve ASDF build system for Common Lisp libraries, Pierre Neidhardt, 2020/09/12
- Re: Improve ASDF build system for Common Lisp libraries, Guillaume Le Vaillant, 2020/09/15
- Re: Improve ASDF build system for Common Lisp libraries, Pierre Neidhardt, 2020/09/15
- Re: Improve ASDF build system for Common Lisp libraries, Ricardo Wurmus, 2020/09/15
- Re: Improve ASDF build system for Common Lisp libraries, Katherine Cox-Buday, 2020/09/15
- Re: Improve ASDF build system for Common Lisp libraries, Guillaume Le Vaillant, 2020/09/15
- Re: Improve ASDF build system for Common Lisp libraries, Pierre Neidhardt, 2020/09/17
- Re: Improve ASDF build system for Common Lisp libraries, Pierre Neidhardt, 2020/09/23
- Re: Improve ASDF build system for Common Lisp libraries, Guillaume Le Vaillant, 2020/09/23