PowerPC Macs were produced in huge numbers, and a lot of this hardware is still viable for use today, with professional software such as Photoshop CS2 and Propellerheads Reason. They're still good workstations, with lots of productivity software, and no always-online tracking or distractions. Originally, I got mine for running NetBSD, but found the pull of 20 year old commercial software too tempting to resist.
Regardless, how usable is Mac OS X 10.4 for Unix professionals, software developers, and command-line junkies? A surprising amount of free software can still run, often with some simple adjustments. The pkgsrc framework offers a platform-netural repository with powerful frameworks that allow wide porting of software.
Pre-built PowerPC binaries for popular software are available, including PostgreSQL, ImageMagick, Python 3, Wget, cURL, FFmpeg, OpenSSH, OpenSSL, Apache Web Server, nginx, yt-dlp, SDL, Midnight Commander, and many more.
Note: I make no guarantees about the security or up-to-dateness of these packages, though I pinky promise they're better than what Tiger includes by default. No warranty. Your fridge may explode. Also, you may find you're suddenly able to connect to servers that use modern encryption.
Extract the bootstrap kit on 10.4, set your PATH
:
$ sudo tar -C / -xzpvf bootstrap-tiger.tar.gz
$ export PATH=/usr/pkg/sbin:/usr/pkg/bin:$PATH
$ export PKG_PATH=https://ftp.NetBSD.org/pub/pkgsrc/misc/nia/tigersrc/packages/All/
Add the last two lines to ~/.bash_profile
.
$ sudo pkg_admin findbest '*ffmpeg*'
https://cdn.NetBSD.org:443/pub/pkgsrc/misc/nia/tigersrc/packages/All/ffmpeg2-2.8.20nb16.tgz
$ sudo pkg_add ffmpeg2
Part of this project is just for fun. Since I'm a developer specialized in build systems, I get enjoyment out of pushing pkgsrc as far as possible. Therefore, others should get to learn from this too.
Refer to the mk.conf used for this repository, containing some non-upstreamed workarounds, and the allowlist of packages.
-std=c99
in CFLAGS
.
This should be worked around by setting FORCE_C_STD
in pkgsrc. For some reason, many pieces of modern software like
to specify a million unsupported -W and -Wno arguments to customize
warnings. These can be stripped out with pkgsrc's
BUILDLINK_TRANSFORM
.-shared
), unless that software uses libtool to make
shared libraries in a portable manner.
pkgsrc has long had a policy of "libtoolization", patching software that
builds with plain Makefiles to use libtool.
BUILDLINK_TRANSFORM
can also translate many GNU ELF-style
linker arguments to be compatible with the Darwin linker.
I also found the -m
option (for making multiply-defined
symbols into a warning instead of an error) useful.clock_gettime
and strnlen
.
These can easily be substituted from either libnbcompat
or
macports-legacy-support
.signal.h
that causes some software to fail to compile.
This can be easily worked around by disabling the relevant type definitions
by pre-defining macros in CFLAGS
.kqueue
does not work
properly. kqueue support is nearly always optional in software,
but sometimes the detection needs to be turned off for this OS version.
GNU configure makes this easy, other build systems may vary.mail/qmail pkgtools/pkg_rolling-replace pkgtools/rc.d-boot security/acmesh security/py-acme-tiny security/py-certbot www/py-flask
audio/moc benchmarks/bonnie++ benchmarks/dhrystone benchmarks/nbench benchmarks/sysbench benchmarks/ttcp benchmarks/whetstone editors/ce editors/jed editors/jove editors/le editors/ne editors/nvi editors/vim emulators/dosbox emulators/fceu emulators/gambatte mail/rss2email net/iftop net/netcat net/nsd net/unbound news/nn news/tin news/trn textproc/par www/ap2-fcgid www/ap2-perl www/cgit
nia from the domain pkgsrc.org
Best viewed in Links.