Merge branch 'x-updates'

This commit is contained in:
Domen Kožar
2014-04-02 15:30:52 +02:00
29 changed files with 405 additions and 555 deletions

View File

@@ -1,7 +1,7 @@
{ stdenv, fetchurl, pkgconfig, perl, glib, libintlOrEmpty, gobjectIntrospection }:
let
ver_maj = "2.10";
ver_maj = "2.12";
ver_min = "0";
in
stdenv.mkDerivation rec {
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/atk/${ver_maj}/${name}.tar.xz";
sha256 = "1c2hbg66wfvibsz2ia0ri48yr62751fn950i97c53j3b0fjifsb3";
sha256 = "13zijfcmx7sda83qkryzsmr9hw0r3b73xkagq9cmm733fhcl7a28";
};
buildInputs = libintlOrEmpty;

View File

@@ -3,14 +3,14 @@
let
ver_maj = "2.30";
ver_min = "4";
ver_min = "6";
in
stdenv.mkDerivation rec {
name = "gdk-pixbuf-${ver_maj}.${ver_min}";
src = fetchurl {
url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz";
sha256 = "0ldhpdalbyi6q5k1dz498i9hqcsd51yxq0f91ck9p0h4v38blfx1";
sha256 = "0nkz19xlh60bf9bqylh98n8rynpjyx1nzp1gcr6zljgvmnj4yfa3";
};
setupHook = ./setup-hook.sh;

View File

@@ -35,8 +35,8 @@ let
ln -sr -t "$out/include/" "$out"/lib/*/include/* 2>/dev/null || true
'';
ver_maj = "2.38";
ver_min = "2";
ver_maj = "2.40";
ver_min = "0";
in
with { inherit (stdenv.lib) optional optionals optionalString; };
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz";
sha256 = "0d2px8m77603s5pm3md4bcm5d0ksbcsb6ik1w52hjslnq1a9hsh5";
sha256 = "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd";
};
buildInputs = [ libelf ]

View File

@@ -5,7 +5,7 @@
# In that case its about 6MB which could be separated
let
ver_maj = "1.38";
ver_maj = "1.40";
ver_min = "0";
in
stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/gobject-introspection/${ver_maj}/${name}.tar.xz";
sha256 = "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m";
sha256 = "162flbzwzz0b8axab2gimc4dglpaw88fh1d177zfg0whczlpbsln";
};
buildInputs = [ flex bison glib pkgconfig python ]

View File

@@ -8,11 +8,11 @@ assert xineramaSupport -> xlibs.libXinerama != null;
assert cupsSupport -> cups != null;
stdenv.mkDerivation rec {
name = "gtk+-2.24.22";
name = "gtk+-2.24.23";
src = fetchurl {
url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz";
sha256 = "0zxf810znlk80j230rbr0xscx3gm71jmf2bdiamg76rqzglvc55i";
sha256 = "0z2ic7fma1lmmv4ncgki3vadqp7d0qkj2d235impsplvgvi0d950";
};
enableParallelBuilding = true;

View File

@@ -9,8 +9,8 @@ assert xineramaSupport -> xlibs.libXinerama != null;
assert cupsSupport -> cups != null;
let
ver_maj = "3.10";
ver_min = "7";
ver_maj = "3.12";
ver_min = "0";
version = "${ver_maj}.${ver_min}";
in
stdenv.mkDerivation rec {
@@ -18,11 +18,9 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
sha256 = "09wlsim4immrws0fyvpk03sspsljcsgybrwp73scycah70axxsdp";
sha256 = "0jvf9dawq82x1xsr2f56fw3y7yfwapgdj16gr4d5m6q2shf78sgb";
};
enableParallelBuilding = true;
nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ];
buildInputs = [ libxkbcommon ];
@@ -33,6 +31,11 @@ stdenv.mkDerivation rec {
++ optional xineramaSupport libXinerama
++ optional cupsSupport cups;
# demos fail to install, no idea where's the problem
preConfigure = "sed '/^SRC_SUBDIRS /s/demos//' -i Makefile.in";
enableParallelBuilding = true;
postInstall = "rm -rf $out/share/gtk-doc";
meta = {

View File

@@ -1,15 +1,15 @@
{ stdenv, fetchurl, pkgconfig, gtk3, glibmm, cairomm, pangomm, atkmm }:
let
ver_maj = "3.10";
ver_min = "1";
ver_maj = "3.11"; # unstable version, but ATM no stable builds with gtk-3.12 and this is the version used in GNOME-3.12 "stable"
ver_min = "9";
in
stdenv.mkDerivation rec {
name = "gtkmm-${ver_maj}.${ver_min}";
src = fetchurl {
url = "mirror://gnome/sources/gtkmm/${ver_maj}/${name}.tar.xz";
sha256 = "0f1587pc6x8hn268vqj5zr4dvyisj5zd9zpsfxyfm1pkbjmcv9bg";
sha256 = "04yji82prijlwpd3blx0am1ikjy7y7ih7jd628dywdjbbfq42920";
};
nativeBuildInputs = [ pkgconfig ];

View File

@@ -8,11 +8,11 @@
# (icu is a ~30 MB dependency, the rest is very small in comparison)
stdenv.mkDerivation rec {
name = "harfbuzz-0.9.26";
name = "harfbuzz-0.9.27";
src = fetchurl {
url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2";
sha256 = "0mz220qv3xn3lk1v94q1wgykayxnas94n8ks1liwkdazs71pvvax";
sha256 = "1ns7njbm45fjbc9p7gcpjc606ax120ab0i9cbx6v3mcq3kllln08";
};
configureFlags = [

View File

@@ -4,11 +4,11 @@
with { inherit (stdenv.lib) optionals; };
stdenv.mkDerivation rec {
name = "libgsf-1.14.28";
name = "libgsf-1.14.30";
src = fetchurl {
url = "mirror://gnome/sources/libgsf/1.14/${name}.tar.xz";
sha256 = "1r6bkwramb6qglmgbjmqvr5sahbfmql057ql97mx99fs3x7r357a";
sha256 = "0w2v1a9sxsymd1mcy4mwsz4r6za9iwq69rj86nb939p41d4c6j6b";
};
nativeBuildInputs = [ pkgconfig intltool ];

View File

@@ -1,15 +1,13 @@
{ stdenv, fetchurl, nasm }:
stdenv.mkDerivation rec {
name = "libjpeg-turbo-1.3.0";
name = "libjpeg-turbo-1.3.1";
src = fetchurl {
url = "mirror://sourceforge/libjpeg-turbo/${name}.tar.gz";
sha256 = "0d0jwdmj3h89bxdxlwrys2mw18mqcj4rzgb5l2ndpah8zj600mr6";
sha256 = "1fbgcvlnn3d5gvf0v9jnlcabpv2z3nwxclzyabahxi6x2xs90cn1";
};
patches = [ ./libjpeg-turbo-1.3.0-CVE-2013-6629-and-6630.patch ];
buildInputs = [ nasm ];
doCheck = true;

View File

@@ -1,40 +0,0 @@
Thanks to the sources below; this patch discovered via Gentoo.
http://bugzilla.redhat.com/show_bug.cgi?id=1031734
http://bugzilla.redhat.com/show_bug.cgi?id=1031749
http://sourceforge.net/p/libjpeg-turbo/code/1090/
--- libjpeg-turbo-1.3.0/jdmarker.c
+++ libjpeg-turbo-1.3.0/jdmarker.c
@@ -304,7 +304,7 @@
/* Process a SOS marker */
{
INT32 length;
- int i, ci, n, c, cc;
+ int i, ci, n, c, cc, pi;
jpeg_component_info * compptr;
INPUT_VARS(cinfo);
@@ -348,6 +348,13 @@
TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, cc,
compptr->dc_tbl_no, compptr->ac_tbl_no);
+
+ /* This CSi (cc) should differ from the previous CSi */
+ for (pi = 0; pi < i; pi++) {
+ if (cinfo->cur_comp_info[pi] == compptr) {
+ ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, cc);
+ }
+ }
}
/* Collect the additional scan parameters Ss, Se, Ah/Al. */
@@ -465,6 +472,8 @@
for (i = 0; i < count; i++)
INPUT_BYTE(cinfo, huffval[i], return FALSE);
+ MEMZERO(&huffval[count], (256 - count) * SIZEOF(UINT8));
+
length -= count;
if (index & 0x10) { /* AC table definition */

View File

@@ -1,12 +1,15 @@
{ stdenv, fetchurl, pkgconfig, libX11, libXi, xkeyboard_config, libxml2
, libICE, glib, libxkbfile, isocodes }:
let
version = "5.3";
in
stdenv.mkDerivation rec {
name = "libxklavier-5.0";
name = "libxklavier-${version}";
src = fetchurl {
url = "mirror://sourceforge/gswitchit/${name}.tar.bz2";
sha256 = "1c2dxinjfpq1lzxi0z46r0j80crbmwb0lkvnh6987cjjlwblpnfz";
url = "mirror://gnome/sources/libxklavier/${version}/${name}.tar.xz";
sha256 = "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b";
};
# TODO: enable xmodmap support, needs xmodmap DB

View File

@@ -23,8 +23,8 @@ else
*/
let
version = "9.2.5";
# this is the default search path for DRI drivers (note: X server no longer introduces an overriding env var)
version = "10.0.4";
# this is the default search path for DRI drivers
driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
in
with { inherit (stdenv.lib) optional optionals optionalString; };
@@ -34,21 +34,23 @@ stdenv.mkDerivation {
src = fetchurl {
url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
sha256 = "1w3bxclgwl2hwyxk3za7dbdakb8jsya7afck35cz0v8pxppvjsml";
sha256 = "0h2sq8h0l7415vsqfkb7mn1rxm62m2anpi9swlca69fbpr9bavpz";
};
prePatch = "patchShebangs .";
patches = [
./static-gallium.patch
./dricore-gallium.patch
./werror-wundef.patch
# TODO: revive ./dricore-gallium.patch when it gets ported (from Ubuntu),
# as it saved ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
];
# Change the search path for EGL drivers from $drivers/* to driverLink
postPatch = ''
sed '/D_EGL_DRIVER_SEARCH_DIR=/s,EGL_DRIVER_INSTALL_DIR,${driverLink}/lib/egl,' \
-i src/egl/main/Makefile.am
'' + /* work around RTTI LLVM problems */ ''
patch -R -p1 < ${./rtti.patch}
'';
outputs = ["out" "drivers" "osmesa"];
@@ -70,7 +72,7 @@ stdenv.mkDerivation {
"--with-dri-drivers=i965,r200,radeon"
"--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast,radeonsi"
"--with-egl-platforms=x11,wayland,drm" "--enable-gbm" "--enable-shared-glapi"
"--with-egl-platforms=x11,wayland,drm" "--enable-gbm"
]
++ optional enableTextureFloats "--enable-texture-float"
++ optionals enableExtraFeatures [
@@ -94,7 +96,7 @@ stdenv.mkDerivation {
enableParallelBuilding = true;
#doCheck = true; # https://bugs.freedesktop.org/show_bug.cgi?id=67672,
# also, 10.* links bad due to some RTTI problem
#tests for 10.* fail to link due to some RTTI problem
# move gallium-related stuff to $drivers, so $out doesn't depend on LLVM;
# also move libOSMesa to $osmesa, as it's relatively big
@@ -150,6 +152,11 @@ stdenv.mkDerivation {
substituteInPlace "$out/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}"
'' + /* move vdpau drivers to $drivers/lib, so they are found */ ''
mv "$drivers"/lib/vdpau/* "$drivers"/lib/ && rmdir "$drivers"/lib/vdpau
'' + /* add libGL* links from /run/opengl-driver */ ''
(
cd "$drivers/lib"
cp -s "$out"/lib/*.so .
)
'';
#ToDo: @vcunat isn't sure if drirc will be found when in $out/etc/, but it doesn't seem important ATM

View File

@@ -1,216 +0,0 @@
commit 5208f187c7dade2c33385a56c1a5f1c3cedc8377 (HEAD, nix-patches)
Author: Vladimír Čunát <vcunat@gmail.com>
Date: Mon May 13 11:34:59 2013 +0200
118-dricore-gallium.patch
diff --git a/configure.ac b/configure.ac
index be89843..08f6761 100644
--- a/configure.ac
+++ b/configure.ac
@@ -928,6 +928,8 @@ AC_SUBST([GLESv2_LIB_DEPS])
AC_SUBST([GLESv2_PC_LIB_PRIV])
DRI_LIB_DEPS="\$(top_builddir)/src/mesa/libdricore/libdricore${VERSION}.la"
+MESAGALLIUM_LIBS="${DRI_LIB_DEPS}"
+AC_SUBST([MESAGALLIUM_LIBS], ${MESAGALLIUM_LIBS})
AC_SUBST([HAVE_XF86VIDMODE])
diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
index 3cdec83..53ff69b 100644
--- a/src/gallium/auxiliary/Makefile.am
+++ b/src/gallium/auxiliary/Makefile.am
@@ -34,14 +34,14 @@ if LLVM_NEEDS_FNORTTI
AM_CXXFLAGS += -fno-rtti
-libgallium_la_LIBADD = $(LLVM_LIBS)
-
endif
libgallium_la_SOURCES += \
$(GALLIVM_SOURCES) \
$(GALLIVM_CPP_SOURCES)
+libgallium_la_LIBADD = ../../mesa/libdricore/libmesagallium.la $(LLVM_LIBS) $(GALLIUM_DRI_LIB_DEPS)
+
endif
indices/u_indices_gen.c: $(srcdir)/indices/u_indices_gen.py
diff --git a/src/gallium/targets/dri-i915/Makefile.am b/src/gallium/targets/dri-i915/Makefile.am
index f4f9030..e9b9462 100644
--- a/src/gallium/targets/dri-i915/Makefile.am
+++ b/src/gallium/targets/dri-i915/Makefile.am
@@ -49,7 +49,7 @@ i915_dri_la_SOURCES = \
i915_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
i915_dri_la_LIBADD = \
- $(top_builddir)/src/mesa/libmesagallium.la \
+ @MESAGALLIUM_LIBS@ \
$(top_builddir)/src/gallium/auxiliary/libgallium.la \
$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
$(top_builddir)/src/gallium/winsys/i915/drm/libi915drm.la \
diff --git a/src/gallium/targets/dri-nouveau/Makefile.am b/src/gallium/targets/dri-nouveau/Makefile.am
index 69ccf32..fef4c63 100644
--- a/src/gallium/targets/dri-nouveau/Makefile.am
+++ b/src/gallium/targets/dri-nouveau/Makefile.am
@@ -48,7 +48,7 @@ nouveau_dri_la_SOURCES = \
nouveau_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
nouveau_dri_la_LIBADD = \
- $(top_builddir)/src/mesa/libmesagallium.la \
+ @MESAGALLIUM_LIBS@ \
$(top_builddir)/src/gallium/auxiliary/libgallium.la \
$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
$(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
diff --git a/src/gallium/targets/dri-r300/Makefile.am b/src/gallium/targets/dri-r300/Makefile.am
index 8c0215d..6beb536 100644
--- a/src/gallium/targets/dri-r300/Makefile.am
+++ b/src/gallium/targets/dri-r300/Makefile.am
@@ -49,7 +49,7 @@ r300_dri_la_SOURCES = \
r300_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
r300_dri_la_LIBADD = \
- $(top_builddir)/src/mesa/libmesagallium.la \
+ @MESAGALLIUM_LIBS@ \
$(top_builddir)/src/gallium/auxiliary/libgallium.la \
$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
$(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \
diff --git a/src/gallium/targets/dri-r600/Makefile.am b/src/gallium/targets/dri-r600/Makefile.am
index 2b3524b..d40fb89 100644
--- a/src/gallium/targets/dri-r600/Makefile.am
+++ b/src/gallium/targets/dri-r600/Makefile.am
@@ -48,7 +48,7 @@ r600_dri_la_SOURCES = \
r600_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
r600_dri_la_LIBADD = \
- $(top_builddir)/src/mesa/libmesagallium.la \
+ @MESAGALLIUM_LIBS@ \
$(top_builddir)/src/gallium/auxiliary/libgallium.la \
$(top_builddir)/src/gallium/drivers/r600/libr600.la \
$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
diff --git a/src/gallium/targets/dri-radeonsi/Makefile.am b/src/gallium/targets/dri-radeonsi/Makefile.am
index f7d87a6..87ab2aa 100644
--- a/src/gallium/targets/dri-radeonsi/Makefile.am
+++ b/src/gallium/targets/dri-radeonsi/Makefile.am
@@ -49,7 +49,7 @@ radeonsi_dri_la_SOURCES = \
radeonsi_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
radeonsi_dri_la_LIBADD = \
- $(top_builddir)/src/mesa/libmesagallium.la \
+ @MESAGALLIUM_LIBS@ \
$(top_builddir)/src/gallium/auxiliary/libgallium.la \
$(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \
$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
diff --git a/src/gallium/targets/dri-swrast/Makefile.am b/src/gallium/targets/dri-swrast/Makefile.am
index 1104379..72d2401 100644
--- a/src/gallium/targets/dri-swrast/Makefile.am
+++ b/src/gallium/targets/dri-swrast/Makefile.am
@@ -49,7 +49,7 @@ swrast_dri_la_SOURCES = \
swrast_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
swrast_dri_la_LIBADD = \
- $(top_builddir)/src/mesa/libmesagallium.la \
+ @MESAGALLIUM_LIBS@ \
$(top_builddir)/src/gallium/auxiliary/libgallium.la \
$(top_builddir)/src/gallium/state_trackers/dri/sw/libdrisw.la \
$(top_builddir)/src/gallium/winsys/sw/dri/libswdri.la \
diff --git a/src/gallium/targets/dri-vmwgfx/Makefile.am b/src/gallium/targets/dri-vmwgfx/Makefile.am
index ca7df65..4384976 100644
--- a/src/gallium/targets/dri-vmwgfx/Makefile.am
+++ b/src/gallium/targets/dri-vmwgfx/Makefile.am
@@ -48,7 +48,7 @@ vmwgfx_dri_la_SOURCES = \
vmwgfx_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
vmwgfx_dri_la_LIBADD = \
- $(top_builddir)/src/mesa/libmesagallium.la \
+ @MESAGALLIUM_LIBS@ \
$(top_builddir)/src/gallium/auxiliary/libgallium.la \
$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
$(top_builddir)/src/gallium/winsys/svga/drm/libsvgadrm.la \
diff --git a/src/gallium/targets/egl-static/Makefile.am b/src/gallium/targets/egl-static/Makefile.am
index 5c40ae8..6922ab2 100644
--- a/src/gallium/targets/egl-static/Makefile.am
+++ b/src/gallium/targets/egl-static/Makefile.am
@@ -104,7 +104,7 @@ AM_CPPFLAGS += \
$(API_DEFINES)
egl_gallium_la_LIBADD += \
- $(top_builddir)/src/mesa/libmesagallium.la
+ @MESAGALLIUM_LIBS@
# make st/mesa built-in when there is a single glapi provider
if HAVE_SHARED_GLAPI
egl_gallium_la_LIBADD += \
diff --git a/src/mesa/Makefile.am b/src/mesa/Makefile.am
index 41483dd..0045a673 100644
--- a/src/mesa/Makefile.am
+++ b/src/mesa/Makefile.am
@@ -75,9 +75,6 @@ noinst_LTLIBRARIES += libmesa.la
else
check_LTLIBRARIES = libmesa.la
endif
-if HAVE_GALLIUM
-noinst_LTLIBRARIES += libmesagallium.la
-endif
SRCDIR = $(top_srcdir)/src/mesa/
BUILDDIR = $(top_builddir)/src/mesa/
@@ -119,15 +116,6 @@ libmesa_la_LIBADD = \
$()
libmesa_la_LDFLAGS =
-libmesagallium_la_SOURCES = \
- $(MESA_GALLIUM_FILES) \
- $(MESA_ASM_FILES_FOR_ARCH)
-
-libmesagallium_la_LIBADD = \
- $(top_builddir)/src/glsl/libglsl.la \
- $(top_builddir)/src/mesa/program/libprogram.la \
- $()
-
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gl.pc
diff --git a/src/mesa/libdricore/Makefile.am b/src/mesa/libdricore/Makefile.am
index 753548e..8761418 100644
--- a/src/mesa/libdricore/Makefile.am
+++ b/src/mesa/libdricore/Makefile.am
@@ -42,6 +42,7 @@ libdricore@VERSION@_la_SOURCES = \
libdricore@VERSION@_la_LDFLAGS = -version-number 1:0
libdricore@VERSION@_la_LIBADD = \
../program/libdricore_program.la \
+ $(top_builddir)/src/mapi/shared-glapi/libglapi.la
$()
if HAVE_X86_ASM
@@ -65,8 +66,10 @@ AM_CPPFLAGS += \
-I$(top_srcdir)/src/mesa/sparc
endif
+lib_LTLIBRARIES =
+
if HAVE_DRI
-lib_LTLIBRARIES = libdricore@VERSION@.la
+lib_LTLIBRARIES += libdricore@VERSION@.la
# Provide compatibility with scripts for the old Mesa build system for
# a while by putting a link to the driver into /lib of the build tree.
@@ -76,6 +79,17 @@ all-local: libdricore@VERSION@.la
ln -sf libdricore@VERSION@.so.1 $(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so
endif
+libmesagallium_la_SOURCES = \
+ $(STATETRACKER_FILES)
+libmesagallium_la_CFLAGS = @LLVM_CFLAGS@
+libmesagallium_la_CXXFLAGS = @LLVM_CXXFLAGS@
+libmesagallium_la_LIBADD = libdricore@VERSION@.la $(LLVM_LIBS)
+
+if HAVE_GALLIUM
+noinst_LTLIBRARIES = libmesagallium.la
+endif
+
+
CLEANFILES = \
$(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so.1 \
$(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so

View File

@@ -0,0 +1,72 @@
http://lists.freedesktop.org/archives/mesa-dev/2013-October/046311.html
* As discussed on the mailing list,
forced no-rtti breaks C++ public
API's such as the Haiku C++ libGL.so
* -fno-rtti *can* be still set however
instead of blindly forcing -fno-rtti,
we can rely on the llvm-config
--cppflags output.
If the system llvm is built without
rtti (default), the no-rtti flag will be
present in llvm-config --cppflags
(which we pick up on)
If llvm is built with rtti
(REQUIRES_RTTI=1), then -fno-rtti is
removed from llvm-config --cppflags.
* We could selectively add / remove rtti
from various components, however mixing
rtti and non-rtti code is tricky and
could introduce bugs.
* This needs impact tested.
---
configure.ac | 1 -
scons/llvm.py | 3 ---
src/gallium/auxiliary/Makefile.am | 6 ------
3 files changed, 10 deletions(-)
diff --git a/configure.ac b/configure.ac
index 0d082d2..3335575 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1943,7 +1943,6 @@ AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes)
AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes)
AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1)
-AM_CONDITIONAL(LLVM_NEEDS_FNORTTI, test $LLVM_VERSION_INT -ge 302)
AC_SUBST([ELF_LIB])
diff --git a/scons/llvm.py b/scons/llvm.py
index 7cd609c..c1c3736 100644
--- a/scons/llvm.py
+++ b/scons/llvm.py
@@ -195,9 +195,6 @@ def generate(env):
if llvm_version >= distutils.version.LooseVersion('3.1'):
components.append('mcjit')
- if llvm_version >= distutils.version.LooseVersion('3.2'):
- env.Append(CXXFLAGS = ('-fno-rtti',))
-
env.ParseConfig('llvm-config --libs ' + ' '.join(components))
env.ParseConfig('llvm-config --ldflags')
except OSError:
diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
index 670e124..2d2d8d4 100644
--- a/src/gallium/auxiliary/Makefile.am
+++ b/src/gallium/auxiliary/Makefile.am
@@ -25,12 +25,6 @@ AM_CXXFLAGS += \
$(GALLIUM_CFLAGS) \
$(LLVM_CXXFLAGS)
-if LLVM_NEEDS_FNORTTI
-
-AM_CXXFLAGS += -fno-rtti
-
-endif
-
libgallium_la_SOURCES += \
$(GALLIVM_SOURCES) \
$(GALLIVM_CPP_SOURCES)
--
1.8.4

View File

@@ -1,11 +1,4 @@
commit 2c910b6f186616cac8134e2a2cbe239c8351ed99
Author: Vladimír Čunát <vcunat@gmail.com>
Date: Mon May 13 11:34:34 2013 +0200
117-static-gallium.patch
Conflicts (moving of VISIBILITY_ confused the merge):
src/gallium/auxiliary/Makefile.am
117-static-gallium.patch from Ubuntu Trusty
diff --git a/configure.ac b/configure.ac
index b9fcb0b..be89843 100644

View File

@@ -1,12 +0,0 @@
diff -rupN Mesa-9.2.0-orig/include/GL/gl.h Mesa-9.2.0/include/GL/gl.h
--- Mesa-9.2.0-orig/include/GL/gl.h 2013-08-14 03:34:42.000000000 +0200
+++ Mesa-9.2.0/include/GL/gl.h 2013-09-24 19:34:58.319140812 +0200
@@ -2088,7 +2088,7 @@ typedef void (APIENTRYP PFNGLMULTITEXCOO
-#if GL_ARB_shader_objects
+#if defined(GL_ARB_shaders_objects) && GL_ARB_shader_objects
#ifndef GL_MESA_shader_debug
#define GL_MESA_shader_debug 1

View File

@@ -1,7 +1,7 @@
{ stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }:
stdenv.mkDerivation rec {
name = "automake-1.12.4";
name = "automake-1.12.6";
# TODO: Remove the `aclocal' wrapper when $ACLOCAL_PATH support is
# available upstream; see
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://gnu/automake/${name}.tar.xz";
sha256 = "0wppdm0wfizs6nmiwlkigcmh2pn33dywdkl7b407j3pvwn622vsi";
sha256 = "1ynvca8z4aqcwr94rf7j1bfiid2w9w250y9qhnyj9vmi8lhsnd7q";
};
buildInputs = [perl autoconf makeWrapper];