pmaports/temp/qt5-qtbase/APKBUILD
2018-12-28 21:14:59 +01:00

213 lines
4.8 KiB
Text

# Forked from Alpine to use OpenGL ES2
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=qt5-qtbase
_pkgname=${pkgname/qt5-//}-everywhere-src
pkgver=9999
_pkgver=5.12.0
_ver=${_pkgver/_p/-}
_ver=${_ver/_/-}
_ver=${_ver/beta0/beta}
_ver=${_ver/rc0/rc}
_V=${_ver/rc/RC}
pkgrel=9
pkgdesc="Qt5 - QtBase components"
url="http://qt-project.org/"
arch="all"
license="LGPL-2.0 with exceptions or GPL-3.0 with exceptions"
_sub="$pkgname-sqlite $pkgname-odbc $pkgname-postgresql $pkgname-mysql
$pkgname-tds $pkgname-x11"
depends_dev="mesa-dev libice-dev libsm-dev libx11-dev libxext-dev
openssl-dev fontconfig-dev freetype-dev glib-dev libpng-dev zlib-dev
sqlite-dev dbus-dev perl $_sub"
makedepends="$depends_dev
at-spi2-atk-dev
bison
cups-dev
eudev-dev
flex
freetds-dev
gawk
gperf
gtk+2.0-dev
hicolor-icon-theme
icu-dev
libinput-dev
libjpeg-turbo-dev
libxkbcommon-dev
libxi-dev
libxrandr-dev
libxrender-dev
libxslt-dev
libxv-dev
mariadb-connector-c-dev
mtdev-dev
pcre2-dev
postgresql-dev
unixodbc-dev
xcb-util-dev
xcb-util-image-dev
xcb-util-keysyms-dev
xcb-util-wm-dev
xcb-util-renderutil-dev
"
subpackages="$pkgname-dev $pkgname-doc $_sub"
case $_pkgver in
*_beta*|*_rc*) _rel=development_releases;;
*) _rel=official_releases;;
esac
source="http://download.qt-project.org/$_rel/qt/${_pkgver%.*}/$_ver/submodules/$_pkgname-$_V.tar.xz
qt-musl-iconv-no-bom.patch
"
_qt5_prefix=/usr/lib/qt5
_qt5_datadir=/usr/share/qt5
builddir="$srcdir"/$_pkgname-${_V%-*}
case "$CTARGET_ARCH" in
arm*|aarch64) opengl="-opengl es2";;
*) opengl="-opengl";;
esac
prepare() {
default_prepare
cd "$builddir"
sed -i -e "s|-O2|$CXXFLAGS|" \
-e "/^QMAKE_RPATH/s| -Wl,-rpath,||g" \
-e "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" \
mkspecs/common/*.conf
}
build() {
local _arch
cd "$builddir"
./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 \
-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 \
-silent \
-sysconfdir /etc/xdg \
-system-libjpeg \
-system-libpng \
-system-pcre \
-system-sqlite \
-system-xcb \
-system-zlib \
-translationdir "$_qt5_datadir"/translations \
-no-reduce-relocations
make
}
check() {
cd "$builddir"
make check
}
package() {
cd "$builddir"
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"
done
}
_mv_files() {
local i
for i; do
mkdir -p "$subpkgdir"/${i%/*}
mv "$pkgdir"/$i "$subpkgdir"/$i
done
}
dev() {
cd "$pkgdir"
_mv_files usr/lib/qt5/mkspecs \
usr/lib/cmake \
usr/lib/qt5/bin \
usr/bin \
$(find usr/ -name '*.prl')
default_dev
}
sqlite() {
pkgdesc="SQLite driver for Qt5's SQL classes"
cd "$pkgdir"
_mv_files usr/lib/qt5/plugins/sqldrivers/libqsqlite*
}
odbc() {
pkgdesc="ODBC driver for Qt5's SQL classes"
cd "$pkgdir"
_mv_files usr/lib/qt5/plugins/sqldrivers/libqsqlodbc*
}
postgresql() {
pkgdesc="PostgreSQL driver for Qt5's SQL classes"
cd "$pkgdir"
_mv_files usr/lib/qt5/plugins/sqldrivers/libqsqlpsql*
}
mysql() {
pkgdesc="MySQL driver for Qt5's SQL classes"
cd "$pkgdir"
_mv_files usr/lib/qt5/plugins/sqldrivers/libqsqlmysql*
}
tds() {
pkgdesc="TDS driver for Qt5's SQL classes"
cd "$pkgdir"
_mv_files usr/lib/qt5/plugins/sqldrivers/libqsqltds*
}
x11() {
pkgdesc="Qt5 GUI-related libraries"
depends="hicolor-icon-theme"
cd "$pkgdir"
_mv_files \
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 usr/ | egrep '(libX|libQt5Gui|libGL)' && return 1
return 0
}
sha512sums="8e6c51b754840d17e694b5b4a0d732afe04ebe48d166bca429db01ce3ac9014bb0ed35fe99ad165973889d96919f6b6774429585bae9a7fdba6b07f4c1eb3570 qtbase-everywhere-src-5.12.0.tar.xz
7d68421a14f0259535c977d8a521c98918193c107b76ac664571b12f5b0d7588a0d0e1297af412a26753a393b21f3f44c3274fa8ab5bc87f03705a3a03acb444 qt-musl-iconv-no-bom.patch"