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

Last change on this file since 18777 was 15506, checked in by jberry, 15 years ago

Merge to HEAD changes between tags release_1_2-bp and release_1_2_0 on
release_1_2 branch. This should incorporate all changes that were made
on the 1.2 branch between the time it branched from HEAD, and the time
1.2 was tagged.

  • 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 perl5 1.0
38.Nm PortGroup python 1.0
39.Nm PortGroup python24 1.0
40.Nm PortGroup ruby 1.0
41.Nm PortGroup xcode 1.0
42.Sh DESCRIPTION
43Darwinports defines the notion of PortGroup classes with the PortGroup command.
44These classes factorize the work for similar ports.  Port maintainers willing to
45use
46.Nm PortGroup
47need to have some notion of Portfiles. See
48.Xr portfile 7
49.Pp
50.Sh XCODE PORTGROUP
51.Nm PortGroup xcode
52is here to easily port Xcode-based opensource software. It handles
53configuration, build and destroot phases. It also defines some values
54for Xcode-based software. A minimum Portfile using the xcode PortGroup class
55only defines the fetch and the checksum phases.
56.Pp
57Using
58.Nm PortGroup xcode
59is a way to make your port more robust to Xcode version updates as the PortGroup
60is tested against all supported MacOS X and Xcode versions.
61.Sh XCODE PORTGROUP SUGAR
62Portfiles using xcode PortGroup do not need to define the following variables:
63.Bl -tag -width lc
64.It Ic categories
65.Sy Default:
66.Em aqua
67.br
68.It Ic platforms
69.Sy Default:
70.Em macosx
71.br
72.It Ic use_configure
73.Sy Default:
74.Em no
75.El
76.br
77Moreover, Portfiles using
78.Nm PortGroup xcode
79do not need to define any build or destroot phase.  Some options are provided
80for tailoring these phases to what the software requires.
81.Sh XCODE PORTGROUP SPECIFIC VARIABLES
82Portfiles using xcode PortGroup may define the following variables:
83.Bl -tag -width lc
84.It Ic xcode.project
85path (relative to ${build.dir} and ${destroot.dir}) of the Xcode project. If
86unset, let xcode tool figure it out. It usually succeeds if there is a single
87project in the directory.
88.br
89.Sy Type:
90.Em optional
91.br
92.Sy Example:
93.Dl xcode.project ${name}.xcode
94.br
95.It Ic xcode.configuration
96Project configuration/buildstyle to use.
97.br
98.Sy Type:
99.Em optional
100.br
101.Sy Default:
102.Em Deployment
103.br
104.Sy Example:
105.Dl xcode.configuration Main
106.br
107.It Ic xcode.target
108If present, overrides build.target and destroot.target.
109.br
110.Sy Type:
111.Em optional
112.br
113.It Ic xcode.build.settings
114Additional settings passed to the xcode build tool during the build phase.
115These settings should be in the X=Y form.
116.br
117.Sy Type:
118.Em optional
119.br
120.Sy Example:
121.Bd -literal -offset indent -compact
122xcode.build.settings FRAMEWORK_SEARCH_PATHS=${prefix}/Library/Frameworks
123.Ed
124.It Ic xcode.destroot.type
125Type of project that will be installed. This tells Xcode PortGroup how to
126destroot the project. Correct values are application and framework.
127.br
128.Sy Type:
129.Em optional
130.br
131.Sy Default:
132.Em application
133.br
134.Sy Example:
135.Dl xcode.destroot.type framework
136.It Ic xcode.destroot.path
137Where to install the build product.
138.br
139.Sy Type:
140.Em optional
141.br
142.Sy Default:
143.Em /Library/Frameworks
144or
145.Em /Application/DarwinPorts depending on xcode.destroot.type
146.br
147.It Ic xcode.destroot.settings
148Additional settings passed to the xcode build tool during the destroot phase.
149These settings should be in the X=Y form.
150.br
151.Sy Type:
152.Em optional
153.br
154.Sy Example:
155.Bd -literal -offset indent -compact
156xcode.destroot.settings SKIP_INSTALL=NO
157.Ed
158.El
159.Sh STANDARD PORTFILE VARIABLES AFFECTING XCODE PORTGROUP
160The following standard Portfile variables actually affect
161.Nm xcode PortGroup.
162In most cases, you will not need to set any of these variables in the Portfile.
163.Bl -tag -width lc
164.It Ic destroot
165Where to destroot the project.
166.br
167.It Ic build.cmd
168The command to invoke to build the project.
169.Nm xcode PortGroup
170sets this variable to ${xcodebuildcmd}.
171.br
172.It Ic build.target
173The Xcode target to build.
174.Nm xcode PortGroup
175sets this variable to "", thus building all targets. This variable will be
176ignored if xcode.target is set.
177.br
178.It Ic build.pre_args
179Additional parameters for ${build.cmd}.
180.br
181.Sy Default:
182none
183.br
184.It Ic build.args
185Main parameters for ${build.cmd}.
186.br
187.Sy Default:
188.Em build
189.br
190.It Ic build.post_args
191Additional parameters for ${build.cmd}.
192.br
193.Sy Default:
194none
195.br
196.It Ic build.dir
197Where to build the project from (i.e. where the Xcode project is).
198.br
199.Sy Default:
200${worksrcpath}
201.br
202.It Ic destroot.cmd
203The command to invoke to destroot the project.
204.Nm xcode PortGroup
205sets this variable to xcodebuildcmd.
206.br
207.It Ic destroot.target
208The Xcode target to install.
209.Nm xcode PortGroup
210sets this variable to "", thus installing all targets. This variable will be
211ignored if xcode.target is set.
212.br
213.It Ic destroot.pre_args
214Additional parameters for ${destroot.cmd}.
215.br
216.Sy Default:
217none
218.br
219.It Ic destroot.args
220Main parameters for ${destroot.cmd}.
221.br
222.Sy Default:
223.Em install
224.br
225.It Ic destroot.post_args
226Additional parameters for ${destroot.cmd}.
227.br
228.Sy Default:
229none
230.br
231.It Ic destroot.dir
232Where to destroot the project from (i.e. where the Xcode project is).
233.br
234.Sy Default:
235${worksrcpath}
236.br
237.El
238.Sh SEE ALSO
239.Xr port 1 ,
240.Xr ports.conf 5 ,
241.Xr portfile 7 ,
242.Xr portstyle 7 ,
243.Xr porthier 7
244.Sh AUTHORS
245.An "Paul Guyot" Aq pguyot@kallisys.net
Note: See TracBrowser for help on using the repository browser.