Page MenuHomeFreeBSD

mesa*: Switch to meson
ClosedPublic

Authored by manu on Jun 1 2020, 10:08 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, May 8, 8:09 AM
Unknown Object (File)
Wed, May 8, 8:09 AM
Unknown Object (File)
Wed, May 8, 8:09 AM
Unknown Object (File)
Wed, May 8, 8:09 AM
Unknown Object (File)
Wed, May 8, 8:09 AM
Unknown Object (File)
Wed, May 8, 8:09 AM
Unknown Object (File)
Wed, May 8, 8:09 AM
Unknown Object (File)
Wed, May 8, 8:09 AM
Subscribers

Details

Reviewers
zeising
Group Reviewers
x11
Summary

Upstream have switched to meson so do that now before configure is
removed and try to catch bugs sooner.
This should be a non functional change.

Signed-off-by: Emmanuel Vadot <manu@FreeBSD.org>

Test Plan

Build and runs fine on amd64
Build fine on arm64

Diff Detail

Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 31492
Build 29099: arc lint + arc unit

Event Timeline

manu requested review of this revision.Jun 1 2020, 10:08 AM
manu created this revision.
manu set the repository for this revision to rP FreeBSD ports repository.

Bump port rev for mesa-dri due to renames of the icd files

jbeich added inline comments.
graphics/mesa-dri/Makefile
85

Why not use :ts variable modifier e.g., ${VULKAN_DRIVERS:ts,}? != pessimizes make describe (used by make index).

120

Why not use PLIST_SUB += ARCH=${ARCH:S/amd/x86_/}? Meson simply converts amd64 to x86_64, it's not specific to Vulkan.

127

PREFIX is the place where current port should install while LOCALBASE is where dependencies are. LOCALBASE may not be writeable e.g., when INSTALL_AS_USER is defined. Debug PREFIX != LOCALBASE with poudriere testport -P.

graphics/mesa-dri/Makefile.common
53

Please, sort USES alphabetically.

96

Why not use BINARY_ALIAS += llvm-config=llvm-config${LLVM_DEFAULT} like graphics/mesa-devel does?

105
graphics/mesa-dri/files/patch-meson.build
2

Format timestamps in patches via make makepatch.

9

Please, bring back the rationale (as a patch comment) why this is necessary.

graphics/mesa-dri/files/patch-src_util_futex.h
1

Why discard the original rationale?

4–10

Why regress make makepatch timestamps to let portlint -C complain about?

Address jbeich@ comments.

manu marked an inline comment as done.

Remove ARCH in PLIST_SUB, not needed anymore

manu marked an inline comment as done.

More LOCALBASE->PREFIX

manu marked 6 inline comments as done.Jun 1 2020, 12:54 PM

Remove the hacky ln and properly version the lib in the meson build system.
This was lost in the autotool->meson conversion.
Upstream is a bit different on this target but I'll submit a patch there.

It looks very good. I've been quite nit-picky about the patch meta data changes.

graphics/libosmesa/Makefile
37–41

Flip this conditional to only add osmesa=classic on sparc64. It's the only arch not covered by the stuff on L38, and makes it clearer that it's a sparc64 thing.

graphics/libxatracker/Makefile
40

Any reason this is not added to the args above?

graphics/mesa-dri/Makefile
22

Whitespace, line up -Dgallium-vdpau=true with the rest of the stuff.

32

Do we need to keep RADEON, isn't it renamed R100?

graphics/mesa-dri/Makefile.common
87–91

This should probably be flipped to special case sparc64, similar to libosmesa.

graphics/mesa-dri/files/patch-src_amd_vulkan_radv__device.c
1–19 ↗(On Diff #72538)

This change only changes the meta data of the patch, it's not needed.

graphics/mesa-dri/files/patch-src_amd_vulkan_winsys_amdgpu_radv__amdgpu__cs.c
1–14 ↗(On Diff #72538)

This change only changes the meta data of the patch, it's not needed.

graphics/mesa-dri/files/patch-src_intel_compiler_brw__fs__bank__conflicts.cpp
1–18 ↗(On Diff #72538)

This change only changes the meta data of the patch, it's not needed.

graphics/mesa-dri/files/patch-src_intel_vulkan_anv__allocator.c
1–36 ↗(On Diff #72538)

This change only changes the meta data of the patch, it's not needed.

graphics/mesa-dri/files/patch-src_mapi_glapi_gen_gl__gentable.py
1–11 ↗(On Diff #72538)

This change only changes the meta data of the patch, it's not needed.

graphics/mesa-dri/files/patch-src_mesa_main_macros.h
2–14

as a side note, I wonder why this wasn't needed before.

graphics/mesa-dri/files/patch-src_util_u__thread.h
1–42 ↗(On Diff #72538)

This change only changes the meta data of the patch, it's not needed.

manu marked an inline comment as done.

Address zeising@ comments.

manu marked 2 inline comments as done.Jun 4 2020, 7:02 PM
manu added inline comments.
graphics/libxatracker/Makefile
40

Same reason as before, it makes it clear that we enable this specifically and the rest is disable.

graphics/mesa-dri/Makefile
32

I might I've missed that one, will double check and remove if necessary.

manu marked 2 inline comments as done.Jun 4 2020, 7:05 PM
graphics/mesa-dri/Makefile.common
51–53

Are gettext-tools and libtool still required?

52

Maybe check if localbase can be dropped. Meson tracks dependencies a bit more strictly, so pkgconfig is often enough.

87

Maybe switch to +=, so adding more to BINARY_ALIAS is not error-prone. .common in filename expects such a scenario.

zeising added inline comments.
graphics/libxatracker/Makefile
40

Ok, thanks!

This revision is now accepted and ready to land.Jun 4 2020, 7:19 PM
graphics/mesa-dri/Makefile.common
51–53

Good question, I'll test tomorow

52

Will do.

87

Agreed, will change that tomorow