help-guix
[Top][All Lists]
Advanced

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

Re: Packaging existing software for Guix


From: Vagrant Cascadian
Subject: Re: Packaging existing software for Guix
Date: Tue, 29 Mar 2022 09:31:18 -0700

On 2022-03-29, Cássio Tavares wrote:
> So, I'm looking into package definition, and I have a few questions to
> start:
>
>    1. If I submit an issue with a package request, does it take long for
>    the package to be made available?

This can be highly variable, unfortunately. There aren't always enough
people to review the requests.

The good news is that guix generally makes it relatively easy to use
your local changes immediately while you wait for it to get merged.


>    2. Can someone with only a very basic understanding of the Scheme (and
>    the functional paradigm) package software successfully enough to submit it
>    to the Guix project?

I've made more than a few package updates, modifications to packages,
new packages, etc. without really knowing scheme at all. I do have prior
experience packaging with Debian, though it is quite different.


>    3. Would that be very time-consuming (because my work is in a very
>    different area)? Is the learning curve steep?

I pretty much just take examples from looking at other packages, asking
for help on IRC or the mailing lists when I get stuck. Folks are usually
quite willing to help out!


>    4. As far as I could understand, when defining a package from a git
>    repository, I have to specify the package version and commit. Does this
>    mean that I will forever have to check for new versions and edit the
>    package definition to update it?

For changes going into upstream Guix, generally yes. Because guix is
functional package management, you need to know the hashes of your
inputs in advance.

The exception might be that some upstream software provides a guix.scm
to be able to build from the current git checkout. For example, the GNU
Mes project:

  https://git.savannah.gnu.org/cgit/mes.git/tree/guix.scm


>    5. Is there a relatively simple way to port packages from other distros
>    into Guix? Could this be an automated process?

There are various importers that allow importing packages from other
sources, though they may require some manual fixups in order to be
useable; depends on the importer.


>    6. Any further advice?

Feel free to experiment! Guix provides various mechanisms that make it
easy to not break your current environment, such as:

  guix shell PACKAGE # temporary environment with PACKAGE installed

I use that a lot when testing new things so as not to pollute my working
environment with experiemental changes, while still being able to test
them out.

The folks on IRC are generally hugely helpful.

Try to wrap your head around the manual, as it has answers to *many*
questions; the hardest part is sometimes figuring out exactly what is
relevent to what you're trying to do. I'd recommend the development
version of the manual:

  https://guix.gnu.org/en/manual/devel/en/guix.html

The cookbook also has some great examples that are a little more hands
on and more about doing something specific:

  https://guix.gnu.org/en/cookbook/en/guix-cookbook.html


live well,
  vagrant

Attachment: signature.asc
Description: PGP signature


reply via email to

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