guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Help making a GNU Guix package for pure GNU Guile library


From: Zelphir Kaltstahl
Subject: Help making a GNU Guix package for pure GNU Guile library
Date: Sat, 30 Jan 2021 18:17:22 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Icedove/68.10.0

Hello Guilers!

For some time now I wanted to be able to make Guix package of some of my
Guile projects or at least understand and know how to do that, write a
guide for it and so on, to be able to do it whenever I need it and also
to be able to contribute better to the Guile community and enable others
to read how to create Guile packages and contribute. People would not
have to clone any repo from me directly, but could use Guix to install
stuff.

A few weeks ago I asked in the Guile IRC channel about how to approach
learning the required things. There people recommended me to look at
guile-haunt as an example, because it is also a pure Guile program,
which is packaged for Guix already. So that i what I started doing.

There is a whole jungle of stuff, that I do not yet understand in depth.
Many of those things are GNU Autotools / GNU Automake or GNU M4 related.
I have taken a detailed look at guile-haunt's Makeile.am and documented
anything I understand about it in a plaintext org-mode file. In that
file I wrote "TODO", for example "TODO: explain x" for anything, that I
did not yet understand.

I also have some more general questions, which I want to ask, but first
I want to post the links to what I am referring to:

* guile-haunt repository
Makefile.am: 
https://github.com/guildhall/guile-haunt/blob/c67e8e924c664ae4035862cc7b439cd7ec4bcef6/Makefile.am

* my own notes about the Makefile.am:
https://notabug.org/ZelphirKaltstahl/guix-package-manager-tutorials/src/01cc6af019862bd6a588c4e376f07bad9f5fb1f3/make-a-package/autotools-usage/guile-haunt.org
(Should I be pasting all the TODO items as separate questions in this
e-mail, or is posting a permalink to the document OK?)

Perhaps you can already see from the TODO things I wrote down there,
that my knowledge about the tooling is quite limited. I've never done a
lot of C programming or other ones, where one often sees Makefiles and
the usual stuff. So if you reply, please keep in mind my beginner
knowledge about these things.

Can you help me out filling the remining gaps in understanding?

Also I have another question, which I will try to answer myself:

Why does guile-haunt use Makefile.am? Why is a simple Makefile not
sufficient?

My own attempt at an answer: Autotools seem to try to be a compatibility
layer for many different systems and perform loads of checks, to
ultimately generate a working Makefile for each system on which the
Makefile.am is processed. This is important for Guix, as Guix is
supposed to work on any GNU/Linux distribution. So by using GNU
Autotools instead of GNU Make directly, I would be making my package
more stable on various systems, on which the defaults may differ from my
own system.

And ultimately: Should I be asking this question on the Guix mailing
list, instead of here?

Best regards,
Zelphir

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]