diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2018-05-24 17:29:51 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2018-05-24 17:31:21 +0200 |
commit | 041cd55b5dc192e9e6b1133a08e4279ea3674476 (patch) | |
tree | f3ada0f3dd9ef4328f22f8fa98dd6958c2fc8ae7 /kde-apps | |
parent | sys-cluster/openmpi: bump 3.1.0 (diff) | |
download | gentoo-041cd55b5dc192e9e6b1133a08e4279ea3674476.tar.gz gentoo-041cd55b5dc192e9e6b1133a08e4279ea3674476.tar.bz2 gentoo-041cd55b5dc192e9e6b1133a08e4279ea3674476.zip |
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
Diffstat (limited to 'kde-apps')
-rw-r--r-- | kde-apps/dolphin/dolphin-18.04.1.ebuild | 2 | ||||
-rw-r--r-- | kde-apps/dolphin/files/dolphin-18.04.1-flto.patch | 96 |
2 files changed, 98 insertions, 0 deletions
diff --git a/kde-apps/dolphin/dolphin-18.04.1.ebuild b/kde-apps/dolphin/dolphin-18.04.1.ebuild index 256cdd947622..6814ee4e99cb 100644 --- a/kde-apps/dolphin/dolphin-18.04.1.ebuild +++ b/kde-apps/dolphin/dolphin-18.04.1.ebuild @@ -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) diff --git a/kde-apps/dolphin/files/dolphin-18.04.1-flto.patch b/kde-apps/dolphin/files/dolphin-18.04.1-flto.patch new file mode 100644 index 000000000000..8edef6b36013 --- /dev/null +++ b/kde-apps/dolphin/files/dolphin-18.04.1-flto.patch @@ -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 + |