mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sci-physics/hepmc: cmake4 patches
Closes: https://bugs.gentoo.org/968135 Part-of: https://github.com/gentoo/gentoo/pull/45488 Closes: https://github.com/gentoo/gentoo/pull/45488 Signed-off-by: Alexander Puck Neuwirth <apn-pucky@gentoo.org>
This commit is contained in:
31
sci-physics/hepmc/files/hepmc-2.06.11-cmake4.patch
Normal file
31
sci-physics/hepmc/files/hepmc-2.06.11-cmake4.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
https://gitlab.cern.ch/hepmc/HepMC/-/merge_requests/16
|
||||
From 1bb90ccda81187c71c1e234e3d55390684ce1041 Mon Sep 17 00:00:00 2001
|
||||
From: Giulio Eulisse <10544+ktf@users.noreply.github.com>
|
||||
Date: Tue, 6 Jan 2026 13:39:58 +0100
|
||||
Subject: [PATCH] Add support for CMake 4
|
||||
|
||||
Upstream deprecated support for CMake <= 3.5.
|
||||
|
||||
See https://cmake.org/cmake/help/latest/release/4.0.html#deprecated-and-removed-features
|
||||
---
|
||||
CMakeLists.txt | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 7b2dd93..6d7e807 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -13,8 +13,8 @@
|
||||
# which matches the default HepMC autoconf flags
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
-# use cmake 2.6 or later
|
||||
-cmake_minimum_required (VERSION 2.6)
|
||||
+# use cmake 3.16 or later
|
||||
+cmake_minimum_required (VERSION 3.16)
|
||||
|
||||
# project name and version
|
||||
project(HepMC)
|
||||
--
|
||||
GitLab
|
||||
|
||||
49
sci-physics/hepmc/files/hepmc-2.06.11-cmp0153.patch
Normal file
49
sci-physics/hepmc/files/hepmc-2.06.11-cmp0153.patch
Normal file
@@ -0,0 +1,49 @@
|
||||
https://gitlab.cern.ch/hepmc/HepMC/-/merge_requests/17
|
||||
From 3b1f6ebfa2af3e56013c8f9f771baa978bfe426d Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Puck Neuwirth <alexander@neuwirth-informatik.de>
|
||||
Date: Thu, 22 Jan 2026 11:26:12 +0100
|
||||
Subject: [PATCH] fix: Policy CMP0153: The exec_program command should not be
|
||||
called.
|
||||
|
||||
---
|
||||
cmake/Modules/HepMCUseCpack.cmake | 5 +++--
|
||||
cmake/Modules/HepMCVariables.cmake | 5 +++--
|
||||
2 files changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/cmake/Modules/HepMCUseCpack.cmake b/cmake/Modules/HepMCUseCpack.cmake
|
||||
index 49040b7..298cff0 100644
|
||||
--- a/cmake/Modules/HepMCUseCpack.cmake
|
||||
+++ b/cmake/Modules/HepMCUseCpack.cmake
|
||||
@@ -8,9 +8,10 @@
|
||||
#
|
||||
FUNCTION(_My_COMPILER_DUMPVERSION _OUTPUT_VERSION)
|
||||
|
||||
- EXEC_PROGRAM(${CMAKE_CXX_COMPILER}
|
||||
- ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
|
||||
+ execute_process(
|
||||
+ COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
|
||||
OUTPUT_VARIABLE _my_COMPILER_VERSION
|
||||
+ OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
set( COMPILER_VERSION ${_my_COMPILER_VERSION} PARENT_SCOPE)
|
||||
STRING(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
|
||||
diff --git a/cmake/Modules/HepMCVariables.cmake b/cmake/Modules/HepMCVariables.cmake
|
||||
index bd8b713..475310b 100644
|
||||
--- a/cmake/Modules/HepMCVariables.cmake
|
||||
+++ b/cmake/Modules/HepMCVariables.cmake
|
||||
@@ -10,9 +10,10 @@
|
||||
# so we need this for the example makefile
|
||||
macro( _hepmc_fortran_compiler )
|
||||
|
||||
- EXEC_PROGRAM(${CMAKE_CXX_COMPILER}
|
||||
- ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
|
||||
+ execute_process(
|
||||
+ COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
|
||||
OUTPUT_VARIABLE _my_COMPILER_VERSION
|
||||
+ OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
STRING(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1"
|
||||
_my_COMPILER_BASE_VERSION ${_my_COMPILER_VERSION})
|
||||
--
|
||||
GitLab
|
||||
|
||||
104
sci-physics/hepmc/hepmc-2.06.11-r1.ebuild
Normal file
104
sci-physics/hepmc/hepmc-2.06.11-r1.ebuild
Normal file
@@ -0,0 +1,104 @@
|
||||
# Copyright 1999-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake flag-o-matic
|
||||
|
||||
MYP=HepMC-${PV}
|
||||
|
||||
DESCRIPTION="Event Record for Monte Carlo Generators"
|
||||
HOMEPAGE="
|
||||
https://hepmc.web.cern.ch/hepmc/
|
||||
https://gitlab.cern.ch/hepmc/HepMC/
|
||||
"
|
||||
SRC_URI="https://hepmc.web.cern.ch/hepmc/releases/hepmc${PV}.tgz"
|
||||
S="${WORKDIR}/${MYP}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="2"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="cm doc examples gev test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
doc? (
|
||||
app-text/doxygen[dot]
|
||||
dev-texlive/texlive-latex
|
||||
dev-texlive/texlive-latexextra
|
||||
dev-texlive/texlive-latexrecommended
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-cmake4.patch
|
||||
"${FILESDIR}"/${P}-cmp0153.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
sed -i -e '/add_subdirectory(doc)/d' CMakeLists.txt || die
|
||||
# CMake doc building broken
|
||||
# gentoo doc directory
|
||||
#sed -i \
|
||||
# -e "s:share/HepMC/doc:share/doc/${PF}:" \
|
||||
# doc/CMakeLists.txt || die
|
||||
|
||||
# gentoo examples directory
|
||||
sed -i \
|
||||
-e "s:share/HepMC:share/doc/${PF}:" \
|
||||
$(find examples -name CMakeLists.txt) || die
|
||||
|
||||
# respect user's flags
|
||||
sed -i \
|
||||
-e "s/-O -ansi -pedantic -Wall//g" \
|
||||
cmake/Modules/HepMCVariables.cmake || die
|
||||
|
||||
# gentoo libdir love
|
||||
sed -i \
|
||||
-e '/DESTINATION/s/lib/lib${LIB_SUFFIX}/g' \
|
||||
{src,fio}/CMakeLists.txt || die
|
||||
|
||||
# remove targets if use flags not set
|
||||
if ! use examples; then
|
||||
sed -i -e '/add_subdirectory(examples)/d' CMakeLists.txt || die
|
||||
fi
|
||||
if ! use test; then
|
||||
sed -i -e '/add_subdirectory(test)/d' CMakeLists.txt || die
|
||||
fi
|
||||
|
||||
# remove static libs
|
||||
sed -i \
|
||||
-e '/(HepMC\(fio\|\)S/d' \
|
||||
-e '/TARGETS/s/HepMC\(fio\|\)S//' \
|
||||
{src,fio}/CMakeLists.txt || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# error: 'hepevt_' violates the C++ One Definition Rule [-Werror=odr]
|
||||
# Bug 863284
|
||||
filter-lto
|
||||
# use MeV over GeV and mm over cm
|
||||
local mycmakeargs=(
|
||||
-Dlength=$(usex cm CM MM)
|
||||
-Dmomentum=$(usex gev GEV MEV)
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake_src_compile
|
||||
|
||||
if use doc; then
|
||||
cd doc || die
|
||||
./buildDoc.sh || die
|
||||
./buildDoxygen.sh || die
|
||||
HTML_DOCS=( doc/html/. )
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
use doc && dodoc doc/*.pdf
|
||||
}
|
||||
Reference in New Issue
Block a user