unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Zelphir Kaltstahl <zelphirkaltstahl@posteo.de>
To: Ricardo Wurmus <rekado@elephly.net>
Cc: help-guix@gnu.org
Subject: Re: About packaging documentation
Date: Fri, 2 Apr 2021 17:33:02 +0200	[thread overview]
Message-ID: <aa648e77-9875-6982-b070-3f127ad95e24@posteo.de> (raw)
In-Reply-To: <df270eac-ab31-35d5-d603-6e7a9ba9d190@posteo.de>

Hi Ricardo!

On 4/2/21 1:29 PM, Zelphir Kaltstahl wrote:
>
> Hello Ricardo!
>
> On 3/16/21 11:03 PM, Ricardo Wurmus wrote:
>> Hi Zelphir,
>>
>>> Hello Ricardo!
>>>
>>> On 3/15/21 4:43 PM, Ricardo Wurmus wrote:
>>>> Hi Zelphir,
>>>>
>>>>> https://guix.gnu.org/cookbook/en/html_node/Packaging-Tutorial.html
>>>>> is a good
>>>>> start. It has even got cookbook in the name. Definitely the right idea to
>>>>> complement the general documentation. I am aware of its existence.
>>>>> Unfortunately, I could not get the basic approach of the "Hello World package"
>>>>> working for my package, even though it is pure guile, no other library required
>>>>> and no FFI or anything. I would have preferred not having to go through all the
>>>>> autotools stuff, and to have this simple way working for my package. Perhaps I
>>>>> did something slightly wrong. I do not know. Someone mentioned on the guile user
>>>>> mailing list, that this is all that should be needed for a pure guile package.
>>>>> Perhaps it can be updated?
>>>> Could you share the code you’re trying to package?  Perhaps it will
>>>> become clearer to us what you would like to see changed in the cookbook
>>>> — and perhaps it will become clearer to you how packaging for Guix works.
>>> Yes, I'll link it:
>>>
>>> https://notabug.org/ZelphirKaltstahl/guile-fslib/commit/eacdbb5ee9e30413392908d9e3988e30e9411aa7
>>> <https://notabug.org/ZelphirKaltstahl/guile-fslib/commit/eacdbb5ee9e30413392908d9e3988e30e9411aa7>
>>>
>>> Or:
>>>
>>> https://notabug.org/ZelphirKaltstahl/guile-fslib/src/0.2.0
>> Excellent.
>>
>> Here’s the package (I dumped this in (gnu packages guile-xyz)):
>>
>> --8<---------------cut here---------------start------------->8---
>> (define-public guile-fslib
>>   (package
>>     (name "guile-fslib")
>>     (version "0.2.0")
>>     (source
>>      (origin
>>        (method git-fetch)
>>        (uri (git-reference
>>              (url "https://notabug.org/ZelphirKaltstahl/guile-fslib/")
>>              (commit version)))
>>        (file-name (git-file-name name version))
>>        (sha256
>>         (base32
>>          "118d84p443w7hrslv8hjyhgws631ia08mggiyklkmk0b9plfdsvz"))))
>>     (build-system guile-build-system)
>>     (inputs
>>      `(("guile" ,guile-3.0)))
>>     (home-page "https://notabug.org/ZelphirKaltstahl/guile-fslib")
>>     (synopsis "File system utilities")
>>     (description
>>      "This package contains like super cool file system utilities and stuff.
>> It's really good and so easy to install!")
>>     (license license:agpl3+)))
>> --8<---------------cut here---------------end--------------->8---
>>
>> I only gave it a quick test like this:
>>
>> --8<---------------cut here---------------start------------->8---
>> $ ./pre-inst-env guix environment --ad-hoc guile  guile-fslib -- guile
>> […]
>> GNU Guile 3.0.5
>> Copyright (C) 1995-2021 Free Software Foundation, Inc.
>>
>> Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
>> This program is free software, and you are welcome to redistribute it
>> under certain conditions; type `,show c' for details.
>>
>> Enter `,help' for help.
>> scheme@(guile-user)> ,use (file-system)
>> scheme@(guile-user)> file-size-in-bytes
>> $1 = #<procedure file-size-in-bytes (path)>
>> scheme@(guile-user)> 
>> --8<---------------cut here---------------end--------------->8---
>>
>> Seems to work.
>>
>> And this is what was installed:
>>
>> --8<---------------cut here---------------start------------->8---
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/logging.go
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/test
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/test/test-fslib.go
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/test/test-list-utils.go
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/test/test-string-utils.go
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/fslib.go
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/file-reader.go
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/list-utils.go
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/file-system.go
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/string-utils.go
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/guile
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/guile/site
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/guile/site/3.0
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/guile/site/3.0/file-system.scm
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/guile/site/3.0/file-reader.scm
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/guile/site/3.0/test
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/guile/site/3.0/test/test-string-utils.scm
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/guile/site/3.0/test/test-fslib.scm
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/guile/site/3.0/test/test-list-utils.scm
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/guile/site/3.0/string-utils.scm
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/guile/site/3.0/fslib.scm
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/guile/site/3.0/list-utils.scm
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/guile/site/3.0/logging.scm
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/doc
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/doc/guile-fslib-0.2.0
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/doc/guile-fslib-0.2.0/todo.org
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/doc/guile-fslib-0.2.0/LICENSE
>> /gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/share/doc/guile-fslib-0.2.0/README.md
>> --8<---------------cut here---------------end--------------->8---
>>
>> One thing to note is that Guix didn’t run the tests, because it doesn’t
>> know how to (there’s no generic way to run tests for Guile packages, so
>> the build system doesn’t try).
>>
>> This can be changed by adding an “arguments” field to the package
>> definition that adds a phase to run the tests.
>
> First of all: Thanks again for providing the example definition of a package
> using the guile-build-system. This might well be the missing piece in the
> whole puzzle.
>
> I've looked at the cookbook again. The following things or aspects of the
> cookbook are not clear to me or cause confusion:
>
> (1) The cookbook does not even mention the guile-build-system. There is no
> example of it in the cookbook and no description of what a project needs to
> prepare or do, so that it can use the guile-build-system. Reading the cookbook
> one will not even know about the existence of guile-build-system. I checked, I
> searched the whole page at https://guix.gnu.org/cookbook/en/guix-cookbook.html
> <https://guix.gnu.org/cookbook/en/guix-cookbook.html> for
> "guile-build-system". Zero hits. To be fair, the cookbook links
> to https://guix.gnu.org/manual/en/guix.html#Build-Systems
> <https://guix.gnu.org/manual/en/guix.html#Build-Systems>, wherein there is a
> description of `guile-build-system`. There it says, what the
> guile-build-system is for, but no example is given.
>
> I guess this is, because the cookbook tries to be generic in a way, to apply
> to all languages, if only one uses autotools, as those are applicable to all
> languages. That is actually a good idea. I think, that build system specific
> examples would help people, who might not need the power of autotools, but for
> example have a pure GNU Guile project.
>
> This is probably, where I went wrong, when I tried to follow the cookbook
> months ago. I probably tried using gnu-build-system and failed, because I had
> no autotools infrastructure set up in my project.
>
> (2) The hello package example is using the gnu-build-system. I guess that
> means, that Guix will go through the usual autotools steps, after extracting a
> tarball or cloning a repository. However, then it would seem, that the success
> of the installation of the package largely hinges on what is defined in the
> autotools related files, like Makefile and such, which are part of the
> downloaded tar. Those however, are not described in the cookbook. If one is to
> create a package, which makes use of the gnu-build-system, then a description
> of how to get this done would be good to have. People have done it before, but
> documentation does not capture it. A good guide about this would have saved me
> a month of trying things, mailing list interaction, and write such guide
> myself. On the other hand, I would probably have learned less in the process.
>
> Getting back to the package definition example:
>
> Then there is another confusion: The definition you have written – Is that for
> editing the `guile.scm` in the Guix source tree, or is that for usage with
> `guix package --install-from-file=somename.scm` as shown for the hello package
> in the cookbook?
>
> My guess is, that it is for editing the Guix sources, because using it for
> `guix package --install-from-file` will not work, as the imports are missing
> and there is no "package value" returned at the end. I try to add those parts,
> but then more stuff is missing:
>
> ~~~~package definition~~~~
> (use-modules (guix packages)
>              (guix download)
>              (guix build-system gnu)
>              ((guix licenses) #:prefix license:))
>
> (define-public guile-fslib
>   (package
>     (name "guile-fslib")
>     (version "0.2.0")
>     (source
>      (origin
>        (method git-fetch)
>        (uri (git-reference
>              (url "https://notabug.org/ZelphirKaltstahl/guile-fslib/")
>              (commit version)))
>        (file-name (git-file-name name version))
>        (sha256
>         (base32
>          "118d84p443w7hrslv8hjyhgws631ia08mggiyklkmk0b9plfdsvz"))))
>     (build-system guile-build-system)
>     (inputs
>      `(("guile" ,guile-3.0)))
>     (home-page "https://notabug.org/ZelphirKaltstahl/guile-fslib")
>     (synopsis "File system utilities")
>     (description
>      "This package contains like super cool file system utilities and stuff.
> It's really good and so easy to install!")
>     (license license:agpl3+)))
>
> guile-fslib
> ~~~~
>
> ~~~~cli interaction~~~~
> $ guix package --install-from-file=guix.scm
>
> /home/user/dev/guile/guile-fslib/guix.scm:18:0: error: git-fetch: unbound variable
> hint: Did you forget a `use-modules' form?
> ~~~~
>
> So I looked at the guix sources and found git-fetch at
> https://git.savannah.gnu.org/cgit/guix.git/tree/guix/git-download.scm
> <https://git.savannah.gnu.org/cgit/guix.git/tree/guix/git-download.scm>.
>
> I guess the import should be `(guix git-download)`?
>
> Then the next one is missing: `guile-build-system`. -> (guix build-system guile)
>
> Then `guile-3.0` is missing. -> (gnu packages guile)
>
> After adding these the whole file looks as follows:
>
> ~~~~
> (use-modules (guix packages)
>              (guix download)
>              (guix git-download)
>              (guix build-system gnu)
>              (guix build-system guile)
>              (gnu packages guile)
>              ((guix licenses) #:prefix license:))
>
> (define-public guile-fslib
>   (package
>     (name "guile-fslib")
>     (version "0.2.0")
>     (source
>      (origin
>        (method git-fetch)
>        (uri (git-reference
>              (url "https://notabug.org/ZelphirKaltstahl/guile-fslib/")
>              (commit version)))
>        (file-name (git-file-name name version))
>        (sha256
>         (base32
>          "118d84p443w7hrslv8hjyhgws631ia08mggiyklkmk0b9plfdsvz"))))
>     (build-system guile-build-system)
>     (inputs
>      `(("guile" ,guile-3.0)))
>     (home-page "https://notabug.org/ZelphirKaltstahl/guile-fslib")
>     (synopsis "File system utilities")
>     (description
>      "This package contains like super cool file system utilities and stuff.
> It's really good and so easy to install!")
>     (license license:agpl3+)))
>
> guile-fslib
> ~~~~
>
> (I know, I might not need some of the imports remaining, like the
> `gnu-build-system` from `(guix build-system gnu)`, as I am then using the
> `guile-build-system`.)
>
> I think an example with `guile-build-system` would be good to have in the
> cookbook. The other docs (almost?) exclusively mention gnu-build-system only
> as well.
>
> If this definition of a package works using `guix package
> --install-from-file=somename.scm`, is it safe to assume, that it will work
> when putting that definition inside `guile.scm` in the GNU Guix sources? If it
> is not safe to assume this, what are the things, that make it unsafe to assume so?
>
> Best regards,
> Zelphir
>
> -- 
> repositories: https://notabug.org/ZelphirKaltstahl

Addendum:

I have now tried putting the package definition, which worked using `guix
package --install-from-file` into `gnu/packages/guile.scm` of the GNU Guix
sources. Then I did the following:

~~~~
$ guix environment guix -- ./bootstrap
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
0.7 MB will be downloaded
downloading from https://ci.guix.gnu.org/nar/lzip/wxakh3p219z0vqqbwzi5rsyz40f0bsaa-desktop-file-utils-0.26 ...
 desktop-file-utils-0.26  46KiB                                            509KiB/s 00:00 [##################] 100.0%

downloading from https://ci.guix.gnu.org/nar/lzip/0xg5lvw86dviqiqbd9qi6fdhpf6ld1fk-shared-mime-info-1.15 ...
 shared-mime-info-1.15  663KiB                                             1.6MiB/s 00:00 [##################] 100.0%

substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivation will be built:
   /gnu/store/n6h2n9fkn7hypig8i9gajr7bb1sx9xi3-profile.drv

7.1 MB will be downloaded
downloading from https://ci.guix.gnu.org/nar/lzip/m5iprcg6pb5ch86r9agmqwd8v6kp7999-guile-3.0.5 ...
 guile-3.0.5  6.8MiB                                                       5.2MiB/s 00:01 [##################] 100.0%

applying 1 graft for /gnu/store/p9br9bggj8d9n033r9136j0anmv9x9xq-desktop-file-utils-0.26.drv ...
applying 1 graft for /gnu/store/b2wgvf0j2jg0vk8fgjlkwlpfp6nbdq8p-gts-0.7.6.drv ...
applying 1 graft for /gnu/store/ga8v332m2vqcp0d1g388912z7m2d2mkb-harfbuzz-2.6.4.drv ...
applying 1 graft for /gnu/store/c2zwi91j4pjykmblm3g938sx1z5nj26l-libxext-1.3.4.drv ...
applying 1 graft for /gnu/store/qy7sv184cq4ff0frvnd2pr579q4pb2b6-libxt-1.2.0.drv ...
applying 4 grafts for /gnu/store/rih78v4x0i1gx18g0bp7vcfd42y39ka3-cairo-1.16.0.drv ...
applying 3 grafts for /gnu/store/pg513q3vjnclj7c7k4ckfsbpidgank0d-libxmu-1.1.3.drv ...
applying 3 grafts for /gnu/store/1mgmlh36cfr7h1pj73r0n72dq0ld7asj-libxpm-3.5.13.drv ...
applying 6 grafts for /gnu/store/7yzb0h53ygy1ll3996ja7dmai7ayr7nz-pango-1.44.7.drv ...
applying 5 grafts for /gnu/store/l56fn2w125rcxmgf4341d6mpsgiw4chk-libxaw-1.0.13.drv ...
applying 1 graft for /gnu/store/yyag7hqi9bgmfn1aqkibqfmp9f513x5l-shared-mime-info-1.15.drv ...
applying 12 grafts for /gnu/store/bvfz3lnhp65m9fg5jg1yv4m433ds1dgr-graphviz-2.42.3.drv ...
building CA certificate bundle...
building fonts directory...
generating GLib schema cache...
building directory of Info manuals...
building database for manual pages...
building XDG desktop file cache...
building XDG MIME database...
building profile with 57 packages...
+ find po/doc -type f+  -name guix-manual*.po
sed -e s,guix-manual\.,,+ 
xargs -n 1 -I{} basename {} .po
+ langs=de
zh_CN
es
fr
ru
+ [ ! -e doc/guix.de.texi ]
+ echo @setfilename guix.de.info
+ echo @include version-de.texi
+ touch po/doc/guix-manual.de.po
+ [ ! -e doc/guix.zh_CN.texi ]
+ echo @setfilename guix.zh_CN.info
+ echo @include version-zh_CN.texi
+ touch po/doc/guix-manual.zh_CN.po
+ [ ! -e doc/guix.es.texi ]
+ echo @setfilename guix.es.info
+ echo @include version-es.texi
+ touch po/doc/guix-manual.es.po
+ [ ! -e doc/guix.fr.texi ]
+ echo @setfilename guix.fr.info
+ echo @include version-fr.texi
+ touch po/doc/guix-manual.fr.po
+ [ ! -e doc/guix.ru.texi ]
+ echo @setfilename guix.ru.info
+ echo @include version-ru.texi
+ touch po/doc/guix-manual.ru.po
+ find po/doc -type f -name guix-cookbook*.po
+ sed -e s,guix-cookbook\.,,
+ xargs -n 1 -I{} basename {} .po
+ langs=de
+ [ ! -e doc/guix-cookbook.de.texi ]
+ echo @setfilename guix-cookbook.de.info
+ touch po/doc/guix-cookbook.de.po
+ exec autoreconf -vfi
autoreconf: Entering directory `.'
autoreconf: running: autopoint --force
Copying file ABOUT-NLS
Copying file build-aux/config.rpath
Copying file m4/codeset.m4
Copying file m4/fcntl-o.m4
Copying file m4/gettext.m4
Copying file m4/glibc2.m4
Copying file m4/glibc21.m4
Copying file m4/iconv.m4
Copying file m4/intdiv0.m4
Copying file m4/intl.m4
Copying file m4/intldir.m4
Copying file m4/intlmacosx.m4
Copying file m4/intmax.m4
Copying file m4/inttypes-pri.m4
Copying file m4/inttypes_h.m4
Copying file m4/lcmessage.m4
Copying file m4/lib-ld.m4
Copying file m4/lib-link.m4
Copying file m4/lib-prefix.m4
Copying file m4/lock.m4
Copying file m4/longlong.m4
Copying file m4/nls.m4
Copying file m4/po.m4
Copying file m4/printf-posix.m4
Copying file m4/progtest.m4
Copying file m4/size_max.m4
Copying file m4/stdint_h.m4
Copying file m4/threadlib.m4
Copying file m4/uintmax_t.m4
Copying file m4/visibility.m4
Copying file m4/wchar_t.m4
Copying file m4/wint_t.m4
Copying file m4/xsize.m4
Copying file po/guix/Makefile.in.in
Copying file po/packages/Makefile.in.in
Copying file po/guix/Makevars.template
Copying file po/packages/Makevars.template
Copying file po/guix/Rules-quot
Copying file po/packages/Rules-quot
Copying file po/guix/boldquot.sed
Copying file po/packages/boldquot.sed
Copying file po/guix/en@boldquot.header
Copying file po/packages/en@boldquot.header
Copying file po/guix/en@quot.header
Copying file po/packages/en@quot.header
Copying file po/guix/insert-header.sin
Copying file po/packages/insert-header.sin
Copying file po/guix/quot.sed
Copying file po/packages/quot.sed
Copying file po/guix/remove-potcdate.sin
Copying file po/packages/remove-potcdate.sin
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /gnu/store/yk3zw1pqbs5wlf1lapf25986yjd0g736-autoconf-2.69/bin/autoconf --force
autoreconf: running: /gnu/store/yk3zw1pqbs5wlf1lapf25986yjd0g736-autoconf-2.69/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:23: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged.
configure.ac:23: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead,
configure.ac:23: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.
config-daemon.ac:8: installing 'build-aux/ar-lib'
configure.ac:21: installing 'build-aux/compile'
configure.ac:23: installing 'build-aux/config.guess'
configure.ac:23: installing 'build-aux/config.sub'
configure.ac:11: installing 'build-aux/install-sh'
configure.ac:11: installing 'build-aux/missing'
Makefile.am: installing './INSTALL'
Makefile.am:710: warning: AM_GNU_GETTEXT used but 'po' not in SUBDIRS
Makefile.am: installing 'build-aux/depcomp'
doc/local.mk:24: installing 'build-aux/mdate-sh'
Makefile.am:713:   'doc/local.mk' included from here
doc/local.mk:24: installing 'build-aux/texinfo.tex'
Makefile.am:713:   'doc/local.mk' included from here
parallel-tests: installing 'build-aux/test-driver'
autoreconf: Leaving directory `.'
~~~~

Then:

~~~~
$ guix environment guix -- ./configure --localstatedir=/var
checking for a BSD-compatible install... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/grep
checking for egrep... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether NLS is requested... yes
checking for msgfmt... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/msgfmt
checking for gmsgfmt... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/msgfmt
checking for xgettext... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/xgettext
checking for msgmerge... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/msgmerge
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for ld used by GCC... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/ld
checking if the linker (/gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for sed... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/sed
checking for the Guix system type... x86_64-linux
checking for the store directory... /gnu/store
checking the length of the installed socket file name... 30
checking for unit test root directory... /home/jitsi/dev/guix/test-tmp
checking the length of the socket file name used in tests... 61
checking the length of a typical hash bang line... 73
checking the length of a hash bang line used in tests... 98
checking for pkg-config... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
configure: checking for guile 3.0
configure: found guile 3.0
checking for guile-3.0... no
checking for guile3.0... no
checking for guile-3... no
checking for guile3... no
checking for guile... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/guile
checking for Guile version >= 3.0... 3.0.5
checking for guild... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/guild
checking for guile-config... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/guile-config
checking for guile-3.0... yes
checking if (gnutls) is available... yes
checking if (git) is available... yes
checking whether Guile-JSON is available and recent enough... yes
checking whether Guile-Sqlite3 is available and recent enough... yes
checking whether Guile-Gcrypt is available and recent enough... yes
checking whether Guile-Git is available and recent enough... yes
checking whether Guile-zlib is available and recent enough... yes
checking if (lzlib) is available... yes
checking if (avahi) is available... yes
checking if (newt) is available... no
checking whether /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/guile provides feature 'regex'... yes
checking whether /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/guile provides feature 'posix'... yes
checking whether /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/guile provides feature 'socket'... yes
checking whether /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/guile provides feature 'net-db'... yes
checking whether /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/guile provides feature 'threads'... yes
checking for a sed that does not truncate output... (cached) /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/sed
checking for gzip... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/gzip
checking for bzip2... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/bzip2
checking for xz... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/xz
checking for Nixpkgs source tree... not found
checking for libgcrypt-config... /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/libgcrypt-config
checking libgcrypt's library directory... /gnu/store/qc3k3kd458pgrqsc7ih641160q81npwq-libgcrypt-1.8.5/lib
checking whether Guile-SSH is available and recent enough... yes
checking whether to build daemon... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for ar... ar
checking the archiver (ar) interface... ar
checking whether g++ supports C++11... yes
checking for ranlib... ranlib
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for gzdopen in -lz... yes
checking how to run the C++ preprocessor... g++ -E
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for BZ2_bzWriteOpen in -lbz2... yes
checking bzlib.h usability... yes
checking bzlib.h presence... yes
checking for bzlib.h... yes
checking for sqlite3 >= 3.6.19... yes
checking for gcry_md_open in -lgcrypt... yes
checking gcrypt.h usability... yes
checking gcrypt.h presence... yes
checking for gcrypt.h... yes
checking for chroot... yes
checking for unshare... yes
checking sched.h usability... yes
checking sched.h presence... yes
checking for sched.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/mount.h usability... yes
checking sys/mount.h presence... yes
checking for sys/mount.h... yes
checking sys/syscall.h usability... yes
checking sys/syscall.h presence... yes
checking for sys/syscall.h... yes
checking for lutimes... yes
checking for lchown... yes
checking for posix_fallocate... yes
checking for sched_setaffinity... yes
checking for statvfs... yes
checking for nanosleep... yes
checking for strsignal... yes
checking for statx... yes
checking whether it is possible to create a link to a symlink... yes
checking locale usability... yes
checking locale presence... yes
checking for locale... yes
checking sys/personality.h usability... yes
checking sys/personality.h presence... yes
checking for sys/personality.h... yes
checking for default substitute URLs... https://ci.guix.gnu.org
checking whether Guile-SSH is available and recent enough... (cached) yes
checking for unit test root directory... (cached) /home/jitsi/dev/guix/test-tmp
checking for guile... (cached) /gnu/store/zdam6rlg9jv2hp3j7v7m0y13s95d363y-profile/bin/guile
checking the current installation's localstatedir... none
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating po/guix/Makefile.in
config.status: creating po/packages/Makefile.in
config.status: creating etc/guix-daemon.cil
config.status: creating guix/config.scm
config.status: creating etc/committer.scm
config.status: creating test-env
config.status: creating pre-inst-env
config.status: creating nix/config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/guix/POTFILES
config.status: creating po/guix/Makefile
config.status: creating po/packages/POTFILES
config.status: creating po/packages/Makefile
~~~~

Then the `pre-inst-env` script exists.

Then:

~~~~
$ ./pre-inst-env guix build guile-fslib
guix build: error: guile-fslib: unknown package
~~~~

Ugh. Not working. The same package definition worked just fine using
--install-from-file, but now I think the package wont work on anyone else'
machine, just like it does not work when I test it like that.

I tried one more thing, that did work: I put the definition inside an extra file
named `guile-fslib.scm`, just like the file I used `--install-from-file` on and
then I ran the following:

~~~~
$ ./pre-inst-env guix build --keep-failed --file='guile-fslib.scm'
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivations will be built:
   /gnu/store/nqci2wa2a5fx6cym3i74k69wkm6mwfra-guile-fslib-0.2.0.drv
   /gnu/store/z9c4bpaiq1jmrmx3m6sggw0ajdf7q9cs-guile-fslib-0.2.0-checkout.drv
1.5 MB will be downloaded:
   /gnu/store/1qajaizxg10ianhh5fnky5bwiz2l4184-module-import-compiled
   /gnu/store/sf3rbvb6iqcphgm1afbplcs72hsywg25-tar-1.32
   /gnu/store/lzsssshw32sxxlwgdhdjwpl7nhnk7fhs-module-import-compiled
The following grafts will be made:
   /gnu/store/7hcs4z69wlmjl6c442x1yqd9w6xwryjr-git-minimal-2.30.2.drv
   /gnu/store/xnpfr95ffdh7rm67k49dh1kzhsicnm2m-curl-7.74.0.drv
   /gnu/store/lngj579ik94cc7bainy9fyccig7gw48h-cyrus-sasl-2.1.27.drv
   /gnu/store/s0j82ldasrkj24h34sm4qnxzx4na1phg-openldap-2.4.57.drv
substituting /gnu/store/lzsssshw32sxxlwgdhdjwpl7nhnk7fhs-module-import-compiled...
downloading from https://ci.guix.gnu.org/nar/lzip/lzsssshw32sxxlwgdhdjwpl7nhnk7fhs-module-import-compiled ...
 module-import-compiled  211KiB                                            843KiB/s 00:00 [##################] 100.0%

substituting /gnu/store/1qajaizxg10ianhh5fnky5bwiz2l4184-module-import-compiled...
downloading from https://ci.guix.gnu.org/nar/lzip/1qajaizxg10ianhh5fnky5bwiz2l4184-module-import-compiled ...
 module-import-compiled  515KiB                                            1.5MiB/s 00:00 [##################] 100.0%

substituting /gnu/store/sf3rbvb6iqcphgm1afbplcs72hsywg25-tar-1.32...
downloading from https://ci.guix.gnu.org/nar/lzip/sf3rbvb6iqcphgm1afbplcs72hsywg25-tar-1.32 ...
 tar-1.32  752KiB                                                          2.0MiB/s 00:00 [##################] 100.0%

applying 1 graft for /gnu/store/lngj579ik94cc7bainy9fyccig7gw48h-cyrus-sasl-2.1.27.drv ...
grafting '/gnu/store/macdf0y0id1h00y2zqy5sxzwn2v3qvdz-cyrus-sasl-2.1.27' -> '/gnu/store/4qy1cp6x4ryzvcfm3chgbpri6dx52k3n-cyrus-sasl-2.1.27'...
successfully built /gnu/store/lngj579ik94cc7bainy9fyccig7gw48h-cyrus-sasl-2.1.27.drv
applying 2 grafts for /gnu/store/s0j82ldasrkj24h34sm4qnxzx4na1phg-openldap-2.4.57.drv ...
grafting '/gnu/store/as9q61cn5jk9srknmfnlprmz2snqk597-openldap-2.4.57' -> '/gnu/store/5cw1rzmr1fc4yxqsd3hbkxwzd8w55jrp-openldap-2.4.57'...
successfully built /gnu/store/s0j82ldasrkj24h34sm4qnxzx4na1phg-openldap-2.4.57.drv
applying 3 grafts for /gnu/store/xnpfr95ffdh7rm67k49dh1kzhsicnm2m-curl-7.74.0.drv ...
grafting '/gnu/store/8w6s8bfy3i6dfka46k4wmgygq310cm6s-curl-7.74.0' -> '/gnu/store/x6h00yp094230mrj63vmjxszvn9fycwq-curl-7.74.0'...
successfully built /gnu/store/xnpfr95ffdh7rm67k49dh1kzhsicnm2m-curl-7.74.0.drv
applying 2 grafts for /gnu/store/7hcs4z69wlmjl6c442x1yqd9w6xwryjr-git-minimal-2.30.2.drv ...
grafting '/gnu/store/xc2b4nifbx8ma71qzxpn6sg0sva0cljc-git-minimal-2.30.2' -> '/gnu/store/8hgskvavq4lgrqip986dqnncv2qdczsb-git-minimal-2.30.2'...
successfully built /gnu/store/7hcs4z69wlmjl6c442x1yqd9w6xwryjr-git-minimal-2.30.2.drv
building /gnu/store/z9c4bpaiq1jmrmx3m6sggw0ajdf7q9cs-guile-fslib-0.2.0-checkout.drv...
guile: warning: failed to install locale
environment variable `PATH' set to `/gnu/store/378zjf2kgajcfd7mfr98jn5xyc5wa3qv-gzip-1.10/bin:/gnu/store/sf3rbvb6iqcphgm1afbplcs72hsywg25-tar-1.32/bin'
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint: 
hint: 	git config --global init.defaultBranch <name>
hint: 
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint: 
hint: 	git branch -m <name>
Initialized empty Git repository in /gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/.git/
From https://notabug.org/ZelphirKaltstahl/guile-fslib
 * tag               0.2.0      -> FETCH_HEAD
Note: switching to 'FETCH_HEAD'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at eacdbb5 implement file-name procedure
successfully built /gnu/store/z9c4bpaiq1jmrmx3m6sggw0ajdf7q9cs-guile-fslib-0.2.0-checkout.drv
building /gnu/store/nqci2wa2a5fx6cym3i74k69wkm6mwfra-guile-fslib-0.2.0.drv...
starting phase `set-SOURCE-DATE-EPOCH'
phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds
starting phase `set-paths'
environment variable `PATH' set to `/gnu/store/v6f44zccwh9z5zk3pjlywjybbi8n2hjh-tar-1.32/bin:/gnu/store/ncydgq2znms5n1d2k5yqshhf58nsixwv-gzip-1.10/bin:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/bin:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/bin:/gnu/store/18hp7flyb3yid3yp49i6qcdq0sbi5l1n-guile-3.0.2/bin'
environment variable `GUILE_LOAD_PATH' unset
environment variable `GUILE_LOAD_COMPILED_PATH' unset
phase `set-paths' succeeded after 0.0 seconds
starting phase `set-locale-path'
phase `set-locale-path' succeeded after 0.0 seconds
starting phase `install-locale'
using 'en_US.utf8' locale for category "LC_ALL"
phase `install-locale' succeeded after 0.0 seconds
starting phase `unpack'
`/gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/logging.scm' -> `./logging.scm'
`/gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/todo.org' -> `./todo.org'
`/gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/list-utils.scm' -> `./list-utils.scm'
`/gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/fslib.scm' -> `./fslib.scm'
`/gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/string-utils.scm' -> `./string-utils.scm'
`/gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/.gitignore' -> `./.gitignore'
`/gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/README.md' -> `./README.md'
`/gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/file-reader.scm' -> `./file-reader.scm'
`/gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/LICENSE' -> `./LICENSE'
`/gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/file-system.scm' -> `./file-system.scm'
`/gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/test/test-string-utils.scm' -> `./test/test-string-utils.scm'
`/gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/test/test-list-utils.scm' -> `./test/test-list-utils.scm'
`/gnu/store/0qv6zs2n0riiqnpkpyrpnwjq3qlj5dk1-guile-fslib-0.2.0-checkout/test/test-fslib.scm' -> `./test/test-fslib.scm'
phase `unpack' succeeded after 0.0 seconds
starting phase `patch-usr-bin-file'
phase `patch-usr-bin-file' succeeded after 0.0 seconds
starting phase `patch-source-shebangs'
phase `patch-source-shebangs' succeeded after 0.0 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `build'
Compiling with Guile 3.0...
compile flags: ("-Wunbound-variable" "-Warity-mismatch" "-Wformat")
wrote `/gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/./file-reader.go'
[ 1/ 9] Compiling...
logging.scm:11:24: warning: non-literal format string
wrote `/gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/./logging.go'
[ 2/ 9] Compiling...
wrote `/gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/./list-utils.go'
[ 3/ 9] Compiling...
wrote `/gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/./file-system.go'
[ 4/ 9] Compiling...
wrote `/gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/./string-utils.go'
[ 5/ 9] Compiling...
wrote `/gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/./fslib.go'
[ 6/ 9] Compiling...
wrote `/gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/./test/test-string-utils.go'
wrote `/gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/./test/test-list-utils.go'
[ 7/ 9] Compiling...
[ 8/ 9] Compiling...
wrote `/gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0/lib/guile/3.0/site-ccache/./test/test-fslib.go'
[ 9/ 9] Compiling...
phase `build' succeeded after 1.6 seconds
starting phase `install-documentation'
phase `install-documentation' succeeded after 0.0 seconds
starting phase `patch-shebangs'
phase `patch-shebangs' succeeded after 0.0 seconds
starting phase `validate-documentation-location'
phase `validate-documentation-location' succeeded after 0.0 seconds
starting phase `delete-info-dir-file'
phase `delete-info-dir-file' succeeded after 0.0 seconds
starting phase `patch-dot-desktop-files'
phase `patch-dot-desktop-files' succeeded after 0.0 seconds
starting phase `install-license-files'
installing 1 license files from '.'
phase `install-license-files' succeeded after 0.0 seconds
starting phase `reset-gzip-timestamps'
phase `reset-gzip-timestamps' succeeded after 0.0 seconds
starting phase `compress-documentation'
phase `compress-documentation' succeeded after 0.0 seconds
successfully built /gnu/store/nqci2wa2a5fx6cym3i74k69wkm6mwfra-guile-fslib-0.2.0.drv
/gnu/store/2k3x0j6mvypjagam39dx89fd5yan7a3y-guile-fslib-0.2.0
~~~~

So apparently the definition _can_ work with that definition - Yay! Now I only
need to know how to put it into the real file, `gnu/packages/guile.scm`, so that
it is picked up buy the GNU Guix, of which I am editing the sources. It all
seems to be about it not being picked up, if I only put it into the file and try
the `./pre-inst-env guix build guile-fslib` command. I seem to be missing some
detail here.

What is it, that I need to do after editing `gnu/packages/guile.scm`, so that
GNU Guix picks up the definition and knows about the package?

Regards,
Zelphir

-- 
repositories: https://notabug.org/ZelphirKaltstahl


  reply	other threads:[~2021-04-02 15:34 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-15 14:46 About packaging documentation Zelphir Kaltstahl
2021-03-15 15:43 ` Ricardo Wurmus
2021-03-16 19:27   ` Zelphir Kaltstahl
2021-03-16 22:03     ` Ricardo Wurmus
2021-03-17 20:43       ` Zelphir Kaltstahl
2021-04-02 11:29       ` Zelphir Kaltstahl
2021-04-02 15:33         ` Zelphir Kaltstahl [this message]
2021-04-02 21:59           ` Ricardo Wurmus
2021-04-04 13:41             ` About packaging (was: About packaging documentation) Zelphir Kaltstahl
2021-04-04 14:35               ` Ricardo Wurmus
2021-04-04 15:57                 ` Zelphir Kaltstahl
2021-04-04 14:38               ` Tobias Geerinckx-Rice
2021-04-04 15:30                 ` Zelphir Kaltstahl
2021-04-02 21:56         ` About packaging documentation Ricardo Wurmus
2021-04-04 13:59           ` Zelphir Kaltstahl

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=aa648e77-9875-6982-b070-3f127ad95e24@posteo.de \
    --to=zelphirkaltstahl@posteo.de \
    --cc=help-guix@gnu.org \
    --cc=rekado@elephly.net \
    /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.
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).