Upgrade Mesa, how feasible?

I looked at it but it confuses me. For example the appDir is described like this:

$appsDir: The absolute directory for applications.

Where? In the final system? In the chroot? In a sandbox?

The problem is this. I hard-code during build phase the path where to look for the data at run-time. Build systems (like debian/ubuntu/gentoo) expect the files to be installed in a sandbox directory albeit hard-coded at run-time they use a different directory.

So I’m not sure what I’m looking at here with these variables.

$appsDir will target the packaging folder, which will be packed, and after installing the package its content will be mounted under /boot/system/apps

That seems to help. The recipe now installs and produces packages which I can install and run on my system.

The sources package is though quite large (>57MB). This is because it contains the in-tree distribution files for various libraries in case the build system does not have them. The sources package could be stripped down by not including certain files. Can I somehow specify that packaging the sources package should ignore files by pattern?

Please read the HaikuPorts wiki, it will give you answer.
In complicated case you can always check other recipes.
Hint: you can disable generating source packages if you wish and if your license allows it.

For pattern: nope.

I’ve updated the recipe. On my system it works. So now?

i guess a PR into HaikuPorts

Would be fine with me but no review beforehand?

Create pull request: https://github.com/haikuports/haikuports/pull/5232

1 Like

Left some comments (some already fixed) and mostly cosmetic, atm it’s still building for 32bit, so that’s a good sign, I’ll get back to you when the build finished (or when I get around to reply) :slight_smile:
EDIT Build failed … https://paste.ubuntu.com/p/XHhqT37CbW/

Applied your comments to the pull request and updated it. Linter should be now happy.

About the compile error this seems “Sound Touch” library having issues. Googling around people claim this is due to “SSE” missing on the compiling machine. I think there is an option which can be used to disable such optimization son Sound Touch. I need to look into it.

1 Like

I’ve removed the SoundTouch code from the Synthesizer module and moved it into the “extern” directory using the newest SoundTouch distribution file. It is now handled like all other external libraries which means a system present SoundTouch library will be used if present otherwise in-tree build.

This should remove the x86 compile problem since I’ve seen haikuports has libsoundtouch and it is marked x86 too. I’ve update the recipe adding libsoundtouch as dependency.

Build passed and installed on x86 without issue. (Haiku hrev54487 x86, GCC8).
2_demo

Good. So the recipe works correctly for 64-bit and 32-bit. The pull request has though a “no-merge” tag set. Is there something else broken I need to fix?

Didn’t have time yet to checkout the latest changes, if no one else comes to it I’ll try to make some time to do a checkout, if things are OK the PR could be merged, thanks so far! :slight_smile:

No problem. Take your time. It’s not flying away somewhere :smiley:

1 Like

Looks like the Drag[en]gine recipe has been merged into HaikuPorts. :+1:

Now we only need the updated Mesa or I figure out why the existing one acts up so much with depth buffer clearing. But without “RenderDoc” working on Haiku this is difficult.

Both 32bit and 64bit are available now :slight_smile: Thanks for your work, on regard of Mesa, there is an open PR for the update, but that’s pretty internal, so I’m not touching that one :slight_smile:

We are getting there. I just compiled and packaged Mesa 20.3.2 today on Haiku R1B2. Hoping to see this fix any remaining issues for Drag[en]gine. I needed this for Blender 2.91.0.

6 Likes

Let me know when it’s available for regular update.