[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