nixpkgs/pkgs/development/libraries/zmusic/default.nix
2023-05-01 13:02:47 +03:00

69 lines
1.4 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, alsa-lib
, cmake
, fluidsynth
, libsndfile
, mpg123
, ninja
, pkg-config
, soundfont-fluid
, zlib
}:
stdenv.mkDerivation rec {
pname = "zmusic";
version = "1.1.12";
src = fetchFromGitHub {
owner = "ZDoom";
repo = "ZMusic";
rev = version;
hash = "sha256-waxgn4Dg8One2Hv7J2efMoYo5mmaMSMiPQSNq57kbvE=";
};
outputs = [ "out" "dev" ];
patches = [
(fetchpatch {
name = "system-fluidsynth.patch";
url = "https://git.alpinelinux.org/aports/plain/testing/zmusic/system-fluidsynth.patch?id=59bac94da374cb01bc2a0e49d9e9287812fa1ac0";
hash = "sha256-xKaqiNk1Kt9yNLB22IVmSEtGeOtxrCi7YtFCmhNr0MI=";
})
];
postPatch = ''
substituteInPlace source/mididevices/music_fluidsynth_mididevice.cpp \
--replace "/usr/share/sounds/sf2" "${soundfont-fluid}/share/soundfonts" \
--replace "FluidR3_GM.sf2" "FluidR3_GM2-2.sf2"
'';
nativeBuildInputs = [
cmake
ninja
pkg-config
];
buildInputs = [
alsa-lib
fluidsynth
libsndfile
mpg123
zlib
];
meta = with lib; {
description = "GZDoom's music system as a standalone library";
homepage = "https://github.com/ZDoom/ZMusic";
license = with licenses; [
free
gpl3Plus
lgpl21Plus
lgpl3Plus
];
platforms = platforms.linux;
maintainers = with maintainers; [ azahi lassulus ];
};
}