commit:     6151f696be8a9c1f35f708a30fc884d30fe5605b
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 19 20:07:24 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 19 20:23:29 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6151f696

dev-qt/qtcore: Fix build with x86

Thanks-to: Sylvia <fierevere <AT> ya.ru>
Closes: https://bugs.gentoo.org/669010
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 .../files/qtcore-5.11.2-export-qt_open64.patch     | 31 +++++++++
 dev-qt/qtcore/qtcore-5.11.2-r1.ebuild              | 79 ++++++++++++++++++++++
 2 files changed, 110 insertions(+)

diff --git a/dev-qt/qtcore/files/qtcore-5.11.2-export-qt_open64.patch 
b/dev-qt/qtcore/files/qtcore-5.11.2-export-qt_open64.patch
new file mode 100644
index 00000000000..a0a6bff9f66
--- /dev/null
+++ b/dev-qt/qtcore/files/qtcore-5.11.2-export-qt_open64.patch
@@ -0,0 +1,31 @@
+From 4fc4f7b0ce0e6ee186a7d7fe9b5dd20e94efe432 Mon Sep 17 00:00:00 2001
+From: Thiago Macieira <[email protected]>
+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 <[email protected]>
+Reviewed-by: Eric Lemanissier <[email protected]>
+---
+ 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

diff --git a/dev-qt/qtcore/qtcore-5.11.2-r1.ebuild 
b/dev-qt/qtcore/qtcore-5.11.2-r1.ebuild
new file mode 100644
index 00000000000..e40ed0f6f4a
--- /dev/null
+++ b/dev-qt/qtcore/qtcore-5.11.2-r1.ebuild
@@ -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
+}

Reply via email to