grame-cncm / faust

Functional programming language for signal processing and sound synthesis
http://faust.grame.fr
Other
2.54k stars 319 forks source link

2.20.2 has been re-tagged #399

Closed dvzrv closed 4 years ago

dvzrv commented 4 years ago

When rebuilding 2.20.2 on Arch Linux for a file removal I stumbled upon a differing checksum for the release tarball.

sha512sum faust-2.20.2-old.tar.gz faust-2.20.2.tar.gz                                                                                                                                                                                                                                   [130] 
35c0025eb16d80bf927573b07c3cb4350521ec9efb563712f256c2d6bc0635c81f57f4e6e33c2318e6dd73c77d2c7334814add47f2393d1f00e87614a4d93e1e  faust-2.20.2-old.tar.gz
1b2a38d03f88679a542eae4f2150d127a5208bf18cdbe612789db4fa52284607cc3319d62a3e0427ce2dbfe215923b063452e8ad35cc3fa4a603ad66914f0a84  faust-2.20.2.tar.gz

The old tarball was downloaded on 2019-12-09 15:25 CEST, while on 2020-01-14 01:35 2.20.2 got tagged again.

The diff is:

diff -ruN faust-2.20.2/architecture/pa-gtk.cpp faust-2.20.2-old/architecture/pa-gtk.cpp
--- faust-2.20.2/architecture/pa-gtk.cpp    2019-12-11 11:32:13.000000000 +0100
+++ faust-2.20.2-old/architecture/pa-gtk.cpp    2019-12-08 16:44:56.000000000 +0100
@@ -64,8 +64,8 @@

 /*******************BEGIN ARCHITECTURE SECTION (part 2/2)***************/

-mydsp DSP;
-std::list<GUI*> GUI::fGuiList;
+mydsp      DSP;
+list<GUI*> GUI::fGuiList;
 ztimedmap GUI::gTimedZoneMap;

 //-------------------------------------------------------------------------
diff -ruN faust-2.20.2/architecture/plot.cpp faust-2.20.2-old/architecture/plot.cpp
--- faust-2.20.2/architecture/plot.cpp  2019-12-11 11:32:13.000000000 +0100
+++ faust-2.20.2-old/architecture/plot.cpp  2019-12-08 16:44:56.000000000 +0100
@@ -104,7 +104,6 @@
         DSP.compute(kFrames, 0, chan.buffers());
         for (int i = 0; i < kFrames; i++) {
             for (int c = 0; c < nouts; c++) {
-                if (c) cout << "\t\t";
                 cout << chan.buffers()[c][i];
             }
             cout << endl;
@@ -115,7 +114,6 @@
     DSP.compute(nbsamples, 0, chan.buffers());
     for (int i = 0; i < nbsamples; i++) {
         for (int c = 0; c < nouts; c++) {
-            if (c) cout << "\t\t";
             cout << chan.buffers()[c][i];
         }
         cout << endl;
diff -ruN faust-2.20.2/architecture/webaudio/webaudio-workletnode-emcc-poly-standalone-wrapper.js faust-2.20.2-old/architecture/webaudio/webaudio-workletnode-emcc-poly-standalone-wrapper.js
--- faust-2.20.2/architecture/webaudio/webaudio-workletnode-emcc-poly-standalone-wrapper.js 2019-12-11 11:32:13.000000000 +0100
+++ faust-2.20.2-old/architecture/webaudio/webaudio-workletnode-emcc-poly-standalone-wrapper.js 2019-12-08 16:44:56.000000000 +0100
@@ -964,7 +964,7 @@

             // Copy inputs
             if (input !== undefined) {
-                for (var chan = 0; chan < Math.min(this.numIn, input.length); ++chan) {
+                for (var chan = 0; chan < Math.min(this.numIn, input.length) ; ++chan) {
                     var dspInput = this.dspInChannnels[chan];
                     dspInput.set(input[chan]);
                 }
diff -ruN faust-2.20.2/architecture/webaudio/webaudio-workletnode-emcc-standalone-wrapper.js faust-2.20.2-old/architecture/webaudio/webaudio-workletnode-emcc-standalone-wrapper.js
--- faust-2.20.2/architecture/webaudio/webaudio-workletnode-emcc-standalone-wrapper.js  2019-12-11 11:32:13.000000000 +0100
+++ faust-2.20.2-old/architecture/webaudio/webaudio-workletnode-emcc-standalone-wrapper.js  2019-12-08 16:44:56.000000000 +0100
@@ -815,7 +815,7 @@

             // Copy inputs
             if (input !== undefined) {
-                for (var chan = 0; chan < Math.min(this.numIn, input.length); ++chan) {
+                for (var chan = 0; chan < Math.min(this.numIn, input.length) ; ++chan) {
                     var dspInput = this.dspInChannnels[chan];
                     dspInput.set(input[chan]);
                 }
diff -ruN faust-2.20.2/architecture/webaudio/webaudio-workletnode-standalone-wrapper.js faust-2.20.2-old/architecture/webaudio/webaudio-workletnode-standalone-wrapper.js
--- faust-2.20.2/architecture/webaudio/webaudio-workletnode-standalone-wrapper.js   2019-12-11 11:32:13.000000000 +0100
+++ faust-2.20.2-old/architecture/webaudio/webaudio-workletnode-standalone-wrapper.js   2019-12-08 16:44:56.000000000 +0100
@@ -813,7 +813,7 @@

             // Copy inputs
             if (input !== undefined) {
-                for (var chan = 0; chan < Math.min(this.numIn, input.length); ++chan) {
+                for (var chan = 0; chan < Math.min(this.numIn, input.length) ; ++chan) {
                     var dspInput = this.dspInChannnels[chan];
                     dspInput.set(input[chan]);
                 }
diff -ruN faust-2.20.2/architecture/webaudio/webaudio-workletprocessor-poly-standalone-wrapper.js faust-2.20.2-old/architecture/webaudio/webaudio-workletprocessor-poly-standalone-wrapper.js
--- faust-2.20.2/architecture/webaudio/webaudio-workletprocessor-poly-standalone-wrapper.js 2019-12-11 11:32:13.000000000 +0100
+++ faust-2.20.2-old/architecture/webaudio/webaudio-workletprocessor-poly-standalone-wrapper.js 2019-12-08 16:44:56.000000000 +0100
@@ -709,7 +709,7 @@

         // Copy inputs
         if (input !== undefined) {
-            for (var chan = 0; chan < Math.min(this.numIn, input.length); ++chan) {
+            for (var chan = 0; chan < Math.min(this.numIn, input.length) ; ++chan) {
                 var dspInput = this.dspInChannnels[chan];
                 dspInput.set(input[chan]);
             }
diff -ruN faust-2.20.2/architecture/webaudio/webaudio-workletprocessor-standalone-wrapper.js faust-2.20.2-old/architecture/webaudio/webaudio-workletprocessor-standalone-wrapper.js
--- faust-2.20.2/architecture/webaudio/webaudio-workletprocessor-standalone-wrapper.js  2019-12-11 11:32:13.000000000 +0100
+++ faust-2.20.2-old/architecture/webaudio/webaudio-workletprocessor-standalone-wrapper.js  2019-12-08 16:44:56.000000000 +0100
@@ -292,7 +292,7 @@

         // Copy inputs
         if (input !== undefined) {
-            for (var chan = 0; chan < Math.min(this.numIn, input.length); ++chan) {
+            for (var chan = 0; chan < Math.min(this.numIn, input.length) ; ++chan) {
                 var dspInput = this.dspInChannnels[chan];
                 dspInput.set(input[chan]);
             }
diff -ruN faust-2.20.2/tools/faust2appls/faust2alqt faust-2.20.2-old/tools/faust2appls/faust2alqt
--- faust-2.20.2/tools/faust2appls/faust2alqt   2019-12-11 11:32:13.000000000 +0100
+++ faust-2.20.2-old/tools/faust2appls/faust2alqt   2019-12-08 16:44:56.000000000 +0100
@@ -3,7 +3,7 @@
 #####################################################################
 #                                                                   #
 #               Compiles Faust programs to alsa-qt                  #
-#               (c) Grame, 2009-2019                                #
+#               (c) Grame, 2009                                     #
 #                                                                   #
 #####################################################################

@@ -15,10 +15,6 @@
 ARCHFILE=$FAUSTARCH/alsa-qt.cpp
 ARCHLIB="-lasound"

-if [[ $(uname -s) != Darwin ]]; then
-   LFLAGS+="-no-pie"
-fi
-
 #-------------------------------------------------------------------------------
 # Search for qmake or qmake-qt4

@@ -115,7 +111,7 @@
     # compile c++ to binary
     (
        cd "$TMP"
-           $QMAKE -project "QT += widgets printsupport network" "INCLUDEPATH+=$CUR" "INCLUDEPATH+=$FAUSTINC" "QMAKE_CXXFLAGS=$CXXFLAGS -Wno-unused-parameter $FAUSTTOOLSFLAGS" "QMAKE_LFLAGS=$LFLAGS" "LIBS+=$ARCHLIB $OSCLIBS $HTTPLIBS" "HEADERS+=$FAUSTINC/faust/gui/QTUI.h" "RESOURCES+= $FAUSTINC/faust/gui/Styles/Grey.qrc" "$OSCDEFS" "$HTTPDEFS" "$QRDEFS" "$POLYDEFS" "$MIDIDEFS"  
+           $QMAKE -project "QT += widgets printsupport network" "INCLUDEPATH+=$CUR" "INCLUDEPATH+=$FAUSTINC" "QMAKE_CXXFLAGS=$CXXFLAGS -Wno-unused-parameter $FAUSTTOOLSFLAGS" "LIBS+=$ARCHLIB $OSCLIBS $HTTPLIBS" "HEADERS+=$FAUSTINC/faust/gui/QTUI.h" "RESOURCES+= $FAUSTINC/faust/gui/Styles/Grey.qrc" "$OSCDEFS" "$HTTPDEFS" "$QRDEFS" "$POLYDEFS" "$MIDIDEFS"  
        $QMAKE $SPEC QMAKE_CFLAGS_ISYSTEM=-I
         make
     ) > /dev/null || exit
diff -ruN faust-2.20.2/tools/faust2appls/faust2alsa faust-2.20.2-old/tools/faust2appls/faust2alsa
--- faust-2.20.2/tools/faust2appls/faust2alsa   2019-12-11 11:32:13.000000000 +0100
+++ faust-2.20.2-old/tools/faust2appls/faust2alsa   2019-12-08 16:44:56.000000000 +0100
@@ -3,7 +3,7 @@
 #####################################################################
 #                                                                   #
 #               Compiles Faust programs to alsa-gtk                 #
-#               (c) Grame, 2009-2019                                #
+#               (c) Grame, 2009-2013                                #
 #                                                                   #
 #####################################################################

@@ -15,10 +15,6 @@
 ARCHFILE=$FAUSTARCH/alsa-gtk.cpp
 OSCDEFS=""

-if [[ $(uname -s) != Darwin ]]; then
-   LFLAGS+="-no-pie"
-fi
-
 #-------------------------------------------------------------------
 # Analyze command arguments :
 # faust options                 -> OPTIONS
@@ -89,7 +85,7 @@

    # compile c++ to binary
    (
-       $CXX $CXXFLAGS $FAUSTTOOLSFLAGS $OMP "$f.cpp" `pkg-config --cflags --libs alsa gtk+-2.0` $PROCARCH $YPATH $OSCDEFS $HTTPDEFS $POLYDEFS $MIDIDEFS $LFLAGS -o "${f%.dsp}"
+       $CXX $CXXFLAGS $FAUSTTOOLSFLAGS $OMP "$f.cpp" `pkg-config --cflags --libs alsa gtk+-2.0` $PROCARCH $YPATH $OSCDEFS $HTTPDEFS $POLYDEFS $MIDIDEFS -o "${f%.dsp}"
    )> /dev/null  || exit
    rm "$f.cpp"

diff -ruN faust-2.20.2/tools/faust2appls/faust2jack faust-2.20.2-old/tools/faust2appls/faust2jack
--- faust-2.20.2/tools/faust2appls/faust2jack   2019-12-11 11:32:13.000000000 +0100
+++ faust-2.20.2-old/tools/faust2appls/faust2jack   2019-12-08 16:44:56.000000000 +0100
@@ -3,7 +3,7 @@
 #####################################################################
 #                                                                   #
 #               Compiles Faust programs to JACK-GTK                 #
-#               (c) Grame, 2009-2019                                #
+#               (c) Grame, 2009-2018                                #
 #                                                                   #
 #####################################################################

@@ -21,10 +21,6 @@
 SOUNDFILEDEFS=""
 SOUNDFILELIBS=""

-if [[ $(uname -s) != Darwin ]]; then
-   LFLAGS+="-no-pie"
-fi
-
 #-------------------------------------------------------------------
 # Check Darwin specifics
 #
@@ -135,10 +131,10 @@

    # compile c++ to binary
    (
-       $CXX $CXXFLAGS $FAUSTTOOLSFLAGS $OMP "$f.cpp" `pkg-config --cflags --libs jack $OCVLIBS gtk+-2.0` $SOUNDFILELIBS $SAMPLERATELIBS $PROCARCH $OSCDEFS $HTTPDEFS $OCVDEFS $MIDIDEFS $POLYDEFS $SOUNDFILEDEFS $SAMPLERATEDEFS $ARCHLIB $LFLAGS -o "${f%.dsp}"
+       $CXX $CXXFLAGS $FAUSTTOOLSFLAGS $OMP "$f.cpp" `pkg-config --cflags --libs jack $OCVLIBS gtk+-2.0` $SOUNDFILELIBS $SAMPLERATELIBS $PROCARCH $OSCDEFS $HTTPDEFS $OCVDEFS $MIDIDEFS $POLYDEFS $SOUNDFILEDEFS $SAMPLERATEDEFS $ARCHLIB -o "${f%.dsp}"
    ) > /dev/null || exit

-    # remove tempory files
+    # remove tempory stuff
    rm -f "$f.cpp" effect.h "$f.json"

    # collect binary file name for FaustWorks
diff -ruN faust-2.20.2/tools/faust2appls/faust2jaqt faust-2.20.2-old/tools/faust2appls/faust2jaqt
--- faust-2.20.2/tools/faust2appls/faust2jaqt   2019-12-11 11:32:13.000000000 +0100
+++ faust-2.20.2-old/tools/faust2appls/faust2jaqt   2019-12-08 16:44:56.000000000 +0100
@@ -3,7 +3,7 @@
 #####################################################################
 #                                                                   #
 #               Compiles Faust programs to JACK-QT                  #
-#               (c) Grame, 2009-2019                                #
+#               (c) Grame, 2009-2018                                #
 #                                                                   #
 #####################################################################

@@ -14,10 +14,6 @@

 ARCHFILE=$FAUSTARCH/jack-qt.cpp

-if [[ $(uname -s) != Darwin ]]; then
-   LFLAGS+="-no-pie"
-fi
-
 #-------------------------------------------------------------------
 # Set Faust include path

@@ -178,7 +174,7 @@
     # compile c++ to binary
     (
        cd "$TMP"
-       $QMAKE -project "QT += widgets printsupport network" "CONFIG+=warn_off" "$CLANGOPT" "INCLUDEPATH+=$CUR" "INCLUDEPATH+=$FAUSTINC /opt/local/include" "QMAKE_CXXFLAGS=$CXXFLAGS -Wno-unused-parameter $FAUSTTOOLSFLAGS" "QMAKE_LFLAGS=$LFLAGS" "LIBS+=$ARCHLIB $SOUNDFILELIBS $SAMPLERATELIBS $OSCLIBS $HTTPLIBS" "HEADERS+=$FAUSTINC/faust/gui/QTUI.h" "RESOURCES+= $FAUSTINC/faust/gui/Styles/Grey.qrc" "$OSCDEFS" "$HTTPDEFS" "$QRDEFS" "$POLYDEFS" "$MIDIDEFS" "$SOUNDFILEDEFS" "$SAMPLERATEDEFS"
+       $QMAKE -project "QT += widgets printsupport network" "CONFIG+=warn_off" "$CLANGOPT" "INCLUDEPATH+=$CUR" "INCLUDEPATH+=$FAUSTINC /opt/local/include" "QMAKE_CXXFLAGS=$CXXFLAGS -Wno-unused-parameter $FAUSTTOOLSFLAGS" "LIBS+=$ARCHLIB $SOUNDFILELIBS $SAMPLERATELIBS $OSCLIBS $HTTPLIBS" "HEADERS+=$FAUSTINC/faust/gui/QTUI.h" "RESOURCES+= $FAUSTINC/faust/gui/Styles/Grey.qrc" "$OSCDEFS" "$HTTPDEFS" "$QRDEFS" "$POLYDEFS" "$MIDIDEFS" "$SOUNDFILEDEFS" "$SAMPLERATEDEFS"
        $QMAKE $SPEC QMAKE_CFLAGS_ISYSTEM=-I
         make
     ) > /dev/null || exit
@@ -228,7 +224,7 @@
         fi
     fi

-    #remove tempory files
+    #remove tempory stuff
     rm -rf "$SRCDIR/${f%.dsp}$EXT"
     cp -r "$TMP/${f%.dsp}$EXT" "$SRCDIR/${f%.dsp}$EXT"
     rm -rf "$TDR"
diff -ruN faust-2.20.2/tools/faust2appls/faust2paqt faust-2.20.2-old/tools/faust2appls/faust2paqt
--- faust-2.20.2/tools/faust2appls/faust2paqt   2019-12-11 11:32:13.000000000 +0100
+++ faust-2.20.2-old/tools/faust2appls/faust2paqt   2019-12-08 16:44:56.000000000 +0100
@@ -3,7 +3,7 @@
 #####################################################################
 #                                                                   #
 #               Compiles Faust programs to PortAudio and QT         #
-#               (c) Grame, 2009-2019                                #
+#               (c) Grame, 2009                                     #
 #                                                                   #
 #####################################################################

@@ -14,10 +14,6 @@

 ARCHFILE=$FAUSTARCH/pa-qt.cpp

-if [[ $(uname -s) != Darwin ]]; then
-   LFLAGS+="-no-pie"
-fi
-
 #-------------------------------------------------------------------------------
 # Search for qmake or qmake-qt4

@@ -140,7 +136,7 @@
     # compile c++ to binary
     (
        cd "$TMP"
-        $QMAKE -project "QT += widgets printsupport" "INCLUDEPATH+=$CUR" "INCLUDEPATH+=$FAUSTINC /opt/local/include" "QMAKE_CXXFLAGS= $CXXFLAGS -Wno-unused-parameter $FAUSTTOOLSFLAGS" "QMAKE_INFO_PLIST=$FAUSTARCH/Info.plist" "QMAKE_LFLAGS=$LFLAGS" "LIBS+=$ARCHLIB $OSCLIBS $HTTPLIBS" "HEADERS+=$FAUSTINC/faust/gui/QTUI.h" "RESOURCES+=$FAUSTINC/faust/gui/Styles/Grey.qrc" "$OSCDEFS" "$HTTPDEFS" "$QRDEFS" "$POLYDEFS" "$MIDIDEFS"
+        $QMAKE -project "QT += widgets printsupport" "INCLUDEPATH+=$CUR" "INCLUDEPATH+=$FAUSTINC /opt/local/include" "QMAKE_CXXFLAGS= $CXXFLAGS -Wno-unused-parameter $FAUSTTOOLSFLAGS" "QMAKE_INFO_PLIST=$FAUSTARCH/Info.plist" "LIBS+=$ARCHLIB $OSCLIBS $HTTPLIBS" "HEADERS+=$FAUSTINC/faust/gui/QTUI.h" "RESOURCES+=$FAUSTINC/faust/gui/Styles/Grey.qrc" "$OSCDEFS" "$HTTPDEFS" "$QRDEFS" "$POLYDEFS" "$MIDIDEFS"
        $QMAKE $SPEC QMAKE_CFLAGS_ISYSTEM=-I
         make
     ) > /dev/null || exit
diff -ruN faust-2.20.2/tools/physicalModeling/ir2dsp/ir2dsp.py faust-2.20.2-old/tools/physicalModeling/ir2dsp/ir2dsp.py
--- faust-2.20.2/tools/physicalModeling/ir2dsp/ir2dsp.py    2019-12-11 11:32:13.000000000 +0100
+++ faust-2.20.2-old/tools/physicalModeling/ir2dsp/ir2dsp.py    2019-12-08 16:44:56.000000000 +0100
@@ -129,7 +129,7 @@
 # file.write('\ngate = button("gate");')
 # file.write("\nprocess = pm.impulseExcitation(gate) : " + modelName + " <: _,_; ")

-file.write("\nmodalModel(n,modeFreqs,modeRes,modeGains) = _ <: par(i,n,pm.modeFilter(freqs(i),res(i),gain(i))) :> _\n")
+file.write("\nmodalModel(n,modeFreqs,modeRes,modeGains) = _ <: par(i,n,gain(i)*pm.modeFilter(freqs(i),res(i))) :> _\n")
 file.write("with{\n")
 file.write("freqs(i) = ba.take(i+1,modeFreqs);\n")
 file.write("res(i) = ba.take(i+1,modeRes);\n")

I would like to state that this is really bad practice and I would like to urge you not to do this. While a re-tagging not only breaks reproducible builds and diminishes trust in upstream (e.g. likelihood for supply chain attacks) it additionally adds bug tracker overhead for downstreams (due to breaking builds) and upstreams (to report this) for no reason at all (because proper ways of versioning exist (e.g. #371)).

All in all, this doesn't give me a lot of confidence, that requests by contributors are taken seriously or are valued.

sletz commented 4 years ago

At some point in january we saw the macOS binary was wrongly built for OSX 10.15 catalina only, so we decided to rebuild it for 10.12 and later, and update the binary Faust-2.20.2.dmg ) and Faust-2.20.2.dmg. I don't remember uploading the faust-2.20.2.tar.gz which was not the initial intention obviously (since Linux was to affected by the binary but issue). But I probably made the error at that time, sorry for that.