diff --git a/pkgs/misc/solfege/default.nix b/pkgs/misc/solfege/default.nix new file mode 100644 index 00000000000..0449f72c997 --- /dev/null +++ b/pkgs/misc/solfege/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchurl, pkgconfig, python, pygtk, gettext, texinfo +, ghostscript, pysqlite, librsvg, gdk_pixbuf, txt2man, timidity, mpg123 +, alsaUtils, vorbisTools, csound, lilypond +, makeWrapper +}: + +stdenv.mkDerivation rec { + name = "solfege-3.22.0"; + + src = fetchurl { + url = "mirror://sourceforge/solfege/${name}.tar.gz"; + sha256 = "10klrhdb1n67xd4bndk6z6idyf0pvwz7hcdg9ibalms7ywl3b23x"; + }; + + buildInputs = [ pkgconfig python pygtk gettext texinfo + ghostscript pysqlite librsvg gdk_pixbuf txt2man makeWrapper + ]; + + preBuild = '' + sed -i -e 's|wav_player=.*|wav_player=${alsaUtils}/bin/aplay|' \ + -e 's|midi_player=.*|midi_player=${timidity}/bin/timidity|' \ + -e 's|mp3_player=.*|mp3_player=${mpg123}/bin/mpg123|' \ + -e 's|ogg_player=.*|ogg_player=${vorbisTools}/bin/ogg123|' \ + -e 's|csound=.*|csound=${csound}/bin/csound|' \ + -e 's|lilypond-book=.*|lilypond-book=${lilypond}/bin/lilypond-book|' \ + default.config + ''; + + postInstall = '' + set -x + find "${librsvg}" "${gdk_pixbuf}" -name loaders.cache -print0 | xargs -0 cat > "$out/gdk-pixbuf.loaders" + wrapProgram "$out/bin/solfege" \ + --prefix PYTHONPATH ':' "$PYTHONPATH" \ + --set GDK_PIXBUF_MODULE_FILE "$out/gdk-pixbuf.loaders" + ''; + + meta = { + description = "Ear training program"; + homepage = http://www.solfege.org/; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ bjornfor ]; + }; +} diff --git a/pkgs/tools/misc/txt2man/default.nix b/pkgs/tools/misc/txt2man/default.nix new file mode 100644 index 00000000000..3b7730347ac --- /dev/null +++ b/pkgs/tools/misc/txt2man/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "txt2man-1.5.6"; + + src = fetchurl { + url = "http://mvertes.free.fr/download/${name}.tar.gz"; + sha256 = "0ammlb4pwc4ya1kc9791vjl830074zrpfcmzc18lkcqczp2jaj4q"; + }; + + preConfigure = '' + makeFlags=prefix="$out" + ''; + + meta = { + description = "Convert flat ASCII text to man page format"; + homepage = http://mvertes.free.fr/; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ bjornfor ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0b3fa1d1e09..94782c1a2a8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1739,6 +1739,8 @@ let ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { }; + txt2man = callPackage ../tools/misc/txt2man { }; + ucl = callPackage ../development/libraries/ucl { }; udftools = callPackage ../tools/filesystems/udftools {}; @@ -9218,6 +9220,10 @@ let nut = callPackage ../applications/misc/nut { }; + solfege = callPackage ../misc/solfege { + pysqlite = pkgs.pythonPackages.sqlite3; + }; + disnix = callPackage ../tools/package-management/disnix { }; disnix_activation_scripts = callPackage ../tools/package-management/disnix/activation-scripts {