From: Stuart Henderson Subject: Re: Poison ccache and sccache To: "Anthony J. Bentley" Cc: ports@openbsd.org Date: Wed, 9 Sep 2026 14:41:02 +0100 On 2026/09/09 04:59, Anthony J. Bentley wrote: > There are probably still several ports with hidden deps on ccache. > This should catch them. > > If upstream has a knob to turn off ccache, the port should use it. > If there isn't one, we can at least add an explicit build dependency. I agree with poisoning and have done a test build on i386 that way. At least these need to go in first though (there may be some !i386 ports that need it too). Index: editors/neovim/patches/patch-cmake_Deps_cmake =================================================================== RCS file: editors/neovim/patches/patch-cmake_Deps_cmake diff -N editors/neovim/patches/patch-cmake_Deps_cmake --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ editors/neovim/patches/patch-cmake_Deps_cmake 9 Sep 2026 13:37:18 -0000 @@ -0,0 +1,20 @@ +don't pick up ccache; ports is capable of using ccache by itself, and doing +it this way breaks PORTS_PRIVSEP + +Index: cmake/Deps.cmake +--- cmake/Deps.cmake.orig ++++ cmake/Deps.cmake +@@ -17,13 +17,6 @@ if(APPLE) + list(APPEND DEPS_CMAKE_ARGS -D CMAKE_FIND_FRAMEWORK=${CMAKE_FIND_FRAMEWORK}) + endif() + +-find_program(CACHE_PRG NAMES ccache sccache) +-mark_as_advanced(CACHE_PRG) +-if(CACHE_PRG) +- set(CMAKE_C_COMPILER_LAUNCHER ${CMAKE_COMMAND} -E env CCACHE_SLOPPINESS=pch_defines,time_macros ${CACHE_PRG}) +- list(APPEND DEPS_CMAKE_CACHE_ARGS -DCMAKE_C_COMPILER_LAUNCHER:STRING=${CMAKE_C_COMPILER_LAUNCHER}) +-endif() +- + # MAKE_PRG + if(UNIX) + find_program(MAKE_PRG NAMES gmake make) Index: games/devilutionx/Makefile =================================================================== RCS file: /cvs/ports/games/devilutionx/Makefile,v diff -u -p -r1.21 Makefile --- games/devilutionx/Makefile 23 Jul 2026 10:18:01 -0000 1.21 +++ games/devilutionx/Makefile 9 Sep 2026 13:37:18 -0000 @@ -11,7 +11,7 @@ SITES = ${SITES_GITHUB} SITES.a = https://github.com/diasurgical/devilutionX/releases/download/${GH_TAGNAME}/ DISTFILES = ${GH_DISTFILE} -DISTFILES.a = devilutionx-src-${GH_TAGNAME}{devilutionx-src}.tar.xz +DISTFILES.a = devilutionx-src-${GH_TAGNAME}{devilutionx-src}.tar.xz # Sustainable Use License 1.0 PERMIT_PACKAGE = Yes @@ -54,7 +54,8 @@ CONFIGURE_ARGS = -DCMAKE_BUILD_TYPE=Rele NO_TEST = Yes -FIX_CRLF_FILES = 3rdParty/libsmackerdec/CMakeLists.txt \ +FIX_CRLF_FILES = CMakeLists.txt \ + 3rdParty/libsmackerdec/CMakeLists.txt \ 3rdParty/simpleini/CMakeLists.txt \ CMake/Dependencies.cmake \ Source/CMakeLists.txt \ Index: games/devilutionx/patches/patch-CMakeLists_txt =================================================================== RCS file: games/devilutionx/patches/patch-CMakeLists_txt diff -N games/devilutionx/patches/patch-CMakeLists_txt --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ games/devilutionx/patches/patch-CMakeLists_txt 9 Sep 2026 13:37:18 -0000 @@ -0,0 +1,16 @@ +Index: CMakeLists.txt +--- CMakeLists.txt.orig ++++ CMakeLists.txt +@@ -219,12 +219,6 @@ if(PIE) + set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) + endif() + +-find_program(CCACHE_PROGRAM ccache) +-if(CCACHE_PROGRAM) +- set(CMAKE_C_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") +- set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") +-endif() +- + if(DEVILUTIONX_DISABLE_RTTI) + if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") Index: textproc/libunicode/Makefile =================================================================== RCS file: /cvs/ports/textproc/libunicode/Makefile,v diff -u -p -r1.5 Makefile --- textproc/libunicode/Makefile 13 Sep 2025 17:07:36 -0000 1.5 +++ textproc/libunicode/Makefile 9 Sep 2026 13:37:18 -0000 @@ -30,7 +30,8 @@ CONFIGURE_STYLE = cmake # to avoid "Can not find target to add properties to: Catch2" error, # set LIBUNICODE_TESTING=OFF (and Catch2 is not used) -CONFIGURE_ARGS = -DLIBUNICODE_TESTING=OFF \ +CONFIGURE_ARGS = -DCCACHE=OFF \ + -DLIBUNICODE_TESTING=OFF \ -DLIBUNICODE_UCD_DIR=${LOCALBASE}/share/unicode/ucd .if ${MACHINE_ARCH} != "amd64" && ${MACHINE_ARCH} != "aarch64" Index: games/commandergenius/patches/patch-CMakeLists_txt =================================================================== RCS file: /cvs/ports/games/commandergenius/patches/patch-CMakeLists_txt,v diff -u -p -r1.1.1.1 patch-CMakeLists_txt --- games/commandergenius/patches/patch-CMakeLists_txt 13 Jul 2026 20:32:22 -0000 1.1.1.1 +++ games/commandergenius/patches/patch-CMakeLists_txt 9 Sep 2026 13:37:18 -0000 @@ -17,7 +17,21 @@ Index: CMakeLists.txt SET(DOCDIR ${DATADIR} CACHE PATH "Docs destination") SET(ICONDIR "${SHAREDIR}/icons/hicolor" CACHE PATH "Standard icon installation dir") SET(DESKTOPFILESDIR "${SHAREDIR}/applications" CACHE PATH "Application installation dir") -@@ -230,7 +232,7 @@ endif(GIT_FOUND) +@@ -202,13 +204,6 @@ IF (DUMP_MTCS) + ADD_DEFINITIONS(-DDUMP_MTCS) + endif(DUMP_MTCS) + +-find_program(CCACHE_FOUND ccache) +-if(CCACHE_FOUND) +- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) +- set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) # Less useful to do it for linking, see edit2 +- message(STATUS "Using ccache for faster builds") +-endif(CCACHE_FOUND) +- + # Will pass the SHA and branch strings to the executable + find_program(GIT_FOUND git) + if(GIT_FOUND) +@@ -230,7 +225,7 @@ endif(GIT_FOUND) # Pass correct definition for SYSTEM_DATA_DIR so packager or distributors can decide where the app should land in if(UNIX AND NOT IOS) Index: games/returntotheroots/patches/patch-CMakeLists_txt =================================================================== RCS file: games/returntotheroots/patches/patch-CMakeLists_txt diff -N games/returntotheroots/patches/patch-CMakeLists_txt --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ games/returntotheroots/patches/patch-CMakeLists_txt 9 Sep 2026 13:37:18 -0000 @@ -0,0 +1,12 @@ +Index: CMakeLists.txt +--- CMakeLists.txt.orig ++++ CMakeLists.txt +@@ -27,8 +27,6 @@ if(CMAKE_VERSION VERSION_LESS 3.14) + list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/external/libutil/cmake/cmake_3.14") + endif() + +-include(EnableCCache) +- + set(checkSubmodules FALSE) + # Figure out RTTR_REVISION (git hash) and RTTR_VERSION (date) + # Those can be manually set to override the default values Index: geo/sfcgal/Makefile =================================================================== RCS file: /cvs/ports/geo/sfcgal/Makefile,v diff -u -p -r1.7 Makefile --- geo/sfcgal/Makefile 10 May 2026 15:17:00 -0000 1.7 +++ geo/sfcgal/Makefile 9 Sep 2026 13:37:18 -0000 @@ -33,6 +33,7 @@ WANTLIB += boost_program_options-mt boos WANTLIB += boost_timer-mt boost_unit_test_framework-mt gmp gmpxx WANTLIB += m mpfr -CONFIGURE_ARGS += -DSFCGAL_BUILD_TESTS:BOOL=ON +CONFIGURE_ARGS += -DSFCGAL_BUILD_TESTS:BOOL=ON \ + -DUSE_CCACHE=OFF .include