From 4b87cc95838246c05f3025e52ff71e6aa853a9f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Sun, 2 Dec 2012 11:20:07 +0100 Subject: [PATCH 01/16] Add wayland 1.0.2. --- .../development/libraries/wayland/default.nix | 20 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/development/libraries/wayland/default.nix diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix new file mode 100644 index 00000000000..79576569e19 --- /dev/null +++ b/pkgs/development/libraries/wayland/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, libffi, expat, doxygen }: + +let version = "1.0.2"; in + +stdenv.mkDerivation rec { + name = "wayland-${version}"; + + src = fetchurl { + url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; + sha256 = "0q2p83s2c7l5n6yzii3f2r6wrl3bd99d0v0fai21pb4jwijmxq71"; + }; + + buildInputs = [ pkgconfig libffi expat doxygen ]; + + meta = { + description = "Reference implementation of the wayland protocol"; + homepage = http://wayland.freedesktop.org/; + license = stdenv.lib.licenses.mit; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e5945703c6c..cf10695d24b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5023,6 +5023,8 @@ let libpng = libpng12; }; + wayland = callPackage ../development/libraries/wayland { }; + webkit = builderDefsPackage ../development/libraries/webkit { inherit (gnome) gtkdoc libsoup; From 5e5b676b4d46db2b087f00b293257d377f7afc1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Sun, 2 Dec 2012 12:07:35 +0100 Subject: [PATCH 02/16] Add mesa 9.0.x and corresponding libdrm. I took most of the changes from falsifian's repo, but I want to keep mesa 9.0 as a separate expression. For now I added wayland as a mandatory dependency, will have to fix that. --- pkgs/development/libraries/libdrm/2.4.39.nix | 33 +++++++++++++ pkgs/development/libraries/mesa/9.0.x.nix | 50 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 7 +++ 3 files changed, 90 insertions(+) create mode 100644 pkgs/development/libraries/libdrm/2.4.39.nix create mode 100644 pkgs/development/libraries/mesa/9.0.x.nix diff --git a/pkgs/development/libraries/libdrm/2.4.39.nix b/pkgs/development/libraries/libdrm/2.4.39.nix new file mode 100644 index 00000000000..4d05c25955d --- /dev/null +++ b/pkgs/development/libraries/libdrm/2.4.39.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev }: + +stdenv.mkDerivation rec { + name = "libdrm-2.4.39"; + + src = fetchurl { + url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2"; + sha256 = "0gbk598li3nlyjvyqilg931i4yy7skp1rs7d2v54nl40i4w1fsrq"; + }; + + buildNativeInputs = [ pkgconfig ]; + buildInputs = [ libpthreadstubs libpciaccess udev ]; + + patches = stdenv.lib.optional stdenv.isDarwin ./libdrm-apple.patch; + + preConfigure = stdenv.lib.optionalString stdenv.isDarwin + "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache"; + + configureFlags = [ "--enable-nouveau-experimental-api" + "--enable-radeon-experimental-api" + "--enable-udev" ] + ++ stdenv.lib.optional stdenv.isDarwin "-C"; + + crossAttrs.configureFlags = configureFlags ++ [ "--disable-intel" ]; + + meta = { + homepage = http://dri.freedesktop.org/libdrm/; + description = "Library for accessing the kernel's Direct Rendering Manager"; + license = "bsd"; + maintainers = [ stdenv.lib.maintainers.urkud ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/mesa/9.0.x.nix b/pkgs/development/libraries/mesa/9.0.x.nix new file mode 100644 index 00000000000..97874a258f5 --- /dev/null +++ b/pkgs/development/libraries/mesa/9.0.x.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchurl, autoconf, automake, autoreconfHook, libtool +, flex, bison, pkgconfig, libdrm2_4_39, file, expat, makedepend, llvm +, libXxf86vm, libXfixes, libXdamage, glproto, dri2proto, libX11, libxcb, libXext +, libXt, udev, enableTextureFloats ? false +, python, libxml2Python, wayland }: + +if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then + throw "unsupported platform for Mesa" +else + +let version = "9.0.1"; in + +stdenv.mkDerivation { + name = "mesa-${version}"; + + src = fetchurl { + url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2"; + md5 = "97d6554c05ea7449398afe3a0ede7018"; + }; + + patches = + stdenv.lib.optional (stdenv.system == "mips64el-linux") ./mips_wmb.patch; + + prePatch = "patchShebangs ."; + + configureFlags = + " --enable-gles1 --enable-gles2 --disable-gallium-egl" + + " --with-egl-platforms=x11,wayland,drm --enable-gbm --enable-shared-glapi" + + " --with-gallium-drivers=i915,nouveau,r600,svga,swrast" + # Texture floats are patented, see docs/patents.txt + + stdenv.lib.optionalString enableTextureFloats " --enable-texture-float"; + + buildInputs = [ autoconf automake autoreconfHook libtool + expat libdrm2_4_39 libXxf86vm libXfixes libXdamage glproto dri2proto llvm + libxml2Python libX11 libXext libxcb libXt udev wayland ]; + + buildNativeInputs = [ pkgconfig python makedepend file flex bison ]; + + enableParallelBuilding = true; + + passthru = { inherit libdrm2_4_39; }; + + meta = { + description = "An open source implementation of OpenGL"; + homepage = http://www.mesa3d.org/; + license = "bsd"; + platforms = stdenv.lib.platforms.mesaPlatforms; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cf10695d24b..fa6ba657548 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4126,6 +4126,11 @@ let inherit (xorg) libpthreadstubs; }; + libdrm2_4_39 = callPackage ../development/libraries/libdrm/2.4.39.nix { + inherit fetchurl stdenv pkgconfig; + inherit (xorg) libpthreadstubs; + }; + libdv = callPackage ../development/libraries/libdv { }; libdvbpsi = callPackage ../development/libraries/libdvbpsi { }; @@ -4535,6 +4540,8 @@ let mesa = callPackage ../development/libraries/mesa { }; + mesa90x = callPackage ../development/libraries/mesa/9.0.x.nix { }; + metaEnvironment = recurseIntoAttrs (let callPackage = newScope pkgs.metaEnvironment; in rec { sdfLibrary = callPackage ../development/libraries/sdf-library { aterm = aterm28; }; toolbuslib = callPackage ../development/libraries/toolbuslib { aterm = aterm28; inherit (windows) w32api; }; From 22f4b5c637125f8ba9a89a9d991dbc923f278e42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Sun, 2 Dec 2012 12:21:02 +0100 Subject: [PATCH 03/16] Add libxkbcommon 0.2.0. This is needed as a dependency for the Weston compositor. --- .../libraries/libxkbcommon/default.nix | 21 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/development/libraries/libxkbcommon/default.nix diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix new file mode 100644 index 00000000000..4a1327778d4 --- /dev/null +++ b/pkgs/development/libraries/libxkbcommon/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, yacc, flex, xkeyboard_config }: + +stdenv.mkDerivation rec { + name = "libxkbcommon-0.2.0"; + + src = fetchurl { + url = "http://xkbcommon.org/download/${name}.tar.bz2"; + sha256 = "0hpvfa8p4bhvhc1gcb578m354p5idd192xb8zlaq16d33h90msvl"; + }; + + buildInputs = [ yacc flex xkeyboard_config ]; + + configureFlags = '' + --with-xkb-config-root=${xkeyboard_config}/etc/X11/xkb + ''; + + meta = { + description = "A library to handle keyboard descriptions"; + homepage = http://xkbcommon.org; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fa6ba657548..bbee4ceea32 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4475,6 +4475,8 @@ let libxdg_basedir = callPackage ../development/libraries/libxdg-basedir { }; + libxkbcommon = callPackage ../development/libraries/libxkbcommon { }; + libxklavier = callPackage ../development/libraries/libxklavier { }; libxmi = callPackage ../development/libraries/libxmi { }; From 660c96b6dfd2248175523e593f9b91ac91e9cddb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Sun, 2 Dec 2012 12:25:29 +0100 Subject: [PATCH 04/16] Add support for gl backend to cairo. This is also needed for the Weston compositor. --- pkgs/development/libraries/cairo/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix index d21f303e741..4a4810cbbe3 100644 --- a/pkgs/development/libraries/cairo/default.nix +++ b/pkgs/development/libraries/cairo/default.nix @@ -2,15 +2,17 @@ , pdfSupport ? true , pngSupport ? true , xcbSupport ? false +, glSupport ? false , gobjectSupport ? true, glib , stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs -, zlib, libpng, pixman, libxcb ? null, xcbutil ? null +, zlib, libpng, pixman, libxcb ? null, xcbutil ? null, mesa ? null , gettext, libiconvOrEmpty }: assert postscriptSupport -> zlib != null; assert pngSupport -> libpng != null; assert xcbSupport -> libxcb != null && xcbutil != null; +assert glSupport -> mesa != null; stdenv.mkDerivation rec { name = "cairo-1.12.4"; @@ -23,6 +25,7 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig x11 fontconfig xlibs.libXrender ] ++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ] + ++ stdenv.lib.optionals glSupport [ mesa ] # On non-GNU systems we need GNU Gettext for libintl. ++ stdenv.lib.optional (!stdenv.isLinux) gettext @@ -38,6 +41,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-tee" ] ++ stdenv.lib.optional xcbSupport "--enable-xcb" + ++ stdenv.lib.optional glSupport "--enable-gl" ++ stdenv.lib.optional pdfSupport "--enable-pdf"; preConfigure = '' From b60d016a0ad58566381dd331c75a83dd8914fbd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Sun, 2 Dec 2012 12:42:55 +0100 Subject: [PATCH 05/16] Add Weston 1.0.2. Currently doesn't build. I have to further investigate but there seems to be a missing file from the tarball. --- .../window-managers/weston/default.nix | 24 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 7 ++++++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/applications/window-managers/weston/default.nix diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix new file mode 100644 index 00000000000..ddc4020d548 --- /dev/null +++ b/pkgs/applications/window-managers/weston/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, wayland, mesa90x, libxkbcommon, pixman +, cairo, libxcb, libXcursor, x11, udev, libdrm2_4_39, mtdev +, libjpeg, pam }: + +let version = "1.0.2"; in + +stdenv.mkDerivation rec { + name = "weston-${version}"; + + src = fetchurl { + url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; + sha256 = "1496l8hmpxx7pivdpp14pv0hi30q18dmnaxz471v9jiqsnnrr11k"; + }; + + buildInputs = [ pkgconfig wayland mesa90x libxkbcommon pixman + cairo libxcb libXcursor x11 udev libdrm2_4_39 mtdev + libjpeg pam ]; + + meta = { + description = "Reference implementation of a Wayland compositor"; + homepage = http://wayland.freedesktop.org/; + license = stdenv.lib.licenses.mit; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bbee4ceea32..da5f8ad98b8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7969,6 +7969,13 @@ let weechat = callPackage ../applications/networking/irc/weechat { }; + weston = callPackage ../applications/window-managers/weston { + cairo = cairo.override { + xcbSupport = true; + glSupport = true; + }; + }; + wings = callPackage ../applications/graphics/wings { }; wmname = callPackage ../applications/misc/wmname { }; From ec99d9603c59a2c9b21ee7e7dcf687f603217c74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Fri, 7 Dec 2012 12:10:14 +0100 Subject: [PATCH 06/16] Weston: add patches to fix the build. The patches fix two issues: - screenshooter-client-protocol.h missing from tarball - missing flags for include paths and definitions I had to add auto* as inputs to be able to call autoreconf, as one patch modifies a Makefile.am. Both issues are already reported upstream. --- .../window-managers/weston/default.nix | 11 ++- .../window-managers/weston/makefile.patch | 45 ++++++++++++ .../screenshooter-client-protocol_h.patch | 72 +++++++++++++++++++ 3 files changed, 126 insertions(+), 2 deletions(-) create mode 100644 pkgs/applications/window-managers/weston/makefile.patch create mode 100644 pkgs/applications/window-managers/weston/screenshooter-client-protocol_h.patch diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index ddc4020d548..ffd7c241ee4 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, wayland, mesa90x, libxkbcommon, pixman , cairo, libxcb, libXcursor, x11, udev, libdrm2_4_39, mtdev -, libjpeg, pam }: +, libjpeg, pam, autoconf, automake, libtool }: let version = "1.0.2"; in @@ -12,9 +12,16 @@ stdenv.mkDerivation rec { sha256 = "1496l8hmpxx7pivdpp14pv0hi30q18dmnaxz471v9jiqsnnrr11k"; }; + patches = [ + ./screenshooter-client-protocol_h.patch + ./makefile.patch + ]; + buildInputs = [ pkgconfig wayland mesa90x libxkbcommon pixman cairo libxcb libXcursor x11 udev libdrm2_4_39 mtdev - libjpeg pam ]; + libjpeg pam autoconf automake libtool ]; + + preConfigure = "autoreconf -vfi"; meta = { description = "Reference implementation of a Wayland compositor"; diff --git a/pkgs/applications/window-managers/weston/makefile.patch b/pkgs/applications/window-managers/weston/makefile.patch new file mode 100644 index 00000000000..1d6276d4091 --- /dev/null +++ b/pkgs/applications/window-managers/weston/makefile.patch @@ -0,0 +1,45 @@ +diff --git a/clients/Makefile.am b/clients/Makefile.am +index 81d1b57..fec50af 100644 +--- a/clients/Makefile.am ++++ b/clients/Makefile.am +@@ -80,6 +80,8 @@ libtoytoolkit_a_SOURCES = \ + text-cursor-position-client-protocol.h \ + workspaces-protocol.c \ + workspaces-client-protocol.h ++libtoytoolkit_a_CPPFLAGS = \ ++ $(AM_CPPFLAGS) $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS) + + toolkit_libs = \ + libtoytoolkit.a \ +@@ -96,6 +98,7 @@ weston_terminal_SOURCES = terminal.c + weston_terminal_LDADD = $(toolkit_libs) -lutil + + image_SOURCES = image.c ++image_CPPFLAGS = $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS) + image_LDADD = $(toolkit_libs) + + cliptest_SOURCES = cliptest.c +@@ -103,6 +106,7 @@ cliptest_CPPFLAGS = $(AM_CPPFLAGS) $(PIXMAN_CFLAGS) + cliptest_LDADD = $(toolkit_libs) $(PIXMAN_LIBS) + + dnd_SOURCES = dnd.c ++dnd_CPPFLAGS = $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS) + dnd_LDADD = $(toolkit_libs) + + smoke_SOURCES = smoke.c +@@ -141,12 +145,15 @@ weston_desktop_shell_SOURCES = \ + desktop-shell.c \ + desktop-shell-client-protocol.h \ + desktop-shell-protocol.c ++weston_desktop_shell_CPPFLAGS = \ ++ $(AM_CPPFLAGS) $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS) + weston_desktop_shell_LDADD = $(toolkit_libs) + + weston_tablet_shell_SOURCES = \ + tablet-shell.c \ + tablet-shell-client-protocol.h \ + tablet-shell-protocol.c ++weston_tablet_shell_CPPFLAGS = $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS) + weston_tablet_shell_LDADD = $(toolkit_libs) + + BUILT_SOURCES = \ diff --git a/pkgs/applications/window-managers/weston/screenshooter-client-protocol_h.patch b/pkgs/applications/window-managers/weston/screenshooter-client-protocol_h.patch new file mode 100644 index 00000000000..1f528dcf9d0 --- /dev/null +++ b/pkgs/applications/window-managers/weston/screenshooter-client-protocol_h.patch @@ -0,0 +1,72 @@ +diff --git a/clients/screenshooter-client-protocol.h b/clients/screenshooter-client-protocol.h +new file mode 100644 +index 0000000..8782ca1 +--- /dev/null ++++ b/clients/screenshooter-client-protocol.h +@@ -0,0 +1,66 @@ ++#ifndef SCREENSHOOTER_CLIENT_PROTOCOL_H ++#define SCREENSHOOTER_CLIENT_PROTOCOL_H ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include ++#include ++#include "wayland-client.h" ++ ++struct wl_client; ++struct wl_resource; ++ ++struct screenshooter; ++ ++extern const struct wl_interface screenshooter_interface; ++ ++struct screenshooter_listener { ++ /** ++ * done - (none) ++ */ ++ void (*done)(void *data, ++ struct screenshooter *screenshooter); ++}; ++ ++static inline int ++screenshooter_add_listener(struct screenshooter *screenshooter, ++ const struct screenshooter_listener *listener, void *data) ++{ ++ return wl_proxy_add_listener((struct wl_proxy *) screenshooter, ++ (void (**)(void)) listener, data); ++} ++ ++#define SCREENSHOOTER_SHOOT 0 ++ ++static inline void ++screenshooter_set_user_data(struct screenshooter *screenshooter, void *user_data) ++{ ++ wl_proxy_set_user_data((struct wl_proxy *) screenshooter, user_data); ++} ++ ++static inline void * ++screenshooter_get_user_data(struct screenshooter *screenshooter) ++{ ++ return wl_proxy_get_user_data((struct wl_proxy *) screenshooter); ++} ++ ++static inline void ++screenshooter_destroy(struct screenshooter *screenshooter) ++{ ++ wl_proxy_destroy((struct wl_proxy *) screenshooter); ++} ++ ++static inline void ++screenshooter_shoot(struct screenshooter *screenshooter, struct wl_output *output, struct wl_buffer *buffer) ++{ ++ wl_proxy_marshal((struct wl_proxy *) screenshooter, ++ SCREENSHOOTER_SHOOT, output, buffer); ++} ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif From c2189c49c6735e1f1611e9897686e76ee0dc4fce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Fri, 7 Dec 2012 12:28:35 +0100 Subject: [PATCH 07/16] Weston: prevent install to chown root weston-launch. This operation fails with permission denied, and since this launcher is only needed when not running under X, I leave it disabled for the moment. --- pkgs/applications/window-managers/weston/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index ffd7c241ee4..c8919c1064b 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -23,6 +23,11 @@ stdenv.mkDerivation rec { preConfigure = "autoreconf -vfi"; + # prevent install target to chown root weston-launch, which fails + configureFlags = '' + --disable-setuid-install + ''; + meta = { description = "Reference implementation of a Wayland compositor"; homepage = http://wayland.freedesktop.org/; From a53a7bc0e43284166c08786f6cd0cb2a1305f71e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Tue, 8 Jan 2013 23:21:36 +0100 Subject: [PATCH 08/16] Update wayland and weston to 1.0.3. I also removed the screenshooter-client-protocol patch as this was fixed upstream. --- .../window-managers/weston/default.nix | 5 +- .../screenshooter-client-protocol_h.patch | 72 ------------------- .../development/libraries/wayland/default.nix | 4 +- 3 files changed, 4 insertions(+), 77 deletions(-) delete mode 100644 pkgs/applications/window-managers/weston/screenshooter-client-protocol_h.patch diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index c8919c1064b..e4a4ee5a75a 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -2,18 +2,17 @@ , cairo, libxcb, libXcursor, x11, udev, libdrm2_4_39, mtdev , libjpeg, pam, autoconf, automake, libtool }: -let version = "1.0.2"; in +let version = "1.0.3"; in stdenv.mkDerivation rec { name = "weston-${version}"; src = fetchurl { url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "1496l8hmpxx7pivdpp14pv0hi30q18dmnaxz471v9jiqsnnrr11k"; + sha256 = "0ls8w1l8k9fx0hjlw7qzjb98l911agigf5s2dna3xsjlyv9afdii"; }; patches = [ - ./screenshooter-client-protocol_h.patch ./makefile.patch ]; diff --git a/pkgs/applications/window-managers/weston/screenshooter-client-protocol_h.patch b/pkgs/applications/window-managers/weston/screenshooter-client-protocol_h.patch deleted file mode 100644 index 1f528dcf9d0..00000000000 --- a/pkgs/applications/window-managers/weston/screenshooter-client-protocol_h.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/clients/screenshooter-client-protocol.h b/clients/screenshooter-client-protocol.h -new file mode 100644 -index 0000000..8782ca1 ---- /dev/null -+++ b/clients/screenshooter-client-protocol.h -@@ -0,0 +1,66 @@ -+#ifndef SCREENSHOOTER_CLIENT_PROTOCOL_H -+#define SCREENSHOOTER_CLIENT_PROTOCOL_H -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+#include -+#include "wayland-client.h" -+ -+struct wl_client; -+struct wl_resource; -+ -+struct screenshooter; -+ -+extern const struct wl_interface screenshooter_interface; -+ -+struct screenshooter_listener { -+ /** -+ * done - (none) -+ */ -+ void (*done)(void *data, -+ struct screenshooter *screenshooter); -+}; -+ -+static inline int -+screenshooter_add_listener(struct screenshooter *screenshooter, -+ const struct screenshooter_listener *listener, void *data) -+{ -+ return wl_proxy_add_listener((struct wl_proxy *) screenshooter, -+ (void (**)(void)) listener, data); -+} -+ -+#define SCREENSHOOTER_SHOOT 0 -+ -+static inline void -+screenshooter_set_user_data(struct screenshooter *screenshooter, void *user_data) -+{ -+ wl_proxy_set_user_data((struct wl_proxy *) screenshooter, user_data); -+} -+ -+static inline void * -+screenshooter_get_user_data(struct screenshooter *screenshooter) -+{ -+ return wl_proxy_get_user_data((struct wl_proxy *) screenshooter); -+} -+ -+static inline void -+screenshooter_destroy(struct screenshooter *screenshooter) -+{ -+ wl_proxy_destroy((struct wl_proxy *) screenshooter); -+} -+ -+static inline void -+screenshooter_shoot(struct screenshooter *screenshooter, struct wl_output *output, struct wl_buffer *buffer) -+{ -+ wl_proxy_marshal((struct wl_proxy *) screenshooter, -+ SCREENSHOOTER_SHOOT, output, buffer); -+} -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix index 79576569e19..1b774adfb37 100644 --- a/pkgs/development/libraries/wayland/default.nix +++ b/pkgs/development/libraries/wayland/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, pkgconfig, libffi, expat, doxygen }: -let version = "1.0.2"; in +let version = "1.0.3"; in stdenv.mkDerivation rec { name = "wayland-${version}"; src = fetchurl { url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "0q2p83s2c7l5n6yzii3f2r6wrl3bd99d0v0fai21pb4jwijmxq71"; + sha256 = "04sr7bl1f0qk837qpc9zpxirkgvlp3pval3326mbld553ghmxgpn"; }; buildInputs = [ pkgconfig libffi expat doxygen ]; From 5cb61fd967639ea25a7031adaeede734c6e5bb5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Sat, 26 Jan 2013 12:32:17 +0100 Subject: [PATCH 09/16] Update mesa to 9.0.2 and libdrm to 2.4.40. --- .../libraries/libdrm/{2.4.39.nix => 2.4.40.nix} | 4 ++-- pkgs/development/libraries/mesa/9.0.x.nix | 10 +++++----- pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) rename pkgs/development/libraries/libdrm/{2.4.39.nix => 2.4.40.nix} (91%) diff --git a/pkgs/development/libraries/libdrm/2.4.39.nix b/pkgs/development/libraries/libdrm/2.4.40.nix similarity index 91% rename from pkgs/development/libraries/libdrm/2.4.39.nix rename to pkgs/development/libraries/libdrm/2.4.40.nix index 4d05c25955d..b36fcd60202 100644 --- a/pkgs/development/libraries/libdrm/2.4.39.nix +++ b/pkgs/development/libraries/libdrm/2.4.40.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev }: stdenv.mkDerivation rec { - name = "libdrm-2.4.39"; + name = "libdrm-2.4.40"; src = fetchurl { url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2"; - sha256 = "0gbk598li3nlyjvyqilg931i4yy7skp1rs7d2v54nl40i4w1fsrq"; + sha256 = "07xazz6flzc2khvks2cxls36sbsx0ns3x2cj499dw3za0134xha8"; }; buildNativeInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/mesa/9.0.x.nix b/pkgs/development/libraries/mesa/9.0.x.nix index 97874a258f5..4b549b6a5a9 100644 --- a/pkgs/development/libraries/mesa/9.0.x.nix +++ b/pkgs/development/libraries/mesa/9.0.x.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, autoconf, automake, autoreconfHook, libtool -, flex, bison, pkgconfig, libdrm2_4_39, file, expat, makedepend, llvm +, flex, bison, pkgconfig, libdrm2_4_40, file, expat, makedepend, llvm , libXxf86vm, libXfixes, libXdamage, glproto, dri2proto, libX11, libxcb, libXext , libXt, udev, enableTextureFloats ? false , python, libxml2Python, wayland }: @@ -8,14 +8,14 @@ if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then throw "unsupported platform for Mesa" else -let version = "9.0.1"; in +let version = "9.0.2"; in stdenv.mkDerivation { name = "mesa-${version}"; src = fetchurl { url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2"; - md5 = "97d6554c05ea7449398afe3a0ede7018"; + md5 = "dc45d1192203e418163e0017640e1cfc"; }; patches = @@ -31,14 +31,14 @@ stdenv.mkDerivation { + stdenv.lib.optionalString enableTextureFloats " --enable-texture-float"; buildInputs = [ autoconf automake autoreconfHook libtool - expat libdrm2_4_39 libXxf86vm libXfixes libXdamage glproto dri2proto llvm + expat libdrm2_4_40 libXxf86vm libXfixes libXdamage glproto dri2proto llvm libxml2Python libX11 libXext libxcb libXt udev wayland ]; buildNativeInputs = [ pkgconfig python makedepend file flex bison ]; enableParallelBuilding = true; - passthru = { inherit libdrm2_4_39; }; + passthru = { inherit libdrm2_4_40; }; meta = { description = "An open source implementation of OpenGL"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a4da6b55e00..2b3da9ea1ee 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4178,7 +4178,7 @@ let inherit (xorg) libpthreadstubs; }; - libdrm2_4_39 = callPackage ../development/libraries/libdrm/2.4.39.nix { + libdrm2_4_40 = callPackage ../development/libraries/libdrm/2.4.40.nix { inherit fetchurl stdenv pkgconfig; inherit (xorg) libpthreadstubs; }; From bc9a291779e9438c6bf9b0a09d86c90c58e18585 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Mon, 28 Jan 2013 19:45:07 +0100 Subject: [PATCH 10/16] wayland: update to 1.0.4. Also updated weston to 1.0.4, which now fails to build. Doh! --- pkgs/applications/window-managers/weston/default.nix | 8 ++++---- pkgs/development/libraries/wayland/default.nix | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index e4a4ee5a75a..c8285475f8d 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchurl, pkgconfig, wayland, mesa90x, libxkbcommon, pixman -, cairo, libxcb, libXcursor, x11, udev, libdrm2_4_39, mtdev +, cairo, libxcb, libXcursor, x11, udev, libdrm2_4_40, mtdev , libjpeg, pam, autoconf, automake, libtool }: -let version = "1.0.3"; in +let version = "1.0.4"; in stdenv.mkDerivation rec { name = "weston-${version}"; src = fetchurl { url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "0ls8w1l8k9fx0hjlw7qzjb98l911agigf5s2dna3xsjlyv9afdii"; + sha256 = "1841sd6i8nq9gs1xkx8lwcg4lzy6yfcs95nnsfaf0y1ppd6c9sj2"; }; patches = [ @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ pkgconfig wayland mesa90x libxkbcommon pixman - cairo libxcb libXcursor x11 udev libdrm2_4_39 mtdev + cairo libxcb libXcursor x11 udev libdrm2_4_40 mtdev libjpeg pam autoconf automake libtool ]; preConfigure = "autoreconf -vfi"; diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix index 1b774adfb37..6995a4019a2 100644 --- a/pkgs/development/libraries/wayland/default.nix +++ b/pkgs/development/libraries/wayland/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, pkgconfig, libffi, expat, doxygen }: -let version = "1.0.3"; in +let version = "1.0.4"; in stdenv.mkDerivation rec { name = "wayland-${version}"; src = fetchurl { url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "04sr7bl1f0qk837qpc9zpxirkgvlp3pval3326mbld553ghmxgpn"; + sha256 = "074n94d79bqvihf9wmszvar8r9v4g4n1h9m8vs8ki6xjhsk07s4d"; }; buildInputs = [ pkgconfig libffi expat doxygen ]; From bd8428efa13764f3bf6ac7de538afa5f50023aa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Mon, 18 Feb 2013 19:57:27 +0100 Subject: [PATCH 11/16] wayland: update to 1.0.5. Also updated weston to 1.0.5, and got rid of the patch that's no longer needed. They fixed it upstream even if it was actually caused by our pkg-config patch. --- .../window-managers/weston/default.nix | 8 +--- .../window-managers/weston/makefile.patch | 45 ------------------- .../development/libraries/wayland/default.nix | 4 +- 3 files changed, 4 insertions(+), 53 deletions(-) delete mode 100644 pkgs/applications/window-managers/weston/makefile.patch diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index c8285475f8d..f5d4e346f9f 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -2,20 +2,16 @@ , cairo, libxcb, libXcursor, x11, udev, libdrm2_4_40, mtdev , libjpeg, pam, autoconf, automake, libtool }: -let version = "1.0.4"; in +let version = "1.0.5"; in stdenv.mkDerivation rec { name = "weston-${version}"; src = fetchurl { url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "1841sd6i8nq9gs1xkx8lwcg4lzy6yfcs95nnsfaf0y1ppd6c9sj2"; + sha256 = "0g2k82pnlxl8b70ykazj7kn8xffjfsmgcgx427qdrm4083z2hgm0"; }; - patches = [ - ./makefile.patch - ]; - buildInputs = [ pkgconfig wayland mesa90x libxkbcommon pixman cairo libxcb libXcursor x11 udev libdrm2_4_40 mtdev libjpeg pam autoconf automake libtool ]; diff --git a/pkgs/applications/window-managers/weston/makefile.patch b/pkgs/applications/window-managers/weston/makefile.patch deleted file mode 100644 index 1d6276d4091..00000000000 --- a/pkgs/applications/window-managers/weston/makefile.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/clients/Makefile.am b/clients/Makefile.am -index 81d1b57..fec50af 100644 ---- a/clients/Makefile.am -+++ b/clients/Makefile.am -@@ -80,6 +80,8 @@ libtoytoolkit_a_SOURCES = \ - text-cursor-position-client-protocol.h \ - workspaces-protocol.c \ - workspaces-client-protocol.h -+libtoytoolkit_a_CPPFLAGS = \ -+ $(AM_CPPFLAGS) $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS) - - toolkit_libs = \ - libtoytoolkit.a \ -@@ -96,6 +98,7 @@ weston_terminal_SOURCES = terminal.c - weston_terminal_LDADD = $(toolkit_libs) -lutil - - image_SOURCES = image.c -+image_CPPFLAGS = $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS) - image_LDADD = $(toolkit_libs) - - cliptest_SOURCES = cliptest.c -@@ -103,6 +106,7 @@ cliptest_CPPFLAGS = $(AM_CPPFLAGS) $(PIXMAN_CFLAGS) - cliptest_LDADD = $(toolkit_libs) $(PIXMAN_LIBS) - - dnd_SOURCES = dnd.c -+dnd_CPPFLAGS = $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS) - dnd_LDADD = $(toolkit_libs) - - smoke_SOURCES = smoke.c -@@ -141,12 +145,15 @@ weston_desktop_shell_SOURCES = \ - desktop-shell.c \ - desktop-shell-client-protocol.h \ - desktop-shell-protocol.c -+weston_desktop_shell_CPPFLAGS = \ -+ $(AM_CPPFLAGS) $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS) - weston_desktop_shell_LDADD = $(toolkit_libs) - - weston_tablet_shell_SOURCES = \ - tablet-shell.c \ - tablet-shell-client-protocol.h \ - tablet-shell-protocol.c -+weston_tablet_shell_CPPFLAGS = $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS) - weston_tablet_shell_LDADD = $(toolkit_libs) - - BUILT_SOURCES = \ diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix index 6995a4019a2..9b547df9469 100644 --- a/pkgs/development/libraries/wayland/default.nix +++ b/pkgs/development/libraries/wayland/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, pkgconfig, libffi, expat, doxygen }: -let version = "1.0.4"; in +let version = "1.0.5"; in stdenv.mkDerivation rec { name = "wayland-${version}"; src = fetchurl { url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "074n94d79bqvihf9wmszvar8r9v4g4n1h9m8vs8ki6xjhsk07s4d"; + sha256 = "130n7v5i7rfsrli2n8vdzfychlgd8v7by7sfgp8vfqdlss5km34w"; }; buildInputs = [ pkgconfig libffi expat doxygen ]; From d09f2424ed26cc1cab9c30efedc0dab8af957b59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Mon, 18 Feb 2013 20:32:47 +0100 Subject: [PATCH 12/16] mesa: add support for wayland to default version. Remove duplicated versions now that mesa and libdrm are updated. --- .../window-managers/weston/default.nix | 4 +- pkgs/development/libraries/libdrm/2.4.40.nix | 33 ------------ pkgs/development/libraries/mesa/9.0.x.nix | 50 ------------------- pkgs/development/libraries/mesa/default.nix | 10 ++-- pkgs/top-level/all-packages.nix | 8 --- 5 files changed, 8 insertions(+), 97 deletions(-) delete mode 100644 pkgs/development/libraries/libdrm/2.4.40.nix delete mode 100644 pkgs/development/libraries/mesa/9.0.x.nix diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index f5d4e346f9f..0f5f5d6bfcd 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, wayland, mesa90x, libxkbcommon, pixman -, cairo, libxcb, libXcursor, x11, udev, libdrm2_4_40, mtdev +, cairo, libxcb, libXcursor, x11, udev, libdrm, mtdev , libjpeg, pam, autoconf, automake, libtool }: let version = "1.0.5"; in @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ pkgconfig wayland mesa90x libxkbcommon pixman - cairo libxcb libXcursor x11 udev libdrm2_4_40 mtdev + cairo libxcb libXcursor x11 udev libdrm mtdev libjpeg pam autoconf automake libtool ]; preConfigure = "autoreconf -vfi"; diff --git a/pkgs/development/libraries/libdrm/2.4.40.nix b/pkgs/development/libraries/libdrm/2.4.40.nix deleted file mode 100644 index b36fcd60202..00000000000 --- a/pkgs/development/libraries/libdrm/2.4.40.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev }: - -stdenv.mkDerivation rec { - name = "libdrm-2.4.40"; - - src = fetchurl { - url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2"; - sha256 = "07xazz6flzc2khvks2cxls36sbsx0ns3x2cj499dw3za0134xha8"; - }; - - buildNativeInputs = [ pkgconfig ]; - buildInputs = [ libpthreadstubs libpciaccess udev ]; - - patches = stdenv.lib.optional stdenv.isDarwin ./libdrm-apple.patch; - - preConfigure = stdenv.lib.optionalString stdenv.isDarwin - "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache"; - - configureFlags = [ "--enable-nouveau-experimental-api" - "--enable-radeon-experimental-api" - "--enable-udev" ] - ++ stdenv.lib.optional stdenv.isDarwin "-C"; - - crossAttrs.configureFlags = configureFlags ++ [ "--disable-intel" ]; - - meta = { - homepage = http://dri.freedesktop.org/libdrm/; - description = "Library for accessing the kernel's Direct Rendering Manager"; - license = "bsd"; - maintainers = [ stdenv.lib.maintainers.urkud ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/libraries/mesa/9.0.x.nix b/pkgs/development/libraries/mesa/9.0.x.nix deleted file mode 100644 index 4b549b6a5a9..00000000000 --- a/pkgs/development/libraries/mesa/9.0.x.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ stdenv, fetchurl, autoconf, automake, autoreconfHook, libtool -, flex, bison, pkgconfig, libdrm2_4_40, file, expat, makedepend, llvm -, libXxf86vm, libXfixes, libXdamage, glproto, dri2proto, libX11, libxcb, libXext -, libXt, udev, enableTextureFloats ? false -, python, libxml2Python, wayland }: - -if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then - throw "unsupported platform for Mesa" -else - -let version = "9.0.2"; in - -stdenv.mkDerivation { - name = "mesa-${version}"; - - src = fetchurl { - url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2"; - md5 = "dc45d1192203e418163e0017640e1cfc"; - }; - - patches = - stdenv.lib.optional (stdenv.system == "mips64el-linux") ./mips_wmb.patch; - - prePatch = "patchShebangs ."; - - configureFlags = - " --enable-gles1 --enable-gles2 --disable-gallium-egl" - + " --with-egl-platforms=x11,wayland,drm --enable-gbm --enable-shared-glapi" - + " --with-gallium-drivers=i915,nouveau,r600,svga,swrast" - # Texture floats are patented, see docs/patents.txt - + stdenv.lib.optionalString enableTextureFloats " --enable-texture-float"; - - buildInputs = [ autoconf automake autoreconfHook libtool - expat libdrm2_4_40 libXxf86vm libXfixes libXdamage glproto dri2proto llvm - libxml2Python libX11 libXext libxcb libXt udev wayland ]; - - buildNativeInputs = [ pkgconfig python makedepend file flex bison ]; - - enableParallelBuilding = true; - - passthru = { inherit libdrm2_4_40; }; - - meta = { - description = "An open source implementation of OpenGL"; - homepage = http://www.mesa3d.org/; - license = "bsd"; - platforms = stdenv.lib.platforms.mesaPlatforms; - maintainers = [ stdenv.lib.maintainers.simons ]; - }; -} diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index a5110d0b45e..3cf81edb5e9 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -1,7 +1,8 @@ { stdenv, fetchurl, flex, bison, pkgconfig, libdrm, file, expat, makedepend , libXxf86vm, libXfixes, libXdamage, glproto, dri2proto, libX11, libxcb, libXext , libXt, udev, enableTextureFloats ? false, enableR600LlvmCompiler ? false -, python, libxml2Python, autoconf, automake, libtool, llvm, writeText }: +, python, libxml2Python, autoconf, automake, libtool, llvm, writeText +, wayland }: if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then throw "unsupported platform for Mesa" @@ -24,14 +25,15 @@ stdenv.mkDerivation { configureFlags = "" - + " --enable-gles1 --enable-gles2 --enable-gallium-egl" - + " --with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast" + + " --enable-gles1 --enable-gles2 --disable-gallium-egl" + + " --with-egl-platforms=x11,wayland,drm --enable-gbm --enable-shared-glapi" + + " --with-gallium-drivers=nouveau,r300,r600,svga,swrast" + stdenv.lib.optionalString enableR600LlvmCompiler " --enable-r600-llvm-compiler" # Texture floats are patented, see docs/patents.txt + stdenv.lib.optionalString enableTextureFloats " --enable-texture-float"; buildInputs = [ expat libdrm libXxf86vm libXfixes libXdamage glproto dri2proto - libxml2Python libX11 libXext libxcb libXt udev llvm ]; + libxml2Python libX11 libXext libxcb libXt udev llvm wayland ]; buildNativeInputs = [ pkgconfig python makedepend file flex bison automake autoconf libtool ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f2e3f1f2bfe..63002cd9c76 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4198,11 +4198,6 @@ let inherit (xorg) libpthreadstubs; }; - libdrm2_4_40 = callPackage ../development/libraries/libdrm/2.4.40.nix { - inherit fetchurl stdenv pkgconfig; - inherit (xorg) libpthreadstubs; - }; - libdv = callPackage ../development/libraries/libdv { }; libdvbpsi = callPackage ../development/libraries/libdvbpsi { }; @@ -4629,8 +4624,6 @@ let else callPackage ../development/libraries/mesa-glu { }; # mesa *with* GL/glu.h darwinX11AndOpenGL = callPackage ../os-specific/darwin/native-x11-and-opengl { }; - mesa90x = callPackage ../development/libraries/mesa/9.0.x.nix { }; - metaEnvironment = recurseIntoAttrs (let callPackage = newScope pkgs.metaEnvironment; in rec { sdfLibrary = callPackage ../development/libraries/sdf-library { aterm = aterm28; }; toolbuslib = callPackage ../development/libraries/toolbuslib { aterm = aterm28; inherit (windows) w32api; }; @@ -8025,7 +8018,6 @@ let weston = callPackage ../applications/window-managers/weston { cairo = cairo.override { - xcbSupport = true; glSupport = true; }; }; From 7255ac3a13bc91ff340276be75255c5fbb6941af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Mon, 18 Feb 2013 20:43:10 +0100 Subject: [PATCH 13/16] Forgot mesa90x references in the previous commit. --- pkgs/applications/window-managers/weston/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index 0f5f5d6bfcd..1d442542446 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, wayland, mesa90x, libxkbcommon, pixman +{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon, pixman , cairo, libxcb, libXcursor, x11, udev, libdrm, mtdev , libjpeg, pam, autoconf, automake, libtool }: @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "0g2k82pnlxl8b70ykazj7kn8xffjfsmgcgx427qdrm4083z2hgm0"; }; - buildInputs = [ pkgconfig wayland mesa90x libxkbcommon pixman + buildInputs = [ pkgconfig wayland mesa libxkbcommon pixman cairo libxcb libXcursor x11 udev libdrm mtdev libjpeg pam autoconf automake libtool ]; From 323d7e2ab58c01fd88f0a53dbab4e0b535ae0b0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Sun, 3 Mar 2013 23:01:51 +0100 Subject: [PATCH 14/16] weston: use pixman_cairo. We have to use the same variant of pixman as cairo, otherwise compilation fails with unresolved symbols. --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 334c497cdec..a9830b9f248 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8053,6 +8053,7 @@ let cairo = cairo.override { glSupport = true; }; + pixman = pixman_cairo; }; wings = callPackage ../applications/graphics/wings { }; From 728116ec3eb04fe7c9465a240eab75e745e78d74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Wed, 6 Mar 2013 22:59:59 +0100 Subject: [PATCH 15/16] weston: don't depend on pixman explicitly. Weston depends on cairo and pixman, but cairo uses a special version of pixman. In the previous commit I solved a linking problem by specifying the same pixman version for weston, but it's easier to rely on cairo propagating it. Thanks viric for the tip! --- pkgs/applications/window-managers/weston/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index 1d442542446..2c1044d6937 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon, pixman +{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon , cairo, libxcb, libXcursor, x11, udev, libdrm, mtdev , libjpeg, pam, autoconf, automake, libtool }: @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "0g2k82pnlxl8b70ykazj7kn8xffjfsmgcgx427qdrm4083z2hgm0"; }; - buildInputs = [ pkgconfig wayland mesa libxkbcommon pixman + buildInputs = [ pkgconfig wayland mesa libxkbcommon cairo libxcb libXcursor x11 udev libdrm mtdev libjpeg pam autoconf automake libtool ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a9830b9f248..334c497cdec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8053,7 +8053,6 @@ let cairo = cairo.override { glSupport = true; }; - pixman = pixman_cairo; }; wings = callPackage ../applications/graphics/wings { }; From 8f77bc2024c7f735e59c83686c605872a0567bd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Sun, 10 Mar 2013 23:04:24 +0100 Subject: [PATCH 16/16] mesa: revert to using gallium drivers. I had copied the config flags for mesa from the building wayland page, but after asking in the channel it turns out there is no technical reason for not using the gallium drivers. --- pkgs/development/libraries/mesa/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 1a8ca9c9475..e6f67b3455e 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -25,9 +25,9 @@ stdenv.mkDerivation { configureFlags = "" - + " --enable-gles1 --enable-gles2 --disable-gallium-egl" + + " --enable-gles1 --enable-gles2 --enable-gallium-egl" + + " --with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast" + " --with-egl-platforms=x11,wayland,drm --enable-gbm --enable-shared-glapi" - + " --with-gallium-drivers=nouveau,r300,r600,svga,swrast" + stdenv.lib.optionalString enableR600LlvmCompiler " --enable-r600-llvm-compiler" # Texture floats are patented, see docs/patents.txt + stdenv.lib.optionalString enableTextureFloats " --enable-texture-float";