1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-22 00:35:15 +00:00

devel/root: Update to 6.30/06

ChangeLog:	https://root.cern/doc/v630/release-notes.html#release-6.3006
PR:		278110
(cherry picked from commit a68970e0e1)
This commit is contained in:
Erik Jensen 2024-05-18 11:26:06 +01:00 committed by Nuno Teixeira
parent ec356571f5
commit 8a773bd047
14 changed files with 7121 additions and 24 deletions

View File

@ -1,6 +1,5 @@
PORTNAME= root
DISTVERSION= 6.30.02
PORTREVISION= 1
DISTVERSION= 6.30.06
CATEGORIES= devel science math parallel python
MASTER_SITES= https://root.cern/download/
DISTFILES= ${PORTNAME}_v${DISTVERSION}.source${EXTRACT_SUFX}
@ -33,10 +32,26 @@ USES= cmake compiler:c++17-lang desktop-file-utils \
gnome iconv shebangfix ssl
USE_GNOME= libxml2
SHEBANG_FILES= config/rootssh etc/dictpch/makepch.py etc/proof/utils/circle.sh \
etc/proof/utils/crypt etc/proof/utils/pps \
etc/proof/utils/proofctl.sh etc/proof/utils/proofinstall.sh \
SHEBANG_FILES= main/python/rootbrowse.py \
main/python/rootcp.py \
main/python/rootdrawtree.py \
main/python/rooteventselector.py \
main/python/rootls.py \
main/python/rootmkdir.py \
main/python/rootmv.py \
main/python/rootprint.py \
main/python/rootrm.py \
main/python/rootslimtree.py \
config/rootssh \
etc/dictpch/makepch.py \
etc/proof/utils/circle.sh \
etc/proof/utils/crypt \
etc/proof/utils/pps \
etc/proof/utils/proofctl.sh \
etc/proof/utils/proofinstall.sh \
etc/pdg_table_update.py
# add a port-specific shebang to be replaced
python_OLD_CMD+= "/usr/bin/env @python@"
# Flags and environment variables for building
CMAKE_ARGS= -DCMAKE_CXX_STANDARD=17
@ -52,6 +67,7 @@ OPTIONS_SUB= yes
# Option: MYSQL
MYSQL_DESC= Enable MySQL bindings
MYSQL_LIB_DEPENDS= libunwind.so:devel/libunwind
MYSQL_USES= mysql
MYSQL_CMAKE_BOOL= mysql
@ -95,12 +111,27 @@ PLIST_SUB+= SHLIB_SHVER="${DISTVERSION:R}" \
SHLIB_VER="${DISTVERSION}"
# Some .modulemap, .pcm and .idx files are not installed on aarch64, a few .pcm files are exclusive to aarch64 and files LIBRARY.pcm are renamed libLIBRARY_rdict.pcm on aarch64
.if ${ARCH} == "aarch64"
.if ${OPSYS} == FreeBSD && ${ARCH} == "aarch64"
PLIST_SUB+= NOT_INSTALLED_ON_AARCH64="@comment " ONLY_INSTALLED_ON_AARCH64="" AARCH64_PCM_PREFIX="lib" AARCH64_PCM_SUFFIX="_rdict"
.else
PLIST_SUB+= NOT_INSTALLED_ON_AARCH64="" ONLY_INSTALLED_ON_AARCH64="@comment " AARCH64_PCM_PREFIX="" AARCH64_PCM_SUFFIX=""
.endif
# std_config.pcm exclusive to FreeBSD 14
.if ${OPSYS} == FreeBSD && (1400000 <= ${OSVERSION} && ${OSVERSION} < 1500000)
PLIST_SUB+= ONLY_INSTALLED_ON_FBSD14=""
.else
PLIST_SUB+= ONLY_INSTALLED_ON_FBSD14="@comment "
.endif
# Port patch removes implicit use of system's module.modulemap and applies
# explicit use of the same module.modulemap, with modifications, provided
# by the port
post-patch:
${CP} \
${PATCHDIR}/interpreter-cling-include-cling-std__fbsd${OSREL}.modulemap \
${WRKSRC}/interpreter/cling/include/cling/std_fbsd.modulemap
# The following two files should not be staged. This happens even when PYROOT option is OFF.
post-install:
${RM} ${STAGEDIR}${PREFIX}/lib/root/__pycache__/cmdLineUtils.cpython-39.pyc

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1702064317
SHA256 (root_v6.30.02.source.tar.gz) = 7965a456d1ad1ee0d5fe4769bf5a8fec291af684ed93db0f3080a9c362435183
SIZE (root_v6.30.02.source.tar.gz) = 184758362
TIMESTAMP = 1712945107
SHA256 (root_v6.30.06.source.tar.gz) = 300db7ed1b678ed2fb9635ca675921a1945c7c2103da840033b493091f55700c
SIZE (root_v6.30.06.source.tar.gz) = 184791201

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,12 @@
--- cmake/modules/SetUpFreeBSD.cmake.orig 2024-03-21 09:58:40 UTC
+++ cmake/modules/SetUpFreeBSD.cmake
@@ -11,6 +11,9 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES i686)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES i686)
set(FP_MATH_FLAGS "-msse2 -mfpmath=sse")
set(ROOT_ARCHITECTURE freebsdi686)
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES i386) # FreeBSD port maintainer note: Treating i386 as i686 might just work...
+ set(FP_MATH_FLAGS "-msse2 -mfpmath=sse")
+ set(ROOT_ARCHITECTURE freebsdi386)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES aarch64)
set(ROOT_ARCHITECTURE freebsdarm64)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES arm)

View File

@ -0,0 +1,23 @@
--- core/clingutils/CMakeLists.txt.orig 2024-04-12 17:58:43 UTC
+++ core/clingutils/CMakeLists.txt
@@ -123,6 +123,20 @@ if (runtime_cxxmodules)
if (CMAKE_SYSTEM_NAME MATCHES Darwin AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 15.0.0.15000309)
set(custom_modulemaps ${custom_modulemaps} std_darwin.modulemap)
endif()
+ #[[
+ FreeBSD port maintainer note:
+ Related to upstream PR https://github.com/root-project/root/pull/14920.
+ Depending on a given system's version of LLVM, the standard library module.modulemap file
+ distributed with the OS might cause ROOT to fail to build, because the module.modulemap
+ file needs patching.
+ The port patch removes the implicit use of the system's module.modulemap file and applies,
+ explicitly, the same module.modulemap file - with modifications, if needed.
+ The (modified) module.modulemap file is provided by the port in
+ ${PATCHDIR}/interpreter-cling-include-cling-std__fbsd${OSREL}.modulemap.
+ ]]#
+ if (CMAKE_SYSTEM_NAME MATCHES FreeBSD)
+ set(custom_modulemaps ${custom_modulemaps} std_fbsd.modulemap)
+ endif()
if (NOT libcxx)
if (MSVC)

View File

@ -0,0 +1,18 @@
--- core/clingutils/src/TClingUtils.cxx.orig 2024-04-12 11:40:01 UTC
+++ core/clingutils/src/TClingUtils.cxx
@@ -3352,8 +3352,13 @@ std::string ROOT::TMetaUtils::GetFileName(const clang:
// we trace it back to the top-level system header that includes this
// declaration.
if (interp.getCI()->getLangOpts().Modules && !headerFE) {
- assert(decl.isFirstDecl() && "Couldn't trace back include from a decl"
- " that is not from an AST file");
+ /*
+ * FreeBSD port maintainer note: CMake option 'asserts' is enabled, when building ROOT with debug symbols.
+ * Building then fails on this one assertion. We hack out the assertion, building
+ * succeeds once again, and we pray that everything will be fine.
+ */
+ //assert(decl.isFirstDecl() && "Couldn't trace back include from a decl"
+ // " that is not from an AST file");
assert(StringRef(includeLoc.printToString(sourceManager)).startswith("<module-includes>"));
break;
}

View File

@ -1,6 +1,6 @@
--- interpreter/CMakeLists.txt.orig 2023-12-09 12:40:45 UTC
--- interpreter/CMakeLists.txt.orig 2024-04-01 14:54:49 UTC
+++ interpreter/CMakeLists.txt
@@ -81,21 +81,17 @@ set(LLVM_ABI_BREAKING_CHECKS FORCE_OFF CACHE BOOL "" F
@@ -81,21 +81,17 @@ set(CMAKE_REQUIRED_QUIET 1) # Make the configuration
set(CMAKE_REQUIRED_QUIET 1) # Make the configuration of LLVM quiet

View File

@ -0,0 +1,14 @@
--- interpreter/cling/lib/Interpreter/CIFactory.cpp.orig 2024-04-14 12:10:55 UTC
+++ interpreter/cling/lib/Interpreter/CIFactory.cpp
@@ -698,6 +698,11 @@ namespace {
clingIncLoc.str().str(), MOverlay,
/*RegisterModuleMap=*/ true,
/*AllowModulemapOverride=*/ false);
+#elif __FreeBSD__ // See 'FreeBSD port maintainer note' in core/clingutils/CMakeLists.txt
+ maybeAppendOverlayEntry(stdIncLoc.str(), "std_fbsd.modulemap",
+ clingIncLoc.str().str(), MOverlay,
+ /*RegisterModuleMap=*/ true,
+ /*AllowModulemapOverride=*/ false);
#else
maybeAppendOverlayEntry(cIncLoc.str(), "libc.modulemap",
clingIncLoc.str().str(), MOverlay,

View File

@ -0,0 +1,13 @@
--- interpreter/cling/lib/Interpreter/Interpreter.cpp.orig 2024-04-01 14:37:20 UTC
+++ interpreter/cling/lib/Interpreter/Interpreter.cpp
@@ -876,8 +876,10 @@ namespace cling {
/*AllowExtraSearch*/ true))
return loadModule(M, complain);
+#ifndef __FreeBSD__ // See 'FreeBSD port maintainer note' in core/clingutils/CMakeLists.txt
if (complain)
llvm::errs() << "Module " << moduleName << " not found.\n";
+#endif
return false;

View File

@ -1,13 +1,20 @@
--- interpreter/llvm-project/clang/lib/Serialization/ASTWriter.cpp.orig 2024-01-11 19:51:52 UTC
--- interpreter/llvm-project/clang/lib/Serialization/ASTWriter.cpp.orig 2024-04-01 14:40:54 UTC
+++ interpreter/llvm-project/clang/lib/Serialization/ASTWriter.cpp
@@ -2498,8 +2498,10 @@ unsigned ASTWriter::getSubmoduleID(Module *Mod) {
@@ -2498,8 +2498,15 @@ unsigned ASTWriter::getSubmoduleID(Module *Mod) {
// did not result in us loading a module file for that submodule. For
// instance, a cross-top-level-module 'conflict' declaration will hit this.
unsigned ID = getLocalOrImportedSubmoduleID(Mod);
- assert((ID || !Mod) &&
- "asked for module ID for non-local, non-imported module");
+
+ /*
assert((ID || !Mod) &&
"asked for module ID for non-local, non-imported module");
+ * FreeBSD port maintainer note: CMake option 'asserts' is enabled, when building ROOT with debug symbols.
+ * Building then fails on this one assertion. We hack out the assertion, building
+ * succeeds once again, and we pray that everything will be fine.
+ */
+
+ //assert((ID || !Mod) &&
+ // "asked for module ID for non-local, non-imported module");
return ID;
}

View File

@ -220,6 +220,7 @@ bin/xpdtest
%%NOT_INSTALLED_ON_AARCH64%%%%ETCDIR%%/cling/libc.modulemap
%%NOT_INSTALLED_ON_AARCH64%%%%ETCDIR%%/cling/module.modulemap
%%NOT_INSTALLED_ON_AARCH64%%%%ETCDIR%%/cling/std.modulemap
%%NOT_INSTALLED_ON_AARCH64%%%%ETCDIR%%/cling/std_fbsd.modulemap
%%NOT_INSTALLED_ON_AARCH64%%%%ETCDIR%%/cling/tinyxml2.modulemap
%%NOT_INSTALLED_ON_AARCH64%%%%ETCDIR%%/cling/vc.modulemap
%%ONLY_INSTALLED_ON_AARCH64%%%%ETCDIR%%/allDict.cxx.pch
@ -977,6 +978,7 @@ include/root/RConfig.h
include/root/RConfigOptions.h
include/root/RConfigure.h
include/root/RGitCommit.h
include/root/ROOT.modulemap
%%ROOT7%%include/root/ROOT/Browsable/RAnyObjectHolder.hxx
%%ROOT7%%include/root/ROOT/Browsable/RElement.hxx
%%ROOT7%%include/root/ROOT/Browsable/RGroup.hxx
@ -3147,9 +3149,6 @@ include/root/TXMLNode.h
include/root/TXMLParser.h
include/root/TXMLPlayer.h
include/root/TXMLSetup.h
include/root/TXNetFile.h
include/root/TXNetFileStager.h
include/root/TXNetSystem.h
include/root/TXTRU.h
include/root/TZIPFile.h
include/root/ThreadLocalStorage.h
@ -3164,7 +3163,6 @@ include/root/ZipLZMA.h
include/root/ZipZSTD.h
include/root/cfortran.h
include/root/compiledata.h
include/root/module.modulemap
include/root/root_std_complex.h
include/root/snprintf.h
include/root/strlcpy.h
@ -3322,7 +3320,6 @@ lib/root/%%AARCH64_PCM_PREFIX%%Minuit%%AARCH64_PCM_SUFFIX%%.pcm
lib/root/%%AARCH64_PCM_PREFIX%%Minuit2%%AARCH64_PCM_SUFFIX%%.pcm
%%NOT_INSTALLED_ON_AARCH64%%lib/root/MultiProc.pcm
lib/root/%%AARCH64_PCM_PREFIX%%Net%%AARCH64_PCM_SUFFIX%%.pcm
lib/root/%%AARCH64_PCM_PREFIX%%Netx%%AARCH64_PCM_SUFFIX%%.pcm
lib/root/%%AARCH64_PCM_PREFIX%%NetxNG%%AARCH64_PCM_SUFFIX%%.pcm
%%PGSQL%%lib/root/%%AARCH64_PCM_PREFIX%%PgSQL%%AARCH64_PCM_SUFFIX%%.pcm
lib/root/%%AARCH64_PCM_PREFIX%%Physics%%AARCH64_PCM_SUFFIX%%.pcm
@ -3832,9 +3829,6 @@ lib/root/libNet.so
lib/root/libNet.so.%%SHLIB_SHVER%%
lib/root/libNet.so.%%SHLIB_VER%%
%%ONLY_INSTALLED_ON_AARCH64%%lib/root/libNetx.rootmap
lib/root/libNetx.so
lib/root/libNetx.so.%%SHLIB_SHVER%%
lib/root/libNetx.so.%%SHLIB_VER%%
%%ONLY_INSTALLED_ON_AARCH64%%lib/root/libNetxNG.rootmap
lib/root/libNetxNG.so
lib/root/libNetxNG.so.%%SHLIB_SHVER%%
@ -4144,7 +4138,6 @@ lib/root/libXMLIO.so.%%SHLIB_VER%%
lib/root/libXMLParser.so
lib/root/libXMLParser.so.%%SHLIB_SHVER%%
lib/root/libXMLParser.so.%%SHLIB_VER%%
%%NOT_INSTALLED_ON_AARCH64%%lib/root/libc.pcm
lib/root/libcomplexDict.rootmap
lib/root/libcomplexDict.so
lib/root/libcomplexDict.so.%%SHLIB_SHVER%%
@ -4217,6 +4210,7 @@ lib/root/libvectorDict.so.%%SHLIB_SHVER%%
lib/root/libvectorDict.so.%%SHLIB_VER%%
%%NOT_INSTALLED_ON_AARCH64%%lib/root/modules.idx
%%NOT_INSTALLED_ON_AARCH64%%lib/root/std.pcm
%%ONLY_INSTALLED_ON_FBSD14%%lib/root/std_config.pcm
%%PORTDOCS%%%%DOCSDIR%%/CREDITS
%%PORTDOCS%%%%DOCSDIR%%/DEVELOPMENT.md
%%PORTDOCS%%%%DOCSDIR%%/INSTALL