From bad6770d277125a7eb2140d16dbe2446c4804e13 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 24 Feb 2020 19:46:09 -0500 Subject: [PATCH 01/29] elfutils: remove unneeded custom cross build/install phase This is no longer needed. elfutils compiles out of the box! --- .../tools/misc/elfutils/default.nix | 35 ------------------- 1 file changed, 35 deletions(-) diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix index 06f1e2895c0..7d6f3758fd5 100644 --- a/pkgs/development/tools/misc/elfutils/default.nix +++ b/pkgs/development/tools/misc/elfutils/default.nix @@ -28,41 +28,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - # This program does not cross-build fine. So I only cross-build some parts - # I need for the linux perf tool. - # On the awful cross-building: - # http://comments.gmane.org/gmane.comp.sysutils.elfutils.devel/2005 - # - # I wrote this testing for the nanonote. - - buildPhase = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - pushd libebl - make - popd - pushd libelf - make - popd - pushd libdwfl - make - popd - pushd libdw - make - popd - ''; - - installPhase = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - pushd libelf - make install - popd - pushd libdwfl - make install - popd - pushd libdw - make install - popd - cp version.h $out/include - ''; - doCheck = false; # fails 3 out of 174 tests doInstallCheck = false; # fails 70 out of 174 tests From d8b92121d4d0e609a81b78e31d8c37f033d11a19 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 24 Feb 2020 19:49:20 -0500 Subject: [PATCH 02/29] aspell: perl is also a native build input This is needed for some scripts needed at build time. --- pkgs/development/libraries/aspell/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix index ad0f910dcbf..2dcf80ec30d 100644 --- a/pkgs/development/libraries/aspell/default.nix +++ b/pkgs/development/libraries/aspell/default.nix @@ -28,6 +28,7 @@ stdenv.mkDerivation rec { patch interfaces/cc/aspell.h < ${./clang.patch} ''; + nativeBuildInputs = [ perl ]; buildInputs = [ perl ]; doCheck = true; From 42fe7c7d47603093fd338545f88e81b4e0fd0f37 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 24 Feb 2020 19:59:03 -0500 Subject: [PATCH 03/29] libevdev: python is a native input --- pkgs/development/libraries/libevdev/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix index 7a61437b5ee..af879e8813a 100644 --- a/pkgs/development/libraries/libevdev/default.nix +++ b/pkgs/development/libraries/libevdev/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "04a2klvii0in9ln8r85mk2cm73jq8ry2m3yzmf2z8xyjxzjcmlr0"; }; - buildInputs = [ python3 ]; + nativeBuildInputs = [ python3 ]; meta = with stdenv.lib; { description = "Wrapper library for evdev devices"; From e0ac0546de23b78c4d7075ca2f0b52e3ab725540 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 24 Feb 2020 19:59:49 -0500 Subject: [PATCH 04/29] libpsl: add libxslt as a native dependency libxslt is actually both a target and native build input because some libxslt binary is needed to generate files and the built binaries also link against libxslt. --- pkgs/development/libraries/libpsl/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix index d2012760dcf..fdc352869f0 100644 --- a/pkgs/development/libraries/libpsl/default.nix +++ b/pkgs/development/libraries/libpsl/default.nix @@ -32,6 +32,7 @@ stdenv.mkDerivation rec { pkgconfig python3 valgrind + libxslt ]; buildInputs = [ From fdfde0324e967f0c727a8c59ec71b1d81dc9fefb Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 24 Feb 2020 20:02:14 -0500 Subject: [PATCH 05/29] libsecret: add glib as a native dependency glib is both a native and target dependency. Some binary from glib is used to generate files. --- pkgs/development/libraries/libsecret/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix index e4e87eba858..a756caea8ef 100644 --- a/pkgs/development/libraries/libsecret/default.nix +++ b/pkgs/development/libraries/libsecret/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ glib ]; nativeBuildInputs = [ pkgconfig gettext libxslt docbook_xsl docbook_xml_dtd_42 libintl - gobject-introspection vala gtk-doc + gobject-introspection vala gtk-doc glib ]; buildInputs = [ libgcrypt ]; # optional: build docs with gtk-doc? (probably needs a flag as well) From de14f0c6e1247aa48b0d77c4a3390a61e020bebf Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 24 Feb 2020 20:03:40 -0500 Subject: [PATCH 06/29] libinput: move test dependencies to checkInputs This avoids pulling them in when tests are disabled. --- pkgs/development/libraries/libinput/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix index 2c84379aa8e..46f318a776a 100644 --- a/pkgs/development/libraries/libinput/default.nix +++ b/pkgs/development/libraries/libinput/default.nix @@ -45,12 +45,12 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkgconfig meson ninja ] - ++ optionals documentationSupport [ doxygen graphviz sphinx-build ] - ++ optionals testsSupport [ valgrind ]; + ++ optionals documentationSupport [ doxygen graphviz sphinx-build ]; - buildInputs = [ libevdev mtdev libwacom (python3.withPackages (pkgs: with pkgs; [ evdev ])) ] - ++ optionals eventGUISupport [ cairo glib gtk3 ] - ++ optionals testsSupport [ check ]; + buildInputs = [ libevdev mtdev libwacom ] + ++ optionals eventGUISupport [ cairo glib gtk3 ]; + + checkInputs = [ (python3.withPackages (pkgs: with pkgs; [ evdev ])) check valgrind ]; propagatedBuildInputs = [ udev ]; From 5198179adc19176cbcee4f7d7f68d0490ecaf5d2 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 24 Feb 2020 21:47:55 -0500 Subject: [PATCH 07/29] gstreamer: needs extra build inputs Cross needs some extra native tools: - glib - wayland - orc - glib is needed in nativeBuildInputs Also: - bash-completion needs to be available for PKG_CONFIG_PATH --- pkgs/development/libraries/gstreamer/base/default.nix | 5 ++++- pkgs/development/libraries/gstreamer/core/default.nix | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix index 178f6a1fe89..79405e5077e 100644 --- a/pkgs/development/libraries/gstreamer/base/default.nix +++ b/pkgs/development/libraries/gstreamer/base/default.nix @@ -37,6 +37,7 @@ , enableGl ? (enableX11 || enableWayland || enableCocoa) , enableCdparanoia ? (!stdenv.isDarwin) , cdparanoia +, glib }: stdenv.mkDerivation rec { @@ -60,13 +61,15 @@ stdenv.mkDerivation rec { pkgconfig python3 gettext + orc + glib gobject-introspection # docs gtk-doc docbook_xsl docbook_xml_dtd_43 - ]; + ] ++ lib.optional enableWayland wayland; buildInputs = [ orc diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index 3dd7a547de9..67a0aa9f3f8 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -48,6 +48,7 @@ stdenv.mkDerivation rec { flex python3 makeWrapper + glib gobject-introspection bash-completion @@ -57,7 +58,9 @@ stdenv.mkDerivation rec { docbook_xml_dtd_43 ]; - buildInputs = lib.optionals stdenv.isLinux [ + buildInputs = [ + bash-completion + ] ++ lib.optionals stdenv.isLinux [ libcap libunwind elfutils From 8c3160b6191b94f9e90cf42aab5810ed042bac89 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 24 Feb 2020 22:03:00 -0500 Subject: [PATCH 08/29] bubblewrap: use buildInputs instead of nativeBuildInputs these are all libraries. --- pkgs/tools/admin/bubblewrap/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/admin/bubblewrap/default.nix b/pkgs/tools/admin/bubblewrap/default.nix index 8e2ef7c87e1..311e97060be 100644 --- a/pkgs/tools/admin/bubblewrap/default.nix +++ b/pkgs/tools/admin/bubblewrap/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "08r0f4c3fjkb4zjrb4kkax1zfcgcgic702vb62sjjw5xfhppvzp5"; }; - nativeBuildInputs = [ libcap libxslt docbook_xsl ]; + buildInputs = [ libcap libxslt docbook_xsl ]; meta = with stdenv.lib; { description = "Unprivileged sandboxing tool"; From 78f9cad38730295d413ab9c031448b72e2c55d31 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 24 Feb 2020 22:07:02 -0500 Subject: [PATCH 09/29] cage: add wayland as nativeBuildInputs Needed on the build machine --- pkgs/applications/window-managers/cage/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/window-managers/cage/default.nix b/pkgs/applications/window-managers/cage/default.nix index fe5e9c4e2e3..205569ad550 100644 --- a/pkgs/applications/window-managers/cage/default.nix +++ b/pkgs/applications/window-managers/cage/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { sha256 = "1gkqx26pvlw00b3fgx6sh87yyjfzyj51jwxvbf9k117npkrf4b2g"; }; - nativeBuildInputs = [ meson ninja pkgconfig makeWrapper ]; + nativeBuildInputs = [ meson ninja pkgconfig makeWrapper wayland ]; buildInputs = [ wlroots wayland wayland-protocols pixman libxkbcommon From f187d8c26f2d8d90c7cbcfd46700c3f51f1c52cc Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 24 Feb 2020 22:05:53 -0500 Subject: [PATCH 10/29] wlroots: add wayland as nativeBuildInputs Needed on the build machine --- pkgs/development/libraries/wlroots/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix index 9f9c4acb0d8..4a9a66e2267 100644 --- a/pkgs/development/libraries/wlroots/default.nix +++ b/pkgs/development/libraries/wlroots/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { # $out for the library and $examples for the example programs (in examples): outputs = [ "out" "examples" ]; - nativeBuildInputs = [ meson ninja pkgconfig ]; + nativeBuildInputs = [ meson ninja pkgconfig wayland ]; buildInputs = [ wayland libGL wayland-protocols libinput libxkbcommon pixman From f773ef51c5260b3c8e0433ff346462541c194839 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Tue, 25 Feb 2020 12:50:00 -0500 Subject: [PATCH 11/29] gcr: specify libgrypt prefix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is needed for cross because gcrypt-config is not available to execute. It’s safe to do otherwise as well though. --- pkgs/development/libraries/gcr/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/gcr/default.nix b/pkgs/development/libraries/gcr/default.nix index cf0f22fdd40..74204a84ce4 100644 --- a/pkgs/development/libraries/gcr/default.nix +++ b/pkgs/development/libraries/gcr/default.nix @@ -32,6 +32,8 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; + configureFlags = [ "--with-libgcrypt-prefix=${stdenv.lib.getDev libgcrypt}" ]; + nativeBuildInputs = [ pkgconfig gettext From d2775e4ce0761c1a003c2131c4d47d9412cb8e77 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Tue, 25 Feb 2020 16:15:40 -0500 Subject: [PATCH 12/29] webkitgtk: ignore gettext when cross compiling Unfortunately, CMake looks in CMAKE_PREFIX_PATH for binaries when cross-compiling. This means that it will use gettext from CMAKE_PREFIX_PATH even when we provide a gettext binary in PATH! This is bad because the on in CMAKE_PREFIX_PATH is for the cross system, not the native one. The only documented way I can find to change this behavior is by manually setting the CMAKE_IGNORE_PATH variable. --- pkgs/development/libraries/webkitgtk/default.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix index aa3d874979f..98259e1b034 100644 --- a/pkgs/development/libraries/webkitgtk/default.nix +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -51,6 +51,7 @@ , xdg-dbus-proxy , substituteAll , gnome3 +, glib }: assert enableGeoLocation -> geoclue2 != null; @@ -78,6 +79,14 @@ stdenv.mkDerivation rec { ./libglvnd-headers.patch ]; + preConfigure = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + # Ignore gettext in cmake_prefix_path so that find_program doesn't + # pick up the wrong gettext. TODO: Find a better solution for + # this, maybe make cmake not look up executables in + # CMAKE_PREFIX_PATH. + cmakeFlags+=" -DCMAKE_IGNORE_PATH=${getBin gettext}/bin" + ''; + nativeBuildInputs = [ bison cmake @@ -89,6 +98,8 @@ stdenv.mkDerivation rec { pkgconfig python3 ruby + glib + wayland ]; buildInputs = [ From 09c498fe66b4bdfd07fbe38653c26254d3a20095 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 17:32:07 -0500 Subject: [PATCH 13/29] libdazzle: add glib to nativeBuildInputs This is needed for build tools. --- pkgs/development/libraries/libdazzle/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libdazzle/default.nix b/pkgs/development/libraries/libdazzle/default.nix index 173ad6d2e85..8ad01c98d0f 100644 --- a/pkgs/development/libraries/libdazzle/default.nix +++ b/pkgs/development/libraries/libdazzle/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "01cmcrd75b7ns7j2b4p6h7pv68vjhkcl9zbvzzx7pf4vknxir61x"; }; - nativeBuildInputs = [ ninja meson pkgconfig vala gobject-introspection libxml2 gtk-doc docbook_xsl docbook_xml_dtd_43 dbus xvfb_run ]; + nativeBuildInputs = [ ninja meson pkgconfig vala gobject-introspection libxml2 gtk-doc docbook_xsl docbook_xml_dtd_43 dbus xvfb_run glib ]; buildInputs = [ glib gtk3 ]; mesonFlags = [ From b5efbd50dec71bc89a417adbac6db3646e9153a2 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 17:27:51 -0500 Subject: [PATCH 14/29] libhandy: add libxml2 to nativeBuildInputs Some build tools are needed for code gen. --- pkgs/development/libraries/libhandy/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix index 6264ff6c1a7..7c9779cf59b 100644 --- a/pkgs/development/libraries/libhandy/default.nix +++ b/pkgs/development/libraries/libhandy/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - meson ninja pkgconfig gobject-introspection vala + meson ninja pkgconfig gobject-introspection vala libxml2 gtk-doc docbook_xsl docbook_xml_dtd_43 ]; buildInputs = [ gnome3.gnome-desktop gtk3 gnome3.glade libxml2 ]; From 66fcc60af8199923d5934f5e5113129831ce706a Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 17:11:17 -0500 Subject: [PATCH 15/29] epiphany: fix cross compilation --- pkgs/desktops/gnome-3/core/epiphany/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix index be917b64452..0272bd8e6c1 100644 --- a/pkgs/desktops/gnome-3/core/epiphany/default.nix +++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix @@ -30,6 +30,7 @@ , json-glib , libdazzle , libhandy +, buildPackages }: stdenv.mkDerivation rec { @@ -56,6 +57,7 @@ stdenv.mkDerivation rec { pkgconfig python3 wrapGAppsHook + buildPackages.glib ]; buildInputs = [ From 84b7c644ae456da145908953a8cb2fa421ad7037 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 17:14:22 -0500 Subject: [PATCH 16/29] gnome-desktop: needs glib in nativeBuildInputs --- pkgs/desktops/gnome-3/core/gnome-desktop/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix index 1717bfc7fde..1750f5a9eed 100644 --- a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig meson ninja gettext libxslt libxml2 gobject-introspection - gtk-doc docbook_xsl + gtk-doc docbook_xsl glib ]; buildInputs = [ libX11 bubblewrap xkeyboard_config isocodes wayland From 439704b092f065effc995b0bb1ae96f32e9ad80c Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 17:17:29 -0500 Subject: [PATCH 17/29] glade: add libxml2 to nativeBuildInputs Some build tools are needed from here --- pkgs/desktops/gnome-3/apps/glade/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome-3/apps/glade/default.nix b/pkgs/desktops/gnome-3/apps/glade/default.nix index 367bcdef472..7449e22d69d 100644 --- a/pkgs/desktops/gnome-3/apps/glade/default.nix +++ b/pkgs/desktops/gnome-3/apps/glade/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - pkgconfig intltool itstool wrapGAppsHook docbook_xsl libxslt gobject-introspection + pkgconfig intltool itstool wrapGAppsHook docbook_xsl libxslt libxml2 gobject-introspection ]; buildInputs = [ gtk3 glib libxml2 python3 python3.pkgs.pygobject3 From 895ef236587b2fbf105d96ddf62d376d3ac43d13 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 18:03:04 -0500 Subject: [PATCH 18/29] libsoup: needs glib in nativeBuildInputs --- pkgs/development/libraries/libsoup/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix index 2d2f2da6a39..7c6336b5b45 100644 --- a/pkgs/development/libraries/libsoup/default.nix +++ b/pkgs/development/libraries/libsoup/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; buildInputs = [ python3 sqlite libpsl brotli ]; - nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection vala ]; + nativeBuildInputs = [ meson ninja pkgconfig gobject-introspection vala glib ]; propagatedBuildInputs = [ glib libxml2 ]; mesonFlags = [ From ebdd6448369f015e3050f2253239a29f1f8a6f62 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 18:10:32 -0500 Subject: [PATCH 19/29] atk: needs glib in nativeBuildInputs --- pkgs/development/libraries/atk/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix index 9e80d4fc6ca..5ac9f35d235 100644 --- a/pkgs/development/libraries/atk/default.nix +++ b/pkgs/development/libraries/atk/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; - nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection ]; + nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection glib ]; propagatedBuildInputs = [ # Required by atk.pc From 7aed3f8877c99b5558a29d9bc9ca4d192a87abb1 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 18:11:06 -0500 Subject: [PATCH 20/29] dconf: needs glib in nativeBuildInputs --- pkgs/development/libraries/dconf/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/dconf/default.nix b/pkgs/development/libraries/dconf/default.nix index 5b37088cd95..3df0088ee1e 100644 --- a/pkgs/development/libraries/dconf/default.nix +++ b/pkgs/development/libraries/dconf/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { outputs = [ "out" "lib" "dev" "devdoc" ]; - nativeBuildInputs = [ meson ninja vala pkgconfig python3 libxslt libxml2 gtk-doc docbook_xsl docbook_xml_dtd_42 ]; + nativeBuildInputs = [ meson ninja vala pkgconfig python3 libxslt libxml2 glib gtk-doc docbook_xsl docbook_xml_dtd_42 ]; buildInputs = [ glib bash-completion dbus ]; mesonFlags = [ From 7996be73b55fd70aaef2fd155a268ee9423b7ace Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 18:13:29 -0500 Subject: [PATCH 21/29] gsettings-desktop-schemas: add glib to nativeBuildInputs --- .../development/libraries/gsettings-desktop-schemas/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/gsettings-desktop-schemas/default.nix b/pkgs/development/libraries/gsettings-desktop-schemas/default.nix index ea6e08811af..4ef923a24a0 100644 --- a/pkgs/development/libraries/gsettings-desktop-schemas/default.nix +++ b/pkgs/development/libraries/gsettings-desktop-schemas/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { buildInputs = [ glib gobject-introspection ]; - nativeBuildInputs = [ pkgconfig python3 meson ninja ]; + nativeBuildInputs = [ pkgconfig python3 meson ninja glib ]; meta = with stdenv.lib; { maintainers = gnome3.maintainers; From 636a072df58ccfc61ad76258d602384217d08ca9 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 18:16:50 -0500 Subject: [PATCH 22/29] json-glib: add glib to nativeBuildInputs Needed for some build tools in glib --- pkgs/development/libraries/json-glib/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix index 9a18b025fab..f811c0b09f8 100644 --- a/pkgs/development/libraries/json-glib/default.nix +++ b/pkgs/development/libraries/json-glib/default.nix @@ -14,7 +14,7 @@ in stdenv.mkDerivation rec { }; propagatedBuildInputs = [ glib ]; - nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection ]; + nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection glib ]; buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames; outputs = [ "out" "dev" ]; From 5ffd779348a163e36c0cdb9520bbe92af2e654c0 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 18:18:41 -0500 Subject: [PATCH 23/29] pango: add glib to nativeBuildInputs Needed for some build tool --- pkgs/development/libraries/pango/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index ecb0f16c72c..6b4332a4d54 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -22,7 +22,7 @@ in stdenv.mkDerivation rec { outputs = [ "bin" "dev" "out" ] ++ optional (!stdenv.isDarwin) "devdoc"; nativeBuildInputs = [ - meson ninja + meson ninja glib pkgconfig gobject-introspection gtk-doc docbook_xsl docbook_xml_dtd_43 ]; buildInputs = [ From d1e58be70378d0a43aa325f94d260b4858dd109d Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 21:48:00 -0500 Subject: [PATCH 24/29] nixos-artwork: make imagemagick a native build input This is only needed on the builder, no need to cross compile it. --- pkgs/data/misc/nixos-artwork/icons.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/data/misc/nixos-artwork/icons.nix b/pkgs/data/misc/nixos-artwork/icons.nix index 1c14bcc9f98..caab674393a 100644 --- a/pkgs/data/misc/nixos-artwork/icons.nix +++ b/pkgs/data/misc/nixos-artwork/icons.nix @@ -9,5 +9,5 @@ stdenv.mkDerivation { sha256 = "0wp08b1gh2chs1xri43wziznyjcplx0clpsrb13wzyscv290ay5a"; }; makeFlags = [ "DESTDIR=$(out)" "prefix=" ]; - buildInputs = [ imagemagick ]; + nativeBuildInputs = [ imagemagick ]; } From 1bac79761679c249dee700c5112df51437ac2fc0 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 21:57:49 -0500 Subject: [PATCH 25/29] plymouth: update configure flags - only set host when cross compiling - use top-level configureFlags and installFlags instead of putting it in the pre configure. --- pkgs/os-specific/linux/plymouth/default.nix | 52 ++++++++++----------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/pkgs/os-specific/linux/plymouth/default.nix b/pkgs/os-specific/linux/plymouth/default.nix index b074c6d7244..1a8e3685e9c 100644 --- a/pkgs/os-specific/linux/plymouth/default.nix +++ b/pkgs/os-specific/linux/plymouth/default.nix @@ -26,35 +26,33 @@ stdenv.mkDerivation rec { -e "s#plymouththemedir=.*#plymouththemedir=/etc/plymouth/themes#" \ -e "s#plymouthpolicydir=.*#plymouthpolicydir=/etc/plymouth/#" \ configure.ac - - configureFlags=" - --prefix=$out - --bindir=$out/bin - --sbindir=$out/sbin - --exec-prefix=$out - --libdir=$out/lib - --libexecdir=$out/lib - --sysconfdir=/etc - --with-systemdunitdir=$out/etc/systemd/system - --localstatedir=/var - --with-logo=/etc/plymouth/logo.png - --with-background-color=0x000000 - --with-background-start-color-stop=0x000000 - --with-background-end-color-stop=0x000000 - --with-release-file=/etc/os-release - --without-system-root-install - --without-rhgb-compat-link - --enable-tracing - --enable-systemd-integration - --enable-pango - --enable-gdm-transition - --enable-gtk" - - installFlags=" - plymouthd_defaultsdir=$out/share/plymouth - plymouthd_confdir=$out/etc/plymouth" ''; + configureFlags = [ + "--sysconfdir=/etc" + "--with-systemdunitdir=${placeholder "out"}/etc/systemd/system" + "--localstatedir=/var" + "--with-logo=/etc/plymouth/logo.png" + "--with-background-color=0x000000" + "--with-background-start-color-stop=0x000000" + "--with-background-end-color-stop=0x000000" + "--with-release-file=/etc/os-release" + "--without-system-root-install" + "--without-rhgb-compat-link" + "--enable-tracing" + "--enable-systemd-integration" + "--enable-pango" + "--enable-gdm-transition" + "--enable-gtk" + ]; + + configurePlatforms = [ "host" ]; + + installFlags = [ + "plymouthd_defaultsdir=$(out)/share/plymouth" + "plymouthd_confdir=$(out)/etc/plymouth" + ]; + meta = with stdenv.lib; { homepage = http://www.freedesktop.org/wiki/Software/Plymouth; description = "A graphical boot animation"; From f8006597a853746a1fc29f957e364c72cf766b68 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Wed, 26 Feb 2020 22:00:56 -0500 Subject: [PATCH 26/29] breeze-plymouth: make some things native some of these only need to be on the build machine. --- pkgs/desktops/plasma-5/breeze-plymouth/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/plasma-5/breeze-plymouth/default.nix b/pkgs/desktops/plasma-5/breeze-plymouth/default.nix index 5b6abddbcda..770e549fc2c 100644 --- a/pkgs/desktops/plasma-5/breeze-plymouth/default.nix +++ b/pkgs/desktops/plasma-5/breeze-plymouth/default.nix @@ -26,8 +26,8 @@ in mkDerivation { name = "breeze-plymouth"; - nativeBuildInputs = [ extra-cmake-modules ]; - buildInputs = [ plymouth ] ++ lib.optionals (logoFile != null) [ imagemagick netpbm perl ]; + nativeBuildInputs = [ extra-cmake-modules ] ++ lib.optionals (logoFile != null) [ imagemagick netpbm perl ]; + buildInputs = [ plymouth ]; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); cmakeFlags = [] ++ lib.optional (osName != null) "-DDISTRO_NAME=${osName}" From 12656155945535d03ccc6711efb2bcce2bb35788 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Thu, 5 Mar 2020 20:52:04 -0500 Subject: [PATCH 27/29] gtk-icon-cache: get native gtk3 for icon cache --- nixos/modules/config/gtk/gtk-icon-cache.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/config/gtk/gtk-icon-cache.nix b/nixos/modules/config/gtk/gtk-icon-cache.nix index 86a6bfb5af4..7441f4de40e 100644 --- a/nixos/modules/config/gtk/gtk-icon-cache.nix +++ b/nixos/modules/config/gtk/gtk-icon-cache.nix @@ -77,7 +77,7 @@ with lib; if [ -w "$themedir" ]; then rm -f "$themedir"/icon-theme.cache - ${pkgs.gtk3.out}/bin/gtk-update-icon-cache --ignore-theme-index "$themedir" + ${pkgs.buildPackages.gtk3.out}/bin/gtk-update-icon-cache --ignore-theme-index "$themedir" fi done ''; From c6b320a6794b7f72368c61f4c267994779832818 Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 16 Mar 2020 14:24:09 -0400 Subject: [PATCH 28/29] bubblewrap: put docbook_xsl, libxslt in nativeBuildInputs Co-Authored-By: Jan Tojnar --- pkgs/tools/admin/bubblewrap/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/admin/bubblewrap/default.nix b/pkgs/tools/admin/bubblewrap/default.nix index 311e97060be..eaf283e046e 100644 --- a/pkgs/tools/admin/bubblewrap/default.nix +++ b/pkgs/tools/admin/bubblewrap/default.nix @@ -9,7 +9,8 @@ stdenv.mkDerivation rec { sha256 = "08r0f4c3fjkb4zjrb4kkax1zfcgcgic702vb62sjjw5xfhppvzp5"; }; - buildInputs = [ libcap libxslt docbook_xsl ]; + nativeBuildInputs = [ libxslt docbook_xsl ]; + buildInputs = [ libcap ]; meta = with stdenv.lib; { description = "Unprivileged sandboxing tool"; From e9c2957c1465838c27c7a67e56a6ade95033eefd Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Mon, 16 Mar 2020 14:27:23 -0400 Subject: [PATCH 29/29] treewide: add comments on where native inputs are needed makes it more clear why this happens Co-Authored-By: Jan Tojnar --- pkgs/development/libraries/pango/default.nix | 3 ++- pkgs/development/libraries/webkitgtk/default.nix | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index 6b4332a4d54..f37a6972c25 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -22,7 +22,8 @@ in stdenv.mkDerivation rec { outputs = [ "bin" "dev" "out" ] ++ optional (!stdenv.isDarwin) "devdoc"; nativeBuildInputs = [ - meson ninja glib + meson ninja + glib # for glib-mkenum pkgconfig gobject-introspection gtk-doc docbook_xsl docbook_xml_dtd_43 ]; buildInputs = [ diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix index 98259e1b034..4262be2882d 100644 --- a/pkgs/development/libraries/webkitgtk/default.nix +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -98,8 +98,8 @@ stdenv.mkDerivation rec { pkgconfig python3 ruby - glib - wayland + glib # for gdbus-codegen + wayland # for wayland-scanner ]; buildInputs = [