diff graphics/mesa/mesa.sh @ 264:99bc133dd404

graphics/mesa: initial import, closes #1281
author David Demelier <markand@malikania.fr>
date Thu, 21 Mar 2019 21:15:00 +0100
parents
children 0c8bd6c16d43
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphics/mesa/mesa.sh	Thu Mar 21 21:15:00 2019 +0100
@@ -0,0 +1,99 @@
+#!/bin/sh
+#
+# Copyright (c) 2019 David Demelier <markand@malikania.fr>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+
+PKGNAME=mesa
+PKGVERSION=18.3.5
+PKGREVISION=1
+PKGLICENSE="CUSTOM"
+PKGSUMMARY="opensource OpenGL implementation"
+PKGDOWNLOAD="https://mesa.freedesktop.org/archive/$PKGNAME-$PKGVERSION.tar.xz"
+PKGDEPENDS=""
+PKGOPTIONS="DRM LLVM WAYLAND X"
+
+: ${CC:=gcc}
+: ${CFLAGS:=-O2}
+: ${CXX:=g++}
+: ${CXXFLAGS:=-O2}
+: ${LDFLAGS:=}
+: ${DRM:=yes}
+: ${LLVM:=yes}
+: ${WAYLAND:=yes}
+: ${X:=yes}
+
+with_platforms=""
+with_gallium_drivers="r300,r600,virgl,svga,swrast"
+with_vulkan_drivers="intel"
+
+if [ "$DRM" = "yes" ]; then
+	with_platforms="drm,$platforms"
+fi
+
+if [ "$LLVM" = "yes" ]; then
+	PKGDEPENDS="dev/llvm:build $PKGDEPENDS"
+	with_llvm="-D llvm=true"
+	with_gallium_drivers="radeonsi,$with_gallium_drivers"
+	with_vulkan_drivers="amd,$with_vulkan_drivers"
+else
+	with_llvm="-D llvm=false"
+fi
+
+if [ "$WAYLAND" = "yes" ]; then
+	with_platforms="wayland,$with_platforms"
+fi
+
+if [ "$X" = "yes" ]; then
+	with_platforms="x11,$with_platforms"
+	with_dri="-D dri3=true"
+	with_glx="-D glx=dri"
+else
+	with_dri="-D dri3=false"
+	with_glx="-D glx=disabled"
+fi
+
+build()
+{
+	rm -rf $PKGNAME-$PKGVERSION
+	tar xvaf $PKGNAME-$PKGVERSION.tar.xz
+	pushd $PKGNAME-$PKGVERSION
+
+	# https://git.alpinelinux.org/aports/plain/main/mesa/musl-fix-includes.patch
+	patch -p1 < ../musl.patch
+	CC="$CC" \
+	CFLAGS="$CFLAGS" \
+	CXX="$CXX" \
+	CXXFLAGS="$CXXFLAGS" \
+	LDFLAGS="$LDFLAGS" \
+	meson \
+		--prefix /usr \
+		--buildtype release \
+		--default-library shared \
+		-D egl=true \
+		-D bpm=true \
+		-D platforms=$with_platforms \
+		-D gallium-drivers=$with_gallium_drivers \
+		-D vulkan-drivers=$with_vulkan_drivers \
+		$with_llvm \
+		$with_dri \
+		$with_glx \
+		. build
+	ninja -C build
+	DESTDIR=$DESTDIR ninja -C build install
+
+	popd
+	rm -rf $PKGNAME-$PKGVERSION
+}
+