Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
I think for a lot of the gtk ports you've been working on this would be useful as well. Transmission, Filezilla, Claws-mail, QMPlay2. I generally prefer having a bundled .app in a dmg which I can drag into my Applications folder - but you could install CLI utils like Git via a pkg.

Most people just want a list of usable software ready to go with the related installers. To avoid conflicts, we could set these packages up to install into a separate prefix like /opt/packages.

So what happens when there are two apps with overlapping dependencies? Obviously, installing every app into a separate prefix does the job, but then every user ends up with dozens of copies of every library.
Also notice, that in this scenario updates become manual: a user will need to download a new installer, whenever he decides to, and run an update. (This is not an issue with ports, where you can run `port update outdated`.)

I wonder how difficult it would be to create a precommit hook that automatically cuts a .dmg/pkg release when you go to push a port update (or some other similar mechanism) so that this is mostly a hands-off process.

In this manner it can already be done by anyone interested (whether for personal use or distribution). Since we don’t have buildbots, in any case someone has to compile that stuff into dmgs.
 
Speaking about GUI apps from ppcports I definitely installed

FBreader (for those fb2 and epubs I accumulated over years)

Chromium-BSU - probably only 3d game from early Linux 3D days I actually played 😉

Speaking about marketing ... well, a lot of those ports basically libraries or python stuff or something like this - sometimes very important but not something you run directly.

And I was a bit disappointed that both audacious and deadbeef turned out to be non-buildable on 10.5 (and apparently Blackomega too, looking at issues?) Qmmp-0 worked ....

@barracuda156 also fixed more recent Hatari, so one more App to potentially use. B2/Sheepshaver remain a bit unstable - I booted my 7.5.5 BasiliskII install and it worked until int froze 🙂

qemu (ppc, x86-64) works, and Bochs crawls.

I think qt5 or even 6 was working on my Bonslack install, but this is modern Linux, so it probably was a bit easier.

On electricity problem - @Matias_ even uploaded qemu with SMP hack to archive.org, and lately cat7 from emaculation.com improved it to 4 way SMP in Leopard (by setting mac model to 3.5 and patching openbios). Itested it and it was working? Not tried really long compile honestly. Distcc was also a thing in this era, just setting up vde2 networking can be a bit more challenging on modern macos hosts? Sadly emaculation site seems to be down for me at the moment ....

I wondered about android-tools - are they effectively unbuildable without this unholy mess of java and everything that is Android SDK? I do not have iPods or iPhones but I have this tablet 😉 surely I can ssh from termux but this is a bit too nerdy way for just filetransfer ....
 
Speaking about marketing ... well, a lot of those ports basically libraries or python stuff or something like this - sometimes very important but not something you run directly.

End-user apps are still in hundreds. Not 42 thousand that MacPorts shows in stats, of course, but a lot.

And I was a bit disappointed that both audacious and deadbeef turned out to be non-buildable on 10.5 (and apparently Blackomega too, looking at issues?)

Illustration of my point why 10.6 is better 🙂
If you run into three examples over a week, well, I am dealing with this for a few years.

I think qt5 or even 6 was working on my Bonslack install, but this is modern Linux, so it probably was a bit easier.

Qt upstream deliberately break stuff for macOS, starting with early Qt5. I don’t know why. They just hate us LOL

Though specific components, like webengine, are globally broken on non-mainstream archs.
 
Yeah, it is understandable that in some circumstances downloading may be easier (though installers, likewise, must be hosted somewhere). I just don’t understand how it can work for ports in a sensible way. (There is no argument that it can work for some very specific isolated thing demanded by many users.)

There are several thousands of ports. We would need to somehow guess what users want of that, at the same time minimizing installers size (no one will be happy to download 10 GB dmg for a 100 KB app). That must install into some location, not conflicting both with ports and stuff in user directory. Then, it is clearly impossible to have a single installer, otherwise it either gets ridiculously huge or cannot possibly include every app someone would want. So we will need multiple installers. Say, I want apps A and B. I will need to somehow find out whether they exist in some installer and if yes, which one specifically. Assume they happen to be in two different installers. Those either need to install in non-conflicting locations or will have conflicting components (each installer will need to have a set of basic typical dependencies like openssl and python). In result I need to a) effectively download same stuff multiple times, b) either waste disk space on separate installations or figure out which components to need to install and which to disable, c) assuming I do not want to download gigabytes of dmgs every time I need to re-install system, I also need to somehow keep a track of which app is where (in local copies of installers), or otherwise search for them every time. Now consider that installers are prepared in a given moment of time (it is like a snapshot of a subset of ports). Since they won’t be regenerated on every commit, at any given moment we can have installers with incompatible versions of libraries. So if someone suggests that “we can just overwrite older stuff with newer stuff, when using another installer”, no, that won’t work, because if something is built against an older dylib and you update that dylib, that thing can be broken and refuse to launch. Now consider this whole scenario from a point of view of a maintainer (or just someone trying to help someone else on a forum here). How to debug it? With ports you can a) always see the current state of code, b) always reproduce deterministic bugs, c) fix bugs once they are discovered and update ports, which in turn fixes those for end-users. What am I supposed to do if someone says some app is broken, being installed from one of multiple incoherent installers? It is not even possible to understand what environment a given user has (at least without analysis of all that mess). Say, you figure out what is wrong. How to fix it for a user?
I don't think we actually disagree on much. There are a small number of things which are demanded by many users that could be bundled together into a stub metaport (claws-mail, git, QMPlay2 with yt-dlp, ebook and pdf readers, maybe a music player). As I mentioned, making an installer lacks advantages once the size exceeds 2 GB or thereabouts. Ports is by far the best for sizes significantly larger than that. You already need to download an almost GB dmg for Xcode, unless you happen to have a working disc around (size from here: https://macintoshgarden.org/apps/apple-xcode). The question to my mind is how much useful software from PowerPC Ports could be crammed into a single mdmg that installs into a single location (opt/packages or opt/whatever), and is about 2 GB in size. I think our point of disagreement centers around how much software is commonly desired that can fit into less than 2 GB - I think one can guess well what most users want, but you may be right that users often want unanticipated things, and that ports better serves users who have diverse interests.
You bring up a very good point about bug reports - that should be the responsibility of whoever makes and distributes a dmg, not you as the ports maintainer. You already do an amazing amount of wonderful work, and I hate to see people complain about it. Luckily distributing a dmg is trivial with macintoshgarden, compared to hosting a server.
Speaking about GUI apps from ppcports I definitely installed

FBreader (for those fb2 and epubs I accumulated over years)
So glad you like FBReader! That was probably one of my more important contributions, though @barracuda156 helped immensely in turning my muddled pull request into an effective portfile.

There are multiple apps of that kind, though I cannot say which work on 10.5.

nulloy (qt)
guayadeque (gtk)
rhythmbox (gtk)
lollypop (gtk)
exaile (gtk)
quodlibet (gtk)
musikcube (tui)
cmus (tui)

and w/e else I do not remember right now.
Since lollypop, quodlibet, and musikcube install on 10.4 - though recent py-gobject changes give me a headache with launching lollypop - they likely work fine on 10.5.
 
So what happens when there are two apps with overlapping dependencies?
Couldn't we just put the version number in the filename? This way you can have `zstd_1.5.7_0.dylib` and `zstd_1.5.6_0.dylib` (as an example) in the same directory and each app just uses whatever version is needed.

If these are just binaries, yes it's a waste of disk space, but not nearly as bad as trying to manage a separate prefix for each port. This is already done to some extent with `/opt/install` so this doesn't feel like much of a leap.
 
[now on Linux side of the hard drive, hopefully will make things a bit more lively here too ..despite all this LLM hype tests still do not execute themselves :} ]
 
Couldn't we just put the version number in the filename? This way you can have `zstd_1.5.7_0.dylib` and `zstd_1.5.6_0.dylib` (as an example) in the same directory and each app just uses whatever version is needed.

And get all horrors of Linux without its benefits lol
But then you just reproduce ports, but without a framework to ensure coherence.

If these are just binaries, yes it's a waste of disk space, but not nearly as bad as trying to manage a separate prefix for each port. This is already done to some extent with `/opt/install` so this doesn't feel like much of a leap.
 
And get all horrors of Linux without its benefits lol
But then you just reproduce ports, but without a framework to ensure coherence.
Well, the alternative is forcing all of our users to get familiar with the command-line and the MacPorts ecosystem - so you lose community coherence and hurt the likelihood for adoption. As you said earlier, people don't even know what we have, and I think it's because this can be kind of an obtuse setup process.
 
Hm, you made me curious and I searched google

There WAS at least attempt at macports GUI (current status seems to be broken, but what is not in this big software world?)


but also something called Porticus (in 2008), may be it still traceable (website is long removed from web ofc) - edit - Porticus was shareware, not open source.

macportsfaq also lists this


but Java ....
 
Last edited:
Well, the alternative is forcing all of our users to get familiar with the command-line and the MacPorts ecosystem - so you lose community coherence and hurt the likelihood for adoption. As you said earlier, people don't even know what we have, and I think it's because this can be kind of an obtuse setup process.

Compared to an abstract ideal any feasible alternative will look bad. Using ports has downsides, but it is feasible. So far I haven’t seen feasible alternatives to ports. What I see is extrapolating from a case where isolated self-contained installation of a specific app makes perfect sense and works great (PowerFox, your AquaCenter, or old VLC) to a different scenario of hundreds of apps with partly overlapping dependencies and uncertainty of what a given user wants. There are people who don’t want a lot of software and just need one browser, one email client and one media player. Ports are probably not the best solution for them: even if they work perfectly, it’s an overkill for the task. I do not attempt to force these users to start using ports for no good reason. I can recommend packaging claws-mail for anyone needing a GUI email client and qmplay2 for media player. Browsers are already offered as apps without ports. For whomever wanting more than a handful of specific apps (say, a user wants to compare multiple players, or watch anime from streaming sites, download images from Twitter, occasionally use multiple editors or media converters, etc.) using ports is IMO the only meaningful option, with anything else being either impossible, or highly impractical/wasteful, or disaster in the making with stuff being broken and undebuggable.
As for CLI, I don’t make every simple operation in CLI myself, I copy or rename files more often in GUI, etc. But using Macs from 2003, I was forced to have minimal familiarity with CLI, and using ports as an end-user adds no extra requirement. Homebrew is used from CLI, I believe, at least that’s what is usually advised, Linux and BSD requires at least some CLI knowledge to deal with the system, and there are a lot of people somehow using Linux. Why this must differ with legacy macOS? I don’t want to assume a target group less capable than average non-professional Linux users.
 
Hm, you made me curious and I searched google

There WAS at least attempt at macports GUI (current status seems to be broken, but what is not in this big software world?)


Did you try compiling it? Given that it uses Growl, it is probably pretty archaic, so the code may work.
 
@srp Just to be clear: I do not make an argument against anyone packaging some app from ports and distributing it in a standalone manner. Just don’t use default ports prefix to install it (otherwise users may run into trouble). PPCPorts can be used directly for that purpose (port mpkg) or supply specific components if you build the final app yourself.
 
@srp Just to be clear: I do not make an argument against anyone packaging some app from ports and distributing it in a standalone manner. Just don’t use default ports prefix to install it (otherwise users may run into trouble). PPCPorts can be used directly for that purpose (port mpkg) or supply specific components if you build the final app yourself.
I wonder if a good trade-off would be us authoring a semi-regular (6 months? 1 year?) "PowerPC Community Software Package" - a big ol' DMG installer that lets the user check the ports they want. It installs into a dated prefix for that specific release with all compatible dependencies. Then, on that regular basis, we can ship a new version that updates all dependencies, new patches, etc and gives you an option to remove the old prefix.

We avoid dependency hell by curating the ports/apps that go into each DMG release, and then asking the user to replace that prefix wholesale whenever we release a new version of that package. This way, at any given time, somebody who's completely new to this community could still download a recent bundle of ready-to-go modern software without needing to understand MacPorts.

Just brainstorming here...
 
I wonder if a good trade-off would be us authoring a semi-regular (6 months? 1 year?) "PowerPC Community Software Package" - a big ol' DMG installer that lets the user check the ports they want. It installs into a dated prefix for that specific release with all compatible dependencies. Then, on that regular basis, we can ship a new version that updates all dependencies, new patches, etc and gives you an option to remove the old prefix.

We avoid dependency hell by curating the ports/apps that go into each DMG release, and then asking the user to replace that prefix wholesale whenever we release a new version of that package. This way, at any given time, somebody who's completely new to this community could still download a recent bundle of ready-to-go modern software without needing to understand MacPorts.

Just brainstorming here...
This is essentially the metaport approach I brainstormed above. The mdmg or mpkg command already allows users to select which packages to install with custom install, though they have to know the dependencies for the packages they want if they want to do a custom install that will work. One can always write a guide for that part, or perhaps a script could automate that.
The questions would be which software to include because @barracuda156 is correct that downloading GBs of dmgs is its own problem.
But one could probably fit a lot of cool software in a DMG that is under 2 GB.
It's also impractical to build all of PPC ports in any reasonable amount of time in a separate prefix, even with a Quad. It would take months of the machine running on full blast to do that. So limiting to what fits in a 1.9 GB dmg is also a reasonable constraint for whoever is compiling this.
Btw, if you do go forward with this for Leopard, I would love to hear what apps you are including and I would try to do the same thing for Tiger Client.
 
  • Like
Reactions: Matias_
I wonder if a good trade-off would be us authoring a semi-regular (6 months? 1 year?) "PowerPC Community Software Package" - a big ol' DMG installer that lets the user check the ports they want. It installs into a dated prefix for that specific release with all compatible dependencies. Then, on that regular basis, we can ship a new version that updates all dependencies, new patches, etc and gives you an option to remove the old prefix.

We avoid dependency hell by curating the ports/apps that go into each DMG release, and then asking the user to replace that prefix wholesale whenever we release a new version of that package. This way, at any given time, somebody who's completely new to this community could still download a recent bundle of ready-to-go modern software without needing to understand MacPorts.

Just brainstorming here...

Perhaps this can be done, assuming a) someone does this (we cannot install info /opt/local, so I cannot just package stuff that I build anyway); b) some agreed-upon subset of apps fits within reasonable size of pkg/dmg (this is not a technical problem: of course it is always possible to remove some stuff and get to desired size). One more issue is that it makes very hard to fix any bugs (it is negligible if every released snapshot is thoroughly tested, but if not, then here or there something pops up that needs a patch) or do required updates interim (here I don’t mean updates just for the sake of having the latest version of something, but something like updates for YouTube and anime apps, where a missed update can mean that nothing works anymore due to a change on provider side).
 
  • Like
Reactions: TheStork
The questions would be which software to include because @barracuda156 is correct that downloading GBs of dmgs is its own problem.
But one could probably fit a lot of cool software in a DMG that is under 2 GB.
Could also do a "lite" version that includes a smaller subset of ports. With mSATA/CF to IDE swaps for G4s and SATA support for G5s I don't think even 5GB is a huge ask if it provides genuinely valuable ports and applications.

where a missed update can mean that nothing works anymore due to a change on provider side
Maybe we can just cut releases frequently enough where it won't matter (monthly?)
 
It's also impractical to build all of PPC ports in any reasonable amount of time in a separate prefix, even with a Quad. It would take months of the machine running on full blast to do that. So limiting to what fits in a 1.9 GB dmg is also a reasonable constraint for whoever is compiling this.

I don’t know if this is a good estimate, but my bootstrap-git package amounted to 320 MB.

There are not many really huge libraries and apps, perhaps, but there are some that are required that take space: python (~60 MB if built with lto), qt4 (170 MB), ffmpeg (60 MB). As things stand, we need more than one python and more than one ffmpeg. Perhaps then most of libraries and apps are below 10 MB (often much less), but as we can see from example of git packaging (which literally packaged only git and required deps), they add up.
 
  • Like
Reactions: Forest Expertise
Did you try compiling it? Given that it uses Growl, it is probably pretty archaic, so the code may work.
yes, now I tried

at

commit 570581de3f0f0beae635e20ef0362c671d798312

it at least making attempt, but dies with some x86-64 err, probably fixable in xcode project file?

xcodebuild build -project Pallet.xcodeproj

at the newest end of repo it tries to build for 10.8 and relevant there Xcode, so err earlier, but at least it give me line to run!
 
Refreshed Safari error page and added default solution. According to testing, fallback to archive.org will work for at least 95% of Wikipedia pages and even a decent number of other static articles requiring TLS 1.3 without a captcha, no proxy necessary. Live content should still use the Mozilla browsers.

Picture 2.png

Picture 3.png

Picture 4.png
 
  • Like
Reactions: NikolaPPC
Initially debuted in macOS Mojave for systems over 10 years newer, the Desktop Stacks feature has now been largely backported to Leopard in the form of (slightly less fancy) toggle scripts.

Picture 1.png


Simply double-click the 'Sort by Stacks' toggle, and every loose file on the desktop will be automatically grouped into Documents, Office, Images, Media, Links, or Other based on file type. If more files are later accumulated on the Desktop after sorting, the toggle can be run again to instantly add those files into the corresponding categories as well. Double-click 'Restore to Desktop' to revert everything to its previous state.

Desktop Stacks will be released in the next version of Sorbet, coming later this year. Certain elements are subject to change.
 
Last edited:
  • Like
Reactions: NikolaPPC
Refreshed Safari error page and added default solution. According to testing, fallback to archive.org will work for at least 95% of Wikipedia pages and even a decent number of other static articles requiring TLS 1.3 without a captcha, no proxy necessary. Live content should still use the Mozilla browsers.

View attachment 2638439
View attachment 2638440
View attachment 2638445
How difficult do you think it would be to bring a modern Webkit engine to Leopard, like MorphOS has? Would it be possible to crowdfund a project like that, maybe convince the Wayfarer developer from MorphOS to build us a new usable JIT-enabled webkit browser? And even have a 64 bit build of it to take advantage of every last resource the G5 has to offer. I would pay for something like that and spread the word.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.