add mesa-amber upg qt5 qt6 base

This commit is contained in:
joborun linux 2022-03-25 19:36:52 +02:00
parent 0541cc5247
commit 918ec6a512
14 changed files with 341 additions and 32 deletions

83
mesa-amber/LICENSE Normal file
View File

@ -0,0 +1,83 @@
The Mesa 3D Graphics Library
Disclaimer
Mesa is a 3-D graphics library with an API which is very similar to
that of [1]OpenGL.* To the extent that Mesa utilizes the OpenGL command
syntax or state machine, it is being used with authorization from
[2]Silicon Graphics, Inc.(SGI). However, the author does not possess an
OpenGL license from SGI, and makes no claim that Mesa is in any way a
compatible replacement for OpenGL or associated with SGI. Those who
want a licensed implementation of OpenGL should contact a licensed
vendor.
Please do not refer to the library as MesaGL (for legal reasons). It's
just Mesa or The Mesa 3-D graphics library.
* OpenGL is a trademark of [3]Silicon Graphics Incorporated.
License / Copyright Information
The Mesa distribution consists of several components. Different
copyrights and licenses apply to different components. For example, the
GLX client code uses the SGI Free Software License B, and some of the
Mesa device drivers are copyrighted by their authors. See below for a
list of Mesa's main components and the license for each.
The core Mesa library is licensed according to the terms of the MIT
license. This allows integration with the XFree86, Xorg and DRI
projects.
The default Mesa license is as follows:
Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Attention, Contributors
When contributing to the Mesa project you must agree to the licensing
terms of the component to which you're contributing. The following
section lists the primary components of the Mesa distribution and their
respective licenses.
Mesa Component Licenses
Component Location License
------------------------------------------------------------------
Main Mesa code src/mesa/ MIT
Device drivers src/mesa/drivers/* MIT, generally
Gallium code src/gallium/ MIT
Ext headers include/GL/glext.h Khronos
include/GL/glxext.h
GLX client code src/glx/ SGI Free Software License B
C11 thread include/c11/threads*.h Boost (permissive) emulation
In general, consult the source files for license terms.
References
1. https://www.opengl.org/
2. https://www.sgi.com/
3. https://www.sgi.com/

74
mesa-amber/PKGBUILD Normal file
View File

@ -0,0 +1,74 @@
#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=mesa-amber
pkgdesc="classic OpenGL (non-Gallium3D) drivers -no ZSTD"
pkgver=21.3.8
pkgrel=02
arch=('x86_64')
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
'libxdamage' 'wayland' 'wayland-protocols' 'elfutils' 'llvm'
'libglvnd' 'libunwind' 'libxrandr' 'valgrind' 'cmake' 'meson')
url="https://www.mesa3d.org/"
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
LICENSE)
prepare() {
cd mesa-$pkgver
}
build() {
arch-meson mesa-$pkgver build \
-D b_lto=true \
-D b_ndebug=true \
-D amber=true \
-D platforms=auto \
-D dri-drivers=i915,i965,r100,r200,nouveau \
-D gallium-drivers=swrast \
-D vulkan-drivers=auto \
-D dri3=enabled \
-D egl=enabled \
-D gbm=enabled \
-D gles1=disabled \
-D gles2=enabled \
-D glvnd=auto \
-D glx=dri \
-D libunwind=enabled \
-D llvm=enabled \
-D zstd=disabled \
-D lmsensors=disabled \
-D osmesa=true \
-D shared-glapi=enabled \
-D microsoft-clc=disabled \
-D valgrind=enabled
# Print config
meson configure build
ninja -C build
meson compile -C build
}
package() {
depends=('libglvnd')
conflicts=('mesa')
provides=("mesa-${pkgver}")
DESTDIR="${pkgdir}" meson install -C build
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
}
#---- license gpg-key sha256sums ----
license=('custom')
validpgpkeys=('57551DE15B968F6341C248F68D8E31AFC32428A6') # Eric Engestrom <eric@engestrom.ch>
sha256sums=(e70d273bdc53a4e931871bb5550ba3900e6a3deab2fff64184107c33e92d9da7 # mesa-21.3.8.tar.xz
e07d6dc4856cdac895fe96a8a5d34ac0558f93a3c6900fc203bbd1a84632296f # mesa-21.3.8.tar.xz.sig
7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537) # LICENSE

65
mesa-amber/PKGBUILD-arch Normal file
View File

@ -0,0 +1,65 @@
# Maintainer: Laurent Carlier <lordheavym@gmail.com>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgname=mesa-amber
pkgdesc="classic OpenGL (non-Gallium3D) drivers"
pkgver=21.3.8
pkgrel=2
arch=('x86_64')
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
'libxdamage' 'wayland' 'wayland-protocols' 'zstd' 'elfutils' 'llvm'
'libglvnd' 'libunwind' 'libxrandr' 'valgrind' 'cmake' 'meson')
url="https://www.mesa3d.org/"
license=('custom')
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
LICENSE)
sha512sums=('0462c44fa8e358dafd03088411452bc172a365902795b3198df1e6cfbf1d87675ef5b72b572de7f15e5ee87b30ce5b2f217c81ea72b376962f6428c6ff83f2e9'
'SKIP'
'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7')
validpgpkeys=('57551DE15B968F6341C248F68D8E31AFC32428A6') # Eric Engestrom <eric@engestrom.ch>
prepare() {
cd mesa-$pkgver
}
build() {
arch-meson mesa-$pkgver build \
-D b_lto=true \
-D b_ndebug=true \
-D amber=true \
-D platforms=auto \
-D dri-drivers=i915,i965,r100,r200,nouveau \
-D gallium-drivers=swrast \
-D vulkan-drivers=auto \
-D dri3=enabled \
-D egl=enabled \
-D gbm=enabled \
-D gles1=disabled \
-D gles2=enabled \
-D glvnd=auto \
-D glx=dri \
-D libunwind=enabled \
-D llvm=enabled \
-D lmsensors=disabled \
-D osmesa=true \
-D shared-glapi=enabled \
-D microsoft-clc=disabled \
-D valgrind=enabled
# Print config
meson configure build
ninja -C build
meson compile -C build
}
package() {
depends=('libglvnd')
conflicts=('mesa')
provides=("mesa-${pkgver}")
DESTDIR="${pkgdir}" meson install -C build
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
}

1
mesa-amber/clean Normal file
View File

@ -0,0 +1 @@
rm -rf {src,pkg,mesa-*tar.xz*}

18
mesa-amber/deps Normal file
View File

@ -0,0 +1,18 @@
python-mako
libxml2
libx11
xorgproto
libdrm
libxshmfence
libxxf86vm
libxdamage
wayland
wayland-protocols
llvm
libglvnd
libunwind
libxrandr
valgrind
cmake
meson
bison

1
mesa-amber/key Normal file
View File

@ -0,0 +1 @@
gpg --recv-keys 8D8E31AFC32428A6

5
mesa-amber/time Normal file
View File

@ -0,0 +1,5 @@
real ''m+-.626s
user 54m37.956s
sys 1m56.101s

View File

@ -8,9 +8,9 @@
pkgbase=qt5-base
pkgname=(qt5-base qt5-xcb-private-headers)
_basever=5.15.3
pkgver=5.15.3+kde+r136
pkgver=5.15.3+kde+r137
pkgrel=01
_commit=f31e001a9399e4e620847ea2c3e90749350140ae
_commit=ee7a89b2c4750bc3cabe4aeb466645d6ac2a872b
arch=('x86_64')
url='https://www.qt.io'
pkgdesc='A cross-platform application and UI framework'

View File

@ -4,9 +4,9 @@
pkgbase=qt5-base
pkgname=(qt5-base qt5-xcb-private-headers)
_basever=5.15.3
pkgver=5.15.3+kde+r136
pkgver=5.15.3+kde+r137
pkgrel=1
_commit=f31e001a9399e4e620847ea2c3e90749350140ae
_commit=ee7a89b2c4750bc3cabe4aeb466645d6ac2a872b
arch=('x86_64')
url='https://www.qt.io'
license=('GPL3' 'LGPL3' 'FDL' 'custom')

View File

@ -1,5 +1,4 @@
real 18m57.783s
user 63m36.020s
sys 3m57.301s
real 28m25.450s
user 58m40.247s
sys 4m26.959s

View File

@ -5,9 +5,9 @@
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=qt6-base
_qtver=6.2.2
_qtver=6.2.4
pkgver=${_qtver/-/}
pkgrel=05
pkgrel=01
arch=(x86_64)
url='https://www.qt.io'
pkgdesc='A cross-platform application and UI framework'
@ -17,7 +17,7 @@ depends=(libjpeg-turbo xcb-util-keysyms xcb-util-cursor libgl fontconfig xdg-uti
makedepends=(cmake ninja libfbclient mariadb-libs unixodbc postgresql alsa-lib gst-plugins-base-libs
gtk3 libpulse cups freetds xmlstarlet)
optdepends=('qt6-wayland: to run Qt6 applications in a Wayland session'
'postgresql-libs: PostgreSQL driver'
'postgresql-libs: PostgreSQL driver'
'mariadb-libs: MariaDB driver'
'unixodbc: ODBC driver'
'libfbclient: Firebird/iBase driver'
@ -25,16 +25,15 @@ optdepends=('qt6-wayland: to run Qt6 applications in a Wayland session'
'gtk3: GTK platform plugin'
'perl: for syncqt')
groups=(qt6)
#options=(debug) # uncomment this to have qt6-base-debug produced
_pkgfn="${pkgname/6-/}-everywhere-src-$_qtver"
source=(https://download.qt.io/official_releases/qt/${pkgver%.*}/$_qtver/submodules/$_pkgfn.tar.xz
qt6-base-cflags.patch
qt6-base-nostrip.patch
qtbug-97908.patch::https://code.qt.io/cgit/qt/qtbase.git/patch/?id=9b7f7115)
qmake-cflags.patch
qmake-config.patch)
prepare() {
patch -d $_pkgfn -p1 < qt6-base-cflags.patch # Use system CFLAGS
patch -d $_pkgfn -p1 < qt6-base-nostrip.patch # Don't strip binaries with qmake
patch -d $_pkgfn -p1 < qtbug-97908.patch # Fix scrolling with PgUp/PgDown keys
patch -d $_pkgfn -p1 < qmake-cflags.patch # Use system CFLAGS
patch -d $_pkgfn -p1 < qmake-config.patch # Don't strip binaries with qmake and use -ltcg, cf. QTBUG-73834
}
build() {
@ -42,6 +41,7 @@ build() {
-DCMAKE_INSTALL_PREFIX=/usr \
-DINSTALL_BINDIR=lib/qt6/bin \
-DINSTALL_PUBLICBINDIR=usr/bin \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DINSTALL_LIBEXECDIR=lib/qt6 \
-DINSTALL_DOCDIR=share/doc/qt6 \
-DINSTALL_ARCHDATADIR=lib/qt6 \
@ -56,6 +56,7 @@ build() {
-DQT_FEATURE_zstd=OFF \
-DQT_FEATURE_IPv6_ifname=OFF \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
cmake --build build
}
@ -77,7 +78,6 @@ package() {
license=(GPL3 LGPL3 FDL custom)
sha256sums=(85ab9180180c2eaf84cd11ae4c6d5a6a69f2f8fd7260aaccfd91a3e7e7232c1a # qtbase-everywhere-src-6.2.2.tar.xz
cf707cd970650f8b60f8897692b36708ded9ba116723ec8fcd885576783fe85c # qt6-base-cflags.patch
4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094 # qt6-base-nostrip.patch
06590303498a10950408d26f027928ec12019fe631237d1862c2d720f1d331bb) # qtbug-97908.patch
sha256sums=(d9924d6fd4fa5f8e24458c87f73ef3dfc1e7c9b877a5407c040d89e6736e2634 # qtbase-everywhere-src-6.2.4.tar.xz
5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78 # qmake-cflags.patch
4abc22150fa3e06b2fdcec32146abc9be4e316692aa4d5bd5aa53b4b726783fa) # qmake-config.patch

View File

@ -3,9 +3,9 @@
# Contributor: Andrea Scarpino <andrea@archlinux.org>
pkgname=qt6-base
_qtver=6.2.2
_qtver=6.2.4
pkgver=${_qtver/-/}
pkgrel=2
pkgrel=1
arch=(x86_64)
url='https://www.qt.io'
license=(GPL3 LGPL3 FDL custom)
@ -15,7 +15,8 @@ depends=(libjpeg-turbo xcb-util-keysyms xcb-util-cursor libgl fontconfig xdg-uti
tslib libinput libxkbcommon-x11 libproxy libcups double-conversion brotli libb2 md4c)
makedepends=(cmake ninja libfbclient mariadb-libs unixodbc postgresql alsa-lib gst-plugins-base-libs
gtk3 libpulse cups freetds xmlstarlet)
optdepends=('postgresql-libs: PostgreSQL driver'
optdepends=('qt6-wayland: to run Qt6 applications in a Wayland session'
'postgresql-libs: PostgreSQL driver'
'mariadb-libs: MariaDB driver'
'unixodbc: ODBC driver'
'libfbclient: Firebird/iBase driver'
@ -23,22 +24,24 @@ optdepends=('postgresql-libs: PostgreSQL driver'
'gtk3: GTK platform plugin'
'perl: for syncqt')
groups=(qt6)
options=(debug)
_pkgfn="${pkgname/6-/}-everywhere-src-$_qtver"
source=(https://download.qt.io/official_releases/qt/${pkgver%.*}/$_qtver/submodules/$_pkgfn.tar.xz
qt6-base-cflags.patch
qt6-base-nostrip.patch)
sha256sums=('85ab9180180c2eaf84cd11ae4c6d5a6a69f2f8fd7260aaccfd91a3e7e7232c1a'
'cf707cd970650f8b60f8897692b36708ded9ba116723ec8fcd885576783fe85c'
'4b93f6a79039e676a56f9d6990a324a64a36f143916065973ded89adc621e094')
qmake-cflags.patch
qmake-config.patch)
sha256sums=('d9924d6fd4fa5f8e24458c87f73ef3dfc1e7c9b877a5407c040d89e6736e2634'
'5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78'
'4abc22150fa3e06b2fdcec32146abc9be4e316692aa4d5bd5aa53b4b726783fa')
prepare() {
patch -d $_pkgfn -p1 < qt6-base-cflags.patch # Use system CFLAGS
patch -d $_pkgfn -p1 < qt6-base-nostrip.patch # Don't strip binaries with qmake
patch -d $_pkgfn -p1 < qmake-cflags.patch # Use system CFLAGS
patch -d $_pkgfn -p1 < qmake-config.patch # Don't strip binaries with qmake and use -ltcg, cf. QTBUG-73834
}
build() {
cmake -B build -S $_pkgfn -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DINSTALL_BINDIR=lib/qt6/bin \
-DINSTALL_PUBLICBINDIR=usr/bin \
-DINSTALL_LIBEXECDIR=lib/qt6 \
@ -50,7 +53,8 @@ build() {
-DINSTALL_EXAMPLESDIR=share/doc/qt6/examples \
-DQT_FEATURE_journald=ON \
-DQT_FEATURE_openssl_linked=ON \
-DQT_FEATURE_system_sqlite=ON
-DQT_FEATURE_system_sqlite=ON \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
cmake --build build
}

View File

@ -0,0 +1,46 @@
diff --git a/mkspecs/common/g++-unix.conf b/mkspecs/common/g++-unix.conf
index a493cd5984..41342f5020 100644
--- a/mkspecs/common/g++-unix.conf
+++ b/mkspecs/common/g++-unix.conf
@@ -10,5 +10,6 @@
include(g++-base.conf)
-QMAKE_LFLAGS_RELEASE += -Wl,-O1
+SYSTEM_LDFLAGS = $$(LDFLAGS)
+!isEmpty(SYSTEM_LDFLAGS) { eval(QMAKE_LFLAGS_RELEASE += $$(LDFLAGS)) } else { QMAKE_LFLAGS_RELEASE += -Wl,-O1 }
QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf
index 1f919d270a..7ef6046326 100644
--- a/mkspecs/common/gcc-base.conf
+++ b/mkspecs/common/gcc-base.conf
@@ -40,9 +40,11 @@ QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os
QMAKE_CFLAGS_DEPS += -M
QMAKE_CFLAGS_WARN_ON += -Wall -Wextra
QMAKE_CFLAGS_WARN_OFF += -w
-QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE
-QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g
-QMAKE_CFLAGS_DEBUG += -g
+SYSTEM_CFLAGS = $$(CFLAGS)
+SYSTEM_DEBUG_CFLAGS = $$(DEBUG_CFLAGS)
+!isEmpty(SYSTEM_CFLAGS) { eval(QMAKE_CFLAGS_RELEASE += $$(CFLAGS)) } else { QMAKE_CFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE }
+!isEmpty(SYSTEM_CFLAGS) { eval(QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -g $$(CFLAGS)) } else { QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g }
+!isEmpty(SYSTEM_DEBUG_CFLAGS) { eval(QMAKE_CFLAGS_DEBUG += $$(DEBUG_CFLAGS)) } else { QMAKE_CFLAGS_DEBUG += -g }
QMAKE_CFLAGS_SHLIB += $$QMAKE_CFLAGS_PIC
QMAKE_CFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_PIC
QMAKE_CFLAGS_APP += $$QMAKE_CFLAGS_PIC
@@ -59,9 +61,11 @@ QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
-QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
-QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
-QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+SYSTEM_CXXFLAGS = $$(CXXFLAGS)
+SYSTEM_DEBUG_CXXFLAGS = $$(DEBUG_CXXFLAGS)
+!isEmpty(SYSTEM_CXXFLAGS) { eval(QMAKE_CXXFLAGS_RELEASE += $$(CXXFLAGS)) } else { QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_OPTIMIZE }
+!isEmpty(SYSTEM_CXXFLAGS) { eval(QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -g $$(CXXFLAGS)) } else { QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g }
+!isEmpty(SYSTEM_DEBUG_CXXFLAGS) { eval(QMAKE_CXXFLAGS_DEBUG += $$(DEBUG_CXXFLAGS)) } else { QMAKE_CXXFLAGS_DEBUG += -g }
QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
QMAKE_CXXFLAGS_APP += $$QMAKE_CFLAGS_APP

View File

@ -0,0 +1,13 @@
diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf
index 99d77156fd..fc840fe9f6 100644
--- a/mkspecs/common/gcc-base.conf
+++ b/mkspecs/common/gcc-base.conf
@@ -31,6 +31,8 @@
# you can use the manual test in tests/manual/mkspecs.
#
+CONFIG += nostrip ltcg
+
QMAKE_CFLAGS_OPTIMIZE = -O2
QMAKE_CFLAGS_OPTIMIZE_FULL = -O3
QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Og