Compiling haikuports.cross for PPC

Yes, but haikuporter will try to download its deps anyway if it’s not removed from the recipe.

Created PR to update xz_utils, this should atleast fix the dependency for doxygen.

Currently it creates a separate package for the GUI, but it is done in the same recipe. Which makes sense, these things are built together from the same sources, and can be separated after they are built.

Personally I would be fine with completely disabling the CMake GUI, I never use it. But it looks like someone thought it would be useful to them, and enabled it? And if some people are actually using it, we’ll have to figure out a way to make that work.

1 Like

With QtCreator and KDevelop there is already a way to use cmake in a gui env, so not opposed to nuke it in the cmake recipe.

It would probably be easy enough to just guard the gui sections of the recipe with an if $targetArchitecture = x86 ... or something similar so that they do not get built on other architectures.

That’s an option too.

Is there a variable to distinguish bootstrap mode? If not, should we add one?

I’m not aware of any variables for it. Probably the closest thing would be $isCrossRepository but I don’t know if that would be set when doing bootstrap builds.

The x86 architectures should be bootstrappable too, and all architectures should be as identical as possible.

For now I don’t even know if this is a problem for bootstrapping. The blocking issue is netpbm using a source that’s not online. Maybe let’s fix that first, and see how far we get next?

I found the netpbm package in this repository:

https://repo.nepustil.net/distfiles/netpbm-10.91.01.tar.xz

According to there website you can ask sourceforge for a tarball for a certain revision.

For example: Netpbm - graphics tools and converters / Code / Commit [r4922]

This is for commit 4922, which is release Release 11.07.00

Is that what we need? I don’t really know. But it seems somewhat easily done, similar to how it would be done for githb.

Basically, find the commit we want here: Netpbm - graphics tools and converters / Code / Browse Commits Browse source, click the download snapshop button.

Which recipe depends on netpbm?

On current HaikuPorts tree, only latex2html, as far as I can see.

netpbm dependency is currently commented out in latex2html recipe: haikuports/dev-tex/latex2html/latex2html-2024.recipe at 3418bdb75c30269ea46fbab5a5bcce16e1a9b961 · haikuports/haikuports · GitHub.

I got confused by it too, but it is not a “commented out dependency”, it is just a comment that the says: “the following cmd:xxxx come from netpbm”.

Notice, for example cmd:anytopnm on line 67.

1 Like

Thanks for cleaning up the bootstrap builds! I’ve never been able to build Haiku completely from source! Maybe I can help with some architectures other than x86-64 and x86!

My PPC hardware is all single-threaded and single-core (and will still keep running MorphOS or AmigaOS 4.1) but I’d love it if I could refer my friends to Haiku that have AmigaOne X5000 series quad-cores just so they can get full performance on their systems without having to install an old Linux distro.

2 Likes

Maybe we could switch to Gentoo’s archive for this?

https://dev.gentoo.org/~ceamac/media-libs/netpbm/

EDIT: the 11.7.0 version at Gentoo needs further patching (didn’t investigate further)
The one from upstream Download netpbm-10.86.42.tgz (Netpbm - graphics tools and converters)
still works, few changes in the recipe needed (manpage and there is both static and shared library atm, nuked the static one and build completes).

I don’t think taking random files from random places in the internet is a great idea. The best thing to do seems to be to go back to an older version that is in the “super stable” branch, unless we really really need the newest features. This is the branch that netpbm provides official downloads for, why would we be using anything else?

1 Like

Even if it can be built, the resulting system will be unbootable on any hardware until someone writes the required drivers. I have no plans to do that (enough work to do on x86 already)

Created PR for netpbm to use the one from super_stable (upstream) uri. Could you check @PulkoMandy ?