Date: Thursday, May 18, 2023 @ 02:07:43
  Author: grawlinson
Revision: 1463024

upgpkg: surge-xt 1.2.3-1; new upstream release & split packages

Modified:
  surge-xt/trunk/PKGBUILD
  surge-xt/trunk/devendor-libs.patch

---------------------+
 PKGBUILD            |  135 ++++++++++++++++++++++++++++++++++++++++----------
 devendor-libs.patch |   15 ++---
 2 files changed, 115 insertions(+), 35 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2023-05-18 01:55:38 UTC (rev 1463023)
+++ PKGBUILD    2023-05-18 02:07:43 UTC (rev 1463024)
@@ -4,15 +4,23 @@
 # Contributor: David Runge <dv...@archlinux.org>
 # Contributor: Florian Hülsmann <f...@cbix.de>
 
-pkgname=surge-xt
-pkgver=1.1.2
+pkgbase=surge-xt
+pkgname=(
+  'surge-xt'
+  'surge-xt-common'
+  'surge-xt-standalone'
+  'surge-xt-vst3'
+  'surge-xt-clap'
+  'surge-xt-lv2'
+)
+pkgver=1.2.3
 pkgrel=1
 pkgdesc='Subtractive hybrid synthesizer'
 arch=('x86_64')
 url='https://surge-synthesizer.github.io'
 license=('GPL3')
-groups=('pro-audio' 'vst3-plugins' 'clap-plugins' 'lv2-plugins')
-depends=(
+groups=('pro-audio')
+_common_depends=(
   'glibc'
   'gcc-libs'
   'cairo'
@@ -27,11 +35,11 @@
   'xcb-util-keysyms'
   'xcb-util-renderutil'
   'xdg-utils'
-  'hicolor-icon-theme'
   'fmt'
   'libsamplerate'
 )
 makedepends=(
+  "${_common_depends[@]}"
   'git'
   'cmake'
   'libsndfile'
@@ -46,17 +54,10 @@
   'lv2'
   'juce'
 )
-optdepends=(
-  'jack: backend for standalone'
-  'alsa-lib: backend for standalone'
-  'vst3-host: for VST3 plugins'
-  'clap-host: for CLAP plugins'
-  'lv2-host: for LV2 plugins'
-)
 options=('!lto') # LTO disabled due to crashes at application startup
-_commit='d3568a9ae6c8555590e06e55ed9cc6965a939f91'
+_commit='bb8dd2b398cfa8d6d1a20daf7dee2cb4e8097dbf'
 source=(
-  "$pkgname::git+https://github.com/surge-synthesizer/surge#commit=$_commit";
+  "$pkgbase::git+https://github.com/surge-synthesizer/surge#commit=$_commit";
   'improve-reproducibility.patch'
   'devendor-libs.patch'
   'fix-lv2-ftbfs.patch'
@@ -67,6 +68,7 @@
   
'github.com-surge-synthesizer-sst-cpputils::git+https://github.com/surge-synthesizer/sst-cpputils'
   
'github.com-surge-synthesizer-sst-filters::git+https://github.com/surge-synthesizer/sst-filters'
   
'github.com-surge-synthesizer-sst-waveshapers::git+https://github.com/surge-synthesizer/sst-waveshapers'
+  
'github.com-surge-synthesizer-pffft::git+https://github.com/surge-synthesizer/pffft'
   'github.com-free-audio-clap::git+https://github.com/free-audio/clap'
   
'github.com-free-audio-clap-helpers::git+https://github.com/free-audio/clap-helpers'
   
'github.com-free-audio-clap-juce-extensions::git+https://github.com/free-audio/clap-juce-extensions'
@@ -79,7 +81,7 @@
 )
 b2sums=('SKIP'
         
'6e71b56ffde699319def99e03637d9c3fb6197a6e0637b9f44b52a9207a8e06c8d482c05cdd711ec2c5901f403381dda70e786bca6b56cce14dc449325f24761'
-        
'6bbeef320c380fb8bf9339add847bf7db237a2f93f544c2237e2d51ef9a1f497916539ace523c9b0911acabc755d872d5318170887aa62b27654eee40de6b693'
+        
'35ae92a5363334901810d801238ab9e655c2db5695d085bbc431291ef107c5726d2aa919de77fba154ab63b3875df772cc5fd1531c0adcb9215cac99500ba832'
         
'c43e5a1b9605243be07ab3903885836a2199787f0c7a8dc6ae2be9d8d4a91bcf07fde520c3440f1be425194476065cb287b99446b144c5cd76d012fb0f10f35e'
         'SKIP'
         'SKIP'
@@ -96,16 +98,17 @@
         'SKIP'
         'SKIP'
         'SKIP'
+        'SKIP'
         'SKIP')
 
 pkgver() {
-  cd "$pkgname"
+  cd "$pkgbase"
 
   git describe --tags | sed 's/^release_xt_//'
 }
 
 prepare() {
-  cd "$pkgname"
+  cd "$pkgbase"
 
   # explicitly state which submodules to use,
   # omitting devendored & unused submodules
@@ -121,7 +124,8 @@
     libs/sst/sst-cpputils \
     libs/clap-juce-extensions \
     libs/sst/sst-filters \
-    libs/sst/sst-waveshapers
+    libs/sst/sst-waveshapers \
+    libs/pffft
 
   git config submodule.libs/tuning-library.url 
"$srcdir/github.com-surge-synthesizer-tuning-library"
   git config submodule.libs/simde.url 
"$srcdir/github.com-simd-everywhere-simde"
@@ -135,6 +139,7 @@
   git config submodule.libs/clap-juce-extensions.url 
"$srcdir/github.com-free-audio-clap-juce-extensions"
   git config submodule.libs/sst/sst-filters.url 
"$srcdir/github.com-surge-synthesizer-sst-filters"
   git config submodule.libs/sst/sst-waveshapers.url 
"$srcdir/github.com-surge-synthesizer-sst-waveshapers"
+  git config submodule.libs/pffft.url 
"$srcdir/github.com-surge-synthesizer-pffft"
 
   git -c protocol.file.allow=always submodule update
 
@@ -163,8 +168,12 @@
   rg --files-with-matches 'include "samplerate.h"' | xargs -I@ sed 
's|"samplerate.h"|<samplerate.h>|g' -i @
 
   # add missing LV2 header
-  cd "$srcdir/github.com-lv2-porting-project-JUCE"
+  pushd "$srcdir/github.com-lv2-porting-project-JUCE"
   patch -p1 -i "$srcdir/fix-lv2-ftbfs.patch"
+  popd
+
+  # FTBFS due to GCC13
+  git cherry-pick --no-commit d2fba1c6ff02cbdfa9db2ce06508745c247629b5
 }
 
 build() {
@@ -174,7 +183,7 @@
 
   cmake \
     -B build \
-    -S "$pkgname" \
+    -S "$pkgbase" \
     -DCMAKE_INSTALL_PREFIX='/usr' \
     -DCMAKE_INSTALL_LIBDIR='/usr/lib' \
     -DCMAKE_BUILD_TYPE=Release \
@@ -186,7 +195,7 @@
   # build LV2 plugin
   cmake \
     -B build-lv2 \
-    -S "$pkgname" \
+    -S "$pkgbase" \
     -DCMAKE_INSTALL_PREFIX='/usr' \
     -DCMAKE_INSTALL_LIBDIR='/usr/lib' \
     -DCMAKE_BUILD_TYPE=Release \
@@ -198,18 +207,51 @@
   cmake --build build-lv2 --target surge-xt_LV2 surge-fx_LV2 --parallel
 }
 
-package() {
+package_surge-xt() {
+  depends=($pkgbase-{common,standalone,vst3,clap,lv2}=$pkgver)
+
+  # complete install, followed by…
   DESTDIR="$pkgdir" cmake --install build
 
-  # LV2 plugin
-  install -vd "$pkgdir/usr/lib/lv2"
-  cp -vr build-lv2/surge_xt_products/*.lv2 "$pkgdir/usr/lib/lv2"
+  # …moving items out for split packages…
+  mv "$pkgdir/usr/share/surge-xt" usr-share
+  mv "$pkgdir/usr/bin" usr-bin
+  mv "$pkgdir/usr/lib" usr-lib
 
-  cd "$pkgname"
+  # …then remove leftovers
+  rm -rvf "$pkgdir/usr"
+}
 
+package_surge-xt-common() {
+  pkgdesc='Common files for Surge XT'
+
+  install -vd "$pkgdir/usr/share/surge-xt"
+  mv usr-share/* "$pkgdir/usr/share/surge-xt"
+
+  cd "$pkgbase"
+
   # documentation
-  install -vDm644 -t "$pkgdir/usr/share/doc/$pkgname" AUTHORS README.md doc/*
+  install -vDm644 -t "$pkgdir/usr/share/doc/$pkgbase" AUTHORS README.md doc/*
+}
 
+package_surge-xt-standalone() {
+  pkgdesc+=' - standalone'
+  depends=(
+    "surge-xt-common=$pkgver"
+    'hicolor-icon-theme'
+    "${_common_depends[@]}"
+  )
+  optdepends=(
+    'jack: audio backend'
+    'alsa-lib: audio backend'
+  )
+
+  # binaries
+  install -vd "$pkgdir/usr/bin"
+  mv usr-bin/* "$pkgdir/usr/bin"
+
+  cd "$pkgbase"
+
   # application icons & desktop files
   install -vd "$pkgdir/usr/share/"{applications,icons}
   cd scripts/installer_linux
@@ -217,3 +259,42 @@
   cp -r assets/icons/scalable "$pkgdir/usr/share/icons/hicolor"
   install -vDm644 -t "$pkgdir/usr/share/applications" 
assets/applications/*.desktop
 }
+
+package_surge-xt-vst3(){
+  pkgdesc+=' - VST3 plugin'
+  groups+=('vst3-plugins')
+  depends=(
+    "surge-xt-common=$pkgver"
+    "${_common_depends[@]}"
+    'vst3-host'
+  )
+
+  install -vd "$pkgdir/usr/lib"
+  mv usr-lib/vst3 "$pkgdir/usr/lib"
+}
+
+package_surge-xt-clap(){
+  pkgdesc+=' - CLAP plugin'
+  groups+=('clap-plugins')
+  depends=(
+    "surge-xt-common=$pkgver"
+    "${_common_depends[@]}"
+    'clap-host'
+  )
+
+  install -vd "$pkgdir/usr/lib"
+  mv usr-lib/clap "$pkgdir/usr/lib"
+}
+
+package_surge-xt-lv2(){
+  pkgdesc+=' - LV2 plugin'
+  groups+=('lv2-plugins')
+  depends=(
+    "surge-xt-common=$pkgver"
+    "${_common_depends[@]}"
+    'lv2-host'
+  )
+
+  install -vd "$pkgdir/usr/lib/lv2"
+  cp -vr build-lv2/surge_xt_products/*.lv2 "$pkgdir/usr/lib/lv2"
+}

Modified: devendor-libs.patch
===================================================================
--- devendor-libs.patch 2023-05-18 01:55:38 UTC (rev 1463023)
+++ devendor-libs.patch 2023-05-18 02:07:43 UTC (rev 1463024)
@@ -1,6 +1,6 @@
 --- a/src/common/CMakeLists.txt
 +++ b/src/common/CMakeLists.txt
-@@ -1,14 +1,16 @@
+@@ -1,9 +1,11 @@
  # vi:set sw=2 et:
  project(surge-common)
  
@@ -10,17 +10,18 @@
  surge_add_lib_subdirectory(eurorack)
 -surge_add_lib_subdirectory(fmt)
 +pkg_search_module(fmt REQUIRED fmt)
- surge_add_lib_subdirectory(oddsound-mts)
+ 
+ # Make MTS optional
+ if (NOT SURGE_SKIP_ODDSOUND_MTS)
+@@ -17,7 +19,7 @@ endif()
  if(MINGW)
    set(HAVE_VISIBILITY 0 CACHE INTERNAL "Force-disable libsamplerate's 
visibility check on MinGW")
  endif()
 -surge_add_lib_subdirectory(libsamplerate)
 +pkg_search_module(samplerate REQUIRED samplerate)
+ surge_add_lib_subdirectory(pffft)
  surge_add_lib_subdirectory(tuning-library)
  surge_add_lib_subdirectory(sqlite-3.23.3)
- 
-diff --git a/src/surge-fx/CMakeLists.txt b/src/surge-fx/CMakeLists.txt
-index 611194a2..86f044ec 100644
 --- a/src/surge-fx/CMakeLists.txt
 +++ b/src/surge-fx/CMakeLists.txt
 @@ -60,6 +60,7 @@ target_link_libraries(${PROJECT_NAME} PRIVATE
@@ -31,11 +32,9 @@
    )
  
  if(SURGE_BUILD_CLAP)
-diff --git a/src/surge-xt/CMakeLists.txt b/src/surge-xt/CMakeLists.txt
-index 74115719..d2e0c767 100644
 --- a/src/surge-xt/CMakeLists.txt
 +++ b/src/surge-xt/CMakeLists.txt
-@@ -202,6 +202,7 @@ target_link_libraries(${PROJECT_NAME} PRIVATE
+@@ -204,6 +204,7 @@ target_link_libraries(${PROJECT_NAME} PRIVATE
    juce::juce_audio_plugin_client
    surge-xt-binary
    sst-filters-extras

Reply via email to