Date: Monday, September 19, 2022 @ 08:22:54
  Author: grawlinson
Revision: 1305140

archrelease: copy trunk to community-x86_64

Added:
  surge-xt/repos/community-x86_64/
  surge-xt/repos/community-x86_64/PKGBUILD
    (from rev 1305139, surge-xt/trunk/PKGBUILD)
  surge-xt/repos/community-x86_64/devendor-libs.patch
    (from rev 1305139, surge-xt/trunk/devendor-libs.patch)
  surge-xt/repos/community-x86_64/improve-reproducibility.patch
    (from rev 1305139, surge-xt/trunk/improve-reproducibility.patch)

-------------------------------+
 PKGBUILD                      |  194 ++++++++++++++++++++++++++++++++++++++++
 devendor-libs.patch           |   45 +++++++++
 improve-reproducibility.patch |   52 ++++++++++
 3 files changed, 291 insertions(+)

Copied: surge-xt/repos/community-x86_64/PKGBUILD (from rev 1305139, 
surge-xt/trunk/PKGBUILD)
===================================================================
--- community-x86_64/PKGBUILD                           (rev 0)
+++ community-x86_64/PKGBUILD   2022-09-19 08:22:54 UTC (rev 1305140)
@@ -0,0 +1,194 @@
+# Maintainer: George Rawlinson <[email protected]>
+# Contributor: OSAMC <https://github.com/osam-cologne/archlinux-proaudio>
+# Contributor: Bleuzen <supgesu at gmail dot com>
+# Contributor: David Runge <[email protected]>
+# Contributor: Florian Hülsmann <[email protected]>
+
+pkgname=surge-xt
+pkgver=1.1.1
+pkgrel=3
+pkgdesc='Subtractive hybrid synthesizer'
+arch=('x86_64')
+url='https://surge-synthesizer.github.io'
+license=('GPL3')
+groups=('pro-audio''vst3-plugins' 'clap-plugins')
+depends=(
+  'glibc'
+  'gcc-libs'
+  'cairo'
+  'fontconfig'
+  'freetype2'
+  'libx11'
+  'libxcb'
+  'libxkbcommon-x11'
+  'xcb-util'
+  'xcb-util-cursor'
+  'xcb-util-image'
+  'xcb-util-keysyms'
+  'xcb-util-renderutil'
+  'xdg-utils'
+  'hicolor-icon-theme'
+  'fmt'
+  'libsamplerate'
+)
+makedepends=(
+  'git'
+  'cmake'
+  'libsndfile'
+  'python'
+  'libxrandr'
+  'libxinerama'
+  'libxcursor'
+  'alsa-lib'
+  'jack'
+  'webkit2gtk'
+  'ripgrep'
+)
+optdepends=(
+  'jack: backend for standalone'
+  'alsa-lib: backend for standalone'
+  'vst3-host: for VST3 plugins'
+  'clap-host: for CLAP plugins'
+)
+options=('!lto' 'debug') # LTO disabled due to crashes at application startup
+_commit='ecf7fe632390e6539685c9538a968c3d367c0f2c'
+source=(
+  "$pkgname::git+https://github.com/surge-synthesizer/surge#commit=$_commit";
+  'improve-reproducibility.patch'
+  'devendor-libs.patch'
+  
'github.com-surge-synthesizer-tuning-library::git+https://github.com/surge-synthesizer/tuning-library'
+  
'github.com-surge-synthesizer-eurorack::git+https://github.com/surge-synthesizer/eurorack'
+  
'github.com-surge-synthesizer-JUCE::git+https://github.com/surge-synthesizer/JUCE'
+  
'github.com-surge-synthesizer-sst-plugininfra::git+https://github.com/surge-synthesizer/sst-plugininfra'
+  
'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-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'
+  
'github.com-simd-everywhere-simde::git+https://github.com/simd-everywhere/simde'
+  'github.com-ODDSound-MTS-ESP::git+https://github.com/ODDSound/MTS-ESP'
+  'github.com-LuaJIT-LuaJIT::git+https://github.com/LuaJIT/LuaJIT'
+  'github.com-taocpp-PEGTL::git+https://github.com/taocpp/PEGTL'
+  'github.com-gulrak-filesystem::git+https://github.com/gulrak/filesystem'
+)
+b2sums=('SKIP'
+        
'6e71b56ffde699319def99e03637d9c3fb6197a6e0637b9f44b52a9207a8e06c8d482c05cdd711ec2c5901f403381dda70e786bca6b56cce14dc449325f24761'
+        
'6bbeef320c380fb8bf9339add847bf7db237a2f93f544c2237e2d51ef9a1f497916539ace523c9b0911acabc755d872d5318170887aa62b27654eee40de6b693'
+        'SKIP'
+        'SKIP'
+        'SKIP'
+        'SKIP'
+        'SKIP'
+        'SKIP'
+        'SKIP'
+        'SKIP'
+        'SKIP'
+        'SKIP'
+        'SKIP'
+        'SKIP'
+        'SKIP'
+        'SKIP'
+        'SKIP')
+
+pkgver() {
+  cd "$pkgname"
+
+  git describe --tags | sed 's/^release_xt_//'
+}
+
+prepare() {
+  cd "$pkgname"
+
+  # explicitly state which submodules to use,
+  # omitting devendored & unused submodules
+  git submodule init \
+    libs/tuning-library \
+    libs/simde \
+    libs/eurorack/eurorack \
+    libs/oddsound-mts/MTS-ESP \
+    libs/JUCE \
+    libs/LuaJitLib/LuaJIT \
+    libs/PEGTL \
+    libs/sst/sst-plugininfra \
+    libs/sst/sst-cpputils \
+    libs/clap-juce-extensions \
+    libs/sst/sst-filters \
+    libs/sst/sst-waveshapers
+
+  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"
+  git config submodule.libs/eurorack/eurorack.url 
"$srcdir/github.com-surge-synthesizer-eurorack"
+  git config submodule.libs/oddsound-mts/MTS-ESP.url 
"$srcdir/github.com-ODDSound-MTS-ESP"
+  git config submodule.libs/JUCE.url 
"$srcdir/github.com-surge-synthesizer-JUCE"
+  git config submodule.libs/LuaJitLib/LuaJIT.url 
"$srcdir/github.com-LuaJIT-LuaJIT"
+  git config submodule.libs/PEGTL.url "$srcdir/github.com-taocpp-PEGTL"
+  git config submodule.libs/sst/sst-plugininfra.url 
"$srcdir/github.com-surge-synthesizer-sst-plugininfra"
+  git config submodule.libs/sst/sst-cpputils.url 
"$srcdir/github.com-surge-synthesizer-sst-cpputils"
+  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 submodule update
+
+  # setup git submodules for clap-juce-extensions
+  pushd libs/clap-juce-extensions
+  git submodule init
+  git config submodule.clap-libs/clap.url "$srcdir/github.com-free-audio-clap"
+  git config submodule.clap-libs/clap-helpers.url 
"$srcdir/github.com-free-audio-clap-helpers"
+  git submodule update
+  popd
+
+  # setup git submodules for sst-plugininfra
+  pushd libs/sst/sst-plugininfra
+  git submodule init
+  git config submodule.libs/filesystem/filesystem.url 
"$srcdir/github.com-gulrak-filesystem"
+  git submodule update
+  popd
+
+  # first shot at improving reproducibility:
+  # https://github.com/surge-synthesizer/surge/issues/2389
+  patch -p1 -i "$srcdir/improve-reproducibility.patch"
+
+  # fix crash
+  # https://github.com/surge-synthesizer/surge/pull/6608
+  git cherry-pick --no-commit 7a5985b0ad669cb4e7d3be73c307e0934833e196
+
+  # devendor libs
+  patch -p1 -i "$srcdir/devendor-libs.patch"
+  rg --files-with-matches 'include "fmt/core.h"' | xargs -I@ sed 
's|"fmt/core.h"|<fmt/core.h>|g' -i @
+  rg --files-with-matches 'include "samplerate.h"' | xargs -I@ sed 
's|"samplerate.h"|<samplerate.h>|g' -i @
+}
+
+build() {
+  # binaries and shared libs have executable stack:
+  # https://github.com/surge-synthesizer/surge/issues/1701
+  export LDFLAGS="$LDFLAGS,-z,noexecstack"
+
+  cmake \
+    -B build \
+    -S "$pkgname" \
+    -DCMAKE_INSTALL_PREFIX='/usr' \
+    -DCMAKE_INSTALL_LIBDIR='/usr/lib' \
+    -DCMAKE_BUILD_TYPE=Release \
+    -W no-dev \
+    -DSURGE_BUILD_TESTRUNNER=OFF
+
+  cmake --build build
+}
+
+package() {
+  DESTDIR="$pkgdir" cmake --install build
+
+  cd "$pkgname"
+
+  # documentation
+  install -vDm644 -t "$pkgdir/usr/share/doc/$pkgname" AUTHORS README.md doc/*
+
+  # application icons & desktop files
+  install -vd "$pkgdir/usr/share/"{applications,icons}
+  cd scripts/installer_linux
+  cp -r assets/icons/hicolor "$pkgdir/usr/share/icons"
+  cp -r assets/icons/scalable "$pkgdir/usr/share/icons/hicolor"
+  install -vDm644 -t "$pkgdir/usr/share/applications" 
assets/applications/*.desktop
+}

Copied: surge-xt/repos/community-x86_64/devendor-libs.patch (from rev 1305139, 
surge-xt/trunk/devendor-libs.patch)
===================================================================
--- community-x86_64/devendor-libs.patch                                (rev 0)
+++ community-x86_64/devendor-libs.patch        2022-09-19 08:22:54 UTC (rev 
1305140)
@@ -0,0 +1,45 @@
+--- a/src/common/CMakeLists.txt
++++ b/src/common/CMakeLists.txt
+@@ -1,14 +1,16 @@
+ # vi:set sw=2 et:
+ project(surge-common)
+ 
++find_package(PkgConfig REQUIRED)
++
+ surge_add_lib_subdirectory(airwindows)
+ surge_add_lib_subdirectory(eurorack)
+-surge_add_lib_subdirectory(fmt)
++pkg_search_module(fmt REQUIRED fmt)
+ surge_add_lib_subdirectory(oddsound-mts)
+ 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(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
+   surge-juce
+   juce::juce_audio_utils
+   juce::juce_audio_processors
++  fmt
+   )
+ 
+ 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
+   juce::juce_audio_plugin_client
+   surge-xt-binary
+   sst-filters-extras
++  fmt
+   )
+ 
+ target_include_directories(${PROJECT_NAME}

Copied: surge-xt/repos/community-x86_64/improve-reproducibility.patch (from rev 
1305139, surge-xt/trunk/improve-reproducibility.patch)
===================================================================
--- community-x86_64/improve-reproducibility.patch                              
(rev 0)
+++ community-x86_64/improve-reproducibility.patch      2022-09-19 08:22:54 UTC 
(rev 1305140)
@@ -0,0 +1,52 @@
+--- a/cmake/versiontools.cmake
++++ b/cmake/versiontools.cmake
+@@ -32,6 +32,27 @@ elseif (Git_FOUND)
+             OUTPUT_VARIABLE GIT_COMMIT_HASH
+             OUTPUT_STRIP_TRAILING_WHITESPACE
+     )
++
++    execute_process(
++            COMMAND ${GIT_EXECUTABLE} show --no-patch --format=%cd 
--date=format:%Y-%m-%d
++            WORKING_DIRECTORY ${SURGESRC}
++            OUTPUT_VARIABLE GIT_COMMIT_DATE
++            OUTPUT_STRIP_TRAILING_WHITESPACE
++    )
++
++    execute_process(
++            COMMAND ${GIT_EXECUTABLE} show --no-patch --format=%cd 
--date=format:%Y
++            WORKING_DIRECTORY ${SURGESRC}
++            OUTPUT_VARIABLE GIT_COMMIT_YEAR
++            OUTPUT_STRIP_TRAILING_WHITESPACE
++    )
++
++    execute_process(
++            COMMAND ${GIT_EXECUTABLE} show --no-patch --format=%cd 
--date=format:%H:%M:%S
++            WORKING_DIRECTORY ${SURGESRC}
++            OUTPUT_VARIABLE GIT_COMMIT_TIME
++            OUTPUT_STRIP_TRAILING_WHITESPACE
++    )
+ endif ()
+ 
+ if ("${GIT_BRANCH}" STREQUAL "")
+@@ -74,7 +74,7 @@ else ()
+     )
+ endif ()
+ 
+-cmake_host_system_information(RESULT SURGE_BUILD_FQDN QUERY FQDN)
++set(SURGE_BUILD_FQDN "archlinux")
+ 
+ message(STATUS "Setting up surge version")
+ message(STATUS "  git hash is ${GIT_COMMIT_HASH} and branch is ${GIT_BRANCH}")
+@@ -109,9 +130,9 @@ set(SURGE_BUILD_HASH "${GIT_COMMIT_HASH}")
+ set(SURGE_BUILD_LOCATION "${lpipeline}")
+ set(SURGE_BUILD_IS_RELEASE "${isrelease}")
+ 
+-string(TIMESTAMP SURGE_BUILD_DATE "%Y-%m-%d")
+-string(TIMESTAMP SURGE_BUILD_YEAR "%Y")
+-string(TIMESTAMP SURGE_BUILD_TIME "%H:%M:%S")
++string(TIMESTAMP SURGE_BUILD_DATE "${GIT_COMMIT_DATE}")
++string(TIMESTAMP SURGE_BUILD_YEAR "${GIT_COMMIT_YEAR}")
++string(TIMESTAMP SURGE_BUILD_TIME "${GIT_COMMIT_TIME}")
+ 
+ message(STATUS "Using SURGE_VERSION=${SURGE_FULL_VERSION}")
+ 

Reply via email to