Skip to content

Commit

Permalink
dev-qt/qtwebengine: 5.15.2_p20210126 snapshot bump w/o KEYWORDS
Browse files Browse the repository at this point in the history
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <[email protected]>
  • Loading branch information
a17r committed Feb 5, 2021
1 parent 3b67503 commit ee12689
Show file tree
Hide file tree
Showing 2 changed files with 184 additions and 0 deletions.
1 change: 1 addition & 0 deletions dev-qt/qtwebengine/Manifest
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
DIST qtwebengine-5.15.2-ppc64.tar.xz 43868 BLAKE2B 97a2db64c688cc3ce178a6f00c29d3408221302c992bf0df31edd5c11f7cd978b92d9222201644991fca4fc0824b19d994a71c472732dbbdda3729bdd04a67f3 SHA512 835e7da4670cd823a1674052d64971bfd98d54edb6c5df8e9d09aa8103d496a4c16f0eb9d47c46db466e1c640e3326d4e43b284161129d648bfe693a902ec9cc
DIST qtwebengine-5.15.2_p20210126.tar.xz 316160016 BLAKE2B 8de7b37585a040673d200de3149bfb878cd3d6d71e5b5343960022b1ca111364b2d351b1ca4cf760d9de46d4b247f2a7638c5d217210ad3f1d416b703d70d4a9 SHA512 448ca09609150756c64b05dd48178445fda7eb935e8cfa4bb30a1cc520de50939e5e85c2b6a60cff40147849a7b19b48a15d1eb923aeca969779482060c44a77
DIST qtwebengine-everywhere-src-5.15.2.tar.xz 280142544 BLAKE2B cf84a07292e69b5746d6575d65295b5bf4e054d448361f26e63cbe20ddd0773f60893e656d74b3b8c191e2829e09398a65896c8d96d3a7ef210ac1f21cd90e63 SHA512 de64c30819f5e2f8620c853ff22b2f9717641477aef4432a552a72d1d67ed62ed61572afee6de3f2c9f32dee28f4f786ffd63fc465aa42c0ae1e87ea28341756
183 changes: 183 additions & 0 deletions dev-qt/qtwebengine/qtwebengine-5.15.2_p20210126.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

PYTHON_COMPAT=( python2_7 )
QTVER=$(ver_cut 1-3)
inherit multiprocessing python-any-r1 qt5-build

DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"

if [[ ${QT5_BUILD_TYPE} == release ]]; then
# KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
if [[ ${PV} == ${QTVER}_p* ]]; then
SRC_URI="https://dev.gentoo.org/~asturm/distfiles/${P}.tar.xz"
S="${WORKDIR}/${P}"
fi
fi

# patchset based on https://github.com/chromium-ppc64le releases
SRC_URI+=" ppc64? ( https://dev.gentoo.org/~gyakovlev/distfiles/${PN}-5.15.2-ppc64.tar.xz )"

IUSE="alsa bindist designer geolocation kerberos pulseaudio +system-ffmpeg +system-icu widgets"
REQUIRED_USE="designer? ( widgets )"

RDEPEND="
app-arch/snappy:=
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
dev-libs/expat
dev-libs/libevent:=
dev-libs/libxml2[icu]
dev-libs/libxslt
dev-libs/re2:=
~dev-qt/qtcore-${QTVER}
~dev-qt/qtdeclarative-${QTVER}
~dev-qt/qtgui-${QTVER}
~dev-qt/qtnetwork-${QTVER}
~dev-qt/qtprintsupport-${QTVER}
~dev-qt/qtwebchannel-${QTVER}[qml]
media-libs/fontconfig
media-libs/freetype
media-libs/harfbuzz:=
media-libs/lcms:2
media-libs/libjpeg-turbo:=
media-libs/libpng:0=
>=media-libs/libvpx-1.5:=[svc(+)]
media-libs/libwebp:=
media-libs/mesa[egl,X(+)]
media-libs/opus
sys-apps/dbus
sys-apps/pciutils
sys-libs/zlib[minizip]
virtual/libudev
x11-libs/libdrm
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXi
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libXScrnSaver
x11-libs/libXtst
alsa? ( media-libs/alsa-lib )
designer? ( ~dev-qt/designer-${QTVER} )
geolocation? ( ~dev-qt/qtpositioning-${QTVER} )
kerberos? ( virtual/krb5 )
pulseaudio? ( media-sound/pulseaudio:= )
system-ffmpeg? ( media-video/ffmpeg:0= )
system-icu? ( >=dev-libs/icu-60.2:= )
widgets? (
~dev-qt/qtdeclarative-${QTVER}[widgets]
~dev-qt/qtwidgets-${QTVER}
)
"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
>=app-arch/gzip-1.7
dev-util/gperf
dev-util/ninja
dev-util/re2c
net-libs/nodejs
sys-devel/bison
"

PATCHES=( "${FILESDIR}/${PN}-5.15.0-disable-fatal-warnings.patch" ) # bug 695446

src_prepare() {
if [[ ${PV} == ${QTVER}_p* ]]; then
# This is made from git, and for some reason will fail w/o .git directories.
mkdir -p .git src/3rdparty/chromium/.git || die

# We need to make sure this integrates well into Qt 5.15.2 installation.
# Otherwise revdeps fail w/o heavy changes. This is the simplest way to do it.
sed -e "/^MODULE_VERSION/s/5.*/${QTMIN}/" -i .qmake.conf || die
fi

# QTBUG-88657 - jumbo-build is broken
#if ! use jumbo-build; then
sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \
src/buildtools/config/common.pri || die
#fi

# bug 630834 - pass appropriate options to ninja when building GN
sed -e "s/\['ninja'/&, '-j$(makeopts_jobs)', '-l$(makeopts_loadavg "${MAKEOPTS}" 0)', '-v'/" \
-i src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py || die

# bug 620444 - ensure local headers are used
find "${S}" -type f -name "*.pr[fio]" | \
xargs sed -i -e 's|INCLUDEPATH += |&$${QTWEBENGINE_ROOT}_build/include $${QTWEBENGINE_ROOT}/include |' || die

if use system-icu; then
# Sanity check to ensure that bundled copy of ICU is not used.
# Whole src/3rdparty/chromium/third_party/icu directory cannot be deleted because
# src/3rdparty/chromium/third_party/icu/BUILD.gn is used by build system.
# If usage of headers of bundled copy of ICU occurs, then lists of shim headers in
# shim_headers("icui18n_shim") and shim_headers("icuuc_shim") in
# src/3rdparty/chromium/third_party/icu/BUILD.gn should be updated.
local file
while read file; do
echo "#error This file should not be used!" > "${file}" || die
done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
fi

qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri

qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro

qt_use_disable_mod widgets widgets src/src.pro

qt5-build_src_prepare

# we need to generate ppc64 stuff because upstream does not ship it yet
if use ppc64; then
einfo "Patching for ppc64le and generating build files"
eapply "${WORKDIR}/${PN}-ppc64"
pushd src/3rdparty/chromium/third_party/libvpx > /dev/null || die
mkdir -vp source/config/linux/ppc64 || die
mkdir -p source/libvpx/test || die
touch source/libvpx/test/test.mk || die
# generate_gni.sh runs git at the end of process, prevent it.
git() { : ; }
export -f git
./generate_gni.sh || die
unset git
popd >/dev/null || die
fi
}

src_configure() {
export NINJA_PATH=/usr/bin/ninja
export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}"

local myqmakeargs=(
--
-no-build-qtpdf
-printing-and-pdf
-system-opus
-system-webp
$(usex alsa '-alsa' '-no-alsa')
$(usex bindist '-no-proprietary-codecs' '-proprietary-codecs')
$(usex geolocation '-webengine-geolocation' '-no-webengine-geolocation')
$(usex kerberos '-webengine-kerberos' '-no-webengine-kerberos')
$(usex pulseaudio '-pulseaudio' '-no-pulseaudio')
$(usex system-ffmpeg '-system-ffmpeg' '-qt-ffmpeg')
$(usex system-icu '-webengine-icu' '-no-webengine-icu')
)
qt5-build_src_configure
}

src_install() {
qt5-build_src_install

# bug 601472
if [[ ! -f ${D}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then
die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/"
fi
}

0 comments on commit ee12689

Please sign in to comment.