diff options
author | Sergei Trofimovich <slyich@gmail.com> | 2023-04-09 09:44:55 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyich@gmail.com> | 2023-04-09 09:52:16 +0100 |
commit | f4608856947e483a0a28fda372a451b6681f20de (patch) | |
tree | 5a12a0b2d7f94dffe041354b0c09ce22ff4cedda /pkgs/development/libraries/SDL2 | |
parent | c5cf2117f838837099d853bd3283ec21972df583 (diff) |
SDL2: don't propagate headers-only packages via RUNPATH
On `nixpkgs` SDL2 explicitly bulds RUNPATHs from it's subset of build inputs. As a result RUNPATH contains more than needed. This change repomed from RUNPATH packages that don't contain libraries but contain developer-only files: - wayland-protocols: xml files to describe protocols - xorgproto: header files for X11 The change moves them to buildInputs / propagatedBuildInputs. Before the change closure size is: $ nix path-info -rsSh $(nix-build -A SDL2) | nl 221 /nix/store/...-SDL2-2.26.4 2.5M 546.5M After the change: $ nix path-info -rsSh $(nix-build -A SDL2) | nl 219 /nix/store/...-SDL2-2.26.4 2.5M 544.4M
Diffstat (limited to 'pkgs/development/libraries/SDL2')
-rw-r--r-- | pkgs/development/libraries/SDL2/default.nix | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index 681dd6515cd13..afd22f36f5365 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -86,13 +86,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ] ++ lib.optionals waylandSupport [ wayland wayland-scanner ]; - propagatedBuildInputs = dlopenPropagatedBuildInputs; - dlopenPropagatedBuildInputs = [ ] # Propagated for #include <GLES/gl.h> in SDL_opengles.h. ++ lib.optional openglSupport libGL # Propagated for #include <X11/Xlib.h> and <X11/Xatom.h> in SDL_syswm.h. - ++ lib.optionals x11Support [ libX11 xorgproto ]; + ++ lib.optionals x11Support [ libX11 ]; + + propagatedBuildInputs = lib.optionals x11Support [ xorgproto ] + ++ dlopenPropagatedBuildInputs; dlopenBuildInputs = lib.optionals alsaSupport [ alsa-lib audiofile ] ++ lib.optional dbusSupport dbus @@ -100,13 +101,14 @@ stdenv.mkDerivation rec { ++ lib.optional pipewireSupport pipewire ++ lib.optional pulseaudioSupport libpulseaudio ++ lib.optional udevSupport udev - ++ lib.optionals waylandSupport [ wayland wayland-protocols libxkbcommon ] + ++ lib.optionals waylandSupport [ wayland libxkbcommon ] ++ lib.optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ] ++ lib.optionals drmSupport [ libdrm mesa ]; buildInputs = [ libiconv ] ++ dlopenBuildInputs ++ lib.optional ibusSupport ibus + ++ lib.optionals waylandSupport [ wayland-protocols ] ++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ]; enableParallelBuilding = true; |