[Nix-dev] Request for comments: Xorg app-defaults
Lluís Batlle
viriketo at gmail.com
Thu Dec 24 15:52:44 CET 2009
Hello,
some programs install app-defaults (a typical X resources file), that
are needed for the program to work. This is the case of xfontsel,
which I commited recently.
xfontsel looks for installed app-defaults in the libXt store path (in
fact, its make install attempts to install them there), and then in
$HOME.
As for other xorg programs, the app-defaults are installed in $out
instead of the libXt through a 'hack'. From xorg's builder.sh:
installFlags="appdefaultdir=$out/share/X11/app-defaults"
This does not make the files usable. Instead, one should take those
files and put them plainly at $HOME. xfontsel behaves bad if it lacks
its app-defaults file.
Has anyone thought of a solution to that? By now the app-defaults
files are installed in $out, but they are never read.
Regards,
Lluís.
2009/12/24 Llus Batlle <viriketo at gmail.com>:
> Author: viric
> Date: 2009-12-24 14:48:36 +0000 (Thu, 24 Dec 2009)
> New Revision: 19092
>
> You can view the changes in this commit at:
> https://svn.nixos.org/viewvc/nix?rev=19092&view=rev
>
> Added:
> nixpkgs/trunk/pkgs/applications/misc/xfontsel/
> nixpkgs/trunk/pkgs/applications/misc/xfontsel/default.nix
> Modified:
> nixpkgs/trunk/pkgs/top-level/all-packages.nix
>
> Log:
> Adding xfontsel. A bit hacky (to work well, it requires copying its app-defaults to $HOME)
> As app-defaults should be installed with the libXt (maybe it's libXt which loads them), and
> stracing that is the place where the code looks for app-defaults (the libXt store path), I
> don't know of any better solution in nixpkgs by now.
>
>
>
> Changes:
>
> Added: nixpkgs/trunk/pkgs/applications/misc/xfontsel/default.nix
> ===================================================================
> --- nixpkgs/trunk/pkgs/applications/misc/xfontsel/default.nix (rev 0)
> +++ nixpkgs/trunk/pkgs/applications/misc/xfontsel/default.nix 2009-12-24 14:48:36 UTC (rev 19092)
> @@ -0,0 +1,23 @@
> +# This program used to come with xorg releases, but now I could only find it
> +# at http://www.x.org/releases/individual/.
> +# That is why this expression is not inside pkgs.xorg
> +
> +{stdenv, fetchurl, libX11, pkgconfig, libXaw, libXi, imake, xauth, libXau}:
> +stdenv.mkDerivation rec {
> + name = "xfontsel-1.0.2";
> +
> + src = fetchurl {
> + url = "http://www.x.org/releases/individual/app/${name}.tar.bz2";
> + sha256 = "1a86a08sf0wjrki9ydh7hr5qf6hrixc4ljlxizakjzmx20wvlrks";
> + };
> +
> + buildInputs = [libX11 pkgconfig libXaw];
> +
> + # This will not make xfontsel find its app-defaults, but at least the $out
> + # directory will contain them.
> + # hack: Copying the XFontSel app-defaults file to $HOME makes xfontsel work.
> + patchPhase = ''
> + sed -i 's@^appdefaultdir=.*@appdefaultdir='$out/share/X11/app-defaults@ configure
> + '';
> +}
> +
>
> Modified: nixpkgs/trunk/pkgs/top-level/all-packages.nix
> ===================================================================
> --- nixpkgs/trunk/pkgs/top-level/all-packages.nix 2009-12-24 12:48:01 UTC (rev 19091)
> +++ nixpkgs/trunk/pkgs/top-level/all-packages.nix 2009-12-24 14:48:36 UTC (rev 19092)
> @@ -6731,6 +6731,12 @@
> inherit (xlibs) libX11 libXxf86vm;
> };
>
> + xfontsel = import ../applications/misc/xfontsel {
> + inherit fetchurl stdenv pkgconfig;
> + inherit (xlibs) libX11 libXi imake libXau libXaw;
> + inherit (xorg) xauth;
> + };
> +
> fspot = import ../applications/graphics/f-spot {
> inherit fetchurl stdenv perl perlXMLParser pkgconfig mono
> libexif libjpeg sqlite lcms libgphoto2 monoDLLFixer;
>
> _______________________________________________
> nix-commits mailing list
> nix-commits at cs.uu.nl
> http://mail.cs.uu.nl/mailman/listinfo/nix-commits
>
More information about the nix-dev
mailing list