mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-10-12 17:51:11 -04:00
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:
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
-1
@@ -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
|
||||
}
|
||||
Reference in new issue
Block a user