[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Search paths vs. environment variables that designate a single file
From: |
Ludovic Courtès |
Subject: |
Search paths vs. environment variables that designate a single file |
Date: |
Thu, 21 May 2015 10:10:21 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
宋文武 <address@hidden> skribis:
> Ludovic Courtès <address@hidden> writes:
>
>> With commit dbc31ab, it is now possible to do things like:
>>
>> eval `guix package --search-paths=suffix`
>>
>> to augment the search path environment variables instead of overriding
>> them.
> Doesn't the KIND field belong to 'search-path-specification'?
> Some variables are exact (GDK_PIXBUF_MODULE_FILE, GTK_DATA_PREFIX, etc.)
> by definition.
What do you mean?
Here ‘exact’ means:
export PATH=/foo
whereas ‘prefix’ means:
export PATH=/foo:$PATH
This is not a property of the ‘PATH’ variable, but rather a choice that
the user can make.
What makes ‘GDK_PIXBUF_MODULE_FILE’ particular? From the name I’m
guessing it is *not* a search path, but rather is meant to specify a
single file. This is not what ‘search-path-specification’ is for, at
least in its current form.
> I'd like to add 'GTK_DATA_PREFIX' and 'GTK_EXE_PREFIX' to gtk+
> as 'exact' native-search-paths.
> They generate value to profile as:
> - /run/current-system/profile, if you have installed xfce system wide.
> - ~/.guix-profile, if you installed xfce into user's profile.
> So, the GTK+ themes will work out-of-box.
Likewise, it seems that these are not search paths.
This is not the first time there’s this temptation to use
‘search-path-specification’ for things that are not search paths.
Clearly there seems to be a need for a similar mechanism, but we need to
find a way for formalize it.
One way might be to augment ‘search-path-specification’ to support
“single-item search paths” that basically designate a single file.
Or we could come up with a different mechanism, but it’s not clear to me
what that would be.
Thoughts?
Thanks,
Ludo’.