devel/root: Update to 6.26/10
- Port now compiles against C++17 - Added build of ROOT v7 preview features as default build option - Added dependencies on devel/nlohmann-json, graphics/ftgl, print/gl2ps and devel/xxhash so ROOT does not use builtin versions of these libraries - ROOT now builds on FreeBSD 12.3 (uses LLVM/Clang 10.0.1) -- a bit of .modulemap hacking was necessary; tested in poudriere jail on my own system - ROOT *should* build on arm64 -- some files are not installed on arm64 and some files are named differently ChangeLog: https://root.cern/doc/v626/release-notes.html#release-6.2610 PR: 268701
This commit is contained in:
parent
43fadd7dd9
commit
e9e0b380a1
4 changed files with 1503 additions and 152 deletions
|
@ -1,5 +1,5 @@
|
|||
PORTNAME= root
|
||||
DISTVERSION= 6.26.06
|
||||
DISTVERSION= 6.26.10
|
||||
CATEGORIES= devel science math parallel python
|
||||
MASTER_SITES= https://root.cern/download/
|
||||
DISTFILES= ${PORTNAME}_v${DISTVERSION}.source${EXTRACT_SUFX}
|
||||
|
@ -12,15 +12,17 @@ LICENSE= LGPL21
|
|||
LICENSE_FILE= ${WRKSRC}/LGPL2_1.txt
|
||||
|
||||
BUILD_DEPENDS= ${PYNUMPY} \
|
||||
bash:shells/bash
|
||||
bash:shells/bash \
|
||||
nlohmann-json>=3:devel/nlohmann-json
|
||||
LIB_DEPENDS= libAfterImage.so:graphics/libafterimage \
|
||||
libcfitsio.so:astro/cfitsio \
|
||||
libcurl.so:ftp/curl \
|
||||
libfftw3.so:math/fftw3 \
|
||||
libfreetype.so:print/freetype2 \
|
||||
libftgl.so:graphics/ftgl \
|
||||
libgif.so:graphics/giflib \
|
||||
libgl2ps.so:print/gl2ps \
|
||||
libgsl.so:math/gsl \
|
||||
libjpeg.so:graphics/jpeg-turbo \
|
||||
liblz4.so:archivers/liblz4 \
|
||||
libpcre.so:devel/pcre \
|
||||
libpng.so:graphics/png \
|
||||
|
@ -29,11 +31,12 @@ LIB_DEPENDS= libAfterImage.so:graphics/libafterimage \
|
|||
libvdt.so:math/vdt \
|
||||
libxkbcommon.so:x11/libxkbcommon \
|
||||
libXrdCl.so:databases/xrootd \
|
||||
libxxhash.so:devel/xxhash \
|
||||
libzstd.so:archivers/zstd
|
||||
|
||||
USES= blaslapack:openblas cmake desktop-file-utils gettext-runtime gl \
|
||||
gnome iconv mysql:57 pgsql:13.0+ python:3.9+ shebangfix sqlite \
|
||||
ssl xorg
|
||||
USES= blaslapack:openblas cmake compiler:c++17-lang desktop-file-utils \
|
||||
gettext-runtime gl gnome iconv jpeg mysql:57 pgsql:13.0+ python:3.9+ \
|
||||
shebangfix sqlite ssl xorg
|
||||
USE_GL= glew glu opengl
|
||||
USE_GNOME= cairo gdkpixbuf2 glib20 librsvg2 libxml2
|
||||
USE_XORG= ice sm x11 xau xaw xcb xcomposite xcursor xdamage xdmcp xext \
|
||||
|
@ -44,23 +47,49 @@ SHEBANG_FILES= 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
|
||||
|
||||
CMAKE_ARGS= -DCMAKE_CXX_STANDARD=14
|
||||
CMAKE_ARGS= -DCMAKE_CXX_STANDARD=17
|
||||
CMAKE_ON= gnuinstall soversion
|
||||
|
||||
MAKE_ENV+= ROOTSYS=${CONFIGURE_WRKSRC}
|
||||
CONFIGURE_WRKSRC?= ${WRKDIR}/.build
|
||||
MAKE_ENV+= ROOTSYS=${CONFIGURE_WRKSRC}
|
||||
|
||||
PLIST_SUB+= SHLIB_SHVER="${DISTVERSION:R}" \
|
||||
SHLIB_VER="${DISTVERSION}"
|
||||
SHLIB_VER="${DISTVERSION}" \
|
||||
NOT_INSTALLED_ON_AARCH64="${NOT_INSTALLED_ON_AARCH64}" \
|
||||
AARCH64_PCM_SUFFIX="${AARCH64_PCM_SUFFIX}"
|
||||
|
||||
OPTIONS_DEFINE= DOCS
|
||||
OPTIONS_DEFINE= DOCS ROOT7
|
||||
OPTIONS_DEFAULT= ROOT7
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
ROOT7_DESC= Enable supplementary preview features of ROOT version 7
|
||||
ROOT7_CMAKE_BOOL= root7
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
# File not installed in 14 Current maybe because of clang 14+, temporary fix
|
||||
.if ${OSVERSION} < 1400000
|
||||
PLIST_FILES+= lib/root/std_config.pcm
|
||||
# File only installed with LLVM/Clang 13 (used on FreeBSD 12.4 and 13.x)
|
||||
.if 1204000 <= ${OSVERSION} && ${OSVERSION} < 1400000
|
||||
PLIST_FILES+= lib/root/std_config${AARCH64_PCM_SUFFIX}.pcm
|
||||
.endif
|
||||
|
||||
.include <bsd.port.mk>
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
# Some .modulemap files are not installed on aarch64, and files LIBRARY.pcm are renamed LIBRARY_rdict.pcm on aarch64
|
||||
.if ${ARCH} == "aarch64"
|
||||
NOT_INSTALLED_ON_AARCH64= "@comment "
|
||||
AARCH64_PCM_SUFFIX= "_rdict"
|
||||
.else
|
||||
NOT_INSTALLED_ON_AARCH64= ""
|
||||
AARCH64_PCM_SUFFIX= ""
|
||||
.endif
|
||||
|
||||
# In LLVM/Clang 10.0.1 (used on FreeBSD 12.3), the cstdalign header is missing from the std modulemap, but it is declared included in ROOT's std modulemap - this has to be removed.
|
||||
# See https://github.com/llvm/llvm-project/blob/main/libcxx/include/module.modulemap.in#L181
|
||||
# The same seems to be the case for the other headers defined in the variable "modules" below.
|
||||
.if ${OSVERSION} < 1204000
|
||||
modules= cstdalign cuchar "ext\/functional" "ext\/numeric" "bits\/allocator.h" "bits\/basic_ios.h" "bits\/cpp_type_traits.h" "bits\/exception_defines.h" "bits\/ios_base.h" "bits\/locale_facets.h" "bits\/stl_algobase.h" "bits\/stl_map.h" "bits\/stl_pair.h" bits_stl_tree_h
|
||||
post-patch:
|
||||
@MODULEMAP=${WRKSRC}/interpreter/cling/include/cling/std.modulemap ${SH} ${SCRIPTDIR}/remove-modules-from-modulemap.sh ${modules}
|
||||
.endif
|
||||
|
||||
.include <bsd.port.post.mk>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1672226334
|
||||
SHA256 (root_v6.26.06.source.tar.gz) = b1f73c976a580a5c56c8c8a0152582a1dfc560b4dd80e1b7545237b65e6c89cb
|
||||
SIZE (root_v6.26.06.source.tar.gz) = 195214157
|
||||
TIMESTAMP = 1672619421
|
||||
SHA256 (root_v6.26.10.source.tar.gz) = 8e56bec397104017aa54f9eb554de7a1a134474fe0b3bb0f43a70fc4fabd625f
|
||||
SIZE (root_v6.26.10.source.tar.gz) = 195224175
|
||||
|
|
1565
devel/root/pkg-plist
1565
devel/root/pkg-plist
File diff suppressed because it is too large
Load diff
27
devel/root/scripts/remove-modules-from-modulemap.sh
Executable file
27
devel/root/scripts/remove-modules-from-modulemap.sh
Executable file
|
@ -0,0 +1,27 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Script removes module definition blocks in LLVM/Clang .modulemap
|
||||
# files in-place in the file path stored in the variable MODULEMAP
|
||||
|
||||
sp='[[:space:]]'
|
||||
|
||||
mdls="" ; i=0
|
||||
for m in "$@" ; do
|
||||
i=$((i+1))
|
||||
mdls="$mdls($m)"
|
||||
[ $i -ne $# ] && mdls="$mdls|"
|
||||
done
|
||||
|
||||
script="\
|
||||
/^$sp*(explicit)?$sp*module$sp*\"$mdls\"$sp*\{$sp*\$/ {
|
||||
:l
|
||||
N
|
||||
s/}/}/
|
||||
tx
|
||||
bl
|
||||
:x
|
||||
d
|
||||
}\
|
||||
"
|
||||
|
||||
sed -i '' -E "$script" "$MODULEMAP"
|
Loading…
Reference in a new issue