nixpkgs/pkgs/by-name/vg/vgmtrans/package.nix
2024-11-10 12:02:45 +01:00

75 lines
1.6 KiB
Nix

{
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";
};
})