1 | .\" portgroup.7 |
---|
2 | .\" |
---|
3 | .\" Copyright (c) 2005 Paul Guyot <pguyot@kallisys.net> |
---|
4 | .\" All rights reserved. |
---|
5 | .\" |
---|
6 | .\" Redistribution and use in source and binary forms, with or without |
---|
7 | .\" modification, are permitted provided that the following conditions |
---|
8 | .\" are met: |
---|
9 | .\" 1. Redistributions of source code must retain the above copyright |
---|
10 | .\" notice, this list of conditions and the following disclaimer. |
---|
11 | .\" 2. Redistributions in binary form must reproduce the above copyright |
---|
12 | .\" notice, this list of conditions and the following disclaimer in the |
---|
13 | .\" documentation and/or other materials provided with the distribution. |
---|
14 | .\" 3. Neither the name of Apple Computer, Inc. nor the names of its |
---|
15 | .\" contributors may be used to endorse or promote products derived from |
---|
16 | .\" this software without specific prior written permission. |
---|
17 | .\" |
---|
18 | .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
---|
19 | .\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
---|
20 | .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
---|
21 | .\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
---|
22 | .\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
---|
23 | .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
---|
24 | .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
---|
25 | .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
---|
26 | .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
---|
27 | .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
---|
28 | .\" POSSIBILITY OF SUCH DAMAGE. |
---|
29 | .\" |
---|
30 | .Dd August 31, 2005 |
---|
31 | .Dt XCODE 7 "Darwinports" |
---|
32 | .Os |
---|
33 | .Sh NAME |
---|
34 | .Nm PortGroup |
---|
35 | .Nd Darwinports PortGroup command reference |
---|
36 | .Sh SYNOPSIS |
---|
37 | .Nm PortGroup gnustep 1.0 |
---|
38 | .Nm PortGroup perl5 1.0 |
---|
39 | .Nm PortGroup python 1.0 |
---|
40 | .Nm PortGroup python24 1.0 |
---|
41 | .Nm PortGroup ruby 1.0 |
---|
42 | .Nm PortGroup xcode 1.0 |
---|
43 | .Sh DESCRIPTION |
---|
44 | Darwinports defines the notion of PortGroup classes with the PortGroup command. |
---|
45 | These classes factorize the work for similar ports. Port maintainers willing to |
---|
46 | use |
---|
47 | .Nm PortGroup |
---|
48 | need to have some notion of Portfiles. See |
---|
49 | .Xr portfile 7 |
---|
50 | .Pp |
---|
51 | .Sh XCODE PORTGROUP |
---|
52 | .Nm PortGroup xcode |
---|
53 | is here to easily port Xcode-based opensource software. It handles |
---|
54 | configuration, build and destroot phases. It also defines some values |
---|
55 | for Xcode-based software. A minimum Portfile using the xcode PortGroup class |
---|
56 | only defines the fetch and the checksum phases. |
---|
57 | .Pp |
---|
58 | Using |
---|
59 | .Nm PortGroup xcode |
---|
60 | is a way to make your port more robust to Xcode version updates as the PortGroup |
---|
61 | is tested against all supported MacOS X and Xcode versions. |
---|
62 | .Sh XCODE PORTGROUP SUGAR |
---|
63 | Portfiles using xcode PortGroup do not need to define the following variables: |
---|
64 | .Bl -tag -width lc |
---|
65 | .It Ic categories |
---|
66 | .Sy Default: |
---|
67 | .Em aqua |
---|
68 | .br |
---|
69 | .It Ic platforms |
---|
70 | .Sy Default: |
---|
71 | .Em macosx |
---|
72 | .br |
---|
73 | .It Ic use_configure |
---|
74 | .Sy Default: |
---|
75 | .Em no |
---|
76 | .El |
---|
77 | .br |
---|
78 | Moreover, Portfiles using |
---|
79 | .Nm PortGroup xcode |
---|
80 | do not need to define any build or destroot phase. Some options are provided |
---|
81 | for tailoring these phases to what the software requires. |
---|
82 | .Sh XCODE PORTGROUP SPECIFIC VARIABLES |
---|
83 | Portfiles using xcode PortGroup may define the following variables: |
---|
84 | .Bl -tag -width lc |
---|
85 | .It Ic xcode.project |
---|
86 | path (relative to ${build.dir} and ${destroot.dir}) of the Xcode project. If |
---|
87 | unset, let xcode tool figure it out. It usually succeeds if there is a single |
---|
88 | project in the directory. |
---|
89 | .br |
---|
90 | .Sy Type: |
---|
91 | .Em optional |
---|
92 | .br |
---|
93 | .Sy Example: |
---|
94 | .Dl xcode.project ${name}.xcode |
---|
95 | .br |
---|
96 | .It Ic xcode.configuration |
---|
97 | Project configuration/buildstyle to use. |
---|
98 | .br |
---|
99 | .Sy Type: |
---|
100 | .Em optional |
---|
101 | .br |
---|
102 | .Sy Default: |
---|
103 | .Em Deployment |
---|
104 | .br |
---|
105 | .Sy Example: |
---|
106 | .Dl xcode.configuration Main |
---|
107 | .br |
---|
108 | .It Ic xcode.target |
---|
109 | If present, overrides build.target and destroot.target. |
---|
110 | .br |
---|
111 | .Sy Type: |
---|
112 | .Em optional |
---|
113 | .br |
---|
114 | .It Ic xcode.build.settings |
---|
115 | Additional settings passed to the xcode build tool during the build phase. |
---|
116 | These settings should be in the X=Y form. |
---|
117 | .br |
---|
118 | .Sy Type: |
---|
119 | .Em optional |
---|
120 | .br |
---|
121 | .Sy Example: |
---|
122 | .Bd -literal -offset indent -compact |
---|
123 | xcode.build.settings FRAMEWORK_SEARCH_PATHS=${prefix}/Library/Frameworks |
---|
124 | .Ed |
---|
125 | .It Ic xcode.destroot.type |
---|
126 | Type of project that will be installed. This tells Xcode PortGroup how to |
---|
127 | destroot the project. Correct values are application and framework. |
---|
128 | .br |
---|
129 | .Sy Type: |
---|
130 | .Em optional |
---|
131 | .br |
---|
132 | .Sy Default: |
---|
133 | .Em application |
---|
134 | .br |
---|
135 | .Sy Example: |
---|
136 | .Dl xcode.destroot.type framework |
---|
137 | .It Ic xcode.destroot.path |
---|
138 | Where to install the build product. |
---|
139 | .br |
---|
140 | .Sy Type: |
---|
141 | .Em optional |
---|
142 | .br |
---|
143 | .Sy Default: |
---|
144 | .Em /Library/Frameworks |
---|
145 | or |
---|
146 | .Em /Application/DarwinPorts depending on xcode.destroot.type |
---|
147 | .br |
---|
148 | .It Ic xcode.destroot.settings |
---|
149 | Additional settings passed to the xcode build tool during the destroot phase. |
---|
150 | These settings should be in the X=Y form. |
---|
151 | .br |
---|
152 | .Sy Type: |
---|
153 | .Em optional |
---|
154 | .br |
---|
155 | .Sy Example: |
---|
156 | .Bd -literal -offset indent -compact |
---|
157 | xcode.destroot.settings SKIP_INSTALL=NO |
---|
158 | .Ed |
---|
159 | .El |
---|
160 | .Sh STANDARD PORTFILE VARIABLES AFFECTING XCODE PORTGROUP |
---|
161 | The following standard Portfile variables actually affect |
---|
162 | .Nm xcode PortGroup. |
---|
163 | In most cases, you will not need to set any of these variables in the Portfile. |
---|
164 | .Bl -tag -width lc |
---|
165 | .It Ic destroot |
---|
166 | Where to destroot the project. |
---|
167 | .br |
---|
168 | .It Ic build.cmd |
---|
169 | The command to invoke to build the project. |
---|
170 | .Nm xcode PortGroup |
---|
171 | sets this variable to ${xcodebuildcmd}. |
---|
172 | .br |
---|
173 | .It Ic build.target |
---|
174 | The Xcode target to build. |
---|
175 | .Nm xcode PortGroup |
---|
176 | sets this variable to "", thus building all targets. This variable will be |
---|
177 | ignored if xcode.target is set. |
---|
178 | .br |
---|
179 | .It Ic build.pre_args |
---|
180 | Additional parameters for ${build.cmd}. |
---|
181 | .br |
---|
182 | .Sy Default: |
---|
183 | none |
---|
184 | .br |
---|
185 | .It Ic build.args |
---|
186 | Main parameters for ${build.cmd}. |
---|
187 | .br |
---|
188 | .Sy Default: |
---|
189 | .Em build |
---|
190 | .br |
---|
191 | .It Ic build.post_args |
---|
192 | Additional parameters for ${build.cmd}. |
---|
193 | .br |
---|
194 | .Sy Default: |
---|
195 | none |
---|
196 | .br |
---|
197 | .It Ic build.dir |
---|
198 | Where to build the project from (i.e. where the Xcode project is). |
---|
199 | .br |
---|
200 | .Sy Default: |
---|
201 | ${worksrcpath} |
---|
202 | .br |
---|
203 | .It Ic destroot.cmd |
---|
204 | The command to invoke to destroot the project. |
---|
205 | .Nm xcode PortGroup |
---|
206 | sets this variable to xcodebuildcmd. |
---|
207 | .br |
---|
208 | .It Ic destroot.target |
---|
209 | The Xcode target to install. |
---|
210 | .Nm xcode PortGroup |
---|
211 | sets this variable to "", thus installing all targets. This variable will be |
---|
212 | ignored if xcode.target is set. |
---|
213 | .br |
---|
214 | .It Ic destroot.pre_args |
---|
215 | Additional parameters for ${destroot.cmd}. |
---|
216 | .br |
---|
217 | .Sy Default: |
---|
218 | none |
---|
219 | .br |
---|
220 | .It Ic destroot.args |
---|
221 | Main parameters for ${destroot.cmd}. |
---|
222 | .br |
---|
223 | .Sy Default: |
---|
224 | .Em install |
---|
225 | .br |
---|
226 | .It Ic destroot.post_args |
---|
227 | Additional parameters for ${destroot.cmd}. |
---|
228 | .br |
---|
229 | .Sy Default: |
---|
230 | none |
---|
231 | .br |
---|
232 | .It Ic destroot.dir |
---|
233 | Where to destroot the project from (i.e. where the Xcode project is). |
---|
234 | .br |
---|
235 | .Sy Default: |
---|
236 | ${worksrcpath} |
---|
237 | .br |
---|
238 | .Sh GNUSTEP PORTGROUP |
---|
239 | .Nm PortGroup gnustep |
---|
240 | is here to easily port GNUstep-based opensource software using the GNU |
---|
241 | objective-C runtime. It handles configuration, build and destroot phases. |
---|
242 | It also defines some values for GNUstep-based software. A minimum Portfile |
---|
243 | using the gnustep PortGroup class only defines the fetch and the checksum phases. |
---|
244 | .Pp |
---|
245 | .Sh GNUSTEP PORTGROUP SUGAR |
---|
246 | Portfiles using gnustep PortGroup do not need to define the following variables: |
---|
247 | .Bl -tag -width lc |
---|
248 | .It Ic categories |
---|
249 | .Sy Default: |
---|
250 | .Em gnustep |
---|
251 | .br |
---|
252 | .It Ic homepage |
---|
253 | .Sy Default: |
---|
254 | .Em http://www.gnustep.org/ |
---|
255 | .br |
---|
256 | .It Ic master_sites |
---|
257 | .Sy Default: |
---|
258 | .Em gnustep:core |
---|
259 | .br |
---|
260 | .It Ic depends_build |
---|
261 | .Sy Default: |
---|
262 | .Em port:gnustep-make |
---|
263 | .br |
---|
264 | .It Ic depends_lib |
---|
265 | .Sy Default: |
---|
266 | .Em gnustep-back |
---|
267 | .br |
---|
268 | .It Ic use_configure |
---|
269 | .Sy Default: |
---|
270 | .Em no |
---|
271 | .It Ic configure.args |
---|
272 | .Sy Default: |
---|
273 | .Em CC=gcc-dp-4.1 |
---|
274 | .br |
---|
275 | .It Ic build.type |
---|
276 | .Sy Default: |
---|
277 | .Em gnu |
---|
278 | .br |
---|
279 | .It Ic build.args |
---|
280 | .Sy Default: |
---|
281 | .Em messages=yes |
---|
282 | .br |
---|
283 | .It Ic destroot.args |
---|
284 | .Sy Default: |
---|
285 | .Em messages=yes |
---|
286 | .br |
---|
287 | .It Ic destroot.destdir |
---|
288 | .Sy Default: |
---|
289 | .Em GNUSTEP_INSTALLATION_DIR=${destroot}${prefix}/GNUstep/$gnustep.domain |
---|
290 | .br |
---|
291 | .br |
---|
292 | .El |
---|
293 | .br |
---|
294 | Moreover, Portfiles using |
---|
295 | .Nm PortGroup gnustep |
---|
296 | do not need to define any build or destroot phase. Some options are provided |
---|
297 | for tailoring these phases to what the software requires. A mechanism is also |
---|
298 | provided to ease the patch process. |
---|
299 | .Sh GNUSTEP PORTGROUP SPECIFIC VARIABLES |
---|
300 | Portfiles using |
---|
301 | .Nm gnustep PortGroup |
---|
302 | may define the following variables: |
---|
303 | .Bl -tag -width lc |
---|
304 | .It Ic gnustep.post_flags |
---|
305 | an associative array which specifies the sub-directories relative to ${worksrcpath} |
---|
306 | and the SHARED_LD_POSTFLAGS variables to be added to GNUmakefile.preamble in those |
---|
307 | sub-directories. This helps making the patching process easier on Darwin. |
---|
308 | .br |
---|
309 | .Sy Type: |
---|
310 | .Em optional |
---|
311 | .br |
---|
312 | .Sy Example: |
---|
313 | .Dl platform darwin { |
---|
314 | .Dl array set gnustep.post_flags { |
---|
315 | .Dl BundleSubDir """-lfoo -lbar"" |
---|
316 | .Dl } |
---|
317 | .Dl } |
---|
318 | .br |
---|
319 | .It Ic gnustep.domain |
---|
320 | can be System or Local. It is usually guessed by the |
---|
321 | .Nm gnustep PortGroup |
---|
322 | but it is sometimes necessary to force the installation directory. |
---|
323 | .br |
---|
324 | .Sy Type: |
---|
325 | .Em optional |
---|
326 | .br |
---|
327 | .Sy Default: |
---|
328 | .Em Local |
---|
329 | .br |
---|
330 | .Sy Example: |
---|
331 | .Dl gnustep.domain System |
---|
332 | .br |
---|
333 | .It Ic variant with_docs |
---|
334 | Many GNUstep packages include a Documentation sub-directory that is not |
---|
335 | built by default. Enabling this variant builds and installs the included |
---|
336 | documentation. |
---|
337 | .br |
---|
338 | .Sy Type: |
---|
339 | .Em optional |
---|
340 | .br |
---|
341 | .Sy Example: |
---|
342 | .Dl port install gnustep-gui +with_docs |
---|
343 | .br |
---|
344 | .El |
---|
345 | .El |
---|
346 | .Sh SEE ALSO |
---|
347 | .Xr port 1 , |
---|
348 | .Xr ports.conf 5 , |
---|
349 | .Xr portfile 7 , |
---|
350 | .Xr portstyle 7 , |
---|
351 | .Xr porthier 7 |
---|
352 | .Sh AUTHORS |
---|
353 | .An "Paul Guyot" Aq pguyot@kallisys.net |
---|