2013-06-14 05:53:36 -07:00
|
|
|
{ args, xorg }:
|
|
|
|
|
2009-11-21 06:49:25 -08:00
|
|
|
let
|
2013-06-14 05:53:36 -07:00
|
|
|
setMalloc0ReturnsNullCrossCompiling = ''
|
|
|
|
if test -n "$crossConfig"; then
|
|
|
|
configureFlags="$configureFlags --enable-malloc0returnsnull";
|
|
|
|
fi
|
|
|
|
'';
|
2013-06-05 08:26:51 -07:00
|
|
|
|
|
|
|
gitRelease = { libName, version, rev, sha256 } : attrs : attrs // {
|
|
|
|
name = libName + "-" + version;
|
|
|
|
src = args.fetchgit {
|
|
|
|
url = git://anongit.freedesktop.org/xorg/lib/ + libName;
|
|
|
|
inherit rev sha256;
|
|
|
|
};
|
|
|
|
buildInputs = attrs.buildInputs ++ [ xorg.utilmacros ];
|
|
|
|
preConfigure = (attrs.preConfigure or "") + "\n./autogen.sh";
|
|
|
|
};
|
|
|
|
|
|
|
|
compose = f: g: x: f (g x);
|
2009-11-21 06:49:25 -08:00
|
|
|
in
|
2009-04-28 06:58:35 -07:00
|
|
|
{
|
2013-04-18 12:33:17 -07:00
|
|
|
encodings = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [ xorg.mkfontscale ];
|
|
|
|
};
|
2009-04-28 06:58:35 -07:00
|
|
|
|
2012-10-15 09:28:09 -07:00
|
|
|
fontcursormisc = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [ xorg.mkfontscale ];
|
|
|
|
};
|
|
|
|
|
2009-04-28 06:58:35 -07:00
|
|
|
fontmiscmisc = attrs: attrs // {
|
|
|
|
postInstall =
|
|
|
|
''
|
2009-11-06 07:16:47 -08: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 11:03:23 -07:00
|
|
|
'';
|
2009-04-28 06:58:35 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
imake = attrs: attrs // {
|
|
|
|
inherit (xorg) xorgcffiles;
|
|
|
|
x11BuildHook = ./imake.sh;
|
2009-10-02 11:03:23 -07:00
|
|
|
patches = [./imake.patch];
|
2009-04-28 06:58:35 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
mkfontdir = attrs: attrs // {
|
2012-10-15 10:06:59 -07:00
|
|
|
preBuild = "substituteInPlace mkfontdir.in --replace @bindir@ ${xorg.mkfontscale}/bin";
|
2009-04-28 06:58:35 -07:00
|
|
|
};
|
2009-11-21 02:11:44 -08:00
|
|
|
|
|
|
|
libxcb = attrs : attrs // {
|
2012-12-28 10:20:09 -08:00
|
|
|
nativeBuildInputs = [ args.python ];
|
2013-07-13 16:46:44 -07:00
|
|
|
configureFlags = "--enable-xkb";
|
2009-11-21 02:44:22 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
xcbproto = attrs : attrs // {
|
2012-12-28 10:20:09 -08:00
|
|
|
nativeBuildInputs = [ args.python ];
|
2009-11-21 02:11:44 -08:00
|
|
|
};
|
2009-04-28 06:58:35 -07:00
|
|
|
|
2011-08-29 11:58:59 -07:00
|
|
|
libpciaccess = attrs : attrs // {
|
|
|
|
patches = [ ./libpciaccess-apple.patch ];
|
|
|
|
};
|
|
|
|
|
2009-11-21 06:49:25 -08:00
|
|
|
libX11 = attrs: attrs // {
|
|
|
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
2011-02-09 07:17:15 -08:00
|
|
|
postInstall =
|
|
|
|
''
|
|
|
|
# Remove useless DocBook XML files.
|
|
|
|
rm -rf $out/share/doc
|
|
|
|
'';
|
2009-11-21 06:49:25 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
libXxf86vm = attrs: attrs // {
|
|
|
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
|
|
|
};
|
|
|
|
|
|
|
|
libXrandr = attrs: attrs // {
|
|
|
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
2013-06-05 08:26:51 -07:00
|
|
|
propagatedBuildInputs = [xorg.libXrender];
|
2009-11-21 06:49:25 -08:00
|
|
|
};
|
|
|
|
|
2011-02-09 07:09:29 -08:00
|
|
|
# Propagate some build inputs because of header file dependencies.
|
2011-02-14 02:04:37 -08:00
|
|
|
# Note: most of these are in Requires.private, so maybe builder.sh
|
|
|
|
# should propagate them automatically.
|
2009-11-21 06:49:25 -08:00
|
|
|
libXt = attrs: attrs // {
|
|
|
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
2011-02-08 09:39:28 -08:00
|
|
|
propagatedBuildInputs = [ xorg.libSM ];
|
2009-11-21 06:49:25 -08:00
|
|
|
};
|
|
|
|
|
2013-07-23 20:30:31 -07:00
|
|
|
# See https://bugs.freedesktop.org/show_bug.cgi?id=47792
|
|
|
|
# Once the bug is fixed upstream, this can be removed.
|
|
|
|
luit = attrs: attrs // {
|
|
|
|
configureFlags = "--disable-selective-werror";
|
|
|
|
};
|
|
|
|
|
2011-02-09 07:09:29 -08:00
|
|
|
compositeproto = attrs: attrs // {
|
|
|
|
propagatedBuildInputs = [ xorg.fixesproto ];
|
|
|
|
};
|
2012-09-27 09:38:48 -07:00
|
|
|
|
2011-02-09 07:09:29 -08:00
|
|
|
libXcomposite = attrs: attrs // {
|
|
|
|
propagatedBuildInputs = [ xorg.libXfixes ];
|
|
|
|
};
|
2012-09-27 09:38:48 -07:00
|
|
|
|
2011-02-14 02:04:37 -08:00
|
|
|
libXaw = attrs: attrs // {
|
|
|
|
propagatedBuildInputs = [ xorg.libXmu ];
|
|
|
|
};
|
2012-09-27 09:38:48 -07:00
|
|
|
|
2009-11-21 06:49:25 -08:00
|
|
|
libXft = attrs: attrs // {
|
2012-09-27 09:38:48 -07:00
|
|
|
propagatedBuildInputs = [ xorg.libXrender args.freetype args.fontconfig ];
|
2009-11-21 06:49:25 -08:00
|
|
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
|
|
|
};
|
|
|
|
|
2009-10-29 10:56:10 -07:00
|
|
|
libXext = attrs: attrs // {
|
2013-06-05 08:26:51 -07:00
|
|
|
propagatedBuildInputs = [ xorg.xproto xorg.libXau ];
|
2009-11-21 06:49:25 -08:00
|
|
|
preConfigure = setMalloc0ReturnsNullCrossCompiling;
|
2009-10-29 10:56:10 -07:00
|
|
|
};
|
|
|
|
|
2013-06-05 08:26:51 -07:00
|
|
|
libSM = attrs: attrs
|
|
|
|
// { propagatedBuildInputs = [ xorg.libICE ]; };
|
|
|
|
|
2013-06-14 05:53:36 -07:00
|
|
|
libXrender = attrs: attrs
|
|
|
|
// { preConfigure = setMalloc0ReturnsNullCrossCompiling; };
|
2013-06-05 08:26:51 -07:00
|
|
|
|
2013-06-14 05:53:36 -07:00
|
|
|
libXvMC = attrs: attrs
|
|
|
|
// { buildInputs = attrs.buildInputs ++ [xorg.renderproto]; };
|
2013-06-05 08:26:51 -07:00
|
|
|
|
2009-04-28 06:58:35 -07:00
|
|
|
libXpm = attrs: attrs // {
|
|
|
|
patchPhase = "sed -i '/USE_GETTEXT_TRUE/d' sxpm/Makefile.in cxpm/Makefile.in";
|
|
|
|
};
|
|
|
|
|
|
|
|
setxkbmap = attrs: attrs // {
|
|
|
|
postInstall =
|
|
|
|
''
|
2012-01-18 12:16:00 -08:00
|
|
|
mkdir -p $out/share
|
2009-04-28 06:58:35 -07:00
|
|
|
ln -sfn ${args.xkeyboard_config}/etc/X11 $out/share/X11
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2013-06-05 08:26:51 -07:00
|
|
|
utilmacros = attrs: attrs // { # not needed for releases, we propagate the needed tools
|
|
|
|
propagatedBuildInputs = with args; [ automake autoconf libtool ];
|
2012-04-06 11:33:51 -07:00
|
|
|
};
|
|
|
|
|
2013-06-05 08:26:51 -07:00
|
|
|
x11perf = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [ args.freetype args.fontconfig ];
|
2012-07-15 00:36:48 -07:00
|
|
|
};
|
|
|
|
|
2009-04-28 06:58:35 -07:00
|
|
|
xf86inputevdev = attrs: attrs // {
|
|
|
|
preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c";
|
2011-02-15 07:54:57 -08:00
|
|
|
installFlags = "sdkdir=\${out}/include/xorg";
|
2009-04-28 06:58:35 -07:00
|
|
|
};
|
|
|
|
|
2013-04-18 12:33:17 -07:00
|
|
|
xf86inputjoystick = attrs: attrs // {
|
|
|
|
installFlags = "sdkdir=\${out}/include/xorg";
|
2012-07-15 19:55:12 -07:00
|
|
|
};
|
|
|
|
|
2009-11-04 11:53:23 -08:00
|
|
|
xf86inputsynaptics = attrs: attrs // {
|
2013-04-18 12:33:17 -07:00
|
|
|
buildInputs = attrs.buildInputs ++ [args.mtdev];
|
2011-02-15 07:54:57 -08:00
|
|
|
installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/include/xorg";
|
2009-11-04 11:53:23 -08:00
|
|
|
};
|
|
|
|
|
2013-04-18 12:33:17 -07:00
|
|
|
xf86inputvmmouse = attrs: attrs // {
|
|
|
|
configureFlags = [
|
|
|
|
"--sysconfdir=$(out)/etc"
|
|
|
|
"--with-xorg-conf-dir=$(out)/share/X11/xorg.conf.d"
|
|
|
|
"--with-udev-rules-dir=$(out)/lib/udev/rules.d"
|
|
|
|
];
|
2013-03-01 16:08:33 -08:00
|
|
|
};
|
|
|
|
|
2013-11-23 03:31:23 -08:00
|
|
|
xf86videonv = attrs: attrs // {
|
|
|
|
patches = [( args.fetchurl {
|
|
|
|
url = http://cgit.freedesktop.org/xorg/driver/xf86-video-nv/patch/?id=fc78fe98222b0204b8a2872a529763d6fe5048da;
|
|
|
|
sha256 = "0ikbnz6048ygs1qahb6ylnxkyjhfjcqr2gm9bk95ca90v57j7i0f";
|
|
|
|
})];
|
|
|
|
};
|
|
|
|
|
2013-05-22 08:07:12 -07:00
|
|
|
xf86videovmware = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [ args.mesa_drivers ]; # for libxatracker
|
2014-01-02 16:20:50 -08:00
|
|
|
patches = [( args.fetchurl {
|
|
|
|
url = https://projects.archlinux.org/svntogit/packages.git/plain/trunk/xatracker-v2-fixes.patch?h=packages/xf86-video-vmware;
|
|
|
|
sha256 = "1k5a3zf2bzmw84di31b8zfy51n2mqrr01xjfy5nw7395qv5r5cvs";
|
|
|
|
})];
|
2013-05-22 08:07:12 -07:00
|
|
|
};
|
|
|
|
|
2009-11-08 03:34:17 -08:00
|
|
|
xdriinfo = attrs: attrs // {
|
2013-04-18 12:33:17 -07:00
|
|
|
buildInputs = attrs.buildInputs ++ [args.mesa];
|
2009-11-08 03:34:17 -08:00
|
|
|
};
|
|
|
|
|
2011-07-25 17:04:46 -07:00
|
|
|
xvinfo = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [xorg.libXext];
|
|
|
|
};
|
|
|
|
|
2009-04-28 06:58:35 -07:00
|
|
|
xkbcomp = attrs: attrs // {
|
2009-05-05 05:38:04 -07:00
|
|
|
NIX_CFLAGS_COMPILE = "-DDFLT_XKB_CONFIG_ROOT=\".\"";
|
2009-04-28 06:58:35 -07:00
|
|
|
};
|
|
|
|
|
2013-04-18 12:33:17 -07:00
|
|
|
xkeyboardconfig = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [args.intltool];
|
2012-10-18 09:49:22 -07:00
|
|
|
};
|
|
|
|
|
2013-08-29 06:19:06 -07:00
|
|
|
xmodmap = attrs: attrs // {
|
|
|
|
patches = [(args.fetchurl {
|
|
|
|
url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-apps/xmodmap/files/xmodmap-1.0.7-_GNU_SOURCE.patch;
|
|
|
|
sha256 = "0q3zhy0wy1kkbpagzav8869fais4lw5q5vybgjj7wkmak06c5648";
|
|
|
|
name = "new-gcc.patch";
|
|
|
|
})];
|
|
|
|
};
|
2013-04-18 12:33:17 -07:00
|
|
|
xorgserver = with xorg; attrs: attrs // {
|
2013-04-25 07:57:36 -07:00
|
|
|
configureFlags = [
|
|
|
|
"--enable-xcsecurity" # enable SECURITY extension
|
|
|
|
"--with-default-font-path= " # there were only paths containing "${prefix}",
|
|
|
|
# and there are no fonts in this package anyway
|
|
|
|
];
|
2013-12-14 14:17:15 -08:00
|
|
|
patches = [ ./xorgserver-xkbcomp-path.patch ];
|
2013-04-18 12:33:17 -07:00
|
|
|
buildInputs = attrs.buildInputs ++ [ xtrans ];
|
2009-11-03 15:54:08 -08:00
|
|
|
propagatedBuildInputs =
|
2013-04-18 12:33:17 -07:00
|
|
|
[ args.zlib args.udev args.mesa args.dbus.libs
|
|
|
|
xf86bigfontproto glproto xf86driproto
|
|
|
|
compositeproto scrnsaverproto resourceproto
|
|
|
|
xf86dgaproto
|
|
|
|
dmxproto /*libdmx not used*/ xf86vidmodeproto
|
|
|
|
recordproto libXext pixman libXfont
|
|
|
|
damageproto xcmiscproto bigreqsproto
|
|
|
|
libpciaccess inputproto xextproto randrproto renderproto
|
|
|
|
dri2proto kbproto xineramaproto resourceproto scrnsaverproto videoproto
|
2011-02-15 06:34:26 -08:00
|
|
|
];
|
2009-09-09 15:16:09 -07:00
|
|
|
postInstall =
|
|
|
|
''
|
2010-03-09 07:35:46 -08:00
|
|
|
rm -fr $out/share/X11/xkb/compiled
|
2009-09-09 15:16:09 -07:00
|
|
|
ln -s /var/tmp $out/share/X11/xkb/compiled
|
|
|
|
'';
|
2013-06-23 04:57:13 -07:00
|
|
|
passthru.version = (builtins.parseDrvName attrs.name).version; # needed by virtualbox guest additions
|
2009-04-28 06:58:35 -07:00
|
|
|
};
|
2009-10-02 06:06:35 -07:00
|
|
|
|
2009-10-02 11:03:23 -07:00
|
|
|
|
2010-07-16 15:04:56 -07:00
|
|
|
lndir = attrs: attrs // {
|
|
|
|
preConfigure = ''
|
|
|
|
substituteInPlace lndir.c \
|
|
|
|
--replace 'n_dirs--;' ""
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2011-03-17 08:51:13 -07:00
|
|
|
twm = attrs: attrs // {
|
2012-12-28 10:20:09 -08:00
|
|
|
nativeBuildInputs = [args.bison args.flex];
|
2011-03-17 08:51:13 -07:00
|
|
|
};
|
|
|
|
|
2013-04-18 12:33:17 -07:00
|
|
|
xcursorthemes = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [xorg.xcursorgen];
|
|
|
|
configureFlags = "--with-cursordir=$(out)/share/icons";
|
|
|
|
};
|
|
|
|
|
2012-10-14 11:28:00 -07:00
|
|
|
xinput = attrs: attrs // {
|
2013-06-05 08:26:51 -07:00
|
|
|
propagatedBuildInputs = [xorg.libXfixes];
|
2012-10-14 11:28:00 -07:00
|
|
|
};
|
2012-10-19 02:50:02 -07:00
|
|
|
|
2012-11-21 17:26:11 -08:00
|
|
|
xinit = attrs: attrs // {
|
|
|
|
configureFlags = "--with-xserver=${xorg.xorgserver}/bin/X";
|
|
|
|
propagatedBuildInputs = [ xorg.xauth ];
|
|
|
|
prePatch = ''
|
|
|
|
sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2013-06-05 08:26:51 -07:00
|
|
|
xf86videointel = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [xorg.libXfixes];
|
|
|
|
};
|
|
|
|
|
2012-10-19 02:50:02 -07:00
|
|
|
xwd = attrs: attrs // {
|
|
|
|
buildInputs = attrs.buildInputs ++ [xorg.libXt];
|
|
|
|
};
|
2009-04-28 06:58:35 -07:00
|
|
|
}
|