mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-22 02:35:23 +03:00
263 lines
6.1 KiB
Text
263 lines
6.1 KiB
Text
# Maintainer: Bart Ribbers <bribbers@disroot.org>
|
|
pkgname=qt5-qtbase
|
|
pkgver=5.15.8_git20230109
|
|
pkgrel=3
|
|
_commit="dec44589403c99f96705b607d6fa5423b40463b6"
|
|
pkgdesc="Qt5 - QtBase components"
|
|
url="https://qt.io/developers/"
|
|
arch="all"
|
|
license="LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0"
|
|
_sub="$pkgname-sqlite $pkgname-odbc $pkgname-postgresql
|
|
$pkgname-mysql $pkgname-tds $pkgname-x11"
|
|
# icu-data-full: see https://gitlab.alpinelinux.org/alpine/aports/-/issues/13814
|
|
depends="icu-data-full"
|
|
depends_dev="$_sub
|
|
dbus-dev
|
|
fontconfig-dev
|
|
freetype-dev
|
|
glib-dev
|
|
libice-dev
|
|
libpng-dev
|
|
libsm-dev
|
|
libx11-dev
|
|
libxext-dev
|
|
mesa-dev
|
|
openssl-dev>3
|
|
perl
|
|
sqlite-dev
|
|
zlib-dev
|
|
"
|
|
makedepends="$depends_dev
|
|
at-spi2-core-dev
|
|
bison
|
|
cups-dev
|
|
eudev-dev
|
|
flex
|
|
freetds-dev
|
|
gawk
|
|
gperf
|
|
gtk+3.0-dev
|
|
hicolor-icon-theme
|
|
icu-dev
|
|
libinput-dev
|
|
libjpeg-turbo-dev
|
|
libpq-dev
|
|
libxi-dev
|
|
libxkbcommon-dev
|
|
libxrandr-dev
|
|
libxrender-dev
|
|
libxslt-dev
|
|
libxv-dev
|
|
mariadb-connector-c-dev
|
|
mariadb-dev
|
|
mtdev-dev
|
|
pcre2-dev
|
|
unixodbc-dev
|
|
vulkan-headers
|
|
xcb-util-dev
|
|
xcb-util-image-dev
|
|
xcb-util-keysyms-dev
|
|
xcb-util-renderutil-dev
|
|
xcb-util-wm-dev
|
|
xdg-utils
|
|
"
|
|
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $_sub"
|
|
builddir="$srcdir/qtbase-$_commit"
|
|
|
|
# temp allow textrels on riscv64
|
|
[ "$CARCH" = "riscv64" ] && options="$options textrels"
|
|
|
|
case $pkgver in
|
|
*_beta*|*_rc*) _rel=development_releases;;
|
|
*) _rel=official_releases;;
|
|
esac
|
|
|
|
source="https://dev.alpinelinux.org/archive/qt/qtbase-$_commit.tar.xz
|
|
qt-musl-iconv-no-bom.patch
|
|
qt5-base-cflags.patch
|
|
qt5-base-nostrip.patch
|
|
"
|
|
|
|
_qt5_prefix=/usr/lib/qt5
|
|
_qt5_datadir=/usr/share/qt5
|
|
|
|
case "$CTARGET_ARCH" in
|
|
arm*|aarch64) _opengl="-opengl es2";;
|
|
*) _opengl="-opengl";;
|
|
esac
|
|
|
|
case "$CTARGET_ARCH" in
|
|
x86) _no_sse2=-no-sse2 ;;
|
|
*) _no_sse2= ;;
|
|
esac
|
|
|
|
# secfixes:
|
|
# 5.15.0-r2:
|
|
# - CVE-2020-17507
|
|
|
|
_disturl="dev.alpinelinux.org:/archive/qt/"
|
|
snapshot() {
|
|
clean
|
|
deps
|
|
mkdir -p "$srcdir" && cd "$srcdir"
|
|
git clone https://invent.kde.org/qt/qt/qtbase.git && cd qtbase
|
|
git archive --format tar --prefix=qtbase-$_commit/ $_commit | xz -T0 -9 -vv - > $SRCDEST/qtbase-$_commit.tar.xz
|
|
rsync --progress -La $SRCDEST/qtbase-$_commit.tar.xz $_disturl
|
|
}
|
|
|
|
prepare() {
|
|
default_prepare
|
|
|
|
sed -i -e "s|-O3|$CXXFLAGS|" \
|
|
-e "/^QMAKE_RPATH/s| -Wl,-rpath,||g" \
|
|
-e "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" \
|
|
mkspecs/common/*.conf
|
|
|
|
# Make configure think we are running in a git directory
|
|
# This makes it symlink the include files to the right directory
|
|
mkdir .git
|
|
}
|
|
|
|
build() {
|
|
./configure -confirm-license -opensource \
|
|
-archdatadir "$_qt5_prefix" \
|
|
-bindir "$_qt5_prefix"/bin \
|
|
-datadir "$_qt5_datadir" \
|
|
-dbus-linked \
|
|
-docdir /usr/share/doc/qt5 \
|
|
-examplesdir /usr/share/doc/qt5/examples \
|
|
-glib \
|
|
-headerdir /usr/include/qt5 \
|
|
-icu \
|
|
-importdir "$_qt5_prefix"/imports \
|
|
-libexecdir "$_qt5_prefix"/libexec \
|
|
-no-rpath \
|
|
-no-separate-debug-info \
|
|
-no-pch \
|
|
-nomake examples \
|
|
$_opengl \
|
|
-openssl-linked \
|
|
-optimized-qmake \
|
|
-plugin-sql-mysql \
|
|
-plugin-sql-odbc \
|
|
-plugin-sql-psql \
|
|
-plugin-sql-sqlite \
|
|
-plugin-sql-tds \
|
|
-plugindir "$_qt5_prefix"/plugins \
|
|
-prefix /usr \
|
|
-sysconfdir /etc/xdg \
|
|
-system-libjpeg \
|
|
-system-libpng \
|
|
-system-pcre \
|
|
-system-sqlite \
|
|
-system-zlib \
|
|
-translationdir "$_qt5_datadir"/translations \
|
|
-no-reduce-relocations \
|
|
$_no_sse2
|
|
# significantly reduce debug symbol size
|
|
CFLAGS="$CFLAGS -g1" CXXFLAGS="$CXXFLAGS -g1" \
|
|
make
|
|
}
|
|
|
|
check() {
|
|
make check
|
|
}
|
|
|
|
package() {
|
|
make INSTALL_ROOT="$pkgdir" install
|
|
mkdir -p "$pkgdir"/usr/bin/
|
|
for i in "$pkgdir"/"$_qt5_prefix"/bin/*; do
|
|
_name=${i##*/}
|
|
case $_name in
|
|
*.*) _dest="$pkgdir"/usr/bin/${_name%.*}-qt5.${_name##*.};;
|
|
*) _dest="$pkgdir"/usr/bin/${_name%.*}-qt5;;
|
|
esac
|
|
ln -s ../lib/qt5/bin/"$_name" "$_dest"
|
|
ln -s ../lib/qt5/bin/"$_name" "$pkgdir"/usr/bin/$_name
|
|
done
|
|
|
|
# Drop QMAKE_PRL_BUILD_DIR because reference the build dir
|
|
find "$pkgdir/usr/lib" -type f -name '*.prl' \
|
|
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
|
|
}
|
|
|
|
dev() {
|
|
provides="qtchooser=$pkgver-r$pkgrel"
|
|
replaces="qtchooser"
|
|
amove \
|
|
usr/lib/qt5/mkspecs \
|
|
usr/lib/cmake \
|
|
usr/lib/qt5/bin \
|
|
usr/bin
|
|
cd "$pkgdir"
|
|
find usr/ -name '*.prl' | while read -r i; do
|
|
amove "$i"
|
|
done
|
|
|
|
default_dev
|
|
}
|
|
|
|
sqlite() {
|
|
pkgdesc="SQLite driver for Qt5's SQL classes"
|
|
depends=""
|
|
|
|
amove usr/lib/qt5/plugins/sqldrivers/libqsqlite*
|
|
}
|
|
|
|
odbc() {
|
|
pkgdesc="ODBC driver for Qt5's SQL classes"
|
|
depends=""
|
|
|
|
amove usr/lib/qt5/plugins/sqldrivers/libqsqlodbc*
|
|
}
|
|
|
|
postgresql() {
|
|
pkgdesc="PostgreSQL driver for Qt5's SQL classes"
|
|
depends=""
|
|
|
|
amove usr/lib/qt5/plugins/sqldrivers/libqsqlpsql*
|
|
}
|
|
|
|
mysql() {
|
|
pkgdesc="MySQL driver for Qt5's SQL classes"
|
|
depends=""
|
|
|
|
amove usr/lib/qt5/plugins/sqldrivers/libqsqlmysql*
|
|
}
|
|
|
|
tds() {
|
|
pkgdesc="TDS driver for Qt5's SQL classes"
|
|
depends=""
|
|
|
|
amove usr/lib/qt5/plugins/sqldrivers/libqsqltds*
|
|
}
|
|
|
|
x11() {
|
|
pkgdesc="Qt5 GUI-related libraries"
|
|
depends="hicolor-icon-theme xdg-utils"
|
|
|
|
amove \
|
|
usr/lib/libQt5EglFSDeviceIntegration.so.* \
|
|
usr/lib/libQt5EglFsKmsSupport.so.* \
|
|
usr/lib/libQt5Gui.so.* \
|
|
usr/lib/libQt5OpenGL.so.* \
|
|
usr/lib/libQt5PrintSupport.so.* \
|
|
usr/lib/libQt5Widgets.so.* \
|
|
usr/lib/libQt5XcbQpa.so.* \
|
|
usr/lib/qt5/plugins/egldeviceintegrations \
|
|
usr/lib/qt5/plugins/generic \
|
|
usr/lib/qt5/plugins/image* \
|
|
usr/lib/qt5/plugins/platform* \
|
|
usr/lib/qt5/plugins/printsupport* \
|
|
usr/lib/qt5/plugins/xcbglintegrations
|
|
|
|
scanelf -Rn "$pkgdir"/usr/ | grep -E '(libX|libQt5Gui|libGL)' && return 1
|
|
return 0
|
|
}
|
|
|
|
sha512sums="
|
|
ada014722b7c5220b050039c7d7dc417467379fea5d1f8f439ccacfc872e486b1820acbae68a6b98ae1692e3eada6d63ffce9c77706554f8504d3c7dc13153d8 qtbase-dec44589403c99f96705b607d6fa5423b40463b6.tar.xz
|
|
7d68421a14f0259535c977d8a521c98918193c107b76ac664571b12f5b0d7588a0d0e1297af412a26753a393b21f3f44c3274fa8ab5bc87f03705a3a03acb444 qt-musl-iconv-no-bom.patch
|
|
fa3dddfe42b7f0ade45bd0530badfc3a3800adbd3798bd814597527713c9fe360a242f7cf39312f4cc3c88e9bd7aba233bd6674c0fc78e694a1fd868474c4240 qt5-base-cflags.patch
|
|
af061bb56d5079d11407e6eb352fa4af7fefa6aed7f8cc40b5b2d591ef7ff04e9da6c6d534ca1904355ea7552951a1610fdcefb04ef9d696cb2b23ad6a0606e8 qt5-base-nostrip.patch
|
|
"
|