faust: 2.54.9 -> 2.59.6
This commit is contained in:
parent
9daee20670
commit
7f8b3d2f49
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue