Skip to content

No dependency on ICU for the static build - #21

Merged
JohanMabille merged 5 commits into
conda-forge:mainfrom
JohanMabille:no_icu
Jul 29, 2026
Merged

No dependency on ICU for the static build#21
JohanMabille merged 5 commits into
conda-forge:mainfrom
JohanMabille:no_icu

Conversation

@JohanMabille

@JohanMabille JohanMabille commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

As suggested in mamba-org/mamba#4355 (comment), we should build libpsl-static without depending on ICU. For now only micromamba indirecly depends on it (through libcurl, which does not use libpsl for IDNA / unicode support), so it is safe to build without ICU. If we need it in the future, we may want to build a variant since ICU is a heavy dependency.

@JohanMabille
JohanMabille requested a review from tschoonj as a code owner July 24, 2026 07:51
@JohanMabille

Copy link
Copy Markdown
Contributor Author

@conda-forge-admin please rerender

@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.
  • ℹ️ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/30079108921. Examine the logs at this URL for more detail.

@conda-forge-admin

conda-forge-admin commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I failed to even lint the recipe, probably because of a conda-smithy bug 😢. This likely indicates a problem in your meta.yaml, though. To get a traceback to help figure out what's going on, install conda-smithy and run conda smithy recipe-lint --conda-forge . from the recipe directory. You can also examine the workflow logs for more detail.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/30080659956. Examine the logs at this URL for more detail.

@JohanMabille
JohanMabille force-pushed the no_icu branch 2 times, most recently from eb1d394 to 8d6020a Compare July 24, 2026 09:00
@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

@conda-forge-admin

conda-forge-admin commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipe/recipe.yaml) and found some lint.

Here's what I've got...

For recipe/recipe.yaml:

  • ❌ There are 1 too many lines. There should be one empty line at the end of the file.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/30085132920. Examine the logs at this URL for more detail.

@JohanMabille
JohanMabille force-pushed the no_icu branch 2 times, most recently from 49cbcbe to f50416b Compare July 24, 2026 10:12
@conda-forge-admin

Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/recipe.yaml) and found it was in an excellent condition.

@JohanMabille

Copy link
Copy Markdown
Contributor Author

@tschoonj this is ready for review.

Comment thread recipe/recipe.yaml Outdated
Comment on lines +71 to +72
run_exports:
- ${{ pin_subpackage('libpsl', exact=True) }}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why do you need a run_exports for the static library?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Because the headers are in the libpsl package, and there is no "host_export" feature in the conda ecosystem.. Not doing so would require any downstream package depending on libpsl-static to also depend on libpsl.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You are conflating run vs run_exports.

@JohanMabille JohanMabille Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

So we should add libpsl in the host section of packages depending on libpsl-static at build time (to get the headers), and ignore its run_exports (in order no to pull libpsl when installing a package depending on libpsl-static) ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Ah got it, sorry for the confusion.

@JohanMabille
JohanMabille merged commit 6aebce8 into conda-forge:main Jul 29, 2026
8 checks passed
@JohanMabille
JohanMabille deleted the no_icu branch July 29, 2026 16:29
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.

3 participants