-
Notifications
You must be signed in to change notification settings - Fork 351
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Entire set of Boost Libraries (Work in Progress) #1280
Conversation
Initial copy across from previous workings to test with entire central registry. Currently working on adding boost tests for every module
….assert//:assert". Changes were in boost.rules.tools but needed extra changes here
… main targets, as it wasn't included and causes build failures for boost as boost libraries aren't expecting to prefix the headers with "lib/"
Hey just wondering what the best way to point source urls to git tags is? I've done for example "https://github.com/boostorg/safe_numerics/archive/refs/tags/boost-1.83.0.tar.gz", but looks like that errors out as an unstable url. Looking at how other modules are done, it uses urls like "https://github.com/aspect-build/bazel-lib/releases/download/v1.34.2/bazel-lib-v1.34.2.tar.gz". I don't think we can get these for the boost libraries though, as they have tags, but not releases? |
There isn't, unfortunately GitHub doesn't provide a way to get a stable source archive without manual maintainer effort. This is a widespread issue and we will have to find a better solution to this, but for now all we can do is apply a, unfortunately very common, exception (see the label I added). |
Fixed boost.rules.tools & boost.ublas source repositories metadata
CI/CD pipeline is happy to build now! Looks like we've got 13 modules not building, that's what I was getting in my local testing too. They are the ones I haven't gotten around to yet, mostly the tricky ones like beast and log. I'll hopefully sort out the tests so the ones that are building have matching test suites and can be verified working, then will get onto the last few that aren't at build stage yet. |
Been working on boost.rules.tools and boost.rules to solve a few requests and make it super easy to contribute to maintaining or working on these modules. For anyone wanting to help out with this PR, check it out! See This Thread for some discussion about the benefits of this system. |
…n the boost module. This allows us to prevent mix and matching boost versions across modules
Added xz Deleted bazel_test folders and tests from rules_boost - not needed as we are using native boost tests Added build files to all test folders Updated presubmit.yml to run tests
Task ListFix Compiling issues
Potentially needs work (reference their cmakelists.txt and compare to what BUILD.bazel file is doing)
Random TODO:
Tests Passing (hence fully operational and ready to be used)
Tests Not Needed:
Test Notes
Testing ProcessI've been iteratively doing the cycle of:
|
…t building due to unrelated modules in error
Pivoted test system to auto-find all tests and assume they are a positive test unless in negative_test_names section. Reduces the need for a ton of lines specifying test files
You need to set Since Bazel 7 raised the C++ default to C++17, setting flags on individual libraries may not be necessary anymore. Fixed flags could lead to differing C++ standards across the build. |
@fmeum Just for the records: If I use Bazel 7.0.2 the default C++ standard is C++14. If I use 8.0.0-pre.20240108.6 the default C++ Standard is C++17 (tested on Ubuntu 22.04, gcc) |
Hello @Vertexwahn, modules you maintain (xz) have been updated in this PR. Please review the changes. |
Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (boost.accumulators, boost.algorithm, boost.align, boost.any, boost.array, boost.asio, boost.assert, boost.assign, boost.atomic, boost.beast, boost.bimap, boost.bind, boost.callable_traits, boost.chrono, boost.circular_buffer, boost.compatibility, boost.compute, boost.concept_check, boost.config, boost.container, boost.container_hash, boost.context, boost.contract, boost.conversion, boost.convert, boost.core, boost.coroutine, boost.coroutine2, boost.crc, boost.date_time, boost.describe, boost.detail, boost.dll, boost.dynamic_bitset, boost.endian, boost.exception, boost.fiber, boost.filesystem, boost.flyweight, boost.foreach, boost.format, boost.function, boost.function_types, boost.functional, boost.fusion, boost.geometry, boost.gil, boost.graph.parallel, boost.graph, boost.hana, boost.heap, boost.histogram, boost.hof, boost.icl, boost.integer, boost.interprocess, boost.intrusive, boost.io, boost.iostreams, boost.iterator, boost.json, boost.lambda, boost.lambda2, boost.leaf, boost.lexical_cast, boost.local_function, boost.locale, boost.lockfree, boost.log, boost.logic, boost.math, boost.metaparse, boost.move, boost.mp11, boost.mpi, boost.mpl, boost.msm, boost.multi_array, boost.multi_index, boost.multiprecision, boost.nowide, boost.numeric.conversion, boost.numeric.interval, boost.numeric.odeint, boost.numeric.ublas, boost.optional, boost.outcome, boost.parameter, boost.parameter_python, boost.pfr, boost.phoenix, boost.poly_collection, boost.polygon, boost.pool, boost.predef, boost.preprocessor, boost.process, boost.program_options, boost.property_map.parallel, boost.property_map, boost.property_tree, boost.proto, boost.ptr_container, boost.python, boost.qvm, boost.random, boost.range, boost.ratio, boost.rational, boost.regex, boost.rules.tools, boost.safe_numerics, boost.scope_exit, boost.serialization, boost.signals2, boost.smart_ptr, boost.sort, boost.spirit, boost.stacktrace, boost.statechart, boost.static_assert, boost.static_string, boost.stl_interfaces, boost.system, boost.test, boost.thread, boost.throw_exception, boost.timer, boost.tokenizer, boost.tti, boost.tuple, boost.type_erasure, boost.type_index, boost.type_traits, boost.typeof, boost.units, boost.unordered, boost.url, boost.utility, boost.uuid, boost.variant, boost.variant2, boost.vmd, boost.wave, boost.winapi, boost.xpressive, boost.yap, boost, zstd) have been updated in this PR. Please review the changes. |
Oh oops. Sorry @Vertexwahn, ignore this plz |
Closing this PR for the moment due to reorganising branches on my repo. CONTINUED AT #1577 |
Hi all! I'm working on adding all the boost libraries, still got a bit to do before my mess will be useful to anyone else to help with, but had a few people asking so wanted to get this up here so others can start to look through. No action required right now, will update as I progress!
Note:
Check out boost.rules.tools which is where all the common utilities used by all the modules is, plus some super handy maintenance tools. Probably not super helpful until I finish the readme though, sorry!
Credit to https://github.com/nelhage/rules_boost and https://github.com/Vertexwahn/rules_boost/tree/add-bzlmod-support which both provided inspiration and help with parts of the code.
Fixes #292 and Fixes #787