faust: 2.54.9 -> 2.59.6

This commit is contained in:
Bart Brouns 2023-05-13 18:38:28 +02:00
parent 9daee20670
commit 7f8b3d2f49

View file

@ -1,4 +1,5 @@
{ lib, stdenv
{ lib
, stdenv
, coreutils
, fetchFromGitHub
, makeWrapper
@ -14,19 +15,21 @@
, p11-kit
, vim
, which
, ncurses
, fetchpatch
}:
with lib.strings;
let
version = "2.54.9";
version = "2.59.6";
src = fetchFromGitHub {
owner = "grame-cncm";
repo = "faust";
rev = version;
sha256 = "sha256-7eSZUsZ0h0vWJIpZWXaS+SHV6N2i9nv6Gr6a9cuu4Fg=";
sha256 = "sha256-m6dimBxI9C3KDhUxbJAn2Pf9z+LRahjrzD34W/bf1XA=";
fetchSubmodules = true;
};
@ -38,7 +41,9 @@ let
maintainers = with maintainers; [ magnetophon pmahoney ];
};
faust = stdenv.mkDerivation {
faust =
let ncurses_static = ncurses.override { enableStatic = true; };
in stdenv.mkDerivation {
pname = "faust";
inherit version;
@ -46,22 +51,40 @@ let
inherit src;
nativeBuildInputs = [ makeWrapper pkg-config cmake vim which ];
buildInputs = [ llvm emscripten openssl libsndfile libmicrohttpd gnutls libtasn1 p11-kit ];
buildInputs = [
llvm
emscripten
openssl
libsndfile
libmicrohttpd
gnutls
libtasn1
p11-kit
ncurses_static
];
patches = [
# make preset management thread safe
# needed for magnetophonDSP.VoiceOfFaust
# see: https://github.com/grame-cncm/faust/issues/899
(fetchpatch {
url = "https://github.com/grame-cncm/faust/commit/a1c3a515abbcafea0a6e4e2ec7ecb0f092de5349.patch";
hash = "sha256-1Ndm+CgxvGEbS6TKGggeu9hW7N3pC+d1kluT2vhGzL8=";
})
];
passthru = {
inherit wrap wrapWithBuildEnv faust2ApplBase;
};
passthru = { inherit wrap wrapWithBuildEnv faust2ApplBase; };
preConfigure = ''
cd build
sed -i 's@LIBNCURSES_PATH ?= .*@LIBNCURSES_PATH ?= ${ncurses_static}/lib/libncurses.a@' Make.llvm.static
substituteInPlace Make.llvm.static \
--replace 'mkdir -p $@ && cd $@ && ar -x ../../$<' 'mkdir -p $@ && cd $@ && ar -x ../source/build/lib/libfaust.a && cd ../source/build/'
substituteInPlace Make.llvm.static \
--replace 'rm -rf $(TMP)' ' '
'';
cmakeFlags = [
"-C../backends/all.cmake"
"-C../targets/all.cmake"
];
cmakeFlags = [ "-C../backends/all.cmake" "-C../targets/all.cmake" ];
postInstall = ''
# syntax error when eval'd directly
@ -84,7 +107,8 @@ let
'';
meta = meta // {
description = "A functional programming language for realtime audio signal processing";
description =
"A functional programming language for realtime audio signal processing";
longDescription = ''
FAUST (Functional Audio Stream) is a functional programming
language specifically designed for real-time signal processing
@ -107,11 +131,7 @@ let
# Default values for faust2appl.
faust2ApplBase =
{ baseName
, dir ? "tools/faust2appls"
, scripts ? [ baseName ]
, ...
}@args:
{ baseName, dir ? "tools/faust2appls", scripts ? [ baseName ], ... }@args:
args // {
name = "${baseName}-${version}";
@ -141,7 +161,8 @@ let
'';
meta = meta // {
description = "The ${baseName} script, part of faust functional programming language for realtime audio signal processing";
description =
"The ${baseName} script, part of faust functional programming language for realtime audio signal processing";
};
};
@ -161,11 +182,7 @@ let
#
# The build input 'faust' is automatically added to the
# propagatedBuildInputs.
wrapWithBuildEnv =
{ baseName
, propagatedBuildInputs ? [ ]
, ...
}@args:
wrapWithBuildEnv = { baseName, propagatedBuildInputs ? [ ], ... }@args:
stdenv.mkDerivation ((faust2ApplBase args) // {
@ -205,17 +222,15 @@ let
# simply need to be wrapped with some dependencies on PATH.
#
# The build input 'faust' is automatically added to the PATH.
wrap =
{ baseName
, runtimeInputs ? [ ]
, ...
}@args:
wrap = { baseName, runtimeInputs ? [ ], ... }@args:
let
runtimePath = concatStringsSep ":" (map (p: "${p}/bin") ([ faust ] ++ runtimeInputs));
runtimePath =
concatStringsSep ":" (map (p: "${p}/bin") ([ faust ] ++ runtimeInputs));
in stdenv.mkDerivation ((faust2ApplBase args) // {
in
stdenv.mkDerivation ((faust2ApplBase args) // {
nativeBuildInputs = [ makeWrapper ];
@ -227,4 +242,5 @@ let
});
in faust
in
faust