summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/virtualization
diff options
context:
space:
mode:
authorNick Cao <nickcao@nichi.co>2023-01-28 09:26:46 +0800
committerGitHub <noreply@github.com>2023-01-28 09:26:46 +0800
commit13645205311aa81dbc7c5adeee0382e38e52ee7c (patch)
treed49fe466b5d601beb0840df2600bec693a7190f4 /pkgs/applications/virtualization
parent55b5da172a44e4b5783f52f2f563f39989144562 (diff)
parentb67ea20d4ca31365109efdce255a2fd4b8745db5 (diff)
Merge pull request #212710 from nebulka1/rvvm
rvvm: init at 0.5-20230125.4de27d7
Diffstat (limited to 'pkgs/applications/virtualization')
-rw-r--r--pkgs/applications/virtualization/rvvm/default.nix40
1 files changed, 40 insertions, 0 deletions
diff --git a/pkgs/applications/virtualization/rvvm/default.nix b/pkgs/applications/virtualization/rvvm/default.nix
new file mode 100644
index 000000000000..54f3cf7700be
--- /dev/null
+++ b/pkgs/applications/virtualization/rvvm/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, fetchFromGitHub, SDL_compat }:
+
+stdenv.mkDerivation rec {
+ pname = "rvvm";
+ version = "unstable-2023-01-25";
+
+ src = fetchFromGitHub {
+ owner = "LekKit";
+ repo = "RVVM";
+ rev = "4de27d7083db34bd074b4f056d6eb3871ccf5c10";
+ sha256 = "sha256-FjEcXfweL6FzA6iLxl9XnKaD4Fh/wZuRTJzZzHkc/B4=";
+ };
+
+ buildInputs = [ SDL_compat ];
+
+ makeFlags =
+ [ "BUILDDIR=out" "BINARY=rvvm" "USE_SDL=1" "GIT_COMMIT=${src.rev}" "all" "lib" ]
+ # work around https://github.com/NixOS/nixpkgs/issues/19098
+ ++ lib.optional (stdenv.cc.isClang && stdenv.isDarwin) "CFLAGS=-fno-lto";
+
+ installPhase = ''
+ runHook preInstall
+
+ install -d $out/{bin,lib,include/devices}
+ install -m755 out/rvvm -t $out/bin
+ install -m755 out/librvvm.{a,so} -t $out/lib
+ install -m644 src/rvvmlib.h -t $out/include
+ install -m644 src/devices/*.h -t $out/include/devices
+
+ runHook postInstall
+ '';
+
+ meta = with lib; {
+ homepage = "https://github.com/LekKit/RVVM";
+ description = "The RISC-V Virtual Machine";
+ license = with licenses; [ gpl3 /* or */ mpl20 ];
+ platforms = platforms.linux ++ platforms.darwin;
+ maintainers = with maintainers; [ nebulka ];
+ };
+}