about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorGraham Christensen <graham@grahamc.com>2016-10-07 08:04:50 -0400
committerGitHub <noreply@github.com>2016-10-07 08:04:50 -0400
commit902511069f9ed682a3493826ee881bc529a8529d (patch)
treeff280023f327fc19ab850cb668f8c84f4d831182 /pkgs/applications
parent030a298406b935abb695f775a3ea9e18fa81efab (diff)
parent73a03e3a18ab1b9d2330879e957c6f53d83ee2be (diff)
downloadnixlib-902511069f9ed682a3493826ee881bc529a8529d.tar
nixlib-902511069f9ed682a3493826ee881bc529a8529d.tar.gz
nixlib-902511069f9ed682a3493826ee881bc529a8529d.tar.bz2
nixlib-902511069f9ed682a3493826ee881bc529a8529d.tar.lz
nixlib-902511069f9ed682a3493826ee881bc529a8529d.tar.xz
nixlib-902511069f9ed682a3493826ee881bc529a8529d.tar.zst
nixlib-902511069f9ed682a3493826ee881bc529a8529d.zip
Merge pull request #19233 from HappyEnte/ardour-happy
ardour: 4.7 -> 5.4
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/audio/ardour/ardour4.nix86
-rw-r--r--pkgs/applications/audio/ardour/default.nix27
2 files changed, 100 insertions, 13 deletions
diff --git a/pkgs/applications/audio/ardour/ardour4.nix b/pkgs/applications/audio/ardour/ardour4.nix
new file mode 100644
index 000000000000..f9d64ff6f637
--- /dev/null
+++ b/pkgs/applications/audio/ardour/ardour4.nix
@@ -0,0 +1,86 @@
+{ stdenv, fetchFromGitHub, alsaLib, aubio, boost, cairomm, curl, doxygen, dbus, fftw
+, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, 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 = "4.7";
+
+in
+
+stdenv.mkDerivation rec {
+  name = "ardour-${tag}";
+
+  src = fetchFromGitHub {
+    owner = "Ardour";
+    repo = "ardour";
+    rev = "d84a8222f2b6dab5028b2586f798535a8766670e";
+    sha256 = "149gswphz77m3pkzsn2nqbm6yvcfa3fva560bcvjzlgb73f64q5l";
+  };
+
+  buildInputs =
+    [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc
+      glibmm graphviz gtkmm2 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
+    ];
+
+  # ardour's wscript has a "tarball" target but that required the git revision
+  # be available. Since this is an unzipped tarball fetched from github we
+  # have to do that ourself.
+  patchPhase = ''
+    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
+    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 4
+    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 = ''
+      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 maintainers.fps ];
+  };
+}
diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix
index 7951076daa0d..6adb3a0ed47a 100644
--- a/pkgs/applications/audio/ardour/default.nix
+++ b/pkgs/applications/audio/ardour/default.nix
@@ -1,9 +1,10 @@
-{ stdenv, fetchFromGitHub, alsaLib, aubio, boost, cairomm, curl, doxygen, dbus, fftw
+{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, doxygen
 , fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, 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 }:
+, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper
+, perl, pkgconfig, python, rubberband, serd, sord-svn, sratom
+, taglib, vampSDK, dbus, fftw, pango, suil, libarchive }:
 
 let
 
@@ -15,18 +16,17 @@ let
   # "git describe" when _not_ on an annotated tag(!): MAJOR.MINOR-REV-HASH.
 
   # Version to build.
-  tag = "4.7";
+  tag = "5.4";
 
 in
 
 stdenv.mkDerivation rec {
   name = "ardour-${tag}";
 
-  src = fetchFromGitHub {
-    owner = "Ardour";
-    repo = "ardour";
-    rev = "d84a8222f2b6dab5028b2586f798535a8766670e";
-    sha256 = "149gswphz77m3pkzsn2nqbm6yvcfa3fva560bcvjzlgb73f64q5l";
+  src = fetchgit {
+    url = "git://git.ardour.org/ardour/ardour.git";
+    rev = "bb3312c3bb9c6ed9b75ac6739a6ee720ddf86c86";
+    sha256 = "1yrg0d86k9fqw7lmzjglilbadb4cjqxqkf6ii4bjs6rihj6b0qrf";
   };
 
   buildInputs =
@@ -34,7 +34,8 @@ stdenv.mkDerivation rec {
       glibmm graphviz gtkmm2 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
+      makeWrapper pango perl pkgconfig python rubberband serd sord-svn
+      sratom suil taglib vampSDK libarchive
     ];
 
   # ardour's wscript has a "tarball" target but that required the git revision
@@ -57,11 +58,11 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/share/applications"
     cat > "$out/share/applications/ardour.desktop" << EOF
     [Desktop Entry]
-    Name=Ardour 4
+    Name=Ardour 5
     GenericName=Digital Audio Workstation
     Comment=Multitrack harddisk recorder
-    Exec=$out/bin/ardour4
-    Icon=$out/share/ardour4/icons/ardour_icon_256px.png
+    Exec=$out/bin/ardour5
+    Icon=$out/share/ardour5/icons/ardour_icon_256px.png
     Terminal=false
     Type=Application
     X-MultipleArgs=false