From 0d95bdb72cae59d8e77bbf83f5118913ce1e3b0f Mon Sep 17 00:00:00 2001 From: Defelo Date: Sat, 4 Jan 2025 22:50:56 +0100 Subject: [PATCH 1/2] uiua{,-unstable}: refactor - use `tag` instead of `rev` in `fetchFromGitHub` - add `versionCheckHook` --- pkgs/by-name/ui/uiua/package.nix | 7 ++++++- pkgs/by-name/ui/uiua/stable.nix | 2 +- pkgs/by-name/ui/uiua/unstable.nix | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ui/uiua/package.nix b/pkgs/by-name/ui/uiua/package.nix index b0a59ab2cab72..267b6dd35c68e 100644 --- a/pkgs/by-name/ui/uiua/package.nix +++ b/pkgs/by-name/ui/uiua/package.nix @@ -6,6 +6,7 @@ rustPlatform, fetchFromGitHub, pkg-config, + versionCheckHook, libffi, audioSupport ? true, @@ -34,7 +35,7 @@ lib.fix ( src = fetchFromGitHub { owner = "uiua-lang"; repo = "uiua"; - inherit (versionInfo) rev hash; + inherit (versionInfo) tag hash; }; nativeBuildInputs = @@ -50,6 +51,10 @@ lib.fix ( ++ lib.optional audioSupport "audio" ++ lib.optional webcamSupport "webcam"; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "--version"; + doInstallCheck = true; + passthru.updateScript = versionInfo.updateScript; passthru.tests.run = runCommand "uiua-test-run" { nativeBuildInputs = [ uiua ]; } '' uiua init diff --git a/pkgs/by-name/ui/uiua/stable.nix b/pkgs/by-name/ui/uiua/stable.nix index 8c777a7cac6c4..54fa065f5a1e4 100644 --- a/pkgs/by-name/ui/uiua/stable.nix +++ b/pkgs/by-name/ui/uiua/stable.nix @@ -1,6 +1,6 @@ rec { version = "0.14.1"; - rev = version; + tag = version; hash = "sha256-+FiJYxB2Lb1B7l9QEuB/XzdEYgJZmYAQpKimRIhWwhc="; cargoHash = "sha256-0ZK87aX3akEPEXIsFrbOvTfhW24TZCuCcSVp+j8ylyg="; updateScript = ./update-stable.sh; diff --git a/pkgs/by-name/ui/uiua/unstable.nix b/pkgs/by-name/ui/uiua/unstable.nix index 847c99ef207e9..0f9b6f39cbc1f 100644 --- a/pkgs/by-name/ui/uiua/unstable.nix +++ b/pkgs/by-name/ui/uiua/unstable.nix @@ -1,6 +1,6 @@ rec { version = "0.14.1"; - rev = version; + tag = version; hash = "sha256-+FiJYxB2Lb1B7l9QEuB/XzdEYgJZmYAQpKimRIhWwhc="; cargoHash = "sha256-0ZK87aX3akEPEXIsFrbOvTfhW24TZCuCcSVp+j8ylyg="; updateScript = ./update-unstable.sh; From e75958d0b2c57213bb4955388cc9c0b81217751a Mon Sep 17 00:00:00 2001 From: Defelo Date: Sun, 5 Jan 2025 01:37:37 +0100 Subject: [PATCH 2/2] uiua{,-unstable}: add windowSupport option --- pkgs/by-name/ui/uiua/package.nix | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ui/uiua/package.nix b/pkgs/by-name/ui/uiua/package.nix index 267b6dd35c68e..87a0bbccf4b11 100644 --- a/pkgs/by-name/ui/uiua/package.nix +++ b/pkgs/by-name/ui/uiua/package.nix @@ -12,6 +12,11 @@ audioSupport ? true, alsa-lib, webcamSupport ? false, + libGL, + libxkbcommon, + wayland, + xorg, + windowSupport ? false, runCommand, }: @@ -49,7 +54,24 @@ lib.fix ( buildFeatures = [ "libffi/system" ] # force libffi to be linked dynamically instead of rebuilding it ++ lib.optional audioSupport "audio" - ++ lib.optional webcamSupport "webcam"; + ++ lib.optional webcamSupport "webcam" + ++ lib.optional windowSupport "window"; + + postFixup = + let + runtimeDependencies = lib.optionals windowSupport [ + libGL + libxkbcommon + wayland + xorg.libX11 + xorg.libXcursor + xorg.libXi + xorg.libXrandr + ]; + in + lib.optionalString (runtimeDependencies != [ ] && stdenv.hostPlatform.isLinux) '' + patchelf --add-rpath ${lib.makeLibraryPath runtimeDependencies} $out/bin/uiua + ''; nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgramArg = "--version";