From 1c17819457b053bac02aad2c7e48c899e6a006cc Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Mon, 16 Nov 2020 14:56:09 +0000 Subject: [PATCH] community/supercollider to 3.11.2-1 --- community/supercollider/PKGBUILD | 18 +- ...percollider-3.11.1-fix_linker_errors.patch | 322 ------------------ 2 files changed, 10 insertions(+), 330 deletions(-) delete mode 100644 community/supercollider/supercollider-3.11.1-fix_linker_errors.patch diff --git a/community/supercollider/PKGBUILD b/community/supercollider/PKGBUILD index a451f6c2c..25dc2f3f3 100644 --- a/community/supercollider/PKGBUILD +++ b/community/supercollider/PKGBUILD @@ -7,8 +7,8 @@ _name=SuperCollider pkgname=supercollider -pkgver=3.11.1 -pkgrel=2 +pkgver=3.11.2 +pkgrel=1 pkgdesc="Environment and programming language for real time audio synthesis and algorithmic composition" arch=('x86_64') url="https://supercollider.github.io" @@ -25,17 +25,17 @@ optdepends=('emacs: emacs interface' provides=('libscsynth.so' "sclang=${pkgver}" "scsynth=${pkgver}") source=("https://github.com/${pkgname}/${pkgname}/releases/download/Version-${pkgver}/${_name}-${pkgver}-Source.tar.bz2"{,.asc} "${pkgname}-3.11.1-devendor_abletonlink.patch::https://github.com/supercollider/supercollider/pull/4836/commits/95bd9721226f3cb1bba903bea8154cee5859cfb8.patch" - "${pkgname}-3.11.1-fix_linker_errors.patch" + "${pkgname}-3.11.2-fix_4992.patch::https://github.com/dvzrv/supercollider/commit/9563fb5e73425a2ee0370162178964cceb559d5d.patch" ) install="${pkgname}.install" -sha512sums=('5c4c5ba75f32ee7dda9a9e30c346ff028aedce81374474b4ee93fb8dc631f7b6ea54e91706b3502be6ed84baa69f6d659fcddaf5140ca292827d62734efbd6b2' +sha512sums=('636062c6acf8be43260632287b587f167352079c4e86ede34d1c6056180bfdb3ae50d6a3ff4f349327a3ab6af0eb01ac503d6b22667b4799dfcddd9c6489a23c' 'SKIP' '6a31c8c2edd102b806cfe110c2f27516e9fe05a7b074d50e14d5aad69cb80a2badfcb3a20f942d6dee90dfaf4bf5ae7eb8b8ef8c517ea8e0110bee7f0c2c4f40' - '900f6559986ba80fe5aa8a05881f1ccfc2ae01d5b18dc0cf963bf86bfb7cbc0b77dfb9a4f059e588c9563c2ef9f8632731f3d046b79d8bfdffa88111cae7c52a') -b2sums=('0fed25646c7163e8e13ae27024a25206f1ea141c5c23b93d7a1f4c00a30f0ce15a084b73eccb424f724f2000db138e3539b568045afddcfd612cf5dab99cb94d' + '9cf9f96c91f267a9f1a4ab423731d87c808acee84c06a81f58821caffab433d099d198df85f1e3829e772d59028907eb65fec155c6e31fee010e2573084b5c7c') +b2sums=('3713561e5ebee6dd4c08baa8aaaf4a422ab983480c76b2176373ce3cd080128f9392b50482e02dc82dce235e928d058c42722e0863dad9f6d2dd086894cd85da' 'SKIP' 'c589ea2451b4c232fa34de1b442e6822fb5867475b0e0bb7b94563cbfac54f09f47a7be8cf1e9f4a2896ffa678db40d718ec9ee301ad037eaebeb71772e773e4' - 'b8d0b153d08dcf98b5b2c385c52a1c446086f4c795f34840bf1a55f8eccdf53e262fcfb8b7245332919d1b932e5887dc20236ad35df29c4712853d2676e89a20') + '1037589e0210d4ca86986a44c657539d2ffb6ca1684777b5bd38dfe3fdadfcd3d14df4d16a4af29643ca15647e96915e99866bb04626e8947ab38ae4d303225f') validpgpkeys=('0B7D1EA4E32B5C3C4275D3C70796CC538BEFF177') # Brian Heim @@ -45,10 +45,12 @@ prepare() { # devendoring Ableton Link: # https://github.com/supercollider/supercollider/issues/4818 # https://github.com/supercollider/supercollider/pull/4836 + echo "Applying patch: ../${pkgname}-3.11.1-devendor_abletonlink.patch" patch -Np1 -i "../${pkgname}-3.11.1-devendor_abletonlink.patch" # fix linker issues with libscsynth.so (backported patch) # https://github.com/supercollider/supercollider/issues/4992 - patch -Np1 -i "../${pkgname}-3.11.1-fix_linker_errors.patch" + echo "Applying patch: ../${pkgname}-3.11.2-fix_4992.patch" + patch -Np1 -i "../${pkgname}-3.11.2-fix_4992.patch" } build() { diff --git a/community/supercollider/supercollider-3.11.1-fix_linker_errors.patch b/community/supercollider/supercollider-3.11.1-fix_linker_errors.patch deleted file mode 100644 index 600afbce2..000000000 --- a/community/supercollider/supercollider-3.11.1-fix_linker_errors.patch +++ /dev/null @@ -1,322 +0,0 @@ -From 993b6bc06aa4b9c6eaf47cfdd9363a28b1494b2c Mon Sep 17 00:00:00 2001 -From: brianlheim -Date: Sat, 13 Jun 2020 13:23:22 -0500 -Subject: [PATCH 1/2] cmake: compile boost::filesystem with PIC - ---- - external_libraries/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/external_libraries/CMakeLists.txt b/external_libraries/CMakeLists.txt -index 39330ff85c..5017abd891 100644 ---- a/external_libraries/CMakeLists.txt -+++ b/external_libraries/CMakeLists.txt -@@ -58,6 +58,7 @@ if(NOT SYSTEM_BOOST) # we compile boost ourselves - - - if(CMAKE_SYSTEM_NAME MATCHES "Linux") -+ target_compile_options(boost_filesystem_lib PRIVATE -fPIC) - target_compile_options(boost_thread_lib PRIVATE -fPIC) - target_link_libraries(boost_thread_lib rt) - endif() - -From bdd624b40b9eacd6efcdccccc72879d044686b56 Mon Sep 17 00:00:00 2001 -From: brianlheim -Date: Sat, 13 Jun 2020 13:35:32 -0500 -Subject: [PATCH 2/2] servers: separate out main-only EventLoop code - -otherwise, we get linking errors on macOS - -see also #5012, #5013 ---- - common/SC_Apple.hpp | 14 ------ - common/SC_Apple.mm | 60 ------------------------- - common/SC_AppleEventLoop.hpp | 34 ++++++++++++++ - common/SC_AppleEventLoop.mm | 80 +++++++++++++++++++++++++++++++++ - common/SC_EventLoop.hpp | 3 +- - server/scsynth/CMakeLists.txt | 8 +++- - server/supernova/CMakeLists.txt | 9 +++- - 7 files changed, 131 insertions(+), 77 deletions(-) - create mode 100644 common/SC_AppleEventLoop.hpp - create mode 100644 common/SC_AppleEventLoop.mm - -diff --git a/common/SC_Apple.hpp b/common/SC_Apple.hpp -index 958d097f36..c7e53e9fcc 100644 ---- a/common/SC_Apple.hpp -+++ b/common/SC_Apple.hpp -@@ -23,19 +23,5 @@ namespace SC { namespace Apple { - - void disableAppNap(); - --namespace EventLoop { -- --// Setup the main application. This function must be called in the --// main thread and before any other calls to Cocoa methods. --void setup(); --// Run the event loop. This function must be called in the main thread. --// It blocks until the event loop finishes. --void run(); --// Ask the event loop to stop and terminate the program. --// This function can be called from any thread. --void quit(); -- --} // EventLoop -- - } // namespace Apple - } // namespace SC -diff --git a/common/SC_Apple.mm b/common/SC_Apple.mm -index a4e10a66cd..dbb7ddbb7d 100644 ---- a/common/SC_Apple.mm -+++ b/common/SC_Apple.mm -@@ -42,65 +42,5 @@ void disableAppNap() { - } - } - --namespace EventLoop { -- --static std::atomic_bool g_running; -- --void setup() { -- // The following code would transform the process into a foreground application. -- // For now it's the plugin's responsibility to do this (early or lazily) -- // because we don't want to always show an icon in the docker. -- // ProcessSerialNumber psn = { 0, kCurrentProcess }; -- // TransformProcessType(&psn, kProcessTransformToForegroundApplication); -- -- // Create NSApplication -- [NSApplication sharedApplication]; --} -- --void run() { --#if 0 -- // this doesn't work... -- [NSApp run]; --#else -- // Kudos to https://www.cocoawithlove.com/2009/01/demystifying-nsapplication-by.html -- NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; -- -- [NSApp finishLaunching]; -- g_running = true; -- -- while (g_running) { -- [pool release]; -- pool = [[NSAutoreleasePool alloc] init]; -- NSEvent* event = [NSApp nextEventMatchingMask:NSAnyEventMask -- untilDate:[NSDate distantFuture] -- inMode:NSDefaultRunLoopMode -- dequeue:YES]; -- if (event) { -- [NSApp sendEvent:event]; -- [NSApp updateWindows]; -- } -- } -- [pool release]; --#endif --} -- --void quit() { -- // break from event loop instead of [NSApp terminate:nil] -- g_running = false; -- // send dummy event to wake up event loop -- NSEvent* event = [NSEvent otherEventWithType:NSApplicationDefined -- location:NSMakePoint(0, 0) -- modifierFlags:0 -- timestamp:0 -- windowNumber:0 -- context:nil -- subtype:0 -- data1:0 -- data2:0]; -- [NSApp postEvent:event atStart:NO]; --} -- --} // EventLoop -- - } // namespace Apple - } // namespace SC -diff --git a/common/SC_AppleEventLoop.hpp b/common/SC_AppleEventLoop.hpp -new file mode 100644 -index 0000000000..6f19bb2818 ---- /dev/null -+++ b/common/SC_AppleEventLoop.hpp -@@ -0,0 +1,34 @@ -+/************************************************************************ -+ * -+ * Copyright 2019 Christof Ressi -+ * -+ * This program is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation, either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program. If not, see . -+ * -+ ************************************************************************/ -+ -+#pragma once -+ -+namespace SC { namespace Apple { namespace EventLoop { -+ -+// Setup the main application. This function must be called in the -+// main thread and before any other calls to Cocoa methods. -+void setup(); -+// Run the event loop. This function must be called in the main thread. -+// It blocks until the event loop finishes. -+void run(); -+// Ask the event loop to stop and terminate the program. -+// This function can be called from any thread. -+void quit(); -+ -+}}} // namespace SC::Apple::EventLoop -diff --git a/common/SC_AppleEventLoop.mm b/common/SC_AppleEventLoop.mm -new file mode 100644 -index 0000000000..cfcf42ddfe ---- /dev/null -+++ b/common/SC_AppleEventLoop.mm -@@ -0,0 +1,80 @@ -+/************************************************************************ -+ * -+ * Copyright 2019 Christof Ressi -+ * -+ * This program is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation, either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program. If not, see . -+ * -+ ************************************************************************/ -+ -+#include "SC_AppleEventLoop.hpp" -+#include -+ -+#import -+ -+namespace SC { namespace Apple { namespace EventLoop { -+ -+static std::atomic_bool g_running; -+ -+void setup() { -+ // The following code would transform the process into a foreground application. -+ // For now it's the plugin's responsibility to do this (early or lazily) -+ // because we don't want to always show an icon in the docker. -+ // ProcessSerialNumber psn = { 0, kCurrentProcess }; -+ // TransformProcessType(&psn, kProcessTransformToForegroundApplication); -+ -+ // Create NSApplication -+ [NSApplication sharedApplication]; -+} -+ -+void run() { -+ // this doesn't work... -+ // [NSApp run]; -+ // Kudos to https://www.cocoawithlove.com/2009/01/demystifying-nsapplication-by.html -+ NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; -+ -+ [NSApp finishLaunching]; -+ g_running = true; -+ -+ while (g_running) { -+ [pool release]; -+ pool = [[NSAutoreleasePool alloc] init]; -+ NSEvent* event = [NSApp nextEventMatchingMask:NSAnyEventMask -+ untilDate:[NSDate distantFuture] -+ inMode:NSDefaultRunLoopMode -+ dequeue:YES]; -+ if (event) { -+ [NSApp sendEvent:event]; -+ [NSApp updateWindows]; -+ } -+ } -+ [pool release]; -+} -+ -+void quit() { -+ // break from event loop instead of [NSApp terminate:nil] -+ g_running = false; -+ // send dummy event to wake up event loop -+ NSEvent* event = [NSEvent otherEventWithType:NSApplicationDefined -+ location:NSMakePoint(0, 0) -+ modifierFlags:0 -+ timestamp:0 -+ windowNumber:0 -+ context:nil -+ subtype:0 -+ data1:0 -+ data2:0]; -+ [NSApp postEvent:event atStart:NO]; -+} -+ -+}}} // namespace SC::Apple::EventLoop -diff --git a/common/SC_EventLoop.hpp b/common/SC_EventLoop.hpp -index 1d62b4de89..6e58208cc0 100644 ---- a/common/SC_EventLoop.hpp -+++ b/common/SC_EventLoop.hpp -@@ -2,7 +2,7 @@ - - #include - #ifdef __APPLE__ --# include "SC_Apple.hpp" -+# include "SC_AppleEventLoop.hpp" - # include - #endif - -@@ -21,6 +21,7 @@ class EventLoop { - SC::Apple::EventLoop::setup(); - #endif - } -+ - // Run the event loop until 'waitFunction' returns. - static void run(std::function waitFunction) { - #ifdef __APPLE__ -diff --git a/server/scsynth/CMakeLists.txt b/server/scsynth/CMakeLists.txt -index 0bab0f2c3a..0845d8721b 100644 ---- a/server/scsynth/CMakeLists.txt -+++ b/server/scsynth/CMakeLists.txt -@@ -229,7 +229,13 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux") - target_link_libraries(libscsynth rt) - endif() - --add_executable(scsynth scsynth_main.cpp) -+add_executable(scsynth -+ scsynth_main.cpp -+ -+ # these files contain code only used in main() -+ ${CMAKE_SOURCE_DIR}/common/SC_ServerBootDelayWarning.cpp -+ $<$: ${CMAKE_SOURCE_DIR}/common/SC_AppleEventLoop.mm > -+ ) - target_link_libraries(scsynth libscsynth) - - if (PTHREADS_FOUND) -diff --git a/server/supernova/CMakeLists.txt b/server/supernova/CMakeLists.txt -index d6423c75cb..4a3e2c8baf 100644 ---- a/server/supernova/CMakeLists.txt -+++ b/server/supernova/CMakeLists.txt -@@ -201,7 +201,14 @@ if(WIN32) - endif() - - --add_executable(supernova server/main.cpp ${supernova_headers}) -+add_executable(supernova -+ server/main.cpp -+ ${supernova_headers} -+ -+ # these files contain code only used in main() -+ ${CMAKE_SOURCE_DIR}/common/SC_ServerBootDelayWarning.cpp -+ $<$: ${CMAKE_SOURCE_DIR}/common/SC_AppleEventLoop.mm > -+ ) - target_link_libraries(supernova libsupernova) - - if(WIN32)