From aaac7100c8fe3745c370fdd449d4ff033bb2515e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 6 Jun 2013 19:00:04 +0200 Subject: [PATCH 1/2] txt2man: new package txt2man converts flat ASCII text to man page format. (Solfege, which is added in the next commit, needs this.) --- pkgs/tools/misc/txt2man/default.nix | 22 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/tools/misc/txt2man/default.nix 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 60cdaa237b1..93837cb6ee1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1737,6 +1737,8 @@ let ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { }; + txt2man = callPackage ../tools/misc/txt2man { }; + ucl = callPackage ../development/libraries/ucl { }; udftools = callPackage ../tools/filesystems/udftools {}; From 142fca279b0d4469a7c96ca0b80824d2fd1f3953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Wed, 5 Jun 2013 23:12:16 +0200 Subject: [PATCH 2/2] solfege: new package Solfege is an ear training application. This patch is based on the work of @mornfall. --- pkgs/misc/solfege/default.nix | 44 +++++++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 2 files changed, 48 insertions(+) create mode 100644 pkgs/misc/solfege/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 93837cb6ee1..94a46f6c661 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9191,6 +9191,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 {