-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
/
Portfile
211 lines (173 loc) · 7.32 KB
/
Portfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
name qscintilla
version 2.11.5
checksums rmd160 bf0596f336fe888fd3d08d9ce816231533233bdb \
sha256 9361e26fd7fb7b5819a7eb92c5c1880a18de9bd3ed9dd2eb008e57388696716b \
size 3007564
revision 0
categories devel
license GPL-3
maintainers {michaelld @michaelld} {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
description QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor control.
homepage https://www.riverbankcomputing.com/software/qscintilla/
platforms darwin
long_description QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor control. \
As well as features found in standard text editing components, \
QScintilla includes features especially useful when editing and \
debugging source code. These include support for syntax styling, \
error indicators, code completion and call tips. The selection \
margin can contain markers like those used in debuggers to indicate \
breakpoints and the current line. Styling choices are more open \
than with many editors, allowing the use of proportional fonts, \
bold and italics, multiple foreground and background colours and \
multiple fonts.
#distname QScintilla_gpl-${version}
distname QScintilla-${version}
master_sites https://www.riverbankcomputing.com/static/Downloads/QScintilla/${version}
compiler.cxx_standard \
2011
foreach qt_major {4 5} {
subport ${name}-qt${qt_major} {
if {${qt_major} eq 4} {
PortGroup qmake 1.0
} else {
PortGroup qmake${qt_major} 1.0
}
worksrcdir ${worksrcdir}/Qt4Qt5
# temporary path to fix necessary inclusion of QUrl
patchfiles-append patch-Qt4Qt5_qsciscintillabase.cpp.diff
if {${qt_major} eq 4} {
# enable C++11
configure.cxxflags-append -std=c++11
# respect configure.cxx_stdlib when linking
if {[string match *clang* ${configure.cxx}]} {
configure.ldflags-append -stdlib=${configure.cxx_stdlib}
}
} else {
qt${qt_major}.depends_component qtmacextras
configure.args-append CONFIG+=absolute_library_soname
configure.args-append CONFIG+=c++11
}
# work around build issue with qt4 version and QtAccessibility
if {${qt_major} eq 4} {
configure.args-append DEFINES+=QT_NO_ACCESSIBILITY
}
}
subport ${name}-designer-qt${qt_major} {
if {${qt_major} eq 4} {
PortGroup qmake 1.0
} else {
PortGroup qmake${qt_major} 1.0
}
description Qt Designer plugin for Qt${qt_major} QScintilla
long_description {*}${description}
worksrcdir ${worksrcdir}/designer-Qt4Qt5
patchfiles-append patch-add_debug.diff
if {${qt_major} eq 4} {
if {[variant_isset debug]} {
configure.args-append CONFIG+="debug_and_release build_all"
} else {
configure.args-append CONFIG+=release
}
} else {
qt${qt_major}.depends_component qttools
if {[variant_isset debug]} {
require_active_variants ${name}-qt${qt_major} debug
}
}
depends_lib-append \
port:${name}-qt${qt_major}
}
subport py-${name}-qt${qt_major} {
categories-append python
use_configure no
distfiles
patchfiles
supported_archs noarch
depends_lib port:py27-qscintilla-qt${qt_major}
build {}
destroot {
xinstall -d -m 755 ${destroot}${prefix}/share/doc/${subport}
system "echo $name is a stub port > ${destroot}${prefix}/share/doc/${subport}/README"
}
}
set python_versions {27 35 36 37 38}
foreach pver ${python_versions} {
subport py${pver}-${name}-qt${qt_major} {
if {${qt_major} eq 4} {
PortGroup qt4 1.0
} else {
PortGroup qmake${qt_major} 1.0
}
categories-append python
description Python bindings for Qt${qt_major} QScintilla
long_description Python bindings for Qt${qt_major} QScintilla, \
a port to Qt of Neil Hodgson's Scintilla C++ editor control.
worksrcdir ${worksrcdir}/Python
# allow configure.py to respect --spec=... argument
patchfiles-append patch-configure.py.diff
depends_lib-append \
port:qscintilla-qt${qt_major} \
port:python${pver} \
port:py${pver}-sip \
port:py${pver}-pyqt${qt_major}
if {${qt_major} eq 4} {
pre-configure {
set cache [open "${configure.dir}/.qmake.cache" w 0644]
puts ${cache} "CONFIG += ${qt_arch_types}"
close ${cache}
}
}
set python_ver_dot [join [split ${pver} ""] "."]
configure.python ${prefix}/bin/python${python_ver_dot}
# --prefix is not recognized
configure.pre_args
configure.cmd ${configure.python} configure.py
configure.args-append --verbose \
--pyqt=PyQt${qt_major} \
--sip=${prefix}/bin/sip-${python_ver_dot} \
--qmake=${qt_qmake_cmd} \
--no-dist-info
if {${qt_major} eq 4} {
configure.args-append \
--spec=${qt_qmake_spec}
} else {
qt5.spec_cmd --spec=
}
# --disable-dependency-tracking is not recognized
configure.universal_args-delete --disable-dependency-tracking
post-destroot {
move \
${destroot}${qt_data_dir}/qsci/api/python/QScintilla2.api \
${destroot}${qt_data_dir}/qsci/api/python/QScintilla2-Python${python_ver_dot}.api
}
}
}
}
if {${subport} eq ${name}} {
revision 1
distfiles
patchfiles
use_configure no
supported_archs noarch
build {}
destroot {
xinstall -d -m 755 ${destroot}${prefix}/share/doc/${subport}
system "echo $name is a stub port > ${destroot}${prefix}/share/doc/${subport}/README"
}
variant qt4 description "build Qt4 version of ${name}" {
depends_lib-append \
port:qscintilla-qt4 \
port:qscintilla-designer-qt4
}
variant qt5 description "build Qt5 version of ${name}" {
depends_lib-append \
port:qscintilla-qt5 \
port:qscintilla-designer-qt5
}
default_variants +qt4
}
livecheck.type regex
livecheck.url ${homepage}download
livecheck.regex >QScintilla\[^0-9.\]+\(\[0-9.\]+\)${extract.suffix}<