Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

alex_free

macrumors 65816
Original poster

Imagine if tiger was still supported by MacPorts, thats exactly the experience this provides.

This is not just a fork of MacPorts. It is a recreation of the entireMacPorts infrastructure, tailored to our favorite OS. TigerPortssupports Intel and PowerPC Macs.


  • Tigerorientated ports tree focused on software that works on Tiger. Thisis a managed snapshot of my fork of powerpc-ports tigerports branch(which tracks upstream powerpc-ports, and changes are submitted to themas well) merged with the MacPorts Ports tree, creating one unified portstree for tiger.
  • Tigerorientated base, configured in source to use tigerports.com. Thistracks upstream macports-base as close as possible, includestiger-specific fixes/functionally, and additional features supported byPPCPorts-base as well. In addition, TigerPorts-Base is TLSv1.2 capablewith modern certs so that it can connect to modern distfilesites/mirrors.
  • Tigerorientated infrastructure, allows hosting tigerports.com on a DebianVPS rather then a Mac like MacPorts has it. This includes numerousimprovements to the sync scripts, adds binary package signingmanagement, and includes a setup script to recreate my server.
  • Tarball releases to install TigerPortsfrom source on your Mac, same as official MacPorts (PKG installer isWIP).
  • The tigerports.com rsyncserver, which syncs with the Tiger orientatedports tree every 15 minutes, exactly like real MacPorts. Any pullrequests merged there will be available in no later then a quarter hourto all TigerPorts users via sudo port selfupdate.
  • The tigerports.com http server, which serves distfiles andcompiled port binaries (list ofbinaries).
  • Security is kept the same, just not managed by MacPorts. Theports tree, portindex, and binary packages served directly bytigerports.com are all signed.

Greetz @kencu @barracuda156 @Forest Expertise
 
Last edited:
Just fantastic Alex.

I had pondered something similar, but decided against doing it as my heart is not in Tiger any more.

I did have some fixes for Tiger put together, which I have shared here for you:


Once you've culled anything out of there that seems at all useful to you, please let me know and I'll delete that repo to avoid any confusion.

Very glad to see you take it all over!
 
You never know -- I still have machines that run Tiger, and it's not impossible that I could contribute something again.

Getting this going and available for use as a compiler for Tiger PPC would be pretty fabulous:

 
  • Like
Reactions: Appleuser201
Just fantastic Alex.

I had pondered something similar, but decided against doing it as my heart is not in Tiger any more.

I did have some fixes for Tiger put together, which I have shared here for you:


Once you've culled anything out of there that seems at all useful to you, please let me know and I'll delete that repo to avoid any confusion.

Very glad to see you take it all over!

In general I prefer to keep old stuff around, it does not cost us fortune to keep things on github . (While AI definitely trained on it).

For humans you can add line in Readme "use upstream here instead".

Rationale/rationalization: sometimes stuff not useful for 10-20 years just spark someone's interest again. Thinking in general takes time ....
 
Just fantastic Alex.

I had pondered something similar, but decided against doing it as my heart is not in Tiger any more.

I did have some fixes for Tiger put together, which I have shared here for you:


Once you've culled anything out of there that seems at all useful to you, please let me know and I'll delete that repo to avoid any confusion.

Very glad to see you take it all over!
In 2021 I used your tigerports-repo overlay to compile Super Mario 64 EX (decompilation to native i386/ppc mac os x port) for tiger/leopard as well as half-life 1 for intel tiger (now yall have half-life 2 for tiger ppc haha). That was the first time anyone did a n64 port to ppc/tiger, and the first time half-life 1 was available without needing steam (required leopard/intel even back when that OS was current). I check occasionally and that person who totally isn't me that uploaded sm64ex tiger/leopard ppc builds to archive.org are still there!

You inspired all this! You carried tiger way longer then it ever should have. I compiled MINGW-W64 toolchain on PPC TIGER in 2021! Believe it or not sm64ex needs that on even the current MacOS (too much to explain why but trust me on it).
 
Last edited:
  • Like
Reactions: kencu
Howdy Alex! I was just setting this up on my PBG4 and found that the tarball on your website led to a 404, couldn't find the logical location of where it might be hiding by poking around elsewhere in the folders.
 
  • Like
Reactions: alex_free
Howdy Alex! I was just setting this up on my PBG4 and found that the tarball on your website led to a 404, couldn't find the logical location of where it might be hiding by poking around elsewhere in the folders.
Oh wow, the gz download is down. The bz2 works, I’ll fix that thanks
 
@Smithwick’s back up, thanks for the report. There’s gonna be more PowerPC binaries up soon, but I just started building them with my new G5 (currently a lot of Intel stuff is up already, power stuff is working just needs to be built from source right now).
 
  • Love
Reactions: Smithwick’s
Can this be integrated with an existing install of MacPorts 2.10.7? I have two installs of MP on Tiger with fairly updated ports (June/July) on both my MDD and PBG4.
 
Can this be integrated with an existing install of MacPorts 2.10.7? I have two installs of MP on Tiger with fairly updated ports (June/July) on both my MDD and PBG4.
You could download the release and build it to 'upgrade' into tigerports. Once you do you won't loose any installed ports, but you will now be using the tigerports tree so there may be updates available.

This closely tracks both ppcports and has some things in it I haven't submitted to ppcports yet (I try to submit everything I fix there), but there is a ton of things working like gcc16, git, curl, python, and more. There's also some fixes for other things related to tiger in the base that your install.

I'm planning on hosting a ton of ppc pre-built ports soon, but alas they are still building on my G5 for now (there is a ton of Intel stuff already up, and more to come there too).
 
  • Like
Reactions: Appleuser201
libsdl2-cocoa now builds from source with pulse-audio backend (so latest SDL2+working sound) 🙂
 
This is HUGE. You know why?
Screen Shot 2026-08-26 at 1.15.51 AM.png

THIS IS WHY
Screen Shot 2026-08-26 at 1.18.29 AM.png

I added on the .001 because that's how the new version system TigerPorts is going to use will go.
This is now based on MacPorts 2.12.04, and is the first release for Tiger so .001 is added on the end.
That's right, look at this
Screen Shot 2026-08-26 at 1.20.05 AM.png

TigerPorts is going to be only 113 commits behind upstream macports-base. That means we got all kinds of nice features enabled like direct git repo cloning and whatnot. Compare that to where it is right now for PPCPorts (tiger_upd branch)/TigerPorts v1.2.1:
Screen Shot 2026-08-26 at 1.21.32 AM.png

I also wrote a bootstrap system for curl that is awesome because it is like a mini PPCMC7 build system: https://github.com/alex-free/tigerports-base/blob/master/bootstrap
Screen Shot 2026-08-26 at 1.23.01 AM.png


@barracuda156 the commit you want to get base up to is this one: https://github.com/macports/macports-base/commit/227a37b749dc2991bbaf7c600dd56e46174f8206This is the very last time base used tcl 8.x, the next commit is when the upgrade moves to tcl 9: https://github.com/macports/macports-base/commit/d875700c340497137f6eec574ca448cc02858120. This isn't so much a problem if you are targeting snow leopard/leopard only. But right now Tiger can't build tcl 9 and it's not simple at all from what I've tried to get it working so far. Another thing that's sort of a nightmare is they start using tcl 9 features so they move things around a bit into different files, thats not the end of the world but up to the commit before tcl 8 it makes sense to merge up to that point before going further.

Still, this gets us using MacPorts-base sources from 4/10/2026! ON TIGER! There are some new tiger fixes needed that I implemented, and right now it doesn't build with tiger system libcurl (they really updated pextlib.c to want leopard system libcurl features, and I don't know if it's even worth it to try to find equivelents if there even are ones). But thats fine due to how the new bootstrap system works as we don't need it, we can build against bootstrap libcurl. The future is NOW
 
Last edited:
v2.12.04.001 (8/26/2026)

Changes:


  • Now at parity with MacPorts v2.12.04, specificially we are at:https://github.com/macports/macports-base/commit/227a37b749dc2991bbaf7c600dd56e46174f8206. This enables a ton of new base features and functionality, and gets tigerports-base up to date with macports-base as of 4/10/2026.
  • New bootstrap system has been implemented. It gets Tiger able to connect and fetch software with https up to TLSv1.2, which github andgitlab still support. This means many more distfiles can be downloaded by default, lowering the burden on me keeping up hosting them on tigerports.com. Tigerports.com will still offer distfiles from the httpserver as backups in case any go down or are missing or if for some reasons it’s faster then other mirrors it will be automatically used.
  • Selfupdate has been changed to use tigerports.com server rather then macports. It also is aware of and uses the new bootstrapsystem.
  • Further clean up, getting base as close to upstream as possibleto make this easier to maintain.
 
Last edited:
Thanks for putting this together! An issue I've encountered with the bootstrap:

On both a MDD G4 and PowerMac G5 running Tiger 10.4.11, the bootstrap results in:

Code:
Error: unsupported Power Macintosh


Looking at the script, line 28 sets the variable arch:
Code:
arch=($uname -m)

That call produces "Power Macintosh". These are the uname options in the man page and associated output on PPC Tiger (PowerMac G5):

Code:
uname -s: Darwin
uname -p: powerpc
uname -n: powermacg5

Lines 58 through 69 then have the logic that checks $arch, none of which match the output above. I modified the bootstrap file:

Bash:
if [ "$arch" == ppc ]; then
    ssl_config_val=darwin-ppc-cc
elif [ "$arch" == ppc64 ]; then
    ssl_config_val=darwin64-ppc-cc
elif [ "$arch" == i386 ]; then
    ssl_config_val=darwin-i386-cc
elif [ "$arch" == x86_64 ]; then
    ssl_config_val=darwin64-x86_64-cc
elif [ "$arch" == "Power Macintosh" ]; then
    ssl_config_val=darwin-ppc-cc
else
    echo "Error: unsupported $arch"
    exit 1
fi

It runs the bootstrap, but it errors out as well:
Code:
configure: error: /opt/local/bootstrap is a bad --with-openssl prefix!
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target `install'.  Stop.
curl-8.17.0 installed!
Clearing temp files...

That's as far as I'm going to get tonight. Let me know if you need any more info.
 
  • Like
Reactions: alex_free
Thanks for putting this together! An issue I've encountered with the bootstrap:

On both a MDD G4 and PowerMac G5 running Tiger 10.4.11, the bootstrap results in:

Code:
Error: unsupported Power Macintosh


Looking at the script, line 28 sets the variable arch:
Code:
arch=($uname -m)

That call produces "Power Macintosh". These are the uname options in the man page and associated output on PPC Tiger (PowerMac G5):

Code:
uname -s: Darwin
uname -p: powerpc
uname -n: powermacg5

Lines 58 through 69 then have the logic that checks $arch, none of which match the output above. I modified the bootstrap file:

Bash:
if [ "$arch" == ppc ]; then
    ssl_config_val=darwin-ppc-cc
elif [ "$arch" == ppc64 ]; then
    ssl_config_val=darwin64-ppc-cc
elif [ "$arch" == i386 ]; then
    ssl_config_val=darwin-i386-cc
elif [ "$arch" == x86_64 ]; then
    ssl_config_val=darwin64-x86_64-cc
elif [ "$arch" == "Power Macintosh" ]; then
    ssl_config_val=darwin-ppc-cc
else
    echo "Error: unsupported $arch"
    exit 1
fi

It runs the bootstrap, but it errors out as well:
Code:
configure: error: /opt/local/bootstrap is a bad --with-openssl prefix!
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target `install'.  Stop.
curl-8.17.0 installed!
Clearing temp files...

That's as far as I'm going to get tonight. Let me know if you need any more info.
All of this will be fixed in next version. I did some more extensive testing on ppc and intel (the uname -m only works for intel in the old code, I replaced it with the actual arch command). The other thing is an issue that happens when you extract a tarball for an autoconf or autoconf-like software and upload it to git. It looses the timestamps and just in general is bad to deal with. I know of 2 ways to fix that, PPCMC7 build system does a ton of stuff to work around it but the easiest is to just ship tarballs.

Anyways, sorry about that experience, I'll let you know when the update is out it will fix all of that.
 
@Full-Throttle

v2.12.04.002 (8/26/2026)​


Changes:


  • Fixed bootstrap ppc detection.
  • Improved bootstrap rebuild detection so that it will not rebuild only if curl successfully was built (and -f wasn’t given, and its not set to false for version bump via selfupdate).
  • Bootstrap now extracts tarballs instead of copying extracted source directories. This not only makes diffing this against other macports-base projects easier, but fixes issues related to copying extracted sources after they have been uploaded to git.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.