From 5a0bebf0fd577eec40b560053d8aa7f28ff72227 Mon Sep 17 00:00:00 2001 From: slam-bert Date: Wed, 10 Jan 2024 18:51:26 -0600 Subject: [PATCH] rmg: init at 0.5.4 rmg: append to init at 0.5.4 rmg: further add to init at 0.5.4 rmg: (hopefully) finally finish init at 0.5.4 rmg: fix qt imports for init at 0.5.4 rmg: move 'which' to nativeBuildInputs for init at 0.5.4 rmg: try only importing 'which' in init at 0.5.4 rmg: fix a whitespace error in init at 0.5.4 rmg: remove 'dash' for init at 0.5.4 rmg: fix up qt packages for init at 0.5.4 rmg: remove seperate 'wrapQtAppsHook' from imports for init at 0.5.4 rmg: add myself to 'maintainer-list.nix' for init at 0.5.4 --- maintainers/maintainer-list.nix | 5 ++ pkgs/by-name/rm/rmg/package.nix | 87 +++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 pkgs/by-name/rm/rmg/package.nix 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 ]; + }; +}