From 885a0cc82c6e0628fefd4a00e9002db191f88399 Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Mon, 16 Dec 2024 21:51:00 +0100 Subject: [PATCH] uiua: link libffi dynamically --- pkgs/by-name/ui/uiua/package.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ui/uiua/package.nix b/pkgs/by-name/ui/uiua/package.nix index f132fcaf76d6..98395017fb67 100644 --- a/pkgs/by-name/ui/uiua/package.nix +++ b/pkgs/by-name/ui/uiua/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, pkg-config, + libffi, audioSupport ? true, alsa-lib, webcamSupport ? false, @@ -33,9 +34,14 @@ rustPlatform.buildRustPackage rec { lib.optionals (webcamSupport || stdenv.hostPlatform.isDarwin) [ rustPlatform.bindgenHook ] ++ lib.optionals audioSupport [ pkg-config ]; - buildInputs = lib.optionals (audioSupport && stdenv.hostPlatform.isLinux) [ alsa-lib ]; + buildInputs = + [ libffi ] # we force dynamic linking our own libffi below + ++ lib.optionals (audioSupport && stdenv.hostPlatform.isLinux) [ alsa-lib ]; - buildFeatures = lib.optional audioSupport "audio" ++ lib.optional webcamSupport "webcam"; + buildFeatures = + [ "libffi/system" ] # force libffi to be linked dynamically instead of rebuilding it + ++ lib.optional audioSupport "audio" + ++ lib.optional webcamSupport "webcam"; passthru.updateScript = versionInfo.updateScript; passthru.tests.run = runCommand "uiua-test-run" { nativeBuildInputs = [ uiua ]; } ''