pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc



Module Name:    pkgsrc
Committed By:   riastradh
Date:           Thu Jan 23 19:37:41 UTC 2025

Modified Files:
        pkgsrc/devel: Makefile
        pkgsrc/devel/py-boost: Makefile PLIST buildlink3.mk
        pkgsrc/meta-pkgs/boost: Makefile.common
Added Files:
        pkgsrc/devel/py-boost-cmake: DESCR Makefile PLIST buildlink3.mk

Log Message:
devel/py-boost: Install cmake files needed by downstream packages.

This uses an intermediate package devel/py-boost-cmake which is
agnostic to the Python version, because boost/cmake now expects to
find unversioned files boost_python-config.cmake and
boost_python-config-version.cmake in canonical locations in order to
find Python-versioned stuff.

It's all kind of a mess -- and the py-boost-cmake package does a lot
of redundant work to build boost python libraries that it doesn't
install.  But it's currently only used by finance/ledger (and
finance/ledger32), so this mess doesn't affect much and if you want
to clean it up there's not much fallout to worry about.


To generate a diff of this commit:
cvs rdiff -u -r1.4390 -r1.4391 pkgsrc/devel/Makefile
cvs rdiff -u -r1.24 -r1.25 pkgsrc/devel/py-boost/Makefile
cvs rdiff -u -r1.12 -r1.13 pkgsrc/devel/py-boost/PLIST
cvs rdiff -u -r1.28 -r1.29 pkgsrc/devel/py-boost/buildlink3.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/py-boost-cmake/DESCR \
    pkgsrc/devel/py-boost-cmake/Makefile pkgsrc/devel/py-boost-cmake/PLIST \
    pkgsrc/devel/py-boost-cmake/buildlink3.mk
cvs rdiff -u -r1.110 -r1.111 pkgsrc/meta-pkgs/boost/Makefile.common

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/Makefile
diff -u pkgsrc/devel/Makefile:1.4390 pkgsrc/devel/Makefile:1.4391
--- pkgsrc/devel/Makefile:1.4390        Tue Jan 21 19:11:50 2025
+++ pkgsrc/devel/Makefile       Thu Jan 23 19:37:40 2025
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.4390 2025/01/21 19:11:50 pin Exp $
+# $NetBSD: Makefile,v 1.4391 2025/01/23 19:37:40 riastradh Exp $
 #
 
 COMMENT=       Development utilities
@@ -2478,6 +2478,7 @@ SUBDIR+=  py-blinker
 SUBDIR+=       py-boltons
 SUBDIR+=       py-boolean.py
 SUBDIR+=       py-boost
+SUBDIR+=       py-boost-cmake
 SUBDIR+=       py-bugzilla
 SUBDIR+=       py-build
 SUBDIR+=       py-buildbot

Index: pkgsrc/devel/py-boost/Makefile
diff -u pkgsrc/devel/py-boost/Makefile:1.24 pkgsrc/devel/py-boost/Makefile:1.25
--- pkgsrc/devel/py-boost/Makefile:1.24 Sun Dec 29 14:53:13 2024
+++ pkgsrc/devel/py-boost/Makefile      Thu Jan 23 19:37:41 2025
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.24 2024/12/29 14:53:13 adam Exp $
+# $NetBSD: Makefile,v 1.25 2025/01/23 19:37:41 riastradh Exp $
 
 BOOST_PACKAGE=         python
 BOOST_COMMENT=         (Boost.Python binary library)
@@ -9,6 +9,7 @@ INSTALLATION_DIRS+=     lib
 .include "../../meta-pkgs/boost/Makefile.common"
 
 PKGNAME=               ${PYPKGPREFIX}-boost-${BOOST_VERSION}
+PKGREVISION=           1
 
 BJAM_ARGS+=            --user-config=${WRKSRC}/user-config.jam
 BJAM_ARGS+=            --with-python
@@ -24,16 +25,31 @@ post-configure:
 
 do-build: bjam-build
 
+do-install: boost-install-cmake
 do-install: boost-install-libs
 
 PLIST_SUBST+=  PYVER=${_PYTHON_VERSION}
+PLIST_SUBST+=  PYVERSSUFFIX=${PYVERSSUFFIX}
 
 BUILDLINK_TRANSFORM.SunOS+=    rm:-lutil
 
 # These are already in boost-libs
+#
+# XXX Can we convince boost to simply not install these parts for this
+# package?
 post-install:
+       ${RM} -f ${DESTDIR}${PREFIX}/lib/cmake/Boost-*/*.cmake
+       ${RM} -f ${DESTDIR}${PREFIX}/lib/cmake/BoostDetectToolset-*.cmake
+       ${RM} -f ${DESTDIR}${PREFIX}/lib/cmake/boost_container-*/*.cmake
+       ${RM} -f ${DESTDIR}${PREFIX}/lib/cmake/boost_graph-*/*.cmake
+       ${RM} -f ${DESTDIR}${PREFIX}/lib/cmake/boost_headers-*/*.cmake
+       ${RM} -f ${DESTDIR}${PREFIX}/lib/cmake/boost_numpy-*/*-config-version.cmake
+       ${RM} -f ${DESTDIR}${PREFIX}/lib/cmake/boost_numpy-*/*-config.cmake
+       ${RM} -f ${DESTDIR}${PREFIX}/lib/cmake/boost_python-*/*-config-version.cmake
+       ${RM} -f ${DESTDIR}${PREFIX}/lib/cmake/boost_python-*/*-config.cmake
        ${RM} -f ${DESTDIR}${PREFIX}/lib/libboost_*container.*
        ${RM} -f ${DESTDIR}${PREFIX}/lib/libboost_*graph.*
 
+.include "../../devel/py-boost-cmake/buildlink3.mk"
 .include "../../math/py-numpy/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/devel/py-boost/PLIST
diff -u pkgsrc/devel/py-boost/PLIST:1.12 pkgsrc/devel/py-boost/PLIST:1.13
--- pkgsrc/devel/py-boost/PLIST:1.12    Fri Dec 24 22:28:28 2021
+++ pkgsrc/devel/py-boost/PLIST Thu Jan 23 19:37:41 2025
@@ -1,4 +1,8 @@
-@comment $NetBSD: PLIST,v 1.12 2021/12/24 22:28:28 wiz Exp $
+@comment $NetBSD: PLIST,v 1.13 2025/01/23 19:37:41 riastradh Exp $
+${PLIST.py3x}lib/cmake/boost_numpy-${BOOST_VERSION}/libboost_numpy-variant-shared-py${PYVERSSUFFIX}.cmake
+${PLIST.py3x}lib/cmake/boost_numpy-${BOOST_VERSION}/libboost_numpy-variant-static-py${PYVERSSUFFIX}.cmake
+lib/cmake/boost_python-${BOOST_VERSION}/libboost_python-variant-shared-py${PYVERSSUFFIX}.cmake
+lib/cmake/boost_python-${BOOST_VERSION}/libboost_python-variant-static-py${PYVERSSUFFIX}.cmake
 ${PLIST.py3x}lib/libboost_numpy${PYVER}.a
 ${PLIST.py3x}lib/libboost_numpy${PYVER}.so
 ${PLIST.py3x}lib/libboost_numpy${PYVER}.so.${PKGVERSION}

Index: pkgsrc/devel/py-boost/buildlink3.mk
diff -u pkgsrc/devel/py-boost/buildlink3.mk:1.28 pkgsrc/devel/py-boost/buildlink3.mk:1.29
--- pkgsrc/devel/py-boost/buildlink3.mk:1.28    Sun Dec 29 18:41:54 2024
+++ pkgsrc/devel/py-boost/buildlink3.mk Thu Jan 23 19:37:41 2025
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.28 2024/12/29 18:41:54 adam Exp $
+# $NetBSD: buildlink3.mk,v 1.29 2025/01/23 19:37:41 riastradh Exp $
 
 BUILDLINK_TREE+=       py-boost
 
@@ -13,6 +13,7 @@ BUILDLINK_ABI_DEPENDS.py-boost+=      ${PYPKG
 BUILDLINK_PKGSRCDIR.py-boost?=         ../../devel/py-boost
 
 .include "../../devel/boost-headers/buildlink3.mk"
+.include "../../devel/py-boost-cmake/buildlink3.mk"
 .endif # PY_BOOST_BUILDLINK3_MK
 
 BUILDLINK_TREE+=       -py-boost

Index: pkgsrc/meta-pkgs/boost/Makefile.common
diff -u pkgsrc/meta-pkgs/boost/Makefile.common:1.110 pkgsrc/meta-pkgs/boost/Makefile.common:1.111
--- pkgsrc/meta-pkgs/boost/Makefile.common:1.110        Thu Jan  9 09:25:14 2025
+++ pkgsrc/meta-pkgs/boost/Makefile.common      Thu Jan 23 19:37:41 2025
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.common,v 1.110 2025/01/09 09:25:14 riastradh Exp $
+# $NetBSD: Makefile.common,v 1.111 2025/01/23 19:37:41 riastradh Exp $
 #
 # used by devel/boost-build/Makefile
 # used by devel/boost-docs/Makefile
@@ -7,6 +7,7 @@
 # used by devel/boost-libs/Makefile
 # used by devel/boost-mpi/Makefile
 # used by devel/py-boost/Makefile
+# used by devel/py-boost-cmake/Makefile
 
 BOOST_PACKAGE?=                undefined
 BOOST_COMMENT?=                undefined

Added files:

Index: pkgsrc/devel/py-boost-cmake/DESCR
diff -u /dev/null pkgsrc/devel/py-boost-cmake/DESCR:1.1
--- /dev/null   Thu Jan 23 19:37:41 2025
+++ pkgsrc/devel/py-boost-cmake/DESCR   Thu Jan 23 19:37:40 2025
@@ -0,0 +1,5 @@
+Boost is a set of free, peer-reviewed, C++ libraries.  The emphasis is on
+portable libraries which work well with the ISO C++ Standard Library.
+
+This package provides the cmake config files for the Boost Python
+library which are agnostic to the Python version.
Index: pkgsrc/devel/py-boost-cmake/Makefile
diff -u /dev/null pkgsrc/devel/py-boost-cmake/Makefile:1.1
--- /dev/null   Thu Jan 23 19:37:41 2025
+++ pkgsrc/devel/py-boost-cmake/Makefile        Thu Jan 23 19:37:40 2025
@@ -0,0 +1,52 @@
+# $NetBSD: Makefile,v 1.1 2025/01/23 19:37:40 riastradh Exp $
+
+BOOST_PACKAGE=         python
+BOOST_COMMENT=         (Boost.Python cmake files)
+BOOST_CONFIG=          installed
+
+INSTALLATION_DIRS+=    lib
+
+.include "../../meta-pkgs/boost/Makefile.common"
+
+PKGNAME=               py-boost-cmake-${BOOST_VERSION}
+
+# Note: This does NOT contain ${PYPKGPREFIX} -- it is
+# Python-version-agnostic.  So we only build it with the default Python
+# version -- or, as a hack if we're building this as a transitive
+# dependency of another Python package that is being built with a
+# specified non-default Python version, PYTHON_VERSION_REQD.
+
+# XXX Can we convince bjam to build just the cmake files?
+#
+# XXX Reduce copypasta from devel/py-boost/Makefile.
+.if !defined(PYTHON_VERSION_REQD)
+PYTHON_VERSIONS_ACCEPTED=      ${PYTHON_VERSION_DEFAULT}
+.endif
+
+USE_TOOLS+=            pax
+
+BJAM_ARGS+=            --user-config=${WRKSRC}/user-config.jam
+BJAM_ARGS+=            --with-python
+MAKE_ENV+=             BOOST_BUILD_PATH=${WRKSRC}
+
+.include "../../devel/boost-jam/bjam.mk"
+.include "../../lang/python/pyversion.mk"
+
+post-configure:
+       ${ECHO} 'using python : ${PYVERSSUFFIX} :' \
+           '${PREFIX}/bin/python${PYVERSSUFFIX} : ${PREFIX}/include/python${PYVERSSUFFIX} ;' \
+           >${WRKSRC}/user-config.jam
+
+do-build: bjam-build
+
+do-install:
+       @${STEP_MSG} Installing py-boost cmake files
+       ${RUN}cd ${WRKSRC}/stage/lib && \
+       ${FIND} cmake -name 'boost_python-config*.cmake' \
+               -o -name 'boost_numpy-config*.cmake' \
+       | ${PAX} -rw -p p ${DESTDIR}${PREFIX}/lib
+
+BUILDLINK_TRANSFORM.SunOS+=    rm:-lutil
+
+.include "../../math/py-numpy/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/devel/py-boost-cmake/PLIST
diff -u /dev/null pkgsrc/devel/py-boost-cmake/PLIST:1.1
--- /dev/null   Thu Jan 23 19:37:41 2025
+++ pkgsrc/devel/py-boost-cmake/PLIST   Thu Jan 23 19:37:40 2025
@@ -0,0 +1,5 @@
+@comment $NetBSD: PLIST,v 1.1 2025/01/23 19:37:40 riastradh Exp $
+lib/cmake/boost_numpy-${BOOST_VERSION}/boost_numpy-config-version.cmake
+lib/cmake/boost_numpy-${BOOST_VERSION}/boost_numpy-config.cmake
+lib/cmake/boost_python-${BOOST_VERSION}/boost_python-config-version.cmake
+lib/cmake/boost_python-${BOOST_VERSION}/boost_python-config.cmake
Index: pkgsrc/devel/py-boost-cmake/buildlink3.mk
diff -u /dev/null pkgsrc/devel/py-boost-cmake/buildlink3.mk:1.1
--- /dev/null   Thu Jan 23 19:37:41 2025
+++ pkgsrc/devel/py-boost-cmake/buildlink3.mk   Thu Jan 23 19:37:40 2025
@@ -0,0 +1,13 @@
+# $NetBSD: buildlink3.mk,v 1.1 2025/01/23 19:37:40 riastradh Exp $
+
+BUILDLINK_TREE+=       py-boost-cmake
+
+.if !defined(PY_BOOST_CMAKE_BUILDLINK3_MK)
+PY_BOOST_CMAKE_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.py-boost-cmake+= py-boost-cmake-1.87.*
+BUILDLINK_ABI_DEPENDS.py-boost-cmake+= py-boost-cmake-1.87.*
+BUILDLINK_PKGSRCDIR.py-boost-cmake?=   ../../devel/py-boost-cmake
+.endif # PY_BOOST_CMAKE_BUILDLINK3_MK
+
+BUILDLINK_TREE+=       -py-boost-cmake



Home | Main Index | Thread Index | Old Index