diff options
author | Joachim F <joachifm@users.noreply.github.com> | 2018-10-08 19:38:24 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-08 19:38:24 +0000 |
commit | 213fab66c445808b3d989a5335b80defb3a24987 (patch) | |
tree | 45fe2de071e7059a221c1e64a48948ec11f7698a /pkgs/applications | |
parent | 6bfc436433cec006339807e902938a02cd33f0e2 (diff) | |
parent | 0b13e8a3413274064ecfbd7d3d66f128912e12c0 (diff) | |
download | nixlib-213fab66c445808b3d989a5335b80defb3a24987.tar nixlib-213fab66c445808b3d989a5335b80defb3a24987.tar.gz nixlib-213fab66c445808b3d989a5335b80defb3a24987.tar.bz2 nixlib-213fab66c445808b3d989a5335b80defb3a24987.tar.lz nixlib-213fab66c445808b3d989a5335b80defb3a24987.tar.xz nixlib-213fab66c445808b3d989a5335b80defb3a24987.tar.zst nixlib-213fab66c445808b3d989a5335b80defb3a24987.zip |
Merge pull request #47978 from gnidorah/midisheetmusic
midisheetmusic: init at 2.6
Diffstat (limited to 'pkgs/applications')
-rw-r--r-- | pkgs/applications/audio/midisheetmusic/default.nix | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/pkgs/applications/audio/midisheetmusic/default.nix b/pkgs/applications/audio/midisheetmusic/default.nix new file mode 100644 index 000000000000..26962ad9cc85 --- /dev/null +++ b/pkgs/applications/audio/midisheetmusic/default.nix @@ -0,0 +1,60 @@ +{ stdenv, fetchurl +, mono, dotnetPackages, makeWrapper +, gtk2, cups, timidity }: + +let + version = "2.6"; +in stdenv.mkDerivation { + name = "midisheetmusic"; + + src = fetchurl { + url = "mirror://sourceforge/midisheetmusic/MidiSheetMusic-${version}-linux-src.tar.gz"; + sha256 = "05c6zskj50g29f51lx8fvgzsi3f31z01zj6ssjjrgr7jfs7ak70p"; + }; + + checkInputs = (with dotnetPackages; [ NUnitConsole ]); + nativeBuildInputs = [ mono makeWrapper ]; + + buildPhase = '' + for i in Classes/MidiPlayer.cs Classes/MidiSheetMusic.cs + do + substituteInPlace $i --replace "/usr/bin/timidity" "${timidity}/bin/timidity" + done + + ./build.sh + ''; + + # include missing file with unit tests for building + # switch from mono nunit dll to standalone dll otherwise mono compiler barks + # run via nunit3 console, because mono nunit console wants access $HOME + checkPhase = '' + substituteInPlace UnitTestDLL.csproj \ + --replace "</Compile>" '</Compile><Compile Include="Classes\UnitTest.cs"/>' \ + --replace nunit.framework.dll "${dotnetPackages.NUnit}/lib/dotnet/NUnit/nunit.framework.dll" + ./build_unit_test.sh + nunit3-console bin/Debug/UnitTest.dll + ''; + + # 2 tests of 47 are still failing + doCheck = false; + + installPhase = '' + mkdir -p $out/share/applications $out/share/pixmaps $out/bin + + cp deb/midisheetmusic.desktop $out/share/applications + cp NotePair.png $out/share/pixmaps/midisheetmusic.png + cp bin/Debug/MidiSheetMusic.exe $out/bin/.MidiSheetMusic.exe + + makeWrapper ${mono}/bin/mono $out/bin/midisheetmusic.mono.exe \ + --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ gtk2 cups ]} \ + --add-flags $out/bin/.MidiSheetMusic.exe + ''; + + meta = with stdenv.lib; { + description = "Convert MIDI Files to Piano Sheet Music for two hands"; + homepage = http://midisheetmusic.com; + license = licenses.gpl2; + maintainers = [ maintainers.gnidorah ]; + platforms = platforms.linux; + }; +} |