2021-01-11 08:54:33 +01:00
|
|
|
{ lib, stdenv
|
2020-04-06 04:28:15 +02:00
|
|
|
, fetchgit
|
2021-06-10 04:57:09 +02:00
|
|
|
, alsa-lib
|
2020-04-06 04:28:15 +02:00
|
|
|
, aubio
|
|
|
|
, boost
|
|
|
|
, cairomm
|
2020-05-30 20:17:08 +02:00
|
|
|
, cppunit
|
2020-04-06 04:28:15 +02:00
|
|
|
, curl
|
2020-05-30 20:17:08 +02:00
|
|
|
, dbus
|
2020-04-06 04:28:15 +02:00
|
|
|
, doxygen
|
2021-05-22 02:18:32 +02:00
|
|
|
, ffmpeg
|
2020-05-30 20:17:08 +02:00
|
|
|
, fftw
|
2020-04-06 04:28:15 +02:00
|
|
|
, fftwSinglePrec
|
|
|
|
, flac
|
|
|
|
, glibc
|
|
|
|
, glibmm
|
|
|
|
, graphviz
|
|
|
|
, gtkmm2
|
2021-03-04 19:02:02 +01:00
|
|
|
, harvid
|
2020-05-30 20:17:08 +02:00
|
|
|
, itstool
|
|
|
|
, libarchive
|
2020-04-06 04:28:15 +02:00
|
|
|
, libjack2
|
|
|
|
, liblo
|
|
|
|
, libogg
|
2020-05-30 20:17:08 +02:00
|
|
|
, libpulseaudio
|
|
|
|
, librdf_raptor
|
|
|
|
, librdf_rasqal
|
2020-04-06 04:28:15 +02:00
|
|
|
, libsamplerate
|
|
|
|
, libsigcxx
|
|
|
|
, libsndfile
|
2020-04-06 14:00:54 +02:00
|
|
|
, libusb1
|
2020-05-30 20:17:08 +02:00
|
|
|
, libuv
|
|
|
|
, libwebsockets
|
2020-04-06 04:28:15 +02:00
|
|
|
, libxml2
|
2020-05-30 20:17:08 +02:00
|
|
|
, libxslt
|
2020-04-06 04:28:15 +02:00
|
|
|
, lilv
|
|
|
|
, lrdf
|
|
|
|
, lv2
|
2021-03-04 19:02:02 +01:00
|
|
|
, makeWrapper
|
2020-05-30 20:17:08 +02:00
|
|
|
, pango
|
2020-04-06 04:28:15 +02:00
|
|
|
, perl
|
2020-04-06 14:00:54 +02:00
|
|
|
, pkg-config
|
2020-05-30 20:17:08 +02:00
|
|
|
, python3
|
|
|
|
, readline
|
2020-04-06 04:28:15 +02:00
|
|
|
, rubberband
|
|
|
|
, serd
|
|
|
|
, sord
|
2020-10-06 14:30:24 +02:00
|
|
|
, soundtouch
|
2020-04-06 04:28:15 +02:00
|
|
|
, sratom
|
2020-05-30 20:17:08 +02:00
|
|
|
, suil
|
2020-04-06 04:28:15 +02:00
|
|
|
, taglib
|
|
|
|
, vamp-plugin-sdk
|
|
|
|
, wafHook
|
2021-03-04 19:02:02 +01:00
|
|
|
, xjadeo
|
|
|
|
, videoSupport ? false
|
2020-04-06 04:28:15 +02:00
|
|
|
}:
|
2020-05-30 20:17:08 +02:00
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
pname = "ardour";
|
2021-05-22 02:18:32 +02:00
|
|
|
version = "6.7";
|
2009-09-21 11:58:41 +02:00
|
|
|
|
2020-05-30 20:17:08 +02:00
|
|
|
# don't fetch releases from the GitHub mirror, they are broken
|
2016-10-04 20:15:18 +02:00
|
|
|
src = fetchgit {
|
|
|
|
url = "git://git.ardour.org/ardour/ardour.git";
|
2020-05-30 20:17:08 +02:00
|
|
|
rev = version;
|
2021-05-22 02:18:32 +02:00
|
|
|
sha256 = "19jc29fjwgvqbg3gnmy50mrz8mh5x4nwddglasvwx83nc87qwllx";
|
2009-09-21 17:55:24 +02:00
|
|
|
};
|
2009-09-21 11:58:41 +02:00
|
|
|
|
2020-05-30 20:17:08 +02:00
|
|
|
patches = [
|
|
|
|
# AS=as in the environment causes build failure https://tracker.ardour.org/view.php?id=8096
|
|
|
|
./as-flags.patch
|
|
|
|
];
|
|
|
|
|
2020-04-06 04:28:15 +02:00
|
|
|
nativeBuildInputs = [
|
2020-04-06 14:00:54 +02:00
|
|
|
doxygen
|
|
|
|
graphviz # for dot
|
2020-05-30 20:17:08 +02:00
|
|
|
itstool
|
2021-03-04 19:02:02 +01:00
|
|
|
makeWrapper
|
2020-04-06 14:00:54 +02:00
|
|
|
perl
|
2020-05-30 20:17:08 +02:00
|
|
|
pkg-config
|
|
|
|
python3
|
|
|
|
wafHook
|
2020-04-06 04:28:15 +02:00
|
|
|
];
|
2012-03-16 23:28:21 +01:00
|
|
|
|
2020-04-06 04:28:15 +02:00
|
|
|
buildInputs = [
|
2021-06-10 04:57:09 +02:00
|
|
|
alsa-lib
|
2020-04-06 04:28:15 +02:00
|
|
|
aubio
|
|
|
|
boost
|
|
|
|
cairomm
|
2020-05-30 20:17:08 +02:00
|
|
|
cppunit
|
2020-04-06 04:28:15 +02:00
|
|
|
curl
|
|
|
|
dbus
|
2021-05-22 02:18:32 +02:00
|
|
|
ffmpeg
|
2020-04-06 04:28:15 +02:00
|
|
|
fftw
|
|
|
|
fftwSinglePrec
|
|
|
|
flac
|
|
|
|
glibmm
|
|
|
|
gtkmm2
|
2020-05-30 20:17:08 +02:00
|
|
|
itstool
|
|
|
|
libarchive
|
2020-04-06 04:28:15 +02:00
|
|
|
libjack2
|
|
|
|
liblo
|
|
|
|
libogg
|
2020-05-30 20:17:08 +02:00
|
|
|
libpulseaudio
|
|
|
|
librdf_raptor
|
|
|
|
librdf_rasqal
|
2020-04-06 04:28:15 +02:00
|
|
|
libsamplerate
|
|
|
|
libsigcxx
|
|
|
|
libsndfile
|
2020-04-06 14:00:54 +02:00
|
|
|
libusb1
|
2020-05-30 20:17:08 +02:00
|
|
|
libuv
|
|
|
|
libwebsockets
|
2020-04-06 04:28:15 +02:00
|
|
|
libxml2
|
2020-05-30 20:17:08 +02:00
|
|
|
libxslt
|
2020-04-06 04:28:15 +02:00
|
|
|
lilv
|
|
|
|
lrdf
|
|
|
|
lv2
|
|
|
|
pango
|
2020-05-30 20:17:08 +02:00
|
|
|
perl
|
|
|
|
python3
|
|
|
|
readline
|
2020-04-06 04:28:15 +02:00
|
|
|
rubberband
|
|
|
|
serd
|
|
|
|
sord
|
2020-10-06 14:30:24 +02:00
|
|
|
soundtouch
|
2020-04-06 04:28:15 +02:00
|
|
|
sratom
|
|
|
|
suil
|
|
|
|
taglib
|
|
|
|
vamp-plugin-sdk
|
2021-03-04 19:02:02 +01:00
|
|
|
] ++ lib.optionals videoSupport [ harvid xjadeo ];
|
2013-03-02 21:17:30 +01:00
|
|
|
|
2019-04-10 05:44:37 +02:00
|
|
|
wafConfigureFlags = [
|
2020-05-30 20:17:08 +02:00
|
|
|
"--cxx11"
|
2018-11-11 22:20:41 +01:00
|
|
|
"--docs"
|
2020-04-06 14:00:54 +02:00
|
|
|
"--freedesktop"
|
2020-05-30 20:17:08 +02:00
|
|
|
"--no-phone-home"
|
|
|
|
"--optimize"
|
|
|
|
"--ptformat"
|
|
|
|
"--run-tests"
|
|
|
|
"--test"
|
2018-11-11 22:20:41 +01:00
|
|
|
];
|
2020-10-06 14:30:24 +02:00
|
|
|
# removed because it fixes https://tracker.ardour.org/view.php?id=8161 and https://tracker.ardour.org/view.php?id=8437
|
|
|
|
# "--use-external-libs"
|
2014-07-29 18:27:38 +02:00
|
|
|
|
2020-05-30 20:17:08 +02:00
|
|
|
# Ardour's wscript requires git revision and date to be available.
|
|
|
|
# Since they are not, let's generate the file manually.
|
2020-04-06 14:00:54 +02:00
|
|
|
postPatch = ''
|
2020-05-30 20:17:08 +02:00
|
|
|
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc
|
|
|
|
sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
|
2015-05-28 03:02:01 +02:00
|
|
|
patchShebangs ./tools/
|
2020-05-30 20:17:08 +02:00
|
|
|
substituteInPlace libs/ardour/video_tools_paths.cc \
|
2021-05-22 02:18:32 +02:00
|
|
|
--replace 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \
|
|
|
|
--replace 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");'
|
2009-09-21 11:58:41 +02:00
|
|
|
'';
|
2013-03-02 21:17:30 +01:00
|
|
|
|
2018-11-11 22:20:41 +01:00
|
|
|
postInstall = ''
|
2020-04-06 14:00:54 +02:00
|
|
|
# wscript does not install these for some reason
|
|
|
|
install -vDm 644 "build/gtk2_ardour/ardour.xml" \
|
|
|
|
-t "$out/share/mime/packages"
|
2020-05-30 20:17:08 +02:00
|
|
|
install -vDm 644 "build/gtk2_ardour/ardour6.desktop" \
|
2020-04-06 14:00:54 +02:00
|
|
|
-t "$out/share/applications"
|
|
|
|
for size in 16 22 32 48 256 512; do
|
|
|
|
install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \
|
2020-05-30 20:17:08 +02:00
|
|
|
"$out/share/icons/hicolor/''${size}x''${size}/apps/ardour6.png"
|
2020-04-06 14:00:54 +02:00
|
|
|
done
|
|
|
|
install -vDm 644 "ardour.1"* -t "$out/share/man/man1"
|
2021-03-04 19:02:02 +01:00
|
|
|
'' + lib.optionalString videoSupport ''
|
|
|
|
# `harvid` and `xjadeo` must be accessible in `PATH` for video to work.
|
|
|
|
wrapProgram "$out/bin/ardour6" \
|
|
|
|
--prefix PATH : "${lib.makeBinPath [ harvid xjadeo ]}"
|
2014-03-16 11:32:56 +01:00
|
|
|
'';
|
2009-09-21 11:58:41 +02:00
|
|
|
|
2020-05-30 20:17:08 +02:00
|
|
|
LINKFLAGS = "-lpthread";
|
|
|
|
|
2021-01-11 08:54:33 +01:00
|
|
|
meta = with lib; {
|
2010-02-11 15:31:49 +01:00
|
|
|
description = "Multi-track hard disk recording software";
|
2009-09-21 11:58:41 +02:00
|
|
|
longDescription = ''
|
2015-05-03 20:25:57 +02: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:
|
2020-05-30 20:17:08 +02:00
|
|
|
https://community.ardour.org/donate
|
2009-09-21 11:58:41 +02:00
|
|
|
'';
|
2020-05-30 20:17:08 +02:00
|
|
|
homepage = "https://ardour.org/";
|
2021-03-11 13:11:21 +01:00
|
|
|
license = licenses.gpl2Plus;
|
2014-03-16 11:32:56 +01:00
|
|
|
platforms = platforms.linux;
|
2021-03-04 19:02:02 +01:00
|
|
|
maintainers = with maintainers; [ goibhniu magnetophon mitchmindtree ];
|
2009-09-21 11:58:41 +02:00
|
|
|
};
|
|
|
|
}
|