Merge pull request #17855 from womfoo/fix/openttd-music-support

openttd: music support

authored by Nikolay Amiantov and committed by GitHub 392fb9d0 b7b2019e

+20 -3
+20 -3
pkgs/games/openttd/default.nix
··· 1 { stdenv, fetchurl, fetchzip, pkgconfig, SDL, libpng, zlib, xz, freetype, fontconfig 2 , withOpenGFX ? true, withOpenSFX ? true, withOpenMSX ? true 3 }: 4 5 let ··· 18 sha256 = "0qnmfzz0v8vxrrvxnm7szphrlrlvhkwn3y92b4iy0b4b6yam0yd4"; 19 }; 20 21 in 22 stdenv.mkDerivation rec { 23 name = "openttd-${version}"; ··· 28 sha256 = "1ak32fj5xkk2fvmm3g8i7wzmk4bh2ijsp8fzvvw5wj6365p9j24v"; 29 }; 30 31 - nativeBuildInputs = [ pkgconfig ]; 32 - buildInputs = [ SDL libpng xz zlib freetype fontconfig ]; 33 34 prefixKey = "--prefix-dir="; 35 ··· 52 cp ${opensfx}/*.{obs,cat} $out/share/games/openttd/data 53 ''} 54 55 ${stdenv.lib.optionalString withOpenMSX '' 56 - cp ${openmsx}/*.{obm,mid} $out/share/games/openttd/data 57 ''} 58 ''; 59
··· 1 { stdenv, fetchurl, fetchzip, pkgconfig, SDL, libpng, zlib, xz, freetype, fontconfig 2 , withOpenGFX ? true, withOpenSFX ? true, withOpenMSX ? true 3 + , withFluidSynth ? true, audioDriver ? "alsa", fluidsynth, soundfont-fluid, procps 4 + , writeScriptBin, makeWrapper 5 }: 6 7 let ··· 20 sha256 = "0qnmfzz0v8vxrrvxnm7szphrlrlvhkwn3y92b4iy0b4b6yam0yd4"; 21 }; 22 23 + playmidi = writeScriptBin "playmidi" '' 24 + #!/bin/sh 25 + trap "${procps}/bin/pkill fluidsynth" EXIT 26 + ${fluidsynth}/bin/fluidsynth -a ${audioDriver} -i ${soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2 $* 27 + ''; 28 + 29 in 30 stdenv.mkDerivation rec { 31 name = "openttd-${version}"; ··· 36 sha256 = "1ak32fj5xkk2fvmm3g8i7wzmk4bh2ijsp8fzvvw5wj6365p9j24v"; 37 }; 38 39 + nativeBuildInputs = [ pkgconfig makeWrapper ]; 40 + buildInputs = [ SDL libpng xz zlib freetype fontconfig ] 41 + ++ stdenv.lib.optional withFluidSynth [ fluidsynth soundfont-fluid ]; 42 43 prefixKey = "--prefix-dir="; 44 ··· 61 cp ${opensfx}/*.{obs,cat} $out/share/games/openttd/data 62 ''} 63 64 + mkdir $out/share/games/openttd/baseset/openmsx 65 + 66 ${stdenv.lib.optionalString withOpenMSX '' 67 + cp ${openmsx}/*.{obm,mid} $out/share/games/openttd/baseset/openmsx 68 + ''} 69 + 70 + ${stdenv.lib.optionalString withFluidSynth '' 71 + wrapProgram $out/bin/openttd \ 72 + --add-flags -m \ 73 + --add-flags extmidi:cmd=${playmidi}/bin/playmidi 74 ''} 75 ''; 76