From 4bff6d04e44c0bf19c7a0975f882883ba2212a6a Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 4 Apr 2021 16:50:17 +0200 Subject: [PATCH 01/28] libGL: use headers from glvnd The glvnd library contains a copy of the OpenGL headers. By compiling against the glvnd headers we completely avoid a dependency on Mesa (and LLVM). This reduces rebuild time. It also prevents accidents, such as where some packages kept a reference to the mesa.drivers output and thus had all Mesa drivers in their runtime closure. --- pkgs/development/libraries/mesa/stubs.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/mesa/stubs.nix b/pkgs/development/libraries/mesa/stubs.nix index a53f2dc28e7..753ad1b9196 100644 --- a/pkgs/development/libraries/mesa/stubs.nix +++ b/pkgs/development/libraries/mesa/stubs.nix @@ -52,7 +52,7 @@ stdenv.mkDerivation { mkdir -p $dev/{,lib/pkgconfig,nix-support} echo "$out ${libglvnd} ${libglvnd.dev}" > $dev/nix-support/propagated-build-inputs - ln -s ${mesa.dev}/include $dev/include + ln -s ${libglvnd.dev}/include $dev/include genPkgConfig() { local name="$1" @@ -61,9 +61,9 @@ stdenv.mkDerivation { cat <$dev/lib/pkgconfig/$name.pc Name: $name Description: $lib library - Version: ${mesa.version} + Version: ${libglvnd.version} Libs: -L${libglvnd.out}/lib -l$lib - Cflags: -I${mesa.dev}/include -I${libglvnd.dev}/include + Cflags: -I${libglvnd.dev}/include EOF } From cd65dfa14cd2b0e665dd37595ded55b23f1e52cd Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 4 Apr 2021 18:58:08 +0200 Subject: [PATCH 02/28] gtk3: use libGL instead of mesa --- pkgs/development/libraries/gtk/3.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index d1e478ded26..0d4bec5f344 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -36,7 +36,7 @@ , tracker , x11Support ? stdenv.isLinux , waylandSupport ? stdenv.isLinux -, mesa +, libGL , wayland , wayland-protocols , xineramaSupport ? stdenv.isLinux @@ -143,7 +143,7 @@ stdenv.mkDerivation rec { # explicitly propagated, always needed Cocoa ] ++ lib.optionals waylandSupport [ - mesa + libGL wayland wayland-protocols ] ++ lib.optionals xineramaSupport [ From 79da76f83b148206e46c32c85fc4ea5bad558949 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 4 Apr 2021 18:58:20 +0200 Subject: [PATCH 03/28] gtk4: use libGL instead of mesa --- pkgs/development/libraries/gtk/4.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix index 28247d6c972..b64b8bc36fd 100644 --- a/pkgs/development/libraries/gtk/4.x.nix +++ b/pkgs/development/libraries/gtk/4.x.nix @@ -38,7 +38,7 @@ , tracker , x11Support ? stdenv.isLinux , waylandSupport ? stdenv.isLinux -, mesa +, libGL , vulkan-loader , vulkan-headers , wayland @@ -124,7 +124,7 @@ stdenv.mkDerivation rec { ] ++ lib.optionals trackerSupport [ tracker ] ++ lib.optionals waylandSupport [ - mesa + libGL wayland wayland-protocols ] ++ lib.optionals xineramaSupport [ From aa0b68b26ae44bec9f06cac2bf471e51b5a4bec2 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Sun, 4 Apr 2021 19:17:49 +0200 Subject: [PATCH 04/28] chromium: add explicit mesa dependency --- pkgs/applications/networking/browsers/chromium/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 8d0a59f2919..71bc18f45d5 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -138,6 +138,7 @@ let bison gperf libkrb5 glib gtk3 dbus-glib libXScrnSaver libXcursor libXtst libxshmfence libGLU libGL + mesa # required for libgbm pciutils protobuf speechd libXdamage at-spi2-core jre pipewire From acbfd3f7c09e4df7300261d85edf586c8a5028af Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Mon, 5 Apr 2021 11:22:30 +0200 Subject: [PATCH 05/28] mesa: add driversdev output and test that dev doesn't depend on drivers OpenGL applications should not depend on the Mesa drivers, since these are supposed to be loaded at runtime from /run/opengl-driver using the glvnd library. Furthermore, the drivers output has a large closure since it depends on LLVM. The only dependency from dev to drivers came from the xatracker pkg-config file. This commit moves this file into a new output called driversdev. --- pkgs/development/libraries/mesa/default.nix | 35 ++++++++++++++------- pkgs/servers/x11/xorg/overrides.nix | 2 +- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 1723940915c..fd226277a44 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -34,9 +34,8 @@ let # Release frequency: https://www.mesa3d.org/releasing.html#schedule version = "21.0.2"; branch = versions.major version; -in -stdenv.mkDerivation { +self = stdenv.mkDerivation { pname = "mesa"; inherit version; @@ -88,7 +87,9 @@ stdenv.mkDerivation { "find_program('${stdenv.cc.targetPrefix}nm')" ''; - outputs = [ "out" "dev" "drivers" ] ++ lib.optional enableOSMesa "osmesa"; + outputs = [ "out" "dev" "drivers" ] + ++ lib.optional enableOSMesa "osmesa" + ++ lib.optional stdenv.isLinux "driversdev"; # TODO: Figure out how to enable opencl without having a runtime dependency on clang mesonFlags = [ @@ -181,20 +182,22 @@ stdenv.mkDerivation { mv -t $osmesa/lib/ $out/lib/libOSMesa* ''; - # TODO: - # check $out doesn't depend on llvm: builder failures are ignored - # for some reason grep -qv '${llvmPackages.llvm}' -R "$out"; postFixup = optionalString stdenv.isLinux '' # set the default search path for DRI drivers; used e.g. by X server substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace "$drivers" "${libglvnd.driverLink}" + substituteInPlace "$dev/lib/pkgconfig/d3d.pc" --replace "$drivers" "${libglvnd.driverLink}" # remove pkgconfig files for GL/EGL; they are provided by libGL. rm -f $dev/lib/pkgconfig/{gl,egl}.pc - # Update search path used by pkg-config - for pc in $dev/lib/pkgconfig/{d3d,dri,xatracker}.pc; do - if [ -f "$pc" ]; then - substituteInPlace "$pc" --replace $out $drivers + # Move development files for libraries in $drivers to $driversdev + mkdir -p $driversdev/include + mv $dev/include/xa_* $dev/include/d3d* $driversdev/include + mkdir -p $driversdev/lib/pkgconfig + for pc in lib/pkgconfig/{xatracker,d3d}.pc; do + if [ -f "$dev/$pc" ]; then + substituteInPlace "$dev/$pc" --replace $out $drivers + mv $dev/$pc $driversdev/$pc fi done @@ -212,6 +215,14 @@ stdenv.mkDerivation { passthru = { inherit libdrm; inherit (libglvnd) driverLink; + + tests.devDoesNotDependOnLLVM = stdenv.mkDerivation { + name = "mesa-dev-does-not-depend-on-llvm"; + buildCommand = '' + echo ${self.dev} >>$out + ''; + disallowedRequisites = [ llvmPackages.llvm self.drivers ]; + }; }; meta = { @@ -231,4 +242,6 @@ stdenv.mkDerivation { platforms = platforms.mesaPlatforms; maintainers = with maintainers; [ primeos vcunat ]; # Help is welcome :) }; -} +}; + +in self diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 4c832291595..3f88c0e0c99 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -433,7 +433,7 @@ self: super: }); xf86videovmware = super.xf86videovmware.overrideAttrs (attrs: { - buildInputs = attrs.buildInputs ++ [ mesa llvm ]; # for libxatracker + buildInputs = attrs.buildInputs ++ [ mesa mesa.driversdev llvm ]; # for libxatracker meta = attrs.meta // { platforms = ["i686-linux" "x86_64-linux"]; }; From c08d9a7e0266c5a2b6ea0cef9e0b77d5b935969f Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Mon, 5 Apr 2021 11:30:23 +0200 Subject: [PATCH 06/28] firefox: add missing libdrm and libXdamage dependencies --- pkgs/applications/networking/browsers/firefox/common.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 3a8fec2c6ef..24195e578bd 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -6,7 +6,7 @@ , libjpeg, zlib, dbus, dbus-glib, bzip2, xorg , freetype, fontconfig, file, nspr, nss, nss_3_53 , yasm, libGLU, libGL, sqlite, unzip, makeWrapper -, hunspell, libXdamage, libevent, libstartup_notification +, hunspell, libevent, libstartup_notification , libvpx_1_8 , icu67, libpng, jemalloc, glib, pciutils , autoconf213, which, gnused, rustPackages, rustPackages_1_45 @@ -22,7 +22,7 @@ , pulseaudioSupport ? stdenv.isLinux, libpulseaudio , ffmpegSupport ? true , gtk3Support ? true, gtk2, gtk3, wrapGAppsHook -, waylandSupport ? true, libxkbcommon +, waylandSupport ? true, libxkbcommon, libdrm , ltoSupport ? (stdenv.isLinux && stdenv.is64bit), overrideCC, buildPackages , gssSupport ? true, libkrb5 , pipewireSupport ? waylandSupport && webrtcSupport, pipewire @@ -161,6 +161,7 @@ buildStdenv.mkDerivation ({ xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file xorg.pixman yasm libGLU libGL xorg.xorgproto + xorg.libXdamage xorg.libXext makeWrapper libevent libstartup_notification /* cairo */ libpng jemalloc glib @@ -175,7 +176,7 @@ buildStdenv.mkDerivation ({ ++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed ++ lib.optional gtk3Support gtk3 ++ lib.optional gssSupport libkrb5 - ++ lib.optional waylandSupport libxkbcommon + ++ lib.optionals waylandSupport [ libxkbcommon libdrm ] ++ lib.optional pipewireSupport pipewire ++ lib.optional (lib.versionAtLeast ffversion "82") gnum4 ++ lib.optionals buildStdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos From 1cf80c56e3d3d45ba90208b49f34000bff3eb3e7 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Mon, 5 Apr 2021 18:44:09 +0200 Subject: [PATCH 07/28] qt514.qtwayland: fix build --- .../libraries/qt-5/5.14/default.nix | 1 + .../qt-5/5.14/qtwayland-libdrm-build.patch | 56 +++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 pkgs/development/libraries/qt-5/5.14/qtwayland-libdrm-build.patch diff --git a/pkgs/development/libraries/qt-5/5.14/default.nix b/pkgs/development/libraries/qt-5/5.14/default.nix index 45cf6209ea0..3e3790ed1a4 100644 --- a/pkgs/development/libraries/qt-5/5.14/default.nix +++ b/pkgs/development/libraries/qt-5/5.14/default.nix @@ -118,6 +118,7 @@ let ./qtwebkit-darwin-no-qos-classes.patch ]; qttools = [ ./qttools.patch ]; + qtwayland = [ ./qtwayland-libdrm-build.patch ]; }; qtModule = diff --git a/pkgs/development/libraries/qt-5/5.14/qtwayland-libdrm-build.patch b/pkgs/development/libraries/qt-5/5.14/qtwayland-libdrm-build.patch new file mode 100644 index 00000000000..fb3d6327e45 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtwayland-libdrm-build.patch @@ -0,0 +1,56 @@ +commit 7217ea9cf297e664be876eb82b66a1b4f157ca80 +Author: Peter Seiderer +Date: Fri Apr 3 21:52:30 2020 +0200 + + fix libdrm related configure test failure + + Fixes: + + Project ERROR: Test config.qtwayland_client.tests.dmabuf-server-buffer tries to use undeclared library 'drm' + Project ERROR: Test config.qtwayland_compositor.tests.dmabuf-server-buffer tries to use undeclared library 'drm' + Project ERROR: Test config.qtwayland_compositor.tests.dmabuf-client-buffer tries to use undeclared library 'drm' + + Task-number: QTBUG-83303 + Change-Id: I3970f4e3855fcfa760493631a14adb6a16950aa9 + Reviewed-by: Ville Voutilainen + Reviewed-by: Heikki Halmet + Reviewed-by: Eskil Abrahamsen Blomfeldt + (cherry picked from commit ca63fe81df8ac910f43539719566ed6745700c2b) + (cherry picked from commit 1344ca6b5a8fbc1b28727feea6d856af8bf3bc93) + +diff --git a/src/client/configure.json b/src/client/configure.json +index 06213968..27c73f89 100644 +--- a/src/client/configure.json ++++ b/src/client/configure.json +@@ -74,7 +74,8 @@ + "label": "Linux dma-buf Buffer Sharing", + "type": "compile", + "test": "dmabuf_server_buffer", +- "use": "egl drm" ++ "libs": "-ldrm", ++ "use": "egl" + }, + "vulkan-server-buffer": { + "label": "Vulkan Buffer Sharing", +diff --git a/src/compositor/configure.json b/src/compositor/configure.json +index 0dbb3364..73e4c1a8 100644 +--- a/src/compositor/configure.json ++++ b/src/compositor/configure.json +@@ -80,13 +80,15 @@ + "label": "Linux dma-buf Buffer Sharing", + "type": "compile", + "test": "dmabuf_server_buffer", +- "use": "egl drm" ++ "libs": "-ldrm", ++ "use": "egl" + }, + "dmabuf-client-buffer": { + "label": "Linux Client dma-buf Buffer Sharing", + "type": "compile", + "test": "dmabuf_client_buffer", +- "use": "egl drm" ++ "libs": "-ldrm", ++ "use": "egl" + }, + "vulkan-server-buffer": { + "label": "Vulkan Buffer Sharing", From 46a702eba16d9ad244657081a11965ce0d84e440 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Mon, 5 Apr 2021 19:18:33 +0200 Subject: [PATCH 08/28] fcitx5-mozc: remove unused mesa dependency --- pkgs/tools/inputmethods/fcitx5/fcitx5-mozc.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-mozc.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-mozc.nix index d077b0a25c5..57bb0220b31 100644 --- a/pkgs/tools/inputmethods/fcitx5/fcitx5-mozc.nix +++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-mozc.nix @@ -1,5 +1,5 @@ { lib, clangStdenv, fetchFromGitHub, fetchurl, fetchpatch, fetchgit -, python3Packages, mesa, ninja, pkg-config, protobuf, zinnia, qt5, fcitx5 +, python3Packages, ninja, pkg-config, protobuf, zinnia, qt5, fcitx5 , jsoncpp, gtest, which, gtk2, unzip, abseil-cpp, breakpad }: let inherit (python3Packages) python gyp six; @@ -31,7 +31,7 @@ in clangStdenv.mkDerivation rec { sha256 = "R+w0slVFpqtt7PIr1pyupJjRoQsABVZiMdZ9fKGKAqw="; }; - nativeBuildInputs = [ gyp ninja mesa python pkg-config qt5.wrapQtAppsHook six which unzip ]; + nativeBuildInputs = [ gyp ninja python pkg-config qt5.wrapQtAppsHook six which unzip ]; buildInputs = [ protobuf zinnia qt5.qtbase fcitx5 abseil-cpp jsoncpp gtest gtk2 ]; From a955833297e5737cd2b259617de1c1ae4ae8b149 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Thu, 8 Apr 2021 23:03:22 +0200 Subject: [PATCH 09/28] wayfire: add missing mesa dependency --- pkgs/applications/window-managers/wayfire/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/window-managers/wayfire/default.nix b/pkgs/applications/window-managers/wayfire/default.nix index cb9f2fe85a7..303ffc35fc7 100644 --- a/pkgs/applications/window-managers/wayfire/default.nix +++ b/pkgs/applications/window-managers/wayfire/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchurl, meson, ninja, pkg-config, git , cairo, libdrm, libexecinfo, libinput, libjpeg, libxkbcommon, wayland -, wayland-protocols, wf-config, wlroots +, wayland-protocols, wf-config, wlroots, mesa }: stdenv.mkDerivation rec { @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja pkg-config wayland ]; buildInputs = [ cairo libdrm libexecinfo libinput libjpeg libxkbcommon wayland - wayland-protocols wf-config wlroots + wayland-protocols wf-config wlroots mesa ]; mesonFlags = [ "--sysconfdir" "/etc" ]; From 42981d6ce1eb2a9364308e09015463689a7bc457 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Thu, 8 Apr 2021 23:04:27 +0200 Subject: [PATCH 10/28] atomEnv: add missing mesa dependency --- pkgs/applications/editors/atom/env.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/editors/atom/env.nix b/pkgs/applications/editors/atom/env.nix index 3c0f348ebd5..53150e0ad61 100644 --- a/pkgs/applications/editors/atom/env.nix +++ b/pkgs/applications/editors/atom/env.nix @@ -1,7 +1,7 @@ { stdenv, lib, zlib, glib, alsaLib, dbus, gtk3, atk, pango, freetype, fontconfig , libgnome-keyring3, gdk-pixbuf, cairo, cups, expat, libgpgerror, nspr , gconf, nss, xorg, libcap, systemd, libnotify, libsecret, libuuid, at-spi2-atk -, at-spi2-core, libdbusmenu +, at-spi2-core, libdbusmenu, mesa }: let @@ -12,6 +12,7 @@ let xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify xorg.libxcb libsecret libuuid at-spi2-atk at-spi2-core libdbusmenu + mesa # required for libgbm ]; libPathNative = lib.makeLibraryPath packages; From 7b0b03a0adfe92ef7687f8ddb924300997111c24 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Thu, 8 Apr 2021 23:06:12 +0200 Subject: [PATCH 11/28] pcsxr: add missing libXxf86vm dependency --- pkgs/misc/emulators/pcsxr/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/misc/emulators/pcsxr/default.nix b/pkgs/misc/emulators/pcsxr/default.nix index e6f0ec47744..099795c63fd 100644 --- a/pkgs/misc/emulators/pcsxr/default.nix +++ b/pkgs/misc/emulators/pcsxr/default.nix @@ -52,6 +52,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook intltool pkg-config wrapGAppsHook ]; buildInputs = [ gtk3 SDL2 xorg.libXv xorg.libXtst libcdio nasm ffmpeg file + xorg.libXxf86vm ]; dynarecTarget = From 0899c439d3dc560e0111e2bf5c1c5b649750cb81 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Thu, 8 Apr 2021 23:07:15 +0200 Subject: [PATCH 12/28] byzanz: add missing libXdamage dependency --- pkgs/applications/video/byzanz/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/video/byzanz/default.nix b/pkgs/applications/video/byzanz/default.nix index 69d27c3a2c8..80e1c1260bd 100644 --- a/pkgs/applications/video/byzanz/default.nix +++ b/pkgs/applications/video/byzanz/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ which gnome3.gnome-common glib intltool libtool cairo gtk3 xorg.xwininfo ] + buildInputs = [ which gnome3.gnome-common glib intltool libtool cairo gtk3 xorg.xwininfo xorg.libXdamage ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad gst-plugins-good gst-plugins-ugly gst-libav wrapGAppsHook ]); meta = with lib; { From e32d94201ccd2bdf23b217907337634e9a0af0ae Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 10:41:26 +0200 Subject: [PATCH 13/28] drawio: add missing mesa dependency --- pkgs/applications/graphics/drawio/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix index 4155767a361..e8ef97f949c 100644 --- a/pkgs/applications/graphics/drawio/default.nix +++ b/pkgs/applications/graphics/drawio/default.nix @@ -4,7 +4,7 @@ , alsaLib, atk, at-spi2-atk, at-spi2-core, cairo, dbus, cups, expat , gdk-pixbuf, glib, gtk3, libX11, libXScrnSaver, libXcomposite, libXcursor , libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst -, libxcb, libuuid, libxshmfence, nspr, nss, pango +, libxcb, libuuid, libxshmfence, nspr, nss, pango, mesa , systemd }: @@ -50,6 +50,7 @@ stdenv.mkDerivation rec { libXtst libxcb libuuid + mesa # for libgbm nspr nss pango From 2da39dda3ead24769696e2a7589d40b4f43a4ff2 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 10:45:22 +0200 Subject: [PATCH 14/28] cagebreak: add missing mesa dependency --- pkgs/applications/window-managers/cagebreak/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/window-managers/cagebreak/default.nix b/pkgs/applications/window-managers/cagebreak/default.nix index 93ac815346e..505d1cb1520 100644 --- a/pkgs/applications/window-managers/cagebreak/default.nix +++ b/pkgs/applications/window-managers/cagebreak/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub , meson, ninja, pkg-config, wayland, scdoc, makeWrapper , wlroots, wayland-protocols, pixman, libxkbcommon -, cairo , pango, fontconfig, pandoc, systemd +, cairo , pango, fontconfig, pandoc, systemd, mesa , withXwayland ? true, xwayland , nixosTests }: @@ -22,6 +22,7 @@ stdenv.mkDerivation rec { buildInputs = [ wlroots wayland wayland-protocols pixman libxkbcommon cairo pango fontconfig pandoc systemd + mesa # for libEGL headers ]; outputs = [ "out" "contrib" ]; From 1d078152bd472fbff16747f384840d252be0aa2e Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 10:46:14 +0200 Subject: [PATCH 15/28] cage: add missing mesa headers --- pkgs/applications/window-managers/cage/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/window-managers/cage/default.nix b/pkgs/applications/window-managers/cage/default.nix index f7083212e70..103be0e53d7 100644 --- a/pkgs/applications/window-managers/cage/default.nix +++ b/pkgs/applications/window-managers/cage/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub , meson, ninja, pkg-config, wayland, scdoc, makeWrapper , wlroots, wayland-protocols, pixman, libxkbcommon -, systemd, libGL, libX11 +, systemd, libGL, libX11, mesa , xwayland ? null , nixosTests }: @@ -26,6 +26,7 @@ stdenv.mkDerivation rec { buildInputs = [ wlroots wayland wayland-protocols pixman libxkbcommon + mesa # for libEGL headers systemd libGL libX11 ]; From 5ae84e81d72a537155b803286cc2927f55f38fa2 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 10:48:21 +0200 Subject: [PATCH 16/28] thunderbird: add missing libdrm and libXdamage dependencies --- .../networking/mailreaders/thunderbird/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix index 447c4b3f3b5..e29757f49c8 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix @@ -61,7 +61,7 @@ , alsaSupport ? stdenv.isLinux, alsaLib , pulseaudioSupport ? stdenv.isLinux, libpulseaudio , gtk3Support ? true, gtk2, gtk3, wrapGAppsHook -, waylandSupport ? true +, waylandSupport ? true, libdrm , libxkbcommon, calendarSupport ? true # Use official trademarked branding. Permission obtained at: @@ -137,12 +137,13 @@ stdenv.mkDerivation rec { xorg.libXt xorg.pixman xorg.xorgproto + xorg.libXdamage zip zlib ] ++ lib.optional alsaSupport alsaLib ++ lib.optional gtk3Support gtk3 ++ lib.optional pulseaudioSupport libpulseaudio - ++ lib.optional waylandSupport libxkbcommon; + ++ lib.optionals waylandSupport [ libxkbcommon libdrm ]; NIX_CFLAGS_COMPILE =[ "-I${glib.dev}/include/gio-unix-2.0" From dfefa8e328329b9dfbfd9d1a9b7b4ecca80287a8 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 10:50:17 +0200 Subject: [PATCH 17/28] webkitgtk: add mesa dependency --- pkgs/development/libraries/webkitgtk/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix index 84cf8d4833f..4dbec69f8f1 100644 --- a/pkgs/development/libraries/webkitgtk/default.nix +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -36,6 +36,7 @@ , readline , libGL , libGLU +, mesa , libintl , libmanette , openjpeg @@ -113,6 +114,7 @@ stdenv.mkDerivation rec { harfbuzz libGL libGLU + mesa # for libEGL headers libgcrypt libidn libintl From d57202dac7e3774b0a37697a48659cb336125604 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 10:50:31 +0200 Subject: [PATCH 18/28] signal-desktop: add mesa dependency --- .../networking/instant-messengers/signal-desktop/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index e821e182cd4..79adb34e92d 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -2,7 +2,7 @@ , gnome2, gtk3, atk, at-spi2-atk, cairo, pango, gdk-pixbuf, glib, freetype, fontconfig , dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite , libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsaLib -, cups, expat, libuuid, at-spi2-core, libappindicator-gtk3 +, cups, expat, libuuid, at-spi2-core, libappindicator-gtk3, mesa # Runtime dependencies: , systemd, libnotify, libdbusmenu, libpulseaudio # Unfortunately this also overwrites the UI language (not just the spell @@ -73,6 +73,7 @@ in stdenv.mkDerivation rec { libappindicator-gtk3 libnotify libuuid + mesa # for libgbm nspr nss pango From bdc502c4c021d7bcdd1269547c3897533ded2971 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 10:52:23 +0200 Subject: [PATCH 19/28] wingpanel: add mesa dependency --- pkgs/desktops/pantheon/desktop/wingpanel/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix index 8e314d3d84b..97c2d0c8845 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix @@ -13,6 +13,7 @@ , granite , gettext , mutter +, mesa , json-glib , python3 , elementary-gtk-theme @@ -55,6 +56,7 @@ stdenv.mkDerivation rec { json-glib libgee mutter + mesa # for libEGL ]; patches = [ From 0a70e6af02e8cdb8761c22ba0b1968f4b104611c Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 10:56:12 +0200 Subject: [PATCH 20/28] cypress: add missing mesa dependency --- pkgs/development/web/cypress/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/web/cypress/default.nix b/pkgs/development/web/cypress/default.nix index 2d04fc51c81..7e54a7c48ef 100644 --- a/pkgs/development/web/cypress/default.nix +++ b/pkgs/development/web/cypress/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchzip, autoPatchelfHook, xorg, gtk2, gnome2, gtk3, nss, alsaLib, udev, unzip, wrapGAppsHook }: +{ stdenv, lib, fetchzip, autoPatchelfHook, xorg, gtk2, gnome2, gtk3, nss, alsaLib, udev, unzip, wrapGAppsHook, mesa }: stdenv.mkDerivation rec { pname = "cypress"; @@ -18,6 +18,7 @@ stdenv.mkDerivation rec { libXScrnSaver libXdamage libXtst ] ++ [ nss gtk2 alsaLib gnome2.GConf gtk3 unzip + mesa # for libgbm ]; runtimeDependencies = [ (lib.getLib udev) ]; From e6b96625184237c321701faad5951c9373a312ec Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 10:57:00 +0200 Subject: [PATCH 21/28] waybox: add missing mesa dependency --- pkgs/applications/window-managers/waybox/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/window-managers/waybox/default.nix b/pkgs/applications/window-managers/waybox/default.nix index 666b2406d5f..007e4dcc568 100644 --- a/pkgs/applications/window-managers/waybox/default.nix +++ b/pkgs/applications/window-managers/waybox/default.nix @@ -11,6 +11,7 @@ , pixman , udev , libGL +, mesa }: stdenv.mkDerivation rec { @@ -33,6 +34,7 @@ stdenv.mkDerivation rec { pixman udev libGL + mesa # for libEGL ]; meta = with lib; { From e88d3ebd5edfc94bc9588678fcc9ce099f32b046 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 13:26:18 +0200 Subject: [PATCH 22/28] kodi: add missing mesa dependency --- pkgs/applications/video/kodi/unwrapped.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/video/kodi/unwrapped.nix b/pkgs/applications/video/kodi/unwrapped.nix index 6f926176eaf..3e6b3dc51dc 100644 --- a/pkgs/applications/video/kodi/unwrapped.nix +++ b/pkgs/applications/video/kodi/unwrapped.nix @@ -127,6 +127,7 @@ in stdenv.mkDerivation { bluez giflib glib harfbuzz lcms2 libpthreadstubs ffmpeg flatbuffers fmt fstrcmp rapidjson lirc + mesa # for libEGL ] ++ lib.optional x11Support [ libX11 xorgproto libXt libXmu libXext.dev libXdmcp From e863b947b8bf2654c82080a7b0e5ce8f53786260 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 13:27:10 +0200 Subject: [PATCH 23/28] insomnia: add missing mesa dependency --- pkgs/development/web/insomnia/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/web/insomnia/default.nix b/pkgs/development/web/insomnia/default.nix index 345b7c15426..24b65e4e8af 100644 --- a/pkgs/development/web/insomnia/default.nix +++ b/pkgs/development/web/insomnia/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, makeWrapper, fetchurl, dpkg, alsaLib, atk, cairo, cups, dbus, expat -, fontconfig, freetype, gdk-pixbuf, glib, gnome2, pango, nspr, nss, gtk3, gtk2 +, fontconfig, freetype, gdk-pixbuf, glib, gnome2, pango, mesa, nspr, nss, gtk3, gtk2 , at-spi2-atk, gsettings-desktop-schemas, gobject-introspection, wrapGAppsHook , libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext , libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, nghttp2 @@ -56,6 +56,7 @@ in stdenv.mkDerivation rec { libXrender libXtst libxcb + mesa # for libgbm nspr nss stdenv.cc.cc From da52495c64a383724f1ea684cb57ed684ed2c3d1 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 13:28:24 +0200 Subject: [PATCH 24/28] hikari: add mesa dependency --- pkgs/applications/window-managers/hikari/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/window-managers/hikari/default.nix b/pkgs/applications/window-managers/hikari/default.nix index 2325deaf37c..ba0b204cbd9 100644 --- a/pkgs/applications/window-managers/hikari/default.nix +++ b/pkgs/applications/window-managers/hikari/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchzip, pkg-config, bmake, cairo, glib, libevdev, libinput, libxkbcommon, linux-pam, pango, pixman, - libucl, wayland, wayland-protocols, wlroots, + libucl, wayland, wayland-protocols, wlroots, mesa, features ? { gammacontrol = true; layershell = true; @@ -35,6 +35,7 @@ stdenv.mkDerivation { pango pixman libucl + mesa # for libEGL wayland wayland-protocols wlroots From 4206aec447ac049e5739470dab443cdaaca55dba Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 13:30:57 +0200 Subject: [PATCH 25/28] onlyoffice-bin: add libdrm dependency --- pkgs/applications/office/onlyoffice-bin/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/office/onlyoffice-bin/default.nix b/pkgs/applications/office/onlyoffice-bin/default.nix index bfd3c3529e7..987c2c3cb28 100644 --- a/pkgs/applications/office/onlyoffice-bin/default.nix +++ b/pkgs/applications/office/onlyoffice-bin/default.nix @@ -21,6 +21,7 @@ , gtk3 , libpulseaudio , libudev0-shim +, libdrm , makeWrapper , nspr , nss @@ -101,6 +102,7 @@ in stdenv.mkDerivation rec { gtk2 gtk3 libpulseaudio + libdrm nspr nss qt5.qtbase From d9e946acf97daf8b36f4dfaa1d43161d27d7024b Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 13:32:08 +0200 Subject: [PATCH 26/28] mullvad-vpn: add mesa dependency --- pkgs/applications/networking/mullvad-vpn/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/mullvad-vpn/default.nix b/pkgs/applications/networking/mullvad-vpn/default.nix index 9267d8d231c..b27598c40e4 100644 --- a/pkgs/applications/networking/mullvad-vpn/default.nix +++ b/pkgs/applications/networking/mullvad-vpn/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchurl, dpkg , alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype -, gdk-pixbuf, glib, gnome2, pango, nspr, nss, gtk3 +, gdk-pixbuf, glib, gnome2, pango, nspr, nss, gtk3, mesa , xorg, autoPatchelfHook, systemd, libnotify, libappindicator }: @@ -20,6 +20,7 @@ let deps = [ gtk3 libappindicator libnotify + mesa xorg.libX11 xorg.libXScrnSaver xorg.libXcomposite From 5e35b5c420d6700d2b0d8b266c9f77c886bef1c1 Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 13:34:33 +0200 Subject: [PATCH 27/28] wio: add missing mesa dependency --- pkgs/applications/window-managers/wio/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/window-managers/wio/default.nix b/pkgs/applications/window-managers/wio/default.nix index 301b0184e9c..c330bbe0e0f 100644 --- a/pkgs/applications/window-managers/wio/default.nix +++ b/pkgs/applications/window-managers/wio/default.nix @@ -10,6 +10,7 @@ , wayland , wayland-protocols , wlroots +, mesa , xwayland , makeWrapper }: @@ -32,6 +33,7 @@ stdenv.mkDerivation rec { wayland wayland-protocols wlroots + mesa # for libEGL xwayland ]; From 9d90e2dda237e7c0f1a4d771a5652e0faa85d9bd Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Fri, 9 Apr 2021 13:35:26 +0200 Subject: [PATCH 28/28] streamlink-twitch-gui: add mesa dependency --- pkgs/applications/video/streamlink-twitch-gui/bin.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/video/streamlink-twitch-gui/bin.nix b/pkgs/applications/video/streamlink-twitch-gui/bin.nix index bc265d3e786..4d90e6327b9 100644 --- a/pkgs/applications/video/streamlink-twitch-gui/bin.nix +++ b/pkgs/applications/video/streamlink-twitch-gui/bin.nix @@ -19,6 +19,7 @@ , gtk3-x11 , libudev0-shim , libuuid +, mesa , nss , nspr , xorg @@ -63,6 +64,7 @@ stdenv.mkDerivation rec { glib pango gtk3-x11 + mesa nss nspr libuuid