diff options
author | Kranium Gikos Mendoza <kranium@gikos.net> | 2016-08-20 05:43:34 +0800 |
---|---|---|
committer | Kranium Gikos Mendoza <kranium@gikos.net> | 2016-08-20 06:57:02 +0800 |
commit | 63a2c80bf9e5a7d2784ce6787563fba93720ded4 (patch) | |
tree | 5e1a7ff79c1c6c7273845b5af017579f35ccf8a6 /pkgs/games/openttd | |
parent | d7707921979d8f9b0a40ec32d90963510fc3dd16 (diff) | |
download | nixpkgs-63a2c80bf9e5a7d2784ce6787563fba93720ded4.tar nixpkgs-63a2c80bf9e5a7d2784ce6787563fba93720ded4.tar.gz nixpkgs-63a2c80bf9e5a7d2784ce6787563fba93720ded4.tar.bz2 nixpkgs-63a2c80bf9e5a7d2784ce6787563fba93720ded4.tar.lz nixpkgs-63a2c80bf9e5a7d2784ce6787563fba93720ded4.tar.xz nixpkgs-63a2c80bf9e5a7d2784ce6787563fba93720ded4.tar.zst nixpkgs-63a2c80bf9e5a7d2784ce6787563fba93720ded4.zip |
openttd: out of the box midi playback
Diffstat (limited to 'pkgs/games/openttd')
-rw-r--r-- | pkgs/games/openttd/default.nix | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index 2f174f41731..c40337d54f5 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -1,5 +1,7 @@ { stdenv, fetchurl, fetchzip, pkgconfig, SDL, libpng, zlib, xz, freetype, fontconfig , withOpenGFX ? true, withOpenSFX ? true, withOpenMSX ? true +, withFluidSynth ? true, audioDriver ? "alsa", fluidsynth, soundfont-fluid, procps +, writeScriptBin, makeWrapper }: let @@ -18,6 +20,12 @@ let sha256 = "0qnmfzz0v8vxrrvxnm7szphrlrlvhkwn3y92b4iy0b4b6yam0yd4"; }; + playmidi = writeScriptBin "playmidi" '' + #!/bin/sh + trap "${procps}/bin/pkill fluidsynth" EXIT + ${fluidsynth}/bin/fluidsynth -a ${audioDriver} -i ${soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2 $* + ''; + in stdenv.mkDerivation rec { name = "openttd-${version}"; @@ -28,8 +36,9 @@ stdenv.mkDerivation rec { sha256 = "1ak32fj5xkk2fvmm3g8i7wzmk4bh2ijsp8fzvvw5wj6365p9j24v"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ SDL libpng xz zlib freetype fontconfig ]; + nativeBuildInputs = [ pkgconfig makeWrapper ]; + buildInputs = [ SDL libpng xz zlib freetype fontconfig ] + ++ stdenv.lib.optional withFluidSynth [ fluidsynth soundfont-fluid ]; prefixKey = "--prefix-dir="; @@ -58,6 +67,11 @@ stdenv.mkDerivation rec { cp ${openmsx}/*.{obm,mid} $out/share/games/openttd/baseset/openmsx ''} + ${stdenv.lib.optionalString withFluidSynth '' + wrapProgram $out/bin/openttd \ + --add-flags -m \ + --add-flags extmidi:cmd=${playmidi}/bin/playmidi + ''} ''; meta = { |