source: trunk/base/doc/portgroup.7 @ 19325

Last change on this file since 19325 was 18984, checked in by pguyot (Paul Guyot), 14 years ago

Initial check in of gnustep group code.

Bug: #8139
Submitted by: yves@
Reviewed by:
Approved by:
Obtained from:

  • Property svn:eol-style set to native
File size: 6.5 KB
Line 
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
44Darwinports defines the notion of PortGroup classes with the PortGroup command.
45These classes factorize the work for similar ports.  Port maintainers willing to
46use
47.Nm PortGroup
48need to have some notion of Portfiles. See
49.Xr portfile 7
50.Pp
51.Sh XCODE PORTGROUP
52.Nm PortGroup xcode
53is here to easily port Xcode-based opensource software. It handles
54configuration, build and destroot phases. It also defines some values
55for Xcode-based software. A minimum Portfile using the xcode PortGroup class
56only defines the fetch and the checksum phases.
57.Pp
58Using
59.Nm PortGroup xcode
60is a way to make your port more robust to Xcode version updates as the PortGroup
61is tested against all supported MacOS X and Xcode versions.
62.Sh XCODE PORTGROUP SUGAR
63Portfiles 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
78Moreover, Portfiles using
79.Nm PortGroup xcode
80do not need to define any build or destroot phase.  Some options are provided
81for tailoring these phases to what the software requires.
82.Sh XCODE PORTGROUP SPECIFIC VARIABLES
83Portfiles using xcode PortGroup may define the following variables:
84.Bl -tag -width lc
85.It Ic xcode.project
86path (relative to ${build.dir} and ${destroot.dir}) of the Xcode project. If
87unset, let xcode tool figure it out. It usually succeeds if there is a single
88project 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
97Project 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
109If present, overrides build.target and destroot.target.
110.br
111.Sy Type:
112.Em optional
113.br
114.It Ic xcode.build.settings
115Additional settings passed to the xcode build tool during the build phase.
116These 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
123xcode.build.settings FRAMEWORK_SEARCH_PATHS=${prefix}/Library/Frameworks
124.Ed
125.It Ic xcode.destroot.type
126Type of project that will be installed. This tells Xcode PortGroup how to
127destroot 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
138Where to install the build product.
139.br
140.Sy Type:
141.Em optional
142.br
143.Sy Default:
144.Em /Library/Frameworks
145or
146.Em /Application/DarwinPorts depending on xcode.destroot.type
147.br
148.It Ic xcode.destroot.settings
149Additional settings passed to the xcode build tool during the destroot phase.
150These 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
157xcode.destroot.settings SKIP_INSTALL=NO
158.Ed
159.El
160.Sh STANDARD PORTFILE VARIABLES AFFECTING XCODE PORTGROUP
161The following standard Portfile variables actually affect
162.Nm xcode PortGroup.
163In most cases, you will not need to set any of these variables in the Portfile.
164.Bl -tag -width lc
165.It Ic destroot
166Where to destroot the project.
167.br
168.It Ic build.cmd
169The command to invoke to build the project.
170.Nm xcode PortGroup
171sets this variable to ${xcodebuildcmd}.
172.br
173.It Ic build.target
174The Xcode target to build.
175.Nm xcode PortGroup
176sets this variable to "", thus building all targets. This variable will be
177ignored if xcode.target is set.
178.br
179.It Ic build.pre_args
180Additional parameters for ${build.cmd}.
181.br
182.Sy Default:
183none
184.br
185.It Ic build.args
186Main parameters for ${build.cmd}.
187.br
188.Sy Default:
189.Em build
190.br
191.It Ic build.post_args
192Additional parameters for ${build.cmd}.
193.br
194.Sy Default:
195none
196.br
197.It Ic build.dir
198Where 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
204The command to invoke to destroot the project.
205.Nm xcode PortGroup
206sets this variable to xcodebuildcmd.
207.br
208.It Ic destroot.target
209The Xcode target to install.
210.Nm xcode PortGroup
211sets this variable to "", thus installing all targets. This variable will be
212ignored if xcode.target is set.
213.br
214.It Ic destroot.pre_args
215Additional parameters for ${destroot.cmd}.
216.br
217.Sy Default:
218none
219.br
220.It Ic destroot.args
221Main parameters for ${destroot.cmd}.
222.br
223.Sy Default:
224.Em install
225.br
226.It Ic destroot.post_args
227Additional parameters for ${destroot.cmd}.
228.br
229.Sy Default:
230none
231.br
232.It Ic destroot.dir
233Where to destroot the project from (i.e. where the Xcode project is).
234.br
235.Sy Default:
236${worksrcpath}
237.br
238.El
239.Sh SEE ALSO
240.Xr port 1 ,
241.Xr ports.conf 5 ,
242.Xr portfile 7 ,
243.Xr portstyle 7 ,
244.Xr porthier 7
245.Sh AUTHORS
246.An "Paul Guyot" Aq pguyot@kallisys.net
Note: See TracBrowser for help on using the repository browser.