# Makefile.common - shared code between MesaLib ports. # # !!! Here be dragons !!! (they seem to be everywhere these days) # # Remember to upgrade the following ports everytime you bump MESAVERSION: # # - graphics/libosmesa # - graphics/mesa-dri # - graphics/mesa-libs # - lang/clover MESAVERSION= 24.0.9 MASTER_SITES= https://mesa.freedesktop.org/archive/ DISTFILES= mesa-${MESAVERSION}${EXTRACT_SUFX} PATCH_SITES= https://gitlab.freedesktop.org/mesa/mesa/-/commit/ PATCHFILES+= 4a253aae7ca437201d2a31d2a11a1a5434fe41f1.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26284 PATCHFILES+= 7c565db35d39bdbf4e4f867ea19f78b97c8c126f.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27184 MAINTAINER= x11@FreeBSD.org LICENSE= MIT LICENSE_FILE= ${WRKSRC}/docs/license.rst COMPONENT= ${PORTNAME:tl:C/^lib//:C/mesa-//} BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}mako>0:textproc/py-mako@${PY_FLAVOR} .if ${COMPONENT} != clover .if ${PORT_OPTIONS:MX11} USES+= xorg .endif .endif LIB_DEPENDS+= libdrm.so:graphics/libdrm .if ${COMPONENT} != osmesa LIB_DEPENDS+= libexpat.so:textproc/expat2 .endif USES+= compiler:c++11-lib bison meson pathfix pkgconfig \ python:build shebangfix tar:xz # only have one port to check with portscout. .if ${PORTNAME} != mesa-dri PORTSCOUT= ignore:1 .endif MASTERDIR= ${.CURDIR:H:H}/graphics/mesa-dri PATCHDIR= ${MASTERDIR}/files WRKSRC= ${WRKDIR}/mesa-${MESAVERSION} DESCR= ${.CURDIR}/pkg-descr PLIST= ${.CURDIR}/pkg-plist PKGHELP= ${.CURDIR}/pkg-help PKGINSTALL= ${.CURDIR}/pkg-install PKGDEINSTALL= ${.CURDIR}/pkg-deinstall .include BINARY_ALIAS+= python3=${PYTHON_VERSION} CONFIGURE_ENV+= LLVM_CONFIG=${LLVM_CONFIG} # Deal with unclean env if the user have elfutils installed # and build the port directly without poudriere .if exists(${LOCALBASE}/include/libelf.h) LIB_DEPENDS+= libelf.so:devel/elfutils MESON_ARGS+= -Dlibelf=enabled .else MESON_ARGS+= -Dlibelf=disabled .endif # Some symbols in mesa's linker version scripts are not always defined, # depending on configuration options. Suppress errors with lld >= 17 due to # these undefined symbols. LDFLAGS+= -Wl,--undefined-version LDFLAGS+= -Wl,-rpath=${LOCALBASE}/llvm${LLVM_VERSION}/lib MESON_ARGS+= -Dllvm=enabled \ -Dlibunwind=disabled