python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / audio / fmtoy / default.nix
blobdd3f04021327fe12bc74a4969a806e98fb083ef0
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , unstableGitUpdater
5 , dos2unix
6 , pkg-config
7 , zlib
8 , alsa-lib
9 , libjack2
12 stdenv.mkDerivation rec {
13   pname = "fmtoy";
14   version = "unstable-2021-12-24";
16   src = fetchFromGitHub {
17     owner = "vampirefrog";
18     repo = "fmtoy";
19     rev = "0de6703b3373eb5bf19fd3deaae889286f330c21";
20     sha256 = "0sr6klkmjd2hd2kyb9y0x986d6lsy8bziizfc6cmhkqcq92fh45c";
21   };
23   postPatch = ''
24     dos2unix Makefile
25     # Don't hardcode compilers
26     sed -i -e '/CC=/d' -e '/CXX=/d' Makefile
27   '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
28     # Remove Linux-only program & its dependencies
29     sed -i -e '/PROGS/ s/fmtoy_jack//' Makefile
30     substituteInPlace Makefile \
31       --replace '$(shell pkg-config alsa jack --cflags)' ""
32   '';
34   nativeBuildInputs = [
35     dos2unix
36   ] ++ lib.optionals stdenv.hostPlatform.isLinux [
37     pkg-config
38   ];
40   buildInputs = [
41     zlib
42   ] ++ lib.optionals stdenv.hostPlatform.isLinux [
43     alsa-lib
44     libjack2
45   ];
47   enableParallelBuilding = true;
49   installPhase = ''
50     runHook preInstall
52     for prog in $(grep 'PROGS=' Makefile | cut -d= -f2-); do
53       install -Dm755 $prog $out/bin/$prog
54     done
56     runHook postInstall
57   '';
59   passthru.updateScript = unstableGitUpdater {
60     url = "https://github.com/vampirefrog/fmtoy.git";
61   };
63   meta = with lib; {
64     homepage = "https://github.com/vampirefrog/fmtoy";
65     description = "Tools for FM voices for Yamaha YM chips (OPL, OPM and OPN series)";
66     # Unknown license situation
67     # https://github.com/vampirefrog/fmtoy/issues/1
68     license = licenses.unfree;
69     maintainers = with maintainers; [ OPNA2608 ];
70     platforms = platforms.all;
71   };