Patches for aports can be sent to this list

2 2

[alpine-aports] [PATCH] main/mesa: Upgrade to 18.0.0

Taner Tas
Details
Message ID
<20180416182137.20463-1-taner76@gmail.com>
Sender timestamp
1523902897
DKIM signature
missing
Download raw message
Patch: +33 -18
* Clarify license
* Fix typo related with enabling vulkan drivers
* Add subpackages for radeon and intel vulkan drivers
* Add aarch64 arch to use neon instructions
* Modernize APKBUILD

---
 main/mesa/APKBUILD | 51 ++++++++++++++++++++++++++++++----------------
 1 file changed, 33 insertions(+), 18 deletions(-)

diff --git a/main/mesa/APKBUILD b/main/mesa/APKBUILD
index 1bc4e630..c0a8c4f9 100644
--- a/main/mesa/APKBUILD
+++ b/main/mesa/APKBUILD
@@ -1,11 +1,11 @@
 # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 pkgname=mesa
-pkgver=17.3.6
+pkgver=18.0.0
 pkgrel=0
 pkgdesc="Mesa DRI OpenGL library"
 url="http://www.mesa3d.org"
 arch="all"
-license="LGPL"
+license="MIT SGI-B-2.0 BSL-1.0"
 subpackages="$pkgname-dev
 	$pkgname-dri-ati:_dri
 	$pkgname-dri-nouveau:_dri
@@ -15,6 +15,7 @@ subpackages="$pkgname-dev
 	$pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles
 	$pkgname-xatracker $pkgname-osmesa $pkgname-gbm
 	$pkgname-libwayland-egl:_wayland
+	$pkgname-vulkan-ati:_vulkan
 	"
 _llvmver=5
 depends_dev="libdrm-dev dri2proto libxext-dev libxdamage-dev libxcb-dev glproto
@@ -37,33 +38,25 @@ _dri_drivers="r200,radeon,nouveau,swrast"
 _gallium_drivers="r300,r600,radeonsi,nouveau,freedreno,swrast,virgl"
 _vulkan_drivers="radeon"
 
-builddir="$srcdir/mesa-$pkgver"
-
 _arch_opts=
 
 case "$CARCH" in
 x86*)
 	_dri_drivers="${_dri_drivers},i915,i965"
 	_gallium_drivers="${_gallium_drivers},svga"
-	_vulcan_drivers="$_vulcan_drivers,intel"
-	subpackages="$subpackages $pkgname-dri-intel:_dri $pkgname-dri-vmwgfx:_dri"
+	_vulkan_drivers="$_vulkan_drivers,intel"
+	subpackages="$subpackages $pkgname-dri-intel:_dri $pkgname-dri-vmwgfx:_dri $pkgname-vulkan-intel:_vulkan"
 	_arch_opts="--enable-dri3"
 	;;
-arm*)
+armhf|aarch64)
 	_gallium_drivers="${_gallium_drivers},vc4"
-	case "$CARCH" in
-	armhf) CFLAGS="$CFLAGS -mfpu=neon";;
-	esac
+	CFLAGS="$CFLAGS -mfpu=neon"
 	;;
 esac
 
 prepare() {
 	cd "$builddir"
-	for i in $source; do
-		case $i in
-		*.patch) msg $i; patch -p1 -i "$srcdir"/$i;;
-		esac
-	done
+	default_prepare
 	libtoolize --force \
 		&& aclocal \
 		&& automake --add-missing \
@@ -72,7 +65,6 @@ prepare() {
 
 build() {
 	cd "$builddir"
-
 	export CFLAGS="$CFLAGS -D_XOPEN_SOURCE=700"
 	./configure \
 		--build=$CBUILD \
@@ -85,7 +77,7 @@ build() {
 		--enable-glx-rts \
 		--with-gallium-drivers=${_gallium_drivers} \
 		--with-dri-drivers=${_dri_drivers} \
-		--with-vulcan-drivers=${_vulkan_drivers} \
+		--with-vulkan-drivers=${_vulkan_drivers} \
 		--with-llvm-prefix=/usr/lib/llvm$_llvmver \
 		--enable-llvm \
 		--enable-llvm-shared-libs \
@@ -197,6 +189,16 @@ _mv_gpipe() {
 #	done
 }
 
+_mv_vulkan() {
+	local i
+	install -d "$subpkgdir"/usr/lib
+	install -d "$subpkgdir"/usr/share/vulkan/icd.d
+	for i in "$@"; do
+		mv "$pkgdir"/usr/lib/libvulkan_${i}.so "$subpkgdir"/usr/lib
+		mv "$pkgdir"/usr/share/vulkan/icd.d/${i}* "$subpkgdir"/usr/share/vulkan/icd.d
+	done
+}
+
 _dri() {
 	local n=${subpkgname##*-dri-}
 	pkgdesc="Mesa DRI driver for $n"
@@ -237,7 +239,20 @@ _wayland() {
 	mv "$pkgdir"/usr/lib/libwayland-egl.so.* "$subpkgdir"/usr/lib/
 }
 
-sha512sums="5164ed5a1d3d25031b712a9f443f0e467a29b2bca0a1aa11324ed5c10279411979c9c7482825053926a813e76c58b78a3439c7c81fcd51a7808f53977080828f  mesa-17.3.6.tar.xz
+_vulkan() {
+	local n=${subpkgname##*-vulkan-}
+	pkgdesc="Mesa Vulkan API driver for $n"
+
+	case $n in
+	ati)
+		_mv_vulkan radeon
+		;;
+	intel)
+		_mv_vulkan intel
+		;;
+	esac
+}
+sha512sums="1494bb09357896a2505b3dcfec772268e28c765804f21e144948a314f1d79d99ff9f21062ef5860eb5a5a568b305a9c954585924a7ac8890fe1ebd8df3bcc396  mesa-18.0.0.tar.xz
 c3d4804ebc24c7216e4c9d4995fb92e116be7f478024b44808ee134a4c93bb51d1f66fe5fb6eca254f124c4abf6f81272b027824b3e2650a9607818bf793035a  glx_ro_text_segm.patch
 163498ac0deaaa9ce19a1e12a8a6f3ab4b90fc97e0b65b25d595c0a01201a5daacb063614c53c26d7958e1daccfa94e3e313c83a8cdc04e29a56891230707bec  musl-fixes.patch
 f206c965b60131563ce920341042bdbd6911efe9e9d8edb5422c2c3490b42e903eb2260ba9549184c76a2f4692908706641818609c535efb9ed16f00ee4f6889  musl-fix-includes.patch
-- 
2.17.0



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---
Natanael Copa
Details
Message ID
<20180423212026.401075b5@ncopa-desktop.copa.dup.pw>
In-Reply-To
<20180416182137.20463-1-taner76@gmail.com> (view parent)
Sender timestamp
1524511226
DKIM signature
missing
Download raw message
Patch: +3 -1
On Mon, 16 Apr 2018 21:21:37 +0300
Taner Tas <taner76@gmail.com> wrote:

> * Clarify license
> * Fix typo related with enabling vulkan drivers
> * Add subpackages for radeon and intel vulkan drivers
> * Add aarch64 arch to use neon instructions

It does not mention that we also enable vc4 driver for aarch64?

> * Modernize APKBUILD
> 
> ---
>  main/mesa/APKBUILD | 51 ++++++++++++++++++++++++++++++----------------
>  1 file changed, 33 insertions(+), 18 deletions(-)
> 
> diff --git a/main/mesa/APKBUILD b/main/mesa/APKBUILD
> index 1bc4e630..c0a8c4f9 100644
> --- a/main/mesa/APKBUILD
> +++ b/main/mesa/APKBUILD
> @@ -1,11 +1,11 @@
>  # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
>  pkgname=mesa
> -pkgver=17.3.6
> +pkgver=18.0.0
>  pkgrel=0
>  pkgdesc="Mesa DRI OpenGL library"
>  url="http://www.mesa3d.org"
>  arch="all"
> -license="LGPL"
> +license="MIT SGI-B-2.0 BSL-1.0"
>  subpackages="$pkgname-dev
>  	$pkgname-dri-ati:_dri
>  	$pkgname-dri-nouveau:_dri
> @@ -15,6 +15,7 @@ subpackages="$pkgname-dev
>  	$pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles
>  	$pkgname-xatracker $pkgname-osmesa $pkgname-gbm
>  	$pkgname-libwayland-egl:_wayland
> +	$pkgname-vulkan-ati:_vulkan
>  	"
>  _llvmver=5
>  depends_dev="libdrm-dev dri2proto libxext-dev libxdamage-dev libxcb-dev glproto
> @@ -37,33 +38,25 @@ _dri_drivers="r200,radeon,nouveau,swrast"
>  _gallium_drivers="r300,r600,radeonsi,nouveau,freedreno,swrast,virgl"
>  _vulkan_drivers="radeon"
>  
> -builddir="$srcdir/mesa-$pkgver"
> -
>  _arch_opts=
>  
>  case "$CARCH" in
>  x86*)
>  	_dri_drivers="${_dri_drivers},i915,i965"
>  	_gallium_drivers="${_gallium_drivers},svga"
> -	_vulcan_drivers="$_vulcan_drivers,intel"
> -	subpackages="$subpackages $pkgname-dri-intel:_dri $pkgname-dri-vmwgfx:_dri"
> +	_vulkan_drivers="$_vulkan_drivers,intel"
> +	subpackages="$subpackages $pkgname-dri-intel:_dri $pkgname-dri-vmwgfx:_dri $pkgname-vulkan-intel:_vulkan"
>  	_arch_opts="--enable-dri3"
>  	;;
> -arm*)
> +armhf|aarch64)
>  	_gallium_drivers="${_gallium_drivers},vc4"
> -	case "$CARCH" in
> -	armhf) CFLAGS="$CFLAGS -mfpu=neon";;
> -	esac
> +	CFLAGS="$CFLAGS -mfpu=neon"

This breaks build on aarch64:

checking whether the C compiler works... no 
configure: error: in `/home/ncopa/aports/main/mesa/src/mesa-18.0.0':
configure: error: C compiler cannot create executables
See `config.log' for more details 


config.log has this explanation:

configure:4657: checking whether the C compiler works
configure:4679: gcc -Os -mfpu=neon -D_XOPEN_SOURCE=700 -Os -Wl,--as-needed conftest.c  >&5
gcc: error: unrecognized command line option '-mfpu=neon'

We cannot add -mfpu=neon to CFLAGS on aarch64

But as I understand your patch, we want enable vc4 driver on aarch64 too?

Is it ok if I apply it with this change:

diff --git a/main/mesa/APKBUILD b/main/mesa/APKBUILD
index c0a8c4f997..404b0385d4 100644
--- a/main/mesa/APKBUILD
+++ b/main/mesa/APKBUILD
@@ -50,7 +50,9 @@ x86*)
        ;;
 armhf|aarch64)
        _gallium_drivers="${_gallium_drivers},vc4"
-       CFLAGS="$CFLAGS -mfpu=neon"
+       case "$CARCH" in
+       armhf) CFLAGS="$CFLAGS -mfpu=neon";;
+       esac
        ;;
 esac




>  	;;
>  esac
>  
>  prepare() {
>  	cd "$builddir"
> -	for i in $source; do
> -		case $i in
> -		*.patch) msg $i; patch -p1 -i "$srcdir"/$i;;
> -		esac
> -	done
> +	default_prepare
>  	libtoolize --force \
>  		&& aclocal \
>  		&& automake --add-missing \
> @@ -72,7 +65,6 @@ prepare() {
>  
>  build() {
>  	cd "$builddir"
> -
>  	export CFLAGS="$CFLAGS -D_XOPEN_SOURCE=700"
>  	./configure \
>  		--build=$CBUILD \
> @@ -85,7 +77,7 @@ build() {
>  		--enable-glx-rts \
>  		--with-gallium-drivers=${_gallium_drivers} \
>  		--with-dri-drivers=${_dri_drivers} \
> -		--with-vulcan-drivers=${_vulkan_drivers} \
> +		--with-vulkan-drivers=${_vulkan_drivers} \
>  		--with-llvm-prefix=/usr/lib/llvm$_llvmver \
>  		--enable-llvm \
>  		--enable-llvm-shared-libs \
> @@ -197,6 +189,16 @@ _mv_gpipe() {
>  #	done
>  }
>  
> +_mv_vulkan() {
> +	local i
> +	install -d "$subpkgdir"/usr/lib
> +	install -d "$subpkgdir"/usr/share/vulkan/icd.d
> +	for i in "$@"; do
> +		mv "$pkgdir"/usr/lib/libvulkan_${i}.so "$subpkgdir"/usr/lib
> +		mv "$pkgdir"/usr/share/vulkan/icd.d/${i}* "$subpkgdir"/usr/share/vulkan/icd.d
> +	done
> +}
> +
>  _dri() {
>  	local n=${subpkgname##*-dri-}
>  	pkgdesc="Mesa DRI driver for $n"
> @@ -237,7 +239,20 @@ _wayland() {
>  	mv "$pkgdir"/usr/lib/libwayland-egl.so.* "$subpkgdir"/usr/lib/
>  }
>  
> -sha512sums="5164ed5a1d3d25031b712a9f443f0e467a29b2bca0a1aa11324ed5c10279411979c9c7482825053926a813e76c58b78a3439c7c81fcd51a7808f53977080828f  mesa-17.3.6.tar.xz
> +_vulkan() {
> +	local n=${subpkgname##*-vulkan-}
> +	pkgdesc="Mesa Vulkan API driver for $n"
> +
> +	case $n in
> +	ati)
> +		_mv_vulkan radeon
> +		;;
> +	intel)
> +		_mv_vulkan intel
> +		;;
> +	esac
> +}
> +sha512sums="1494bb09357896a2505b3dcfec772268e28c765804f21e144948a314f1d79d99ff9f21062ef5860eb5a5a568b305a9c954585924a7ac8890fe1ebd8df3bcc396  mesa-18.0.0.tar.xz
>  c3d4804ebc24c7216e4c9d4995fb92e116be7f478024b44808ee134a4c93bb51d1f66fe5fb6eca254f124c4abf6f81272b027824b3e2650a9607818bf793035a  glx_ro_text_segm.patch
>  163498ac0deaaa9ce19a1e12a8a6f3ab4b90fc97e0b65b25d595c0a01201a5daacb063614c53c26d7958e1daccfa94e3e313c83a8cdc04e29a56891230707bec  musl-fixes.patch
>  f206c965b60131563ce920341042bdbd6911efe9e9d8edb5422c2c3490b42e903eb2260ba9549184c76a2f4692908706641818609c535efb9ed16f00ee4f6889  musl-fix-includes.patch



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---
Taner Tas
Details
Message ID
<20180424082811.396238aa44a4309828d911a3@gmail.com>
In-Reply-To
<20180423212026.401075b5@ncopa-desktop.copa.dup.pw> (view parent)
Sender timestamp
1524547691
DKIM signature
missing
Download raw message
On Mon, 23 Apr 2018 21:20:26 +0200
Natanael Copa <ncopa@alpinelinux.org> wrote:

> > * Add aarch64 arch to use neon instructions
> 
> It does not mention that we also enable vc4 driver for aarch64?
You're right, will be mentioned.

> > +armhf|aarch64)
> >  	_gallium_drivers="${_gallium_drivers},vc4"
> > -	case "$CARCH" in
> > -	armhf) CFLAGS="$CFLAGS -mfpu=neon";;
> > -	esac
> > +	CFLAGS="$CFLAGS -mfpu=neon"
> 
> This breaks build on aarch64:
> 
> checking whether the C compiler works... no 
> configure: error: in `/home/ncopa/aports/main/mesa/src/mesa-18.0.0':
> configure: error: C compiler cannot create executables
> See `config.log' for more details 
> 
> 
> config.log has this explanation:
> 
> configure:4657: checking whether the C compiler works
> configure:4679: gcc -Os -mfpu=neon -D_XOPEN_SOURCE=700 -Os -Wl,--as-needed conftest.c  >&5
> gcc: error: unrecognized command line option '-mfpu=neon'
> 
> We cannot add -mfpu=neon to CFLAGS on aarch64
> 
> But as I understand your patch, we want enable vc4 driver on aarch64 too?
> 
> Is it ok if I apply it with this change:
> 
> diff --git a/main/mesa/APKBUILD b/main/mesa/APKBUILD
> index c0a8c4f997..404b0385d4 100644
> --- a/main/mesa/APKBUILD
> +++ b/main/mesa/APKBUILD
> @@ -50,7 +50,9 @@ x86*)
>         ;;
>  armhf|aarch64)
>         _gallium_drivers="${_gallium_drivers},vc4"
> -       CFLAGS="$CFLAGS -mfpu=neon"
> +       case "$CARCH" in
> +       armhf) CFLAGS="$CFLAGS -mfpu=neon";;
> +       esac
>         ;;

Yes, vc4 can be enabled on aarch64 for Rpi3 too.
Enabling -mfpu=neon seems doesn't needed on aarch64, thus separately enabling on armhf is enough as mentiones above.
I prepared another PR on github with newer version and suggested changes.
Please refer to: https://github.com/alpinelinux/aports/pull/4107

Thanks for review.

-- 
Taner


---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---