sci-electronics/yosys: fix flags, CMake 4 and S=WORKDIR QA

Strip the hardcoded -O3, -ggdb and -fPIE so user flags win, bump the
bundled cxxopts and abc cmake minimums, and unpack into a subdirectory.

Closes: https://bugs.gentoo.org/979741
Closes: https://bugs.gentoo.org/979742
Closes: https://bugs.gentoo.org/979747
Signed-off-by: Huang Rui <vowstar@gmail.com>
This commit is contained in:
Huang Rui committed 2026-07-24 04:06:37 -07:00
1 parent 1d7d875bff
commit fe16a1c869
3 files changed
+60 -1

No files matched your search

@@ -0,0 +1,24 @@
--- a/libs/cxxopts/test/add-subdirectory-test/CMakeLists.txt 2026-07-24 02:58:37.615590179 -0700
+++ b/libs/cxxopts/test/add-subdirectory-test/CMakeLists.txt 2026-07-24 02:58:58.775346667 -0700
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.10)
project(cxxopts-test)
--- a/libs/cxxopts/test/find-package-test/CMakeLists.txt 2026-07-24 02:58:37.616579140 -0700
+++ b/libs/cxxopts/test/find-package-test/CMakeLists.txt 2026-07-24 02:58:58.775391796 -0700
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.10)
project(cxxopts-test)
--- a/abc/CMakeLists.txt 2026-07-24 02:58:37.614680285 -0700
+++ b/abc/CMakeLists.txt 2026-07-24 02:58:58.776166078 -0700
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.5.0)
+cmake_minimum_required(VERSION 3.10)
include(CMakeParseArguments)
include(CheckCCompilerFlag)
@@ -0,0 +1,23 @@
--- a/CMakeLists.txt 2026-07-24 02:58:37.612840968 -0700
+++ b/CMakeLists.txt 2026-07-24 02:58:45.716817612 -0700
@@ -92,8 +92,8 @@
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
set(CMAKE_CXX_FLAGS_DEBUG "-Og -ggdb")
- set(CMAKE_CXX_FLAGS_RELEASE "-O3")
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -ggdb")
+ set(CMAKE_CXX_FLAGS_RELEASE "")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "")
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os")
set(CMAKE_CXX_FLAGS_SANITIZE "-O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls")
if ("${SANITIZE}" MATCHES "memory")
--- a/cmake/YosysLinkTarget.cmake 2026-07-24 02:58:37.613755421 -0700
+++ b/cmake/YosysLinkTarget.cmake 2026-07-24 02:58:52.735004882 -0700
@@ -50,6 +50,7 @@
PREFIX "${YOSYS_PROGRAM_PREFIX}"
OUTPUT_NAME "${arg_OUTPUT_NAME}"
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}
+ POSITION_INDEPENDENT_CODE OFF
)
if (${arg_INSTALL_IF})
install(TARGETS ${arg_TARGET} DESTINATION ${YOSYS_INSTALL_BINDIR})
@@ -13,7 +13,7 @@ HOMEPAGE="https://yosyshq.net/yosys/"
SRC_URI="
https://github.com/YosysHQ/${PN}/releases/download/v${PV}/yosys.tar.gz -> ${P}.tar.gz
"
S="${WORKDIR}"
S="${WORKDIR}/${P}"
LICENSE="ISC"
SLOT="0"
@@ -40,6 +40,11 @@ BDEPEND="
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}"/${P}-respect-flags.patch
"${FILESDIR}"/${P}-cmake4-compat.patch
)
pkg_setup() {
# llvm-r2 and python-any-r1 both export pkg_setup and llvm-r2 wins,
# leaving PYTHON unset, so call python_setup ourselves.
@@ -47,12 +52,19 @@ pkg_setup() {
python_setup
}
src_unpack() {
mkdir "${S}" || die
cd "${S}" || die
unpack ${A}
}
src_configure() {
local mycmakeargs=(
-DYOSYS_WITHOUT_SLANG=ON
-DYOSYS_WITH_PYTHON=OFF
-DYOSYS_INSTALL_DRIVER=ON
-DPython3_EXECUTABLE="${PYTHON}"
-DCMAKE_DISABLE_FIND_PACKAGE_GTest=ON
)
cmake_src_configure
}