Added
Link Here
|
1 |
PORTNAME= codelite |
2 |
PORTVERSION= 17.0.0.20240315 |
3 |
PORTREVISION= 0 |
4 |
CATEGORIES= editors devel |
5 |
PKGNAMESUFFIX= -devel |
6 |
|
7 |
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ |
8 |
PATCHFILES+= 07e7b8728c6b6065c625e82db3cd86ccfda83595.patch:-p1 # https://github.com/eranif/codelite/pull/3336 |
9 |
|
10 |
MAINTAINER= rozhuk.im@gmail.com |
11 |
COMMENT= Open Source IDE for C/C++ |
12 |
|
13 |
LICENSE= GPLv2+ |
14 |
|
15 |
RUN_DEPENDS= ${LOCALBASE}/bin/open:sysutils/open |
16 |
LIB_DEPENDS= libsqlite3.so:databases/sqlite3 \ |
17 |
libuchardet.so:textproc/uchardet |
18 |
|
19 |
USES= cmake:noninja compiler:c++17-lang dos2unix gettext gnome \ |
20 |
localbase pathfix pkgconfig shebangfix sqlite |
21 |
USE_GNOME= cairo glib20 gtk30 |
22 |
DOS2UNIX_GLOB= *.cpp *.txt |
23 |
SHEBANG_FILES= Runtime/codelite_xterm |
24 |
USE_WX= 3.2 |
25 |
|
26 |
USE_GITHUB= yes |
27 |
GH_ACCOUNT= eranif:DEFAULT \ |
28 |
eranif:ctags \ |
29 |
cubicdaiya:dtl \ |
30 |
eranif:tinyjson \ |
31 |
eranif:wxdap \ |
32 |
jbeder:yamlcpp |
33 |
GH_PROJECT= codelite:DEFAULT \ |
34 |
cc-wrapper:ccwrapper \ |
35 |
ctags:ctags \ |
36 |
dtl:dtl \ |
37 |
tinyjson:tinyjson \ |
38 |
wxdap:wxdap \ |
39 |
yaml-cpp:yamlcpp |
40 |
GH_TAGNAME= d54c081b7f50236cc48985aaa3c73cc3a789a698:DEFAULT \ |
41 |
67713440e867493e74ce5c7ce0352b81eb4b726b:ccwrapper \ |
42 |
3e173d8d82fd2d3534feff0d822d6de36ca3d74e:ctags \ |
43 |
cd45dd48089c6e9f7a595d920ddfb82c08d59150:dtl \ |
44 |
a6b0d0d31a05a9f55b4944b3b20f769305eb583a:tinyjson \ |
45 |
e5c7d35f17ca119aa99710244c0764b07f0cc4c6:wxdap \ |
46 |
1b50109f7bea60bd382d8ea7befce3d2bd67da5f:yamlcpp |
47 |
GH_SUBDIR= ctags:ctags \ |
48 |
cc-wrapper:ccwrapper \ |
49 |
dtl:dtl \ |
50 |
cc-wrapper/tinyjson:tinyjson \ |
51 |
wxdap:wxdap \ |
52 |
yaml-cpp:yamlcpp |
53 |
|
54 |
CMAKE_ARGS= -DHAVE_GLIB_GREGEX_H=1 \ |
55 |
-DCL_PREFIX:STRING="${PREFIX}" \ |
56 |
-DRETAIN_CACHED_VALUES:BOOL=ON \ |
57 |
-DCL_GTK_USE_NATIVEBOOK:STRING=1 \ |
58 |
-DWITH_NATIVEBOOK:STRING=1 \ |
59 |
-DWITH_WX_CONFIG:FILEPATH="${WX_CONFIG}" \ |
60 |
-DCL_WX_CONFIG:STRING="${WX_CONFIG:T}" |
61 |
USE_LDCONFIG= ${PREFIX}/lib/codelite |
62 |
INSTALLS_ICONS= yes |
63 |
|
64 |
OPTIONS_RADIO= CLANG |
65 |
OPTIONS_GROUP= PLUGINS |
66 |
OPTIONS_GROUP_PLUGINS= CALLGRAPH CMAKE CSCOPE GIT HELP MEMCHK \ |
67 |
QMAKE SFTP SPELLCHK SVN |
68 |
OPTIONS_DEFAULT= GIT SFTP |
69 |
OPTIONS_SUB= yes |
70 |
|
71 |
CALLGRAPH_DESC= CallGraph plugin |
72 |
CALLGRAPH_RUN_DEPENDS= ${LOCALBASE}/bin/dot:graphics/graphviz |
73 |
CMAKE_DESC= CMake plugin |
74 |
CMAKE_RUN_DEPENDS= ${LOCALBASE}/bin/cmake:devel/cmake-core |
75 |
CSCOPE_DESC= CScope integration |
76 |
CSCOPE_RUN_DEPENDS= cscope:devel/cscope |
77 |
GIT_DESC= Build with git support |
78 |
GIT_RUN_DEPENDS= ${LOCALBASE}/bin/git:devel/git |
79 |
MEMCHK_DESC= MemCheck (valgrind) plugin |
80 |
MEMCHK_RUN_DEPENDS= ${LOCALBASE}/bin/valgrind:devel/valgrind |
81 |
HELP_DESC= Help plugin |
82 |
HELP_RUN_DEPENDS= ${LOCALBASE}/bin/zeal:devel/zeal |
83 |
QMAKE_DESC= QT5 qmake plugin |
84 |
QMAKE_RUN_DEPENDS= ${LOCALBASE}/lib/qt5/bin/qmake:devel/qt5-qmake |
85 |
SFTP_DESC= Secure FTP support via libssh |
86 |
SFTP_LIB_DEPENDS= libssh.so:security/libssh |
87 |
SFTP_CMAKE_OFF= -DENABLE_SFTP=0 |
88 |
SPELLCHK_DESC= Spell checker plugin |
89 |
SPELLCHK_LIB_DEPENDS+= libhunspell-1.7.so:textproc/hunspell |
90 |
SVN_DESC= Subversion support |
91 |
SVN_RUN_DEPENDS= ${LOCALBASE}/bin/svn:devel/subversion |
92 |
|
93 |
CLANG_DESC= Clang code-completion |
94 |
|
95 |
.for v in 15 16 17 18 19 |
96 |
OPTIONS_RADIO_CLANG+= CLANG$v |
97 |
CLANG$v_DESC= Clang ${v:C/(.)(.)/\1.\2.x/} |
98 |
CLANG$v_BUILD_DEPENDS= llvm$v>0:devel/llvm$v |
99 |
CLANG$v_RUN_DEPENDS= llvm$v>0:devel/llvm$v |
100 |
|
101 |
post-patch-CLANG$v-on: |
102 |
@${REINPLACE_CMD} -e \ |
103 |
's|/usr/lib/llvm-.*/|${LOCALBASE}/llvm$v/|' \ |
104 |
${WRKSRC}/cmake/Modules/FindLibClang.cmake \ |
105 |
${WRKSRC}/cmake/Modules/FindLibLLDB.cmake |
106 |
.endfor |
107 |
|
108 |
.include <bsd.port.options.mk> |
109 |
|
110 |
.if ${PORT_OPTIONS:MCLANG*} |
111 |
CMAKE_ARGS+= -DENABLE_LLDB:STRING=1 -DENABLE_CLANG:STRING=1 |
112 |
.else |
113 |
CMAKE_ARGS+= -DENABLE_LLDB:STRING=0 -DENABLE_CLANG:STRING=0 |
114 |
.endif |
115 |
|
116 |
post-patch: |
117 |
@${REINPLACE_CMD} -i .orig -e \ |
118 |
's|.* -O2").*|| ; \ |
119 |
s|.*"-s").*|| ; \ |
120 |
s|.* -s").*||' \ |
121 |
${WRKSRC}/CMakeLists.txt |
122 |
@${REINPLACE_CMD} -e 's|share/man|man|' \ |
123 |
${WRKSRC}/LiteEditor/CMakeLists.txt |
124 |
@${REINPLACE_CMD} -e \ |
125 |
's|cmake_minimum_required(VERSION .*|cmake_minimum_required(VERSION 3.10)|' \ |
126 |
${WRKSRC}/CMakeLists.txt \ |
127 |
${WRKSRC}/cc-wrapper/CMakeLists.txt \ |
128 |
${WRKSRC}/cc-wrapper/tinyjson/CMakeLists.txt \ |
129 |
${WRKSRC}/cmake/Modules/OSXInstall.cmake \ |
130 |
${WRKSRC}/yaml-cpp/CMakeLists.txt \ |
131 |
${WRKSRC}/wxdap/dap/CMakeLists.txt |
132 |
# Revert: 4e270fb42bd8b1a8f5fc72817cda9005e8ea44e4 |
133 |
# Use sh instead of bash. |
134 |
@${REINPLACE_CMD} -e 's|/bin/bash|/bin/sh|' \ |
135 |
${WRKSRC}/cmake/Modules/UtilsHelper.cmake \ |
136 |
${WRKSRC}/CodeLite/clConsoleBash.cpp \ |
137 |
${WRKSRC}/CodeLite/clConsoleGnomeTerminal.cpp \ |
138 |
${WRKSRC}/CodeLite/clConsoleRXVTerminal.cpp \ |
139 |
${WRKSRC}/CodeLite/fileextmanager.cpp \ |
140 |
${WRKSRC}/CodeLite/fileutils.cpp \ |
141 |
${WRKSRC}/CodeLite/TerminalEmulator.cpp \ |
142 |
${WRKSRC}/CodeLite/ssh/clSSHChannelCommon.cpp \ |
143 |
${WRKSRC}/Docker/clDockerDriver.cpp \ |
144 |
${WRKSRC}/Plugin/clRemoteBuilder.cpp \ |
145 |
${WRKSRC}/Plugin/consolefinder.cpp \ |
146 |
${WRKSRC}/Plugin/custombuildrequest.cpp \ |
147 |
${WRKSRC}/Plugin/globals.cpp \ |
148 |
${WRKSRC}/Plugin/pipedprocess.cpp \ |
149 |
${WRKSRC}/Plugin/wxterminal.cpp \ |
150 |
${WRKSRC}/Remoty/RemotyWorkspace.cpp |
151 |
# Iconv search fix. |
152 |
@${REINPLACE_CMD} -e 's|Iconv|iconv|g' \ |
153 |
${WRKSRC}/ctags/CMakeLists.txt |
154 |
# Fix CPPCheck crash. |
155 |
@${REINPLACE_CMD} -e 's|eventStarted.SetToolchain.*||g' \ |
156 |
${WRKSRC}/cppchecker/cppchecker.cpp |
157 |
# LLVM search fix. |
158 |
@${REINPLACE_CMD} -e 's|/usr/lib/llvm-|${PREFIX}/llvm|g' \ |
159 |
${WRKSRC}/cmake/Modules/FindLibLLDB.cmake |
160 |
# LLDB fix, optional. |
161 |
#@${REINPLACE_CMD} -e 's|.*Exists(lldbDebugServer).*|if (0) {|g' \ |
162 |
# ${WRKSRC}/LLDBDebugger/codelite-lldb/CodeLiteLLDBApp.cpp |
163 |
|
164 |
post-patch-CALLGRAPH-off: |
165 |
@${REINPLACE_CMD} -e \ |
166 |
's|add_subdirectory(CallGraph)||' \ |
167 |
${WRKSRC}/CMakeLists.txt |
168 |
|
169 |
post-patch-CMAKE-off: |
170 |
@${REINPLACE_CMD} -e \ |
171 |
's|add_subdirectory(CMakePlugin)||' \ |
172 |
${WRKSRC}/CMakeLists.txt |
173 |
|
174 |
post-patch-CSCOPE-off: |
175 |
@${REINPLACE_CMD} -e \ |
176 |
's|add_subdirectory(cscope)||' \ |
177 |
${WRKSRC}/CMakeLists.txt |
178 |
|
179 |
post-patch-GIT-off: |
180 |
@${REINPLACE_CMD} -e \ |
181 |
's|add_subdirectory(git)||' \ |
182 |
${WRKSRC}/CMakeLists.txt |
183 |
|
184 |
post-patch-MEMCHK-off: |
185 |
@${REINPLACE_CMD} -e \ |
186 |
's|add_subdirectory(MemCheck)||' \ |
187 |
${WRKSRC}/CMakeLists.txt |
188 |
|
189 |
post-patch-HELP-off: |
190 |
@${REINPLACE_CMD} -e \ |
191 |
's|add_subdirectory(HelpPlugin)||' \ |
192 |
${WRKSRC}/CMakeLists.txt |
193 |
|
194 |
post-patch-QMAKE-off: |
195 |
@${REINPLACE_CMD} -e \ |
196 |
's|add_subdirectory(QmakePlugin)||' \ |
197 |
${WRKSRC}/CMakeLists.txt |
198 |
|
199 |
post-patch-SPELLCHK-off: |
200 |
@${REINPLACE_CMD} -e \ |
201 |
's|add_subdirectory(SpellChecker)||' \ |
202 |
${WRKSRC}/CMakeLists.txt |
203 |
|
204 |
post-patch-SVN-off: |
205 |
@${REINPLACE_CMD} -e \ |
206 |
's|add_subdirectory(Subversion2)||' \ |
207 |
${WRKSRC}/CMakeLists.txt |
208 |
|
209 |
post-install: |
210 |
@${RM} -f ${STAGEDIR}${PREFIX}/share/codelite/clang-tools.tgz |
211 |
|
212 |
add-plist-post: |
213 |
# Regenerate .PLIST.pymodtemp to get all installed files from |
214 |
# ${STAGEDIR}. |
215 |
@${FIND} ${STAGEDIR} -type f -o -type l | \ |
216 |
${SORT} -u | ${SED} -e 's|${STAGEDIR}||' \ |
217 |
> ${WRKDIR}/.PLIST.mktmp |
218 |
|
219 |
.include <bsd.port.mk> |