dev-qt/qtdeclarative-5.5.0 in the Qt overlay wants to patch out JIT support if USE="-jit" is specified: src_prepare() { use jit || epatch "${FILESDIR}"/${PN}-5.4.2-disable-jit.patch It looks like it's used in all versions of the ebuild in the Qt overlay: qtdeclarative # grep disable-jit *.ebuild qtdeclarative-5.5.0.ebuild: use jit || epatch "${FILESDIR}"/${PN}-5.4.2-disable-jit.patch qtdeclarative-5.5.9999.ebuild: use jit || epatch "${FILESDIR}"/${PN}-5.4.2-disable-jit.patch qtdeclarative-5.6.9999.ebuild: use jit || epatch "${FILESDIR}"/${PN}-5.4.2-disable-jit.patch qtdeclarative-5.9999.ebuild: use jit || epatch "${FILESDIR}"/${PN}-5.4.2-disable-jit.patch But that file doesn't exist in the overlay (it does in the main Portage tree, but that doesn't help). Hence, the build fails in the prepare stage: * Package: dev-qt/qtdeclarative-5.5.0 * Repository: qt * Maintainer: qt@gentoo.org * Upstream: https://bugreports.qt.io/ * USE: abi_x86_64 amd64 elibc_glibc gles2 kernel_linux userland_GNU widgets * FEATURES: compressdebug preserve-libs sandbox splitdebug userpriv usersandbox >>> Unpacking source... >>> Unpacking qtdeclarative-opensource-src-5.5.0.tar.xz to /var/tmp/portage/dev-qt/qtdeclarative-5.5.0/work >>> Source unpacked in /var/tmp/portage/dev-qt/qtdeclarative-5.5.0/work >>> Preparing source in /var/tmp/portage/dev-qt/qtdeclarative-5.5.0/work/qtdeclarative-opensource-src-5.5.0 ... * Cannot find $EPATCH_SOURCE! Value for $EPATCH_SOURCE is: * * /var/lib/layman/qt/dev-qt/qtdeclarative/files/qtdeclarative-5.4.2-disable-jit.patch * ( qtdeclarative-5.4.2-disable-jit.patch ) * ERROR: dev-qt/qtdeclarative-5.5.0::qt failed (prepare phase): * Cannot find $EPATCH_SOURCE! * * Call stack: * ebuild.sh, line 90: Called src_prepare * environment, line 2709: Called epatch '/var/lib/layman/qt/dev-qt/qtdeclarative/files/qtdeclarative-5.4.2-disable-jit.patch' * environment, line 770: Called die * The specific snippet of code: * die "Cannot find \$EPATCH_SOURCE!"; * * If you need support, post the output of `emerge --info '=dev-qt/qtdeclarative-5.5.0::qt'`, * the complete build log and the output of `emerge -pqv '=dev-qt/qtdeclarative-5.5.0::qt'`. * The complete build log is located at '/var/tmp/portage/dev-qt/qtdeclarative-5.5.0/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-qt/qtdeclarative-5.5.0/temp/environment'. * Working directory: '/var/tmp/portage/dev-qt/qtdeclarative-5.5.0/work/qtdeclarative-opensource-src-5.5.0' * S: '/var/tmp/portage/dev-qt/qtdeclarative-5.5.0/work/qtdeclarative-opensource-src-5.5.0' Reproducible: Always
Copying qtdeclarative-5.4.2-disable-jit.patch from the main Portage tree into the Qt overlay makes it build, but I'm not sure how to test if it works. By the way, I'm hitting this because USE="-jit" is default for Hardened.
Thanks, fixed in git. https://gitweb.gentoo.org/proj/qt.git/commit/?id=07529d2a4ce81d8a3b6273a5ed6e39e15cd88fe9