forked from mirrors/nixpkgs
* X.org generator: specify overrides in a Nix expression rather than
in the generator script. This makes it easier to change the X.org packages. * Added xfs, twm. svn path=/nixpkgs/trunk/; revision=15375
This commit is contained in:
parent
54d3ce4b61
commit
c718ec217b
|
@ -170,9 +170,12 @@ splashutils_15 = ...;</programlisting>
|
||||||
|
|
||||||
<para>The Nix expressions for the X.org packages reside in
|
<para>The Nix expressions for the X.org packages reside in
|
||||||
<filename>pkgs/servers/x11/xorg/default.nix</filename>. This file is
|
<filename>pkgs/servers/x11/xorg/default.nix</filename>. This file is
|
||||||
automatically generated from lists of tarballs in an X.org
|
automatically generated from lists of tarballs in an X.org release.
|
||||||
release. As such it should not be modified directly; rather, you
|
As such it should not be modified directly; rather, you should modify
|
||||||
should modify the lists or the generator script.</para>
|
the lists, the generator script or the file
|
||||||
|
<filename>pkgs/servers/x11/xorg/overrides.nix</filename>, in which you
|
||||||
|
can override or add to the derivations produced by the
|
||||||
|
generator.</para>
|
||||||
|
|
||||||
<para>The generator is invoked as follows:
|
<para>The generator is invoked as follows:
|
||||||
|
|
||||||
|
@ -212,8 +215,8 @@ some people or by other packages (such as
|
||||||
<para>If the expression for a package requires derivation attributes
|
<para>If the expression for a package requires derivation attributes
|
||||||
that the generator cannot figure out automatically (say,
|
that the generator cannot figure out automatically (say,
|
||||||
<varname>patches</varname> or a <varname>postInstall</varname> hook),
|
<varname>patches</varname> or a <varname>postInstall</varname> hook),
|
||||||
you should modify the generator script
|
you should modify
|
||||||
(<varname>generate-expr-from-tarballs.pl</varname>).</para>
|
<filename>pkgs/servers/x11/xorg/overrides.nix</filename>.</para>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -32,27 +32,6 @@ $pcMap{"\$PIXMAN"} = "pixman";
|
||||||
$pcMap{"\$RENDERPROTO"} = "renderproto";
|
$pcMap{"\$RENDERPROTO"} = "renderproto";
|
||||||
|
|
||||||
|
|
||||||
$extraAttrs{"xorgserver"} = " patches = [./xorgserver-dri-path.patch ./xorgserver-xkbcomp-path.patch ]; propagatedBuildInputs = [libpciaccess]; ";
|
|
||||||
|
|
||||||
$extraAttrs{"imake"} = " inherit xorgcffiles; x11BuildHook = ./imake.sh; patches = [./imake.patch]; ";
|
|
||||||
|
|
||||||
$extraAttrs{"setxkbmap"} = " postInstall = \"ensureDir \$out/share; ln -sfn \${xkeyboard_config}/etc/X11 \$out/share/X11\";";
|
|
||||||
|
|
||||||
$extraAttrs{"fontmiscmisc"} = " postInstall = \"ln -s \${fontalias}/lib/X11/fonts/misc/fonts.alias \$out/lib/X11/fonts/misc/fonts.alias\"; ";
|
|
||||||
|
|
||||||
$extraAttrs{"mkfontdir"} = " preBuild = \"substituteInPlace mkfontdir.cpp --replace BINDIR \${mkfontscale}/bin\"; ";
|
|
||||||
|
|
||||||
$extraAttrs{"xf86inputevdev"} = "
|
|
||||||
preBuild = \"
|
|
||||||
sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c
|
|
||||||
\";";
|
|
||||||
|
|
||||||
$extraAttrs{"libXpm"} = "
|
|
||||||
patchPhase = \"sed -i '/USE_GETTEXT_TRUE/d' sxpm/Makefile.in cxpm/Makefile.in\";";
|
|
||||||
|
|
||||||
$extraAttrs{"xkbcomp"} = " NIX_CFLAGS_COMPILE = \"-DDFLT_XKB_CONFIG_ROOT=\\\"/etc/X11/xkb\\\"\"; ";
|
|
||||||
|
|
||||||
|
|
||||||
my $downloadCache = "./download-cache";
|
my $downloadCache = "./download-cache";
|
||||||
$ENV{'NIX_DOWNLOAD_CACHE'} = $downloadCache;
|
$ENV{'NIX_DOWNLOAD_CACHE'} = $downloadCache;
|
||||||
mkdir $downloadCache, 0755;
|
mkdir $downloadCache, 0755;
|
||||||
|
@ -198,10 +177,6 @@ while (<>) {
|
||||||
process \@requires, $1 while $file =~ /NEEDED=\"(.*)\"/g;
|
process \@requires, $1 while $file =~ /NEEDED=\"(.*)\"/g;
|
||||||
process \@requires, $1 while $file =~ /XORG_DRIVER_CHECK_EXT\([^,]*,([^\)]*)\)/g;
|
process \@requires, $1 while $file =~ /XORG_DRIVER_CHECK_EXT\([^,]*,([^\)]*)\)/g;
|
||||||
|
|
||||||
push @requires, "glproto", "gl" if $pkg =~ /xf86videosis/;
|
|
||||||
push @requires, "glproto", "gl" if $pkg =~ /xf86videointel/;
|
|
||||||
push @requires, "zlib" if $pkg =~ /xorgserver/;
|
|
||||||
push @requires, "xf86bigfontproto" if $pkg =~ /xorgserver/;
|
|
||||||
push @requires, "libxslt" if $pkg =~ /libxcb/;
|
push @requires, "libxslt" if $pkg =~ /libxcb/;
|
||||||
push @requires, "gperf", "m4", "xproto" if $pkg =~ /xcbutil/;
|
push @requires, "gperf", "m4", "xproto" if $pkg =~ /xcbutil/;
|
||||||
|
|
||||||
|
@ -218,10 +193,14 @@ open OUT, ">default.nix";
|
||||||
|
|
||||||
print OUT "";
|
print OUT "";
|
||||||
print OUT <<EOF;
|
print OUT <<EOF;
|
||||||
# This is a generated file. Do not edit!
|
# THIS IS A GENERATED FILE. DO NOT EDIT!
|
||||||
args: with args;
|
args: with args;
|
||||||
|
|
||||||
rec {
|
let
|
||||||
|
|
||||||
|
overrides = import ./overrides.nix {inherit args xorg;};
|
||||||
|
|
||||||
|
xorg = rec {
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
@ -248,7 +227,7 @@ foreach my $pkg (sort (keys %pkgURLs)) {
|
||||||
$extraAttrs = "" unless defined $extraAttrs;
|
$extraAttrs = "" unless defined $extraAttrs;
|
||||||
|
|
||||||
print OUT <<EOF
|
print OUT <<EOF
|
||||||
$pkg = (stdenv.mkDerivation {
|
$pkg = (stdenv.mkDerivation ((if overrides ? $pkg then overrides.$pkg else x: x) {
|
||||||
name = "$pkgNames{$pkg}";
|
name = "$pkgNames{$pkg}";
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
|
@ -256,11 +235,11 @@ foreach my $pkg (sort (keys %pkgURLs)) {
|
||||||
sha256 = "$pkgHashes{$pkg}";
|
sha256 = "$pkgHashes{$pkg}";
|
||||||
};
|
};
|
||||||
buildInputs = [pkgconfig $inputs];$extraAttrs
|
buildInputs = [pkgconfig $inputs];$extraAttrs
|
||||||
}) // {inherit $inputs;};
|
})) // {inherit $inputs;};
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
print OUT "}\n";
|
print OUT "}; in xorg\n";
|
||||||
|
|
||||||
close OUT;
|
close OUT;
|
||||||
|
|
|
@ -8,3 +8,5 @@ mirror://xorg/individual/util/gccmakedep-1.0.2.tar.bz2
|
||||||
mirror://xorg/individual/app/xmessage-1.0.2.tar.bz2
|
mirror://xorg/individual/app/xmessage-1.0.2.tar.bz2
|
||||||
mirror://xorg/individual/app/xeyes-1.0.1.tar.bz2
|
mirror://xorg/individual/app/xeyes-1.0.1.tar.bz2
|
||||||
mirror://xorg/individual/app/xclock-1.0.3.tar.bz2
|
mirror://xorg/individual/app/xclock-1.0.3.tar.bz2
|
||||||
|
mirror://xorg/individual/app/xfs-1.0.8.tar.bz2
|
||||||
|
mirror://xorg/individual/app/twm-1.0.4.tar.bz2
|
||||||
|
|
64
pkgs/servers/x11/xorg/overrides.nix
Normal file
64
pkgs/servers/x11/xorg/overrides.nix
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
{args, xorg}:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
fontmiscmisc = attrs: attrs // {
|
||||||
|
postInstall =
|
||||||
|
''
|
||||||
|
ln -s ${xorg.fontalias}/lib/X11/fonts/misc/fonts.alias $out/lib/X11/fonts/misc/fonts.alias
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
imake = attrs: attrs // {
|
||||||
|
inherit (xorg) xorgcffiles;
|
||||||
|
x11BuildHook = ./imake.sh;
|
||||||
|
patches = [./imake.patch];
|
||||||
|
};
|
||||||
|
|
||||||
|
mkfontdir = attrs: attrs // {
|
||||||
|
preBuild = "substituteInPlace mkfontdir.cpp --replace BINDIR ${xorg.mkfontscale}/bin";
|
||||||
|
};
|
||||||
|
|
||||||
|
libXpm = attrs: attrs // {
|
||||||
|
patchPhase = "sed -i '/USE_GETTEXT_TRUE/d' sxpm/Makefile.in cxpm/Makefile.in";
|
||||||
|
};
|
||||||
|
|
||||||
|
setxkbmap = attrs: attrs // {
|
||||||
|
postInstall =
|
||||||
|
''
|
||||||
|
ensureDir $out/share
|
||||||
|
ln -sfn ${args.xkeyboard_config}/etc/X11 $out/share/X11
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
xf86inputevdev = attrs: attrs // {
|
||||||
|
configureFlags = "--with-sdkdir=\${out}/include/xorg";
|
||||||
|
preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c";
|
||||||
|
buildInputs = attrs.buildInputs ++ [xorg.kbproto xorg.libxkbfile xorg.randrproto];
|
||||||
|
};
|
||||||
|
|
||||||
|
xf86videointel = attrs: attrs // {
|
||||||
|
buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa];
|
||||||
|
};
|
||||||
|
|
||||||
|
xf86videosis = attrs: attrs // {
|
||||||
|
buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa];
|
||||||
|
};
|
||||||
|
|
||||||
|
xkbcomp = attrs: attrs // {
|
||||||
|
NIX_CFLAGS_COMPILE = "-DDFLT_XKB_CONFIG_ROOT=\"/etc/X11/xkb\"";
|
||||||
|
};
|
||||||
|
|
||||||
|
xorgserver = attrs: attrs // {
|
||||||
|
patches = [./xorgserver-dri-path.patch ./xorgserver-xkbcomp-path.patch];
|
||||||
|
buildInputs = attrs.buildInputs ++ [args.zlib xorg.xf86bigfontproto];
|
||||||
|
propagatedBuildInputs = [xorg.libpciaccess];
|
||||||
|
/*
|
||||||
|
configureFlags = "--with-xkb-output=/var/tmp";
|
||||||
|
postPatch = ''
|
||||||
|
sed -i -e 's@ -w @ -I${args.xkeyboard_config}/etc/X11/xkb -w @' xkb/ddxLoad.c
|
||||||
|
'';
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -121,7 +121,7 @@ mirror://xorg/X11R7.4/src/everything/xf86dgaproto-2.0.3.tar.bz2
|
||||||
mirror://xorg/X11R7.4/src/everything/xf86driproto-2.0.4.tar.bz2
|
mirror://xorg/X11R7.4/src/everything/xf86driproto-2.0.4.tar.bz2
|
||||||
mirror://xorg/X11R7.4/src/everything/xf86-input-acecad-1.2.2.tar.bz2
|
mirror://xorg/X11R7.4/src/everything/xf86-input-acecad-1.2.2.tar.bz2
|
||||||
mirror://xorg/X11R7.4/src/everything/xf86-input-aiptek-1.1.1.tar.bz2
|
mirror://xorg/X11R7.4/src/everything/xf86-input-aiptek-1.1.1.tar.bz2
|
||||||
mirror://xorg/X11R7.4/src/everything/xf86-input-evdev-2.0.4.tar.bz2
|
mirror://xorg/individual/driver/xf86-input-evdev-2.2.1.tar.bz2
|
||||||
mirror://xorg/X11R7.4/src/everything/xf86-input-joystick-1.3.2.tar.bz2
|
mirror://xorg/X11R7.4/src/everything/xf86-input-joystick-1.3.2.tar.bz2
|
||||||
mirror://xorg/X11R7.4/src/everything/xf86-input-keyboard-1.3.1.tar.bz2
|
mirror://xorg/X11R7.4/src/everything/xf86-input-keyboard-1.3.1.tar.bz2
|
||||||
mirror://xorg/X11R7.4/src/everything/xf86-input-mouse-1.3.0.tar.bz2
|
mirror://xorg/X11R7.4/src/everything/xf86-input-mouse-1.3.0.tar.bz2
|
||||||
|
|
Loading…
Reference in a new issue