qt5: move some tools to qt5-host-tools
+ Move lconvert, lupdate, and lrelease to qt5-host-tools + Add a subpackage qt5-quickcontrols2-devel + Enable libvpx-devel for all architectures (armv6l works again) + Drop now redundant CXXFLAGS _GLIBCXX_USE_C99_STD{IO,LIB} See #9403 - builders probably need to be purged to free disk space
This commit is contained in:
parent
c963ca098e
commit
494573b317
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'qt5'
|
# Template file for 'qt5'
|
||||||
pkgname=qt5
|
pkgname=qt5
|
||||||
version=5.8.0
|
version=5.8.0
|
||||||
revision=8
|
revision=9
|
||||||
wrksrc="qt-everywhere-opensource-src-${version}"
|
wrksrc="qt-everywhere-opensource-src-${version}"
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
homepage="http://qt.io/"
|
homepage="http://qt.io/"
|
||||||
|
@ -20,7 +20,7 @@ makedepends="
|
||||||
fontconfig-devel libXi-devel libXv-devel libXinerama-devel libXrandr-devel
|
fontconfig-devel libXi-devel libXv-devel libXinerama-devel libXrandr-devel
|
||||||
libXcursor-devel libXScrnSaver-devel dbus-devel glib-devel icu-devel
|
libXcursor-devel libXScrnSaver-devel dbus-devel glib-devel icu-devel
|
||||||
cups-devel libjpeg-turbo-devel sqlite-devel alsa-lib-devel tiff-devel
|
cups-devel libjpeg-turbo-devel sqlite-devel alsa-lib-devel tiff-devel
|
||||||
libmng-devel libevent-devel ffmpeg-devel jsoncpp-devel
|
libmng-devel libevent-devel ffmpeg-devel libvpx-devel jsoncpp-devel
|
||||||
libsrtp-devel protobuf-devel snappy-devel minizip-devel
|
libsrtp-devel protobuf-devel snappy-devel minizip-devel
|
||||||
libxshmfence-devel libSM-devel xcb-util-keysyms-devel
|
libxshmfence-devel libSM-devel xcb-util-keysyms-devel
|
||||||
xcb-util-image-devel xcb-util-renderutil-devel xcb-util-wm-devel
|
xcb-util-image-devel xcb-util-renderutil-devel xcb-util-wm-devel
|
||||||
|
@ -35,23 +35,14 @@ replaces="qt5-doc<5.6.0 qt5-quick1<5.6.0 qt5-quick1-devel<5.6.0 qt5-webkit<5.6.0
|
||||||
|
|
||||||
# Work around SSLv3_{client,server}_method missing in libressl-2.3.3
|
# Work around SSLv3_{client,server}_method missing in libressl-2.3.3
|
||||||
CFLAGS="-DOPENSSL_NO_PSK -DOPENSSL_NO_NEXTPROTONEG -DOPENSSL_NO_SSL3_METHOD"
|
CFLAGS="-DOPENSSL_NO_PSK -DOPENSSL_NO_NEXTPROTONEG -DOPENSSL_NO_SSL3_METHOD"
|
||||||
CXXFLAGS="${CFLAGS} -D_GLIBCXX_USE_C99_STDLIB=1 -D_GLIBCXX_USE_C99_STDIO=1"
|
CXXFLAGS="${CFLAGS}"
|
||||||
CXXFLAGS+=" -Wno-deprecated-declarations -fno-delete-null-pointer-checks"
|
CXXFLAGS+=" -Wno-deprecated-declarations -fno-delete-null-pointer-checks"
|
||||||
# Required for musl libc
|
# Required for musl libc
|
||||||
LDFLAGS="-pthread -ldl -fPIE"
|
LDFLAGS="-pthread -ldl -fPIE"
|
||||||
|
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
armv5*) # Cannot cross compile libvpx (?)
|
|
||||||
makedepends+=" libvpx-devel"
|
|
||||||
;;
|
|
||||||
armv6*) # Cannot cross compile libvpx
|
|
||||||
;;
|
|
||||||
armv7*) # Force use of neon and enable libvpx
|
armv7*) # Force use of neon and enable libvpx
|
||||||
CXXFLAGS+=" -mfpu=neon"
|
CXXFLAGS+=" -mfpu=neon"
|
||||||
makedepends+=" libvpx-devel"
|
|
||||||
;;
|
|
||||||
*) # Other architectures have libvpx (TODO: mips-* too?)
|
|
||||||
makedepends+=" libvpx-devel"
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -121,41 +112,42 @@ _install_devel() {
|
||||||
}
|
}
|
||||||
|
|
||||||
_create_config() {
|
_create_config() {
|
||||||
local specs=${wrksrc}/qtbase/mkspecs/devices device="$1" qmake_conf
|
local specs=${wrksrc}/qtbase/mkspecs/devices device="$1"
|
||||||
|
local qmake_conf="${specs}/${device}/qmake.conf"
|
||||||
|
|
||||||
mkdir -p ${specs}/${device}
|
mkdir -p ${specs}/${device}
|
||||||
|
|
||||||
echo "#" > ${specs}/${device}/qmake.conf
|
echo "#" > ${qmake_conf}
|
||||||
echo "# qmake configuration for building with $XBPS_TARGET_MACHINE" >> ${specs}/${device}/qmake.conf
|
echo "# qmake configuration for building with $XBPS_TARGET_MACHINE" >> ${qmake_conf}
|
||||||
echo "#" >> ${specs}/${device}/qmake.conf
|
echo "#" >> ${qmake_conf}
|
||||||
echo >> ${specs}/${device}/qmake.conf
|
echo >> ${qmake_conf}
|
||||||
echo "include(../common/linux_device_pre.conf)" >> ${specs}/${device}/qmake.conf
|
echo "include(../common/linux_device_pre.conf)" >> ${qmake_conf}
|
||||||
echo >> ${specs}/${device}/qmake.conf
|
echo >> ${qmake_conf}
|
||||||
# Fake distro name to tell we want control
|
# Fake distro name to tell we want control
|
||||||
echo "DISTRO = arch" >> ${specs}/${device}/qmake.conf
|
echo "DISTRO = arch" >> ${qmake_conf}
|
||||||
# Hard float on armv6, armv7, not on armv5tel
|
# Hard float on armv6, armv7, not on armv5tel
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
armv6*|armv7*)
|
armv6*|armv7*)
|
||||||
echo "DISTRO_OPTS += hard-float" >> ${specs}/${device}/qmake.conf
|
echo "DISTRO_OPTS += hard-float" >> ${qmake_conf}
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
echo "QMAKE_CC = ${CC}" >> ${specs}/${device}/qmake.conf
|
echo "QMAKE_CC = ${CC}" >> ${qmake_conf}
|
||||||
echo "QMAKE_CXX = ${CXX}" >> ${specs}/${device}/qmake.conf
|
echo "QMAKE_CXX = ${CXX}" >> ${qmake_conf}
|
||||||
echo "QMAKE_LINK = ${CXX}" >> ${specs}/${device}/qmake.conf
|
echo "QMAKE_LINK = ${CXX}" >> ${qmake_conf}
|
||||||
echo "QMAKE_LINK_SHLIB = ${CXX}" >> ${specs}/${device}/qmake.conf
|
echo "QMAKE_LINK_SHLIB = ${CXX}" >> ${qmake_conf}
|
||||||
echo "QMAKE_LFLAGS = ${LDFLAGS}" >> ${specs}/${device}/qmake.conf
|
echo "QMAKE_LFLAGS = ${LDFLAGS}" >> ${qmake_conf}
|
||||||
echo "QMAKE_CFLAGS = ${CFLAGS}" >> ${specs}/${device}/qmake.conf
|
echo "QMAKE_CFLAGS = ${CFLAGS}" >> ${qmake_conf}
|
||||||
echo "QMAKE_CXXFLAGS = ${CXXFLAGS}" >> ${specs}/${device}/qmake.conf
|
echo "QMAKE_CXXFLAGS = ${CXXFLAGS}" >> ${qmake_conf}
|
||||||
# FIXME: is this required?
|
# FIXME: is this required?
|
||||||
echo "QMAKE_LIBS_OPENGL_ES2 = -lEGL -lGLESv2" >> ${specs}/${device}/qmake.conf
|
echo "QMAKE_LIBS_OPENGL_ES2 = -lEGL -lGLESv2" >> ${qmake_conf}
|
||||||
echo >> ${specs}/${device}/qmake.conf
|
echo >> ${qmake_conf}
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
arm*)
|
arm*)
|
||||||
echo "include(../common/linux_arm_device_post.conf)" >> ${specs}/${device}/qmake.conf ;;
|
echo "include(../common/linux_arm_device_post.conf)" >> ${qmake_conf} ;;
|
||||||
*)
|
*)
|
||||||
echo "include(../common/linux_device_post.conf)" >> ${specs}/${device}/qmake.conf ;;
|
echo "include(../common/linux_device_post.conf)" >> ${qmake_conf} ;;
|
||||||
esac
|
esac
|
||||||
echo "load(qt_config)" >> ${specs}/${device}/qmake.conf
|
echo "load(qt_config)" >> ${qmake_conf}
|
||||||
|
|
||||||
echo '#include "../../linux-g++/qplatformdefs.h"' > ${specs}/${device}/qplatformdefs.h
|
echo '#include "../../linux-g++/qplatformdefs.h"' > ${specs}/${device}/qplatformdefs.h
|
||||||
}
|
}
|
||||||
|
@ -173,6 +165,7 @@ pre_configure() {
|
||||||
# Do not use experimental allocator shim (incompatible with musl libc)
|
# Do not use experimental allocator shim (incompatible with musl libc)
|
||||||
sed -i qtwebengine/src/3rdparty/chromium/build/common.gypi \
|
sed -i qtwebengine/src/3rdparty/chromium/build/common.gypi \
|
||||||
-e"s;\('use_experimental_allocator_shim%':\) 1,;\1 0,;"
|
-e"s;\('use_experimental_allocator_shim%':\) 1,;\1 0,;"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
# Cross build patches
|
# Cross build patches
|
||||||
if [ -n "$CROSS_BUILD" ]; then
|
if [ -n "$CROSS_BUILD" ]; then
|
||||||
|
@ -197,7 +190,7 @@ pre_configure() {
|
||||||
sed -i -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${LDFLAGS}|" \
|
sed -i -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${LDFLAGS}|" \
|
||||||
qtbase/mkspecs/common/g++-unix.conf
|
qtbase/mkspecs/common/g++-unix.conf
|
||||||
fi
|
fi
|
||||||
sed -i qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/ffmpeg.gyp \
|
sed -i qtwebengine/src/3rdparty/chromium/third_party/ffmpeg/ffmpeg.gyp \
|
||||||
-e "s|'use_system_ffmpeg%': 0,|'use_system_ffmpeg%': 1,|"
|
-e "s|'use_system_ffmpeg%': 0,|'use_system_ffmpeg%': 1,|"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -377,11 +370,19 @@ do_install() {
|
||||||
make clean
|
make clean
|
||||||
make -f Makefile.host ${makejobs}
|
make -f Makefile.host ${makejobs}
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
post_install() {
|
||||||
vlicense ${wrksrc}/LGPL_EXCEPTION.txt
|
vlicense ${wrksrc}/LGPL_EXCEPTION.txt
|
||||||
|
# Remove binaries which are contained in subpackages
|
||||||
|
for f in qscxmlc qmlmin qmllint qmlimportscanner qgltf qdoc lconvert lupdate lrelease; do
|
||||||
|
rm -f ${DESTDIR}/usr/lib/qt5/bin/${f}
|
||||||
|
rm -f ${DESTDIR}/usr/bin/${f}-qt5
|
||||||
|
done
|
||||||
|
# Symbolic links for remaining binaries
|
||||||
vmkdir usr/bin
|
vmkdir usr/bin
|
||||||
for f in ${DESTDIR}/usr/lib/qt5/bin/*; do
|
for f in ${DESTDIR}/usr/lib/qt5/bin/*; do
|
||||||
base=$(basename $f)
|
base=${f##*/}
|
||||||
ln -sf /usr/lib/qt5/bin/${base} ${PKGDESTDIR}/usr/bin/${base}-qt5
|
ln -sf /usr/lib/qt5/bin/${base} ${PKGDESTDIR}/usr/bin/${base}-qt5
|
||||||
done
|
done
|
||||||
_cleanup_wrksrc_leak
|
_cleanup_wrksrc_leak
|
||||||
|
@ -554,6 +555,14 @@ qt5-quickcontrols_package() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qt5-quickcontrols2-devel_package() {
|
||||||
|
short_desc+=" - Quick UI controls (ver. 2; development)"
|
||||||
|
depends="qt5-quickcontrols2-${version}_${revision} qt5-devel-${version}_${revision}"
|
||||||
|
pkg_install() {
|
||||||
|
_install_devel qtquickcontrols2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
qt5-quickcontrols2_package() {
|
qt5-quickcontrols2_package() {
|
||||||
short_desc+=" - Quick UI controls (ver. 2)"
|
short_desc+=" - Quick UI controls (ver. 2)"
|
||||||
pkg_install() {
|
pkg_install() {
|
||||||
|
@ -798,8 +807,20 @@ qt5-translations_package() {
|
||||||
qt5-host-tools_package() {
|
qt5-host-tools_package() {
|
||||||
short_desc+=" - Tools required when cross compiling"
|
short_desc+=" - Tools required when cross compiling"
|
||||||
pkg_install() {
|
pkg_install() {
|
||||||
|
vmkdir usr/bin
|
||||||
for f in moc rcc uic qlalr qdbuscpp2xml qdbusxml2cpp; do
|
for f in moc rcc uic qlalr qdbuscpp2xml qdbusxml2cpp; do
|
||||||
vmove usr/lib/qt5/bin/${f}
|
vmove usr/lib/qt5/bin/${f}
|
||||||
|
vmove usr/bin/${f}-qt5
|
||||||
|
done
|
||||||
|
for f in lconvert lupdate lrelease; do
|
||||||
|
if [ -f ${wrksrc}/target/bin/${f} ]; then
|
||||||
|
# cross build for target
|
||||||
|
vinstall ${wrksrc}/target/bin/${f} 755 usr/lib/qt5/bin
|
||||||
|
else
|
||||||
|
# build for host
|
||||||
|
vinstall ${wrksrc}/qttools/bin/${f} 755 usr/lib/qt5/bin
|
||||||
|
fi
|
||||||
|
ln -sf ../lib/qt5/bin/${f} ${PKGDESTDIR}/usr/bin/${f}-qt5
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -817,6 +838,11 @@ qt5-tools_package() {
|
||||||
depends="qt5-translations desktop-file-utils hicolor-icon-theme"
|
depends="qt5-translations desktop-file-utils hicolor-icon-theme"
|
||||||
pkg_install() {
|
pkg_install() {
|
||||||
_install_subpkg qttools
|
_install_subpkg qttools
|
||||||
|
# these are now in qt5-host-tools
|
||||||
|
for f in lconvert lupdate lrelease; do
|
||||||
|
rm -f ${PKGDESTDIR}/usr/lib/qt5/bin/${f}
|
||||||
|
rm -f ${PKGDESTDIR}/usr/bin/${f}-qt5
|
||||||
|
done
|
||||||
# install missing icons and desktop files
|
# install missing icons and desktop files
|
||||||
for icon in ${wrksrc}/qttools/src/linguist/linguist/images/icons/linguist-*-32.png ; do
|
for icon in ${wrksrc}/qttools/src/linguist/linguist/images/icons/linguist-*-32.png ; do
|
||||||
size=$(echo $(basename ${icon}) | cut -d- -f2)
|
size=$(echo $(basename ${icon}) | cut -d- -f2)
|
||||||
|
|
Loading…
Reference in New Issue