void-packages/srcpkgs/qt-webkit/template
q66 1a1f6a876b qt-webkit: fix build and disable jit/asm for ppc
It is necessary to add python to host makedepends as python2
is necessary on host during build (python3 will fail to run the
respective script). Adding it early is necessary for proper
alternatives registration for py2.

[ci skip]
2019-05-05 07:54:48 +02:00

113 lines
3.9 KiB
Bash

# Template file for 'qt-webkit'
pkgname=qt-webkit
version=2.3.4
revision=7
_qtver=4.8.7
wrksrc="qtwebkit-${version}"
create_wrksrc=yes
hostmakedepends="automake libtool bison flex gperf python ruby pkg-config qt-qmake"
makedepends="MesaLib-devel libjpeg-turbo-devel qt-devel qt-designer-devel
glib-devel fontconfig-devel gst-plugins-base1-devel sqlite-devel libXrender-devel"
short_desc="Open source web browser engine (Qt4 port)"
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
license="LGPL-2.1, GPL-3"
homepage="http://trac.webkit.org/wiki/QtWebKit"
distfiles="
http://download.kde.org/stable/qtwebkit-${version%.*}/${version}/src/qtwebkit-${version}.tar.gz
http://download.qt.io/official_releases/qt/${_qtver%.*}/${_qtver}/qt-everywhere-opensource-src-${_qtver}.tar.gz"
checksum="
c6cfa9d068f7eb024fee3f6c24f5b8b726997f669007587f35ed4a97d40097ca
e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0"
conflicts="qt<4.8.7_12"
if [ -n "$CROSS_BUILD" ]; then
hostmakedepends+=" qt-devel qt-designer-devel"
fi
# Use the same value for -std= as in qt
CXXFLAGS="-std=gnu++98 -Wno-deprecated -fno-delete-null-pointer-checks -fno-lifetime-dse"
post_extract() {
patch -p1 < ${FILESDIR}/fix-gcc6.patch
patch -p1 < ${FILESDIR}/fix-execinfo.patch
patch -p1 < ${FILESDIR}/fix-mallinfo.patch
patch -p0 < ${FILESDIR}/qwebview.patch
mv qt-everywhere-opensource-src-${_qtver} ..
}
do_configure() {
:
}
do_build() {
local opts="--qt --prefix=/usr --no-webkit2 --release"
case "$XBPS_TARGET_MACHINE" in
i686*) # Do not force SSE2 for i686
opts+=" --no-force-sse2"
;;
aarch64*)
# Disable JIT
opts+=" DEFINES+=ENABLE_JIT=0"
opts+=" DEFINES+=ENABLE_YARR_JIT=0"
;;
arm*|mips*|ppc*)
# Disable JIT and assembler
opts+=" DEFINES+=ENABLE_JIT=0"
opts+=" DEFINES+=ENABLE_YARR_JIT=0"
opts+=" DEFINES+=ENABLE_ASSEMBLER=0"
;;
esac
if [ -n "$CROSS_BUILD" ]; then
opts+=" --qmakearg=\"CONFIG+=production_build\""
opts+=" --qmakearg=\"QMAKE_CC=$CC\""
opts+=" --qmakearg=\"QMAKE_CXX=$CXX\""
opts+=" --qmakearg=\"QMAKE_LINK=$CXX\""
opts+=" --qmakearg=\"QMAKE_LINK_SHARED=$CXX\""
opts+=" --qmakearg=\"QMAKE_AR=$AR cru\""
opts+=" --qmakearg=\"QMAKE_OBJDUMP=$OBJDUMP\""
opts+=" --qmakearg=\"QMAKE_CFLAGS='$CFLAGS'\""
opts+=" --qmakearg=\"QMAKE_CFLAGS_RELEASE='$CFLAGS'\""
opts+=" --qmakearg=\"QMAKE_CXXFLAGS='$CXXFLAGS'\""
opts+=" --qmakearg=\"QMAKE_CXXFLAGS_RELEASE='$CXXFLAGS'\""
opts+=" --qmakearg=\"QMAKE_LFLAGS='$LDFLAGS'\""
opts+=" --qmakearg=\"QMAKE_LFLAGS_RELEASE='$LDFLAGS'\""
opts+=" --qmakearg=\"QMAKE_INCDIR=${XBPS_CROSS_BASE}/usr/include\""
opts+=" --qmakearg=\"QMAKE_INCDIR_QT=${XBPS_CROSS_BASE}/usr/include\""
fi
export QTDIR=/usr
export PATH="/usr/lib/qt/bin:$PATH"
find -name "Makefile*" -exec sed -i "{}" \
-e"s;^\(CC[ ]*=\).*;\1 $CC;" \
-e"s;^\(CXX[ ]*=\).*;\1 $CXX;" \
-e"s;^\(LINK[ ]*=\).*;\1 $CXX;" \
-e"s;^\(CFLAGS[ ]*=\)\(.*\);\1 \2 $CFLAGS;" \
-e"s;^\(CXXFLAGS[ ]*=\)\(.*\);\1 \2 $CXXFLAGS;" \
-e"s;^\(LFLAGS[ ]*=\)\(.*\);\1 \2 $LDFLAGS;" \
\;
Tools/Scripts/build-webkit --makeargs="${makejobs}" ${opts}
cd ../qt-everywhere-opensource-src-${_qtver}/tools/designer/src/plugins/qwebview
qmake QMAKE_CFLAGS="$CFLAGS" QMAKE_CXXFLAGS="$CXXFLAGS" QMAKE_LFLAGS="$LDFLAGS"
make ${makejobs} CC="$CC" CXX="$CXX" LINK="$CXX"
}
do_install() {
make INSTALL_ROOT="${DESTDIR}" -C WebKitBuild/Release install
cd ../qt-everywhere-opensource-src-${_qtver}/tools/designer/src/plugins/qwebview
make INSTALL_ROOT="${DESTDIR}" install
# Remove references to the build directory from .prl and .pc files
sed -i 's| -L.*/*/release||g' ${DESTDIR}/usr/lib/pkgconfig/QtWebKit.pc
sed -i '/^QMAKE_PRL_BUILD_DIR/d' ${DESTDIR}/usr/lib/libQtWebKit.prl
}
qt-webkit-devel_package() {
short_desc+=" - development files"
depends="qt-devel ${sourcepkg}>=${version}_${revision}"
pkg_install() {
vmove usr/include
vmove usr/lib/*.so
vmove usr/lib/*.prl
vmove usr/lib/pkgconfig
vmove usr/share/qt/mkspecs
}
}