summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorBart Brouns <bart@magnetopon.nl>2015-05-03 12:24:52 +0200
committerBart Brouns <bart@magnetopon.nl>2015-05-03 12:24:52 +0200
commitde0aa2d099367a0b89feec21fcb051fbe8eb1ada (patch)
tree5947571baf6048485737494352fdf8e0ab5ade3f /pkgs
parent123ca02fe3a420cf7ddafed588977f82b5d3d033 (diff)
downloadnixlib-de0aa2d099367a0b89feec21fcb051fbe8eb1ada.tar
nixlib-de0aa2d099367a0b89feec21fcb051fbe8eb1ada.tar.gz
nixlib-de0aa2d099367a0b89feec21fcb051fbe8eb1ada.tar.bz2
nixlib-de0aa2d099367a0b89feec21fcb051fbe8eb1ada.tar.lz
nixlib-de0aa2d099367a0b89feec21fcb051fbe8eb1ada.tar.xz
nixlib-de0aa2d099367a0b89feec21fcb051fbe8eb1ada.tar.zst
nixlib-de0aa2d099367a0b89feec21fcb051fbe8eb1ada.zip
add Ardour4
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/ardour3/default.nix88
-rw-r--r--pkgs/applications/audio/ardour4/default.nix88
-rw-r--r--pkgs/top-level/all-packages.nix10
3 files changed, 184 insertions, 2 deletions
diff --git a/pkgs/applications/audio/ardour3/default.nix b/pkgs/applications/audio/ardour3/default.nix
new file mode 100644
index 000000000000..3142b2c52fcd
--- /dev/null
+++ b/pkgs/applications/audio/ardour3/default.nix
@@ -0,0 +1,88 @@
+{ 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
+
+  # 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-403-00000000";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "ardour-${tag}";
+
+  src = fetchgit {
+    url = git://git.ardour.org/ardour/ardour.git;
+    rev = "refs/tags/${tag}";
+    sha256 = "0k1z8sbjf88dqn12kf9cykrqj38vkr879n2g6b4adk6cghn8wz3x";
+  };
+
+  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
+    ];
+
+  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
+    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
+  '';
+
+  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 = with stdenv.lib; {
+    description = "Multi-track hard disk recording software";
+    longDescription = ''
+      Also read "The importance of Paying Something" on their homepage, please!
+    '';
+    homepage = http://ardour.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/applications/audio/ardour4/default.nix b/pkgs/applications/audio/ardour4/default.nix
new file mode 100644
index 000000000000..b0a095fa75a4
--- /dev/null
+++ b/pkgs/applications/audio/ardour4/default.nix
@@ -0,0 +1,88 @@
+{ 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, rubberband, serd, sord, 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 = "4.0";
+
+  # Version info that is built into the binary. Keep in sync with 'tag'. The
+  # last 8 digits is a (fake) commit id.
+  revision = "4.0-e1aa66cb3f";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "ardour-${tag}";
+
+  src = fetchgit {
+    url = git://git.ardour.org/ardour/ardour.git;
+    rev = "e1aa66cb3f";
+    sha256 = "396668fb9116a68f5079f0d880930e890fd0cdf7ee5f3b97fcf44b88cf840b4c";
+  };
+
+  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 rubberband serd sord 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
+    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
+  '';
+
+  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/ardour4 --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/ardour4
+    Icon=$out/share/ardour4/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 = ''
+      Also read "The importance of Paying Something" on their homepage, please!
+    '';
+    homepage = http://ardour.org/;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1d20f1ff2326..3b2fbc26b6bd 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10158,12 +10158,18 @@ let
 
   antiword = callPackage ../applications/office/antiword {};
 
-  ardour = ardour3;
 
-  ardour3 =  lowPrio (callPackage ../applications/audio/ardour {
+  ardour = ardour4;
+
+  ardour3 =  lowPrio (callPackage ../applications/audio/ardour3 {
     inherit (gnome) libgnomecanvas libgnomecanvasmm;
   });
 
+  ardour4 =  lowPrio (callPackage ../applications/audio/ardour4 {
+    inherit (gnome) libgnomecanvas libgnomecanvasmm;
+    inherit (vamp) vampSDK;
+  });
+
   ario = callPackage ../applications/audio/ario { };
 
   arora = callPackage ../applications/networking/browsers/arora { };