diff options
Diffstat (limited to 'source/x/mesa')
-rw-r--r-- | source/x/mesa/amber/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch (renamed from source/x/mesa/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch) | 0 | ||||
-rw-r--r-- | source/x/mesa/amber/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch (renamed from source/x/mesa/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch) | 0 | ||||
-rwxr-xr-x | source/x/mesa/mesa-amber.build | 91 | ||||
-rwxr-xr-x | source/x/mesa/mesa-demos.build | 40 | ||||
-rwxr-xr-x | source/x/mesa/mesa.SlackBuild | 58 |
5 files changed, 148 insertions, 41 deletions
diff --git a/source/x/mesa/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch b/source/x/mesa/amber/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch index 0200efa3f..0200efa3f 100644 --- a/source/x/mesa/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch +++ b/source/x/mesa/amber/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch diff --git a/source/x/mesa/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch b/source/x/mesa/amber/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch index 13eec39c3..13eec39c3 100644 --- a/source/x/mesa/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch +++ b/source/x/mesa/amber/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch diff --git a/source/x/mesa/mesa-amber.build b/source/x/mesa/mesa-amber.build new file mode 100755 index 000000000..01ea2e880 --- /dev/null +++ b/source/x/mesa/mesa-amber.build @@ -0,0 +1,91 @@ +#!/bin/bash +# This script is not meant to be run directly: +if [ -z $AMBERVERS ]; then + exit 1 +fi + + +# Be sure this list is up-to-date: +DRI_DRIVERS="i915,i965,r100,r200,nouveau" + +cd $TMP +rm -rf ${PKGNAM}-${AMBERVERS} + +tar xvf $CWD/amber/${PKGNAM}-${AMBERVERS}.tar.?z || exit 1 +cd ${PKGNAM}-$AMBERVERS || exit 1 + +# Let's kill the warning about operating on a dangling symlink: +rm -f src/gallium/state_trackers/d3d1x/w32api + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \+ -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \+ + +# Apply patches from git (and maybe elsewhere): +# Patches obtained by: +# git checkout origin/17.2 +# git format-patch 93c2beafc0a7fa2f210b006d22aba61caa71f773 # 17.2.6 release +if /bin/ls $CWD/patches/*.patch 1> /dev/null 2> /dev/null ; then + for patch in $CWD/patches/*.patch ; do + patch -p1 --verbose < $patch || exit 1 ; + done +fi + +# Revert these patches from git (and maybe elsewhere): +if /bin/ls $CWD/patches-revert/*.patch 1> /dev/null 2> /dev/null ; then + for patch in $CWD/patches-revert/*.patch ; do + patch -p1 -R --verbose < $patch || exit 1 ; + done +fi + +# Configure, build, and install: +export CFLAGS="$SLKCFLAGS" +export CXXFLAGS="$SLKCFLAGS" +mkdir meson-build +cd meson-build +meson setup \ + --prefix=/usr \ + --libdir=lib${LIBDIRSUFFIX} \ + --libexecdir=/usr/libexec \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --includedir=/usr/include \ + --datadir=/usr/share \ + --mandir=/usr/man \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --buildtype=release \ + -Dplatforms=x11,wayland \ + -Damber=true \ + -Ddri-drivers=$DRI_DRIVERS \ + -Dgallium-drivers='' \ + -Dvulkan-drivers='' \ + -Dosmesa=false \ + -Dglvnd=true \ + -Dllvm=enabled \ + -Dshared-llvm=enabled \ + -Dshared-glapi=enabled \ + -Degl=enabled \ + -Dgles1=enabled \ + -Dgles2=enabled \ + -Dopengl=true \ + -Dglx=dri \ + .. || exit 1 + "${NINJA:=ninja}" $NUMJOBS || exit 1 + DESTDIR=$PKG/cruft $NINJA install || exit 1 +cd .. + +# We will install only the DRI drivers: +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/dri +rsync -lprvt $PKG/cruft/usr/lib${LIBDIRSUFFIX}/dri/ $PKG/usr/lib${LIBDIRSUFFIX}/dri/ +rm -rf $PKG/cruft + +rm -rf $PKG/usr/doc/$PKGNAM-$AMBERVERS +mkdir -p $PKG/usr/doc/$PKGNAM-amber-$AMBERVERS +cp -a \ + CODEOWNERS* README* docs/README* docs/license* docs/relnotes/${AMBERVERS}.* \ + $PKG/usr/doc/$PKGNAM-amber-$AMBERVERS diff --git a/source/x/mesa/mesa-demos.build b/source/x/mesa/mesa-demos.build new file mode 100755 index 000000000..67f460b3e --- /dev/null +++ b/source/x/mesa/mesa-demos.build @@ -0,0 +1,40 @@ +#!/bin/bash +# This script is not meant to be run directly: +if [ -z $DEMOVERS ]; then + exit 1 +fi + +# Now build/install a small subset of the demos: +export CWD SLKCFLAGS NUMJOBS PKG +( cd $TMP + rm -rf mesa-demos-$DEMOVERS + tar xvf $CWD/mesa-demos-$DEMOVERS.tar.?z* || exit 1 + cd mesa-demos-$DEMOVERS + chown -R root:root . + find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \+ -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \+ + CFLAGS="$SLKCFLAGS" \ + ./configure \ + --enable-autotools \ + --prefix=/usr \ + --build=$ARCH-slackware-linux || exit 1 + make $NUMJOBS || exit 1 + # Install all the demos (including the pointless ones) at first, in a + # temporary location: + make install DESTDIR=$PKG/cruft || exit 1 + # Install gears and glinfo, as well as a few other demos: + mkdir -p $PKG/usr/bin + for demo in eglinfo gears glinfo glthreads glxcontexts glxdemo glxgears \ + glxgears_fbconfig glxheads glxinfo glxpbdemo glxpixmap ; do + mv --verbose $PKG/cruft/usr/bin/$demo $PKG/usr/bin + done + # Remove cruft: + rm -rf $PKG/cruft + # Add the README file(s): + rm -rf $PKG/usr/doc/mesa-demos-$DEMOVERS + mkdir -p $PKG/usr/doc/mesa-demos-$DEMOVERS + cp -a README* $PKG/usr/doc/mesa-demos-$DEMOVERS +) || exit 1 diff --git a/source/x/mesa/mesa.SlackBuild b/source/x/mesa/mesa.SlackBuild index ecb37f0e0..9467854f8 100755 --- a/source/x/mesa/mesa.SlackBuild +++ b/source/x/mesa/mesa.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -24,14 +24,15 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=mesa VERSION=${VERSION:-$(echo $PKGNAM-[0-9]*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -DEMOVERS=${DEMOVERS:-8.4.0} -BUILD=${BUILD:-3} +AMBERVERS=${DEMOVERS:-21.3.9} +DEMOVERS=${DEMOVERS:-8.5.0} +BUILD=${BUILD:-1} +BUILD_AMBER=${BUILD_AMBER:-YES} BUILD_DEMOS=${BUILD_DEMOS:-YES} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} # Be sure this list is up-to-date: -DRI_DRIVERS="i915,i965,r100,r200,nouveau" GALLIUM_DRIVERS="nouveau,r300,r600,svga,radeonsi,swrast,virgl,iris,crocus,zink" if [ -z "$ARCH" ]; then @@ -130,7 +131,6 @@ meson setup \ -Dgallium-opencl=icd \ -Dgallium-nine=true \ -Dosmesa=true \ - -Ddri-drivers=$DRI_DRIVERS \ -Dgallium-drivers=$GALLIUM_DRIVERS \ -Dvulkan-drivers=amd,intel,swrast \ -Dvulkan-layers=device-select,intel-nullhw,overlay \ @@ -160,44 +160,23 @@ fi fi ) +if [ "$BUILD_AMBER" = "YES" ]; then + . $CWD/mesa-amber.build +fi + if [ "$BUILD_DEMOS" = "YES" ]; then - # Now build/install a small subset of the demos: - export CWD SLKCFLAGS NUMJOBS PKG - ( cd $TMP - rm -rf mesa-demos-$DEMOVERS - tar xvf $CWD/mesa-demos-$DEMOVERS.tar.?z* || exit 1 - cd mesa-demos-$DEMOVERS - chown -R root:root . - find . \ - \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \+ -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \+ - CFLAGS="$SLKCFLAGS" \ - ./configure \ - --prefix=/usr \ - --build=$ARCH-slackware-linux || exit 1 - make $NUMJOBS || exit 1 - # Install all the demos (including the pointless ones) at first, in a - # temporary location: - make install DESTDIR=$PKG/cruft || exit 1 - # Install gears and glinfo, as well as a few other demos: - mkdir -p $PKG/usr/bin - for demo in eglinfo gears glinfo glthreads glxcontexts glxdemo glxgears \ - glxgears_fbconfig glxheads glxinfo glxpbdemo glxpixmap ; do - mv --verbose $PKG/cruft/usr/bin/$demo $PKG/usr/bin - done - # Remove cruft: - rm -rf $PKG/cruft - ) || exit 1 + . $CWD/mesa-demos.build fi # Strip binaries: find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null -find $PKG/usr/man -type f -exec gzip -9 {} \+ -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +# Compress man pages, if any: +if [ -d $PKG/usr/man ]; then + find $PKG/usr/man -type f -exec gzip -9 {} \+ + for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +fi # Compress info files, if any: if [ -d $PKG/usr/info ]; then @@ -205,12 +184,10 @@ if [ -d $PKG/usr/info ]; then gzip -9 $PKG/usr/info/* fi -mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/html +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION cp -a \ - docs/COPYING* docs/relnotes/${VERSION}.html docs/README* docs/GL* \ + CODEOWNERS* README* docs/README* docs/license* docs/relnotes/${VERSION}.* \ $PKG/usr/doc/$PKGNAM-$VERSION -cp -a docs/*.html $PKG/usr/doc/$PKGNAM-$VERSION/html -rm -f $PKG/usr/doc/$PKGNAM-$VERSION/html/relnotes*.html mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc @@ -218,4 +195,3 @@ zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz - |