Upgrade Mesa, how feasible?

Nice. Now we only need 3D acceleration to rock the boat :smiley: .

Now I miss a final comment about the directory structure (if it is good enough for Haiku accordance) and then I can make a receipt for it. This is actually simple since mostly it’s just “scons”.

1 Like

Have you been able to do a check for a 32bit build? (didn’t get around to it yet) :slight_smile:

32-bit should be no problem. I would just have to add a 32-bit compile option to SCons.

OK, I’ll wait for you when you have something I could test to build then (main arch is 32bit here) :slight_smile:

If you have a 32-bit system then you can compile straight away. The compile option would be only needed if you are on a 64-bit system and you want to cross-compile for a 32-bit one (because then you need an additional “-m32” CFLAG). I just did not create a 32-bit version yet.

Reminds me. I should add a Jenkins build for 32-bit. I’m working with docker images there. This avoids problems with bitiness.

Just tried, seems like it doesn’t switch to the gcc8 compiler when “setarch x86” is used on the 32bit Haiku
At first there was already an issue with -Wno-class-memaccess (that should be ok for gcc8), after disabling that one the build started but failed with lots of parse errors, leaving me to think it’s still using gcc2 …

yeah, gcc2 will not work. I would not try it below gcc8 to be on the safe side.

We have 8.3.0, but for 32bit we need to switch compiler with “setarch x86” in Terminal to use that one
Looks like or scons or the source doesn’t seem to switch to the gcc8 compiler …

SCons uses the gcc found on the path to compile. You can change this with “CC” to use a cross-compiler. I would first check if in the console after you’ve used “setarch x86” that “gcc -v” yields the expected result. If this is true SCons should pick up the right compiler.

I saw alot of broken links to the lib folder, you can just delete them, as it will work without them, as now. But maybe it will be a bit faster to correct the broken links to the lib. Dont know, you should ask the developers here.

but great to have it working.

Can you please explain what you mean with “a lot of broken link to the lib folder”?

I just saw the list of broken symlinks directing to nowhere:
Path is: /boot/system/package-links/dragengine-1.2.-1

Imgur

Imgur

Maybe it is only a cosmetic problem. Caused by Haiku Hpkg? Sorry I dont know!

This looks like the required packages I’ve marked in the package definition. No idea what this means since I think you can not install the HPKG without pkgman ensuring the required packages are installed too. But maybe I misunderstand something here?

yes It looks like haikuporter or the Hpkg package-system generated these files.
Anyway it is working so it seems it is nothing on your side to do!
Maybe it should be like this, we have to wait for an Developer’s answer.

I have not ventured forth with creating a receipt for haikuports yet but i’ve got now a week of vacation so I could give it a try.

Now… how is the status of Mesa? I know that the existing Mesa lib is causing artifacts in Drag[en]gine. Any ideas when the updated Mesa arrives in Haiku? Shall I still link the package to the old Mesa version?

I cant give you any answer regarding MESA.

Okay, so I’ve created now a receipt but now I’m stuck. Maybe somebody here can help me out.

First things first, the cloned repo is here: https://github.com/LordOfDragons/haikuports/tree/new-feature/games-engines/dragengine

  1. Right now my SCons builds two haiku packages. For the receipt though I only compile and install. How can I make two final packages by using one receipt? Or do I need to receipts? (talking about “dragengine” and “devel:dragengine”.

  2. How can I test the receipt? => Strike this, figured it out

  3. I’ve included in the directory the file “custom.py”. This contains haiku specific configuration so you do not need to add a huge command line argument list to the “scons” call. The problem is now that I can not get this file copied to the source directory after unpacking. I put in
    “cp -f $portBaseDir/custom.py custom.py”
    at the beginning og the BUILD() step but this seems to run in a chroot where I can not access this file from the receipt directory.
    Is there a way to solve this or do I need to use the huge command line argument version? Using custom.py is much better solution tough.

Post your wip recipe.

1 Like

I’ve fixed some more problems with the receipt. It builds not but can not install. I get this error:

Install file: “src/dragengine/build/libdragengine.so.1.2.0” as "/boot/system/lib/libdragengine.so.1.2.0: Read-only file system

But this builds in a chroot. What exactly is expected here?

Recipe: https://github.com/LordOfDragons/haikuports/blob/new-feature/games-engines/dragengine/dragengine-1.2.recipe

You supposed to use $appDir/blabla as install path.
Please read the HaikuPorts wiki, it clearly explains everything.