Merge pull request #215561 from magnetophon/faust_QT5

faust: replace qt4 with qt5
This commit is contained in:
Weijia Wang 2023-06-14 15:14:04 +03:00 committed by GitHub
commit e64b8e8946
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 132 additions and 76 deletions

View File

@ -1,15 +1,41 @@
{ faust
, alsa-lib
, qt4
, qtbase
, writeText
, makeWrapper
}:
let
# Wrap the binary coming out of the the compilation script, so it knows QT_PLUGIN_PATH
wrapBinary = writeText "wrapBinary" ''
source ${makeWrapper}/nix-support/setup-hook
for p in $FILES; do
workpath=$PWD
cd -- "$(dirname "$p")"
binary=$(basename --suffix=.dsp "$p")
rm -f .$binary-wrapped
wrapProgram $binary --set QT_PLUGIN_PATH "${qtbase}/${qtbase.qtPluginPrefix}"
sed -i $binary -e 's@exec@cd "$(dirname "$(readlink -f "''${BASH_SOURCE[0]}")")" \&\& exec@g'
cd $workpath
done
'';
in
faust.wrapWithBuildEnv {
baseName = "faust2alqt";
propagatedBuildInputs = [
alsa-lib
qt4
qtbase
];
dontWrapQtApps = true;
preFixup = ''
for script in "$out"/bin/*; do
# append the wrapping code to the compilation script
cat ${wrapBinary} >> $script
# prevent the qmake error when running the script
sed -i "/QMAKE=/c\ QMAKE="${qtbase.dev}/bin/qmake"" $script
done
'';
}

View File

@ -1,11 +1,27 @@
{ faust
, jack2
, qt4
, qtbase
, libsndfile
, alsa-lib
, writeText
, makeWrapper
, which
}:
let
# Wrap the binary coming out of the the compilation script, so it knows QT_PLUGIN_PATH
wrapBinary = writeText "wrapBinary" ''
source ${makeWrapper}/nix-support/setup-hook
for p in $FILES; do
workpath=$PWD
cd -- "$(dirname "$p")"
binary=$(basename --suffix=.dsp "$p")
rm -f .$binary-wrapped
wrapProgram $binary --set QT_PLUGIN_PATH "${qtbase}/${qtbase.qtPluginPrefix}"
sed -i $binary -e 's@exec@cd "$(dirname "$(readlink -f "''${BASH_SOURCE[0]}")")" \&\& exec@g'
cd $workpath
done
'';
in
faust.wrapWithBuildEnv {
baseName = "faust2jaqt";
@ -17,10 +33,21 @@ faust.wrapWithBuildEnv {
propagatedBuildInputs = [
jack2
qt4
qtbase
libsndfile
alsa-lib
which
];
dontWrapQtApps = true;
preFixup = ''
for script in "$out"/bin/*; do
# append the wrapping code to the compilation script
cat ${wrapBinary} >> $script
# prevent the qmake error when running the script
sed -i "/QMAKE=/c\ QMAKE="${qtbase.dev}/bin/qmake"" $script
done
'';
}

View File

@ -1,15 +1,19 @@
{ boost
, faust
, lv2
, qt4
, qtbase
, which
}:
faust.wrapWithBuildEnv {
baseName = "faust2lv2";
propagatedBuildInputs = [ boost lv2 qt4 which ];
propagatedBuildInputs = [ boost lv2 qtbase ];
dontWrapQtApps = true;
preFixup = ''
sed -i "/QMAKE=/c\ QMAKE="${qtbase.dev}/bin/qmake"" "$out"/bin/faust2lv2;
'';
}

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ faust2jaqt faust2lv2 ];
dontWrapQtApps = true;
buildPhase = ''
cd examples/physicalModeling

View File

@ -1,40 +0,0 @@
{ stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }:
stdenv.mkDerivation rec {
pname = "faustPhhysicalModeling";
version = "2.20.2";
src = fetchFromGitHub {
owner = "grame-cncm";
repo = "faust";
rev = version;
sha256 = "1mm93ba26b7q69hvabzalg30dh8pl858nj4m2bb57pznnp09lq9a";
};
buildInputs = [ faust2jaqt faust2lv2 ];
buildPhase = ''
cd examples/physicalModeling/faust-stk
for f in *.dsp; do
faust2jaqt -time -vec -midi -nvoices 8 -t 99999 $f
faust2lv2 -time -vec -double -gui -nvoices 32 -t 99999 $f
done
'';
installPhase = ''
mkdir -p $out/lib/lv2 $out/bin
mv *.lv2/ $out/lib/lv2
for f in $(find . -executable -type f); do
cp $f $out/bin/
done
'';
meta = with lib; {
broken = (stdenv.isLinux && stdenv.isAarch64);
description = "The physical modeling instruments included with faust, compiled as jack standalone and lv2 instruments";
homepage = "https://ccrma.stanford.edu/~rmichon/faustSTK/";
license = licenses.stk;
platforms = platforms.linux;
maintainers = with maintainers; [ magnetophon ];
};
}

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ faust2jaqt faust2lv2 ];
dontWrapQtApps = true;
buildPhase = ''
faust2jaqt -vec -time -t 99999 CharacterCompressor.dsp
faust2jaqt -vec -time -t 99999 CharacterCompressorMono.dsp
@ -21,8 +23,9 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cp CharacterCompressor $out/bin/
cp CharacterCompressorMono $out/bin/
for f in $(find . -executable -type f); do
cp $f $out/bin/
done
mkdir -p $out/lib/lv2
cp -r CharacterCompressor.lv2/ $out/lib/lv2
cp -r CharacterCompressorMono.lv2/ $out/lib/lv2

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ faust2jaqt faust2lv2 ];
dontWrapQtApps = true;
buildPhase = ''
for f in *.dsp;
do
@ -28,8 +30,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/lib/lv2
mv *.lv2/ $out/lib/lv2
mkdir -p $out/bin
for f in $(find . -executable -type f);
do
for f in $(find . -executable -type f); do
cp $f $out/bin/
done
'';

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ faust2jaqt faust2lv2 ];
dontWrapQtApps = true;
buildPhase = ''
faust2jaqt -time -vec -t 99999 ConstantDetuneChorus.dsp
faust2lv2 -time -vec -t 99999 -gui ConstantDetuneChorus.dsp
@ -19,7 +21,9 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cp ConstantDetuneChorus $out/bin/
for f in $(find . -executable -type f); do
cp $f $out/bin/
done
mkdir -p $out/lib/lv2
cp -r ConstantDetuneChorus.lv2/ $out/lib/lv2
'';
@ -29,5 +33,7 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/magnetophon/constant-detune-chorus";
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.magnetophon ];
# ERROR3 : n is NaN in an Interval
broken = true;
};
}

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ faust2jaqt faust2lv2 ];
dontWrapQtApps = true;
buildPhase = ''
faust2jaqt -vec -time -t 99999 LazyLimiter.dsp
faust2lv2 -vec -time -t 99999 -gui LazyLimiter.dsp
@ -19,7 +21,9 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cp LazyLimiter $out/bin/
for f in $(find . -executable -type f); do
cp $f $out/bin/
done
mkdir -p $out/lib/lv2
cp -r LazyLimiter.lv2/ $out/lib/lv2
'';

View File

@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
buildInputs = [ faust2jaqt faust2lv2 ];
dontWrapQtApps = true;
buildPhase = ''
faust2jaqt -time -vec -t 99999 MBdistortion.dsp
faust2lv2 -time -vec -gui -t 99999 MBdistortion.dsp
@ -26,7 +28,9 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cp MBdistortion $out/bin/
for f in $(find . -executable -type f); do
cp $f $out/bin/
done
mkdir -p $out/lib/lv2
cp -r MBdistortion.lv2/ $out/lib/lv2
'';

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ faust2jaqt faust2lv2 ];
dontWrapQtApps = true;
buildPhase = ''
faust2jaqt -time -vec -t 99999 RhythmDelay.dsp
faust2lv2 -time -vec -t 99999 -gui RhythmDelay.dsp
@ -19,7 +21,9 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cp RhythmDelay $out/bin/
for f in $(find . -executable -type f); do
cp $f $out/bin/
done
mkdir -p $out/lib/lv2
cp -r RhythmDelay.lv2/ $out/lib/lv2
'';

View File

@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
runtimeInputs = [ pitchTracker ];
dontWrapQtApps = true;
patchPhase = ''
sed -i "s@pd -nodac@${pitchTracker}/bin/pd -nodac@g" launchers/synthWrapper
sed -i "s@../PureData/OscSendVoc.pd@$out/PureData/OscSendVoc.pd@g" launchers/pitchTracker
@ -32,10 +34,8 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
for file in ./*; do
if test -x "$file" && test -f "$file"; then
cp "$file" "$out/bin"
fi
for f in $(find . -executable -type f); do
cp $f $out/bin/
done
cp launchers/* $out/bin/

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ faust2jaqt faust2lv2 ];
dontWrapQtApps = true;
buildPhase = ''
echo "hack out autoComp.dsp due to https://github.com/grame-cncm/faust/407/issues "
rm autoComp.dsp
@ -33,8 +35,7 @@ stdenv.mkDerivation rec {
mv *.lv2/ $out/lib/lv2
mkdir -p $out/bin
rm newlib.sh
for f in $(find . -executable -type f);
do
for f in $(find . -executable -type f); do
cp $f $out/bin/
done
'';

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ faust2jaqt faust2lv2 ];
dontWrapQtApps = true;
buildPhase = ''
for f in *.dsp
do
@ -28,8 +30,10 @@ stdenv.mkDerivation rec {
mkdir -p $out/lib/lv2
mv *.lv2/ $out/lib/lv2
mkdir -p $out/bin
cp * $out/bin/
'';
for f in $(find . -executable -type f); do
cp $f $out/bin/
done
'';
meta = {
description = "Some simple utility lv2 plugins";

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ faust2jaqt faust2lv2 ];
dontWrapQtApps = true;
buildPhase = ''
faust2jaqt -vec -double -time -t 99999 shelfMultiBand.dsp
faust2jaqt -vec -double -time -t 99999 shelfMultiBandMono.dsp
@ -21,8 +23,9 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cp shelfMultiBand $out/bin/
cp shelfMultiBandMono $out/bin/
for f in $(find . -executable -type f); do
cp $f $out/bin/
done
mkdir -p $out/lib/lv2
cp -r shelfMultiBand.lv2/ $out/lib/lv2
cp -r shelfMultiBandMono.lv2/ $out/lib/lv2

View File

@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
patchPhase = "mv ${pname}_faust.dsp ${pname}.dsp";
dontWrapQtApps = true;
buildPhase = ''
faust2jaqt -time -vec -t 0 ${pname}.dsp
faust2lv2 -time -vec -t 0 -gui ${pname}.dsp
@ -21,9 +23,11 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cp ${pname} $out/bin/
mkdir -p $out/lib/lv2
cp -r ${pname}.lv2 $out/lib/lv2
for f in $(find . -executable -type f); do
cp $f $out/bin/
done
mkdir -p $out/lib/lv2
cp -r ${pname}.lv2 $out/lib/lv2
'';
meta = {

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ faust2jaqt faust2lv2 ];
dontWrapQtApps = true;
buildPhase = ''
faust2jaqt -vec -time -t 99999 ${pname}.dsp
faust2lv2 -vec -time -gui -t 99999 ${pname}.dsp
@ -19,7 +21,9 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cp ${pname} $out/bin/
for f in $(find . -executable -type f); do
cp $f $out/bin/
done
mkdir -p $out/lib/lv2
cp -r ${pname}.lv2/ $out/lib/lv2
'';

View File

@ -484,6 +484,7 @@ mapAliases ({
### F ###
facette = throw "facette has been removed"; # Added 2020-01-06
faustStk = faustPhysicalModeling; # Added 2023-05-16
fast-neural-doodle = throw "fast-neural-doodle has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
fastnlo = fastnlo_toolkit; # Added 2021-04-24
fbreader = throw "fbreader has been removed, as the upstream project has been archived"; # Added 2022-05-26

View File

@ -39125,7 +39125,7 @@ with pkgs;
faust2 = callPackage ../applications/audio/faust/faust2.nix { };
faust2alqt = callPackage ../applications/audio/faust/faust2alqt.nix { };
faust2alqt = libsForQt5.callPackage ../applications/audio/faust/faust2alqt.nix { };
faust2alsa = callPackage ../applications/audio/faust/faust2alsa.nix { };
@ -39139,18 +39139,16 @@ with pkgs;
faust2jackrust = callPackage ../applications/audio/faust/faust2jackrust.nix { };
faust2jaqt = callPackage ../applications/audio/faust/faust2jaqt.nix { };
faust2jaqt = libsForQt5.callPackage ../applications/audio/faust/faust2jaqt.nix { };
faust2ladspa = callPackage ../applications/audio/faust/faust2ladspa.nix { };
faust2lv2 = callPackage ../applications/audio/faust/faust2lv2.nix { };
faust2lv2 = libsForQt5.callPackage ../applications/audio/faust/faust2lv2.nix { };
faustlive = callPackage ../applications/audio/faust/faustlive.nix { };
faustPhysicalModeling = callPackage ../applications/audio/faustPhysicalModeling { };
faustStk = callPackage ../applications/audio/faustStk { };
flockit = callPackage ../tools/backup/flockit { };
fahclient = callPackage ../applications/science/misc/foldingathome/client.nix { };