diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2015-10-03 13:33:13 +0200 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2015-10-03 13:33:37 +0200 |
commit | 5227fb1dd53fcb5918b9342dff4868f4ad68427e (patch) | |
tree | d6cd521e3f67944031216a27f740f28f22b73b41 /pkgs/applications/audio/ardour | |
parent | d6dd3b8bd1eaeeb21dfdb5051cd4732c748ce5d7 (diff) | |
parent | 33373d939a19f465228ddede6d38ce9032b5916b (diff) |
Merge commit staging+systemd into closure-size
Many non-conflict problems weren't (fully) resolved in this commit yet.
Diffstat (limited to 'pkgs/applications/audio/ardour')
-rw-r--r-- | pkgs/applications/audio/ardour/ardour3.nix | 94 | ||||
-rw-r--r-- | pkgs/applications/audio/ardour/default.nix | 59 |
2 files changed, 122 insertions, 31 deletions
diff --git a/pkgs/applications/audio/ardour/ardour3.nix b/pkgs/applications/audio/ardour/ardour3.nix new file mode 100644 index 0000000000000..a501fd95427e1 --- /dev/null +++ b/pkgs/applications/audio/ardour/ardour3.nix @@ -0,0 +1,94 @@ +{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, doxygen, dbus, fftw +, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtk, gtkmm, libjack2 +, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf +, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile +, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper, pango +, perl, pkgconfig, python, rubberband, serd, sord-svn, sratom, suil, taglib, vampSDK }: + +let + + # Ardour git repo uses a mix of annotated and lightweight tags. Annotated + # tags are used for MAJOR.MINOR versioning, and lightweight tags are used + # in-between; MAJOR.MINOR.REV where REV is the number of commits since the + # last annotated tag. A slightly different version string format is needed + # for the 'revision' info that is built into the binary; it is the format of + # "git describe" when _not_ on an annotated tag(!): MAJOR.MINOR-REV-HASH. + + # Version to build. + #tag = "3.5.403"; + + # Version info that is built into the binary. Keep in sync with 'tag'. The + # last 8 digits is a (fake) commit id. + 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 + +stdenv.mkDerivation rec { + name = "ardour3-git-${version}"; + + src = fetchgit { + url = git://git.ardour.org/ardour/ardour.git; + rev = "7024232855d268633760674d34c096ce447b7240"; + sha256 = "ede3730455c3c91b2fd612871fa7262bdacd3dff4ba77c5dfbc3c1f0de9b8a36"; + }; + + buildInputs = + [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc + glibmm graphviz gtk gtkmm libjack2 libgnomecanvas libgnomecanvasmm liblo + libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate + libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2 + makeWrapper pango perl pkgconfig python rubberband serd sord-svn sratom suil taglib vampSDK + ]; + + patchPhase = '' + 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 + patchShebangs ./tools/ + ''; + + configurePhase = "python waf configure --optimize --docs --with-backends=jack,alsa --prefix=$out"; + + buildPhase = "python waf"; + + installPhase = '' + python waf install + + # 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 = with stdenv.lib; { + description = "Multi-track hard disk recording software"; + longDescription = '' + Ardour is a digital audio workstation (DAW), You can use it to + record, edit and mix multi-track audio and midi. Produce your + own CDs. Mix video soundtracks. Experiment with new ideas about + music and sound. + + Please consider supporting the ardour project financially: + https://community.ardour.org/node/8288 + ''; + homepage = http://ardour.org/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.goibhniu ]; + }; +} diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix index b7a6cdc7fde84..1ba5a7f09f458 100644 --- a/pkgs/applications/audio/ardour/default.nix +++ b/pkgs/applications/audio/ardour/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, fftw -, fftwSinglePrec, flac, glibc, glibmm, gtk, gtkmm, jack2 +{ stdenv, fetchFromGitHub, alsaLib, aubio, boost, cairomm, curl, doxygen, dbus, fftw +, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtk, gtkmm, libjack2 , 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 }: +, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper, pango +, perl, pkgconfig, python, rubberband, serd, sord-svn, sratom, suil, taglib, vampSDK }: let @@ -15,59 +15,50 @@ let # "git describe" when _not_ on an annotated tag(!): MAJOR.MINOR-REV-HASH. # Version to build. - tag = "3.5.403"; - - # Version info that is built into the binary. Keep in sync with 'tag'. The - # last 8 digits is a (fake) commit id. - revision = "3.5-403-00000000"; + tag = "4.2"; in stdenv.mkDerivation rec { name = "ardour-${tag}"; - src = fetchgit { - url = git://git.ardour.org/ardour/ardour.git; - rev = "refs/tags/${tag}"; - sha256 = "0k1z8sbjf88dqn12kf9cykrqj38vkr879n2g6b4adk6cghn8wz3x"; + src = fetchFromGitHub { + owner = "Ardour"; + repo = "ardour"; + rev = "fe672c827cb2c08c94b1fa7e527d884c522a1af7"; + sha256 = "12yfy9l5mnl96ix4s2qicp3m2zscli1a4bd50nk9v035pgf77s3f"; }; - buildInputs = - [ alsaLib aubio boost cairomm curl fftw fftwSinglePrec flac glibc - glibmm gtk gtkmm jack2 libgnomecanvas libgnomecanvasmm liblo + buildInputs = + [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc + glibmm graphviz gtk gtkmm libjack2 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 + libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2 + makeWrapper pango perl pkgconfig python rubberband serd sord-svn sratom suil taglib vampSDK ]; 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 = \"${tag}-${builtins.substring 0 8 src.rev}\"; }\n' > libs/ardour/revision.cc sed 's|/usr/include/libintl.h|${glibc.dev}/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 + patchShebangs ./tools/ ''; - configurePhase = "python waf configure --optimize --prefix=$out"; + configurePhase = "python waf configure --optimize --docs --with-backends=jack,alsa --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 + Name=Ardour 4 GenericName=Digital Audio Workstation Comment=Multitrack harddisk recorder - Exec=$out/bin/ardour3 - Icon=$out/share/ardour3/icons/ardour_icon_256px.png + Exec=$out/bin/ardour4 + Icon=$out/share/ardour4/icons/ardour_icon_256px.png Terminal=false Type=Application X-MultipleArgs=false @@ -78,7 +69,13 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Multi-track hard disk recording software"; longDescription = '' - Also read "The importance of Paying Something" on their homepage, please! + Ardour is a digital audio workstation (DAW), You can use it to + record, edit and mix multi-track audio and midi. Produce your + own CDs. Mix video soundtracks. Experiment with new ideas about + music and sound. + + Please consider supporting the ardour project financially: + https://community.ardour.org/node/8288 ''; homepage = http://ardour.org/; license = licenses.gpl2; |