freebsd-ports/graphics/mesa-dri/Makefile.common
2024-02-17 15:53:56 +01:00

101 lines
3.2 KiB
Text

# 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= ${MESABASEVERSION}${MESASUBVERSION:C/^(.)/.\1/}
MESADISTVERSION=${MESABASEVERSION}${MESASUBVERSION:C/^(.)/-\1/}
MESABASEVERSION= 24.0.1
# if there is a subversion, don't include the '-' between 7.11-rc2.
MESASUBVERSION=
MASTER_SITES= https://mesa.freedesktop.org/archive/ \
https://mesa.freedesktop.org/archive/${MESABASEVERSION}/ \
ftp://ftp.freedesktop.org/pub/mesa/ \
ftp://ftp.freedesktop.org/pub/mesa/${MESABASEVERSION}/
DISTFILES= mesa-${MESADISTVERSION}${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}
LIB_DEPENDS+= libexpat.so:textproc/expat2
.if ${COMPONENT} != clover
.if ${PORT_OPTIONS:MPLATFORM_X11}
USES+= xorg
.endif
.endif
.if ${COMPONENT} != osmesa
LIB_DEPENDS+= libdrm.so:graphics/libdrm
.endif
USES+= compiler:c++11-lib bison meson pathfix pkgconfig \
python:build shebangfix tar:xz
.if ${/usr/bin/ld:L:tA} != /usr/bin/ld.lld
# --build-id isn't supported by old GNU ld.bfd in base
# Also ld.bfd have problems that seems related to --as-needed
USE_BINUTILS= yes
LDFLAGS+= -B${LOCALBASE}/bin
.endif
# only have one port to check with portscout.
.if ${PORTNAME} != mesa-dri
PORTSCOUT= ignore:1
.endif
python_OLD_CMD= /usr/bin/env[[:space:]]python2 /usr/bin/python2 /bin/env[[:space:]]python
SHEBANG_FILES= src/gallium/*/*/*.py src/gallium/tools/trace/*.py \
src/gallium/drivers/svga/svgadump/svga_dump.py \
src/mapi/glapi/gen/*.py src/mapi/mapi_abi.py \
src/mesa/main/get_*.py src/util/format_srgb.py \
src/amd/*/*.py src/intel/genxml/gen_pack_header.py
MASTERDIR= ${.CURDIR:H:H}/graphics/mesa-dri
PATCHDIR= ${MASTERDIR}/files
WRKSRC= ${WRKDIR}/mesa-${MESADISTVERSION}
DESCR= ${.CURDIR}/pkg-descr
PLIST= ${.CURDIR}/pkg-plist
PKGHELP= ${.CURDIR}/pkg-help
PKGINSTALL= ${.CURDIR}/pkg-install
PKGDEINSTALL= ${.CURDIR}/pkg-deinstall
.include <bsd.port.pre.mk>
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