From: ludo@gnu.org (Ludovic Courtès)
To: Alex Kost <alezost@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 6/7] guix build: Add 'build-package'.
Date: Wed, 26 Aug 2015 13:12:54 +0200 [thread overview]
Message-ID: <87mvxe8frd.fsf@gnu.org> (raw)
In-Reply-To: <878u972ea9.fsf@gmail.com> (Alex Kost's message of "Wed, 19 Aug 2015 23:50:54 +0300")
Alex Kost <alezost@gmail.com> skribis:
> Ludovic Courtès (2015-08-18 17:15 +0300) wrote:
>
>> Alex Kost <alezost@gmail.com> skribis:
>>
>>> * guix/scripts/build.scm (build-package): New procedure.
>>
>> [...]
>>
>>> +(define (build-package package . build-options)
>>> + "Build PACKAGE using BUILD-OPTIONS."
>>> + (with-store store
>>> + (let* ((drv (run-with-store store
>>> + (package->derivation package)))
>>> + (drvs (list drv)))
>>> + (apply set-build-options store build-options)
>>> + (show-what-to-build store drvs)
>>> + (build-derivations store drvs)
>>> + (show-derivation-outputs drv))))
>>
>> I think this doesn’t fit here because it isn’t actually used by ‘guix
>> build’. Maybe keep it in emacs/ for now?
>
> If you mean "guix-main.scm", I don't think it's the right place either,
> as all this guix-devel stuff does not depend on Guix REPL (or on any
> code from "guix-main.scm" in general). Besides, "guix-main.scm" doesn't
> provide a module.
>
> What about making some additional module?: (guix devel) or something.
> Other similar code may be put there in future. For example, you are
> editing a package definition and you may want to download the current
> origin source. It will probably also require some specific scheme code,
> which may be added to that module.
Maybe ‘build-package’ could go to (guix packages)?
>> Bonus points for making it all monadic-style:
>>
>> (mbegin %store-monad
>> (set-build-options* opts)
>> (mlet* %store-monad ((drv (package->derivation))
>> (drvs (list drv)))
>> (mbegin %store-monad
>> (show-what-to-build* drvs)
>> (built-derivations drvs)
>> (return (show-derivation-outputs drv)))))
>>
>> and (define set-build-options* (store-lift set-build-options)) in
>> (guix store).
>>
>> WDYT?
>
> OK, I'll look at it. I suppose adding 'set-build-options*' to (guix
> store) should be done in a separate commit, right?
Yes please.
Thank you,
Ludo’.
next prev parent reply other threads:[~2015-08-26 11:13 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-25 8:49 [PATCH 0/7] Add "guix-devel-…" commands Alex Kost
2015-07-25 8:49 ` [PATCH 1/7] emacs: Move guile related code to "guix-guile.el" Alex Kost
2015-08-18 13:50 ` Ludovic Courtès
2015-08-18 13:51 ` Ludovic Courtès
2015-07-25 8:49 ` [PATCH 2/7] emacs: Move code for evaluating to "guix-geiser.el" Alex Kost
2015-08-18 13:52 ` Ludovic Courtès
2015-07-25 8:49 ` [PATCH 3/7] emacs: Add code to call guile procedures Alex Kost
2015-08-18 13:52 ` Ludovic Courtès
2015-07-25 8:49 ` [PATCH 4/7] emacs: Add 'guix-devel-use-current-module' Alex Kost
2015-07-25 18:51 ` Mathieu Lirzin
2015-07-26 8:29 ` Alex Kost
2015-07-26 14:00 ` Mathieu Lirzin
2015-07-26 18:11 ` Alex Kost
2015-07-28 9:19 ` Mathieu Lirzin
2015-08-18 14:05 ` Ludovic Courtès
2015-08-19 20:47 ` Alex Kost
2015-08-26 11:07 ` Ludovic Courtès
2015-07-25 8:49 ` [PATCH 5/7] ui: Add 'show-derivation-outputs' Alex Kost
2015-08-18 14:07 ` Ludovic Courtès
2015-07-25 8:49 ` [PATCH 6/7] guix build: Add 'build-package' Alex Kost
2015-08-18 14:15 ` Ludovic Courtès
2015-08-19 20:50 ` Alex Kost
2015-08-26 11:12 ` Ludovic Courtès [this message]
2015-08-26 17:44 ` Alex Kost
2015-08-28 9:24 ` Ludovic Courtès
2015-09-06 9:03 ` Alex Kost
2015-09-06 9:32 ` Alex Kost
2015-09-08 19:59 ` Ludovic Courtès
2015-09-08 20:10 ` Ludovic Courtès
2015-09-10 10:25 ` [PATCH] Add (guix scripts) Alex Kost
2015-09-14 13:34 ` Ludovic Courtès
2015-09-14 18:39 ` Alex Kost
2015-09-16 20:21 ` Ludovic Courtès
2015-09-18 18:52 ` Alex Kost
2015-09-18 18:51 ` [PATCH 6/7] guix build: Add 'build-package' Alex Kost
2015-09-22 15:12 ` Ludovic Courtès
2015-09-22 19:10 ` Alex Kost
2015-09-22 21:39 ` Ludovic Courtès
2015-07-25 8:49 ` [PATCH 7/7] emacs: Add 'guix-devel-use-current-module' Alex Kost
2015-08-18 14:17 ` Ludovic Courtès
2015-08-19 20:51 ` [PATCH 7/7] emacs: Add 'guix-devel-build-current-package-definition' Alex Kost
2015-08-26 11:14 ` Ludovic Courtès
2015-09-22 19:10 ` [PATCH 1/2] emacs: Add development utils Alex Kost
2015-09-22 21:44 ` Ludovic Courtès
2015-08-18 13:50 ` [PATCH 0/7] Add "guix-devel-…" commands Ludovic Courtès
2015-08-19 20:47 ` Alex Kost
2015-08-25 20:59 ` Ludovic Courtès
2015-09-22 19:11 ` [PATCH 2/2] emacs: Add 'guix-devel-build-package-definition' Alex Kost
2015-09-22 21:47 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87mvxe8frd.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=alezost@gmail.com \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.