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}")
+