diff options
Diffstat (limited to 'pkgs/applications/audio/ardour/default.nix')
-rw-r--r-- | pkgs/applications/audio/ardour/default.nix | 95 |
1 files changed, 61 insertions, 34 deletions
diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix index 3ed650d4ae73..62b88cbe0775 100644 --- a/pkgs/applications/audio/ardour/default.nix +++ b/pkgs/applications/audio/ardour/default.nix @@ -1,50 +1,77 @@ -{ stdenv, fetchurl, scons, boost, pkgconfig, fftw, librdf_raptor2 -, librdf_rasqal, jackaudio, flac, libsamplerate, alsaLib, libxml2 -, lilv, lv2, serd, sord, sratom, suil # these are probably optional -, libxslt, libsndfile, libsigcxx, libusb, cairomm, glib, pango -, gtk, glibmm, gtkmm, libgnomecanvas, libgnomecanvasmm, liblo, aubio -, fftwSinglePrec, libmad, automake, autoconf, libtool, liblrdf, curl }: +{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, fftw +, fftwSinglePrec, flac, glibc, glibmm, gtk, gtkmm, jack2 +, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf +, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile +, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango +, perl, pkgconfig, python, serd, sord, sratom, suil }: + +let + tag = "3.5.380"; +in stdenv.mkDerivation rec { - name = "ardour-${version}"; - version = "2.8.16"; + name = "ardour-${tag}"; - src = fetchurl { - url = "mirror://gentoo/distfiles/${name}.tar.bz2"; - sha256 = "0h2y0x4yznalllja53anjil2gmgcb26f39zshc4gl1d1kc8k5vip"; + src = fetchgit { + url = git://git.ardour.org/ardour/ardour.git; + rev = "refs/tags/${tag}"; + sha256 = "dbcbb2d9143e196d079c27b15266e47d24b81cb7591fe64b717f3485965ded7b"; }; - postPatch = '' - #sed -e "s#/usr/bin/which#type -P#" -i libs/glibmm2/autogen.sh - echo '#include "ardour/svn_revision.h"' > libs/ardour/svn_revision.cc - echo -e 'namespace ARDOUR {\n extern const char* svn_revision = "2.8.12";\n }\n' >> libs/ardour/svn_revision.cc - ''; + buildInputs = + [ alsaLib aubio boost cairomm curl fftw fftwSinglePrec flac glibc + glibmm gtk gtkmm jack2 libgnomecanvas libgnomecanvasmm liblo + libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate + libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2 + makeWrapper pango perl pkgconfig python serd sord sratom suil + ]; - buildInputs = [ - scons boost pkgconfig fftw librdf_raptor2 librdf_rasqal jackaudio - flac libsamplerate alsaLib libxml2 libxslt libsndfile libsigcxx - #lilv lv2 serd sord sratom suil - libusb cairomm glib pango gtk glibmm gtkmm libgnomecanvas libgnomecanvasmm liblrdf - liblo aubio fftwSinglePrec libmad autoconf automake libtool curl - ]; - - buildPhase = '' - mkdir -p $out - export CXX=g++ - scons PREFIX=$out SYSLIBS=1 install + patchPhase = '' + # The funny revision number is from `git describe rev` + printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-g2f6065b\"; }\n' > libs/ardour/revision.cc + # Note the different version number + sed -i '33i rev = \"3.5-380-g2f6065b\"' wscript + sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript + sed -e 's|^#!/usr/bin/perl.*$|#!${perl}/bin/perl|g' -i tools/fmt-bindings + sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl ''; - installPhase = ":"; + configurePhase = "python waf configure --optimize --prefix=$out"; + + buildPhase = "python waf"; + + # For the custom ardour clearlooks gtk-engine to work, it must be + # moved to a directory called "engines" and added to GTK_PATH + installPhase = '' + python waf install + mkdir -pv $out/gtk2/engines + cp build/libs/clearlooks-newer/libclearlooks.so $out/gtk2/engines/ + wrapProgram $out/bin/ardour3 --prefix GTK_PATH : $out/gtk2 + + # Install desktop file + mkdir -p "$out/share/applications" + cat > "$out/share/applications/ardour.desktop" << EOF + [Desktop Entry] + Name=Ardour 3 + GenericName=Digital Audio Workstation + Comment=Multitrack harddisk recorder + Exec=$out/bin/ardour3 + Icon=$out/share/ardour3/icons/ardour_icon_256px.png + Terminal=false + Type=Application + X-MultipleArgs=false + Categories=GTK;Audio;AudioVideoEditing;AudioVideo;Video; + EOF + ''; - meta = { + meta = with stdenv.lib; { description = "Multi-track hard disk recording software"; longDescription = '' - Broken: use ardour3-svn instead Also read "The importance of Paying Something" on their homepage, please! ''; homepage = http://ardour.org/; - license = "GPLv2"; - maintainers = [ stdenv.lib.maintainers.marcweber ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.goibhniu ]; }; } |