diff options
author | gnidorah <gnidorah@users.noreply.github.com> | 2018-10-06 21:43:32 +0300 |
---|---|---|
committer | gnidorah <gnidorah@users.noreply.github.com> | 2018-10-06 21:44:15 +0300 |
commit | 0b13e8a3413274064ecfbd7d3d66f128912e12c0 (patch) | |
tree | d751be95c84251421025e9a1b01b0b7a36ba6e35 /pkgs/applications/audio/midisheetmusic | |
parent | ec7d7e1f78fd7bf4b0abd40bc87779ed36ce407f (diff) | |
download | nixpkgs-0b13e8a3413274064ecfbd7d3d66f128912e12c0.tar nixpkgs-0b13e8a3413274064ecfbd7d3d66f128912e12c0.tar.gz nixpkgs-0b13e8a3413274064ecfbd7d3d66f128912e12c0.tar.bz2 nixpkgs-0b13e8a3413274064ecfbd7d3d66f128912e12c0.tar.lz nixpkgs-0b13e8a3413274064ecfbd7d3d66f128912e12c0.tar.xz nixpkgs-0b13e8a3413274064ecfbd7d3d66f128912e12c0.tar.zst nixpkgs-0b13e8a3413274064ecfbd7d3d66f128912e12c0.zip |
midisheetmusic: init at 2.6
Diffstat (limited to 'pkgs/applications/audio/midisheetmusic')
-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 00000000000..26962ad9cc8 --- /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; + }; +} |