ardour: give it all the libs it asks for. ardour3: bugfix

The latest ardour3 release loses audio and midi
files under some conditions.
7024232855
fixes that.
This commit is contained in:
Bart Brouns 2015-05-28 03:02:01 +02:00
parent 27ffee3631
commit 1ed1c3ec92
3 changed files with 35 additions and 43 deletions

View File

@ -1,9 +1,9 @@
{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, fftw { stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, doxygen, dbus, fftw
, fftwSinglePrec, flac, glibc, glibmm, gtk, gtkmm, jack2 , fftwSinglePrec, flac, glibc, glibmm, graphviz, gtk, gtkmm, jack2
, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf , libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile , librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango , libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper, pango
, perl, pkgconfig, python, serd, sord, sratom, suil }: , perl, pkgconfig, python, rubberband, serd, sord-svn, sratom, suil, taglib, vampSDK }:
let let
@ -15,49 +15,49 @@ let
# "git describe" when _not_ on an annotated tag(!): MAJOR.MINOR-REV-HASH. # "git describe" when _not_ on an annotated tag(!): MAJOR.MINOR-REV-HASH.
# Version to build. # Version to build.
tag = "3.5.403"; #tag = "3.5.403";
# Version info that is built into the binary. Keep in sync with 'tag'. The # Version info that is built into the binary. Keep in sync with 'tag'. The
# last 8 digits is a (fake) commit id. # last 8 digits is a (fake) commit id.
revision = "3.5-403-00000000"; revision = "3.5-4539-g7024232";
# temporarily use a non tagged version, because 3.5.403 has a bug that
# causes loss of audio-files, and it was decided that there won't be a
# hotfix release, and we should use 4.0 when it comes out.
# more info: http://comments.gmane.org/gmane.comp.audio.ardour.user/13665
version = "2015-02-20";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ardour-${tag}"; name = "ardour3-git-${version}";
src = fetchgit { src = fetchgit {
url = git://git.ardour.org/ardour/ardour.git; url = git://git.ardour.org/ardour/ardour.git;
rev = "refs/tags/${tag}"; rev = "7024232855d268633760674d34c096ce447b7240";
sha256 = "0k1z8sbjf88dqn12kf9cykrqj38vkr879n2g6b4adk6cghn8wz3x"; sha256 = "ede3730455c3c91b2fd612871fa7262bdacd3dff4ba77c5dfbc3c1f0de9b8a36";
}; };
buildInputs = buildInputs =
[ alsaLib aubio boost cairomm curl fftw fftwSinglePrec flac glibc [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc
glibmm gtk gtkmm jack2 libgnomecanvas libgnomecanvasmm liblo glibmm graphviz gtk gtkmm jack2 libgnomecanvas libgnomecanvasmm liblo
libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate
libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2 libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2
makeWrapper pango perl pkgconfig python serd sord sratom suil makeWrapper pango perl pkgconfig python rubberband serd sord-svn sratom suil taglib vampSDK
]; ];
patchPhase = '' patchPhase = ''
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${revision}\"; }\n' > libs/ardour/revision.cc printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${revision}\"; }\n' > libs/ardour/revision.cc
sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i 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 patchShebangs ./tools/
sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl
''; '';
configurePhase = "python waf configure --optimize --prefix=$out"; configurePhase = "python waf configure --optimize --docs --with-backends=jack,alsa --prefix=$out";
buildPhase = "python waf"; 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 = '' installPhase = ''
python waf install 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 # Install desktop file
mkdir -p "$out/share/applications" mkdir -p "$out/share/applications"

View File

@ -1,11 +1,9 @@
{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, dbus, fftw { stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, doxygen, dbus, fftw
, fftwSinglePrec, flac, glibc, glibmm, gtk, gtkmm, jack2 , fftwSinglePrec, flac, glibc, glibmm, graphviz, gtk, gtkmm, jack2
, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf , libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile , librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango , libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper, pango
, perl, pkgconfig, python, rubberband, serd, sord, sratom, suil, taglib , perl, pkgconfig, python, rubberband, serd, sord-svn, sratom, suil, taglib, vampSDK }:
, vampSDK
}:
let let
@ -34,33 +32,26 @@ stdenv.mkDerivation rec {
sha256 = "396668fb9116a68f5079f0d880930e890fd0cdf7ee5f3b97fcf44b88cf840b4c"; sha256 = "396668fb9116a68f5079f0d880930e890fd0cdf7ee5f3b97fcf44b88cf840b4c";
}; };
buildInputs = [ buildInputs =
alsaLib aubio boost cairomm curl dbus fftw fftwSinglePrec flac [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc
glibc glibmm gtk gtkmm jack2 libgnomecanvas libgnomecanvasmm liblo glibmm graphviz gtk gtkmm jack2 libgnomecanvas libgnomecanvasmm liblo
libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate
libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2 libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2
makeWrapper pango perl pkgconfig python rubberband serd sord makeWrapper pango perl pkgconfig python rubberband serd sord-svn sratom suil taglib vampSDK
sratom suil taglib vampSDK ];
];
patchPhase = '' patchPhase = ''
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${revision}\"; }\n' > libs/ardour/revision.cc printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${revision}\"; }\n' > libs/ardour/revision.cc
sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i 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 patchShebangs ./tools/
sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl
''; '';
configurePhase = "python waf configure --with-backend=alsa,jack --optimize --prefix=$out"; configurePhase = "python waf configure --optimize --docs --with-backends=jack,alsa --prefix=$out";
buildPhase = "python waf"; 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 = '' installPhase = ''
python waf install python waf install
mkdir -pv $out/gtk2/engines
cp build/libs/clearlooks-newer/libclearlooks.so $out/gtk2/engines/
wrapProgram $out/bin/ardour4 --prefix GTK_PATH : $out/gtk2
# Install desktop file # Install desktop file
mkdir -p "$out/share/applications" mkdir -p "$out/share/applications"

View File

@ -10443,6 +10443,7 @@ let
ardour3 = callPackage ../applications/audio/ardour/ardour3.nix { ardour3 = callPackage ../applications/audio/ardour/ardour3.nix {
inherit (gnome) libgnomecanvas libgnomecanvasmm; inherit (gnome) libgnomecanvas libgnomecanvasmm;
inherit (vamp) vampSDK;
}; };
ardour4 = callPackage ../applications/audio/ardour { ardour4 = callPackage ../applications/audio/ardour {