Re: [gtk-osx-users] Changing from modulesets-stable to modulesets and universal architecture questions





On Apr 3, 2022, at 5:59 AM, Dominik Reichardt via gtk-osx-users-list <gtk-osx-users-list gnome org> wrote:


Hi all,

Along with that I have setup_sdk(target="10.11") and changed the paths of prefix and checkoutroot.
"jhbuild bootstrap-gtk-osx" works but when I run "jhbuild build meta-gtk-osx-bootstrap meta-gtk-osx-gtk3" I get this error:

Loading .env environment variables...
jhbuild build: failed to parse https://gitlab.gnome.org/GNOME/gtk-osx/blob/master/MODULESETS/gtk-osx.modules: not well-formed (invalid token): line 132, column 4

Am I doing it wrong or did it break at some point?

I'm also wondering what the correct setup_sdk() entry is for trying my hands at building both arches, x86_64 and arm64. And on top of that whether it is possible to use different targets depending on the arch? Perhaps through reading the architecture environment variable?
Something like this perhaps:
setup_sdk(architectures=["x86_64"]["arm64"]) <- here I don't know how to enter different arches
_arches = os.environ.get("ARCHITECTURES")
if _arches is arm64:
   setup_sdk(target="11.1")
if _arches is x86_64
   setup_sdk(target="10.11")

Thanks so much for this project! Through this I've been able to provide a macOS snapshot of our Exult Studio for about a year now (http://exult.info).

You didn't do anything wrong, there was I typo. I just pushed a fix.

It would be setup_sdk(architectures=['x86_64', 'arm64']) but unfortunately most build systems aren't able to deal with that so it doesn't work. Way back in the PPC/i686 days there was a jhbuildrc that tried to build each architecture separately and lipo them together, but it never really worked and I took it out as part of the virtualenv rewrite a few years ago since at that time macOS was x86_64 only. It's still in git history so you could dig it out and have a go at getting it working. Warning: When it was written everything in the main gtk stack used autotools. That's no longer the case so it will be much harder now. Even cross-compiling will be harder now because of the different build systems in use. Gobject-introspection is another wrinkle, as is librsvg's use of Rust.

jhbuildrc-custom is python so if you can program it in python you can do it. My jhbuildrc-custom uses an environment variable to select the project I want to build, the modulesets directory to use, and the macosx-version-min to set. It calls uname to set the architecture.

Regards,
John Ralls



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]