diff --git a/pkgs/by-name/vg/vgmtrans/package.nix b/pkgs/by-name/vg/vgmtrans/package.nix new file mode 100644 index 000000000000..8feb722e116f --- /dev/null +++ b/pkgs/by-name/vg/vgmtrans/package.nix @@ -0,0 +1,74 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch2, + cmake, + ninja, + qt6, + spdlog, + zlib-ng, + minizip-ng, + libbass, + libbassmidi, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "vgmtrans"; + version = "1.2"; + + src = fetchFromGitHub { + owner = "vgmtrans"; + repo = "vgmtrans"; + rev = "refs/tags/v${finalAttrs.version}"; + hash = "sha256-HVC45B1DFThZRkPVrroiay+9ufkOrTMUZoNIuC1CjjM="; + }; + + patches = [ + # https://github.com/vgmtrans/vgmtrans/pull/567 + (fetchpatch2 { + name = "fix-version-string.patch"; + url = "https://github.com/vgmtrans/vgmtrans/commit/5ad8a60a19476d2ae9a7c409b83ab6d5e1ff827f.patch?full_index=1"; + hash = "sha256-I5ykYzj3tUBQ2e3TAnCm5Ry1Hmmi2IVneFQCe5/JV/A="; + }) + ]; + + nativeBuildInputs = [ + cmake + ninja + qt6.wrapQtAppsHook + ]; + + buildInputs = [ + qt6.qtbase + qt6.qtsvg + libbass + libbassmidi + ]; + + preConfigure = '' + rm -r lib/{spdlog,zlib-ng,minizip-ng} + ln -s ${spdlog.src} lib/spdlog + ln -s ${zlib-ng.src} lib/zlib-ng + ln -s ${minizip-ng.src} lib/minizip-ng + ''; + + meta = { + description = "Tool to convert proprietary, sequenced videogame music to industry-standard formats"; + homepage = "https://github.com/vgmtrans/vgmtrans"; + license = with lib.licenses; [ + zlib + libpng + bsd3 # oki_adpcm_state + ]; + # See CMakePresets.json + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + "x86_64-windows" + "aarch64-windows" + ]; + maintainers = with lib.maintainers; [ pluiedev ]; + mainProgram = "vgmtrans"; + }; +})