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

meson: add patch to produce properly versioned dylibs and gobject-introspection data #25667

Closed
wants to merge 7 commits into from

Conversation

tschoonj
Copy link
Contributor

Long story as to why can be read at: mesonbuild/meson#2577
Note: this patch will not be merged in anytime soon as it breaks meson's testsuite, and I am waiting for help to fix this...

When this one is merged in, I will start updating formulas that switched to meson, as well as add some new ones...

@tschoonj
Copy link
Contributor Author

@ilovezfs Assuming you don't mind the libepoxy warning, this is ready to merge.

@tschoonj
Copy link
Contributor Author

I am thinking that perhaps meson should become keg-only now, as it becomes hard to use it with this patch for development purposes. Perhaps adding a caveat, asking people to install it with pip3, if necessary? Something like is done in the Cython formula.

@ilovezfs
Copy link
Contributor

as it becomes hard to use it with this patch for development purposes.

can you elaborate?

Josephs-MacBook-Pro:~ joe$ brew formula-analytics meson
install events in the last 30 days for meson
====================================================================
1 | meson                                          | 3,162 |  98.87%
2 | meson --HEAD                                   |    36 |   1.13%
====================================================================
Total                                              | 3,198 |    100%
====================================================================

install_on_request events
====================================================================
1 | meson                                          | 2,185 |  98.42%
2 | meson --HEAD                                   |    35 |   1.58%
====================================================================
Total                                              | 2,220 |    100%
====================================================================

BuildError events
====================================================================
1 | meson --HEAD                                      | 21 |  87.50%
2 | meson                                             |  3 |  12.50%
====================================================================
Total                                                 | 24 |    100%
====================================================================
Josephs-MacBook-Pro:~ joe$ 

The analytics suggest we really can't do that given the number of install-on-request events.

@tschoonj
Copy link
Contributor Author

Assuming you are developing some software project with meson, you wouldn't be able to run the compiled executables anymore before installing them (actually the shared libraries in the project must be installed). Also, ninja test will fail for the same reason.

@ilovezfs
Copy link
Contributor

And what happens if we don't patch meson?

@tschoonj
Copy link
Contributor Author

tschoonj commented Mar 27, 2018

Then we cannot build any of the GNOME projects containing shared libraries and GIR bindings that use meson 😄

@ilovezfs
Copy link
Contributor

Does it not work to do two stage installs, first building without the bindings, installing, and then building with the bindings, and installing?

@tschoonj
Copy link
Contributor Author

You would still need the patch. As I explain in mesonbuild/meson#2577, meson is putting the wrong path to the dylib into the typelib files.

Also the patch adds versioning information to the dylibs, which is currently not done...

@ilovezfs
Copy link
Contributor

How do you feel about using a separate meson-internal keg-only formula?

@tschoonj
Copy link
Contributor Author

sure, I could live with that. Is there a precedent for that?

@ilovezfs
Copy link
Contributor

Not that I know of, though the ghc @ formulae that are "for our own purposes" aren't conceptually much different from that.

@tschoonj
Copy link
Contributor Author

Ok, will look into that. Thanks for the suggestion

@tschoonj tschoonj force-pushed the meson-da-fix branch 2 times, most recently from 093dc6b to 44493ab Compare March 30, 2018 18:35
@tschoonj
Copy link
Contributor Author

tschoonj commented Apr 1, 2018

@ilovezfs If you can live with the audit warnings, than this one is ready to merge...

@tschoonj tschoonj added the ready to merge PR can be merged once CI is green label Apr 1, 2018
@ilovezfs
Copy link
Contributor

ilovezfs commented Apr 1, 2018

What's the status of the gom patch?

@tschoonj
Copy link
Contributor Author

tschoonj commented Apr 1, 2018

I removed all bits that assumed pygobject3 is present.

They were redundant anyway as we reinplace the install location of the override files.

@ilovezfs ilovezfs closed this in 86e8c84 Apr 1, 2018
@ilovezfs
Copy link
Contributor

ilovezfs commented Apr 1, 2018

🍪

@tschoonj
Copy link
Contributor Author

tschoonj commented Apr 1, 2018

Obliged! Feel free to reopen #25428. There shouldn't be any rev bumps necessary now.

@Homebrew Homebrew locked and limited conversation to collaborators May 4, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
ready to merge PR can be merged once CI is green
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants