all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "José Miguel Sánchez García" <jmi2k@openmailbox.org>
To: ludo@gnu.org
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] gnu: xmonad: Add missing propagated input.
Date: Mon, 09 Jan 2017 17:28:15 +0100	[thread overview]
Message-ID: <6a0f504b1ffe30f880ba804c9dca8f64@openmailbox.org> (raw)
In-Reply-To: <877f65x1k7.fsf@gnu.org>

On 2017-01-08 11:56, ludo@gnu.org wrote:
> Hi!
> 
> José Miguel Sánchez García <jmi2k@openmailbox.org> skribis:
> 
>> On 2017-01-07 22:48, ludo@gnu.org wrote:
>>> José Miguel Sánchez García <jmi2k@openmailbox.org> skribis:
>>> 
>>>> xmonad package needs some love, and this is the first step. ghc 
>>>> should
>>>> be a
>>>> propagated input, because it's needed for certain commands such as
>>>> xmonad --recompile.
>>> 
>>> Instead of propagating it, would it be possible to hard-code the
>>> absolute file name of ‘ghc’ inside the xmonad source?
>>> 
>>> That would avoid pulling in GHC in the user’s profile, which could
>>> conflict with the user’s GHC.
>>> 
>>> Thanks!
>>> 
>>> Ludo’.
>> I don't understand. xmonad needs ghc at runtime to compile the
>> configuration
>> file (because the configuration file is a binary and XMonad is a
>> library).
>> Could you explain better?
> 
> Propagated inputs are automatically added to the user’s profile.  So
> with the patch you suggested, when someone installs xmonad, they’d also
> get GHC in their profile.  This solves the problem at hand, but it’s 
> not
> great: it “pollutes” the user’s profile, and it could conflict with
> another GHC already present in the profile.
> 
> Thus, when possible, we often patch patches to do (roughly):
> 
>   execv("/gnu/store/…/bin/ghc", …);
> 
> instead of
> 
>   execvp("ghc", …);
> 
> IOW, we specify the absolute file name of the executable instead of
> relying on $PATH lookup.
> 
> An example of that is ‘gv’, where we patch the source to refer to the
> absolute file name of ‘gs’ instead of looking it up in $PATH:
> 
>   
> http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/gv.scm#n46
> 
> Same for ‘egrep’:
> 
>   
> http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/base.scm#n95
> 
> HTH!
> 
> Ludo’.
Oh, I see. I've been trying to fix it properly but I can't (I can patch 
the
source, but it generates other errors I haven't solved yet). I think 
I'll
keep working on the patch on my free time until I can make it work fine.

Thanks Ludo!

-- 
José Miguel Sánchez García

  reply	other threads:[~2017-01-09 16:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-06 16:34 [PATCH] gnu: xmonad: Add missing propagated input José Miguel Sánchez García
2017-01-07 21:48 ` Ludovic Courtès
2017-01-07 22:28   ` José Miguel Sánchez García
2017-01-08 10:56     ` Ludovic Courtès
2017-01-09 16:28       ` José Miguel Sánchez García [this message]
2017-01-11  8:25   ` Ricardo Wurmus

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6a0f504b1ffe30f880ba804c9dca8f64@openmailbox.org \
    --to=jmi2k@openmailbox.org \
    --cc=guix-devel@gnu.org \
    --cc=ludo@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.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.