[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What for 0.5?
From: |
Ludovic Courtès |
Subject: |
Re: What for 0.5? |
Date: |
Mon, 11 Nov 2013 21:35:12 +0100 |
User-agent: |
Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux) |
Andreas Enge <address@hidden> skribis:
> On Wed, Nov 06, 2013 at 02:04:10PM +0100, Ludovic Courtès wrote:
>> • Use a hack like that of Nixpkgs, which systematically copies and
>> rebuilds (with glib-compile-schemas) the “standard” schemas: see
>> ‘doCompileSchemas’ at
>>
>> <https://github.com/NixOS/nixpkgs/blob/master/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix>
>> and its use at
>>
>> <https://github.com/NixOS/nixpkgs/blob/master/pkgs/desktops/gnome-3/core/evince/default.nix>.
>>
>> The latter seems reasonable, and fairly easy to do.
>
> Could you elaborate on what is happening there? It looks rather mysterious
> to me.
There’s this snippet:
--8<---------------cut here---------------start------------->8---
doCompileSchemas = ''
for pkg in "${gsettings_desktop_schemas}" "${gtk3}"; do
cp -s $pkg/share/glib-2.0/schemas/*.gschema.xml $out/share/glib-2.0/schemas/
done
${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/
'';
--8<---------------cut here---------------end--------------->8---
that gets inserted in the post-install phase of Evince and similar
programs.
In addition, Evince & co. have their $XDG_DATA_DIRS that refers to those
schemas:
--8<---------------cut here---------------start------------->8---
wrapProgram "$out/bin/evince" \
--prefix XDG_DATA_DIRS : "${shared_mime_info}/share:$out/share"
--8<---------------cut here---------------end--------------->8---
In effect, it makes sure that all the standard schemas are available
along with each application that needs it.
Ludo’.