Merge commit staging+systemd into closure-size
Many non-conflict problems weren't (fully) resolved in this commit yet.
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user