73 lines
1.6 KiB
Nix
73 lines
1.6 KiB
Nix
|
{ stdenv
|
||
|
, lib
|
||
|
, fetchFromGitHub
|
||
|
, unstableGitUpdater
|
||
|
, dos2unix
|
||
|
, pkg-config
|
||
|
, zlib
|
||
|
, alsa-lib
|
||
|
, libjack2
|
||
|
}:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "fmtoy";
|
||
|
version = "unstable-2021-12-24";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "vampirefrog";
|
||
|
repo = "fmtoy";
|
||
|
rev = "0de6703b3373eb5bf19fd3deaae889286f330c21";
|
||
|
sha256 = "0sr6klkmjd2hd2kyb9y0x986d6lsy8bziizfc6cmhkqcq92fh45c";
|
||
|
};
|
||
|
|
||
|
postPatch = ''
|
||
|
dos2unix Makefile
|
||
|
# Don't hardcode compilers
|
||
|
sed -i -e '/CC=/d' -e '/CXX=/d' Makefile
|
||
|
'' + lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||
|
# Remove Linux-only program & its dependencies
|
||
|
sed -i -e '/PROGS/ s/fmtoy_jack//' Makefile
|
||
|
substituteInPlace Makefile \
|
||
|
--replace '$(shell pkg-config alsa jack --cflags)' ""
|
||
|
'';
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
dos2unix
|
||
|
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
||
|
pkg-config
|
||
|
];
|
||
|
|
||
|
buildInputs = [
|
||
|
zlib
|
||
|
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
||
|
alsa-lib
|
||
|
libjack2
|
||
|
];
|
||
|
|
||
|
enableParallelBuilding = true;
|
||
|
|
||
|
installPhase = ''
|
||
|
runHook preInstall
|
||
|
|
||
|
for prog in $(grep 'PROGS=' Makefile | cut -d= -f2-); do
|
||
|
install -Dm755 $prog $out/bin/$prog
|
||
|
done
|
||
|
|
||
|
runHook postInstall
|
||
|
'';
|
||
|
|
||
|
passthru.updateScript = unstableGitUpdater {
|
||
|
url = "https://github.com/vampirefrog/fmtoy.git";
|
||
|
};
|
||
|
|
||
|
meta = with lib; {
|
||
|
homepage = "https://github.com/vampirefrog/fmtoy";
|
||
|
description = "Tools for FM voices for Yamaha YM chips (OPL, OPM and OPN series)";
|
||
|
# Unknown license situation
|
||
|
# https://github.com/vampirefrog/fmtoy/issues/1
|
||
|
license = licenses.unfree;
|
||
|
maintainers = with maintainers; [ OPNA2608 ];
|
||
|
platforms = platforms.all;
|
||
|
};
|
||
|
}
|