Skip to content
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

Boost unification #164

Merged
merged 246 commits into from Sep 27, 2023
Merged

Boost unification #164

merged 246 commits into from Sep 27, 2023

Conversation

h-vetinari
Copy link
Member

@h-vetinari h-vetinari commented May 3, 2023

Implementation for conda-forge/boost-cpp-feedstock#137

Closes #53
Closes conda-forge/boost-cpp-feedstock#25

As discussed in that issue, this PR:

  • unifies the feedstocks for boost & boost-cpp in this feedstock (due to better name)
  • renames boost-cpp -> libboost & boost -> liboost-python (maintaining the old output names as wrappers for now)
  • adds a run-export to the new libboost (while boost-cpp stays unchanged without one)
  • introduces a header-only version libboost-headers that will fill the role of the run-export-less boost-cpp

The history of https://github.com/conda-forge/boost-cpp-feedstock is preserved through a merge (after some preparatory commits to reduce collisions). This makes the PR look unwieldy but the changes before the merge aren't very interesting. The upside is that this allows digging into the full archeology in one place (with the only snag that GH now resolves the PR links incorrectly).

Implementation notes:

  • libboost depends on libboost-headers, so the headers are really only packaged once
  • I tried but quickly gave up to build all three outputs at once; I believe this would be hard both because boost's b2 built tool doesn't seem to support only-build-don't-install so well, and more importantly, because we need to build libboost-python per python version.
  • Therefore, libboost & libboost-headers are built only once in build.sh / bld.bat (essentially the build scripts from boost-cpp), with the only substantial change that they're now "installed" into a temporary prefix from which we can then actually install the respective files into our $PREFIX per output
  • libboost-python essentially keeps the build scripts of boost, only that we now reuse the b2 that was bootstrapped during the global build phase (this now allows full cross-compilation; previously ppc was emulated here).
  • There's still substantial duplication between the (configuration parts of) build-py.{sh,bat} and the global build scripts, but for now I've tried to keep the changes to the respective histories to a minimum.
  • OTOH, the tests should be cleaned up nicely now.
  • Switched libboost-python to only package dynamic libs, and add a run-export. Also, while it previously depended on the full boost-cpp, the link-check says the libs aren't necessary, so switch to depend on libboost-headers instead.

PTAL @conda-forge/boost @conda-forge/boost-cpp
CC @conda-forge/core

Travis-CI on github.com/conda-forge/staged-recipes and others added 30 commits January 6, 2017 17:01
Since py35 and py36 both use the same vc version, it's not necessary
to build boost-cpp in both versions. This disables py36 builds.
MNT: Re-rendered with conda-smithy 2.0.0 [ci skip]
Fix checking for non-existence of python headers
…render_master

MNT: Re-render the feedstock [ci skip]
Fix missing include in boost::serialization
@jaimergp
Copy link
Member

I added data about infixes too. Most of the devel stuff is either a CDT or a Perl package, but I guess that counts too. That said, you are right, and this is conda-forge-wide issue, not just Boost. Maybe worth discussing naming patterns separately: what our conventions are and perhaps even more importantly how to enforce them.

h-vetinari and others added 2 commits September 20, 2023 20:18
Co-authored-by: Marcel Bargull <mbargull@users.noreply.github.com>
@h-vetinari
Copy link
Member Author

We discussed the naming in the core call today, seems that everyone's fine to move forward with -devel. This PR is IMO ready to merge, and I'd like to ask for any final thoughts/concerns @conda-forge/core @conda-forge/boost @conda-forge/boost-cpp

@h-vetinari
Copy link
Member Author

This PR is IMO ready to merge, and I'd like to ask for any final thoughts/concerns

Alright, it's been almost a week, let's get this in. Thanks everyone!

@h-vetinari h-vetinari merged commit 06322b2 into conda-forge:main Sep 27, 2023
8 checks passed
@h-vetinari h-vetinari deleted the unify branch September 27, 2023 00:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Unify with boost-feedstock Consolidate with boost-cpp