]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
boost: Use PN/BPN for naming of packages
authorAlex Kiernan <alex.kiernan@gmail.com>
Sun, 2 Mar 2025 16:50:55 +0000 (16:50 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 3 Mar 2025 18:00:47 +0000 (18:00 +0000)
Rework the anon Python so that it doesn't expect to find non-MLPREFIXed FILES
overrides which are then mapped into MLPREFIXed versions, this allows the
apparent hardcoding of boost-{test,serialization} to be written more naturally
(and is significantly less surprising).

With this, and a change to lookup ${BPN} when generating split package names,
generating an explicitly versioned boost package (e.g. "boost-1.82") alongside
the main boost package ("boost") can be done by copying/renaming the older
recipe. This is useful when upstream code hasn't yet been ported to newer
boost and an older version is required.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-support/boost/boost.inc

index b8aba94d9b2f2d88805141d67095d4f9901bc7ff..ee490cee0ac4022951b4ebef85678d481d7386e1 100644 (file)
@@ -43,6 +43,9 @@ BOOST_LIBS = "\
        type_erasure \
        url \
        wave \
+       ${@bb.utils.filter('PACKAGECONFIG', 'locale python', d)} \
+       ${@bb.utils.contains('PACKAGECONFIG', 'graph_parallel', 'graph_parallel mpi', \
+                            bb.utils.filter('PACKAGECONFIG', 'mpi', d), d)} \
        "
 
 # optional libraries
@@ -52,12 +55,6 @@ PACKAGECONFIG[graph_parallel] = ",,,boost-mpi mpich"
 PACKAGECONFIG[mpi] = ",,mpich"
 PACKAGECONFIG[python] = ",,python3"
 
-BOOST_LIBS += "\
-    ${@bb.utils.filter('PACKAGECONFIG', 'locale python', d)} \
-    ${@bb.utils.contains('PACKAGECONFIG', 'graph_parallel', 'graph_parallel mpi', \
-                         bb.utils.filter('PACKAGECONFIG', 'mpi', d), d)} \
-"
-
 inherit python3-dir
 PYTHON_ROOT = "${STAGING_DIR_HOST}/${prefix}"
 
@@ -70,14 +67,12 @@ python __anonymous () {
     mlprefix = d.getVar("MLPREFIX")
     for lib in d.getVar('BOOST_LIBS').split():
         extras.append("--with-%s" % lib)
-        pkg = "boost-%s" % (lib.replace("_", "-"))
+        pkg = "%s-%s" % (d.getVar("BPN"), lib.replace("_", "-"))
         if "-native" in pn:
             pkg = pkg + "-native"
         packages.append(mlprefix + pkg)
-        if not d.getVar("FILES:%s" % pkg):
+        if not d.getVar("FILES:%s%s" % (mlprefix, pkg)):
                 d.setVar("FILES:%s%s" % (mlprefix, pkg), "${libdir}/libboost_%s*.so.*" % lib)
-        else:
-                d.setVar("FILES:%s%s" % (mlprefix, pkg), d.getVar("FILES:%s" % pkg))
 
     d.setVar("BOOST_PACKAGES", " ".join(packages))
     d.setVar("BJAM_EXTRA", " ".join(extras))
@@ -87,9 +82,9 @@ python __anonymous () {
 FILES:${PN}-graph_parallel = "${libdir}/libboost_graph_parallel.so.*"
 FILES:${PN}-locale = "${libdir}/libboost_locale.so.*"
 FILES:${PN}-mpi = "${libdir}/mpi.so ${libdir}/libboost_mpi*.so.*"
-FILES:boost-serialization = "${libdir}/libboost_serialization*.so.* \
+FILES:${PN}-serialization = "${libdir}/libboost_serialization*.so.* \
        ${libdir}/libboost_wserialization*.so.*"
-FILES:boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \
+FILES:${PN}-test = "${libdir}/libboost_prg_exec_monitor*.so.* \
        ${libdir}/libboost_unit_test_framework*.so.*"
 
 # -dev last to pick up the remaining stuff