Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
@Yumiko Noua
>Nodejs/node 16.. and electron19?
Have people ported v8 to powerpc? The only forks I can find are several years out of date.

I think that AIX port was merged to upstream, so yes, but not for Darwin. I am unsure if ppc32 part was merged, but it exists.

It should be possible to fix it for Darwin, using AIX and Linux fixes plus adding needed ones for Darwin. No one sorta has time/motivation to do it fast. I have an interest and did a bit on fixing Nodejs (v8 is a component of it), but it is huge, annoying to work on, and not in the top priority.
 
  • Like
Reactions: cellularmitosis
  • Like
Reactions: barracuda156
Absolutely! I iterated on a gcc-10.3.0 build over the christmas break, I need to dust it back off. I think I left off with trying to get obj-c garbage collection working.


If anything is actually broken, please open an issue at Iain’s repo: https://github.com/iains/gcc-10-branch
 
Wanted to write about SBCL 2.0.9 for PPC, then remembered I have already did that in GitHub thread.

P. S. If any experts on SBCL here, we have restored PPC into the current SBCL, but need some help with the build, it freezes at some point.
I was super excited to see your post about that! I quickly pulled in 1.0.47 in case a bootstrapping sbcl was needed for the build. I'm happy to give 2.0.9 a shot 👍
 
  • Like
Reactions: barracuda156
Finally, gcc-10.3.0!

Screen Shot 2023-02-19 at 1.12.41 AM.png

Thanks to @barracuda156 for the pointers, iains for the porting work, and the MacPorts team for a few patches!

A few ./configure details of note:

Code:
    --enable-languages=c,c++,objc,obj-c++,fortran \
    --enable-lto \

Additionally, I created a mechanism to just install the just run-time libraries without actually installing the compilers, so that users who just want to install something which was built with a recent compiler don't have to pull in the entire toolchain.

So now, instead of installing gcc-10.3.0 (or gcc-4.9.4), you can instead install gcc-libs-10.3.0 (or gcc-libs-4.9.4).

Here's a comparison of the size difference:

Installing gcc-libs-10.3.0:

Code:
$ tiger.sh gcc-libs-10.3.0
Installing gcc-libs-10.3.0.
Fetching install-gcc-libs-10.3.0.sh.
Unpacking gcc-libs-10.3.0.tiger.g3.tar.gz into /opt.
31.6MiB 0:00:35 [ 898KiB/s] [================================>] 100%     

macuser@imacg3(tiger)$ ls -l /opt/
total 8
lrwxr-xr-x   1 macuser  admin   15 Feb 19 01:03 gcc-10.3.0 -> gcc-libs-10.3.0
drwxr-xr-x   4 macuser  admin  136 Feb 19 01:03 gcc-libs-10.3.0
drwxr-xr-x   3 macuser  admin  102 Feb 19 00:41 tiger.sh
drwxr-xr-x   5 macuser  admin  170 Feb 18 09:31 tigersh-deps-0.1

macuser@imacg3(tiger)$ du -sh /opt /opt/*
118M    /opt
4.0K    /opt/gcc-10.3.0
113M    /opt/gcc-libs-10.3.0
 36K    /opt/tiger.sh
4.5M    /opt/tigersh-deps-0.1

...vs installing gcc-10.3.0

Code:
macuser@imacg3(tiger)$ rm -rf /opt/gcc-*
macuser@imacg3(tiger)$ tiger.sh gcc-10.3.0
Installing gcc-10.3.0.
Fetching install-gcc-10.3.0.sh.
Installing gmp-6.2.1.
Fetching install-gmp-6.2.1.sh.
Installing gcc-libs-4.9.4.
Fetching install-gcc-libs-4.9.4.sh.
Unpacking gcc-libs-4.9.4.tiger.g3.tar.gz into /opt.
13.0MiB 0:00:14 [ 896KiB/s] [================================>] 100%     
Unpacking gmp-6.2.1.tiger.g3.tar.gz into /opt.
 718KiB 0:00:01 [ 692KiB/s] [================================>] 100%     
Installing mpfr-4.1.0.
Fetching install-mpfr-4.1.0.sh.
Unpacking mpfr-4.1.0.tiger.g3.tar.gz into /opt.
 647KiB 0:00:00 [ 717KiB/s] [================================>] 100%     
Installing mpc-1.2.1.
Fetching install-mpc-1.2.1.sh.
Unpacking mpc-1.2.1.tiger.g3.tar.gz into /opt.
 143KiB 0:00:00 [ 341KiB/s] [================================>] 100%     
Installing isl-0.24.
Fetching install-isl-0.24.sh.
Unpacking isl-0.24.tiger.g3.tar.gz into /opt.
2.39MiB 0:00:03 [ 808KiB/s] [================================>] 100%     
Unpacking gcc-10.3.0.tiger.g3.tar.gz into /opt.
 108MiB 0:02:03 [ 894KiB/s] [================================>] 100%     
Linking gcc-10.3.0 into /usr/local.
...

macuser@imacg3(tiger)$ ls -l /opt/
total 8
drwxr-xr-x   7 macuser  admin  238 Feb 19 01:06 gcc-10.3.0
lrwxr-xr-x   1 macuser  admin   14 Feb 19 01:04 gcc-4.9.4 -> gcc-libs-4.9.4
drwxr-xr-x   4 macuser  admin  136 Feb 19 01:04 gcc-libs-4.9.4
drwxr-xr-x   5 macuser  admin  170 Feb 19 01:04 gmp-6.2.1
drwxr-xr-x   5 macuser  admin  170 Feb 19 01:04 isl-0.24
drwxr-xr-x   5 macuser  admin  170 Feb 19 01:04 mpc-1.2.1
drwxr-xr-x   5 macuser  admin  170 Feb 19 01:04 mpfr-4.1.0
drwxr-xr-x   3 macuser  admin  102 Feb 19 00:41 tiger.sh
drwxr-xr-x   5 macuser  admin  170 Feb 18 09:31 tigersh-deps-0.1

macuser@imacg3(tiger)$ du -sh /opt /opt/*
432M    /opt
351M    /opt/gcc-10.3.0
4.0K    /opt/gcc-4.9.4
 60M    /opt/gcc-libs-4.9.4
2.1M    /opt/gmp-6.2.1
9.0M    /opt/isl-0.24
432K    /opt/mpc-1.2.1
1.7M    /opt/mpfr-4.1.0
 36K    /opt/tiger.sh
4.5M    /opt/tigersh-deps-0.1

However, this is all transparent to the user, as I tweaked the install scripts for all of the existing packages which relied on gcc-4.9.4 (e.g. quickjs-20210327, janet-1.25.1, python-3.11.2, luajit-2.1.0-beta3, etc) to only depend on gcc-libs-4.9.4, so this space savings is all automatic. (There aren't any packages yet which rely on gcc-10.3.0).

Of course, this is a "feature" which has been implemented by every linux distro since the beginning of time, so really I'm just playing catch-up here :)

Other updates:
  • pkg-config-0.29.2 (needed by a few configure scripts, I don't plan on supporting a full pkg-config workflow)
  • autogen-5.18.16
  • gc-8.2.2 (the garbage collector library)
  • guile-2.0.14
  • guile-1.8.8
  • bc-1.07.1
  • bison-3.8.2
  • flex-2.6.4
  • cctools-667.3 (for Tiger, this is the version which shipped with Leopard)
  • macports-legacy-support-20221029 (adds missing headers which ease compiling modern software)
  • I got distcc to compile, but the distccd server throws a bus error.
A few updates have been made to the package manager scripts themselves (tiger.sh and leopard.sh).
 
Last edited:
Additionally, I created a mechanism to just install the just run-time libraries without actually installing the compilers, so that users who just want to install something which was built with a recent compiler don't have to pull in the entire toolchain.

Macports has that as libgccX ports. However, currently it is realized in a pretty horrendous way: https://trac.macports.org/ticket/66024 (a random related ticket, there were several, it is a pain).
I.e. it is fine as long as you do not have to actually compile those, but given that no PPC buildbots, it is a multi-hour project.

For example, to build tenfourfox Macports way, one has to build libgcc7, gcc7, libgcc6, gcc48. If starting from a modern GCC (my setup), then libgcc12, gcc12, libgcc11, libgcc10, libgcc9, libgcc8, libgcc7, libgcc6, gcc48. Ironically, several those libgccX are literally empty, installing nothing but a record. (Don’t ask me, I know it is silly.)
 
An updated ffmpeg binary would be a great addition to the list of packages :)
Funny you should mention that...

This weekend I began generating a whole bunch of different test media files:
Guess what I'm working towards building right now? 🤣

EDIT: an initial build of mplayer-1.5 is up!

On slower machines, try experimenting with the -vo flag.
  • mplayer -vo help # list the available video output drivers
  • mplayer -vo quartz foo.mp4 # use OS X Quartz
  • mplayer -vo corevideo foo.mp4 # use OS X CoreVideo
  • mplayer -vo gl foo.mp4 # use the OpenGL output driver
  • mplayer -vo x11 foo.mp4 # use the X11 output driver (you need to run this from an xterm after starting X11)
 
Last edited:
This is great - thank you!

Just rejigged my PPCMC7/FFplay scripts to point to mplayer1.5 instead making quite a saving on CPU cycles.
Thanks!

I'm still wading my way through building dependencies for ffmpeg, but in the mean time you can install the work-in-progress version which doesn't quite have all of the codecs yet:

leopard.sh ffmpeg-5.1.2

unfortunately, the colors are all jacked up when using ffplay, so perhaps this is only useful for encoding / transcoding video.

green.png


in other news, I've started working on a "secret" project :) https://github.com/Tyrrrz/YoutubeExplode/discussions/691#discussioncomment-5199045
 
unfortunately, the colors are all jacked up when using ffplay
This used to happen with FFPlay in PPCMC7 - the solution from @alex_free was to add this script at playback:
Code:
-vf scale=in_color_matrix=yuva420p,format=rgb32

I've just discovered this is no longer needed with the last version in PPCMC7 and not using it brings FFPlay in line with the efficiency of MPlayer.
 
This used to happen with FFPlay in PPCMC7 - the solution from @alex_free was to add this script at playback:
Code:
-vf scale=in_color_matrix=yuva420p,format=rgb32

I've just discovered this is no longer needed with the last version in PPCMC7 and not using it brings FFPlay in line with the efficiency of MPlayer.
oh thanks! I'll have to take look and see what he changed.
 
Hi,
First would like to thanks for this project. It is super convenient for slow ppc machines.
works beautifully.
I've had just one small problem with one package, that is neofetch. Both with leopard.sh and tiger.sh .
It install in /opt/neofetch-7.1.0 , but then doesn't create a symlink to either /usr/local/bin or /opt/local/bin. So just had to make it after install, small thing.
Cheers!
 
  • Like
Reactions: cellularmitosis
Hello. How can I make MacPorts on Tiger recognize binary packages installed via tiger.sh? For example I installed all the tiger.sh packages yet when I try to install something via macports it doesn't recognize any of the installed packages I installed with tiger.sh

Thanks
 
  • Like
Reactions: cellularmitosis
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.