Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 750527 | Differences between
and this patch

Collapse All | Expand All

(-)a/dev-qt/qt-creator/Manifest (+7 lines)
Lines 1-6 Link Here
1
AUX qt-creator-4.12.0-dylib-fix.patch 4022 BLAKE2B ea5d2b4a5daabc76515c1777a5df1738800d5cf79e9b52b60bb0d3d1c923b6d0daeb1f1a7e77f1e707aa7948f2a673f637e1e66bd3aa30f47c19ef89351114c5 SHA512 a81ed8b5616f816bc4ade87c159997f33a55c07417b93cbcbfc29f32fb36060370bf05f85cc94ac64297a7b33cf2852b3be2a8c7b99b58914085acd9dc533808
1
AUX qt-creator-4.12.0-dylib-fix.patch 4022 BLAKE2B ea5d2b4a5daabc76515c1777a5df1738800d5cf79e9b52b60bb0d3d1c923b6d0daeb1f1a7e77f1e707aa7948f2a673f637e1e66bd3aa30f47c19ef89351114c5 SHA512 a81ed8b5616f816bc4ade87c159997f33a55c07417b93cbcbfc29f32fb36060370bf05f85cc94ac64297a7b33cf2852b3be2a8c7b99b58914085acd9dc533808
2
AUX qt-creator-4.12.0-libclangformat-ide.patch 2463 BLAKE2B a99fc6e1354fde03ddbf60e5115fbec46fc5074353b5512973bb3802bb65d3401a4ac51e41a5d113ffea14faf85b48f334d97f21e210d173b534c6e2fdfec328 SHA512 f08a95d5e0e9201792f5c16e3b2a61e9a54f08a885e214ea237d3e49bad8d2d94a59cbdc35703641a1ed1ee4037f64bf7d6d6bbd4dab11fa153a3ac4ef67e050
2
AUX qt-creator-4.12.0-libclangformat-ide.patch 2463 BLAKE2B a99fc6e1354fde03ddbf60e5115fbec46fc5074353b5512973bb3802bb65d3401a4ac51e41a5d113ffea14faf85b48f334d97f21e210d173b534c6e2fdfec328 SHA512 f08a95d5e0e9201792f5c16e3b2a61e9a54f08a885e214ea237d3e49bad8d2d94a59cbdc35703641a1ed1ee4037f64bf7d6d6bbd4dab11fa153a3ac4ef67e050
3
AUX qt-creator-4.13.0-dylib-fix.patch 4014 BLAKE2B 806b350cdc5991296c61ddde5a1bf3e3ec6f065de802835f15ddb39e844100cc133655b377ed673a9cd7dc71b056bc53f6d94c961c67053807827c67cfca5dff SHA512 1bb03ce470d5ea05cecce277ab0338c21690812746bf0b6b5c209dfbe2055e0fe69821cbed38f406473c048c07de240fbe52820a6fa7757a5088ef319e2c678f
4
AUX qt-creator-4.13.0-libclangformat-ide.patch 3203 BLAKE2B 8126c70fc8d142d43135484aece129c887b1ba3da8ee6b131c743149d8a423963bccf97a90b84f451ae0849db57748fd6ccc1d07fb4f96b6ba6c7b93c5011630 SHA512 4d393690098f6c82c302dba23c149d8082d27550562681a16f6162d43bef807b86c7115c62a14d96581c58edec46afcea91dbcac4aa0b1aa0156ea169f8fa2bc
5
AUX qt-creator-4.14.0-libclangformat-ide.patch 3155 BLAKE2B cbc0367e3ac6a6ad5e91b2fbaff7d1f7775e2bb0ee99dbc97918d0f744af9fed6d83dc24cfdb59bd78cbf7a1716463e008a342b8df1389d1ab3f2929d8f73bb8 SHA512 e55956f112832f4e119b9cbc6efa72d8ccef2030e1b4f42cd8057fbffc7646ef493540560b1c5a0b70268d38c144ad845ad5412be466513f87094a77280e4569
3
DIST qt-creator-opensource-src-4.12.3.tar.xz 34351356 BLAKE2B 7f1302df09bae10ebe1882552abd25333788d7185280e9a0c73e7da6fb8b4d929da326e42c500385fba3e044350cd46c2cf2e33e49b0cca2d9c3b4d68693115d SHA512 48cd5839cff724300516f78deba3b1a7199d46d6f9a6a4c662bf2f581db167e4376a9bdd544544071591c4ee43c319c92ffcaf5ebb85412297f4144c3c7db7bf
6
DIST qt-creator-opensource-src-4.12.3.tar.xz 34351356 BLAKE2B 7f1302df09bae10ebe1882552abd25333788d7185280e9a0c73e7da6fb8b4d929da326e42c500385fba3e044350cd46c2cf2e33e49b0cca2d9c3b4d68693115d SHA512 48cd5839cff724300516f78deba3b1a7199d46d6f9a6a4c662bf2f581db167e4376a9bdd544544071591c4ee43c319c92ffcaf5ebb85412297f4144c3c7db7bf
7
DIST qt-creator-opensource-src-4.13.3.tar.xz 40132088 BLAKE2B 67b547c006836b303d641b925fb9966aa65bd20fe506bbffbc220332ac3b06fa835fa1bf90490d357670c7272e2766bcd3c471e0425575be5cdcce0419cb31fd SHA512 2923f8dccf1d9a6819d2351f323bb2b364e026a665182039982b4a49403b1d3d4d7321151af28f2fb5d50809ef9e90eae6cbec876869fdbbb375a0d9365c8b8c
8
DIST qt-creator-opensource-src-4.14.0.tar.xz 43452172 BLAKE2B 6f37191ba952a42aee40ec38bdcc9f8ce61178b207aa4bb5ae23866229b4511f2cf24af9d086628ecb65b8c10bb6056bf3c2f2b787ff60afafaf12ac4e5ee90d SHA512 7cf74d3f6a25a55cb6b0eca584b41727f8ee467f2901ab27d1f5de40d0d7635c560af87d38e2a17a168ea74755d28928c911aa7d07e1684160dfa7df1c4e27e9
4
EBUILD qt-creator-4.12.3.ebuild 7162 BLAKE2B db1e02471e668298bfdda0e69c7451afd1f1833e85f5c9fb50c1c67ed05ff1e6c59b41f2210d23dd28387d763a54a8c5c3959e91c9cabe8c547acd8d50b74b05 SHA512 8f533d94d39213eb8fdc958334e37af1193a3f7c6829fc8975397c71258c294b545f726115e8d7a50ebc0930e21cedc61794b50b757c951d7ce34c7eaff73713
9
EBUILD qt-creator-4.12.3.ebuild 7162 BLAKE2B db1e02471e668298bfdda0e69c7451afd1f1833e85f5c9fb50c1c67ed05ff1e6c59b41f2210d23dd28387d763a54a8c5c3959e91c9cabe8c547acd8d50b74b05 SHA512 8f533d94d39213eb8fdc958334e37af1193a3f7c6829fc8975397c71258c294b545f726115e8d7a50ebc0930e21cedc61794b50b757c951d7ce34c7eaff73713
10
EBUILD qt-creator-4.13.3.ebuild 7292 BLAKE2B 3d2ae0cc7889d83c549a203f6bf1af96be66fb898a9ff71e52e8fb3308c922315e947b47ba0bea93cea33531bfb59c3d19904bc72c927f60eb8d0aaf45ef84d0 SHA512 cde3efe8e6892683fbe02e715210fef00e814797d47d80fc184bbefc368cd5cf760b22640dbb439a9d8546762b3bc0c353bbb6e1c4a5d0ec00a090828f34779a
11
EBUILD qt-creator-4.14.0.ebuild 7248 BLAKE2B 13c96092ba7c76ce1f776fbc5b6e404774831f78e1628812b5c573a1b69dbf1c8c7703b65716070136cd3bd04a8a35728fb39a36e8bbee8400efaa0a2d10624d SHA512 9fc42b90b2e5d6383f30922e186373c06cc1b47ffaf332bf01123aa1d868ee3dc82ba268e8bb4709f4636f83b6f6166c82e77b844b658c835f78f89ae30bf16a
5
EBUILD qt-creator-9999.ebuild 7431 BLAKE2B e001aa963ea858b78cc7bac329431ab91eac07a8f1df7f912c3633c200194674fd89bb59322d3b633a19cb2df82b54819e8b3fd04f1500041405664846311d3c SHA512 90538041ce2e16ca7b0dd8743d653b0ea6a237f36d2860b4c23e37e0e5a3130dfd7cae3405ac532901495fe4eacf87090dbf0d49152be772685eae6c8d6da923
12
EBUILD qt-creator-9999.ebuild 7431 BLAKE2B e001aa963ea858b78cc7bac329431ab91eac07a8f1df7f912c3633c200194674fd89bb59322d3b633a19cb2df82b54819e8b3fd04f1500041405664846311d3c SHA512 90538041ce2e16ca7b0dd8743d653b0ea6a237f36d2860b4c23e37e0e5a3130dfd7cae3405ac532901495fe4eacf87090dbf0d49152be772685eae6c8d6da923
6
MISC metadata.xml 3518 BLAKE2B 4153006d68c5a4689e66f39cbaa9762ff1787f88676dc88878e38f5b8376bd28714b78f86449f037eb52cd81b0b91273516e852c34a5460fb0a7081adf0c1e67 SHA512 2cb8d121b8fc6685bcb9fb09c7f39487ba067ba8b5aad8b0f82b0b512290436bcf57b587505f856dd729a1e0bee9f4fc94b5fd28735f255b1cae5ae1e79f44ba
13
MISC metadata.xml 3518 BLAKE2B 4153006d68c5a4689e66f39cbaa9762ff1787f88676dc88878e38f5b8376bd28714b78f86449f037eb52cd81b0b91273516e852c34a5460fb0a7081adf0c1e67 SHA512 2cb8d121b8fc6685bcb9fb09c7f39487ba067ba8b5aad8b0f82b0b512290436bcf57b587505f856dd729a1e0bee9f4fc94b5fd28735f255b1cae5ae1e79f44ba
(-)a/dev-qt/qt-creator/files/qt-creator-4.13.0-dylib-fix.patch (+84 lines)
Line 0 Link Here
1
From 1c5faa6dcf16135ee31252d13766d01536a69405 Mon Sep 17 00:00:00 2001
2
From: Peter Levine <plevine457@gmail.com>
3
Date: Tue, 5 May 2020 03:45:35 -0400
4
Subject: [PATCH] Fix building against clang configured with
5
 CLANG_LINK_CLANG_DYLIB
6
7
LLVM/Clang upstream only officially supports building shared
8
components as a single dynamic library (via
9
LLVM_BUILD_LLVM_DYLIB=ON, CLANG_LINK_CLANG_DYLIB=ON, etc..).
10
Linux distros like Fedora and Gentoo have followed suit.
11
12
Unfortunately, QT-Creator's src/shared/clang/clang_installation.pri
13
file assumes clang is built with separate component libraries
14
and the build fails.
15
16
This change alters the build to check for the existence
17
of clang component libraries and, if found, link to them, or
18
otherwise to libclang-cpp.
19
20
Task-number: QTCREATORBUG-23172
21
Change-Id: I17df5822d7aeb471227f21f2cf4a71871d6f9b86
22
---
23
 src/shared/clang/clang_installation.pri | 35 +++++++++++++++----------
24
 1 file changed, 21 insertions(+), 14 deletions(-)
25
26
diff --git a/src/shared/clang/clang_installation.pri b/src/shared/clang/clang_installation.pri
27
index 2ef2cb42..24afbed8 100644
28
--- a/src/shared/clang/clang_installation.pri
29
+++ b/src/shared/clang/clang_installation.pri
30
@@ -206,19 +206,6 @@ isEmpty(LLVM_VERSION) {
31
         }
32
     }
33
 
34
-    isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)|!equals(QTC_CLANG_BUILDMODE_MISMATCH, 1) {
35
-        CLANGFORMAT_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang/Format/Format.h
36
-        exists($$CLANGFORMAT_MAIN_HEADER) {
37
-            CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
38
-            ALL_CLANG_LIBS=-lclangFormat -lclangToolingInclusions -lclangTooling -lclangToolingCore \
39
-                           -lclangRewrite -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
40
-                           -lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
41
-                           -lclangASTMatchers -lclangAST -lclangLex -lclangBasic
42
-            win32:CLANGFORMAT_LIBS += -lversion
43
-        }
44
-    }
45
-    win32:ALL_CLANG_LIBS += -lversion
46
-
47
     LIBCLANG_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang-c/Index.h
48
     !exists($$LIBCLANG_MAIN_HEADER) {
49
         $$llvmWarningOrError(\
50
@@ -239,10 +226,30 @@ isEmpty(LLVM_VERSION) {
51
     LIBCLANG_LIBS += $${CLANG_LIB}
52
 
53
     isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)|!equals(QTC_CLANG_BUILDMODE_MISMATCH, 1) {
54
+        CLANGFORMAT_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang/Format/Format.h
55
+        exists($$CLANGFORMAT_MAIN_HEADER) {
56
+            exists($${LLVM_LIBDIR}/libclangFormat.so*)|exists($${LLVM_LIBDIR}/libclangFormat.dylib) {
57
+                CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
58
+                ALL_CLANG_LIBS=-lclangFormat -lclangToolingInclusions -lclangTooling -lclangToolingCore \
59
+                           -lclangRewrite -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
60
+                           -lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
61
+                           -lclangASTMatchers -lclangAST -lclangLex -lclangBasic
62
+                win32:CLANGFORMAT_LIBS += -lversion
63
+                win32:ALL_CLANG_LIBS += -lversion
64
+            } else {
65
+                CLANGFORMAT_LIBS=-lclang-cpp
66
+                ALL_CLANG_LIBS=-lclang-cpp
67
+            }
68
+        }
69
+
70
         QTC_ENABLE_CLANG_REFACTORING=$$(QTC_ENABLE_CLANG_REFACTORING)
71
         !isEmpty(QTC_ENABLE_CLANG_REFACTORING) {
72
             !contains(QMAKE_DEFAULT_LIBDIRS, $$LLVM_LIBDIR): LIBTOOLING_LIBS = -L$${LLVM_LIBDIR}
73
-            LIBTOOLING_LIBS += $$CLANGTOOLING_LIBS $$LLVM_STATIC_LIBS
74
+            exists($${LLVM_LIBDIR}/libclangTooling.so*)|exists($${LLVM_LIBDIR}/libclangTooling.dylib) {
75
+                LIBTOOLING_LIBS += $$CLANGTOOLING_LIBS $$LLVM_STATIC_LIBS
76
+            } else {
77
+                LIBTOOLING_LIBS += -lclang-cpp $$LLVM_STATIC_LIBS
78
+            }
79
         }
80
     }
81
 
82
-- 
83
2.26.2
84
(-)a/dev-qt/qt-creator/files/qt-creator-4.13.0-libclangformat-ide.patch (+74 lines)
Line 0 Link Here
1
diff --git a/src/plugins/clangformat/clangformatbaseindenter.h b/src/plugins/clangformat/clangformatbaseindenter.h
2
index 00dc3e9c..2c1cf48f 100644
3
--- a/src/plugins/clangformat/clangformatbaseindenter.h
4
+++ b/src/plugins/clangformat/clangformatbaseindenter.h
5
@@ -27,7 +27,7 @@
6
 
7
 #include <texteditor/indenter.h>
8
 
9
-#include <clang/Format/Format.h>
10
+#include <clang/Format/FormatIDE.h>
11
 
12
 namespace ClangFormat {
13
 
14
diff --git a/src/plugins/clangformat/clangformatconfigwidget.cpp b/src/plugins/clangformat/clangformatconfigwidget.cpp
15
index f1fa2c82..b2e552e9 100644
16
--- a/src/plugins/clangformat/clangformatconfigwidget.cpp
17
+++ b/src/plugins/clangformat/clangformatconfigwidget.cpp
18
@@ -32,7 +32,7 @@
19
 #include "ui_clangformatchecks.h"
20
 #include "ui_clangformatconfigwidget.h"
21
 
22
-#include <clang/Format/Format.h>
23
+#include <clang/Format/FormatIDE.h>
24
 
25
 #include <coreplugin/icore.h>
26
 #include <cppeditor/cpphighlighter.h>
27
diff --git a/src/plugins/clangformat/clangformatplugin.cpp b/src/plugins/clangformat/clangformatplugin.cpp
28
index 9b76a086..840efe1f 100644
29
--- a/src/plugins/clangformat/clangformatplugin.cpp
30
+++ b/src/plugins/clangformat/clangformatplugin.cpp
31
@@ -56,7 +56,7 @@
32
 #include <texteditor/icodestylepreferences.h>
33
 #include <texteditor/texteditorsettings.h>
34
 
35
-#include <clang/Format/Format.h>
36
+#include <clang/Format/FormatIDE.h>
37
 
38
 #include <utils/algorithm.h>
39
 
40
diff --git a/src/plugins/clangformat/clangformatutils.h b/src/plugins/clangformat/clangformatutils.h
41
index 74fd84c9..c455d25f 100644
42
--- a/src/plugins/clangformat/clangformatutils.h
43
+++ b/src/plugins/clangformat/clangformatutils.h
44
@@ -28,7 +28,7 @@
45
 #include <utils/fileutils.h>
46
 #include <utils/id.h>
47
 
48
-#include <clang/Format/Format.h>
49
+#include <clang/Format/FormatIDE.h>
50
 
51
 #include <QFile>
52
 
53
diff --git a/src/shared/clang/clang_installation.pri b/src/shared/clang/clang_installation.pri
54
index b1927ca9..2f0b5900 100644
55
--- a/src/shared/clang/clang_installation.pri
56
+++ b/src/shared/clang/clang_installation.pri
57
@@ -229,7 +229,7 @@ isEmpty(LLVM_VERSION) {
58
         CLANGFORMAT_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang/Format/Format.h
59
         exists($$CLANGFORMAT_MAIN_HEADER) {
60
             exists($${LLVM_LIBDIR}/libclangFormat.so*)|exists($${LLVM_LIBDIR}/libclangFormat.dylib) {
61
-                CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
62
+                CLANGFORMAT_LIBS=-lclangFormatIDE -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
63
                 ALL_CLANG_LIBS=-lclangFormat -lclangToolingInclusions -lclangTooling -lclangToolingCore \
64
                            -lclangRewrite -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
65
                            -lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
66
@@ -237,7 +237,7 @@ isEmpty(LLVM_VERSION) {
67
                 win32:CLANGFORMAT_LIBS += -lversion
68
                 win32:ALL_CLANG_LIBS += -lversion
69
             } else {
70
-                CLANGFORMAT_LIBS=-lclang-cpp
71
+                CLANGFORMAT_LIBS=-lclangFormatIDE -lclang-cpp
72
                 ALL_CLANG_LIBS=-lclang-cpp
73
             }
74
         }
(-)a/dev-qt/qt-creator/files/qt-creator-4.14.0-libclangformat-ide.patch (+73 lines)
Line 0 Link Here
1
diff --git a/src/plugins/clangformat/clangformatbaseindenter.h b/src/plugins/clangformat/clangformatbaseindenter.h
2
index 00dc3e9c..2c1cf48f 100644
3
--- a/src/plugins/clangformat/clangformatbaseindenter.h
4
+++ b/src/plugins/clangformat/clangformatbaseindenter.h
5
@@ -27,7 +27,7 @@
6
 
7
 #include <texteditor/indenter.h>
8
 
9
-#include <clang/Format/Format.h>
10
+#include <clang/Format/FormatIDE.h>
11
 
12
 namespace ClangFormat {
13
 
14
diff --git a/src/plugins/clangformat/clangformatconfigwidget.cpp b/src/plugins/clangformat/clangformatconfigwidget.cpp
15
index f1fa2c82..b2e552e9 100644
16
--- a/src/plugins/clangformat/clangformatconfigwidget.cpp
17
+++ b/src/plugins/clangformat/clangformatconfigwidget.cpp
18
@@ -32,7 +32,7 @@
19
 #include "ui_clangformatchecks.h"
20
 #include "ui_clangformatconfigwidget.h"
21
 
22
-#include <clang/Format/Format.h>
23
+#include <clang/Format/FormatIDE.h>
24
 
25
 #include <coreplugin/icore.h>
26
 #include <cppeditor/cpphighlighter.h>
27
diff --git a/src/plugins/clangformat/clangformatplugin.cpp b/src/plugins/clangformat/clangformatplugin.cpp
28
index 9b76a086..840efe1f 100644
29
--- a/src/plugins/clangformat/clangformatplugin.cpp
30
+++ b/src/plugins/clangformat/clangformatplugin.cpp
31
@@ -56,7 +56,7 @@
32
 #include <texteditor/icodestylepreferences.h>
33
 #include <texteditor/texteditorsettings.h>
34
 
35
-#include <clang/Format/Format.h>
36
+#include <clang/Format/FormatIDE.h>
37
 
38
 #include <utils/algorithm.h>
39
 
40
diff --git a/src/plugins/clangformat/clangformatutils.h b/src/plugins/clangformat/clangformatutils.h
41
index 74fd84c9..c455d25f 100644
42
--- a/src/plugins/clangformat/clangformatutils.h
43
+++ b/src/plugins/clangformat/clangformatutils.h
44
@@ -28,7 +28,7 @@
45
 #include <utils/fileutils.h>
46
 #include <utils/id.h>
47
 
48
-#include <clang/Format/Format.h>
49
+#include <clang/Format/FormatIDE.h>
50
 
51
 #include <QFile>
52
 
53
diff --git a/src/shared/clang/clang_installation.pri b/src/shared/clang/clang_installation.pri
54
index 28c2d0d..52a5442 100644
55
--- a/src/shared/clang/clang_installation.pri
56
+++ b/src/shared/clang/clang_installation.pri
57
@@ -204,14 +204,14 @@ isEmpty(LLVM_VERSION) {
58
         CLANGFORMAT_MAIN_HEADER = $$LLVM_INCLUDEPATH/clang/Format/Format.h
59
         exists($$CLANGFORMAT_MAIN_HEADER) {
60
             exists($$LLVM_LIBDIR/*clangBasic*) {
61
-                CLANGFORMAT_LIBS=-lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
62
+                CLANGFORMAT_LIBS=-lclangFormatIDE -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangLex -lclangBasic
63
                 ALL_CLANG_LIBS=-lclangFormat -lclangToolingInclusions -lclangTooling -lclangToolingCore \
64
                                -lclangRewrite -lclangIndex -lclangFrontend -lclangParse -lclangSerialization \
65
                                -lclangSema -lclangEdit -lclangAnalysis -lclangDriver -lclangDynamicASTMatchers \
66
                                -lclangASTMatchers -lclangAST -lclangLex -lclangBasic
67
                 win32:CLANGFORMAT_LIBS += -lversion
68
             } else {
69
-                CLANGFORMAT_LIBS = -lclang-cpp
70
+                CLANGFORMAT_LIBS = -lclangFormatIDE -lclang-cpp
71
                 ALL_CLANG_LIBS = -lclang-cpp
72
             }
73
         }
(-)a/dev-qt/qt-creator/qt-creator-4.13.3.ebuild (+238 lines)
Line 0 Link Here
1
# Copyright 1999-2020 Gentoo Authors
2
# Distributed under the terms of the GNU General Public License v2
3
4
EAPI=7
5
LLVM_MAX_SLOT=11
6
PLOCALES="cs da de fr ja pl ru sl uk zh-CN zh-TW"
7
8
inherit llvm qmake-utils virtualx xdg
9
10
DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt"
11
HOMEPAGE="https://doc.qt.io/qtcreator/"
12
LICENSE="GPL-3"
13
SLOT="0"
14
15
if [[ ${PV} == *9999 ]]; then
16
	inherit git-r3
17
	EGIT_REPO_URI="https://code.qt.io/${PN}/${PN}.git"
18
else
19
	MY_PV=${PV/_/-}
20
	MY_P=${PN}-opensource-src-${MY_PV}
21
	[[ ${MY_PV} == ${PV} ]] && MY_REL=official || MY_REL=development
22
	SRC_URI="https://download.qt.io/${MY_REL}_releases/${PN/-}/$(ver_cut 1-2)/${MY_PV}/${MY_P}.tar.xz"
23
	KEYWORDS="~amd64 ~arm ~x86"
24
	S=${WORKDIR}/${MY_P}
25
fi
26
27
# TODO: unbundle sqlite
28
29
QTC_PLUGINS=(android +autotest autotools:autotoolsprojectmanager baremetal beautifier boot2qt
30
	'+clang:clangcodemodel|clangformat|clangpchmanager|clangrefactoring|clangtools' clearcase
31
	cmake:cmakeprojectmanager cppcheck ctfvisualizer cvs +designer git glsl:glsleditor +help ios
32
	lsp:languageclient mcu:mcusupport mercurial modeling:modeleditor nim perforce perfprofiler python
33
	qbs:qbsprojectmanager +qmldesigner qmlprofiler qnx remotelinux scxml:scxmleditor serialterminal
34
	silversearcher subversion valgrind webassembly winrt)
35
IUSE="doc systemd test +webengine ${QTC_PLUGINS[@]%:*}"
36
RESTRICT="!test? ( test )"
37
REQUIRED_USE="
38
	boot2qt? ( remotelinux )
39
	clang? ( test? ( qbs ) )
40
	mcu? ( cmake )
41
	python? ( lsp )
42
	qnx? ( remotelinux )
43
"
44
45
# minimum Qt version required
46
QT_PV="5.12.3:5"
47
48
BDEPEND="
49
	>=dev-qt/linguist-tools-${QT_PV}
50
	virtual/pkgconfig
51
	doc? ( >=dev-qt/qdoc-${QT_PV} )
52
"
53
CDEPEND="
54
	>=dev-cpp/yaml-cpp-0.6.2:=
55
	>=dev-qt/qtconcurrent-${QT_PV}
56
	>=dev-qt/qtcore-${QT_PV}
57
	>=dev-qt/qtdeclarative-${QT_PV}[widgets]
58
	>=dev-qt/qtgui-${QT_PV}
59
	>=dev-qt/qtnetwork-${QT_PV}[ssl]
60
	>=dev-qt/qtprintsupport-${QT_PV}
61
	>=dev-qt/qtquickcontrols-${QT_PV}
62
	>=dev-qt/qtscript-${QT_PV}
63
	>=dev-qt/qtsql-${QT_PV}[sqlite]
64
	>=dev-qt/qtsvg-${QT_PV}
65
	>=dev-qt/qtwidgets-${QT_PV}
66
	>=dev-qt/qtx11extras-${QT_PV}
67
	>=dev-qt/qtxml-${QT_PV}
68
	kde-frameworks/syntax-highlighting:5
69
	clang? (
70
		|| (
71
			( sys-devel/clang:11
72
				dev-libs/libclangformat-ide:11 )
73
			( sys-devel/clang:10
74
				dev-libs/libclangformat-ide:10 )
75
			( sys-devel/clang:9
76
				dev-libs/libclangformat-ide:9 )
77
		)
78
		<sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
79
	)
80
	designer? ( >=dev-qt/designer-${QT_PV} )
81
	help? (
82
		>=dev-qt/qthelp-${QT_PV}
83
		webengine? ( >=dev-qt/qtwebengine-${QT_PV}[widgets] )
84
	)
85
	perfprofiler? ( dev-libs/elfutils )
86
	qbs? ( >=dev-util/qbs-1.13.1 )
87
	serialterminal? ( >=dev-qt/qtserialport-${QT_PV} )
88
	systemd? ( sys-apps/systemd:= )
89
"
90
DEPEND="${CDEPEND}
91
	test? (
92
		>=dev-qt/qtdeclarative-${QT_PV}[localstorage]
93
		>=dev-qt/qtquickcontrols2-${QT_PV}
94
		>=dev-qt/qttest-${QT_PV}
95
		>=dev-qt/qtxmlpatterns-${QT_PV}[qml]
96
	)
97
"
98
RDEPEND="${CDEPEND}
99
	sys-devel/gdb[client,python]
100
	autotools? ( sys-devel/autoconf )
101
	cmake? ( dev-util/cmake )
102
	cppcheck? ( dev-util/cppcheck )
103
	cvs? ( dev-vcs/cvs )
104
	git? ( dev-vcs/git )
105
	mercurial? ( dev-vcs/mercurial )
106
	qmldesigner? ( >=dev-qt/qtquicktimeline-${QT_PV} )
107
	silversearcher? ( sys-apps/the_silver_searcher )
108
	subversion? ( dev-vcs/subversion )
109
	valgrind? ( dev-util/valgrind )
110
"
111
# qt translations must also be installed or qt-creator translations won't be loaded
112
for x in ${PLOCALES}; do
113
	IUSE+=" l10n_${x}"
114
	RDEPEND+=" l10n_${x}? ( >=dev-qt/qttranslations-${QT_PV} )"
115
done
116
unset x
117
118
PATCHES=(
119
	"${FILESDIR}"/${PN}-4.13.0-dylib-fix.patch
120
	"${FILESDIR}"/${PN}-4.13.0-libclangformat-ide.patch
121
)
122
123
llvm_check_deps() {
124
	has_version -d "sys-devel/clang:${LLVM_SLOT}" && \
125
		has_version -d "dev-libs/libclangformat-ide:${LLVM_SLOT}"
126
}
127
128
pkg_setup() {
129
	use clang && llvm_pkg_setup
130
}
131
132
src_prepare() {
133
	default
134
135
	# disable unwanted plugins
136
	for plugin in "${QTC_PLUGINS[@]#[+-]}"; do
137
		if ! use ${plugin%:*}; then
138
			einfo "Disabling ${plugin%:*} plugin"
139
			sed -i -re "s/(^\s+|\s*SUBDIRS\s*\+=.*)\<(${plugin#*:})\>(.*)/\1\3/" \
140
				src/plugins/plugins.pro || die "failed to disable ${plugin%:*} plugin"
141
		fi
142
	done
143
	sed -i -e '/updateinfo/d' src/plugins/plugins.pro || die
144
145
	# avoid building unused support libraries and tools
146
	if ! use clang; then
147
		sed -i -e '/clangsupport/d' src/libs/libs.pro || die
148
		sed -i -e '/clang\(\|pchmanager\|refactoring\)backend/d' src/tools/tools.pro || die
149
	fi
150
	if ! use glsl; then
151
		sed -i -e '/glsl/d' src/libs/libs.pro || die
152
	fi
153
	if ! use lsp; then
154
		sed -i -e '/languageserverprotocol/d' src/libs/libs.pro tests/auto/auto.pro || die
155
	fi
156
	if ! use modeling; then
157
		sed -i -e '/modelinglib/d' src/libs/libs.pro || die
158
	fi
159
	if ! use perfprofiler; then
160
		rm -r src/tools/perfparser || die
161
		if ! use ctfvisualizer && ! use qmlprofiler; then
162
			sed -i -e '/tracing/d' src/libs/libs.pro tests/auto/auto.pro || die
163
		fi
164
	fi
165
	if ! use qmldesigner; then
166
		sed -i -e '/qml2puppet/d' src/tools/tools.pro || die
167
		sed -i -e '/qmldesigner/d' tests/auto/qml/qml.pro || die
168
	fi
169
	if ! use valgrind; then
170
		sed -i -e '/valgrindfake/d' src/tools/tools.pro || die
171
		sed -i -e '/valgrind/d' tests/auto/auto.pro || die
172
	fi
173
174
	# automagic dep on qtwebengine
175
	if ! use webengine; then
176
		sed -i -e 's/isEmpty(QT\.webenginewidgets\.name)/true/' src/plugins/help/help.pro || die
177
	fi
178
179
	# disable broken or unreliable tests
180
	sed -i -e 's/\(manual\|tools\|unit\)//g' tests/tests.pro || die
181
	sed -i -e '/\(dumpers\|namedemangler\)\.pro/d' tests/auto/debugger/debugger.pro || die
182
	sed -i -e '/CONFIG -=/s/$/ testcase/' tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin?/plugin?.pro || die
183
	sed -i -e 's/\<check\>//' tests/auto/qml/codemodel/codemodel.pro || die
184
185
	# do not install test binaries
186
	sed -i -e '/CONFIG +=/s/$/ no_testcase_installs/' tests/auto/{qttest.pri,json/json.pro} || die
187
188
	# fix path to some clang headers
189
	sed -i -e "/^CLANG_RESOURCE_DIR\s*=/s:\$\${LLVM_LIBDIR}:${EPREFIX}/usr/lib:" src/shared/clang/clang_defines.pri || die
190
191
	# fix translations
192
	local lang languages=
193
	for lang in ${PLOCALES}; do
194
		use l10n_${lang} && languages+=" ${lang/-/_}"
195
	done
196
	sed -i -e "/^LANGUAGES\s*=/s:=.*:=${languages}:" share/qtcreator/translations/translations.pro || die
197
198
	# remove bundled syntax-highlighting
199
	rm -r src/libs/3rdparty/syntax-highlighting || die
200
201
	# remove bundled yaml-cpp
202
	rm -r src/libs/3rdparty/yaml-cpp || die
203
204
	# remove bundled qbs
205
	rm -r src/shared/qbs || die
206
}
207
208
src_configure() {
209
	eqmake5 IDE_LIBRARY_BASENAME="$(get_libdir)" \
210
		IDE_PACKAGE_MODE=1 \
211
		KSYNTAXHIGHLIGHTING_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" \
212
		KSYNTAXHIGHLIGHTING_INCLUDE_DIR="${EPREFIX}/usr/include/KF5/KSyntaxHighlighting" \
213
		$(use clang && echo LLVM_INSTALL_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})") \
214
		$(use qbs && echo QBS_INSTALL_DIR="${EPREFIX}/usr") \
215
		CONFIG+=qbs_disable_rpath \
216
		CONFIG+=qbs_enable_project_file_updates \
217
		$(use systemd && echo CONFIG+=journald) \
218
		$(use test && echo BUILD_TESTS=1)
219
}
220
221
src_test() {
222
	cd tests/auto && virtx default
223
}
224
225
src_install() {
226
	emake INSTALL_ROOT="${ED}/usr" install
227
228
	dodoc dist/{changes-*,known-issues}
229
230
	# install documentation
231
	if use doc; then
232
		emake docs
233
		# don't use ${PF} or the doc will not be found
234
		insinto /usr/share/doc/qtcreator
235
		doins share/doc/qtcreator/qtcreator{,-dev}.qch
236
		docompress -x /usr/share/doc/qtcreator/qtcreator{,-dev}.qch
237
	fi
238
}
(-)a/dev-qt/qt-creator/qt-creator-4.14.0.ebuild (+237 lines)
Line 0 Link Here
1
# Copyright 1999-2020 Gentoo Authors
2
# Distributed under the terms of the GNU General Public License v2
3
4
EAPI=7
5
LLVM_MAX_SLOT=11
6
PLOCALES="cs da de fr ja pl ru sl uk zh-CN zh-TW"
7
8
inherit llvm qmake-utils virtualx xdg
9
10
DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt"
11
HOMEPAGE="https://doc.qt.io/qtcreator/"
12
LICENSE="GPL-3"
13
SLOT="0"
14
15
if [[ ${PV} == *9999 ]]; then
16
	inherit git-r3
17
	EGIT_REPO_URI="https://code.qt.io/${PN}/${PN}.git"
18
else
19
	MY_PV=${PV/_/-}
20
	MY_P=${PN}-opensource-src-${MY_PV}
21
	[[ ${MY_PV} == ${PV} ]] && MY_REL=official || MY_REL=development
22
	SRC_URI="https://download.qt.io/${MY_REL}_releases/${PN/-}/$(ver_cut 1-2)/${MY_PV}/${MY_P}.tar.xz"
23
	KEYWORDS="~amd64 ~arm ~x86"
24
	S=${WORKDIR}/${MY_P}
25
fi
26
27
# TODO: unbundle sqlite
28
29
QTC_PLUGINS=(android +autotest autotools:autotoolsprojectmanager baremetal beautifier boot2qt
30
	'+clang:clangcodemodel|clangformat|clangpchmanager|clangrefactoring|clangtools' clearcase
31
	cmake:cmakeprojectmanager cppcheck ctfvisualizer cvs +designer git glsl:glsleditor +help ios
32
	lsp:languageclient mcu:mcusupport mercurial modeling:modeleditor nim perforce perfprofiler python
33
	qbs:qbsprojectmanager +qmldesigner qmlprofiler qnx remotelinux scxml:scxmleditor serialterminal
34
	silversearcher subversion valgrind webassembly winrt)
35
IUSE="doc systemd test +webengine ${QTC_PLUGINS[@]%:*}"
36
RESTRICT="!test? ( test )"
37
REQUIRED_USE="
38
	boot2qt? ( remotelinux )
39
	clang? ( test? ( qbs ) )
40
	mcu? ( cmake )
41
	python? ( lsp )
42
	qnx? ( remotelinux )
43
"
44
45
# minimum Qt version required
46
QT_PV="5.14.0:5"
47
48
BDEPEND="
49
	>=dev-qt/linguist-tools-${QT_PV}
50
	virtual/pkgconfig
51
	doc? ( >=dev-qt/qdoc-${QT_PV} )
52
"
53
CDEPEND="
54
	>=dev-cpp/yaml-cpp-0.6.2:=
55
	>=dev-qt/qtconcurrent-${QT_PV}
56
	>=dev-qt/qtcore-${QT_PV}
57
	>=dev-qt/qtdeclarative-${QT_PV}[widgets]
58
	>=dev-qt/qtgui-${QT_PV}
59
	>=dev-qt/qtnetwork-${QT_PV}[ssl]
60
	>=dev-qt/qtprintsupport-${QT_PV}
61
	>=dev-qt/qtquickcontrols-${QT_PV}
62
	>=dev-qt/qtscript-${QT_PV}
63
	>=dev-qt/qtsql-${QT_PV}[sqlite]
64
	>=dev-qt/qtsvg-${QT_PV}
65
	>=dev-qt/qtwidgets-${QT_PV}
66
	>=dev-qt/qtx11extras-${QT_PV}
67
	>=dev-qt/qtxml-${QT_PV}
68
	kde-frameworks/syntax-highlighting:5
69
	clang? (
70
		|| (
71
			( sys-devel/clang:11
72
				dev-libs/libclangformat-ide:11 )
73
			( sys-devel/clang:10
74
				dev-libs/libclangformat-ide:10 )
75
			( sys-devel/clang:9
76
				dev-libs/libclangformat-ide:9 )
77
		)
78
		<sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
79
	)
80
	designer? ( >=dev-qt/designer-${QT_PV} )
81
	help? (
82
		>=dev-qt/qthelp-${QT_PV}
83
		webengine? ( >=dev-qt/qtwebengine-${QT_PV}[widgets] )
84
	)
85
	perfprofiler? ( dev-libs/elfutils )
86
	qbs? ( >=dev-util/qbs-1.13.1 )
87
	serialterminal? ( >=dev-qt/qtserialport-${QT_PV} )
88
	systemd? ( sys-apps/systemd:= )
89
"
90
DEPEND="${CDEPEND}
91
	test? (
92
		>=dev-qt/qtdeclarative-${QT_PV}[localstorage]
93
		>=dev-qt/qtquickcontrols2-${QT_PV}
94
		>=dev-qt/qttest-${QT_PV}
95
		>=dev-qt/qtxmlpatterns-${QT_PV}[qml]
96
	)
97
"
98
RDEPEND="${CDEPEND}
99
	sys-devel/gdb[client,python]
100
	autotools? ( sys-devel/autoconf )
101
	cmake? ( dev-util/cmake )
102
	cppcheck? ( dev-util/cppcheck )
103
	cvs? ( dev-vcs/cvs )
104
	git? ( dev-vcs/git )
105
	mercurial? ( dev-vcs/mercurial )
106
	qmldesigner? ( >=dev-qt/qtquicktimeline-${QT_PV} )
107
	silversearcher? ( sys-apps/the_silver_searcher )
108
	subversion? ( dev-vcs/subversion )
109
	valgrind? ( dev-util/valgrind )
110
"
111
# qt translations must also be installed or qt-creator translations won't be loaded
112
for x in ${PLOCALES}; do
113
	IUSE+=" l10n_${x}"
114
	RDEPEND+=" l10n_${x}? ( >=dev-qt/qttranslations-${QT_PV} )"
115
done
116
unset x
117
118
PATCHES=(
119
	"${FILESDIR}"/${PN}-4.14.0-libclangformat-ide.patch
120
)
121
122
llvm_check_deps() {
123
	has_version -d "sys-devel/clang:${LLVM_SLOT}" && \
124
		has_version -d "dev-libs/libclangformat-ide:${LLVM_SLOT}"
125
}
126
127
pkg_setup() {
128
	use clang && llvm_pkg_setup
129
}
130
131
src_prepare() {
132
	default
133
134
	# disable unwanted plugins
135
	for plugin in "${QTC_PLUGINS[@]#[+-]}"; do
136
		if ! use ${plugin%:*}; then
137
			einfo "Disabling ${plugin%:*} plugin"
138
			sed -i -re "s/(^\s+|\s*SUBDIRS\s*\+=.*)\<(${plugin#*:})\>(.*)/\1\3/" \
139
				src/plugins/plugins.pro || die "failed to disable ${plugin%:*} plugin"
140
		fi
141
	done
142
	sed -i -e '/updateinfo/d' src/plugins/plugins.pro || die
143
144
	# avoid building unused support libraries and tools
145
	if ! use clang; then
146
		sed -i -e '/clangsupport/d' src/libs/libs.pro || die
147
		sed -i -e '/clang\(\|pchmanager\|refactoring\)backend/d' src/tools/tools.pro || die
148
	fi
149
	if ! use glsl; then
150
		sed -i -e '/glsl/d' src/libs/libs.pro || die
151
	fi
152
	if ! use lsp; then
153
		sed -i -e '/languageserverprotocol/d' src/libs/libs.pro tests/auto/auto.pro || die
154
	fi
155
	if ! use modeling; then
156
		sed -i -e '/modelinglib/d' src/libs/libs.pro || die
157
	fi
158
	if ! use perfprofiler; then
159
		rm -r src/tools/perfparser || die
160
		if ! use ctfvisualizer && ! use qmlprofiler; then
161
			sed -i -e '/tracing/d' src/libs/libs.pro tests/auto/auto.pro || die
162
		fi
163
	fi
164
	if ! use qmldesigner; then
165
		sed -i -e '/qml2puppet/d' src/tools/tools.pro || die
166
		sed -i -e '/qmldesigner/d' tests/auto/qml/qml.pro || die
167
	fi
168
	if ! use valgrind; then
169
		sed -i -e '/valgrindfake/d' src/tools/tools.pro || die
170
		sed -i -e '/valgrind/d' tests/auto/auto.pro || die
171
	fi
172
173
	# automagic dep on qtwebengine
174
	if ! use webengine; then
175
		sed -i -e 's/isEmpty(QT\.webenginewidgets\.name)/true/' src/plugins/help/help.pro || die
176
	fi
177
178
	# disable broken or unreliable tests
179
	sed -i -e 's/\(manual\|tools\|unit\)//g' tests/tests.pro || die
180
	sed -i -e '/\(dumpers\|namedemangler\)\.pro/d' tests/auto/debugger/debugger.pro || die
181
	sed -i -e '/CONFIG -=/s/$/ testcase/' tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin?/plugin?.pro || die
182
	sed -i -e 's/\<check\>//' tests/auto/qml/codemodel/codemodel.pro || die
183
184
	# do not install test binaries
185
	sed -i -e '/CONFIG +=/s/$/ no_testcase_installs/' tests/auto/{qttest.pri,json/json.pro} || die
186
187
	# fix path to some clang headers
188
	sed -i -e "/^CLANG_RESOURCE_DIR\s*=/s:\$\${LLVM_LIBDIR}:${EPREFIX}/usr/lib:" src/shared/clang/clang_defines.pri || die
189
190
	# fix translations
191
	local lang languages=
192
	for lang in ${PLOCALES}; do
193
		use l10n_${lang} && languages+=" ${lang/-/_}"
194
	done
195
	sed -i -e "/^LANGUAGES\s*=/s:=.*:=${languages}:" share/qtcreator/translations/translations.pro || die
196
197
	# remove bundled syntax-highlighting
198
	rm -r src/libs/3rdparty/syntax-highlighting || die
199
200
	# remove bundled yaml-cpp
201
	rm -r src/libs/3rdparty/yaml-cpp || die
202
203
	# remove bundled qbs
204
	rm -r src/shared/qbs || die
205
}
206
207
src_configure() {
208
	eqmake5 IDE_LIBRARY_BASENAME="$(get_libdir)" \
209
		IDE_PACKAGE_MODE=1 \
210
		KSYNTAXHIGHLIGHTING_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" \
211
		KSYNTAXHIGHLIGHTING_INCLUDE_DIR="${EPREFIX}/usr/include/KF5/KSyntaxHighlighting" \
212
		$(use clang && echo LLVM_INSTALL_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})") \
213
		$(use qbs && echo QBS_INSTALL_DIR="${EPREFIX}/usr") \
214
		CONFIG+=qbs_disable_rpath \
215
		CONFIG+=qbs_enable_project_file_updates \
216
		$(use systemd && echo CONFIG+=journald) \
217
		$(use test && echo BUILD_TESTS=1)
218
}
219
220
src_test() {
221
	cd tests/auto && virtx default
222
}
223
224
src_install() {
225
	emake INSTALL_ROOT="${ED}/usr" install
226
227
	dodoc dist/{changes-*,known-issues}
228
229
	# install documentation
230
	if use doc; then
231
		emake docs
232
		# don't use ${PF} or the doc will not be found
233
		insinto /usr/share/doc/qtcreator
234
		doins share/doc/qtcreator/qtcreator{,-dev}.qch
235
		docompress -x /usr/share/doc/qtcreator/qtcreator{,-dev}.qch
236
	fi
237
}

Return to bug 750527