unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Bird <birdsite@airmail.cc>
To: "Cássio Tavares" <cassio.ufg@gmail.com>
Cc: Vagrant Cascadian <vagrant@debian.org>,
	Guix Help Mailing List <help-guix@gnu.org>
Subject: Re: Packaging existing software for Guix
Date: Sat, 02 Apr 2022 17:00:20 +0000	[thread overview]
Message-ID: <854k3bifob.fsf@airmail.cc> (raw)
In-Reply-To: <CAJTCCxOg--V3XubFyss=v3Ri-Y3ZDkB21aV3giZ2fq1KrDCuTA@mail.gmail.com> ("Cássio Tavares"'s message of "Thu, 31 Mar 2022 22:23:24 +0000")

Cássio Tavares <cassio.ufg@gmail.com> writes:

>> 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
>>
>
> OK, I checked this scheme file, and it's just a four-line program, but I
> don't get it. So, help me here ─ what is this *↓↓↓* `mes` code actually
> doing?
>
> (define %source-dir (dirname (current-filename)))
> (add-to-load-path (string-append %source-dir "/guix")) (use-modules
> (git mes))

This defines a variable called "%source-dir" which contains the
directory name of current file (which is guix.scm). If we assume the
current file is in ~/mes/guix.scm, it'll be ~/mes

Then it adds the ~/mes/guix in the places guix will look for
code. (load-path).

For more info, run: info "(guile) Modules and the File System"

The (use-modules (git mes)) line says to find a filename "mes.scm" under
directory "git". Guix searches in the directories defined in load-path
and it'll find ~/mes/git/mes.scm file.

The mes.scm file defines some packages including mes.git . Putting the
name of package at the end means you can use `guix build -f guix.scm' or `guix
install -f guix.scm' directly without specifying an exact package

>
> Thanks again,
> Cássio
>
>


  reply	other threads:[~2022-04-02 19:23 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
2022-03-31 22:23   ` Cássio Tavares
2022-04-02 17:00     ` Bird [this message]
  -- 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=854k3bifob.fsf@airmail.cc \
    --to=birdsite@airmail.cc \
    --cc=cassio.ufg@gmail.com \
    --cc=help-guix@gnu.org \
    --cc=vagrant@debian.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).