faust2: fix build
Fixes https://github.com/NixOS/nixpkgs/issues/12749 The build failure was caused by brittle detection of the llvm version. See the code for (excessive) details. This fix is a quick hack, a proper fix would be to parse the version of the input llvm derivation and use that to derive a proper value. Here we just pin the version. Also move build-time deps to `nativeBuildInputs`.
This commit is contained in:
parent
88ca168312
commit
2f73decba8
|
@ -37,7 +37,8 @@ let
|
||||||
|
|
||||||
inherit src;
|
inherit src;
|
||||||
|
|
||||||
buildInputs = [ makeWrapper llvm emscripten openssl libsndfile pkgconfig libmicrohttpd vim ];
|
nativeBuildInputs = [ makeWrapper pkgconfig vim ];
|
||||||
|
buildInputs = [ llvm emscripten openssl libsndfile libmicrohttpd ];
|
||||||
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
@ -53,6 +54,20 @@ let
|
||||||
# correct system.
|
# correct system.
|
||||||
unset system
|
unset system
|
||||||
sed -e "232s/LLVM_STATIC_LIBS/LLVMLIBS/" -i compiler/Makefile.unix
|
sed -e "232s/LLVM_STATIC_LIBS/LLVMLIBS/" -i compiler/Makefile.unix
|
||||||
|
|
||||||
|
# The makefile sets LLVM_<version> depending on the current llvm
|
||||||
|
# version, but the detection code is quite brittle.
|
||||||
|
#
|
||||||
|
# Failing to properly detect the llvm version means that the macro
|
||||||
|
# LLVM_VERSION ends up being the raw output of `llvm-config --version`, while
|
||||||
|
# the code assumes that it's set to a symbol like `LLVM_35`. Two problems result:
|
||||||
|
# * <command-line>:0:1: error: macro names must be identifiers.; and
|
||||||
|
# * a bunch of undefined reference errors due to conditional definitions relying on
|
||||||
|
# LLVM_XY being defined.
|
||||||
|
#
|
||||||
|
# For now, fix this by 1) pinning the llvm version; 2) manually setting LLVM_VERSION
|
||||||
|
# to something the makefile will recognize.
|
||||||
|
sed '52iLLVM_VERSION=3.7.0' -i compiler/Makefile.unix
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Remove most faust2appl scripts since they won't run properly
|
# Remove most faust2appl scripts since they won't run properly
|
||||||
|
|
|
@ -15895,7 +15895,9 @@ let
|
||||||
|
|
||||||
faust1 = callPackage ../applications/audio/faust/faust1.nix { };
|
faust1 = callPackage ../applications/audio/faust/faust1.nix { };
|
||||||
|
|
||||||
faust2 = callPackage ../applications/audio/faust/faust2.nix { };
|
faust2 = callPackage ../applications/audio/faust/faust2.nix {
|
||||||
|
llvm = llvm_37;
|
||||||
|
};
|
||||||
|
|
||||||
faust2alqt = callPackage ../applications/audio/faust/faust2alqt.nix { };
|
faust2alqt = callPackage ../applications/audio/faust/faust2alqt.nix { };
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue