-
-
Notifications
You must be signed in to change notification settings - Fork 16
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
Try switching to Meson builds #53
Conversation
This simplifies the build greatly, gives us a shared library, and eliminates the need for many patches.
Note that the Meson build system looks like it should set the default font configuration automatically in a way that corresponds to the settings we had in `build.sh`.
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 ( |
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 ( Here's what I've got... For recipe:
|
…nda-forge-pinning 2022.03.04.15.23.07
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 ( |
@conda-forge/fontconfig OK, it took me a bunch of tries to get the cross builds to work, but I think this is ready for review now. Besides cleaning up the build scripts substantially, I think this should fix a couple of the bugs mentioned above. |
@ocefpaf would you have a chance to review this? It's blocking my Tectonic package update. |
This seems to be causing errors when importing rasterio on OSX:
Note this was a brand new environment in my CI where the PR job passed, a couple hours later I merged it, and then the OSX job failed in |
Hmm, the current situation is a little confusing to me, but it at least looks plausible that the Meson build system drops the library version number down compared to Autoconf. Here's what I think is the relevant code from
So the
and I guess based on the I don't have a sense of how many packages we have on macOS that depend on |
This is also causing trouble with |
If I understand right, a rebuild of |
I'm only seeing 7 feedstocks that use |
Could it be possible/reasonable to have a migration for this? |
@xylar Yes I believe that rebuild ought to be all that's necessary. (And since the version number is lower, I believe that it would also maintain compatibility with older versions of the package, because I don't believe that the ABI is actually any different.) edit: Also, yeah, the GitHub search looks like it is very incomplete. I can't see any obvious reason for it not to be finding some of the other feedstocks that use it, so I guess the feature is just unreliable that way. @zklaus I don't know the migration system super well, but I think so? It would be ideal if the migration could be limited to packages with macOS builds, but if not, that shouldn't be a huge issue either. |
Funny about the GitHub search. I get different numbers of hits each time I refresh -- as many as 52! But that feature has worked reliably for me in the past so I wonder if something's going wrong today. |
Checklist
conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)The main motivation here is to try addressing #49 and to fix conda-forge/tectonic-feedstock#49, which is having a link error on Windows that could maybe be fixable in the old system, but seems to get fixed for free with the Meson switch.
Windows relocatability
I spent a while trying to make sure that the Windows packages relocate well. Some notes from the time I spent on this:
FONTCONFIG_FILE
isn't applied on Windows!FC_CACHEDIR
,CONFIGDIR
, andFC_TEMPLATEDIR
preprocessor definesLibrary/bin
Other notes
getopt
headers aren't found. I tried a basic change to get Meson to find getopt using the SMP headers. It didn't work but I didn't debug.build.sh