unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Vagrant Cascadian <vagrant@debian.org>
To: "Cássio Tavares" <cassio.ufg@gmail.com>,
	"Guix Help Mailing List" <help-guix@gnu.org>
Subject: Re: Packaging existing software for Guix
Date: Tue, 29 Mar 2022 09:31:18 -0700	[thread overview]
Message-ID: <87wngclnzd.fsf@contorta> (raw)
In-Reply-To: <CAJTCCxPCKNAJi0dQryLHDFz=27UUsUYLmyNEzCacMhbxfUGomA@mail.gmail.com>

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

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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

  parent reply	other threads:[~2022-03-29 16:32 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-29 14:22 Packaging existing software for Guix Cássio Tavares
2022-03-29 15:55 ` Ricardo Wurmus
2022-04-04 21:17   ` Cássio Tavares
2022-04-08  3:59     ` raingloom
2022-03-29 16:31 ` Vagrant Cascadian [this message]
2022-03-31 22:23   ` Cássio Tavares
2022-04-02 17:00     ` Bird
  -- strict thread matches above, loose matches on Subject: below --
2022-04-01  6:26 Liliana Marie Prikler
2022-04-01 13:21 ` Cássio Tavares

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=87wngclnzd.fsf@contorta \
    --to=vagrant@debian.org \
    --cc=cassio.ufg@gmail.com \
    --cc=help-guix@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.
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).