diff --git a/devel/boost-all/common.mk b/devel/boost-all/common.mk index 77e19ac399aa..78dad78cb94d 100644 --- a/devel/boost-all/common.mk +++ b/devel/boost-all/common.mk @@ -1,25 +1,30 @@ PORTVERSUFFIX= ${PORTVERSION:C/\.[0-9]+$//} DISTVERSION= ${BOOST_MAJOR_VER}_${BOOST_MINOR_VER}_${BOOST_PATCH_VER}${BOOST_RC_VER} DISTVERSIONPREFIX= boost_ DISTNAME= ${DISTVERSIONPREFIX}${DISTVERSION} DISTINFO_FILE= ${.CURDIR}/../boost-all/distinfo CATEGORIES= devel MAINTAINER= office@FreeBSD.org MASTER_SITES= https://archives.boost.io/release/${PORTVERSION}/source/ \ https://archives.boost.io/beta/${PORTVERSION:S/.b/.beta/g}/source/ \ SF/boost/boost/${PORTVERSION} \ SF/boost/boost/${PORTVERSION:S/.b/.beta/g} USES+= tar:bzip2 BOOST_MAJOR_VER=1 BOOST_MINOR_VER=88 BOOST_PATCH_VER=0 BOOST_RC_VER= BOOST_SHARED_LIB_VER=${BOOST_MAJOR_VER}.${BOOST_MINOR_VER}.${BOOST_PATCH_VER} WRKSRC= ${WRKDIR}/${DISTVERSIONPREFIX}${BOOST_MAJOR_VER}_${BOOST_MINOR_VER}_${BOOST_PATCH_VER} +EXTRACT_AFTER_ARGS+=--exclude '*.log' + +.if ${PORTNAME} != "boost-docs" +EXTRACT_AFTER_ARGS+=--exclude docs +.endif diff --git a/devel/boost-all/compiled.mk b/devel/boost-all/compiled.mk index a75d885b8b45..8c2122de507e 100644 --- a/devel/boost-all/compiled.mk +++ b/devel/boost-all/compiled.mk @@ -1,62 +1,61 @@ USE_LDCONFIG= yes PKGMESSAGE= ${WRKDIR}/pkg-message MAKE_CMD?= bjam MAKEFILE= # MAKE_FLAGS= # ALL_TARGET= stage -#USES+= compiler:c++17-lang +USES+= compiler:c++17-lang USE_CXXSTD= gnu++17 LDFLAGS+= -Wl,--as-needed PLIST_SUB+= BOOST_MAJOR_VER=${BOOST_MAJOR_VER} \ BOOST_MINOR_VER=${BOOST_MINOR_VER} \ BOOST_SHARED_LIB_VER=${BOOST_SHARED_LIB_VER} PKG_MESSAGE_FILE_THREADS= ${PORTSDIR}/devel/boost-all/pkg-message.threads PKG_MESSAGE_FILE_PYTHON= ${PORTSDIR}/devel/boost-all/pkg-message.python MAKE_ARGS= --layout=system \ --prefix=${PREFIX} \ -d2 # Our compiler-flags will be added AFTER those set by bjam. We remove # the optimization level, because Boost sets it itself (to -O3 in case # of gcc/g++): MAKE_ARGS+= cxxflags="${CXXFLAGS:N-O*}" cflags="${CFLAGS:N-O*}" linkflags="${LDFLAGS}" MAKE_ARGS+= --toolset=${CHOSEN_COMPILER_TYPE} \ ${_MAKE_JOBS} DEBUG_MAKE_ARGS= debug DEBUG_MAKE_ARGS_OFF= release MAKE_ARGS+= threading=multi \ link=shared,static MAKE_ARGS+= optimization=speed OPTIMIZED_CFLAGS_MAKE_ARGS= inlining=full # ccache build fails when using precompiled headers, on a cached build. # # base gcc 4.2.1 fails when using precompiled headers on 11.0+ kernel. # https://lists.freebsd.org/pipermail/svn-src-all/2015-March/101722.html MAKE_ARGS+= pch=off .include .if ${OPSYS} == FreeBSD && \ ((${OSVERSION} >= 1500000 && ${OSVERSION} < 1500017) || \ ${PORT_OPTIONS:MLLVM_FROM_PORTS}) USES+= llvm:build +USES:= ${USES:Ncompiler\:*} # XXX avoid warnings CHOSEN_COMPILER_TYPE= clang -.else -USES+= compiler:c++17-lang .endif post-patch: .if defined(USE_BINUTILS) @${ECHO} "using ${CHOSEN_COMPILER_TYPE} : : ${CXX} : -B${LOCALBASE}/bin ;" >> ${WRKSRC}/tools/build/src/user-config.jam .else @${ECHO} "using ${CHOSEN_COMPILER_TYPE} : : ${CXX} ;" >> ${WRKSRC}/tools/build/src/user-config.jam .endif diff --git a/devel/boost-docs/Makefile b/devel/boost-docs/Makefile index e6218a830f4e..491fe6535360 100644 --- a/devel/boost-docs/Makefile +++ b/devel/boost-docs/Makefile @@ -1,40 +1,40 @@ PORTNAME= boost-docs COMMENT= Documentation for libraries from boost.org WWW= https://www.boost.org/ USES= python:env shebangfix LICENSE= BSL LICENSE_FILE= ${WRKSRC}/LICENSE_1_0.txt DOCSDIR= ${PREFIX}/share/doc/boost UNIQ= /usr/bin/uniq NO_ARCH= yes NO_BUILD= yes OPTIONS_DEFINE= DOCS SHEBANG_GLOB= *.py PORTDOCS= * -.include "${.CURDIR}/../boost-all/common.mk" +.include "${.CURDIR:H}/boost-all/common.mk" do-install: # Documentation & examples @${MKDIR} ${STAGEDIR}${DOCSDIR} @cd ${WRKSRC} &&\ ${FIND} . -name "*.htm" -o -name "*.html" -o -name "*.css"\ -o -name "*.jp*g" -o -name "*.png" -o -name "*.gif"\ | ${PAX} -rw ${STAGEDIR}${DOCSDIR} @cd ${WRKSRC}/libs &&\ ${FIND} . -name "example" -o -name "examples" -o -name "*example*.cpp"\ -o -name "*example*.c" -o -name "*example*.hpp" | ${UNIQ} |\ ${GREP} -v "assign/test" | ${GREP} -v "iterator/test" | \ ${GREP} -v "range/test" |\ ${PAX} -rw ${STAGEDIR}${DOCSDIR}/libs .include diff --git a/devel/boost-jam/Makefile b/devel/boost-jam/Makefile index d2ebf66f0751..d76495877ab6 100644 --- a/devel/boost-jam/Makefile +++ b/devel/boost-jam/Makefile @@ -1,26 +1,28 @@ PORTNAME= boost-jam COMMENT= Build tool from the boost.org WWW= https://www.boost.org/ PLIST_FILES= bin/bjam LICENSE= BSL EXTRACT_AFTER_ARGS= --no-same-owner --no-same-permissions ${DISTVERSIONPREFIX}${BOOST_MAJOR_VER}_${BOOST_MINOR_VER}_${BOOST_PATCH_VER}/${WRKSRC_SUBDIR} MAKE_CMD= ./build.sh ALL_TARGET= ${CHOSEN_COMPILER_TYPE} ${WITH_DEBUG:D--debug} MAKE_FLAGS= --cxx="${CXX}" --cxxflags="${CXXFLAGS:N-O*}" _MAKE_JOBS= # MAKEFILE= # USES= compiler:c++11-lang WRKSRC_SUBDIR= tools/build/src/engine -.include "${.CURDIR}/../boost-all/common.mk" +.include "${.CURDIR:H}/boost-all/common.mk" + +EXTRACT_AFTER_ARGS=${DISTNAME}/${WRKSRC_SUBDIR} do-install: ${INSTALL_PROGRAM} ${WRKSRC}/bjam ${STAGEDIR}${PREFIX}/bin .include diff --git a/devel/boost-libs/Makefile b/devel/boost-libs/Makefile index 819a0fef24d3..e97e92a60981 100644 --- a/devel/boost-libs/Makefile +++ b/devel/boost-libs/Makefile @@ -1,109 +1,124 @@ PORTNAME= boost-libs -PORTREVISION?= 1 +PORTREVISION?= 2 COMMENT= Free portable C++ libraries (without Boost.Python) WWW= https://www.boost.org/ LICENSE= BSL LICENSE_FILE= ${WRKSRC}/LICENSE_1_0.txt BROKEN_sparc64= https://github.com/boostorg/context/commit/f2ef6326b6ed BUILD_DEPENDS+= bjam:devel/boost-jam LIB_DEPENDS+= libzstd.so:archivers/zstd # Note about LLVM_FROM_PORTS option: # Build of this port fails with assertion failure of compiler due to # bug of LLVM/Clang in base system. The failure happens when all of # following conditions are satisfied. # * OSVERSION is included in either of following ranges. # 1. 1500000 <= OSVERSION < 1500017 # * Base system is built with WITH_LLVM_ASSERTIONS variable set. # So if your base system fulfills them you need to use LLVM ports to # build this port. # By default WITH_LLVM_ASSERTIONS variable is set with -CURRENT but # not with -STABLE and -RELEASE. So whereas most -CURRENT users face # the build failure, few -STABLE and -RELEASE user faces it. # Therefore by default this port uses LLVM from ports only if base # system is -CURRENT and OSVERSION is included in above ranges. It # make it possible for most -STABLE and -RELEASE users to avoid to # build LLVM ports unnecessarily. But if someone uses -STABLE or # -RELEASE built with WITH_LLVM_ASSERTIONS set, then he can't build # this port successfully on such system. So provide LLVM_FROM_PORTS # option as a last resort for him. -OPTIONS_DEFINE= DEBUG LLVM_FROM_PORTS OPTIMIZED_CFLAGS +OPTIONS_DEFINE= DEBUG GIL_EXT LLVM_FROM_PORTS OPTIMIZED_CFLAGS ZSTD OPTIONS_MULTI= LOCALE OPTIONS_MULTI_LOCALE= ICONV ICU -OPTIONS_DEFAULT= ICONV ICU +OPTIONS_DEFAULT= ICONV ICU ZSTD +GIL_EXT_DESC= Extra file-formats for Generic Image Library component ICONV_DESC= Boost.Locale with iconv encoding support ICU_DESC= Boost.Regex/Locale with ICU unicode support LLVM_FROM_PORTS_DESC= Use LLVM from ports to build +GIL_EXT_LIB_DEPENDS= libpng.so:graphics/png \ + libraw.so:graphics/libraw \ + libtiff.so:graphics/tiff +GIL_EXT_USES= localbase:ldflags jpeg +GIL_EXT_MAKE_ARGS_OFF= -sBOOST_GIL_ENABLE_EXT_IO=0 + ICONV_USES= iconv ICONV_MAKE_ARGS= -sICONV_PATH=${ICONV_PREFIX} ICONV_MAKE_ARGS_OFF= boost.locale.iconv=off + ICU_LIB_DEPENDS= libicuuc.so:devel/icu ICU_MAKE_ARGS= -sICU_PATH=${LOCALBASE} ICU_MAKE_ARGS_OFF= boost.locale.icu=off -.include "${.CURDIR}/../boost-all/common.mk" +ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd +ZSTD_USES= localbase:ldflags +ZSTD_MAKE_ARGS_OFF= -sNO_ZSTD=1 + +.include "${.CURDIR:H}/boost-all/common.mk" -.include "${.CURDIR}/../boost-all/compiled.mk" +.include "${.CURDIR:H}/boost-all/compiled.mk" MAKE_ARGS+= --without-python MAKE_ARGS+= --without-mpi MAKE_ARGS+= ${MAKE_ARGS_${CHOSEN_COMPILER_TYPE}} MAKE_ARGS_gcc= xdll-path=${_GCC_RUNTIME} ALL_TARGET= stage # zstd compression MAKE_ARGS+= -sZSTD_PATH=${LOCALBASE} MAKE_ARGS+= -sZSTD_LIBRARY_PATH=${LOCALBASE}/lib MAKE_ARGS+= -sZSTD_INCLUDE=${LOCALBASE}/include - .include # boost.stacktrace.from_exceptions is ready only for amd64 yet .if ${ARCH:Mamd64} PLIST_SUB+= SFE="" .else MAKE_ARGS+= boost.stacktrace.from_exception=off PLIST_SUB+= SFE="@comment " .endif .if ${ARCH:Marmv?} pre-configure: ${REINPLACE_CMD} -e 's,@progbits,%progbits,' \ ${WRKSRC}/boost/interprocess/interprocess_printers.hpp \ ${WRKSRC}/boost/json/detail/gdb_printers.hpp \ ${WRKSRC}/boost/outcome/experimental/status-code/status_code.hpp \ ${WRKSRC}/boost/outcome/outcome_gdb.h \ ${WRKSRC}/boost/unordered/unordered_printers.hpp \ ${WRKSRC}/libs/json/pretty_printers/generate-gdb-header.py .endif do-install: @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} \ ${MAKE_ARGS:NDESTDIR=*:S,^--prefix=,&${STAGEDIR},} ${INSTALL_TARGET} @${FIND} ${STAGEDIR}${PREFIX}/lib/cmake -type f -exec \ ${REINPLACE_CMD} -i '' -e 's,${STAGEDIR},,' {} + # For some reasons BJAM forget about the links @cd ${WRKSRC}/stage/ && ${FIND} lib -type l | ${PAX} -rw -p p ${STAGEDIR}${PREFIX} +do-test: + ${LN} -s ${STAGEDIR}${PREFIX}/include ${WRKSRC}/libs/predef + cd ${WRKSRC}/status && bjam ${MAKE_ARGS:NDESTDIR=*} + # display pkg-message post-install: @${TOUCH} ${PKGMESSAGE} @${CAT} ${PKG_MESSAGE_FILE_THREADS} >> ${PKGMESSAGE} @${ECHO_CMD} >> ${PKGMESSAGE} @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so @${REINPLACE_CMD} \ -e "s|%%LOCALBASE%%|${LOCALBASE}|g" \ -e "s|%%PYTHON_INCLUDEDIR%%|${PYTHON_INCLUDEDIR}|g" \ -e "s|%%PYTHON_LIBDIR%%|${PYTHON_LIBDIR}|g" \ -e "s|%%PYTHON_VERSION%%|${PYTHON_VERSION}|g" ${PKGMESSAGE} .include diff --git a/devel/boost-libs/files/patch-AT_NO_AUTOMOUNT b/devel/boost-libs/files/patch-AT_NO_AUTOMOUNT new file mode 100644 index 000000000000..9db1dbe7d9ef --- /dev/null +++ b/devel/boost-libs/files/patch-AT_NO_AUTOMOUNT @@ -0,0 +1,36 @@ +The AT_NO_AUTOMOUNT seems to be a Linux-only thing... + + -mi + +--- libs/filesystem/config/has_posix_at_apis.cpp 2025-05-29 12:45:36.456840000 -0400 ++++ libs/filesystem/config/has_posix_at_apis.cpp 2025-05-29 18:17:30.866425000 -0400 +@@ -23,5 +23,5 @@ + + struct stat st; +- res |= fstatat(fd1, "y", &st, AT_NO_AUTOMOUNT | AT_SYMLINK_NOFOLLOW); ++ res |= fstatat(fd1, "y", &st, AT_SYMLINK_NOFOLLOW); + + res |= linkat(fd1, "y", fd1, "z", 0); +--- libs/filesystem/src/operations.cpp 2025-05-29 18:20:19.260975000 -0400 ++++ libs/filesystem/src/operations.cpp 2025-05-29 20:12:31.002264000 -0400 +@@ -355,5 +355,5 @@ + { + struct ::stat st; +- flags &= AT_EMPTY_PATH | AT_NO_AUTOMOUNT | AT_SYMLINK_NOFOLLOW; ++ flags &= AT_EMPTY_PATH | AT_SYMLINK_NOFOLLOW; + int res = ::fstatat(dirfd, path, &st, flags); + if (BOOST_LIKELY(res == 0)) +@@ -508,5 +508,5 @@ + #elif defined(BOOST_FILESYSTEM_HAS_POSIX_AT_APIS) + struct ::stat path_stat; +- int err = ::fstatat(basedir_fd, p.c_str(), &path_stat, AT_NO_AUTOMOUNT); ++ int err = ::fstatat(basedir_fd, p.c_str(), &path_stat, 0); + #else + struct ::stat path_stat; +@@ -569,5 +569,5 @@ + #elif defined(BOOST_FILESYSTEM_HAS_POSIX_AT_APIS) + struct ::stat path_stat; +- int err = ::fstatat(basedir_fd, p.c_str(), &path_stat, AT_SYMLINK_NOFOLLOW | AT_NO_AUTOMOUNT); ++ int err = ::fstatat(basedir_fd, p.c_str(), &path_stat, AT_SYMLINK_NOFOLLOW); + #else + struct ::stat path_stat; diff --git a/devel/boost-libs/files/patch-boost_dll_detail_posix_program__location__impl.hpp b/devel/boost-libs/files/patch-boost_dll_detail_posix_program__location__impl.hpp index 4afbd9cc2be5..85d01b6cf416 100644 --- a/devel/boost-libs/files/patch-boost_dll_detail_posix_program__location__impl.hpp +++ b/devel/boost-libs/files/patch-boost_dll_detail_posix_program__location__impl.hpp @@ -1,11 +1,30 @@ ---- boost/dll/detail/posix/program_location_impl.hpp.orig 2025-06-14 19:35:17 UTC +From d662bcbb67ae5da919d35f83e0bcc21769de0ac4 Mon Sep 17 00:00:00 2001 +From: Antony Polukhin +Date: Wed, 11 Jun 2025 09:59:25 +0300 +Subject: [PATCH] Fix usage of missing variable (#98) + +Fixes https://github.com/boostorg/dll/issues/96 +--- boost/dll/detail/posix/program_location_impl.hpp.orig 2025-04-03 11:37:24 UTC +++ boost/dll/detail/posix/program_location_impl.hpp -@@ -70,7 +70,7 @@ namespace boost { namespace dll { namespace detail { +@@ -70,9 +70,10 @@ namespace boost { namespace dll { namespace detail { mib[2] = KERN_PROC_PATHNAME; mib[3] = -1; char path[1024]; - size_t size = sizeof(buf); +- if (sysctl(mib, 4, path, &size, nullptr, 0) == 0) + size_t size = sizeof(path); - if (sysctl(mib, 4, path, &size, nullptr, 0) == 0) ++ if (sysctl(mib, 4, path, &size, nullptr, 0) == 0) { return boost::dll::fs::path(path); ++ } + const auto errno_snapshot = static_cast(errno); + if (errno_snapshot != std::errc::not_enough_memory) { +@@ -83,7 +84,7 @@ namespace boost { namespace dll { namespace detail { + + std::string p; + p.resize(size); +- if (sysctl(mib, 4, p.data(), &size, nullptr, 0) != 0) { ++ if (sysctl(mib, 4, &p[0], &size, nullptr, 0) != 0) { + ec = std::make_error_code( + static_cast(errno) + ); diff --git a/devel/boost-mpi-libs/Makefile b/devel/boost-mpi-libs/Makefile index 729889698961..9a7a91d42f4c 100644 --- a/devel/boost-mpi-libs/Makefile +++ b/devel/boost-mpi-libs/Makefile @@ -1,100 +1,100 @@ PORTNAME= boost-libs PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} PKGNAMESUFFIX= -mpi COMMENT= Boot.MPI library and Python bindings WWW= https://www.boost.org/ LICENSE= BSL LICENSE_FILE= ${WRKSRC}/LICENSE_1_0.txt -PATCHDIR= ${.CURDIR}/../boost-libs/files +PATCHDIR= ${.CURDIR:H}/boost-libs/files BUILD_DEPENDS= bjam:devel/boost-jam \ ${PYNUMPY} LIB_DEPENDS= libboost_thread.so:devel/boost-libs \ ${PY_BOOST} USES= python:3.9-3.11 # upper bound inherited from math/py-numpy USE_PYTHON= flavors #LDFLAGS+= -Wl,--as-needed OPTIONS_DEFINE= DEBUG OPTIMIZED_CFLAGS OPTIONS_RADIO= MPI OPTIONS_RADIO_MPI= OPENMPI MPICH OPTIONS_DEFAULT= OPENMPI # Use Use MPICH option for 32-bit architecture. # See https://github.com/open-mpi/ompi/issues/3195 for details. OPTIONS_DEFAULT_armv6= MPICH OPTIONS_DEFAULT_armv7= MPICH OPTIONS_DEFAULT_i386= MPICH OPTIONS_DEFAULT_powerpc=MPICH OPTIONS_EXCLUDE_armv6= OPENMPI OPTIONS_EXCLUDE_armv7= OPENMPI OPTIONS_EXCLUDE_i386= OPENMPI OPTIONS_EXCLUDE_powerpc=OPENMPI MPICH_USES= mpi:mpich OPENMPI_USES= mpi:openmpi -.include "${.CURDIR}/../boost-all/common.mk" +.include "${.CURDIR:H}/boost-all/common.mk" -.include "${.CURDIR}/../boost-all/compiled.mk" +.include "${.CURDIR:H}/boost-all/compiled.mk" MAKE_ENV+= PYTHON_ROOT="${LOCALBASE}"\ PYTHON_VERSION="${PYTHON_VERSION}"\ PYTHON_INCLUDES="${PYTHON_INCLUDEDIR}"\ PYTHON_LIB_PATH="${PYTHON_LIBDIR}" MAKE_ARGS+= --with-python MAKE_ARGS+= --with-mpi #MAKE_ARGS+= --without-container #MAKE_ARGS+= --without-graph ALL_TARGET= stage .include .if ${PYTHON_VER} == ${PYTHON_DEFAULT} PLIST_SUB+= PY_DEFAULT_ONLY="" .else PLIST_SUB+= PY_DEFAULT_ONLY="@comment " .endif .if ${PORT_OPTIONS:MMPICH} || ${PORT_OPTIONS:MOPENMPI} PLIST_SUB+= MPI="" .else PLIST_SUB+= MPI="@comment " .endif pre-build: @${ECHO_CMD} "using python : " ${PYTHON_VER} " : " ${PYTHON_CMD} " : " ${PYTHON_INCLUDEDIR} ";" >> ${WRKSRC}/tools/build/src/site-config.jam @${ECHO_CMD} "using mpi : " ${MPICXX} ";" >> ${WRKSRC}/tools/build/src/site-config.jam do-install: @cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p libboost_mpi* ${STAGEDIR}${PREFIX}/lib # CMake part @cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p cmake/boost_mpi*/*-py${PYTHON_VER}.cmake ${STAGEDIR}${PREFIX}/lib .if ${PYTHON_VER} == ${PYTHON_DEFAULT} @cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p cmake/boost_mpi*/*-config*.cmake ${STAGEDIR}${PREFIX}/lib .endif @${FIND} ${STAGEDIR}${PREFIX}/lib/cmake -type f -exec \ ${REINPLACE_CMD} -i '' -e 's,${STAGEDIR},,' {} + post-install: # display pkg-message @${TOUCH} ${PKGMESSAGE} @${CAT} ${PKG_MESSAGE_FILE_THREADS} >> ${PKGMESSAGE} @${ECHO_CMD} >> ${PKGMESSAGE} @${CAT} ${PKG_MESSAGE_FILE_PYTHON} >> ${PKGMESSAGE} @${ECHO_CMD} >> ${PKGMESSAGE} @${REINPLACE_CMD} \ -e "s|%%LOCALBASE%%|${LOCALBASE}|g" \ -e "s|%%PYTHON_INCLUDEDIR%%|${PYTHON_INCLUDEDIR}|g" \ -e "s|%%PYTHON_LIBDIR%%|${PYTHON_LIBDIR}|g" \ -e "s|%%PYTHON_VERSION%%|${PYTHON_VERSION}|g" ${PKGMESSAGE} @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libboost_*.so.${BOOST_SHARED_LIB_VER} .include diff --git a/devel/boost-python-libs/Makefile b/devel/boost-python-libs/Makefile index f17fa8ddc028..14f57e60724a 100644 --- a/devel/boost-python-libs/Makefile +++ b/devel/boost-python-libs/Makefile @@ -1,77 +1,77 @@ PORTNAME= boost-libs PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} COMMENT= Framework for interfacing Python and C++ WWW= https://www.boost.org/ LICENSE= BSL LICENSE_FILE= ${WRKSRC}/LICENSE_1_0.txt -PATCHDIR= ${.CURDIR}/../boost-libs/files +PATCHDIR= ${.CURDIR:H}/boost-libs/files BUILD_DEPENDS= bjam:devel/boost-jam \ - ${PYTHON_PKGNAMEPREFIX}numpy>=1.26:math/py-numpy@${PY_FLAVOR} + ${PYNUMPY} LIB_DEPENDS= libboost_thread.so:devel/boost-libs \ libboost_container.so:devel/boost-libs -USES= python +USES= python:3.9-3.11 # upper bound inherited from math/py-numpy USE_PYTHON= flavors #LDFLAGS+= -Wl,--as-needed OPTIONS_DEFINE= DEBUG OPTIMIZED_CFLAGS -.include "${.CURDIR}/../boost-all/common.mk" +.include "${.CURDIR:H}/boost-all/common.mk" -.include "${.CURDIR}/../boost-all/compiled.mk" +.include "${.CURDIR:H}/boost-all/compiled.mk" MAKE_ENV+= PYTHON_ROOT="${LOCALBASE}"\ PYTHON_VERSION="${PYTHON_VERSION}"\ PYTHON_INCLUDES="${PYTHON_INCLUDEDIR}"\ PYTHON_LIB_PATH="${PYTHON_LIBDIR}" MAKE_ARGS+= --with-python #MAKE_ARGS+= --without-container #MAKE_ARGS+= --without-graph ALL_TARGET= stage .include .if ${PYTHON_VER} == ${PYTHON_DEFAULT} PLIST_SUB+= PY_DEFAULT_ONLY="" .else PLIST_SUB+= PY_DEFAULT_ONLY="@comment " .endif pre-build: @${ECHO_CMD} "using python : " ${PYTHON_VER} " : " ${PYTHON_CMD} " : " ${PYTHON_INCLUDEDIR} ";" >> ${WRKSRC}/tools/build/src/site-config.jam do-install: @cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p libboost_numpy* ${STAGEDIR}${PREFIX}/lib @cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p libboost_python* ${STAGEDIR}${PREFIX}/lib # CMake part @cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p cmake/boost_numpy*/*-py${PYTHON_VER}.cmake ${STAGEDIR}${PREFIX}/lib @cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p cmake/boost_python*/*-py${PYTHON_VER}.cmake ${STAGEDIR}${PREFIX}/lib .if ${PYTHON_VER} == ${PYTHON_DEFAULT} @cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p cmake/boost_numpy*/*-config*.cmake ${STAGEDIR}${PREFIX}/lib @cd ${WRKSRC}/stage/lib && ${PAX} -rw -p p cmake/boost_python*/*-config*.cmake ${STAGEDIR}${PREFIX}/lib .endif @${FIND} ${STAGEDIR}${PREFIX}/lib/cmake -type f -exec \ ${REINPLACE_CMD} -i '' -e 's,${STAGEDIR},,' {} + post-install: # display pkg-message @${TOUCH} ${PKGMESSAGE} @${CAT} ${PKG_MESSAGE_FILE_THREADS} >> ${PKGMESSAGE} @${ECHO_CMD} >> ${PKGMESSAGE} @${CAT} ${PKG_MESSAGE_FILE_PYTHON} >> ${PKGMESSAGE} @${ECHO_CMD} >> ${PKGMESSAGE} @${REINPLACE_CMD} \ -e "s|%%LOCALBASE%%|${LOCALBASE}|g" \ -e "s|%%PYTHON_INCLUDEDIR%%|${PYTHON_INCLUDEDIR}|g" \ -e "s|%%PYTHON_LIBDIR%%|${PYTHON_LIBDIR}|g" \ -e "s|%%PYTHON_VERSION%%|${PYTHON_VERSION}|g" ${PKGMESSAGE} @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libboost_*.so.${BOOST_SHARED_LIB_VER} .include