Skip to content

gsl-lite: Modernize recipe, add versions 0.43.0 and 1.0.1 #27517

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

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

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.

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