aboutsummaryrefslogblamecommitdiffstats
path: root/community/qt5-qtbase/APKBUILD
blob: 33c7c79eb2eeefc2b8a82b4e4078bd70f41b9b10 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                                 
                  

             
                                 
                               
          
                                                                                   

                                                                      
                                                                 
                                                                            
                                       
                         
                       

                
                 






                          
                    
                         





                        
                               
                 
                 
                      
                    
                      



                            
                               
         
                                             
                 
                                                
 
               

                                                  
    
 
                                                                                                            
                                  
         
 


                           




                                             
           
                       
 


                                                          
                                     


         
                                                  


                                             



                                                          
                      
                                                   
                                                    

                                         
                         
                                  
                          






                                    
                                                   
                              
                         
                                      





                                 
                                                              




                                      
                  


           
                                           
                                   
                                                   




                                                                              
                                                      
            



                                                                  





                                             
                                               






                                       
                                 





                                                 





































                                                              

                                                           
                                        

                                                 
                                            
                                           
                                                           



                                                   
                                                     
 
                                                                       


                
                                                                                                                                                                                 
                                                                                                                                                             
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=qt5-qtbase
pkgver=5.14.2
pkgrel=0
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"
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
	vulkan-headers
	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"
provides="qtbase"
builddir="$srcdir/qtbase-everywhere-src-$pkgver"

case $pkgver in
	*_beta*|*_rc*) _rel=development_releases;;
	*) _rel=official_releases;;
esac

source="https://download.qt.io/$_rel/qt/${pkgver%.*}/$pkgver/submodules/qtbase-everywhere-src-$pkgver.tar.xz
	qt-musl-iconv-no-bom.patch
	"

_qt5_prefix=/usr/lib/qt5
_qt5_datadir=/usr/share/qt5

case "$CTARGET_ARCH" in
	arm*|aarch64) _opengl="-opengl es2";;
	*) _opengl="-opengl";;
esac

prepare() {
	default_prepare

	sed -i -e "s|-O2|$CXXFLAGS|" \
		-e "/^QMAKE_RPATH/s| -Wl,-rpath,||g" \
		-e "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" \
		mkspecs/common/*.conf
}

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 \
		-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() {
	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"
	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' {} \;
}

_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' | while read -r i
	do
		_mv_files "$i"
	done

	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/ | grep -E '(libX|libQt5Gui|libGL)' && return 1
	return 0
}

sha512sums="8c83e06d58b56e9f288e83d6c3dd4ad6cc9f1eb1a32c7b44fb912fda34ed7255766fd9fa60cd740ee001df7d6172f25df05f1f95e986c3e793fbcd9bf4f18de9  qtbase-everywhere-src-5.14.2.tar.xz
7d68421a14f0259535c977d8a521c98918193c107b76ac664571b12f5b0d7588a0d0e1297af412a26753a393b21f3f44c3274fa8ab5bc87f03705a3a03acb444  qt-musl-iconv-no-bom.patch"