diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2024-01-31 00:37:59 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2024-01-31 12:15:28 +0100 |
commit | c153dde590d03a7cae249141569578a253399bfb (patch) | |
tree | 0b457b8e2cff1b4ec266239835094db86e6a5615 /media-sound/supercollider | |
parent | media-sound/supercollider: Fix build with GCC-13 (diff) | |
download | gentoo-c153dde590d03a7cae249141569578a253399bfb.tar.gz gentoo-c153dde590d03a7cae249141569578a253399bfb.tar.bz2 gentoo-c153dde590d03a7cae249141569578a253399bfb.zip |
media-sound/supercollider: Fix ccache automagic
See also: https://github.com/supercollider/supercollider/pull/6209
Closes: https://bugs.gentoo.org/922095
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'media-sound/supercollider')
-rw-r--r-- | media-sound/supercollider/files/supercollider-3.13.0-no-ccache.patch | 169 | ||||
-rw-r--r-- | media-sound/supercollider/supercollider-3.13.0.ebuild | 2 |
2 files changed, 171 insertions, 0 deletions
diff --git a/media-sound/supercollider/files/supercollider-3.13.0-no-ccache.patch b/media-sound/supercollider/files/supercollider-3.13.0-no-ccache.patch new file mode 100644 index 000000000000..ad3b03509e61 --- /dev/null +++ b/media-sound/supercollider/files/supercollider-3.13.0-no-ccache.patch @@ -0,0 +1,169 @@ +From bab60d91bd362fd1e46b79d64aaba747fe7c60fa Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <asturm@gentoo.org> +Date: Wed, 31 Jan 2024 00:31:11 +0100 +Subject: [PATCH] Make ccache detection an option + +Arguably it should not even be enabled by default, +but at least it should be optional. + +Consolidate ccache detection in one block. + +Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> +--- + CMakeLists.txt | 122 +++++++++++++++++++++++++------------------------ + 1 file changed, 62 insertions(+), 60 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ad5ea5b49..73411ae9e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -46,32 +46,6 @@ CONFIGURE_FILE( + "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" + IMMEDIATE @ONLY) + +-# workaround for using ccache with Xcode generator +-# thanks to Craig Scott: https://crascit.com/2016/04/09/using-ccache-with-cmake/ +-get_property(RULE_LAUNCH_COMPILE GLOBAL PROPERTY RULE_LAUNCH_COMPILE) +-if(RULE_LAUNCH_COMPILE AND CMAKE_GENERATOR STREQUAL "Xcode") +- +- # find ccache +- find_program(CCACHE_PROGRAM ccache) +- +- message(STATUS "Xcode and ccache detected: using ccache to speed up build process") +- +- # Set up wrapper scripts +- set(SC_LAUNCH_C_SCRIPT "${CMAKE_BINARY_DIR}/launch-c") +- set(SC_LAUNCH_CXX_SCRIPT "${CMAKE_BINARY_DIR}/launch-cxx") +- +- configure_file("cmake_modules/launch-c.in" launch-c) +- configure_file("cmake_modules/launch-cxx.in" launch-cxx) +- execute_process(COMMAND chmod a+rx "${SC_LAUNCH_C_SCRIPT}" "${SC_LAUNCH_CXX_SCRIPT}") +- +- # Set Xcode project attributes to route compilation and linking +- # through our scripts +- set(CMAKE_XCODE_ATTRIBUTE_CC "${SC_LAUNCH_C_SCRIPT}") +- set(CMAKE_XCODE_ATTRIBUTE_CXX "${SC_LAUNCH_CXX_SCRIPT}") +- set(CMAKE_XCODE_ATTRIBUTE_LD "${SC_LAUNCH_C_SCRIPT}") +- set(CMAKE_XCODE_ATTRIBUTE_LDPLUSPLUS "${SC_LAUNCH_CXX_SCRIPT}") +-endif() +- + ADD_CUSTOM_TARGET(uninstall + "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") + +@@ -147,44 +121,11 @@ endif() + + add_definitions(-DBOOST_CHRONO_HEADER_ONLY -DBOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE) + +- +-############################################# +-# Detect CCache +- +-find_program(CCacheExectuable ccache) +-if( CCacheExectuable ) +- # only used with >=cmake-3.4 +- set( CMAKE_C_COMPILER_LAUNCHER "${CCacheExectuable}" ) +- set( CMAKE_CXX_COMPILER_LAUNCHER "${CCacheExectuable}" ) +- if(NOT CMAKE_GENERATOR MATCHES "Xcode" AND (NOT CMAKE_GENERATOR MATCHES "Visual Studio")) # we already post a message when using Xcode or MSVC +- message(STATUS "Found ccache at ${CCacheExectuable}: using ccache to speed up build process") +- endif() +- +- # fix for Visual Studio adapted from https://github.com/ccache/ccache/wiki/MS-Visual-Studio#usage +- # NOTE: there is an issue with ccache installed from chocolatey +- # since chocolatey puts a "shim" as opposed to the actual executable in the PATH +- # the solution is to add the path to the actual ccache executable earlier in the path +- # e.g. in bash: export PATH=`echo c:/ProgramData/chocolatey/lib/ccache/tools/ccache*`:$PATH +- if (MSVC) +- message(STATUS "Found ccache at ${CCacheExectuable}: using ccache with MSVC to speed up build process") +- file(COPY_FILE +- ${CCacheExectuable} ${CMAKE_BINARY_DIR}/cl.exe +- ONLY_IF_DIFFERENT) +- +- set(CMAKE_VS_GLOBALS +- "CLToolExe=cl.exe" +- "CLToolPath=${CMAKE_BINARY_DIR}" +- "TrackFileAccess=false" +- "UseMultiToolTask=true" +- "DebugInformationFormat=OldStyle" +- ) +- endif() +-endif() +- + ############################################# + # Options + option(NOVA_SIMD "Build with nova-simd support." ON) + option(FINAL_BUILD "Build as single source file." OFF) ++option(USE_CCACHE "Use ccache if available." ON) + + option(FFT_GREEN "Use internal 'Green' FFT lib rather than FFTW. (Not recommended.)" OFF) + +@@ -285,6 +226,67 @@ if(APPLE) + option(SC_VERIFY_APP "Run verify_app on the app bundle" OFF) + endif() + ++############################################# ++# Detect CCache ++ ++if(USE_CCACHE) ++ # workaround for using ccache with Xcode generator ++ # thanks to Craig Scott: https://crascit.com/2016/04/09/using-ccache-with-cmake/ ++ get_property(RULE_LAUNCH_COMPILE GLOBAL PROPERTY RULE_LAUNCH_COMPILE) ++ if(RULE_LAUNCH_COMPILE AND CMAKE_GENERATOR STREQUAL "Xcode") ++ ++ # find ccache ++ find_program(CCACHE_PROGRAM ccache) ++ ++ message(STATUS "Xcode and ccache detected: using ccache to speed up build process") ++ ++ # Set up wrapper scripts ++ set(SC_LAUNCH_C_SCRIPT "${CMAKE_BINARY_DIR}/launch-c") ++ set(SC_LAUNCH_CXX_SCRIPT "${CMAKE_BINARY_DIR}/launch-cxx") ++ ++ configure_file("cmake_modules/launch-c.in" launch-c) ++ configure_file("cmake_modules/launch-cxx.in" launch-cxx) ++ execute_process(COMMAND chmod a+rx "${SC_LAUNCH_C_SCRIPT}" "${SC_LAUNCH_CXX_SCRIPT}") ++ ++ # Set Xcode project attributes to route compilation and linking ++ # through our scripts ++ set(CMAKE_XCODE_ATTRIBUTE_CC "${SC_LAUNCH_C_SCRIPT}") ++ set(CMAKE_XCODE_ATTRIBUTE_CXX "${SC_LAUNCH_CXX_SCRIPT}") ++ set(CMAKE_XCODE_ATTRIBUTE_LD "${SC_LAUNCH_C_SCRIPT}") ++ set(CMAKE_XCODE_ATTRIBUTE_LDPLUSPLUS "${SC_LAUNCH_CXX_SCRIPT}") ++ endif() ++ ++ find_program(CCacheExectuable ccache) ++ if( CCacheExectuable ) ++ # only used with >=cmake-3.4 ++ set( CMAKE_C_COMPILER_LAUNCHER "${CCacheExectuable}" ) ++ set( CMAKE_CXX_COMPILER_LAUNCHER "${CCacheExectuable}" ) ++ if(NOT CMAKE_GENERATOR MATCHES "Xcode" AND (NOT CMAKE_GENERATOR MATCHES "Visual Studio")) # we already post a message when using Xcode or MSVC ++ message(STATUS "Found ccache at ${CCacheExectuable}: using ccache to speed up build process") ++ endif() ++ ++ # fix for Visual Studio adapted from https://github.com/ccache/ccache/wiki/MS-Visual-Studio#usage ++ # NOTE: there is an issue with ccache installed from chocolatey ++ # since chocolatey puts a "shim" as opposed to the actual executable in the PATH ++ # the solution is to add the path to the actual ccache executable earlier in the path ++ # e.g. in bash: export PATH=`echo c:/ProgramData/chocolatey/lib/ccache/tools/ccache*`:$PATH ++ if (MSVC) ++ message(STATUS "Found ccache at ${CCacheExectuable}: using ccache with MSVC to speed up build process") ++ file(COPY_FILE ++ ${CCacheExectuable} ${CMAKE_BINARY_DIR}/cl.exe ++ ONLY_IF_DIFFERENT) ++ ++ set(CMAKE_VS_GLOBALS ++ "CLToolExe=cl.exe" ++ "CLToolPath=${CMAKE_BINARY_DIR}" ++ "TrackFileAccess=false" ++ "UseMultiToolTask=true" ++ "DebugInformationFormat=OldStyle" ++ ) ++ endif() ++ endif() ++endif() ++ + ############################################# + # some default libraries + +-- +2.43.0 + diff --git a/media-sound/supercollider/supercollider-3.13.0.ebuild b/media-sound/supercollider/supercollider-3.13.0.ebuild index b0e05051ca89..2b8ee8636dd3 100644 --- a/media-sound/supercollider/supercollider-3.13.0.ebuild +++ b/media-sound/supercollider/supercollider-3.13.0.ebuild @@ -64,6 +64,7 @@ DEPEND="${RDEPEND} PATCHES=( "${FILESDIR}/${P}-boost-1.84.patch" # bug 921595 "${FILESDIR}/${P}-gcc-13.patch" # bug 905127 + "${FILESDIR}/${P}-no-ccache.patch" # bug 922095 ) src_configure() { @@ -72,6 +73,7 @@ src_configure() { -DINSTALL_HELP=ON -DSYSTEM_BOOST=ON -DSYSTEM_YAMLCPP=ON + -DUSE_CCACHE=OFF -DSC_ABLETON_LINK=$(usex ableton-link) -DSSE=$(usex cpu_flags_x86_sse) -DSSE2=$(usex cpu_flags_x86_sse2) |