[Nix-dev] difficulties in making glade derivation
Marc Weber
marco-oweber at gmx.de
Tue Nov 18 12:41:23 CET 2008
About collisions:
You can only set priority on installed packages.
Eg if you have
/nix/store/XXXXXXXXXXXXX-1/bin/foo
and
/nix/store/XXXXXXXXXXXXX-2/bin/foo
and you want to install both, the script creating your environment can't
know which foo you prefer. That's why you have set a priority (on the
already installed package).
If it's obvious in this case that the one should be prefered over the
other in all cases you can also use the lowPrio function from
all-packages.nix (see examples in that file)..
If you do so add a small comment.
In this case the collission is in
/nix/store/n5qgippa822k3z4czqx59mr845684dqx-evince-2.23.4/share/icons/hicolor/icon-theme.cache
So it looks like gnome or gtk provides some kind of one file icon cache
for faster loading which is global on your computer but not yet on nix.
To really solve this trouble I think some patching is required.
Possible solutions I know about:
a) (merging evince and glade contents
by adding kind of post-env hook assembling the icon cache or
add kind of gtkAppsDerivation [ pkgs.glade pkgs.evince ] which does
that..
b) patch so that those applications find their local cache ..
There is a way to customize gtk application schemes and colors by
configuration files. Maybe this can be a quick hack to get glade work
maybe try joining #gtk and ask there?
Good luck.
Marc Weber
More information about the nix-dev
mailing list