From b66a6ce01b1aef4bfe947ac0bfc0128050289eac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 11 May 2023 01:00:01 +0200 Subject: [PATCH 1/3] nixos/no-x-libs: gst_all_1.gst-plugins-base: disable wayland to disable GL GL was already participially disabled because X11 is disabled and lead to the following error when building gst-plguins-good: ``` Did not find CMake 'cmake' Found CMake: NO Run-time dependency gstreamer-gl-prototypes-1.0 found: NO (tried pkgconfig and cmake) Looking for a fallback subproject for the dependency gstreamer-gl-prototypes-1.0 meson.build:328:2: ERROR: Neither a subproject directory nor a gst-plugins-base.wrap file was found. ``` --- nixos/modules/config/no-x-libs.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index 0dce3b918458..d1d3aab413f9 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -39,7 +39,7 @@ with lib; graphviz = super.graphviz-nox; gst_all_1 = super.gst_all_1 // { gst-plugins-bad = super.gst_all_1.gst-plugins-bad.override { guiSupport = false; }; - gst-plugins-base = super.gst_all_1.gst-plugins-base.override { enableX11 = false; }; + gst-plugins-base = super.gst_all_1.gst-plugins-base.override { enableWayland = false; enableX11 = false; }; }; imagemagick = super.imagemagick.override { libX11Support = false; libXtSupport = false; }; imagemagickBig = super.imagemagickBig.override { libX11Support = false; libXtSupport = false; }; From 2e261a4c35a23861511bff59ccead92127437546 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 11 May 2023 01:03:32 +0200 Subject: [PATCH 2/3] gst_all_1.gst-plugins-good: add option to build without X11 --- .../libraries/gstreamer/good/default.nix | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix index ef6143b36ec9..f125d3ae30f3 100644 --- a/pkgs/development/libraries/gstreamer/good/default.nix +++ b/pkgs/development/libraries/gstreamer/good/default.nix @@ -34,13 +34,10 @@ , qt6Support ? false, qt6 , raspiCameraSupport ? false, libraspberrypi , enableJack ? true, libjack2 -, libXdamage -, libXext -, libXfixes +, enableX11 ? stdenv.isLinux, xorg , ncurses , wayland , wayland-protocols -, xorg , libgudev , wavpack , glib @@ -105,15 +102,14 @@ stdenv.mkDerivation rec { mpg123 twolame libintl - libXdamage - libXext - libXfixes ncurses - xorg.libXfixes - xorg.libXdamage wavpack ] ++ lib.optionals raspiCameraSupport [ libraspberrypi + ] ++ lib.optionals enableX11 [ + xorg.libXext + xorg.libXfixes + xorg.libXdamage ] ++ lib.optionals gtkSupport [ # for gtksink gtk3 @@ -149,6 +145,8 @@ stdenv.mkDerivation rec { "-Dqt6=disabled" ] ++ lib.optionals (!gtkSupport) [ "-Dgtk3=disabled" + ] ++ lib.optionals (!enableX11) [ + "-Dximagesrc=disabled" # Linux-only ] ++ lib.optionals (!enableJack) [ "-Djack=disabled" ] ++ lib.optionals (!stdenv.isLinux) [ @@ -158,7 +156,6 @@ stdenv.mkDerivation rec { "-Dpulse=disabled" # TODO check if we can keep this enabled "-Dv4l2-gudev=disabled" # Linux-only "-Dv4l2=disabled" # Linux-only - "-Dximagesrc=disabled" # Linux-only ] ++ lib.optionals (!raspiCameraSupport) [ "-Drpicamsrc=disabled" ]; From 5896d330e9262f674a787ad157d1afdecab22341 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 11 May 2023 01:05:20 +0200 Subject: [PATCH 3/3] nixos/no-x-libs: disable x11 of gst_all_1.gst_plugins_good --- nixos/modules/config/no-x-libs.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index d1d3aab413f9..676d2abda08f 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -40,6 +40,7 @@ with lib; gst_all_1 = super.gst_all_1 // { gst-plugins-bad = super.gst_all_1.gst-plugins-bad.override { guiSupport = false; }; gst-plugins-base = super.gst_all_1.gst-plugins-base.override { enableWayland = false; enableX11 = false; }; + gst-plugins-good = super.gst_all_1.gst-plugins-good.override { enableX11 = false; }; }; imagemagick = super.imagemagick.override { libX11Support = false; libXtSupport = false; }; imagemagickBig = super.imagemagickBig.override { libX11Support = false; libXtSupport = false; };