diff options
-rw-r--r-- | maintainers/maintainer-list.nix | 5 | ||||
-rw-r--r-- | pkgs/by-name/rm/rmg/package.nix | 87 |
2 files changed, 92 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index fe4e8bdf24b5..c15014dab1a5 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -17162,6 +17162,11 @@ githubId = 3789764; name = "skykanin"; }; + slam-bert = { + github = "slam-bert"; + githubId = 106779009; + name = "Slambert"; + }; slbtty = { email = "shenlebantongying@gmail.com"; github = "shenlebantongying"; diff --git a/pkgs/by-name/rm/rmg/package.nix b/pkgs/by-name/rm/rmg/package.nix new file mode 100644 index 000000000000..06e94306c04c --- /dev/null +++ b/pkgs/by-name/rm/rmg/package.nix @@ -0,0 +1,87 @@ +{ lib +, stdenv +, fetchFromGitHub +, boost +, cmake +, discord-rpc +, freetype +, hidapi +, libpng +, libsamplerate +, minizip +, nasm +, pkg-config +, qt6Packages +, SDL2 +, speexdsp +, vulkan-headers +, vulkan-loader +, which +, xdg-user-dirs +, zlib +}: + +let + inherit (qt6Packages) qtbase qtsvg wrapQtAppsHook; +in +stdenv.mkDerivation rec { + pname = "rmg"; + version = "0.5.4"; + + src = fetchFromGitHub { + owner = "Rosalie241"; + repo = "RMG"; + rev = "v${version}"; + hash = "sha256-SAQJKfYoouJ2DLVks6oXiyiOI2/kgmyaHqt/FRfqKjI="; + }; + + nativeBuildInputs = [ + cmake + nasm + pkg-config + wrapQtAppsHook + which + ]; + + buildInputs = [ + boost + discord-rpc + freetype + hidapi + libpng + libsamplerate + minizip + qtbase + qtsvg + SDL2 + speexdsp + vulkan-headers + vulkan-loader + xdg-user-dirs + zlib + ]; + + cmakeFlags = [ + "-DPORTABLE_INSTALL=OFF" + # mupen64plus-input-gca is written in Rust, so we can't build it with + # everything else. + "-DNO_RUST=ON" + ]; + + qtWrapperArgs = lib.optionals stdenv.isLinux [ + "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}" + ]; + + meta = with lib; { + homepage = "https://github.com/Rosalie241/RMG"; + description = "Rosalie's Mupen GUI"; + longDescription = '' + Rosalie's Mupen GUI is a free and open-source mupen64plus front-end + written in C++. It offers a simple-to-use user interface. + ''; + license = licenses.gpl3; + platforms = platforms.linux; + mainProgram = "RMG"; + maintainers = with maintainers; [ slam-bert ]; + }; +} |