2020-04-06 03:28:15 +01:00
|
|
|
{ stdenv
|
|
|
|
, fetchgit
|
|
|
|
, alsaLib
|
|
|
|
, aubio
|
|
|
|
, boost
|
|
|
|
, cairomm
|
|
|
|
, curl
|
|
|
|
, doxygen
|
|
|
|
, fftwSinglePrec
|
|
|
|
, flac
|
|
|
|
, glibc
|
|
|
|
, glibmm
|
|
|
|
, graphviz
|
|
|
|
, gtkmm2
|
|
|
|
, libjack2
|
|
|
|
, libgnomecanvas
|
|
|
|
, libgnomecanvasmm
|
|
|
|
, liblo
|
|
|
|
, libmad
|
|
|
|
, libogg
|
|
|
|
, librdf_raptor
|
|
|
|
, librdf_rasqal
|
|
|
|
, libsamplerate
|
|
|
|
, libsigcxx
|
|
|
|
, libsndfile
|
|
|
|
, libusb
|
|
|
|
, libuuid
|
|
|
|
, libxml2
|
|
|
|
, libxslt
|
|
|
|
, lilv
|
|
|
|
, lrdf
|
|
|
|
, lv2
|
|
|
|
, makeWrapper
|
|
|
|
, perl
|
|
|
|
, pkgconfig
|
|
|
|
, python2
|
|
|
|
, rubberband
|
|
|
|
, serd
|
|
|
|
, sord
|
|
|
|
, sratom
|
|
|
|
, taglib
|
|
|
|
, vamp-plugin-sdk
|
|
|
|
, dbus
|
|
|
|
, fftw
|
|
|
|
, pango
|
|
|
|
, suil
|
|
|
|
, libarchive
|
|
|
|
, wafHook
|
|
|
|
}:
|
2014-03-16 10:32:56 +00:00
|
|
|
let
|
2014-12-07 14:01:47 +00:00
|
|
|
# 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.
|
2017-10-04 18:04:31 +01:00
|
|
|
tag = "5.12";
|
2020-04-06 03:28:15 +01:00
|
|
|
in stdenv.mkDerivation rec {
|
2014-03-16 10:32:56 +00:00
|
|
|
name = "ardour-${tag}";
|
2009-09-21 10:58:41 +01:00
|
|
|
|
2016-10-04 19:15:18 +01:00
|
|
|
src = fetchgit {
|
|
|
|
url = "git://git.ardour.org/ardour/ardour.git";
|
2017-10-04 18:04:31 +01:00
|
|
|
rev = "ae0dcdc0c5d13483271065c360e378202d20170a";
|
|
|
|
sha256 = "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr";
|
2009-09-21 16:55:24 +01:00
|
|
|
};
|
2009-09-21 10:58:41 +01:00
|
|
|
|
2020-04-06 03:28:15 +01:00
|
|
|
nativeBuildInputs = [
|
|
|
|
wafHook
|
|
|
|
];
|
|
|
|
|
|
|
|
buildInputs = [
|
|
|
|
alsaLib
|
|
|
|
aubio
|
|
|
|
boost
|
|
|
|
cairomm
|
|
|
|
curl
|
|
|
|
doxygen
|
|
|
|
dbus
|
|
|
|
fftw
|
|
|
|
fftwSinglePrec
|
|
|
|
flac
|
|
|
|
glibmm
|
|
|
|
graphviz
|
|
|
|
gtkmm2
|
|
|
|
libjack2
|
|
|
|
libgnomecanvas
|
|
|
|
libgnomecanvasmm
|
|
|
|
liblo
|
|
|
|
libmad
|
|
|
|
libogg
|
|
|
|
librdf_raptor
|
|
|
|
librdf_rasqal
|
|
|
|
libsamplerate
|
|
|
|
libsigcxx
|
|
|
|
libsndfile
|
|
|
|
libusb
|
|
|
|
libuuid
|
|
|
|
libxml2
|
|
|
|
libxslt
|
|
|
|
lilv
|
|
|
|
lrdf
|
|
|
|
lv2
|
|
|
|
makeWrapper
|
|
|
|
pango
|
|
|
|
perl
|
|
|
|
pkgconfig
|
|
|
|
python2
|
|
|
|
rubberband
|
|
|
|
serd
|
|
|
|
sord
|
|
|
|
sratom
|
|
|
|
suil
|
|
|
|
taglib
|
|
|
|
vamp-plugin-sdk
|
|
|
|
libarchive
|
|
|
|
];
|
2012-03-16 22:28:21 +00:00
|
|
|
|
2015-10-15 14:01:35 +01:00
|
|
|
# ardour's wscript has a "tarball" target but that required the git revision
|
2016-02-27 19:26:20 +00:00
|
|
|
# be available. Since this is an unzipped tarball fetched from github we
|
2015-10-15 14:01:35 +01:00
|
|
|
# have to do that ourself.
|
2014-03-16 10:32:56 +00:00
|
|
|
patchPhase = ''
|
2015-08-15 09:33:24 +01:00
|
|
|
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-${builtins.substring 0 8 src.rev}\"; }\n' > libs/ardour/revision.cc
|
2015-04-26 18:54:51 +01:00
|
|
|
sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
|
2015-05-28 02:02:01 +01:00
|
|
|
patchShebangs ./tools/
|
2009-09-21 10:58:41 +01:00
|
|
|
'';
|
2013-03-02 20:17:30 +00:00
|
|
|
|
2019-04-10 04:44:37 +01:00
|
|
|
wafConfigureFlags = [
|
2018-11-11 21:20:41 +00:00
|
|
|
"--optimize"
|
|
|
|
"--docs"
|
|
|
|
"--with-backends=jack,alsa,dummy"
|
|
|
|
];
|
2014-07-29 17:27:38 +01:00
|
|
|
|
2018-11-11 21:20:41 +00:00
|
|
|
postInstall = ''
|
2014-07-29 17:27:38 +01:00
|
|
|
# Install desktop file
|
|
|
|
mkdir -p "$out/share/applications"
|
|
|
|
cat > "$out/share/applications/ardour.desktop" << EOF
|
|
|
|
[Desktop Entry]
|
2016-10-04 19:15:18 +01:00
|
|
|
Name=Ardour 5
|
2014-07-29 17:27:38 +01:00
|
|
|
GenericName=Digital Audio Workstation
|
|
|
|
Comment=Multitrack harddisk recorder
|
2016-10-04 19:15:18 +01:00
|
|
|
Exec=$out/bin/ardour5
|
2017-09-03 19:37:50 +01:00
|
|
|
Icon=$out/share/ardour5/resources/Ardour-icon_256px.png
|
2014-07-29 17:27:38 +01:00
|
|
|
Terminal=false
|
|
|
|
Type=Application
|
|
|
|
X-MultipleArgs=false
|
|
|
|
Categories=GTK;Audio;AudioVideoEditing;AudioVideo;Video;
|
|
|
|
EOF
|
2014-03-16 10:32:56 +00:00
|
|
|
'';
|
2009-09-21 10:58:41 +01:00
|
|
|
|
2014-03-16 10:32:56 +00:00
|
|
|
meta = with stdenv.lib; {
|
2010-02-11 14:31:49 +00:00
|
|
|
description = "Multi-track hard disk recording software";
|
2009-09-21 10:58:41 +01:00
|
|
|
longDescription = ''
|
2015-05-03 19:25:57 +01:00
|
|
|
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
|
2009-09-21 10:58:41 +01:00
|
|
|
'';
|
|
|
|
homepage = http://ardour.org/;
|
2014-03-16 10:32:56 +00:00
|
|
|
license = licenses.gpl2;
|
|
|
|
platforms = platforms.linux;
|
2015-10-15 13:16:23 +01:00
|
|
|
maintainers = [ maintainers.goibhniu maintainers.fps ];
|
2009-09-21 10:58:41 +01:00
|
|
|
};
|
|
|
|
}
|