dev-qt/qtcore: Fix build with x86

Thanks-to: Sylvia <fierevere@ya.ru>
Closes: https://bugs.gentoo.org/669010
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
This commit is contained in:
Andreas Sturmlechner
2018-10-19 22:07:24 +02:00
parent 1d579b1e89
commit 6151f696be
2 changed files with 110 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
From 4fc4f7b0ce0e6ee186a7d7fe9b5dd20e94efe432 Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@intel.com>
Date: Fri, 21 Sep 2018 09:04:24 -0700
Subject: [PATCH] Export qt_open64 from QtCore
Other libs use qcore_unix_p.h.
qopenglprogrambinarycache.cpp:function QOpenGLProgramBinaryCache::load(QByteArray const&, unsigned int): error: undefined reference to 'qt_open64(char const*, int, unsigned int)'
Change-Id: I44e7d800c68141bdaae0fffd155675d15eded2e4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Eric Lemanissier <eric.lemanissier@gmail.com>
---
src/corelib/kernel/qcore_unix_p.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/corelib/kernel/qcore_unix_p.h b/src/corelib/kernel/qcore_unix_p.h
index cb98bef3476..5a2a29a3273 100644
--- a/src/corelib/kernel/qcore_unix_p.h
+++ b/src/corelib/kernel/qcore_unix_p.h
@@ -178,7 +178,7 @@ inline void qt_ignore_sigpipe()
#if defined(Q_PROCESSOR_X86_32) && defined(__GLIBC__)
# if !__GLIBC_PREREQ(2, 22)
-int qt_open64(const char *pathname, int flags, mode_t);
+Q_CORE_EXPORT int qt_open64(const char *pathname, int flags, mode_t);
# undef QT_OPEN
# define QT_OPEN qt_open64
# endif
--
2.16.3

View File

@@ -0,0 +1,79 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
QT5_MODULE="qtbase"
inherit qt5-build
DESCRIPTION="Cross-platform application development framework"
if [[ ${QT5_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd"
fi
IUSE="icu systemd"
DEPEND="
dev-libs/double-conversion:=
dev-libs/glib:2
dev-libs/libpcre2[pcre16,unicode]
sys-libs/zlib
icu? ( dev-libs/icu:= )
!icu? ( virtual/libiconv )
systemd? ( sys-apps/systemd:= )
"
RDEPEND="${DEPEND}
!<dev-qt/qtcore-4.8.7-r4:4
"
QT5_TARGET_SUBDIRS=(
src/tools/bootstrap
src/tools/moc
src/tools/rcc
src/tools/qfloat16-tables
src/corelib
src/tools/qlalr
doc
)
QT5_GENTOO_PRIVATE_CONFIG=(
!:network
!:sql
!:testlib
!:xml
)
PATCHES=(
"${FILESDIR}/${P}-export-qt_open64.patch" # bug 669010
)
src_configure() {
local myconf=(
$(qt_use icu)
$(qt_use !icu iconv)
$(qt_use systemd journald)
)
qt5-build_src_configure
}
src_install() {
qt5-build_src_install
local flags=(
ALSA CUPS DBUS EGL EGLFS EGL_X11 EVDEV FONTCONFIG FREETYPE
HARFBUZZ IMAGEFORMAT_JPEG IMAGEFORMAT_PNG LIBPROXY MITSHM
OPENGL OPENSSL OPENVG PULSEAUDIO SHAPE SSL TSLIB WIDGETS
XCURSOR XFIXES XKB XRANDR XSYNC ZLIB
)
for flag in ${flags[@]}; do
cat >> "${D%/}"/${QT5_HEADERDIR}/QtCore/qconfig.h <<- _EOF_ || die
#if defined(QT_NO_${flag}) && defined(QT_${flag})
# undef QT_NO_${flag}
#elif !defined(QT_NO_${flag}) && !defined(QT_${flag})
# define QT_NO_${flag}
#endif
_EOF_
done
}