unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: swedebugia <swedebugia@riseup.net>
To: L p R n d n <guix@lprndn.info>, guix-devel@gnu.org
Subject: Re: Packaging Arcan
Date: Fri, 23 Nov 2018 19:09:55 +0100	[thread overview]
Message-ID: <f248b556-9218-48b1-7b01-09588a04fa8a@riseup.net> (raw)
In-Reply-To: <cuc1s7cug8d.fsf@lprndn.info>

Hi :)

On 2018-11-23 13:32, L p R n d n wrote:
> 
> Huummm... Hello again,
> 
> Forgot something again. :/
> 
> So one last question (let's hope).
> 
> Arcan load 'appl's which are basically applications written in Lua.
> They don't need to be built, just copied to be used as is, so they don't
> produce binaries. To start an appl with arcan, you need to
> 'arcan $(path-to-appl)'.
> Whit Guix paths, it becomes quite complicated to load an appl.
> Fortunatly, Arcan allows us to specify an ENV variable with a folder
> containing the appls. Knowing that there can be multiple appls, how can
> we make them all availabe in the same folder the be able to do:
> 'arcan $(appl-name)' which would be a lot nicer.

You have 2 choices as I see it:

1) What about creating a separate package for these without a build stage?
Then they end up in the store and guix can tell the user to set the ENV 
to point to them (see below). This only makes sense if they can be used 
separately from arcan.

2)Alternatively look at the git-definition. It has multiple origin-inputs.

If these are not always needed you could place them in a separate output 
Example from git:

         (add-after 'install 'split
           (lambda* (#:key inputs outputs #:allow-other-keys)
             ;; Split the binaries to the various outputs. 
 

             (let* ((out      (assoc-ref outputs "out"))
                    (se       (assoc-ref outputs "send-email"))))))

This way they don't take up space for those who do not use them.

When the user installs them via e.g. arcan:appl, then they end up in the 
store and guix can tell the user to set the ENV to point to them.

This code in the git definition tells the user to set the correct ENV:

    (native-search-paths 

     (list
	  snip

           (search-path-specification
            (variable "GIT_EXEC_PATH")
            (separator #f)                         ;single entry 
 

            (files '("libexec/git-core")))))

I did not yet package anything that needed this.

Tip: I find the easiest way to find a definition is using emacs-guix -> 
guix-edit -> git.

-- 
Cheers
Swedebugia

PS: writing this I learned something myself about how this works :)

  reply	other threads:[~2018-11-23 18:04 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-23 12:14 Packaging Arcan L p R n d n
2018-11-23 11:40 ` Pierre Neidhardt
2018-11-23 12:54   ` L p R n d n
2018-11-23 12:16     ` Pierre Neidhardt
2018-11-26 15:59   ` L p R n d n
2018-11-23 12:32 ` L p R n d n
2018-11-23 18:09   ` swedebugia [this message]
2018-11-26 15:49     ` L p R n d n
2018-11-23 17:12 ` Thorsten Wilms

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=f248b556-9218-48b1-7b01-09588a04fa8a@riseup.net \
    --to=swedebugia@riseup.net \
    --cc=guix-devel@gnu.org \
    --cc=guix@lprndn.info \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).