65 lines
1.8 KiB
Nix
65 lines
1.8 KiB
Nix
|
{ stdenv, fetchzip, wxGTK30, pkgconfig, file, gettext,
|
||
|
libvorbis, libmad, libjack2, lv2, lilv, serd, sord, sratom, suil, alsaLib, libsndfile, soxr, flac, lame,
|
||
|
expat, libid3tag, ffmpeg, soundtouch, /*, portaudio - given up fighting their portaudio.patch */
|
||
|
autoconf, automake, libtool
|
||
|
}:
|
||
|
|
||
|
with stdenv.lib;
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
version = "2.3.3";
|
||
|
pname = "audacity";
|
||
|
|
||
|
src = fetchzip {
|
||
|
url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz";
|
||
|
sha256 = "0ddc03dbm4ixy877czmwd03fpjgr3y68bxfgb6n2q6cv4prp30ig";
|
||
|
};
|
||
|
|
||
|
preConfigure = /* we prefer system-wide libs */ ''
|
||
|
autoreconf -vi # use system libraries
|
||
|
|
||
|
# we will get a (possibly harmless) warning during configure without this
|
||
|
substituteInPlace configure \
|
||
|
--replace /usr/bin/file ${file}/bin/file
|
||
|
'';
|
||
|
|
||
|
configureFlags = [
|
||
|
"--with-libsamplerate"
|
||
|
];
|
||
|
|
||
|
# audacity only looks for lame and ffmpeg at runtime, so we need to link them in manually
|
||
|
NIX_LDFLAGS = toString [
|
||
|
# LAME
|
||
|
"-lmp3lame"
|
||
|
# ffmpeg
|
||
|
"-lavcodec"
|
||
|
"-lavdevice"
|
||
|
"-lavfilter"
|
||
|
"-lavformat"
|
||
|
"-lavresample"
|
||
|
"-lavutil"
|
||
|
"-lpostproc"
|
||
|
"-lswresample"
|
||
|
"-lswscale"
|
||
|
];
|
||
|
|
||
|
nativeBuildInputs = [ pkgconfig autoconf automake libtool ];
|
||
|
buildInputs = [
|
||
|
file gettext wxGTK30 expat alsaLib
|
||
|
libsndfile soxr libid3tag libjack2 lv2 lilv serd sord sratom suil wxGTK30.gtk
|
||
|
ffmpeg libmad lame libvorbis flac soundtouch
|
||
|
]; #ToDo: detach sbsms
|
||
|
|
||
|
enableParallelBuilding = true;
|
||
|
|
||
|
dontDisableStatic = true;
|
||
|
doCheck = false; # Test fails
|
||
|
|
||
|
meta = with stdenv.lib; {
|
||
|
description = "Sound editor with graphical UI";
|
||
|
homepage = "http://audacityteam.org/";
|
||
|
license = licenses.gpl2Plus;
|
||
|
platforms = intersectLists platforms.linux platforms.x86; # fails on ARM
|
||
|
};
|
||
|
}
|