GNOME Bugzilla – Bug 778802
GNOME Flatpak SDK should build mozjs38 for GJS master
Last modified: 2017-02-23 12:21:57 UTC
Here is a patch for gnome-sdk-images to build mozjs38 for GJS master. I couldn't figure out what product to file this bug under - apologies if this is the wrong one.
Created attachment 346036 [details] [review] Update to mozjs38 plus patches used in jhbuild Except mozjs38-install-name.patch, which is only needed on macOS.
Review of attachment 346036 [details] [review]: ::: org.gnome.Sdk.json.in @@ -570,3 @@ { "type": "archive", - "url": "http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz", Eh?
Pushed to master sans the enchant thing.
Thanks for removing that. The abisource website was not responding when I was testing this out, hence the edit, and I did commit -a without thinking.
It seems to fail to build on i386: http://sdkbuilder1.gnome.org/logs/build-2017-02-20-090004/build-gnome-sdk-images-master-i386.txt
Ugh. I don't think this is specific to i386, rather, a fault of Mozilla's ill-advised timestamp check on configure vs configure.ac. Since we patch both files in the same patch, it seems to be indeterminate which is patched first. I had run into it a few times myself, but thought I'd fixed it by listing configure after configure.ac in the patch. Apparently not. Does flatpak-builder allow for a "touch this file" step in the build manifest? Or maybe we could simply not patch configure.ac at all, so configure would always be newer than configure.ac. (It's not like anyone would be rebuilding mozjs38 from the state in flatpak-builder.) What do you think?
We can add a source something like: { "type": "shell", "commands": [ "touch configure" ] }
Lets hope this works: https://git.gnome.org/browse/gnome-sdk-images/commit/?id=96a24d515000e13d52e8d2a0ef3626ea5d01a009
Considering that I still cannot build mozjs with jhbuild because of this issue, I honestly doubt this will be enough to cover all cases.
Did it work? In jhbuild we could add a dummy patch that just adds a few blank lines to configure without touching configure.ac, and apply it last in the series?
I dunno if it works every times, as this seems to be a race, but it made it build once at least.
Argh, it didn't help because i touched the wrong configure, it should be js/src/configure. Lets hope it works this time.