3 ms·
Why not offer this as a universal binary? Seems like a bunch of extra work to generate two separate DMGs and try to point users to the right one... Regardless,
by aroman 4y ago
Why not offer this as a universal binary? Seems like a bunch of extra work to generate two separate DMGs and try to point users to the right one...
Regardless, congrats to the team! Though, I'll note this blog post is from almost 6 weeks ago now.
- emeraldd 4y agoI wouldn't be surprised to find they're using a build tool chain that can't produce a universal build ... I've run into that before ...
- imoverclocked 4y agoI actually appreciate not having universal binaries. I almost always prefer to have a smaller footprint and the current app for arm64 is 874.4 MB according to Finder.
- jcelerier 4y agohmm as a user I really don't like downloading binaries that are almost twice the size needed and of which I won't use half of
- loeg 4y agoGIMP is already a pretty big download (~240MB), so saving users another significant fraction of that is nice. Also helps keep their mirrors' costs down.
- Gigachad 4y agoMac users are well adjusted to having to pick the correct binary by now and the consequences of getting it wrong are fairly minor.
- geraldcombs 4y agoIf the GIMP team's experience is anything like ours (Wireshark), it's because a significant percentage of your dependencies are pathologically blind to the concept of fat binaries, so you'd end up having to do the grunt work of supporting fat binaries in both your application and your dependencies. It's a lot easier to just add a CI builder for each architecture and ship separate packages.
- dspig 4y agoAlong with the other answers here, using a newer Xcode and macOS SDK in order to build for M1 can limit compatibility with old macOS (OS X) versions.
- yoyonamite 4y agoI'm not affiliated with Gimp and don't know why they didn't support fat binaries in the end; but I did look into compiling Gimp as a Universal Binary on my own at one point. My experience matches those of another comment, which is that not all dependencies supported compiling to fat binaries (i.e. you couldn't just add a bunch of flags and get a fat binary at the end). The only solution I thought of was to compile for both platforms and then lipo all the built files. The main problem is I couldn't figure out a strategy to do this without making the build scripts into a gigantic mess.