Skip to content

Conversation

mbeutel
Copy link

@mbeutel mbeutel commented May 24, 2025

Summary

Changes to recipe: gsl-lite/0.43.0, gsl-lite/1.0.1

Motivation

This PR modernizes the recipe and adds new package versions 0.43.0 and 1.0.1.
The configuration option on_contract_violation is removed. Contract violation behavior should be defined through a build flag, not at package manager level.

Closes #5521. Renders #25157 obsolete.

Details

See release notes for gsl-lite v0.43.0, v1.0.0 and v1.0.1.


@CLAassistant
Copy link

CLAassistant commented May 24, 2025

CLA assistant check
All committers have signed the CLA.

Copy link
Member

@AbrilRBS AbrilRBS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @mbeutel thanks a lot for taking the time nto add these new versions and cleaning the recipe up

I've made some more changes and simplifications, and I'm approving the new 0.43 patch too as this is the last 0.x version, as the new major version has some breaking changes and users might want to update first to 0.43 before moving to the 1.x major

Copy link
Member

@AbrilRBS AbrilRBS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More changes needed, sorry for the noise

Copy link
Member

@AbrilRBS AbrilRBS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The configuration option on_contract_violation is removed. Contract violation behavior should be defined through a build flag, not at package manager level.

While I might agree that for header-only libraries define flags are a bit harder to properly manage, I think we need to keep the option for the old releases, for which users might expect it to exist and removing it would be a breaking change for them

@mbeutel
Copy link
Author

mbeutel commented May 25, 2025

The configuration option on_contract_violation is removed. Contract violation behavior should be defined through a build flag, not at package manager level.

While I might agree that for header-only libraries define flags are a bit harder to properly manage, I think we need to keep the option for the old releases, for which users might expect it to exist and removing it would be a breaking change for them

Fair enough. Removing the option for v1.0 and newer only seems reasonable.

@mbeutel mbeutel requested a review from AbrilRBS May 25, 2025 21:03
AbrilRBS
AbrilRBS previously approved these changes Jun 7, 2025
@mbeutel
Copy link
Author

mbeutel commented Jun 17, 2025

Hi @AbrilRBS, could you please rerun the CI for the package? I hope my update from last week fixes the CMake version requirement issue.


def layout(self):
cmake_layout(self, src_folder="src")

def package_id(self):
self.info.clear()

def build_requirements(self):
self.tool_requires("cmake/[>=3.16 <4]")
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Out of curiosity: why require "<4"? The package works fine with CMake v4.

@mbeutel
Copy link
Author

mbeutel commented Jul 15, 2025

Is there anything I can do to help getting this PR merged?

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.

[package] gsl-lite/0.38.1: Contract violation usability issue
3 participants