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

- [cairo] ensure cairo-gobject.dll is copied #7732

Closed
wants to merge 1 commit into from

Conversation

SSE4
Copy link
Contributor

@SSE4 SSE4 commented Oct 17, 2021

for #7691
Specify library name and version: cairo/all

This is also a good place to share with all of us why you are submitting this PR (specially if it is a new addition to ConanCenter): is it a dependency of other libraries you want to package? Are you the author of the library? Thanks!


  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the
    conan-center hook activated.

Signed-off-by: SSE4 <tomskside@gmail.com>
@conan-center-bot
Copy link
Collaborator

All green in build 1 (87882ee4cf6a81bf31a0bb81d2cb331d01a54f60):

  • cairo/1.16.0@:
    All packages built successfully! (All logs)

  • cairo/1.17.2@:
    All packages built successfully! (All logs)

  • cairo/1.17.4@:
    All packages built successfully! (All logs)

@@ -206,14 +206,17 @@ def package(self):
self.copy(pattern="cairo-pdf.h", dst=inc, src=src)
self.copy(pattern="cairo-svg.h", dst=inc, src=src)
self.copy(pattern="cairo-gobject.h", dst=inc, src=cairo_gobject)
if self.options["glib"].shared:
Copy link
Contributor

Choose a reason for hiding this comment

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

I guess this means that the following is required: self.options.shared == self.options["glib"].shared.
Don't we need to add that check to validate and just keep using self.options.shared here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

right now I am not sure if these two options orthogonal or must be in sync

Copy link
Contributor

Choose a reason for hiding this comment

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

It really surprises me that copying (or not) these libraries depends on an option of a requirement... for example, if cairo is static, the file *cairo-gobject.dll is probably not generated, and it doesn't depend on the value of glib.shared.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

the following patch builds shared cairo-gobject.dll unconditionally.
maybe it depends neither on cairo:shared nor glib:shared?

I was able to trace patch to bincrafters/conan-cairo@0b0a354, added by @ericLemanissier 2 years ago.
no idea if it was taken from mail list or somewhere else, trying to find its roots...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

or maybe we should just switch to meson for cairo?

Copy link
Contributor

Choose a reason for hiding this comment

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

I did not real the full thread, but I think the patch comes from https://gitlab.freedesktop.org/cairo/cairo/-/issues/75

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I would say "Use Meson instead", yes, but I may be slightly biased in this respect :)
I think it's a much better and more maintainable approach though which doesn't require hardcoding specific configuration choices either.
I would go as far as wondering whether the Makefile.win32 should just be removed seeing that it was last touched in 2012.
Just a heads-up that upstream cairo is working towards dropping support for all non-Meson build systems.

probably, we should just switch to meson as well

Copy link
Contributor

Choose a reason for hiding this comment

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

if it works, it's clearly a better choice indeed

@SSE4 SSE4 mentioned this pull request Oct 26, 2021
4 tasks
@ghost
Copy link

ghost commented Oct 26, 2021

I detected other pull requests that are modifying cairo/all recipe:

This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there.

@stale
Copy link

stale bot commented Nov 25, 2021

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Nov 25, 2021
@SSE4 SSE4 closed this Nov 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants