2009-04-28 14:58:35 +01:00
|
|
|
{args, xorg}:
|
2009-11-21 14:49:25 +00:00
|
|
|
let
|
|
|
|
setMalloc0ReturnsNullCrossCompiling = ''
|
|
|
|
if test -n "$crossConfig"; then
|
|
|
|
configureFlags="$configureFlags --enable-malloc0returnsnull";
|
|
|
|
fi
|
|
|
|
'';
|
|
|
|
in
|
2009-04-28 14:58:35 +01:00
|
|
|
{
|
|
|
|
|
|
|
|
fontmiscmisc = attrs: attrs // {
|
|
|
|
postInstall =
|
|
|
|
''
|
2009-11-06 15:16:47 +00:00
|
|
|
ALIASFILE=${xorg.fontalias}/share/fonts/X11/misc/fonts.alias
|
|
|
|
test -f $ALIASFILE
|
|
|
|
ln -s $ALIASFILE $out/lib/X11/fonts/misc/fonts.alias
|
2009-10-02 19:03:23 +01:00
|
|
|
'';
|
2009-04-28 14:58:35 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
imake = attrs: attrs // {
|
|
|
|
inherit (xorg) xorgcffiles;
|
|
|
|
x11BuildHook = ./imake.sh;
|
2009-10-02 19:03:23 +01:00
|
|
|
patches = [./imake.patch];
|
2009-04-28 14:58:35 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
mkfontdir = attrs: attrs // {
|
|
|
|
preBuild = "substituteInPlace mkfontdir.cpp --replace BINDIR ${xorg.mkfontscale}/bin";
|
|
|
|
};
|
2009-11-21 10:11:44 +00:00
|
|
|
|
|
|
|
libxcb = attrs : attrs // {
|
2009-11-21 10:44:22 +00:00
|
|
|
# I only remove python from the original, and add xproto. I don't know how
|
|
|
|
# to achieve that referring to attrs.buildInputs.
|
Big fixes in the cross build:
- Before this changes, cflags and ldflags for the native and the cross compiler
got mixed. Not all the gcc-wrapper/gcc-cross-wrapper variables are
independant now, but enough, I think.
- Fixed the generic stdenv expression, which did a big mess on buildInputs and
buildNativeInputs. Now it distinguishes when there is a stdenvCross or not.
Maybe we should have a single stdenv and forget about the stdenvCross
adapter - this could end in a stdenv a bit complex, but simpler than the
generic stdenv + adapter.
- Added basic support in pkgconfig for cross-builds: a single PKG_CONFIG_PATH
now works for both the cross and the native compilers, but I think this
should work well for most cases I can think of.
- I tried to fix the guile expression to cross-biuld; guile is built, but not
its manual, so the derivation still fails. Guile requires patching to
cross-build, as far as I understnad.
- Made the glibcCross build to be done through the usage of a
gcc-cross-wrapper over the gcc-cross-stage-static, instead of using it
directly.
- Trying to make physfs (a neverball dependency) cross build.
- Updated the gcc expression to support building a cross compiler without getting
derivation variables mixed with those of the stdenvCross.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18534
2009-11-22 19:51:45 +00:00
|
|
|
# I should use: builtins.unsafeDiscardStringContext
|
2009-11-21 10:44:22 +00:00
|
|
|
buildInputs = [args.pkgconfig args.libxslt xorg.libpthreadstubs /*xorg.python*/
|
|
|
|
xorg.libXau xorg.xcbproto xorg.libXdmcp ] ++ [ xorg.xproto ];
|
|
|
|
buildNativeInputs = [ args.python ];
|
|
|
|
};
|
|
|
|
|
|
|
|
xcbproto = attrs : attrs // {
|
|
|
|
# I only remove python from the original.
|
|
|
|
buildInputs = [args.pkgconfig /*xorg.python*/ ];
|
|
|
|
buildNativeInputs = [ args.python ];
|
2009-11-21 10:11:44 +00:00
|
|
|
};
|
2009-04-28 14:58:35 +01:00
|
|
|
|
2010-01-22 18:49:16 +00:00
|
|
|
pixman = attrs : attrs // {
|
|
|
|
buildInputs = [ args.pkgconfig ];
|
|
|
|
buildNativeInputs = [ args.perl ];
|
|
|
|
};
|
|
|
|
|
2011-08-29 19:58:59 +01:00
|
|
|
libpciaccess = attrs : attrs // {
|
|
|
|
patches = [ ./libpciaccess-apple.patch ];
|
|
|
|
};
|
|
|
|
|
2009-11-21 14:49:25 +00:00
|
|
|
libX11 = attrs: attrs // {
|
|
|
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
2011-02-09 15:17:15 +00:00
|
|
|
postInstall =
|
|
|
|
''
|
|
|
|
# Remove useless DocBook XML files.
|
|
|
|
rm -rf $out/share/doc
|
|
|
|
'';
|
2009-11-21 14:49:25 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
libXrender = attrs: attrs // {
|
|
|
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
|
|
|
};
|
|
|
|
|
|
|
|
libXxf86vm = attrs: attrs // {
|
|
|
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
|
|
|
};
|
|
|
|
|
|
|
|
libXrandr = attrs: attrs // {
|
|
|
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
|
|
|
};
|
|
|
|
|
2011-02-09 15:09:29 +00:00
|
|
|
# Propagate some build inputs because of header file dependencies.
|
2011-02-14 10:04:37 +00:00
|
|
|
# Note: most of these are in Requires.private, so maybe builder.sh
|
|
|
|
# should propagate them automatically.
|
2009-11-21 14:49:25 +00:00
|
|
|
libXt = attrs: attrs // {
|
|
|
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
2011-02-08 17:39:28 +00:00
|
|
|
propagatedBuildInputs = [ xorg.libSM ];
|
2009-11-21 14:49:25 +00:00
|
|
|
};
|
|
|
|
|
2011-02-09 15:09:29 +00:00
|
|
|
compositeproto = attrs: attrs // {
|
|
|
|
propagatedBuildInputs = [ xorg.fixesproto ];
|
|
|
|
};
|
|
|
|
|
|
|
|
libXcomposite = attrs: attrs // {
|
|
|
|
propagatedBuildInputs = [ xorg.libXfixes ];
|
|
|
|
};
|
|
|
|
|
2011-02-14 10:04:37 +00:00
|
|
|
libXaw = attrs: attrs // {
|
|
|
|
propagatedBuildInputs = [ xorg.libXmu ];
|
|
|
|
};
|
|
|
|
|
2009-11-21 14:49:25 +00:00
|
|
|
libXft = attrs: attrs // {
|
2011-02-14 10:14:34 +00:00
|
|
|
buildInputs = attrs.buildInputs ++
|
|
|
|
[ xorg.xproto xorg.libX11 xorg.renderproto ];
|
2011-03-17 22:00:22 +00:00
|
|
|
# probably, fontconfig and freetype could be added
|
2011-03-18 05:32:14 +00:00
|
|
|
# pkgconfig seems to be nice, too...
|
2011-02-14 10:14:34 +00:00
|
|
|
propagatedBuildInputs = [ xorg.libXrender ];
|
2009-11-21 14:49:25 +00:00
|
|
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
|
|
|
};
|
|
|
|
|
2009-10-29 17:56:10 +00:00
|
|
|
libXext = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [xorg.libXau];
|
2011-09-26 23:24:22 +01:00
|
|
|
propagatedBuildInputs = [ xorg.xproto ];
|
2009-11-21 14:49:25 +00:00
|
|
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
2009-10-29 17:56:10 +00:00
|
|
|
};
|
|
|
|
|
2009-04-28 14:58:35 +01:00
|
|
|
libXpm = attrs: attrs // {
|
|
|
|
patchPhase = "sed -i '/USE_GETTEXT_TRUE/d' sxpm/Makefile.in cxpm/Makefile.in";
|
|
|
|
};
|
|
|
|
|
|
|
|
setxkbmap = attrs: attrs // {
|
|
|
|
postInstall =
|
|
|
|
''
|
2012-01-18 20:16:00 +00:00
|
|
|
mkdir -p $out/share
|
2009-04-28 14:58:35 +01:00
|
|
|
ln -sfn ${args.xkeyboard_config}/etc/X11 $out/share/X11
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2012-04-06 19:33:51 +01:00
|
|
|
x11perf = attrs: attrs // {
|
|
|
|
NIX_CFLAGS_COMPILE = "-I${args.freetype}/include/freetype2";
|
|
|
|
buildInputs = attrs.buildInputs ++ [ args.freetype args.fontconfig ];
|
|
|
|
};
|
|
|
|
|
2009-04-28 14:58:35 +01:00
|
|
|
xf86inputevdev = attrs: attrs // {
|
|
|
|
preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c";
|
|
|
|
buildInputs = attrs.buildInputs ++ [xorg.kbproto xorg.libxkbfile xorg.randrproto];
|
2011-02-15 15:54:57 +00:00
|
|
|
installFlags = "sdkdir=\${out}/include/xorg";
|
2009-04-28 14:58:35 +01:00
|
|
|
};
|
|
|
|
|
2009-11-04 19:53:23 +00:00
|
|
|
xf86inputsynaptics = attrs: attrs // {
|
2011-02-15 15:54:57 +00:00
|
|
|
installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/include/xorg";
|
2009-11-04 19:53:23 +00:00
|
|
|
};
|
|
|
|
|
2009-04-28 14:58:35 +01:00
|
|
|
xf86videointel = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa];
|
|
|
|
};
|
|
|
|
|
|
|
|
xf86videosis = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa];
|
|
|
|
};
|
|
|
|
|
2009-05-05 13:38:04 +01:00
|
|
|
xf86videoati = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa];
|
2009-06-18 18:20:01 +01:00
|
|
|
};
|
|
|
|
|
2012-03-25 14:53:07 +01:00
|
|
|
xf86videoopenchrome = attrs: attrs // rec {
|
|
|
|
name = "xf86-video-openchrome-0.2.905";
|
|
|
|
src = args.fetchurl {
|
|
|
|
url = "http://openchrome.org/releases/${name}.tar.bz2";
|
|
|
|
sha256 = "1llbm020s0fck9chs0906xz7jr4h3whxan4s10ls9046g7xib3qc";
|
|
|
|
};
|
|
|
|
buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa xorg.libXext];
|
2009-05-05 13:38:04 +01:00
|
|
|
};
|
|
|
|
|
2009-11-08 11:34:17 +00:00
|
|
|
xdriinfo = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa];
|
|
|
|
};
|
|
|
|
|
2011-07-26 01:04:46 +01:00
|
|
|
xvinfo = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [xorg.libXext];
|
|
|
|
};
|
|
|
|
|
2009-04-28 14:58:35 +01:00
|
|
|
xkbcomp = attrs: attrs // {
|
2009-05-05 13:38:04 +01:00
|
|
|
NIX_CFLAGS_COMPILE = "-DDFLT_XKB_CONFIG_ROOT=\".\"";
|
2009-04-28 14:58:35 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
xorgserver = attrs: attrs // {
|
|
|
|
patches = [./xorgserver-dri-path.patch ./xorgserver-xkbcomp-path.patch];
|
2009-10-29 17:56:10 +00:00
|
|
|
buildInputs = attrs.buildInputs ++
|
2011-02-11 15:54:01 +00:00
|
|
|
[ args.zlib args.udev args.mesa args.dbus.libs
|
2010-07-20 20:24:21 +01:00
|
|
|
xorg.xf86bigfontproto xorg.glproto xorg.xf86driproto
|
2009-10-29 17:56:10 +00:00
|
|
|
xorg.compositeproto xorg.scrnsaverproto xorg.resourceproto
|
2011-02-15 14:34:26 +00:00
|
|
|
xorg.xineramaproto xorg.xf86dgaproto
|
2010-07-20 20:24:21 +01:00
|
|
|
xorg.dmxproto xorg.libdmx xorg.xf86vidmodeproto
|
2011-02-11 15:54:01 +00:00
|
|
|
xorg.recordproto xorg.libXext xorg.pixman xorg.libXfont
|
2009-10-29 17:56:10 +00:00
|
|
|
];
|
2009-11-03 23:54:08 +00:00
|
|
|
propagatedBuildInputs =
|
2011-02-15 14:34:26 +00:00
|
|
|
[ xorg.libpciaccess xorg.inputproto xorg.xextproto xorg.randrproto
|
2011-02-15 15:54:57 +00:00
|
|
|
xorg.dri2proto xorg.kbproto
|
2011-02-15 14:34:26 +00:00
|
|
|
];
|
2009-09-09 23:16:09 +01:00
|
|
|
postInstall =
|
|
|
|
''
|
2010-03-09 15:35:46 +00:00
|
|
|
rm -fr $out/share/X11/xkb/compiled
|
2009-09-09 23:16:09 +01:00
|
|
|
ln -s /var/tmp $out/share/X11/xkb/compiled
|
|
|
|
'';
|
2009-04-28 14:58:35 +01:00
|
|
|
};
|
2009-10-02 14:06:35 +01:00
|
|
|
|
2012-05-16 23:06:27 +01:00
|
|
|
libSM = attrs: attrs
|
|
|
|
// { propagatedBuildInputs = [ xorg.libICE ]; }
|
|
|
|
// args.stdenv.lib.optionalAttrs (args.stdenv.system == "i686-darwin") {
|
|
|
|
configureFlags = "LIBUUID_CFLAGS='' LIBUUID_LIBS=''";
|
|
|
|
};
|
2009-10-02 19:03:23 +01:00
|
|
|
|
2010-07-16 23:04:56 +01:00
|
|
|
lndir = attrs: attrs // {
|
|
|
|
preConfigure = ''
|
|
|
|
substituteInPlace lndir.c \
|
|
|
|
--replace 'n_dirs--;' ""
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2011-03-17 15:51:13 +00:00
|
|
|
twm = attrs: attrs // {
|
|
|
|
buildNativeInputs = [args.bison args.flex];
|
|
|
|
};
|
|
|
|
|
2011-03-17 18:46:25 +00:00
|
|
|
xbacklight = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [xorg.libXrender];
|
|
|
|
};
|
|
|
|
|
2009-04-28 14:58:35 +01:00
|
|
|
}
|