Skip to content
Snippets Groups Projects
PKGBUILD 4.30 KiB
# Obarun        : 66 init/supervisor
# Maintainer    : Eric Vidal <eric@obarun.org>
# Maintainer    : Jean-Michel T.Dydak <jean-michel@obarun.org>
# PkgSource     : url="https://framagit.org/pkg/obextra/qt5-base"
#-----------------------------------------------------------------------------------------------

#-----------------------------------------| DESCRIPTION |---------------------------------------

pkgbase=qt5-base
pkgname=(qt5-base qt5-xcb-private-headers)

pkgdesc="A cross-platform application and UI framework"

_qtver=5.13.1
pkgver=${_qtver/-/}
pkgrel=3

_pkgfqn="${pkgbase/5-/}-everywhere-src-${_qtver}"
url="https://www.qt.io"
source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
		'qtbug-77364.patch')

#-------------------------------------| BUILD CONFIGURATION |-----------------------------------

makedepends=(
	'libfbclient'
	'mariadb-libs'
	'sqlite'
	'unixodbc'
	'postgresql-libs'
	'alsa-lib'
	'gst-plugins-base-libs'
	'gtk3'
	'libpulse'
	'cups'
	'freetds'
	'vulkan-headers')
	
#--------------------------------------| BUILD PREPARATION |------------------------------------

prepare() {
	cd ${_pkgfqn}

	## Build qmake using Arch {C,LD}FLAGS
	## This also sets default {C,CXX,LD}FLAGS for projects built using qmake
	sed -i -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${CFLAGS}|" \
	  mkspecs/common/gcc-base.conf
	sed -i -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${LDFLAGS}|" \
	  mkspecs/common/g++-unix.conf

	patch -p1 -i ../qtbug-77364.patch # Fix keyboard input in webengine
}

#--------------------------------------------| BUILD |------------------------------------------

build() {
	cd ${_pkgfqn}

	#echo "INCLUDEPATH += /usr/include/openssl" >> src/network/network.pro
	#export OPENSSL_LIBS='-L/usr/lib -lssl -lcrypto'

	./configure \
		-confirm-license -opensource -v \
		-prefix /usr \
		-docdir /usr/share/doc/qt \
		-headerdir /usr/include/qt \
		-archdatadir /usr/lib/qt \
		-datadir /usr/share/qt \
		-sysconfdir /etc/xdg \
		-examplesdir /usr/share/doc/qt/examples \
		-plugin-sql-{psql,mysql,sqlite,odbc,ibase} \
		-system-sqlite \
		-openssl-linked \
		-nomake examples \
		-no-rpath \
		-optimized-qmake \
		-dbus-linked \
		-system-harfbuzz \
		-no-mimetype-database \
		-no-use-gold-linker \
		-reduce-relocations
	make
}

#-------------------------------------------| PACKAGE |-----------------------------------------

package_qt5-base() {
	pkgdesc='A cross-platform application and UI framework'

	cd ${_pkgfqn}
	make INSTALL_ROOT="${pkgdir}" install

	install -Dm644 LICENSE* -t "$pkgdir"/usr/share/licenses/$pkgbase

	## 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' {} \;

	## Fix wrong qmake path in pri file
	sed -i "s|${srcdir}/${_pkgfqn}|/usr|" \
	 "${pkgdir}"/usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri

	## Symlinks for backwards compatibility
	for b in "${pkgdir}"/usr/bin/*; do
	 ln -s $(basename $b) "${pkgdir}"/usr/bin/$(basename $b)-qt5
	done
}

package_qt5-xcb-private-headers() {
	pkgdesc='Private headers for Qt5 Xcb'

	depends=("qt5-base=$pkgver")
	optdepends=()
	groups=()
	conflicts=()

	cd ${_pkgfqn}
	install -d -m755 "$pkgdir"/usr/include/qtxcb-private
	cp -r src/plugins/platforms/xcb/*.h "$pkgdir"/usr/include/qtxcb-private/
}

#------------------------------------| INSTALL CONFIGURATION |----------------------------------

arch=('x86_64')

conflicts=(
	'qtchooser')

groups=(
	'qt'
	'qt5')
	
depends=(
	'libjpeg-turbo'
	'xcb-util-keysyms'
	'xcb-util-renderutil'
	'libgl'
	'fontconfig'
	'xdg-utils'
	'shared-mime-info'
	'xcb-util-wm'
	'libxrender'
	'libxi'
	'sqlite'
	'xcb-util-image'
	'mesa'
	'tslib'
	'libinput'
	'libxkbcommon-x11'
	'libproxy'
	'libcups'
	'double-conversion')

optdepends=(
	'qt5-svg: to use SVG icon themes'
	'qt5-translations: for some native UI translations'
	'postgresql-libs: PostgreSQL driver'
	'mariadb-libs: MariaDB driver'
	'unixodbc: ODBC driver'
	'libfbclient: Firebird/iBase driver'
	'freetds: MS SQL driver'
	'gtk3: GTK platform plugin')
	
#-------------------------------------| SECURITY AND LICENCE |----------------------------------

license=('GPL3' 'LGPL3' 'FDL' 'custom')

sha256sums=('110cd08cdacab26274bf2519d3508046616c0b638f0d2f5e00bc8bad87469eab'
            'dc742814ab0c1b63da5916d96e3ef01fa96007c385ed033ae5b3a8cd8608c119')