Skip to content

Add libsc & p4est#31311

Merged
traversaro merged 19 commits intoconda-forge:mainfrom
claudiushaag:libsc
Nov 23, 2025
Merged

Add libsc & p4est#31311
traversaro merged 19 commits intoconda-forge:mainfrom
claudiushaag:libsc

Conversation

@claudiushaag
Copy link
Contributor

@claudiushaag claudiushaag commented Oct 28, 2025

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

@github-actions
Copy link
Contributor

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

@conda-forge-admin
Copy link
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 (recipes/libsc/recipe.yaml) and found it was in an excellent condition.

@claudiushaag
Copy link
Contributor Author

Windows build can be incorporated in the feedstock after cburstedde/libsc#232 is merged.

@claudiushaag
Copy link
Contributor Author

@conda-forge/help-c-cpp This is ready for review, thanks!
Windows compilability is still pending, therefore skipped.

@claudiushaag claudiushaag marked this pull request as ready for review October 30, 2025 09:15
@claudiushaag claudiushaag marked this pull request as draft November 2, 2025 10:10
@conda-forge-admin
Copy link
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 (recipes/libsc/recipe.yaml, recipes/p4est/recipe.yaml) and found some lint.

Here's what I've got...

For recipes/p4est/recipe.yaml:

  • ❌ pin_compatible should be used instead of pin_subpackage for libsc because it is not a known output of this recipe: ['p4est'].

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

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Nov 2, 2025

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 (recipes/libsc/recipe.yaml, recipes/p4est/recipe.yaml) and found it was in an excellent condition.

@claudiushaag
Copy link
Contributor Author

Waiting on conda-forge/jansson-feedstock#17 (comment) for json functionality.

@traversaro
Copy link
Contributor

@conda-forge/help-c-cpp This is ready for review, thanks! Windows compilability is still pending, therefore skipped.

Is this draft or ready for review?

@claudiushaag
Copy link
Contributor Author

claudiushaag commented Nov 9, 2025

@traversaro thank you for checking in! I previously used a patch to make jansson as a dependency work.
I then decided to adress the issue upstream, so waiting for conda-forge/jansson-feedstock#17 to be merged so these recipes are clean.

@traversaro
Copy link
Contributor

@traversaro thank you for checking in! I previously used a patch to make jansson as a dependency work. I then decided to adress the issue upstream, so waiting for conda-forge/jansson-feedstock#17 to be merged so these recipes are clean.

Thanks for the reply, I removed the review-requested label to avoid keeping this in the review queue, ping the help team once this is ready for review again, thansk!

@claudiushaag claudiushaag marked this pull request as ready for review November 14, 2025 14:47
@claudiushaag
Copy link
Contributor Author

@conda-forge/help-c-cpp this is ready for review now!

The json-feature mentioned earlier is minor and not needed. It depends on something upstream which needs some more time.
I would like to proceed nevertheless.
The pinning is done in accordance with the recent releases:

  • libsc v2.8.6 has library version 3.0

  • libsc v2.8.7 has library version 4.0

  • p4est v2.8.6 has library version 3.0

  • p4est v2.8.7 has library version 4.0

Thanks for having a look!

@claudiushaag claudiushaag changed the title Add libsc Add libsc & p4est Nov 14, 2025
@traversaro
Copy link
Contributor

So, libsc seems to be indeed packaged under this name in several distro: https://repology.org/project/libsc/versions, and also https://repology.org/project/p4est/versions .

@claudiushaag
Copy link
Contributor Author

claudiushaag commented Nov 23, 2025

Hi @traversaro, thank you for your review!
I resolved a few thinks, a few comments:

to be honest, I am not sure what is the purpouse of the libsc-2.8.7.pc, can you check it out and explain? Thanks!

This stems from the original cmake/pkgconf.cmake file:

# --- generate pkg-config .pc
set(pc_libs_private)
set(pc_req_private "ompi ompi-c orte zlib")

set(pc_req_public "p4est sc")

set(pc_filename p4est-${git_version}.pc)
configure_file(${CMAKE_CURRENT_LIST_DIR}/pkgconf.pc.in ${pc_filename} @ONLY)

install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${pc_filename}
  DESTINATION lib/pkgconfig)

set(pc_target ${pc_filename})
set(pc_link ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/p4est.pc)

install(CODE "execute_process( \
    COMMAND ${CMAKE_COMMAND} -E create_symlink \
    ${pc_target} \
    ${pc_link}   \
    )"
  )

where the file with the version is created first and then one without a version is symlinked.
The duplication seems to stem from this issue, so the preference on the unversioned .pc-file is known upstream.
I can of course patch this (only with version, only without version...?), but I expected no diminished user experience in keeping it. Tell me which option you prefer.

Which pinning are you referring to?

I was referring to the run_exports which are set up to the patch version. Just a fyi.

@traversaro
Copy link
Contributor

The duplication seems to stem from this issue, so the preference on the unversioned .pc-file is known upstream.
I can of course patch this (only with version, only without version...?), but I expected no diminished user experience in keeping it. Tell me which option you prefer.

Thanks! I think that is ok, as long as we are not interested on Windows (where symlinks are more complicated to handle).

@traversaro
Copy link
Contributor

Thanks, the PR is ready for me. Do you want to squash the commits and rebase yourself or I can do that on merge? Thanks!

@claudiushaag
Copy link
Contributor Author

You can do that with the merge, no objections from me. Thanks for your help!

@traversaro traversaro enabled auto-merge (squash) November 23, 2025 18:19
@traversaro traversaro merged commit 502cc31 into conda-forge:main Nov 23, 2025
7 checks passed
mnfienen pushed a commit to mnfienen/staged-recipes that referenced this pull request Nov 25, 2025
* Init commit

* 1

* Install into prefix

* Mod options

* Patch for shared library

* Add jansson discovery

* Add pkg-config

* try windows

* disable win

* Try also building p4est

* correct pin_subpackage

* Correct upper bound

* Dont build examples for p4est b/c of missing files in tarball

* Add make for p4est

* Add zlib to p4est

* Update

* Update

* Update libsc

* More updates
@claudiushaag claudiushaag deleted the libsc branch December 3, 2025 08:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants