summaryrefslogblamecommitdiff
path: root/user/qt5-qtbase/APKBUILD
blob: 3f5bc413ba596f91bb5991cd070a95b66656d13d (plain) (tree)
1
2
3
4
5
6
7
8
9

                                                 
                              

             
                                                     
                        
          
                                                                                            

                                                       
          


                                                                             
                         





                                                                               


                                                                                                            
                                     
                              
                                  
                    
                            
                            

         






                      


                     



                      
 





                                    


                                                          
                                         


         
                    



                                                             
                                            






                                                          
                      
                                                    
                         
                           





















                                                              
                                   




                          



                  

                                           






                                                          
                         
                                             
                                                    



            
                                                                         









                                                     




                                                            




                                                             




                                                             




                                                              





                                                            














                                                           
                                                                               


                
                                                                                                                                                                                 
                                                                                                                                                               
                                                                                                                                                        
                                                                                                                                                            
                                                                                                                                              
                                                                                                                                                      
                                                                                                                                                       
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=qt5-qtbase
_pkgname=qtbase-everywhere-src
pkgver=5.12.9
pkgrel=0
pkgdesc="Cross-platform application and UI framework"
url="https://www.qt.io/"
arch="all"
license="LGPL-3.0-only WITH Qt-LGPL-exception-1.1 OR GPL-3.0-only WITH Qt-GPL-exception-1.0"
_sub="$pkgname-sqlite $pkgname-odbc $pkgname-postgresql
	$pkgname-tds $pkgname-x11"
depends=""
depends_dev="dbus-dev fontconfig-dev freetype-dev glib-dev libice-dev
	libpng-dev libsm-dev libx11-dev libxext-dev mesa-dev openssl-dev perl
	sqlite-dev zlib-dev $_sub"
makedepends="$depends_dev
	at-spi2-core-dev bison cups-dev eudev-dev flex freetds-dev freetype-dev
	gperf gtk+2.0-dev harfbuzz-dev hicolor-icon-theme icu-dev
	libexecinfo-dev libinput-dev libjpeg-turbo-dev libxkbcommon-dev
	libxi-dev libxrandr-dev libxrender-dev libxslt-dev libxv-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 cmd:which
	"
subpackages="$pkgname-dev $pkgname-doc $_sub"
source="https://download.qt.io/official_releases/qt/${pkgver%.*}/$pkgver/submodules/$_pkgname-$pkgver.tar.xz
	big-endian-scroll-wheel.patch
	link-to-execinfo.patch
	qt-musl-iconv-no-bom.patch
	time64.patch
	CVE-2020-17507.patch
	section-header.patch
	"

# secfixes: qt
#   5.9.7-r0:
#     - CVE-2018-15518
#     - CVE-2018-19869
#     - CVE-2018-19870
#     - CVE-2018-19871
#     - CVE-2018-19873
#   5.12.6-r1:
#     - CVE-2020-0569
#     - CVE-2020-0570
#   5.12.9-r0:
#     - CVE-2015-9541
#     - CVE-2020-13962
#     - CVE-2020-17507

_qt5_prefix=/usr/lib/qt5
_qt5_datadir=/usr/share/qt5
builddir="$srcdir"/$_pkgname-$pkgver

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/linux.conf
}

build() {
	ARCH_OPTS=""
	[ ${CTARGET_ARCH} != "pmmx" ] || ARCH_OPTS="-no-sse2"

	./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 \
		-kms \
		-libexecdir "$_qt5_prefix"/libexec \
		-no-pch \
		-no-rpath \
		-nomake examples \
		-opengl \
		-openssl-linked \
		-optimized-qmake \
		-plugin-sql-odbc \
		-plugin-sql-psql \
		-plugin-sql-sqlite \
		-plugin-sql-tds \
		-plugindir "$_qt5_prefix"/plugins \
		-prefix /usr \
		-silent \
		-sysconfdir /etc/xdg \
		-system-freetype \
		-system-harfbuzz \
		-system-libjpeg \
		-system-libpng \
		-system-pcre \
		-system-sqlite \
		-system-xcb \
		-system-zlib \
		-translationdir "$_qt5_datadir"/translations \
		-no-reduce-relocations \
		-force-debug-info \
		$ARCH_OPTS
	make
}

check() {
	make check
}

package() {
	make INSTALL_ROOT="$pkgdir" install
	mkdir -p "$pkgdir"/usr/bin/
	for i in "$pkgdir"/$_qt5_prefix/bin/*; do
		ln -s ../lib/qt5/bin/"$(basename $i)" \
			"$pkgdir"/usr/bin/"$(basename $i)"
	done
}

_mv_files() {
	for i in "$@"; do
		mkdir -p "$subpkgdir"/${i%/*}
		mv "$pkgdir"/$i "$subpkgdir"/${i%/*}
	done
}

dev() {
	cd "$pkgdir"  # Required for the 'find' command to work properly.
	_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"
	_mv_files usr/lib/qt5/plugins/sqldrivers/libqsqlite*
}

odbc() {
	pkgdesc="ODBC driver for Qt5's SQL classes"
	_mv_files usr/lib/qt5/plugins/sqldrivers/libqsqlodbc*
}

postgresql() {
	pkgdesc="PostgreSQL driver for Qt5's SQL classes"
	_mv_files usr/lib/qt5/plugins/sqldrivers/libqsqlpsql*
}

mysql() {
	pkgdesc="MySQL driver for Qt5's SQL classes"
	_mv_files usr/lib/qt5/plugins/sqldrivers/libqsqlmysql*
}

tds() {
	pkgdesc="TDS driver for Qt5's SQL classes"
	_mv_files usr/lib/qt5/plugins/sqldrivers/libqsqltds*
}

x11() {
	pkgdesc="Qt5 GUI-related libraries"
	depends="hicolor-icon-theme"
	_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 "$pkgdir"/usr/ | egrep '(libX|libQt5Gui|libGL)' && return 1
	return 0
}

sha512sums="40916f73e44dbcab2a3196063d491d5563ec3de583436dac25ecf219aea6e7eb55c46ce8b1c761980f90495b91c89bd5239bd081636054311fee6420750319b0  qtbase-everywhere-src-5.12.9.tar.xz
d00dc607b71a93132f756b952871df9197cfd6d78cc3617544bfa11d7f0eea21ce5dd0d1aeb69dd2702a5694a63d3802accc76499dbf414c01eb56421698cb0c  big-endian-scroll-wheel.patch
ee78a44e28ba5f728914bfc3d8d5b467896c7de11a02d54b0bce11e40a4338b1f776c1fcc30cbd436df4f548c1ab0b4fe801f01b162ddd5c0f892893e227acfd  link-to-execinfo.patch
e3982b2df2ab4ba53b7a1329a9eb928eb1fee813c61cf6ac03d3300a767ffb57f019ac0fd89f633cac2330549446ff3d43344871296bf362815e7ebffadefa6b  qt-musl-iconv-no-bom.patch
436f0bb7a89a88aa62c7b0398c4e91c325e78542e96f747c903f7e96dbf9d9b693d9688c722f2a74e287fb9ab31e861bd5ed8deb172ed28f56a1b8757663771c  time64.patch
9ebf15139025d76ff103a1ae77973136b2f883a38dc54febfa44f08060f41ee13016668c96a29c62dcc458125516ba8bdb899b1ab5604dc976b4f72e513bb682  CVE-2020-17507.patch
47b2973561965e3ef906f03480b3877ad0018f32d31fecb4c410abe22c68ccad7d232cfe68804b70111616e15b979fb26642225b984d8fdbfc6cf6899ad63a0d  section-header.patch"