mistydemeo / tigerbrew

Experimental fork of homebrew for PPC Macs on Tiger
Other
542 stars 130 forks source link

mplayer 1.5 #1156

Open sevan opened 6 months ago

sevan commented 6 months ago

Resolves issue #632 Build is set to use OpenSSL which makes it undistributable as a binary due to license conflict because the gnutls option was unable to stream via HTTPS for me.

Tested on Tiger powerpc (G5) with GCC 4.2, took 16 minutes. Attempted to play mp3 locally, QuickTime movie locally & over network, MP4 h264 over network.

Randrianasulu commented 6 months ago

yeah, gcc 4.2 was building mplayer-1.5 fine on 10.6.8/x86_64

I thought about how to switch compilers in tigerbrew, just in case default 4.0.1 is too old but this port probably already does this?

ref: failed functions were apparently some atomic builtins

__sync_val_compare_and_swap

One stackoverflow solution was extract them from new gcc :) https://stackoverflow.com/questions/9329020/undefined-reference-to-sync-val-compare-and-swap-4-error-at-compilation-usi

Randrianasulu commented 6 months ago

I also noticed this recipe started to depend on liba52dec, unfortunately it seems that upstream tarball at sourceforge is gone?

https://repology.org/project/a52dec/information

archive.org links exist, not sure if they acceptable here ...

sevan commented 6 months ago

ref: failed functions were apparently some atomic builtins

__sync_val_compare_and_swap

One stackoverflow solution was extract them from new gcc :) https://stackoverflow.com/questions/9329020/undefined-reference-to-sync-val-compare-and-swap-4-error-at-compilation-usi

Since mplayer is a leaf package it's safe to just build in with 4.2 rather than perform surgery. :)

sevan commented 6 months ago

I also noticed this recipe started to depend on liba52dec, unfortunately it seems that upstream tarball at sourceforge is gone?

Well spotted, I added it as mplayer can make use of it though I didn't point it to a DVD image in my testing.

archive.org links exist, not sure if they acceptable here ...

They are, the hash should remain the same and the URL gets updated. Fancy raising a pull request?

Randrianasulu commented 6 months ago

@sevan, I prefer not to make myself bigger than I am, right now poor emulated poc still compiling mplayer so I just leave new url for a52 tarball:

https://web.archive.org/web/20170110045630if_/http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz

sadly it is https

Randrianasulu commented 5 months ago

I also want to say that nontigerbrew build of MPlayer 1.5 finished some time ago, just for some reason imf and dash demuxers inside ffmpeg were non-compileable with libxml2 , so I disabled them.

sevan commented 5 months ago

Do you mean that you built with the same options & dependencies outside of Tigerbrew & it was quicker or that with all the added dependencies in this formula, it is taking a lot longer to build here?

Randrianasulu commented 5 months ago

Do you mean that you built with the same options & dependencies outside of Tigerbrew & it was quicker or that with all the added dependencies in this formula, it is taking a lot longer to build here?

====

I pre-installed some deps I saw in recipe, some of them were binary already pre-compiled ("bottles"). But my qemu setup mostly run as 32-bit binary on host, and single-threaded on top of that (some unemulated piece of mac hardware - I am looking at it with qemu developers). So, for me everything is much slower than on real machine.

I already had mplayer sources unpacked, so it was just matter of running configure/make until binary finally appear. I wonder why it builds for you but not for me with tigerbrew-provided libxml2? Anyway, I think I have brew update issue solved thanks to this issue tracker, so I'll retry 'correct way' as fast as this MR hit main repo :)

sevan commented 5 months ago

just for some reason imf and dash demuxers inside ffmpeg were non-compileable with libxml2 , so I disabled them.

Without any error message I don't have much to go on since I never hit the issue. I've raised a pull request to update libxml2 from 2.11.4 to 2.11.8 if you want to give that a try. What compiler did you use by the way? I used the apple-gcc42 compiler.

Randrianasulu commented 5 months ago

@sevan I also used apple-gcc42 (by setting cc variable manually). May be initially build failed for me because I failed to consider setting pkg_config variable this manual way too?

I thought about using distcc next time, between two virtual machines running on different hosts. In theory Xcode installation should contain distcc already, but I read somewhere it might be hardcoded for Apple's gcc? Any expirience in this arrea?

sevan commented 5 months ago

@sevan I also used apple-gcc42 (by setting cc variable manually). May be initially build failed for me because I failed to consider setting pkg_config variable this manual way too?

depends on the error, but it would help.

I thought about using distcc next time, between two virtual machines running on different hosts. In theory Xcode installation should contain distcc already, but I read somewhere it might be hardcoded for Apple's gcc? Any expirience in this arrea?

I've not, sounds like fun :)