[arch-commits] Commit in juce/trunk (14 files)

David Runge dvzrv at gemini.archlinux.org
Sun Sep 26 18:41:36 UTC 2021


    Date: Sunday, September 26, 2021 @ 18:41:36
  Author: dvzrv
Revision: 1025694

upgpkg: juce 6.1.2-1: Upgrade to 6.1.2.

Split into juce and juce-docs.
Update all patches, so that they apply to juce > 6.1 (which employs cmake).
Update juce_VSTInterface.h in accordance with Debian's juce package.
Simplify the applying of patches in prepare().
Use custom CPPFLAGS overrides to prevent the use of vendored libraries.
Add fst as optdepend for juce to build FST plugins.

Added:
  juce/trunk/juce-6.1.2-cmake_install.patch
  juce/trunk/juce-6.1.2-cmake_juce_utils.patch
  juce/trunk/juce-6.1.2-cmake_link_against_system_deps.patch
  juce/trunk/juce-6.1.2-fst_vst.patch
  juce/trunk/juce-6.1.2-projucer_disable_update_check.patch
  juce/trunk/juce-6.1.2-projucer_juce_paths.patch
Modified:
  juce/trunk/PKGBUILD
  juce/trunk/juce_VSTInterface.h
Deleted:
  juce/trunk/juce-5.4.5-disable_update_check.patch
  juce/trunk/juce-5.4.5-disable_usage_data.patch
  juce/trunk/juce-5.4.5-fix_include_defines.patch
  juce/trunk/juce-5.4.5-juce_vst.patch
  juce/trunk/juce-5.4.5-jucepath.patch
  juce/trunk/juce-5.4.5-link_to_systemlibs.patch

-------------------------------------------------+
 PKGBUILD                                        |  136 ++++++++++++----------
 juce-5.4.5-disable_update_check.patch           |   23 ---
 juce-5.4.5-disable_usage_data.patch             |   28 ----
 juce-5.4.5-fix_include_defines.patch            |  106 -----------------
 juce-5.4.5-juce_vst.patch                       |   67 ----------
 juce-5.4.5-jucepath.patch                       |   22 ---
 juce-5.4.5-link_to_systemlibs.patch             |   69 -----------
 juce-6.1.2-cmake_install.patch                  |   48 +++++++
 juce-6.1.2-cmake_juce_utils.patch               |   20 +++
 juce-6.1.2-cmake_link_against_system_deps.patch |   88 ++++++++++++++
 juce-6.1.2-fst_vst.patch                        |   27 ++++
 juce-6.1.2-projucer_disable_update_check.patch  |   11 +
 juce-6.1.2-projucer_juce_paths.patch            |   22 +++
 juce_VSTInterface.h                             |    1 
 14 files changed, 296 insertions(+), 372 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-09-26 18:32:57 UTC (rev 1025693)
+++ PKGBUILD	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -1,53 +1,51 @@
 # Maintainer: David Runge <dvzrv at archlinux.org>
 
 _name=JUCE
-pkgname=juce
-pkgver=5.4.7
+pkgbase=juce
+pkgname=(juce juce-docs)
+pkgver=6.1.2
 pkgrel=1
 pkgdesc="Cross-platform C++ framework"
 arch=('x86_64')
-url="https://github.com/weareroli/juce/"
+url="https://github.com/juce-framework/juce/"
 license=('Apache' 'BSD' 'GPL3' 'ISC')
-depends=('atk' 'cairo' 'gcc-libs' 'gdk-pixbuf2' 'glib2' 'glibc' 'gtk3'
-'harfbuzz' 'libfreetype.so' 'libjpeg-turbo' 'libpng' 'libsoup' 'libx11'
-'libxext' 'libxinerama' 'pango' 'webkit2gtk' 'zlib')
-makedepends=('doxygen' 'gendesk' 'graphviz' 'python')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/weareroli/${pkgname}/archive/${pkgver}.tar.gz"
-        "$pkgname-5.4.5-disable_update_check.patch"
-        "$pkgname-5.4.5-disable_usage_data.patch"
-        "$pkgname-5.4.5-fix_include_defines.patch"
-        "$pkgname-5.4.5-link_to_systemlibs.patch"
-        "$pkgname-5.4.5-juce_vst.patch"
-        "$pkgname-5.4.5-jucepath.patch"
-        "${pkgname}_VSTInterface.h")
-sha512sums=('9aad52eb52ca457c37b1921c9e5a373f6fca0a026ccfac6a308c0031c586184c919c003502d9eb43c162018b53e8229773ac9959fc86c6b0081a7b392bff0a86'
-            '5e7516d37deeb6faf9bd7ccf6b0da68f610992b9a4dfb8010baec1dba56cf2310c390c3d0876b5e2f30c89c69555ad34c088887a0254c59f121d2af38334b3d3'
-            '85ca210a4d904a00de0830385a9e103493d47981acdb24335494fddc4af3f8b89cc05d1935cc4695c9e136bce5f91c1568c2135a8fe4ce565f396c3ba0153460'
-            '69bc445275e88594ab6077285442bb3af97e2e4a7776f409d5e0ce2aae214a0eadedb82960c666ee45ea459f8ffb519873ecb0577eecf11e4728ee46e6ee042f'
-            '062197ee6860c2c9cf655131df042df536d0b9aab58b304ca35a9d335231932dc49d92cb439c347f3dc863fc60ae6ae2357fbca8d057b9ce3b06fdbf16ff05df'
-            '570c56d27824bba9e766a9f78aaf0c24f2273c98f7d08dc2bb4fdaf90a84bc6bfdaed44c7f3b3c94b845841ae4e970c0bc99407a9604313d77378d323a84443a'
-            'c7ad5fadedd09f6f810cc27736f0def236f3b107de00079fb24509fc27750b26225bed7e9b19b0fa9873d5dae7b686cd9929298bb0107fd44645aad1a69c9168'
-            '37c0e4610a3fb6b928f0e57460354e3bbc8e284279acc4ee6ef560c6a3a016f58122d6cdaf27a519a4cc2a7c5e2a258a38f5d6d3863ded4154b39d221ae02a9a')
+makedepends=('alsa-lib' 'cmake' 'freetype2' 'doxygen' 'gendesk' 'graphviz'
+'gtk3' 'jack' 'ladspa' 'libjpeg-turbo' 'libpng' 'python' 'webkit2gtk' 'zlib')
+source=(
+  "$pkgname-$pkgver.tar.gz::https://github.com/juce-framework/${pkgname}/archive/${pkgver}.tar.gz"
+  "${pkgname}-6.1.2-cmake_install.patch"
+  "${pkgname}-6.1.2-cmake_juce_utils.patch"
+  "${pkgname}-6.1.2-cmake_link_against_system_deps.patch"
+  "${pkgname}-6.1.2-fst_vst.patch"
+  "${pkgname}-6.1.2-projucer_disable_update_check.patch"
+  "${pkgname}-6.1.2-projucer_juce_paths.patch"
+  "${pkgname}_VSTInterface.h"
+)
+sha512sums=('0427be40e9cea3b215358f0661e9dabcbc4f1be7aba7d0f44e35f8426dd49ba31da99d0f18a6ee28b3dce50114a1647157802e6231d9b912269f179191ebccc1'
+            '52aba043ad3e5154b67f4d140f1d1e936962325763b47bbec57e1ef0a9cccbe6fa0b99598a756cb76853b5c1c5084b32055fc6a76f992b10323d867c82023399'
+            '91ef9ced3a72db3b24d5892149cb3ac19fd132a0cc48a36afe1664864e7deb4928a3a19a92aee11f277beccbb8e500e4fa1aba74d77a52b3517ce4bb429904c6'
+            '08b0b5a945dc77073b77b2ec678d48394d7baf2bcb0213b2d5e37ab755d8e33b86511045f412f15fd9ba32aced330e611d0fa9f10b10468956898751fb50a754'
+            'dddf5510f9391fc663db29174215e9575e9ec3956bb649c8a83564b0dcfa1202cc430fadd8faafa390b45c3a2e79ba75e3cdfb118db1e5c35836fad954b67e32'
+            '2e1b823d9e5611e2c9efa1459f309f9add76d163411bb32cbd8c93f9751c6b97842af430f866f9ebce02d7602a655fd1f9d62f0530e5dc4d2621cbbd5444aad8'
+            '766b761bf60a09fd01e9e6422df5b34c5305d41672b82b2c54819c581a952af5d7c8c39868c8615b57b14f772624bae4545ec878f2098ab5b8afb2ecf59146a1'
+            '36a244740872cd203db3e1cebba5a5e245a3300a8c6c76046455ecc38083348f069987d0cba8f569390b4f0ba855799b8ff559cb540f02382b67a46d5b9cc420')
+b2sums=('40ee2769aa165337d9cad6dadf1e4ee60a0dd4e69ebbcacc8e98469a5556c4884ddf2a3704778ede8a6112eab4062d768e92aa07e547be8afef2771bc130e962'
+        '2419fd707b03a5e33cef03576cbeddb99ab4fd67f4fbec8047668ffb1daf78803cd608d7255893394e6d83dce5afd51608793384567228130a0082bcc9a67f60'
+        '8accc2bb2def2b6c91084879071299c0d94e652dad61f15457d8a3c49507db30dcbd25f0311cc044661470ff986d7566ef503ec183b6ada535341dcb456d8e6d'
+        'adae21dc435805fb73381c71e942b5a7ad65063310cbd33d9aa49d8c2a7abd94bd6f712ebe6a43a1efe243feba86149dc2b6b40e5a3e60b18e929b141bb939b8'
+        'b0a8758f6a97a487b7734839d59f0c0684d69ac67acba168a707296eeb82fb13c630506dcb05f45e1eaf9620adc881c6c467fdc3f3cfbb0326a4e6ebf36407e8'
+        'cd6c59deed414529c49dbf8506905cc7848bb48073e054d4cf2450c17c7268860330bd2d2e6d30e5a2a68cec2106e3498619e85ce602439f75ba9393084498f6'
+        '4d42e73b4d15f0ef16a55d927de43127518f4420fe54f78b2c2a0e57a08eb192138f65f381017d0f1e6ca286009f63f16c269b58e7405c35894c0bc3ac91de7b'
+        'f56e59984bde66d482fdeae3cefc0d4dc9e25c9c170f2f0b46ec53bd63ec72432b1764ff282ef8093c1029a427852c09087827d22023b526786a03977cbb7a32')
 
 prepare() {
   mv -v "${_name}-$pkgver" "$pkgname-$pkgver"
   cd "$pkgname-$pkgver"
-  # setting juce path
-  patch -Np1 -i "../$pkgname-5.4.5-jucepath.patch"
-  # setting juce vst
-  patch -Np1 -i "../$pkgname-5.4.5-juce_vst.patch"
-  # disable checking for update in projucer
-  patch -Np1 -i "../$pkgname-5.4.5-disable_update_check.patch"
-  # disable sending usage data in projucer
-  patch -Np1 -i "../$pkgname-5.4.5-disable_usage_data.patch"
-  # fix include defines in projucer
-  patch -Np1 -i "../$pkgname-5.4.5-fix_include_defines.patch"
-  # link to system libs, if flac, jack, libogg, vorbis, libjpeg, libpng or zlib
-  # are in use
-  patch -Np1 -i "../$pkgname-5.4.5-link_to_systemlibs.patch"
-  # disabling -march=native
-  sed -e 's/\-march=native//g' \
-      -i extras/Projucer/Builds/LinuxMakefile/Makefile
+  for _patch in ../*.patch; do
+    printf "Applying patch %s\n" "${_patch}"
+    patch -Np1 -i "${_patch}"
+  done
+
   gendesk -n \
           --pkgname "com.juce_projucer" \
           --name "Projucer" \
@@ -56,7 +54,8 @@
           --icon "Projucer" \
           --genericname "Code manager and editor" \
           --categories "Development"
-  # devendor bundled sources for flac, libogg, vorbis, libjpeg, libpng and zlib
+  # remove bundled sources for flac, libogg, vorbis, libjpeg, libpng and zlib
+  # as we are linking against system libs
   rm -rvf modules/juce_audio_formats/codecs/flac/ \
     modules/juce_audio_formats/codecs/oggvorbis/ \
     modules/juce_audio_plugin_client/AU/ \
@@ -67,33 +66,56 @@
 
 build() {
   cd "$pkgname-$pkgver"
-  # enabling GPL mode via CPPFLAGS
-  CPPFLAGS+=" -DJUCER_ENABLE_GPL_MODE=1" \
-  LDFLAGS+=" $(pkg-config --libs libjpeg libpng zlib)" \
-  make -C extras/Projucer/Builds/LinuxMakefile/ V=1
-  cd doxygen
-  make
+  # enable GPL mode via CPPFLAGS
+  export CPPFLAGS+=" -DJUCER_ENABLE_GPL_MODE=1"
+  export CPPFLAGS+=" -DJUCE_INCLUDE_FLAC_CODE=0"
+  export CPPFLAGS+=" -DJUCE_INCLUDE_JPEGLIB_CODE=0"
+  export CPPFLAGS+=" -DJUCE_INCLUDE_OGGVORBIS_CODE=0"
+  export CPPFLAGS+=" -DJUCE_INCLUDE_PNGLIB_CODE=0"
+  export CPPFLAGS+=" -DJUCE_INCLUDE_ZLIB_CODE=0 -DJUCE_ZLIB_INCLUDE_PATH='<zlib.h>'"
+
+  cmake -DCMAKE_INSTALL_PREFIX=/usr \
+        -DCMAKE_BUILD_TYPE='None' \
+        -DJUCE_BUILD_EXTRAS=ON \
+        -DJUCE_TOOL_INSTALL_DIR='bin' \
+        -Wno-dev \
+        -B build \
+        -S .
+  make VERBOSE=1 -C build
+  make -C docs/doxygen
 }
 
-package() {
+package_juce() {
+  depends=('gcc-libs' 'glibc' 'hicolor-icon-theme' 'libpng' 'libfreetype.so'
+  'libjpeg.so' 'zlib')
+  optdepends=('fst: for building FST plugins')
+
   cd "$pkgname-$pkgver"
-  install -vDm 755 extras/Projucer/Builds/LinuxMakefile/build/Projucer \
+  make DESTDIR="${pkgdir}" VERBOSE=1 -C build install
+
+  # install custom vst2 handling from juce < 5.4.1
+  install -vDm 644 ../juce_VSTInterface.h \
+    -t "${pkgdir}/usr/share/juce/modules/juce_audio_processors/format_types/"
+  # projucer has no install target
+  install -vDm 755 build/extras/Projucer/Projucer_artefacts/None/Projucer \
     -t "${pkgdir}/usr/bin"
   # xdg desktop integration
   install -vDm 644 *.desktop -t "${pkgdir}/usr/share/applications/"
   install -vDm 644 examples/Assets/juce_icon.png \
     "${pkgdir}/usr/share/icons/hicolor/512x512/apps/Projucer.png"
-  # modules
-  install -vDm 644 ChangeList.txt -t "${pkgdir}/usr/share/${pkgname}"
-  install -vdm 755 "${pkgdir}/usr/share/${pkgname}/modules"
-  cp -av modules/* "${pkgdir}/usr/share/${pkgname}/modules"
-  install -vDm 644 "../${pkgname}_VSTInterface.h" \
-    -t "${pkgdir}/usr/share/${pkgname}/modules/juce_audio_processors/format_types"
   # docs
-  install -vdm 755 "${pkgdir}/usr/share/doc/${pkgname}/html"
-  cp -av doxygen/doc/* "${pkgdir}/usr/share/doc/${pkgname}/html"
-  install -vDm 644 {ChangeList.txt,README.md} \
+  install -vDm 644 {{BREAKING-CHANGES,ChangeList}.txt,README.md} \
     -t "${pkgdir}/usr/share/doc/${pkgname}"
   # license
   install -vDm 644 LICENSE.md -t "${pkgdir}/usr/share/licenses/${pkgname}"
 }
+
+package_juce-docs() {
+  cd "$pkgbase-$pkgver"
+  (
+    cd docs/doxygen/doc
+    find . -type f -exec install -vDm 644 {} "${pkgdir}/usr/share/doc/${pkgbase}/html/"{} \;
+  )
+  # license
+  install -vDm 644 LICENSE.md -t "${pkgdir}/usr/share/licenses/${pkgname}"
+}

Deleted: juce-5.4.5-disable_update_check.patch
===================================================================
--- juce-5.4.5-disable_update_check.patch	2021-09-26 18:32:57 UTC (rev 1025693)
+++ juce-5.4.5-disable_update_check.patch	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -1,23 +0,0 @@
-From: =?utf-8?q?IOhannes_m_zm=C3=B6lnig?= <umlaeute at debian.org>
-Date: Thu, 9 Nov 2017 00:00:00 +0100
-Subject: prevent Projucer from checking for updates
-
- The check-for-updates only makes sense for user-installed Projucer, not for
- the Debian packaged version.
-Forwarded: not-needed
----
- extras/Projucer/Source/Application/jucer_AutoUpdater.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
-index a54b527..2014b10 100644
---- a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
-+++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
-@@ -42,6 +42,7 @@ LatestVersionCheckerAndUpdater::~LatestVersionCheckerAndUpdater()
- 
- void LatestVersionCheckerAndUpdater::checkForNewVersion (bool showAlerts)
- {
-+    return; // DONT check for new versions on Debian
-     if (! isThreadRunning())
-     {
-         showAlertWindows = showAlerts;

Deleted: juce-5.4.5-disable_usage_data.patch
===================================================================
--- juce-5.4.5-disable_usage_data.patch	2021-09-26 18:32:57 UTC (rev 1025693)
+++ juce-5.4.5-disable_usage_data.patch	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -1,28 +0,0 @@
-From: =?utf-8?q?IOhannes_m_zm=C3=B6lnig?= <umlaeute at debian.org>
-Date: Mon, 26 Mar 2018 00:00:00 +0200
-Subject: default to not-sending usage-data to ROLI
-
- we prefer to have privacy enabled by default...
-Forwarded: no
----
- .../Application/Windows/jucer_ApplicationUsageDataWindowComponent.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h b/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
-index c9a06df..6a48b68 100644
---- a/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
-+++ b/extras/Projucer/Source/Application/Windows/jucer_ApplicationUsageDataWindowComponent.h
-@@ -69,10 +69,10 @@ public:
- 
-             auto* controller = ProjucerApplication::getApp().licenseController.get();
- 
--            if (controller != nullptr && controller->getState().applicationUsageDataState == LicenseState::ApplicationUsageData::disabled)
--                shareApplicationUsageDataToggle->setToggleState (false, dontSendNotification);
--            else
-+            if (controller != nullptr && controller->getState().applicationUsageDataState == LicenseState::ApplicationUsageData::enabled)
-                 shareApplicationUsageDataToggle->setToggleState (true, dontSendNotification);
-+            else
-+                shareApplicationUsageDataToggle->setToggleState (false, dontSendNotification);
- 
-             addAndMakeVisible (shareApplicationUsageDataLabel);
-             shareApplicationUsageDataLabel.setFont (Font (14.0f));

Deleted: juce-5.4.5-fix_include_defines.patch
===================================================================
--- juce-5.4.5-fix_include_defines.patch	2021-09-26 18:32:57 UTC (rev 1025693)
+++ juce-5.4.5-fix_include_defines.patch	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -1,106 +0,0 @@
-From: =?utf-8?q?IOhannes_m_zm=C3=B6lnig?= <umlaeute at debian.org>
-Date: Sun, 11 Feb 2018 00:00:00 +0100
-Subject: clamp a few defines to fixed values
-
- on Debian we only ever allow using the system provided libraries
- (zlib, flac, oggvorbis,...)
-Origin: Debian
-Forwarded: not-needed
----
- .../utility/juce_CheckSettingMacros.h              | 25 +++++++++++++++++
- modules/juce_core/juce_core.h                      | 32 +++++++++++++++++++++-
- 2 files changed, 56 insertions(+), 1 deletion(-)
-
-diff --git a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
-index b5278b1..4c0a9ba 100644
---- a/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
-+++ b/modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h
-@@ -24,6 +24,30 @@
-   ==============================================================================
- */
- 
-+/* Debian specific overrides */
-+#if JucePlugin_Build_LV2 && ! defined (JucePlugin_LV2URI)
-+# warning JUCE/Debian using default LV2URI
-+# define JucePlugin_LV2URI               JucePlugin_Name
-+#endif
-+
-+#if JucePlugin_Build_AU
-+# warning JUCE/Debian disabled AU support
-+# undef JucePlugin_Build_AU
-+# define JucePlugin_Build_AU 0
-+#endif
-+
-+#if JucePlugin_Build_RTAS
-+# warning JUCE/Debian disabled RTAS support
-+# undef JucePlugin_Build_RTAS
-+# define JucePlugin_Build_RTAS 0
-+#endif
-+
-+#if JucePlugin_Build_AAX
-+# warning JUCE/Debian disabled AAX support
-+# undef JucePlugin_Build_AAX
-+# define JucePlugin_Build_AAX 0
-+#endif
-+
- // The following checks should cause a compile error if you've forgotten to
- // define all your plugin settings properly..
- 
-@@ -40,6 +64,7 @@
- #endif
- #define JUCE_CHECKSETTINGMACROS_H
- 
-+
- #ifndef JucePlugin_IsSynth
-  #error "You need to define the JucePlugin_IsSynth value!"
- #endif
-diff --git a/modules/juce_core/juce_core.h b/modules/juce_core/juce_core.h
-index 9cd4146..e26e139 100644
---- a/modules/juce_core/juce_core.h
-+++ b/modules/juce_core/juce_core.h
-@@ -64,6 +64,36 @@
- 
- #include "system/juce_TargetPlatform.h"
- 
-+/** Debian specific constants
-+  - Debian, we don't use embedded libraries
-+*/
-+#ifdef JUCE_INCLUDE_ZLIB_CODE
-+# undef JUCE_INCLUDE_ZLIB_CODE
-+#endif
-+#define JUCE_INCLUDE_ZLIB_CODE 0
-+
-+#ifdef JUCE_INCLUDE_FLAC_CODE
-+# undef JUCE_INCLUDE_FLAC_CODE
-+#endif
-+#define JUCE_INCLUDE_FLAC_CODE 0
-+
-+#ifdef JUCE_INCLUDE_OGGVORBIS_CODE
-+# undef JUCE_INCLUDE_OGGVORBIS_CODE
-+#endif
-+#define JUCE_INCLUDE_OGGVORBIS_CODE 0
-+
-+#ifdef JUCE_INCLUDE_JPEGLIB_CODE
-+# undef JUCE_INCLUDE_JPEGLIB_CODE
-+#endif
-+#define JUCE_INCLUDE_JPEGLIB_CODE 0
-+
-+#ifdef JUCE_INCLUDE_PNGLIB_CODE
-+# undef JUCE_INCLUDE_PNGLIB_CODE
-+#endif
-+#define JUCE_INCLUDE_PNGLIB_CODE 0
-+/** Debian specifics END
-+*/
-+
- //==============================================================================
- /** Config: JUCE_FORCE_DEBUG
- 
-@@ -123,7 +153,7 @@
-     specify the path where your zlib headers live.
- */
- #ifndef JUCE_INCLUDE_ZLIB_CODE
-- #define JUCE_INCLUDE_ZLIB_CODE 1
-+ #define JUCE_INCLUDE_ZLIB_CODE 0
- #endif
- 
- #ifndef JUCE_ZLIB_INCLUDE_PATH

Deleted: juce-5.4.5-juce_vst.patch
===================================================================
--- juce-5.4.5-juce_vst.patch	2021-09-26 18:32:57 UTC (rev 1025693)
+++ juce-5.4.5-juce_vst.patch	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -1,67 +0,0 @@
-From: Debian Multimedia Maintainers <debian-multimedia at lists.debian.org>
-Date: Wed, 23 Oct 2019 09:44:36 +0200
-Subject: provide missing VST2 replacement header
-
-Last-Update: 2019-01-12
-
-backprted from the original JUCE-5.3.1 header
-Last-Update: 2019-01-12
----
- modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp          | 4 +---
- .../juce_audio_processors/format_types/juce_VSTPluginFormat.cpp    | 7 ++++---
- 2 files changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
-index 9b9a7f9..632677d 100644
---- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
-+++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
-@@ -101,8 +101,7 @@ namespace Vst2
- // field in the Projucer. The VST2 SDK can be obtained from the
- // vstsdk3610_11_06_2018_build_37 (or older) VST3 SDK or JUCE version 5.3.2. You
- // also need a VST2 license from Steinberg to distribute VST2 plug-ins.
--#include "pluginterfaces/vst2.x/aeffect.h"
--#include "pluginterfaces/vst2.x/aeffectx.h"
-+#include "../../juce_audio_processors/format_types/juce_VSTInterface.h"
- }
- 
- using namespace juce;
-@@ -124,7 +123,6 @@ using namespace juce;
-  #pragma pack (push, 8)
- #endif
- 
--#define JUCE_VSTINTERFACE_H_INCLUDED 1
- 
- #include "../utility/juce_IncludeModuleHeaders.h"
- #include "../utility/juce_FakeMouseMoveGenerator.h"
-diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
-index 85dfb78..ad0a8e5 100644
---- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
-+++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
-@@ -49,7 +49,6 @@
- #endif
- 
- #define VST_FORCE_DEPRECATED 0
--#define JUCE_VSTINTERFACE_H_INCLUDED 1
- 
- namespace Vst2
- {
-@@ -58,8 +57,7 @@ namespace Vst2
- // paths or use the "VST (Legacy) SDK Folder" field in the Projucer. The VST2
- // SDK can be obtained from the vstsdk3610_11_06_2018_build_37 (or older) VST3
- // SDK or JUCE version 5.3.2.
--#include <pluginterfaces/vst2.x/aeffect.h>
--#include <pluginterfaces/vst2.x/aeffectx.h>
-+#include "../../juce_audio_processors/format_types/juce_VSTInterface.h"
- }
- 
- #include "juce_VSTCommon.h"
-@@ -81,6 +79,9 @@ namespace Vst2
- 
- #include "juce_VSTMidiEventList.h"
- 
-+#define resvd2 hostSpace2
-+#define nanoSeconds systemTimeNanoseconds
-+
- #if JUCE_MINGW
-  #ifndef WM_APPCOMMAND
-   #define WM_APPCOMMAND 0x0319

Deleted: juce-5.4.5-jucepath.patch
===================================================================
--- juce-5.4.5-jucepath.patch	2021-09-26 18:32:57 UTC (rev 1025693)
+++ juce-5.4.5-jucepath.patch	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -1,22 +0,0 @@
-diff -ruN a/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
---- a/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp	2019-10-16 11:09:54.000000000 +0200
-+++ b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp	2020-01-07 15:11:25.562748860 +0100
-@@ -381,15 +381,15 @@
- {
-     if (key == Ids::jucePath)
-     {
--        return (os == TargetOS::windows ? "C:\\JUCE" : "~/JUCE");
-+        return (os == TargetOS::windows ? "C:\\JUCE" : "/usr/share/juce");
-     }
-     else if (key == Ids::defaultJuceModulePath)
-     {
--        return (os == TargetOS::windows ? "C:\\JUCE\\modules" : "~/JUCE/modules");
-+        return (os == TargetOS::windows ? "C:\\JUCE\\modules" : "/usr/share/juce/modules");
-     }
-     else if (key == Ids::defaultUserModulePath)
-     {
--        return (os == TargetOS::windows ? "C:\\modules" : "~/modules");
-+        return (os == TargetOS::windows ? "C:\\modules" : "~/.local/share/JUCE/modules");
-     }
-     else if (key == Ids::vstLegacyPath || key == Ids::vst3Path)
-     {

Deleted: juce-5.4.5-link_to_systemlibs.patch
===================================================================
--- juce-5.4.5-link_to_systemlibs.patch	2021-09-26 18:32:57 UTC (rev 1025693)
+++ juce-5.4.5-link_to_systemlibs.patch	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -1,69 +0,0 @@
-From: Debian Multimedia Maintainers <debian-multimedia at lists.debian.org>
-Date: Wed, 23 Oct 2019 09:44:36 +0200
-Subject: have Projucer link against the system libraries
-
-Origin: Debian
-Forwarded: no
-Last-Update: 2019-08-21
-
-since the Debian package has removed 3rd-party libraries (jpeg, png, flag,
-ogg/vorbis), we must use against the system libraries.
-Last-Update: 2019-08-21
----
- .../ProjectSaving/jucer_ProjectExport_Make.h       | 36 ++++++++++++++++++++++
- 1 file changed, 36 insertions(+)
-
-diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h
-index 88fd4f1..cdac636 100644
---- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h
-+++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h
-@@ -464,6 +464,39 @@ private:
-         if (isCurlEnabled() && ! isLoadCurlSymbolsLazilyEnabled())
-             packages.add ("libcurl");
- 
-+        // on Debian, a number of 3rd-party libs have been stripped away,
-+        // so we need to link to the system libraries
-+        if (project.getEnabledModules().isModuleEnabled ("juce_core"))
-+        {
-+            packages.add ("zlib");
-+        }
-+        if (project.getEnabledModules().isModuleEnabled ("juce_graphics"))
-+        {
-+            packages.add ("libjpeg");
-+            packages.add ("libpng");
-+        }
-+        if (project.getEnabledModules().isModuleEnabled ("juce_audio_formats"))
-+        {
-+            if(project.isConfigFlagEnabled ("JUCE_USE_FLAC", true))
-+            {
-+                packages.add ("flac");
-+            }
-+
-+            if(project.isConfigFlagEnabled ("JUCE_USE_OGGVORBIS", true))
-+            {
-+                packages.add ("vorbis");
-+                packages.add ("vorbisfile");
-+                packages.add ("vorbisenc");
-+                packages.add ("ogg");
-+            }
-+        }
-+        if (project.getEnabledModules().isModuleEnabled ("juce_audio_devices"))
-+        {
-+            if(project.isConfigFlagEnabled ("JUCE_JACK", true))
-+            {
-+                packages.add ("jack");
-+            }
-+        }
-         packages.removeDuplicates (false);
- 
-         return packages;
-@@ -563,6 +596,9 @@ private:
-         StringArray result (linuxLibs);
- 
-         auto libraries = StringArray::fromTokens (getExternalLibrariesString(), ";", "\"'");
-+#ifdef DEBIAN_JUCERPROJECT_LIBS
-+        libraries.addArray(StringArray::fromTokens (DEBIAN_JUCERPROJECT_LIBS, ";", "\"'"));
-+#endif
-         libraries.removeEmptyStrings();
- 
-         for (auto& lib : libraries)

Added: juce-6.1.2-cmake_install.patch
===================================================================
--- juce-6.1.2-cmake_install.patch	                        (rev 0)
+++ juce-6.1.2-cmake_install.patch	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -0,0 +1,48 @@
+diff -ruN a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt	2021-09-20 14:26:04.000000000 +0200
++++ b/CMakeLists.txt	2021-09-25 23:53:15.171028235 +0200
+@@ -119,10 +119,10 @@
+     COMPATIBILITY ExactVersion
+     ${extra_version_arg})
+ 
+-set(JUCE_INSTALL_DESTINATION "lib/cmake/JUCE-${JUCE_VERSION}" CACHE STRING
++set(JUCE_INSTALL_DESTINATION "lib/cmake/juce" CACHE STRING
+     "The location, relative to the install prefix, where the JUCE config file will be installed")
+ 
+-set(JUCE_MODULE_PATH "include/JUCE-${JUCE_VERSION}/modules")
++set(JUCE_MODULE_PATH "share/juce/modules")
+ set(UTILS_INSTALL_DIR "${JUCE_INSTALL_DESTINATION}")
+ set(JUCEAIDE_PATH "${JUCE_TOOL_INSTALL_DIR}/${JUCE_JUCEAIDE_NAME}")
+ configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
+@@ -130,7 +130,6 @@
+     PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH
+     INSTALL_DESTINATION "${JUCE_INSTALL_DESTINATION}")
+ 
+-set(JUCE_MODULE_PATH "${JUCE_MODULES_DIR}")
+ set(UTILS_INSTALL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extras/Build/CMake")
+ get_target_property(JUCEAIDE_PATH juceaide IMPORTED_LOCATION)
+ configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
+diff -ruN a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt
+--- a/extras/Build/juceaide/CMakeLists.txt	2021-09-20 14:26:04.000000000 +0200
++++ b/extras/Build/juceaide/CMakeLists.txt	2021-09-25 21:41:25.590399181 +0200
+@@ -100,7 +100,7 @@
+ 
+     add_executable(juce::juceaide ALIAS juceaide)
+ 
+-    set(JUCE_TOOL_INSTALL_DIR "bin/JUCE-${JUCE_VERSION}" CACHE STRING
++    set(JUCE_TOOL_INSTALL_DIR "bin" CACHE STRING
+         "The location, relative to the install prefix, where juceaide will be installed")
+ 
+     install(PROGRAMS "${imported_location}" DESTINATION "${JUCE_TOOL_INSTALL_DIR}")
+diff -ruN a/modules/CMakeLists.txt b/modules/CMakeLists.txt
+--- a/modules/CMakeLists.txt	2021-09-20 14:26:04.000000000 +0200
++++ b/modules/CMakeLists.txt	2021-09-25 21:39:39.876766842 +0200
+@@ -22,7 +22,7 @@
+ # ==============================================================================
+ 
+ juce_add_modules(
+-    INSTALL_PATH "include/JUCE-${JUCE_VERSION}/modules"
++    INSTALL_PATH "share/juce/modules"
+     ALIAS_NAMESPACE juce
+     juce_analytics
+     juce_audio_basics

Added: juce-6.1.2-cmake_juce_utils.patch
===================================================================
--- juce-6.1.2-cmake_juce_utils.patch	                        (rev 0)
+++ juce-6.1.2-cmake_juce_utils.patch	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -0,0 +1,20 @@
+diff -ruN a/extras/Build/CMake/JUCEUtils.cmake b/extras/Build/CMake/JUCEUtils.cmake
+--- a/extras/Build/CMake/JUCEUtils.cmake	2021-09-20 14:26:04.000000000 +0200
++++ b/extras/Build/CMake/JUCEUtils.cmake	2021-09-25 19:28:31.202649065 +0200
+@@ -83,6 +83,7 @@
+ if((CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (CMAKE_SYSTEM_NAME MATCHES ".*BSD"))
+     _juce_create_pkgconfig_target(JUCE_CURL_LINUX_DEPS libcurl)
+     _juce_create_pkgconfig_target(JUCE_BROWSER_LINUX_DEPS webkit2gtk-4.0 gtk+-x11-3.0)
++    _juce_create_pkgconfig_target(JUCE_IMG_LINUX_DEPS libjpeg libpng)
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+     find_program(JUCE_XCRUN xcrun)
+ 
+@@ -225,6 +226,8 @@
+         if(needs_browser)
+             target_link_libraries(${target} PRIVATE juce::pkgconfig_JUCE_BROWSER_LINUX_DEPS)
+         endif()
++
++        target_link_libraries(${target} PRIVATE juce::pkgconfig_JUCE_IMG_LINUX_DEPS)
+     elseif(APPLE)
+         get_target_property(needs_storekit ${target} JUCE_NEEDS_STORE_KIT)
+ 

Added: juce-6.1.2-cmake_link_against_system_deps.patch
===================================================================
--- juce-6.1.2-cmake_link_against_system_deps.patch	                        (rev 0)
+++ juce-6.1.2-cmake_link_against_system_deps.patch	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -0,0 +1,88 @@
+diff -ruN a/extras/AudioPerformanceTest/CMakeLists.txt e/extras/AudioPerformanceTest/CMakeLists.txt
+--- a/extras/AudioPerformanceTest/CMakeLists.txt	2021-09-20 14:26:04.000000000 +0200
++++ e/extras/AudioPerformanceTest/CMakeLists.txt	2021-09-25 20:11:11.782908700 +0200
+@@ -32,6 +32,11 @@
+     JUCE_USE_CURL=0 JUCE_WEB_BROWSER=0)
+ 
+ target_link_libraries(AudioPerformanceTest PRIVATE
++    "FLAC"
++    "ogg"
++    "vorbis"
++    "vorbisenc"
++    "vorbisfile"
+     juce::juce_audio_utils
+     juce::juce_recommended_config_flags
+     juce::juce_recommended_lto_flags
+diff -ruN a/extras/AudioPluginHost/CMakeLists.txt e/extras/AudioPluginHost/CMakeLists.txt
+--- a/extras/AudioPluginHost/CMakeLists.txt	2021-09-20 14:26:04.000000000 +0200
++++ e/extras/AudioPluginHost/CMakeLists.txt	2021-09-25 20:31:04.882600939 +0200
+@@ -55,6 +55,10 @@
+     JUCE_WEB_BROWSER=0)
+ 
+ target_link_libraries(AudioPluginHost PRIVATE
++    "ogg"
++    "vorbis"
++    "vorbisenc"
++    "vorbisfile"
+     juce::juce_audio_utils
+     juce::juce_cryptography
+     juce::juce_dsp
+diff -ruN a/extras/NetworkGraphicsDemo/CMakeLists.txt e/extras/NetworkGraphicsDemo/CMakeLists.txt
+--- a/extras/NetworkGraphicsDemo/CMakeLists.txt	2021-09-20 14:26:04.000000000 +0200
++++ e/extras/NetworkGraphicsDemo/CMakeLists.txt	2021-09-25 20:14:30.376577084 +0200
+@@ -31,6 +31,13 @@
+     JUCE_USE_CURL=0 JUCE_WEB_BROWSER=0)
+ 
+ target_link_libraries(NetworkGraphicsDemo PRIVATE
++    "FLAC"
++    "ogg"
++    "png"
++    "vorbis"
++    "vorbisenc"
++    "vorbisfile"
++    "z"
+     juce::juce_audio_utils
+     juce::juce_cryptography
+     juce::juce_opengl
+diff -ruN a/extras/UnitTestRunner/CMakeLists.txt e/extras/UnitTestRunner/CMakeLists.txt
+--- a/extras/UnitTestRunner/CMakeLists.txt	2021-09-20 14:26:04.000000000 +0200
++++ e/extras/UnitTestRunner/CMakeLists.txt	2021-09-25 20:22:11.631027145 +0200
+@@ -33,6 +33,13 @@
+     JUCE_WEB_BROWSER=0)
+ 
+ target_link_libraries(UnitTestRunner PRIVATE
++    "FLAC"
++    "ogg"
++    "png16"
++    "vorbis"
++    "vorbisenc"
++    "vorbisfile"
++    "z"
+     juce::juce_analytics
+     juce::juce_audio_utils
+     juce::juce_dsp
+diff -ruN a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt
+--- a/extras/Build/juceaide/CMakeLists.txt	2021-09-20 14:26:04.000000000 +0200
++++ b/extras/Build/juceaide/CMakeLists.txt	2021-09-25 18:52:06.968927572 +0200
+@@ -37,6 +37,9 @@
+         JUCE_USE_CURL=0)
+ 
+     target_link_libraries(juceaide PRIVATE
++        "jpeg"
++        "png16"
++        "z"
+         juce::juce_build_tools
+         juce::juce_recommended_config_flags
+         juce::juce_recommended_lto_flags
+diff -ruN a/extras/Projucer/CMakeLists.txt b/extras/Projucer/CMakeLists.txt
+--- a/extras/Projucer/CMakeLists.txt	2021-09-20 14:26:04.000000000 +0200
++++ b/extras/Projucer/CMakeLists.txt	2021-09-25 19:02:39.550915895 +0200
+@@ -158,6 +158,8 @@
+     ../Build/CMake/juce_runtime_arch_detection.cpp)
+ 
+ target_link_libraries(Projucer PRIVATE
++    "png16"
++    "jpeg"
+     ProjucerData
+     juce::juce_build_tools
+     juce::juce_cryptography

Added: juce-6.1.2-fst_vst.patch
===================================================================
--- juce-6.1.2-fst_vst.patch	                        (rev 0)
+++ juce-6.1.2-fst_vst.patch	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -0,0 +1,27 @@
+diff -ruN a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp
+--- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp	2021-09-20 14:26:04.000000000 +0200
++++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp	2021-09-26 00:58:02.047887074 +0200
+@@ -84,8 +84,7 @@
+ // field in the Projucer. The VST2 SDK can be obtained from the
+ // vstsdk3610_11_06_2018_build_37 (or older) VST3 SDK or JUCE version 5.3.2. You
+ // also need a VST2 license from Steinberg to distribute VST2 plug-ins.
+-#include "pluginterfaces/vst2.x/aeffect.h"
+-#include "pluginterfaces/vst2.x/aeffectx.h"
++#include "../../juce_audio_processors/format_types/juce_VSTInterface.h"
+ }
+ 
+ JUCE_END_IGNORE_WARNINGS_MSVC
+diff -ruN a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp
+--- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp	2021-09-20 14:26:04.000000000 +0200
++++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp	2021-09-26 01:03:15.142161924 +0200
+@@ -46,8 +46,8 @@
+ // paths or use the "VST (Legacy) SDK Folder" field in the Projucer. The VST2
+ // SDK can be obtained from the vstsdk3610_11_06_2018_build_37 (or older) VST3
+ // SDK or JUCE version 5.3.2.
+-#include <pluginterfaces/vst2.x/aeffect.h>
+-#include <pluginterfaces/vst2.x/aeffectx.h>
++#define FST2VST 1
++#include <pluginterfaces/fst/fst.h>
+ }
+ 
+ #include "juce_VSTCommon.h"

Added: juce-6.1.2-projucer_disable_update_check.patch
===================================================================
--- juce-6.1.2-projucer_disable_update_check.patch	                        (rev 0)
+++ juce-6.1.2-projucer_disable_update_check.patch	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -0,0 +1,11 @@
+diff -ruN a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp
+--- a/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp	2021-09-20 14:26:04.000000000 +0200
++++ b/extras/Projucer/Source/Application/jucer_AutoUpdater.cpp	2021-09-26 00:16:57.933901901 +0200
+@@ -41,6 +41,7 @@
+ 
+ void LatestVersionCheckerAndUpdater::checkForNewVersion (bool background)
+ {
++    return;
+     if (! isThreadRunning())
+     {
+         backgroundCheck = background;

Added: juce-6.1.2-projucer_juce_paths.patch
===================================================================
--- juce-6.1.2-projucer_juce_paths.patch	                        (rev 0)
+++ juce-6.1.2-projucer_juce_paths.patch	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -0,0 +1,22 @@
+diff -ruN a/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp
+--- a/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp	2021-09-20 14:26:04.000000000 +0200
++++ b/extras/Projucer/Source/Settings/jucer_StoredSettings.cpp	2021-09-26 00:35:56.119917679 +0200
+@@ -358,15 +358,15 @@
+ {
+     if (key == Ids::jucePath)
+     {
+-        return (os == TargetOS::windows ? "C:\\JUCE" : "~/JUCE");
++        return (os == TargetOS::windows ? "C:\\JUCE" : "/usr/share/doc/juce");
+     }
+     else if (key == Ids::defaultJuceModulePath)
+     {
+-        return (os == TargetOS::windows ? "C:\\JUCE\\modules" : "~/JUCE/modules");
++        return (os == TargetOS::windows ? "C:\\JUCE\\modules" : "/usr/share/juce/modules");
+     }
+     else if (key == Ids::defaultUserModulePath)
+     {
+-        return (os == TargetOS::windows ? "C:\\modules" : "~/modules");
++        return (os == TargetOS::windows ? "C:\\modules" : "~/.local/share/juce/modules");
+     }
+     else if (key == Ids::vstLegacyPath)
+     {

Modified: juce_VSTInterface.h
===================================================================
--- juce_VSTInterface.h	2021-09-26 18:32:57 UTC (rev 1025693)
+++ juce_VSTInterface.h	2021-09-26 18:41:36 UTC (rev 1025694)
@@ -352,6 +352,7 @@
     , audioMasterWillReplaceOrAccumulate = hostOpcodeWillReplace
 
 };
+typedef enum VstPlugInToHostOpcodes AudioMasterOpcodesX;
 
 //==============================================================================
 enum VstProcessingSampleType



More information about the arch-commits mailing list