From 782af557b635e9a90c6f82dd96ffa474d47942e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christina=20S=C3=B8rensen?= Date: Wed, 27 Sep 2023 18:41:44 +0200 Subject: [PATCH 1/2] uiua: init at unstable-2023-09-28 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Christina Sørensen --- pkgs/by-name/ui/uiua/package.nix | 43 ++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 pkgs/by-name/ui/uiua/package.nix diff --git a/pkgs/by-name/ui/uiua/package.nix b/pkgs/by-name/ui/uiua/package.nix new file mode 100644 index 000000000000..12343db35960 --- /dev/null +++ b/pkgs/by-name/ui/uiua/package.nix @@ -0,0 +1,43 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + audioSupport ? true, + alsa-lib, + pkg-config +}: +rustPlatform.buildRustPackage { + pname = "uiua"; + version = "unstable-2023-09-28"; + + src = fetchFromGitHub { + owner = "uiua-lang"; + repo = "uiua"; + rev = "9b8c65332396f521f170b0ed3ce104b7a8bcf7c0"; + hash = "sha256-+pleCEEwgRj+p+k9oKIvbsGUWC49qByV/juv76ZdBcc="; + }; + + cargoHash = "sha256-L8TCMe6eHS3QRy6HuTc1WvMfzsDhKx9YYupAkNeBwpk="; + + nativeBuildInputs = lib.optional audioSupport pkg-config; + buildInputs = lib.optionals audioSupport [ alsa-lib ]; + buildFeatures = lib.optional audioSupport "audio"; + + doCheck = true; + + meta = with lib; { + description = "A stack-oriented array programming language with a focus on simplicity, beauty, and tacit code"; + longDescription = '' + Uiua combines the stack-oriented and array-oriented paradigms in a single + language. Combining these already terse paradigms results in code with a very + high information density and little syntactic noise. + ''; + homepage = "https://www.uiua.org/"; + license = licenses.mit; + mainProgram = "uiua"; + maintainers = with maintainers; [cafkafk]; + # TODO: add MacOS support, it should be possible, but I don't own a Mac to + # hack on + platforms = platforms.linux; + }; +} From acc74f930f0c0ff0033f004adfd8c6692a8dd55e Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Fri, 29 Sep 2023 08:52:30 +0200 Subject: [PATCH 2/2] uiua: add darwin support --- pkgs/by-name/ui/uiua/package.nix | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ui/uiua/package.nix b/pkgs/by-name/ui/uiua/package.nix index 12343db35960..9f405a88f7ea 100644 --- a/pkgs/by-name/ui/uiua/package.nix +++ b/pkgs/by-name/ui/uiua/package.nix @@ -1,8 +1,10 @@ { lib, + stdenv, rustPlatform, fetchFromGitHub, audioSupport ? true, + darwin, alsa-lib, pkg-config }: @@ -19,8 +21,20 @@ rustPlatform.buildRustPackage { cargoHash = "sha256-L8TCMe6eHS3QRy6HuTc1WvMfzsDhKx9YYupAkNeBwpk="; - nativeBuildInputs = lib.optional audioSupport pkg-config; - buildInputs = lib.optionals audioSupport [ alsa-lib ]; + nativeBuildInputs = lib.optionals stdenv.isDarwin [ + rustPlatform.bindgenHook + ] ++ lib.optionals audioSupport [ + pkg-config + ]; + + buildInputs = lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.CoreServices + ] ++ lib.optionals (audioSupport && stdenv.isDarwin) [ + darwin.apple_sdk.frameworks.AudioUnit + ] ++ lib.optionals (audioSupport && stdenv.isLinux) [ + alsa-lib + ]; + buildFeatures = lib.optional audioSupport "audio"; doCheck = true; @@ -35,9 +49,6 @@ rustPlatform.buildRustPackage { homepage = "https://www.uiua.org/"; license = licenses.mit; mainProgram = "uiua"; - maintainers = with maintainers; [cafkafk]; - # TODO: add MacOS support, it should be possible, but I don't own a Mac to - # hack on - platforms = platforms.linux; + maintainers = with maintainers; [ cafkafk ]; }; }