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

[bot-automerge] Rebuild for r-base 4.4 and UCRT mingw toolchain #44

Conversation

regro-cf-autotick-bot
Copy link
Contributor

This PR has been triggered in an effort to update r-base44_and_m2w64-ucrt.

Notes and instructions for merging this PR:

  1. Please merge the PR only after the tests have passed.
  2. Feel free to push to the bot's branch to update this PR if needed.

Please note that if you close this PR we presume that the feedstock has been rebuilt, so if you are going to perform the rebuild yourself don't close this PR until the your rebuild has been merged.


If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by - please use this URL for debugging.

@conda-forge-webservices
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 (recipe) and found it was in an excellent condition.

Copy link
Contributor

github-actions bot commented Jul 3, 2024

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

  • linter: passed
  • azure: failed

Thus the PR was not passing and not merged.

@danielnachun
Copy link
Contributor

@conda-forge-admin please rerender

@conda-forge-webservices
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 (recipe/meta.yaml) and found it was in an excellent condition.

Copy link
Contributor

github-actions bot commented Sep 3, 2024

Hi! This is the friendly conda-forge automerge bot!

It appears that not all commits to this PR were made by the bot. Thus this PR is not being automatically merged. Please add the automerge label again (or ask a maintainer to do so) if you'd like to enable automerge again!

@danielnachun
Copy link
Contributor

There are two separate issues on macOS and Windows.
macOS:
We need to add -Wno-implicit-function-declaration to PKG_CPPFLAGS because clang is stricter than GCC about certain warnings.
Windows:
libgit2 was previous only allowed as a dependency on # [not win] but now Windows fails because it can't find git2.h, meaning we need libgit2 as a dependency on Windows now as well.

@jdblischak
Copy link
Member

@danielnachun thanks for the diagnosis! Would you like me to add you as a co-maintainer of this feedstock so that you can push commits directly to this bot PR?

@danielnachun
Copy link
Contributor

Sure! The implementation of these fixes is pretty straight forward.

@danielnachun
Copy link
Contributor

Another issue cropped up that I was able to fix but want to run by others before merging. It turns out that Makevars.ucrt for this package adds some extra libraries to PKG_LIBS - pcre, libgpg-error and libgcrypt. While pcre can be linked with no issues, the libgpg-error and libgcrypt packages only support macOS and Linux.

Instead, they can be installed on Windows with m2-libgpg-error and m2-libgcrypt, but these packages only provide the .dll files for run time dynamic linking and are missing the .lib files need for compile time dynamic linking. This is because they are part of https://github.com/conda-forge/m2-binary-packages-feedstock, which just repackages some pre-built MSYS2 binaries, which I guess were only intended for providing these libraries at run time and not for linking.

However, it also turns out that these libraries are not even needed for building the package on Windows, and aren't included in the old Makevars.win. So I just removed the -l flags for the libraries with sed in the bld.bat script and everything works now.

@jdblischak @mfansler How do you feel about the fix here? Feel free to merge if you think it's an acceptable solution.

@jdblischak
Copy link
Member

I'm fine with this approach. But I suggest we add some better tests to confirm the package is functional. I am pretty sure we can use run_test.r (conda/conda-build#1869) to auto-run R commands. We could use the example from ?commit:

path <- tempfile(pattern="git2r-")
dir.create(path)
repo <- init(path)

## Config user
config(repo, user.name = "Alice", user.email = "alice@example.org")

## Write to a file and commit
lines <- "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do"
writeLines(lines, file.path(path, "example.txt"))
add(repo, "example.txt")
commit(repo, "First commit message")

@mfansler
Copy link
Member

mfansler commented Sep 9, 2024

However, it also turns out that these libraries are not even needed for building the package on Windows, and aren't included in the old Makevars.win. So I just removed the -l flags for the libraries with sed in the bld.bat script and everything works now.

Yeah, I think they overdo it maybe to support optionally doing static builds (?), but we don't do that and so are fine with only having the directly linked libs - in fact that's preferred, because otherwise over-declaring requirements leads to unnecessarily constrained library combinations. So, yes, I'm good with this!

And I agree that testing would be nice to add. Haven't really voiced this, but eventually I would like to see all R packages that link out to non-R libraries running unit tests (🦄 ).

@mfansler
Copy link
Member

mfansler commented Sep 9, 2024

@conda-forge-admin please rerender

@mfansler
Copy link
Member

mfansler commented Sep 9, 2024

oops wrong PR to rerender 🤦

@jdblischak
Copy link
Member

I'm working on the test script. I'll push directly to this PR branch once it's ready

Copy link
Member

@mfansler mfansler left a comment

Choose a reason for hiding this comment

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

Looks great! 🤩

@mfansler mfansler merged commit b5633d7 into conda-forge:main Sep 9, 2024
14 checks passed
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the rebuild-r-base44_and_m2w64-ucrt-0-1_hbcb022 branch September 9, 2024 20:33
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.

4 participants