Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package juce

The upload of JUCE-5.4.1 has introduced an FTBFS regression in the "giada"
package (0.13.2~dfsg1-1).
This upload fixes RC#923529, which will make "giada" build again
(well almost, there's an underlinking bug in giada's d/rules which causes
another FTBFS, for which i will do an unblock request as soon as giada has hit
the archives).

juce (or rather its binary package "juce-modules-source") is a development
package, which - unfortunately - has to be linked statically (and due to the
heavy use of templates there's no static library but instead build-rdependencies
compile the the required code into their binaries.
build-rdependencies use "Built-Using" to keep the required version of juce in
the archives. I would very much prefer if we only need to keep a single version
of juce for "buster".

There are currently only two reverse build-dependencies on juce (one being
"giada"), so the upload should have minimal impact on the rest of the archive.

Thanks for considering.
mfgards
IOhannes

unblock juce/5.4.1+really5.4.1~repack-3

-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 
'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-3-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru juce-5.4.1+really5.4.1~repack/debian/changelog 
juce-5.4.1+really5.4.1~repack/debian/changelog
--- juce-5.4.1+really5.4.1~repack/debian/changelog      2019-01-13 
09:42:22.000000000 +0100
+++ juce-5.4.1+really5.4.1~repack/debian/changelog      2019-03-06 
19:22:02.000000000 +0100
@@ -1,3 +1,9 @@
+juce (5.4.1+really5.4.1~repack-3) unstable; urgency=medium
+
+  * Add more missing VST opcodes (Closes: #923529)
+
+ -- IOhannes m zmölnig (Debian/GNU) <umlae...@debian.org>  Wed, 06 Mar 2019 
19:22:02 +0100
+
 juce (5.4.1+really5.4.1~repack-2) unstable; urgency=medium
 
   * Install VSTInterface.h for jor arch:all builds
diff -Nru 
juce-5.4.1+really5.4.1~repack/debian/extra/juce_audio_processors/format_types/juce_VSTInterface.h
 
juce-5.4.1+really5.4.1~repack/debian/extra/juce_audio_processors/format_types/juce_VSTInterface.h
--- 
juce-5.4.1+really5.4.1~repack/debian/extra/juce_audio_processors/format_types/juce_VSTInterface.h
   2019-01-13 09:42:22.000000000 +0100
+++ 
juce-5.4.1+really5.4.1~repack/debian/extra/juce_audio_processors/format_types/juce_VSTInterface.h
   2019-03-06 19:22:02.000000000 +0100
@@ -54,6 +54,8 @@
  #pragma pack(push, 8)
 #endif
 
+#define VSTCALLBACK VSTINTERFACECALL
+
 const int32 juceVstInterfaceVersion = 2400;
 #define kVstVersion 2400
 const int32 juceVstInterfaceIdentifier = 0x56737450;    // The "magic" 
identifier in the SDK is 'VstP'.
@@ -246,6 +248,13 @@
     , effGetNumMidiInputChannels = pluginOpcodeGetNumMidiInputChannels
     , effGetNumMidiOutputChannels = pluginOpcodeGetNumMidiOutputChannels
 
+    , effConnectInput = plugInOpcodeConnectInput
+    , effConnectOutput = plugInOpcodeConnectOutput
+    , effEditIdle = plugInOpcodeEditorIdle
+    , effIdle = plugInOpcodeIdle
+    , effShellGetNextPlugin = plugInOpcodeNextPlugInUniqueID
+    , effStartProcess = plugInOpcodeStartProcess
+    , effStopProcess = plugInOpcodeStopProcess
 };
 
 
@@ -309,6 +318,39 @@
     , audioMasterGetTime = hostOpcodeGetTimingInfo
     , audioMasterSizeWindow = hostOpcodeWindowSize
     , audioMasterVersion = hostOpcodeVstVersion
+
+    , audioMasterCloseWindow = hostOpcodeCloseEditorWindow
+    , audioMasterCurrentId = hostOpcodeCurrentId
+    , audioMasterGetAutomationState = hostOpcodeGetAutomationState
+    , audioMasterGetBlockSize = hostOpcodeGetBlockSize
+    , audioMasterGetDirectory = hostOpcodeGetDirectory
+    , audioMasterGetInputLatency = hostOpcodeGetInputLatency
+    , audioMasterGetLanguage = hostOpcodeGetLanguage
+    , audioMasterGetNextPlug = hostOpcodeGetNextPlugIn
+    , audioMasterGetNumAutomatableParameters = 
hostOpcodeGetNumberOfAutomatableParameters
+    , audioMasterGetOutputLatency = hostOpcodeGetOutputLatency
+    , audioMasterGetOutputSpeakerArrangement = 
hostOpcodeGetOutputSpeakerConfiguration
+    , audioMasterGetParameterQuantization = hostOpcodeGetParameterInterval
+    , audioMasterGetPreviousPlug = hostOpcodeGetPreviousPlugIn
+    , audioMasterGetProductString = hostOpcodeGetProductName
+    , audioMasterGetSampleRate = hostOpcodeGetSampleRate
+    , audioMasterGetVendorString = hostOpcodeGetManufacturerName
+    , audioMasterGetVendorVersion = hostOpcodeGetManufacturerVersion
+    , audioMasterIdle = hostOpcodeIdle
+    , audioMasterNeedIdle = hostOpcodeNeedsIdle
+    , audioMasterOfflineGetCurrentMetaPass = 
hostOpcodeOfflineGetCurrentMetaPass
+    , audioMasterOfflineGetCurrentPass = hostOpcodeOfflineGetCurrentPass
+    , audioMasterOfflineRead = hostOpcodeOfflineReadSource
+    , audioMasterOfflineStart = hostOpcodeOfflineStart
+    , audioMasterOfflineWrite = hostOpcodeOfflineWrite
+    , audioMasterOpenWindow = hostOpcodeOpenEditorWindow
+    , audioMasterPinConnected = hostOpcodePinConnected
+    , audioMasterSetIcon = hostOpcodeSetIcon
+    , audioMasterSetOutputSampleRate = hostOpcodeSetOutputSampleRate
+    , audioMasterSetTime = hostOpcodeSetTime
+    , audioMasterTempoAt = hostOpcodeTempoAt
+    , audioMasterWillReplaceOrAccumulate = hostOpcodeWillReplace
+
 };
 
 
//==============================================================================
@@ -317,13 +359,14 @@
     vstProcessingSampleTypeFloat,
     vstProcessingSampleTypeDouble
 
+    , kVstProcessPrecision32 = vstProcessingSampleTypeFloat
     , kVstProcessPrecision64 = vstProcessingSampleTypeDouble
 };
 
 
//==============================================================================
 // These names must be identical to the Steinberg SDK so JUCE users can set
 // exactly what they want.
-enum VstPlugInCategory
+typedef enum VstPlugInCategory
 {
     kPlugCategUnknown,
     kPlugCategEffect,
@@ -337,7 +380,7 @@
     kPlugCategOfflineProcess,
     kPlugCategShell,
     kPlugCategGenerator
-};
+} VstPlugCategory;
 
 
//==============================================================================
 /** Structure used for VSTs
@@ -370,6 +413,8 @@
 
     , kVstMaxLabelLen = vstMaxParameterOrPinLabelLength
     , kVstMaxShortLabelLen = vstMaxParameterOrPinShortLabelLength
+    , kVstMaxProductStrLen = vstMaxPlugInNameStringLength
+    , kVstMaxVendorStrLen = vstMaxManufacturerStringLength
 };
 
 
//==============================================================================
@@ -546,6 +591,11 @@
     , kVstTimeSigValid = vstTimingInfoFlagTimeSignatureValid
     , kVstSmpteValid = vstTimingInfoFlagSmpteValid
     , kVstClockValid = vstTimingInfoFlagNearestClockValid
+
+    , kVstAutomationReading = vstTimingInfoFlagAutomationReadModeActive
+    , kVstAutomationWriting = vstTimingInfoFlagAutomationWriteModeActive
+    , kVstNanosValid = vstTimingInfoFlagNanosecondsValid
+    , kVstTransportChanged = vstTimingInfoFlagTransportChanged
 };
 
 
//==============================================================================
diff -Nru juce-5.4.1+really5.4.1~repack/debian/patches/debian_vst.patch 
juce-5.4.1+really5.4.1~repack/debian/patches/debian_vst.patch
--- juce-5.4.1+really5.4.1~repack/debian/patches/debian_vst.patch       
2019-01-13 09:42:22.000000000 +0100
+++ juce-5.4.1+really5.4.1~repack/debian/patches/debian_vst.patch       
2019-03-06 19:22:02.000000000 +0100
@@ -44,3 +44,13 @@
  }
  
  #include "juce_VSTCommon.h"
+@@ -59,6 +57,9 @@
+ 
+ #include "juce_VSTMidiEventList.h"
+ 
++#define resvd2 hostSpace2
++#define nanoSeconds systemTimeNanoseconds
++
+ #if JUCE_MINGW
+  #ifndef WM_APPCOMMAND
+   #define WM_APPCOMMAND 0x0319

Reply via email to