unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Pierre Neidhardt <mail@ambrevar.xyz>
To: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Cc: guix-devel <guix-devel@gnu.org>, guix-blog@gnu.org
Subject: Re: Blog: Guix packaging tutorial
Date: Mon, 08 Oct 2018 20:41:51 +0200	[thread overview]
Message-ID: <87sh1g9t74.fsf@ambrevar.xyz> (raw)
In-Reply-To: <87o9c4qxek.fsf@elephly.net>

[-- Attachment #1: Type: text/plain, Size: 4084 bytes --]


ludo@gnu.org (Ludovic Courtès) writes:
> Usually files resulting from a checkout are read-only, so perhaps you
> need to make a bunch of files writable before the ‘check’ phase.  For a
> start you could do:
>
>   (for-each make-file-writable (find-files "tests"))

Damn, bitten by this again!  It's not the first time and it seems that I fail to
learn from my mistakes :p

I've modified the 'unpack phase instead to avoid changing directory:

--8<---------------cut here---------------start------------->8---
           (add-after 'unpack 'make-files-writable-for-tests
               (lambda _ (for-each make-file-writable (find-files "."
           ".*")))))))
--8<---------------cut here---------------end--------------->8---

It works now, thanks!

Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> writes:
> * I wonder if maybe we should avoid using “guix package” for the first
>   example and use “guix build” instead.  The reason is that “guix
>   package” might cause additional builds to be performed dependent on
>   the state of the user’s default profile (because of profile hooks).
>   Using “guix build” bypasses this issue completely.  What do you think?

Hmm... Installing a package is something more familiar than just "building".
Besides, with the new "cleaner" output, it's only a few lines which the user is
going to see all the time, so I don't think there is much complexity we can
trim here.

If we first build, then package, it makes the "easy" example an extra step more
complicated.

> * “Create a folder” –> “Create a directory”; “folder” is a GUI metaphor,
>   but that’s nitpicking to be fair.  I prefer “directory”, but use
>   “folder” if you find it better :)

Funny, I did not know that :p What is the GUI metaphor precisely?  I personally
prefer "folder" for the simple reason that it's shorter, but I don't mind
changing ;)

>   This is usually true, but the meaning of “native-inputs” is primarily
>   important for cross-building packages.  A native input will be used on
>   the build machine and should thus be available for the build machine’s
>   architecture, not for the target machine.  Since Guix scans for
>   references, packages that are only needed at build time will not be
>   installed even when they are among the plain “inputs”.  Likewise,
>   packages that are in the “native-inputs” may end up leaving a
>   reference behind, which will cause them to be downloaded.  (This is
>   often a bug, such as in the icedtea packages, which keep unwanted
>   references.)
>
>   Not sure if we should change this in the tutorial, because it’s a
>   finer point.  The distinction between inputs and propagated-inputs is
>   more important and I think it’s done well in your draft.

Indeed, I think it's too complicated at this stage.  Case in point, your
paragraph is quite long ;)  I'd rather skip this.

> * I don’t know if there should be a section “Common pitfalls and best
>   practices” other than to point to the checklist in the manual.  If the
>   list in the manual misses one of the points I’d rather add them there
>   and only link to the list.

I agree.  I'll merge this list with the manual then.

> * The section on “Recursive importers” does not mention any recursive
>   importers :)  How about using the CRAN importer here, which supports
>   recursive importing with the “-r” option?

Hmm... I can't get this to work.

--8<---------------cut here---------------start------------->8---
guix import cran --recursive lubridate
--8<---------------cut here---------------end--------------->8---

returns only one package.  In fact, the "-r,--recursive" flag is missing from
the `guix import cran -h` documentation (while it's there for pipy).  I cannot
get it to work for pipy either.

Do you have a working example?

I've applied all you other suggestions.  Thank you Ricardo for this second
thorough review!

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

  reply	other threads:[~2018-10-08 18:42 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-13 10:50 Blog: Guix packaging tutorial Pierre Neidhardt
2018-09-13 11:16 ` Pjotr Prins
2018-09-13 11:53 ` Ricardo Wurmus
2018-09-13 12:04   ` Pjotr Prins
2018-09-13 19:11 ` Andreas Enge
2018-09-14 11:07   ` Pierre Neidhardt
2018-09-14 11:33     ` Pjotr Prins
2018-09-24 17:00       ` Pierre Neidhardt
2018-09-24 17:37         ` Pierre Neidhardt
2018-09-27 13:43           ` Ludovic Courtès
2018-09-27 17:34             ` Pierre Neidhardt
2018-09-29 16:28               ` Ludovic Courtès
2018-09-29 21:18           ` Ricardo Wurmus
2018-09-30 19:01             ` Pierre Neidhardt
2018-09-30 19:44               ` Ludovic Courtès
2018-09-30 21:14                 ` Pierre Neidhardt
2018-10-02 12:12                   ` Ludovic Courtès
2018-10-02 16:02                     ` Pierre Neidhardt
2018-10-02 19:46                       ` Ricardo Wurmus
2018-10-03  8:10                         ` Pierre Neidhardt
2018-10-03 18:16                           ` Pierre Neidhardt
2018-10-08 12:20                             ` Ludovic Courtès
2018-10-08 15:18                             ` Ricardo Wurmus
2018-10-08 18:41                               ` Pierre Neidhardt [this message]
2018-10-08 19:06                                 ` Pierre Neidhardt
2018-10-08 19:59                                 ` Ricardo Wurmus
2018-10-08 22:09                                   ` Pierre Neidhardt
2018-10-08 22:33                                     ` Pierre Neidhardt
2018-10-08 23:45                                       ` Pierre Neidhardt
2018-10-10 11:56                                         ` Ludovic Courtès
2018-10-10 13:20                                           ` George Clemmer
2018-10-10 13:31                                             ` Pierre Neidhardt
2018-10-10 14:13                                               ` Ricardo Wurmus
2018-10-10 14:00                                         ` Guix packaging tutorial is on-line! Ludovic Courtès
2018-10-10 14:12                                           ` Pierre Neidhardt
2018-10-10 15:07                                             ` Ricardo Wurmus
2018-10-10 16:09                                               ` Pierre Neidhardt
2018-10-11 13:41                                             ` Ludovic Courtès
2018-10-11 16:34                                               ` Pierre Neidhardt
2018-10-11 16:51                                                 ` Pierre Neidhardt
2018-10-15 12:02                                                   ` Ludovic Courtès
2018-10-15 12:39                                                     ` Pierre Neidhardt
2018-10-20 19:58                                         ` Blog: Guix packaging tutorial Divan
2018-10-21 10:30                                           ` Pierre Neidhardt
2018-10-21 11:21                                             ` Pierre Neidhardt
2018-10-22 20:40                                               ` Divan Santana
2018-10-22 21:11                                                 ` Pierre Neidhardt
2018-09-26 10:20         ` Ludovic Courtès
2018-09-26 10:28           ` Pierre Neidhardt
2018-09-27 11:56             ` Ludovic Courtès
  -- strict thread matches above, loose matches on Subject: below --
2018-10-08 22:54 Benjamin Slade
2018-10-08 23:05 ` Pierre Neidhardt
2018-10-09  0:04   ` Benjamin Slade
2018-10-10  9:02     ` Ludovic Courtès
2018-10-11  1:38       ` Benjamin Slade
2018-10-11  9:37         ` Gábor Boskovits
2018-10-11 13:39         ` Ludovic Courtès
2018-10-12  1:05           ` Benjamin Slade

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

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sh1g9t74.fsf@ambrevar.xyz \
    --to=mail@ambrevar.xyz \
    --cc=guix-blog@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=ricardo.wurmus@mdc-berlin.de \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).