mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
kde-apps/dolphin: Fix build with -flto
Thanks-to: Alexander Miller <alex.miller@gmx.de> Closes: https://bugs.gentoo.org/655710 Package-Manager: Portage-2.3.38, Repoman-2.3.9
This commit is contained in:
@@ -62,6 +62,8 @@ RDEPEND="${DEPEND}
|
||||
|
||||
RESTRICT+=" test"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-flto.patch" )
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
$(cmake-utils_use_find_package semantic-desktop KF5Baloo)
|
||||
|
||||
96
kde-apps/dolphin/files/dolphin-18.04.1-flto.patch
Normal file
96
kde-apps/dolphin/files/dolphin-18.04.1-flto.patch
Normal file
@@ -0,0 +1,96 @@
|
||||
From b607091c3982f6b84732fcf0c23c1c3f0054f203 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Miller <alex.miller@gmx.de>
|
||||
Date: Fri, 18 May 2018 22:43:25 +0200
|
||||
Subject: [PATCH 1/2] Remove main.cpp from dolphinstatic_SRCS
|
||||
|
||||
Summary:
|
||||
The file main.cpp is already in dolphin_SRCS and doesn't
|
||||
belong in dolphinstatic_SRCS.
|
||||
|
||||
Normally the duplicate object is simply ignored, but with
|
||||
link time optimization (LTO), linking dolphin can fail.
|
||||
Apparently, the compiler tries to inline inline kdemain()
|
||||
in this case. That is undesirable anyway and it ultimately
|
||||
fails because the DBusInterface definition is not available:
|
||||
|
||||
.../ccHEv6cl.ltrans0.ltrans.o: In function `DBusInterface::~DBusInterface()':
|
||||
<artificial>:(.text+0x2583): undefined reference to `vtable for DBusInterface'
|
||||
.../ccHEv6cl.ltrans0.ltrans.o: In function `DBusInterface::~DBusInterface()':
|
||||
<artificial>:(.text+0x5aa3): undefined reference to `vtable for DBusInterface'
|
||||
.../ccHEv6cl.ltrans0.ltrans.o: In function `kdemain':
|
||||
<artificial>:(.text+0x7686): undefined reference to `DBusInterface::DBusInterface()'
|
||||
<artificial>:(.text+0x7b64): undefined reference to `vtable for DBusInterface'
|
||||
collect2: error: ld returned 1 exit status
|
||||
|
||||
See also <https://bugs.gentoo.org/655710>.
|
||||
|
||||
Reviewers: #dolphin, elvisangelaccio
|
||||
|
||||
Reviewed By: elvisangelaccio
|
||||
|
||||
Subscribers: elvisangelaccio, asturmlechner, kfm-devel
|
||||
|
||||
Tags: #dolphin
|
||||
|
||||
Differential Revision: https://phabricator.kde.org/D12929
|
||||
---
|
||||
src/CMakeLists.txt | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 263b3ff0c..e8fe719a4 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -207,7 +207,6 @@ set(dolphinstatic_SRCS
|
||||
dolphintabwidget.cpp
|
||||
trash/dolphintrash.cpp
|
||||
filterbar/filterbar.cpp
|
||||
- main.cpp
|
||||
panels/information/filemetadataconfigurationdialog.cpp
|
||||
panels/information/informationpanel.cpp
|
||||
panels/information/informationpanelcontent.cpp
|
||||
--
|
||||
2.17.0
|
||||
|
||||
|
||||
From 8e6f4eecd318041d2e4e6386d1660742dd4ddd89 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Miller <alex.miller@gmx.de>
|
||||
Date: Fri, 18 May 2018 22:44:52 +0200
|
||||
Subject: [PATCH 2/2] Make target_link_libraries for kdeinit_dolphin PRIVATE
|
||||
|
||||
Summary:
|
||||
There is no need to add all of kdeinit_dolphin's
|
||||
dependencies (including the static archive) when
|
||||
linking dolphin; kdemain is the only needed symbol.
|
||||
Mark the link libraries PRIVATE to simplify the
|
||||
link command for dolphin.
|
||||
|
||||
Reviewers: #dolphin, elvisangelaccio
|
||||
|
||||
Reviewed By: elvisangelaccio
|
||||
|
||||
Subscribers: asturmlechner, kfm-devel
|
||||
|
||||
Tags: #dolphin
|
||||
|
||||
Differential Revision: https://phabricator.kde.org/D12931
|
||||
---
|
||||
src/CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index e8fe719a4..beaa0ec50 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -299,7 +299,7 @@ ecm_add_app_icon(dolphin_SRCS ICONS ${ICONS_SRCS})
|
||||
kf5_add_kdeinit_executable(dolphin ${dolphin_SRCS})
|
||||
|
||||
|
||||
-target_link_libraries(kdeinit_dolphin
|
||||
+target_link_libraries(kdeinit_dolphin PRIVATE
|
||||
dolphinstatic
|
||||
dolphinprivate
|
||||
)
|
||||
--
|
||||
2.17.0
|
||||
|
||||
Reference in New Issue
Block a user