Merge pull request #84470 from jtojnar/ardour-cleanup
ardour: clean up the expression
This commit is contained in:
commit
cc57640aeb
@ -1,14 +1,51 @@
|
|||||||
{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, doxygen
|
{ stdenv
|
||||||
, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2
|
, fetchgit
|
||||||
, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg
|
, alsaLib
|
||||||
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
|
, aubio
|
||||||
, libusb, libuuid, libxml2, libxslt, lilv, lrdf, lv2, makeWrapper
|
, boost
|
||||||
, perl, pkgconfig, python2, rubberband, serd, sord, sratom
|
, cairomm
|
||||||
, taglib, vamp-plugin-sdk, dbus, fftw, pango, suil, libarchive
|
, curl
|
||||||
, wafHook }:
|
, doxygen
|
||||||
|
, fftwSinglePrec
|
||||||
|
, flac
|
||||||
|
, glibc
|
||||||
|
, glibmm
|
||||||
|
, graphviz
|
||||||
|
, gtkmm2
|
||||||
|
, libjack2
|
||||||
|
, liblo
|
||||||
|
, libogg
|
||||||
|
, libsamplerate
|
||||||
|
, libsigcxx
|
||||||
|
, libsndfile
|
||||||
|
, libusb1
|
||||||
|
, fluidsynth_1
|
||||||
|
, hidapi
|
||||||
|
, libltc
|
||||||
|
, qm-dsp
|
||||||
|
, libxml2
|
||||||
|
, lilv
|
||||||
|
, lrdf
|
||||||
|
, lv2
|
||||||
|
, makeWrapper
|
||||||
|
, perl
|
||||||
|
, pkg-config
|
||||||
|
, itstool
|
||||||
|
, python2
|
||||||
|
, rubberband
|
||||||
|
, serd
|
||||||
|
, sord
|
||||||
|
, sratom
|
||||||
|
, taglib
|
||||||
|
, vamp-plugin-sdk
|
||||||
|
, dbus
|
||||||
|
, fftw
|
||||||
|
, pango
|
||||||
|
, suil
|
||||||
|
, libarchive
|
||||||
|
, wafHook
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
|
|
||||||
# Ardour git repo uses a mix of annotated and lightweight tags. Annotated
|
# Ardour git repo uses a mix of annotated and lightweight tags. Annotated
|
||||||
# tags are used for MAJOR.MINOR versioning, and lightweight tags are used
|
# 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
|
# in-between; MAJOR.MINOR.REV where REV is the number of commits since the
|
||||||
@ -18,10 +55,7 @@ let
|
|||||||
|
|
||||||
# Version to build.
|
# Version to build.
|
||||||
tag = "5.12";
|
tag = "5.12";
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "ardour-${tag}";
|
name = "ardour-${tag}";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
@ -30,46 +64,84 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr";
|
sha256 = "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ wafHook ];
|
nativeBuildInputs = [
|
||||||
buildInputs =
|
wafHook
|
||||||
[ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac
|
makeWrapper
|
||||||
glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
|
pkg-config
|
||||||
libmad libogg librdf_raptor librdf_rasqal libsamplerate
|
itstool
|
||||||
libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lrdf lv2
|
doxygen
|
||||||
makeWrapper pango perl pkgconfig python2 rubberband serd sord
|
graphviz # for dot
|
||||||
sratom suil taglib vamp-plugin-sdk libarchive
|
perl
|
||||||
];
|
python2
|
||||||
|
];
|
||||||
|
|
||||||
# ardour's wscript has a "tarball" target but that required the git revision
|
buildInputs = [
|
||||||
# be available. Since this is an unzipped tarball fetched from github we
|
alsaLib
|
||||||
# have to do that ourself.
|
aubio
|
||||||
patchPhase = ''
|
boost
|
||||||
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-${builtins.substring 0 8 src.rev}\"; }\n' > libs/ardour/revision.cc
|
cairomm
|
||||||
sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
|
curl
|
||||||
patchShebangs ./tools/
|
dbus
|
||||||
'';
|
fftw
|
||||||
|
fftwSinglePrec
|
||||||
|
flac
|
||||||
|
glibmm
|
||||||
|
gtkmm2
|
||||||
|
libjack2
|
||||||
|
liblo
|
||||||
|
libogg
|
||||||
|
libsamplerate
|
||||||
|
libsigcxx
|
||||||
|
libsndfile
|
||||||
|
libusb1
|
||||||
|
fluidsynth_1
|
||||||
|
hidapi
|
||||||
|
libltc
|
||||||
|
qm-dsp
|
||||||
|
libxml2
|
||||||
|
lilv
|
||||||
|
lrdf
|
||||||
|
lv2
|
||||||
|
pango
|
||||||
|
rubberband
|
||||||
|
serd
|
||||||
|
sord
|
||||||
|
sratom
|
||||||
|
suil
|
||||||
|
taglib
|
||||||
|
vamp-plugin-sdk
|
||||||
|
libarchive
|
||||||
|
];
|
||||||
|
|
||||||
wafConfigureFlags = [
|
wafConfigureFlags = [
|
||||||
"--optimize"
|
"--optimize"
|
||||||
"--docs"
|
"--docs"
|
||||||
|
"--use-external-libs"
|
||||||
|
"--freedesktop"
|
||||||
"--with-backends=jack,alsa,dummy"
|
"--with-backends=jack,alsa,dummy"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
NIX_CFLAGS_COMPILE = "-I${qm-dsp}/include/qm-dsp";
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
postPatch = ''
|
||||||
|
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-${builtins.substring 0 8 src.rev}\"; }\n' > libs/ardour/revision.cc
|
||||||
|
patchShebangs ./tools/
|
||||||
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
# Install desktop file
|
# wscript does not install these for some reason
|
||||||
mkdir -p "$out/share/applications"
|
install -vDm 644 "build/gtk2_ardour/ardour.xml" \
|
||||||
cat > "$out/share/applications/ardour.desktop" << EOF
|
-t "$out/share/mime/packages"
|
||||||
[Desktop Entry]
|
install -vDm 644 "build/gtk2_ardour/ardour5.desktop" \
|
||||||
Name=Ardour 5
|
-t "$out/share/applications"
|
||||||
GenericName=Digital Audio Workstation
|
for size in 16 22 32 48 256 512; do
|
||||||
Comment=Multitrack harddisk recorder
|
install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \
|
||||||
Exec=$out/bin/ardour5
|
"$out/share/icons/hicolor/''${size}x''${size}/apps/ardour5.png"
|
||||||
Icon=$out/share/ardour5/resources/Ardour-icon_256px.png
|
done
|
||||||
Terminal=false
|
install -vDm 644 "ardour.1"* -t "$out/share/man/man1"
|
||||||
Type=Application
|
|
||||||
X-MultipleArgs=false
|
|
||||||
Categories=GTK;Audio;AudioVideoEditing;AudioVideo;Video;
|
|
||||||
EOF
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
53
pkgs/development/libraries/audio/qm-dsp/default.nix
Normal file
53
pkgs/development/libraries/audio/qm-dsp/default.nix
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
|
, kissfft
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "qm-dsp";
|
||||||
|
version = "1.7.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "c4dm";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "e1PtCIzp7zIz+KKRxEGlAXTNqZ35vPgQ4opJKHIPa+4=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Make installable
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://src.fedoraproject.org/rpms/qm-dsp/raw/6eb385e2f970c4150f9c8eba73b558318475ed15/f/qm-dsp-install.patch";
|
||||||
|
sha256 = "7JDg9yOECWG7Ql5lIoC4L++R1gUlKfztvED5Ey4YLxw=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://src.fedoraproject.org/rpms/qm-dsp/raw/6eb385e2f970c4150f9c8eba73b558318475ed15/f/qm-dsp-flags.patch";
|
||||||
|
sha256 = "2HRSbSFxC8DPXOgcflyBYeJI3NwO/1CFmyRdvYo09og=";
|
||||||
|
postFetch = ''
|
||||||
|
sed -i 's~/Makefile~/build/linux/Makefile.linux32~g' "$out"
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
kissfft
|
||||||
|
];
|
||||||
|
|
||||||
|
makefile = "build/linux/Makefile.linux32";
|
||||||
|
|
||||||
|
makeFlags = [
|
||||||
|
"PREFIX=${placeholder "out"}"
|
||||||
|
"LIBDIR=${placeholder "out"}/lib"
|
||||||
|
];
|
||||||
|
|
||||||
|
NIX_CFLAGS_COMPILE = "-I${kissfft}/include/kissfft";
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A C++ library of functions for DSP and Music Informatics purposes";
|
||||||
|
homepage = "https://code.soundsoftware.ac.uk/projects/qm-dsp";
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
maintainers = [ maintainers.goibhniu ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
45
pkgs/development/libraries/kissfft/default.nix
Normal file
45
pkgs/development/libraries/kissfft/default.nix
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{ stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fetchpatch
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "kissfft";
|
||||||
|
version = "131";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mborgerding";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "4lmRyBzW4H5wXb0EpgAp/hbaE2SslB6rAJyyLLbCtSs=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Allow installation into our prefix
|
||||||
|
# Fix installation on Darwin
|
||||||
|
# Create necessary directories
|
||||||
|
# Make datatype configurable
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/mborgerding/kissfft/pull/38.patch";
|
||||||
|
sha256 = "Rsrob1M+lxwEag6SV5FqaTeyiJaOpspZxVtkeihX4TI=";
|
||||||
|
})
|
||||||
|
# Install headers as well
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/mborgerding/kissfft/commit/71df949992d2dbbe15ce707cf56c3fa1e43b1080.patch";
|
||||||
|
sha256 = "9ap6ZWyioBiut9UQM3v6W1Uv+iP3Kmt27xWhIfWfBI4=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
makeFlags = [
|
||||||
|
"PREFIX=${placeholder "out"}"
|
||||||
|
"DATATYPE=double"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A mixed-radix Fast Fourier Transform based up on the KISS principle";
|
||||||
|
homepage = "https://github.com/mborgerding/kissfft";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = [ maintainers.goibhniu ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
@ -14198,6 +14198,8 @@ in
|
|||||||
|
|
||||||
readosm = callPackage ../development/libraries/readosm { };
|
readosm = callPackage ../development/libraries/readosm { };
|
||||||
|
|
||||||
|
kissfft = callPackage ../development/libraries/kissfft { };
|
||||||
|
|
||||||
lambdabot = callPackage ../development/tools/haskell/lambdabot {
|
lambdabot = callPackage ../development/tools/haskell/lambdabot {
|
||||||
haskellLib = haskell.lib;
|
haskellLib = haskell.lib;
|
||||||
};
|
};
|
||||||
@ -14226,6 +14228,8 @@ in
|
|||||||
|
|
||||||
lvtk = callPackage ../development/libraries/audio/lvtk { };
|
lvtk = callPackage ../development/libraries/audio/lvtk { };
|
||||||
|
|
||||||
|
qm-dsp = callPackage ../development/libraries/audio/qm-dsp { };
|
||||||
|
|
||||||
qradiolink = callPackage ../applications/radio/qradiolink { };
|
qradiolink = callPackage ../applications/radio/qradiolink { };
|
||||||
|
|
||||||
qrupdate = callPackage ../development/libraries/qrupdate { };
|
qrupdate = callPackage ../development/libraries/qrupdate { };
|
||||||
@ -18415,9 +18419,7 @@ in
|
|||||||
|
|
||||||
aqemu = libsForQt5.callPackage ../applications/virtualization/aqemu { };
|
aqemu = libsForQt5.callPackage ../applications/virtualization/aqemu { };
|
||||||
|
|
||||||
ardour = callPackage ../applications/audio/ardour {
|
ardour = callPackage ../applications/audio/ardour { };
|
||||||
inherit (gnome2) libgnomecanvas libgnomecanvasmm;
|
|
||||||
};
|
|
||||||
|
|
||||||
arelle = with python3Packages; toPythonApplication arelle;
|
arelle = with python3Packages; toPythonApplication arelle;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user