[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 4/7] gnu: Add idris-lightyear.
From: |
Ludovic Courtès |
Subject: |
Re: [PATCH 4/7] gnu: Add idris-lightyear. |
Date: |
Tue, 03 Jan 2017 16:05:32 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
David Craven <address@hidden> skribis:
>> IMO you can push this patch as is and provide an ‘idris-build-system’
>> later on, or do the latter first. Either way is fine with me as long as
>> we don’t wait until there are ten users of ‘idris-default-arguments’.
>> WDYT?
>
> Regarding that, I think it's harder than it should be to add new build
> systems at the moment. I think that adding a new build system requires
> a substantial amount of boiler plate.
>
> Would it make sense to have a phase-build-system that could be easily
> extended with custom phases and cherry pick from a collection of
> generic phases or something like that? Then we could simplify the
> gnu-build-system to include only gnu-build-system specific stuff?
Yeah, it’s too much boilerplate, though in this case I think it would be
quite reasonable
(define (set-build-arguments b)
(bag
(inherit b)
(arguments '(#:modules … #:phases …))))
(define idris-build-system
(build-system
(lower (compose set-build-arguments
(build-system-lower gnu-build-system)))))
and then you could have:
(define-module (guix build idris-build-system)
#:use-module ((guix build gnu-build-system) #:prefix gnu:))
#:export (%standard-phases))
(define %standard-phases
(modify-phases gnu:%standard-phases …))
> This could also be a good time to reinvestigate using gexp's in the
> build systems. Would the problem that Danny had with imported modules
> compiled not finding libgcrypt be solved by using gexp's?
The ‘wip-build-systems-gexp’ branch is still around and I plan to look
into it again…
> I'm aware that this would be a substantial effort and maybe it's not
> currently that important. But there seems to be interest in also
> adding an ocaml-build-system, and the rust-build-system is a work in
> progress. Maybe we could ease the transition by having the new build
> systems use a phase-build-system as a base, without having to change
> existing build-systems and giving some more lead way in experimenting,
> since it wouldn't break any existing packages.
I’m not sure what a ‘phase-build-system’ would look like, if not like
‘gnu-build-system’, but it’s an interesting idea to explore.
Dave Thompson recently suggested that maybe phases could be first-class,
i.e., directly exposed on the “host side”, which is indeed a valid
design question. Another thing worth exploring!
Ludo’.
- [PATCH 3/7] gnu: idris: Update to 0.99., (continued)
[PATCH 6/7] gnu: Add idris-bifunctors., David Craven, 2017/01/02
[PATCH 7/7] gnu: Add idris-lens., David Craven, 2017/01/02
Re: [PATCH 1/7] git-download: Add some helpers., Ludovic Courtès, 2017/01/03