all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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’.

  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.