about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAnderson Torres <torres.anderson.85@protonmail.com>2021-08-30 15:16:55 -0300
committerGitHub <noreply@github.com>2021-08-30 15:16:55 -0300
commiteafb05087a11b520e74f0697a0d3dc7258f34d29 (patch)
tree0507dd3dab7f048ebb0829b6e97f968dec6484a1
parentf8a2cce87c2050fbff1dfe35c0ee2eeb3511ff8a (diff)
parent71af4f6ab199275e1a43d37875f12dd88ed3580c (diff)
downloadnixlib-eafb05087a11b520e74f0697a0d3dc7258f34d29.tar
nixlib-eafb05087a11b520e74f0697a0d3dc7258f34d29.tar.gz
nixlib-eafb05087a11b520e74f0697a0d3dc7258f34d29.tar.bz2
nixlib-eafb05087a11b520e74f0697a0d3dc7258f34d29.tar.lz
nixlib-eafb05087a11b520e74f0697a0d3dc7258f34d29.tar.xz
nixlib-eafb05087a11b520e74f0697a0d3dc7258f34d29.tar.zst
nixlib-eafb05087a11b520e74f0697a0d3dc7258f34d29.zip
Merge pull request #135944 from AndersonTorres/new-uxn
uxn: init at 0.0.0+unstable=2021-08-27
-rw-r--r--pkgs/misc/emulators/uxn/default.nix54
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/misc/emulators/uxn/default.nix b/pkgs/misc/emulators/uxn/default.nix
new file mode 100644
index 000000000000..3e4928412b11
--- /dev/null
+++ b/pkgs/misc/emulators/uxn/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchFromSourcehut
+, SDL2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "uxn";
+  version = "0.0.0+unstable=2021-08-30";
+
+  src = fetchFromSourcehut {
+    owner = "~rabbits";
+    repo = pname;
+    rev = "a2e40d9d10c11ef48f4f93d0dc86f5085b4263ce";
+    hash = "sha256-/hxDYi814nQydm2iQk4NID4vpJ3BcBcM6NdL0iuZk5M=";
+  };
+
+  buildInputs = [
+    SDL2
+  ];
+
+  dontConfigure = true;
+
+  # It is easier to emulate build.sh script
+  buildPhase = ''
+    runHook preBuild
+
+    cc -std=c89 -Wall -Wno-unknown-pragmas src/uxnasm.c -o uxnasm
+    cc -std=c89 -Wall -Wno-unknown-pragmas src/uxn.c src/uxncli.c -o uxncli
+    cc -std=c89 -Wall -Wno-unknown-pragmas src/uxn.c src/devices/ppu.c \
+       src/devices/apu.c src/uxnemu.c $(sdl2-config --cflags --libs) -o uxnemu
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -d $out/bin/ $out/share/${pname}/
+
+    cp uxnasm uxncli uxnemu $out/bin/
+    cp -r projects $out/share/${pname}/
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://wiki.xxiivv.com/site/uxn.html";
+    description = "An assembler and emulator for the Uxn stack machine";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 16abc141d983..709e8a2054ce 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -228,6 +228,8 @@ with pkgs;
 
   cen64 = callPackage ../misc/emulators/cen64 { };
 
+  uxn = callPackage ../misc/emulators/uxn { };
+
   cereal = callPackage ../development/libraries/cereal { };
 
   cewl = callPackage ../tools/security/cewl { };