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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 054aee6ae0d7..1525e48953ed 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26338,6 +26338,8 @@ with pkgs; rtw89-firmware = callPackage ../os-specific/linux/firmware/rtw89-firmware { }; + rvvm = callPackage ../applications/virtualization/rvvm { }; + s3ql = callPackage ../tools/backup/s3ql { }; sasutils = callPackage ../os-specific/linux/sasutils { };