Merge commit staging+systemd into closure-size

Many non-conflict problems weren't (fully) resolved in this commit yet.
This commit is contained in:
Vladimír Čunát
2015-10-03 13:33:13 +02:00
6304 changed files with 708456 additions and 130039 deletions

View File

@@ -1,9 +1,8 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, autoreconfHook, substituteAll
, file, expat, libdrm, xorg, wayland, udev, llvmPackages, libffi, libomxil-bellagio
, libvdpau, libelf, libva, libclc
, libvdpau, libelf, libva
, grsecEnabled
, enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
, enableExtraFeatures ? false # not maintained
}:
if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then
@@ -24,10 +23,9 @@ else
with { inherit (stdenv.lib) optional optionalString; };
let
version = "10.5.4";
version = "10.6.8";
# this is the default search path for DRI drivers
driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
clang = if llvmPackages ? clang-unwrapped then llvmPackages.clang-unwrapped else llvmPackages.clang;
in
stdenv.mkDerivation {
@@ -38,7 +36,7 @@ stdenv.mkDerivation {
"https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
"ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
];
sha256 = "00v89jna7m6r2w1yrnx09isc97r2bd1hkn4jib445n1078zp47mm";
sha256 = "e36ee5ceeadb3966fb5ce5b4cf18322dbb76a4f075558ae49c3bba94f57d58fd";
};
prePatch = "patchShebangs .";
@@ -63,7 +61,6 @@ stdenv.mkDerivation {
configureFlags = [
"--sysconfdir=/etc"
"--localstatedir=/var"
#"--with-clang-libdir=${clang}/lib"
"--with-dri-driverdir=$(drivers)/lib/dri"
"--with-dri-searchpath=${driverLink}/lib/dri"
@@ -81,13 +78,11 @@ stdenv.mkDerivation {
++ [
"--enable-xvmc"
"--enable-vdpau"
"--enable-omx"
"--enable-va"
#"--enable-omx"
#"--enable-va"
# TODO: Figure out how to enable opencl without having a runtime dependency on clang
"--disable-opencl"
#"--enable-opencl"
#"--enable-opencl-icd"
"--with-gallium-drivers=svga,i915,ilo,r300,r600,radeonsi,nouveau,freedreno,swrast"
"--enable-shared-glapi"
@@ -111,8 +106,7 @@ stdenv.mkDerivation {
autoreconfHook intltool expat llvmPackages.llvm
glproto dri2proto dri3proto presentproto
libX11 libXext libxcb libXt libXfixes libxshmfence
libffi wayland libvdpau libelf libXvMC libomxil-bellagio libva
#libclc clang
libffi wayland libvdpau libelf libXvMC /* libomxil-bellagio libva */
] ++ optional stdenv.isLinux udev;
enableParallelBuilding = true;
@@ -129,8 +123,7 @@ stdenv.mkDerivation {
postInstall = with stdenv.lib; ''
mv -t "$drivers/lib/" \
$out/lib/libXvMC* \
$out/lib/libdricore* \
$out/lib/libgallium* \
$out/lib/d3d \
$out/lib/vdpau \
$out/lib/{bellagio,d3d} \
$out/lib/libxatracker*
@@ -150,14 +143,6 @@ stdenv.mkDerivation {
$out/lib/pkgconfig/osmesa.pc
'' + /* now fix references in .la files */ ''
sed "/^libdir=/s,$out,$drivers," -i \
$drivers/lib/libXvMC*.la \
$drivers/lib/vdpau/*.la \
$drivers/lib/libdricore*.la
sed "s,$out\(/lib/libdricore[0-9\.]*.la\),$drivers\1,g" \
-i $drivers/lib/*.la $drivers/lib/*/*.la
sed "/^libdir=/s,$out,$osmesa," -i \
$osmesa/lib/libOSMesa*.la

View File

@@ -1,13 +1,22 @@
diff --git a/src/loader/loader.c b/src/loader/loader.c
index 666d015..4d7a9be 100644
diff --git a/loader.c b/loader.c
index 4fdf3c2..69ea22d 100644
--- a/src/loader/loader.c
+++ b/src/loader/loader.c
@@ -101,7 +101,7 @@ static void *
@@ -112,7 +112,7 @@ static void *udev_handle = NULL;
static void *
udev_dlopen_handle(void)
{
if (!udev_handle) {
- udev_handle = dlopen("libudev.so.1", RTLD_LOCAL | RTLD_LAZY);
+ udev_handle = dlopen("@libudev@/lib/libudev.so.1", RTLD_LOCAL | RTLD_LAZY);
- char name[80];
+ char name[256];
unsigned flags = RTLD_NOLOAD | RTLD_LOCAL | RTLD_LAZY;
int version;
if (!udev_handle) {
/* libudev.so.1 changed the return types of the two unref functions
@@ -126,7 +126,7 @@ udev_dlopen_handle(void)
/* First try opening an already linked libudev, then try loading one */
do {
for (version = 1; version >= 0; version--) {
- snprintf(name, sizeof(name), "libudev.so.%d", version);
+ snprintf(name, sizeof(name), "@libudev@/lib/libudev.so.%d", version);
udev_handle = dlopen(name, flags);
if (udev_handle)
return udev_handle;