Changeset 123002
- Timestamp:
- Aug 3, 2014, 4:06:51 PM (10 years ago)
- Location:
- trunk/base
- Files:
-
- 1 deleted
- 16 edited
- 36 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/base/Mk/macports.autoconf.mk.in
r118562 r123002 71 71 portsdir = @PORTSDIR@ 72 72 73 MACPORTS_VERSION = @MACPORTS_VERSION@ 74 73 75 SILENT = @ -
trunk/base/configure
r120187 r123002 728 728 MDLS 729 729 MDFIND 730 MAN 730 731 MAKE 731 732 LZMA … … 5179 5180 5180 5181 5182 # Extract the first word of "man", so it can be a program name with args. 5183 set dummy man; ac_word=$2 5184 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 5185 $as_echo_n "checking for $ac_word... " >&6; } 5186 if ${ac_cv_path_MAN+:} false; then : 5187 $as_echo_n "(cached) " >&6 5188 else 5189 case $MAN in 5190 [\\/]* | ?:[\\/]*) 5191 ac_cv_path_MAN="$MAN" # Let the user override the test with a path. 5192 ;; 5193 *) 5194 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5195 for as_dir in $PATH 5196 do 5197 IFS=$as_save_IFS 5198 test -z "$as_dir" && as_dir=. 5199 for ac_exec_ext in '' $ac_executable_extensions; do 5200 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 5201 ac_cv_path_MAN="$as_dir/$ac_word$ac_exec_ext" 5202 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 5203 break 2 5204 fi 5205 done 5206 done 5207 IFS=$as_save_IFS 5208 5209 ;; 5210 esac 5211 fi 5212 MAN=$ac_cv_path_MAN 5213 if test -n "$MAN"; then 5214 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAN" >&5 5215 $as_echo "$MAN" >&6; } 5216 else 5217 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5218 $as_echo "no" >&6; } 5219 fi 5220 5221 5181 5222 # Extract the first word of "mdfind", so it can be a program name with args. 5182 5223 set dummy mdfind; ac_word=$2 … … 6061 6102 $as_echo "no" >&6; } 6062 6103 fi 6063 6064 6104 6065 6105 -
trunk/base/configure.ac
r120187 r123002 146 146 AC_PATH_PROG(LZMA, [lzma], []) 147 147 AC_PATH_PROG(MAKE, [make]) 148 AC_PATH_PROG(MAN, [man]) 148 149 AC_PATH_PROG(MDFIND, [mdfind], []) 149 150 AC_PATH_PROG(MDLS, [mdls], []) … … 169 170 170 171 AC_CHECK_PROG(HAVE_LAUNCHD, [launchd], [yes], [], [/sbin]) 171 172 172 173 173 if test "x$MTREE" = "x"; then -
trunk/base/doc
- Property svn:ignore
-
old new 5 5 prefix.mtree 6 6 macosx.mtree 7 asciidoc.conf 7 8 *[0-9].gz 9 *[0-9].xml 10 *[0-9].html 11 .dep
-
- Property svn:ignore
-
trunk/base/doc/Makefile.in
r122044 r123002 2 2 VPATH = @srcdir@ 3 3 4 MAN1= port.1 4 # If this is a selfupdate, we never want to run any tools from the target 5 # prefix (could be broken or wrong architecture), otherwise try to use the 6 # tools from the target prefix for generating man pages if they exist 7 ifeq ($(SELFUPDATING),1) 8 ASCIIDOC= 9 XSLTPROC= 10 else 11 ASCIIDOC= $(wildcard ${prefix}/bin/asciidoc) 12 XSLTPROC= $(wildcard ${prefix}/bin/xsltproc) 13 endif 14 15 ASCIIDOCFLAGS= -f asciidoc.conf -a manversion=${MACPORTS_VERSION} 16 XSLTFLAGS= -nonet 17 18 MAN1= port.1 \ 19 port-activate.1 \ 20 port-build.1 \ 21 port-checksum.1 \ 22 port-configure.1 \ 23 port-deactivate.1 \ 24 port-destroot.1 \ 25 port-edit.1 \ 26 port-extract.1 \ 27 port-fetch.1 \ 28 port-install.1 \ 29 port-patch.1 \ 30 port-uninstall.1 5 31 MAN5= macports.conf.5 6 MAN7= portfile.7 portstyle.7 porthier.7 portgroup.7 7 CONF= archive_sites.conf macports.conf pubkeys.conf sources.conf variants.conf 32 MAN7= portfile.7 portstyle.7 porthier.7 portgroup.7 portundocumented.7 33 MAN= ${MAN1} ${MAN5} ${MAN7} 34 35 # Filter man pages with existing source files 36 MANTXT= $(wildcard ${MAN:%=%.txt}) 37 # Only those can be transformed into XML 38 MANXML= ${MANTXT:.txt=.xml} 39 # HTML version for all man pages 40 MANHTML= ${MAN:%=%.html} 41 42 CONF= archive_sites.conf macports.conf pubkeys.conf sources.conf variants.conf 8 43 INSTALLDIR= ${DESTDIR}${prefix} 9 44 TOPSRCDIR= .. … … 13 48 endif 14 49 15 all: ${MAN1:.1=.1.gz} ${MAN5:.5=.5.gz} ${MAN7:.7=.7.gz} 50 all: man 51 52 # Update "include::" dependencies 53 .dep: $(wildcard *.txt) asciidoc-deps.tcl 54 $(INTREE_TCLSH) ./asciidoc-deps.tcl *.txt > $@ 55 56 -include .dep 57 58 .PHONY: man xml html 59 60 man: ${MAN} ${MAN:%=%.gz} 61 62 xml: ${MANXML} 63 64 html: ${MANHTML} 16 65 17 66 clean: 67 rm -f ${MANTXT:%.txt=%.gz} 68 rm -f ${MANTXT:%.txt=%.html} 69 rm -f ${MANTXT:%.txt=%.xml} 18 70 rm -f *.{1,5,7}.gz 71 rm -f .dep 19 72 20 73 test: … … 32 85 %.7.gz: %.7 33 86 gzip -c $^ > $@ 87 88 %: %.soelim 89 ln -f $< $@ 90 91 %.html: %.soelim 92 ln -sf $(shell basename $$(awk '{print $$2}' < $<)).html $@ 93 94 # Define these rules only if both asciidoc and xsltproc are available 95 ifneq ($(ASCIIDOC)$(XSLTPROC),) 96 %: %.xml manpage.xsl 97 $(XSLTPROC) $(XSLTFLAGS) manpage.xsl $< 98 99 %.xml: %.txt asciidoc.conf 100 $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< 101 102 %.html: %.txt asciidoc.conf 103 $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b xhtml11 $< 104 else 105 man: ${MAN} ${MAN:%=%.gz} 106 @echo "* Warning: Using pre-generated man pages only." 107 @echo "* asciidoc and xsltproc are required to generate man pages from source." 108 109 %.xml %.html: | %.txt 110 @echo "* In order to modify and generate output from these source files," 111 @echo "* please install asciidoc and xsltproc or use" 112 @echo "* $(MAKE) ASCIIDOC=.../bin/asciidoc XSLTPROC=../bin/xsltproc" 113 @echo "* with appropriate paths." 114 @exit 1 115 endif 34 116 35 117 install: all … … 64 146 $(INSTALL) -o "${DSTUSR}" -g "${DSTGRP}" -m 644 prefix.mtree "${INSTALLDIR}/share/macports/install/" 65 147 $(INSTALL) -o "${DSTUSR}" -g "${DSTGRP}" -m 644 macosx.mtree "${INSTALLDIR}/share/macports/install/" 66 $(INSTALL) -o "${DSTUSR}" -g "${DSTGRP}" -m 444 port.1.gz "${INSTALLDIR}/share/man/man1" 67 $(INSTALL) -o "${DSTUSR}" -g "${DSTGRP}" -m 444 macports.conf.5.gz "${INSTALLDIR}/share/man/man5" 68 $(INSTALL) -o "${DSTUSR}" -g "${DSTGRP}" -m 444 portfile.7.gz "${INSTALLDIR}/share/man/man7" 69 $(INSTALL) -o "${DSTUSR}" -g "${DSTGRP}" -m 444 portstyle.7.gz "${INSTALLDIR}/share/man/man7" 70 $(INSTALL) -o "${DSTUSR}" -g "${DSTGRP}" -m 444 porthier.7.gz "${INSTALLDIR}/share/man/man7" 71 $(INSTALL) -o "${DSTUSR}" -g "${DSTGRP}" -m 444 portgroup.7.gz "${INSTALLDIR}/share/man/man7" 148 149 for page in ${MAN1} ${MAN5} ${MAN7}; do \ 150 $(INSTALL) -o "${DSTUSR}" -g "${DSTGRP}" -m 444 "$${page}.gz" "${INSTALLDIR}/share/man/man$$(echo $$page | sed -e 's/.*\.//')"; \ 151 done -
trunk/base/doc/macports.conf.5
r99275 r123002 1 .\" Copyright (c) 2005 Matt Anton <matt@opendarwin.org> 2 .\" Copyright (c) 2007 Juan Manuel Palacios <jmpp@macports.org> 3 .\" Copyright (c) 2007-2011 The MacPorts Project 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 .\" 15 .\" THIS SOFTWARE IS PROVIDED BY Eric Melville AND CONTRIBUTORS ``AS IS'' AND 16 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 19 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 .\" SUCH DAMAGE. 26 .\" 27 .Dd May 22, 2007 28 .Dt MACPORTS.CONF 5 "MacPorts" 29 .Os 30 .Sh NAME 31 macports.conf 32 .Nd Configuration file of the MacPorts system 33 .Sh DESCRIPTION 34 .Nm macports.conf 35 is the configuration file used to bootstrap the MacPorts system. This file is read by the 36 .Nm port 37 command and determines how it behaves. Lines beginning with '#' are comments, empty lines are ignored. 38 The format is that of a simple key/value space or tab separated pair. 39 .Pp 1 '\" t 2 .TH "MACPORTS\&.CONF" "5" "2013\-03\-10" "MacPorts 2\&.3\&.99" "MacPorts Manual" 3 .\" ----------------------------------------------------------------- 4 .\" * Define some portability stuff 5 .\" ----------------------------------------------------------------- 6 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7 .\" http://bugs.debian.org/507673 8 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html 9 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10 .ie \n(.g .ds Aq \(aq 11 .el .ds Aq ' 12 .\" ----------------------------------------------------------------- 13 .\" * set default formatting 14 .\" ----------------------------------------------------------------- 15 .\" disable hyphenation 16 .nh 17 .\" disable justification (adjust text to left margin only) 18 .ad l 19 .\" ----------------------------------------------------------------- 20 .\" * MAIN CONTENT STARTS HERE * 21 .\" ----------------------------------------------------------------- 22 .SH "NAME" 23 macports.conf \- Configuration file of the MacPorts system 24 .SH "DESCRIPTION" 25 .sp 26 \fBmacports\&.conf\fR is the configuration file used to bootstrap the MacPorts system\&. This file is read by the \fBport\fR command and determines how it behaves\&. Lines beginning with \fI#\fR are comments, empty lines are ignored\&. The format is that of a simple key/value space or tab separated pair\&. 27 .sp 40 28 The file contains entries of the form: 41 .Pp 42 .Dl Va "<key> <value>" 43 .Pp 44 The value of any given key can be referred to by the '${<keyname>}' abstraction, where <keyname> expands 45 to the key in question. 46 .Pp 47 .Sh KEYS 48 The following keys are used by 49 .Nm port 50 itself: 51 .Pp 52 .Bl -tag -width lc 53 .It Va prefix 54 Sets the directory where ports are installed. Any path may be used but those with spaces and/or non ascii 55 characters should be avoided, as this can break some ports. This key is often referred to as '${prefix}'. 56 .br 57 .Ic Default: 29 .sp 30 .if n \{\ 31 .RS 4 32 .\} 33 .nf 34 <key> <value> 35 .fi 36 .if n \{\ 37 .RE 38 .\} 39 .sp 40 The value of any given key can be referred to by the \fI${<keyname>}\fR abstraction, where \fI<keyname>\fR expands to the key in question\&. 41 .SH "KEYS" 42 .sp 43 The following keys are used by \fBport\fR itself: 44 .PP 45 prefix 46 .RS 4 47 Sets the directory where ports are installed\&. Any path may be used but those with spaces and/or non ascii characters should be avoided, as this can break some ports\&. This key is often referred to as 48 \fI${prefix}\fR\&. 49 .TS 50 tab(:); 51 lt lt. 52 T{ 53 \fBDefault:\fR 54 T}:T{ 58 55 /opt/local 59 .It Va portdbpath 60 Directory where MacPorts keeps working data such as downloaded sources, installed ports' receipts 61 and the main registry. The same path restrictions apply as for '${prefix}'. 62 .br 63 .Ic Default: 56 T} 57 .TE 58 .sp 1 59 .RE 60 .PP 61 portdbpath 62 .RS 4 63 Directory where MacPorts keeps working data such as downloaded sources, installed ports\*(Aq receipts and the main registry\&. The same path restrictions apply as for 64 \fI${prefix}\fR\&. 65 .TS 66 tab(:); 67 lt lt. 68 T{ 69 \fBDefault:\fR 70 T}:T{ 64 71 ${prefix}/var/macports 65 .It Va portdbformat 66 Storage type to use for the MacPorts registry. The preferred format is "sqlite", with "flat" 67 also available as a legacy format. 68 .br 69 .Ic Default: 72 T} 73 .TE 74 .sp 1 75 .RE 76 .PP 77 portdbformat 78 .RS 4 79 Storage type to use for the MacPorts registry\&. The preferred format is "sqlite", with "flat" also available as a legacy format\&. 80 .TS 81 tab(:); 82 lt lt. 83 T{ 84 \fBDefault:\fR 85 T}:T{ 70 86 sqlite 71 .It Va applications_dir 72 Directory containing Applications installed from ports. 73 .br 74 .Ic Default: 87 T} 88 .TE 89 .sp 1 90 .RE 91 .PP 92 applications_dir 93 .RS 4 94 Directory containing Applications installed from ports\&. 95 .TS 96 tab(:); 97 lt lt. 98 T{ 99 \fBDefault:\fR 100 T}:T{ 75 101 /Applications/MacPorts 76 .It Va frameworks_dir 77 Directory containing Frameworks installed from ports. 78 .br 79 .Ic Default: 102 T} 103 .TE 104 .sp 1 105 .RE 106 .PP 107 frameworks_dir 108 .RS 4 109 Directory containing Frameworks installed from ports\&. 110 .TS 111 tab(:); 112 lt lt. 113 T{ 114 \fBDefault:\fR 115 T}:T{ 80 116 ${prefix}/Library/Frameworks 81 .It Va sources_conf 82 Location of the sources file. This file enables rsync synchronization of the default ports tree with the 83 MacPorts rsync server (through the "sync" target of the 84 .Nm port 85 command) and any other local tree(s) you might have. 86 .br 87 .Ic Default: 88 ${prefix}/etc/macports/sources.conf 89 .It Va variants_conf 90 Location of the optional global variants definition file, listing those that should be used in all installed 91 ports if available. 92 .br 93 .Ic Default: 94 ${prefix}/etc/macports/variants.conf 95 .It Va buildfromsource 96 Controls whether ports are built from source or downloaded as pre-built 97 archives. Setting to 'always' will never use archives, 'never' will always 98 try to use an archive and fail if one is not available. 'ifneeded' will try to 99 fetch an archive and fall back to building from source if that isn't possible. 100 .br 101 .Ic Default: 117 T} 118 .TE 119 .sp 1 120 .RE 121 .PP 122 sources_conf 123 .RS 4 124 Location of the sources file\&. This file enables rsync synchronization of the default ports tree with the MacPorts rsync server (through the "sync" target of the port command) and any other local tree(s) you might have\&. 125 .TS 126 tab(:); 127 lt lt. 128 T{ 129 \fBDefault:\fR 130 T}:T{ 131 ${prefix}/etc/macports/sources\&.conf 132 T} 133 .TE 134 .sp 1 135 .RE 136 .PP 137 variants_conf 138 .RS 4 139 Location of the optional global variants definition file, listing those that should be used in all installed ports if available\&. 140 .TS 141 tab(:); 142 lt lt. 143 T{ 144 \fBDefault:\fR 145 T}:T{ 146 ${prefix}/etc/macports/variants\&.conf 147 T} 148 .TE 149 .sp 1 150 .RE 151 .PP 152 buildfromsource 153 .RS 4 154 Controls whether ports are built from source or downloaded as pre\-built archives\&. Setting to 155 \fIalways\fR 156 will never use archives, 157 \fInever\fR 158 will always try to use an archive and fail if one is not available\&. 159 \fIifneeded\fR 160 will try to fetch an archive and fall back to building from source if that isn\(cqt possible\&. 161 .TS 162 tab(:); 163 lt lt. 164 T{ 165 \fBDefault:\fR 166 T}:T{ 102 167 ifneeded 103 .It Va portarchivetype 104 Format of archives in which to store port images. This controls both the type 105 of archive created locally after building from source, and the type to request 106 from remote servers. Changing this will not affect the usability of already 107 installed archives; they can be of any supported type. 108 .br 109 Supported types are: tgz, tar, tbz, tbz2, tlz, txz, xar, zip, cpgz, cpio 110 .br 111 .Ic Default: 168 T} 169 .TE 170 .sp 1 171 .RE 172 .PP 173 portarchivetype 174 .RS 4 175 Format of archives in which to store port images\&. This controls both the type of archive cre\- ated locally after building from source, and the type to request from remote servers\&. Changing this will not affect the usability of already installed archives; they can be of any supported type\&. 176 .TS 177 tab(:); 178 lt lt 179 lt lt. 180 T{ 181 \fBSupported types:\fR 182 T}:T{ 183 tgz, tar, tbz, tbz2, tlz, txz, xar, zip, cpgz, cpio 184 T} 185 T{ 186 \fBDefault:\fR 187 T}:T{ 112 188 tbz2 113 .It Va configureccache 114 Use ccache (C/C++ compiler cache). Requires that ccache has been installed. 115 .br 116 .Ic Default: 189 T} 190 .TE 191 .sp 1 192 .RE 193 .PP 194 configureccache 195 .RS 4 196 Use ccache (C/C++ compiler cache)\&. Requires that ccache has been installed\&. 197 .TS 198 tab(:); 199 lt lt. 200 T{ 201 \fBDefault:\fR 202 T}:T{ 117 203 no 118 .It Va ccache_dir 204 T} 205 .TE 206 .sp 1 207 .RE 208 .PP 209 ccache_dir 210 .RS 4 119 211 Location where ccache stores its files 120 .br 121 .Ic Default: 122 ${portdbpath}/build/.ccache 123 .It Va ccache_size 124 Maximum size ccache may use. 125 .br 126 Use 'G', 'M', or 'K' suffix for giga-, mega- or kilobytes. 127 .br 128 .Ic Default: 212 .TS 213 tab(:); 214 lt lt. 215 T{ 216 \fBDefault:\fR 217 T}:T{ 218 ${portdbpath}/build/\&.ccache 219 T} 220 .TE 221 .sp 1 222 .RE 223 .PP 224 ccache_size 225 .RS 4 226 Maximum size ccache may use\&. Use 227 \fIG\fR, 228 \fIM\fR, or 229 \fIK\fR 230 suffix for giga\-, mega\- or kilobytes\&. 231 .TS 232 tab(:); 233 lt lt. 234 T{ 235 \fBDefault:\fR 236 T}:T{ 129 237 2G 130 .It Va configuredistcc 131 Use distcc (distributed compiler). Requires that distcc has been installed. 132 .br 133 .Ic Default: 238 T} 239 .TE 240 .sp 1 241 .RE 242 .PP 243 configuredistcc 244 .RS 4 245 Use distcc (distributed compiler)\&. Requires that distcc has been installed\&. 246 .TS 247 tab(:); 248 lt lt. 249 T{ 250 \fBDefault:\fR 251 T}:T{ 134 252 no 135 .It Va configurepipe 136 Use pipes rather than intermediate files when compiling C/C++/etc (gcc -pipe) 137 .br 138 .Ic Default: 253 T} 254 .TE 255 .sp 1 256 .RE 257 .PP 258 configurepipe 259 .RS 4 260 Use pipes rather than intermediate files when compiling C/C++/etc (gcc \-pipe) 261 .TS 262 tab(:); 263 lt lt. 264 T{ 265 \fBDefault:\fR 266 T}:T{ 139 267 yes 140 .It Va buildnicevalue 141 Lowered scheduling priority (0-20) to use for make when building ports 142 .br 143 .Ic Default: 268 T} 269 .TE 270 .sp 1 271 .RE 272 .PP 273 buildnicevalue 274 .RS 4 275 Lowered scheduling priority (0\-20) to use for make when building ports 276 .TS 277 tab(:); 278 lt lt. 279 T{ 280 \fBDefault:\fR 281 T}:T{ 144 282 0 145 .It Va buildmakejobs 146 Number of simultaneous make jobs (commands) to use when building ports. 0 is a 147 special value meaning "the number of CPU cores or the number of GB 148 of physical memory plus one, whichever is less." 149 .br 150 .Ic Default: 283 T} 284 .TE 285 .sp 1 286 .RE 287 .PP 288 buildmakejobs 289 .RS 4 290 Number of simultaneous make jobs (commands) to use when building ports\&. 0 is a special value meaning "the number of CPU cores or the number of GB of physical memory plus one, whichever is less\&." 291 .TS 292 tab(:); 293 lt lt. 294 T{ 295 \fBDefault:\fR 296 T}:T{ 151 297 0 152 .It Va portautoclean 153 Automatic cleaning of the build directory of a given port after it has been installed. 154 .br 155 .Ic Default: 298 T} 299 .TE 300 .sp 1 301 .RE 302 .PP 303 portautoclean 304 .RS 4 305 Automatic cleaning of the build directory of a given port after it has been installed\&. 306 .TS 307 tab(:); 308 lt lt. 309 T{ 310 \fBDefault:\fR 311 T}:T{ 156 312 yes 157 .It Va keeplogs 158 Keep logs for ports 159 .br 160 .Ic Default: 313 T} 314 .TE 315 .sp 1 316 .RE 317 .PP 318 keeplogs 319 .RS 4 320 Keep logs for ports\&. 321 .TS 322 tab(:); 323 lt lt. 324 T{ 325 \fBDefault:\fR 326 T}:T{ 161 327 no 162 .It Va build_arch 163 The machine architecture to try to build for in normal use 164 .br 165 Regular architectures include: ppc, i386, ppc64, x86_64 166 .br 167 .Ic Default (10.6): 328 T} 329 .TE 330 .sp 1 331 .RE 332 .PP 333 build_arch 334 .RS 4 335 The machine architecture to try to build for in normal use\&. 336 .TS 337 tab(:); 338 lt lt 339 lt lt 340 lt lt. 341 T{ 342 \fBRegular architectures include:\fR 343 T}:T{ 344 ppc, i386, ppc64, x86_64 345 T} 346 T{ 347 \fBDefault (10\&.6):\fR 348 T}:T{ 168 349 x86_64 or i386 depending on hardware 169 .br 170 .Ic Default (10.5 and earlier): 350 T} 351 T{ 352 \fBDefault (10\&.5 and earlier):\fR 353 T}:T{ 171 354 i386 or ppc depending on hardware 172 .It Va universal_archs 173 The machine architectures to use for +universal variant 174 (multiple architecture entries should be space separated) 175 .br 176 Regular architectures include: ppc, i386, ppc64, x86_64 177 .br 178 .Ic Default (10.6): 355 T} 356 .TE 357 .sp 1 358 .RE 359 .PP 360 universal_archs 361 .RS 4 362 The machine architectures to use for +universal variant (multiple architecture entries should be space separated)\&. 363 .TS 364 tab(:); 365 lt lt 366 lt lt 367 lt lt. 368 T{ 369 \fBRegular architectures include:\fR 370 T}:T{ 371 ppc, i386, ppc64, x86_64 372 T} 373 T{ 374 \fBDefault (10\&.6):\fR 375 T}:T{ 179 376 x86_64 i386 180 .br 181 .Ic Default (10.5 and earlier): 377 T} 378 T{ 379 \fBDefault (10\&.5 and earlier):\fR 380 T}:T{ 182 381 i386 ppc 183 .It Va startupitem_type 184 Set the default type of startupitems to be generated, overridable by Portfiles that explicitly state a 185 startupitem.type key. If set to "default", then a type will be selected that's appropriate to the OS. 186 Supported types are: none, SystemStarter, launchd, default, rcNG. 187 .br 188 .Ic Default: 382 T} 383 .TE 384 .sp 1 385 .RE 386 .PP 387 startupitem_type 388 .RS 4 389 Set the default type of startupitems to be generated, overridable by Portfiles that explicitly state a startupitem\&.type key\&. If set to "default", then a type will be selected that\(cqs appropriate to the OS\&. 390 .TS 391 tab(:); 392 lt lt 393 lt lt. 394 T{ 395 \fBSupported types:\fR 396 T}:T{ 397 none, SystemStarter, launchd, default, rcNG\&. 398 T} 399 T{ 400 \fBDefault:\fR 401 T}:T{ 189 402 default 190 .It Va startupitem_install 191 Option to install symlinks into /Library/LaunchAgents or 192 /Library/LaunchDaemons; startupitem_install may be empty, "yes" or "no"; 193 if the option is NOT "no" then a symlink for the startupitem will be 194 created in the appropriate system directory. 195 .br 196 .Ic Default: 403 T} 404 .TE 405 .sp 1 406 .RE 407 .PP 408 destroot_umask 409 .RS 4 410 Umask value to use during the destrooting of a port\&. 411 .TS 412 tab(:); 413 lt lt. 414 T{ 415 \fBDefault:\fR 416 T}:T{ 417 022 418 T} 419 .TE 420 .sp 1 421 .RE 422 .PP 423 rsync_server 424 .RS 4 425 Default rsync server to connect to when running "selfupdate" through the port com\- mand to update your base MacPorts infrastructure\&. While selfupdate also syncs the ports tree, it uses the settings from ${sources_conf} to do so\&. 426 .TS 427 tab(:); 428 lt lt. 429 T{ 430 \fBDefault:\fR 431 T}:T{ 432 rsync\&.macports\&.org 433 T} 434 .TE 435 .sp 1 436 .RE 437 .PP 438 rsync_dir 439 .RS 4 440 Rsync directory from which to pull MacPorts sources from the rsync server\&. 441 .TS 442 tab(:); 443 lt lt. 444 T{ 445 \fBDefault:\fR 446 T}:T{ 447 release/base/ (which pulls sources for the currently shipping MacPorts release) 448 T} 449 .TE 450 .sp 1 451 .RE 452 .PP 453 rsync_options 454 .RS 4 455 Default rsync options to use when connecting to the rsync server\&. 456 .TS 457 tab(:); 458 lt lt. 459 T{ 460 \fBDefault:\fR 461 T}:T{ 462 \-rtzv \-\-delete\-after 463 T} 464 .TE 465 .sp 1 466 .RE 467 .PP 468 binpath 469 .RS 4 470 Sets the directory search path for locating system executables used by MacPorts\&. This variable should contain the paths for locating utilities such as rsync, tar, cvs and others\&. Don\(cqt change this unless you understand and accept the consequences\&. 471 .TS 472 tab(:); 473 lt lt. 474 T{ 475 \fBDefault:\fR 476 T}:T{ 477 ${prefix}/bin:${prefix}/sbin:/bin:/sbin:/usr/bin:/usr/sbin 478 T} 479 .TE 480 .sp 1 481 .RE 482 .PP 483 extra_env 484 .RS 4 485 List of extra environment variables MacPorts should keep in the user\(cqs environment when sanitizing it\&. Changing this is unsupported\&. 486 .RE 487 .PP 488 proxy_override_env 489 .RS 4 490 Proxy support\&. Precedence is: env, macports\&.conf, System Preferences\&. That is, if it\(cqs set in the environment, that will be used instead of anything here or in System Preferences\&. Setting proxy_override_env to yes will cause any proxies set here (or in System Preferences if set there but not here) to override what\(cqs in the environment\&. Note that System Preferences doesn\(cqt have an rsync proxy definition\&. Also note, on 10\&.5, sudo will clear many environment variables including those for proxy support\&. Equivalent environment variables: http_proxy, HTTPS_PROXY, FTP_PROXY, RSYNC_PROXY, NO_PROXY 491 .TS 492 tab(:); 493 lt lt. 494 T{ 495 \fBDefault:\fR 496 T}:T{ 197 497 yes 198 .It Va destroot_umask 199 Umask value to use during the destrooting of a port. 200 .br 201 .Ic Default: 202 022 203 .It Va rsync_server 204 Default rsync server to connect to when running "selfupdate" through the 205 .Nm port 206 command to update your base MacPorts infrastructure. While selfupdate also 207 syncs the ports tree, it uses the settings from ${sources_conf} to do so. 208 .br 209 .Ic Default: 210 rsync.macports.org 211 .It Va rsync_dir 212 Rsync directory from which to pull MacPorts sources from the rsync server. 213 .br 214 .Ic Default: 215 release/base/ (which pulls sources for the currently shipping MacPorts release) 216 .It Va rsync_options 217 Default rsync options to use when connecting to the rsync server. 218 .br 219 .Ic Default: 220 -rtzv --delete-after 221 .It Va binpath 222 Sets the directory search path for locating system executables used by MacPorts. This variable should contain 223 the paths for locating utilities such as rsync, tar, cvs and others. Changing this is unsupported; don't do so 224 unless you understand and accept the consequences. 225 .br 226 .Ic Default: 227 ${prefix}/bin:${prefix}/sbin:/bin:/sbin:/usr/bin:/usr/sbin 228 .It Va extra_env 229 List of extra environment variables MacPorts should keep in the user's environment when sanitizing it. 230 Changing this is unsupported. 231 .It Va proxy_override_env 232 Proxy support. Precedence is: env, macports.conf, System Preferences. 233 That is, if it's set in the environment, that will be used instead of 234 anything here or in System Preferences. Setting proxy_override_env to 235 yes will cause any proxies set here (or in System Preferences if set 236 there but not here) to override what's in the environment. Note that 237 System Preferences doesn't have an rsync proxy definition. Also note, on 238 10.5, sudo will clear many environment variables including those for 239 proxy support. Equivalent environment variables: http_proxy, 240 HTTPS_PROXY, FTP_PROXY, RSYNC_PROXY, NO_PROXY 241 .br 242 .Ic Default: 498 T} 499 .TE 500 .sp 1 501 .RE 502 .PP 503 proxy_http 504 .RS 4 505 HTTP proxy 506 .TS 507 tab(:); 508 lt lt. 509 T{ 510 \fBDefault:\fR 511 T}:T{ 512 none 513 T} 514 .TE 515 .sp 1 516 .RE 517 .PP 518 proxy_https 519 .RS 4 520 HTTPS proxy 521 .TS 522 tab(:); 523 lt lt. 524 T{ 525 \fBDefault:\fR 526 T}:T{ 527 none 528 T} 529 .TE 530 .sp 1 531 .RE 532 .PP 533 proxy_ftp 534 .RS 4 535 FTP proxy 536 .TS 537 tab(:); 538 lt lt. 539 T{ 540 \fBDefault:\fR 541 T}:T{ 542 none 543 T} 544 .TE 545 .sp 1 546 .RE 547 .PP 548 proxy_rsync 549 .RS 4 550 rsync proxy 551 .TS 552 tab(:); 553 lt lt. 554 T{ 555 \fBDefault:\fR 556 T}:T{ 557 none 558 T} 559 .TE 560 .sp 1 561 .RE 562 .PP 563 proxy_skip 564 .RS 4 565 Hosts not to go through the proxy (comma\-separated, applies to HTTP, HTTPS and FTP, but not rsync)\&. 566 .TS 567 tab(:); 568 lt lt. 569 T{ 570 \fBDefault:\fR 571 T}:T{ 572 none 573 T} 574 .TE 575 .sp 1 576 .RE 577 .PP 578 host_blacklist 579 .RS 4 580 Space separated list of download hosts that should not be used\&. 581 .TS 582 tab(:); 583 lt lt. 584 T{ 585 \fBDefault:\fR 586 T}:T{ 587 none 588 T} 589 .TE 590 .sp 1 591 .RE 592 .PP 593 preferred_hosts 594 .RS 4 595 Space separated list of download hosts that should be used preferentially\&. 596 .TS 597 tab(:); 598 lt lt. 599 T{ 600 \fBDefault:\fR 601 T}:T{ 602 none 603 T} 604 .TE 605 .sp 1 606 .RE 607 .PP 608 revupgrade_autorun 609 .RS 4 610 Controls whether the rev\-upgrade action will be run automatically after upgrading ports\&. 611 .TS 612 tab(:); 613 lt lt. 614 T{ 615 \fBDefault:\fR 616 T}:T{ 243 617 yes 244 .It Va proxy_http 245 HTTP proxy 246 .br 247 .Ic Default: 248 none 249 .It Va proxy_https 250 HTTPS proxy 251 .br 252 .Ic Default: 253 none 254 .It Va proxy_ftp 255 FTP proxy 256 .br 257 .Ic Default: 258 none 259 .It Va proxy_rsync 260 rsync proxy 261 .br 262 .Ic Default: 263 none 264 .It Va proxy_skip 265 Hosts not to go through the proxy (comma-separated, applies to HTTP, 266 HTTPS and FTP, but not rsync): 267 .br 268 .Ic Default: 269 none 270 .It Va host_blacklist 271 Space separated list of download hosts that should not be used. 272 .br 273 .Ic Default: 274 none 275 .It Va preferred_hosts 276 Space separated list of download hosts that should be used preferentially. 277 .br 278 .Ic Default: 279 none 280 .It Va revupgrade_autorun 281 Controls whether the rev-upgrade action will be run automatically after 282 upgrading ports. 283 .br 284 .Ic Default: 285 yes 286 .It Va revupgrade_mode 287 Controls the rev-upgrade functionality which checks for broken linking and can 288 rebuild ports to fix it. 'rebuild' means ports will automatically be rebuilt 289 when broken linking is detected in their files, while 'report' means broken 290 files will be scanned for and reported but the ports will not be rebuilt. 291 .br 292 .Ic Default: 618 T} 619 .TE 620 .sp 1 621 .RE 622 .PP 623 revupgrade_mode 624 .RS 4 625 Controls the rev\-upgrade functionality which checks for broken linking and can rebuild ports to fix it\&. 626 \fIrebuild\fR 627 means ports will automatically be rebuilt when broken linking is detected in their files, while 628 \fIreport\fR 629 means broken files will be scanned for and reported but the ports will not be rebuilt\&. 630 .TS 631 tab(:); 632 lt lt. 633 T{ 634 \fBDefault:\fR 635 T}:T{ 293 636 rebuild 294 .It Va default_compiler 295 Default value for configure.compiler. This can be a space-separated list. Later 296 entries will be used if earlier entries are unavailable or blacklisted by a 297 port. Setting this is unsupported. 298 .br 299 .Ic Default: 637 T} 638 .TE 639 .sp 1 640 .RE 641 .PP 642 default_compiler 643 .RS 4 644 Default value for configure\&.compiler\&. This can be a space\-separated list\&. Later entries will be used if earlier entries are unavailable or blacklisted by a port\&. Setting this is unsupported\&. 645 .TS 646 tab(:); 647 lt lt. 648 T{ 649 \fBDefault:\fR 650 T}:T{ 300 651 none (internal list based on Xcode version is normally used) 301 .El 302 .Sh FILES 303 .Bl -tag -width 304 .It Va ${prefix}/etc/macports/macports.conf 305 Standard system-wide MacPorts configuration file. 306 .It Va ~/.macports/macports.conf 307 User-specific configuration override. This file, if found, will be used instead of the default file at 308 ${prefix}/etc/macports/macports.conf. 309 .El 310 .Sh SEE ALSO 311 .Xr port 1 , 312 .Xr portfile 7 , 313 .Xr portgroup 7 , 314 .Xr portstyle 7 315 .Xr porthier 7 , 316 .Sh AUTHORS 317 .An "Juan Manuel Palacios" Aq jmpp@macports.org 318 .An "Matt Anton" Aq matt@opendarwin.org 652 T} 653 .TE 654 .sp 1 655 .RE 656 .SH "FILES" 657 .PP 658 ${prefix}/etc/macports/macports\&.conf 659 .RS 4 660 Standard system\-wide MacPorts configuration file\&. 661 .RE 662 .PP 663 ~/\&.macports/macports\&.conf 664 .RS 4 665 User\-specific configuration override\&. This file, if found, will be used instead of the default file at ${prefix}/etc/macports/macports\&.conf\&. 666 .RE 667 .SH "SEE ALSO" 668 .sp 669 \fBport\fR(1), \fBportfile\fR(7) 670 .SH "AUTHORS" 671 .sp 672 .if n \{\ 673 .RS 4 674 .\} 675 .nf 676 (C) 2007\-2011 The MacPorts Project 677 Juan Manuel Palacios <jmpp@macports\&.org> 678 Matt Anton <matt@opendarwin\&.org> 679 Rainer Mueller <raimue@macports\&.org> 680 .fi 681 .if n \{\ 682 .RE 683 .\} -
trunk/base/doc/port.1
r118039 r123002 1 .\" port.1 2 .\" 3 .\" Copyright (c) 2004-2011 The MacPorts Project 4 .\" Copyright (c) 2002-2003 Apple Inc. 5 .\" All rights reserved. 6 .\" 7 .\" Redistribution and use in source and binary forms, with or without 8 .\" modification, are permitted provided that the following conditions 9 .\" are met: 10 .\" 1. Redistributions of source code must retain the above copyright 11 .\" notice, this list of conditions and the following disclaimer. 12 .\" 2. Redistributions in binary form must reproduce the above copyright 13 .\" notice, this list of conditions and the following disclaimer in the 14 .\" documentation and/or other materials provided with the distribution. 15 .\" 3. Neither the name of Apple Inc. nor the names of its 16 .\" contributors may be used to endorse or promote products derived from 17 .\" this software without specific prior written permission. 18 .\" 19 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 20 .\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 23 .\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 .\" POSSIBILITY OF SUCH DAMAGE. 30 .\" 31 .Dd April 29, 2007 32 .Dt PORT 1 "MacPorts" 33 .Os 34 .Sh NAME 35 .Nm port 36 .Nd operate on individual or multiple Mac 37 .Ar ports 38 .Sh SYNOPSIS 39 .Nm 40 .Op Fl bcdfknopqRstuvy 41 .Op Fl D Ar portdir 42 .Op Fl F Ar cmdfile 43 .Op Ar action 44 .Op Ar actionflags 45 .Op Oo Ar portname | pseudo-portname | port-url Oc 46 .Op Oo Ar @version Oc Oo +/-variant ... Oc ... Oo option=value ... Oc 47 .Sh DESCRIPTION 48 .Nm 49 is designed to operate on individual or multiple Mac 50 .Ar ports , 51 optionally within a single call, based on the requested 52 .Ar action . 53 If no 54 .Ar portdir 1 '\" t 2 .TH "PORT" "1" "2014\-08\-03" "MacPorts 2\&.3\&.99" "MacPorts Manual" 3 .\" ----------------------------------------------------------------- 4 .\" * Define some portability stuff 5 .\" ----------------------------------------------------------------- 6 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7 .\" http://bugs.debian.org/507673 8 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html 9 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10 .ie \n(.g .ds Aq \(aq 11 .el .ds Aq ' 12 .\" ----------------------------------------------------------------- 13 .\" * set default formatting 14 .\" ----------------------------------------------------------------- 15 .\" disable hyphenation 16 .nh 17 .\" disable justification (adjust text to left margin only) 18 .ad l 19 .\" ----------------------------------------------------------------- 20 .\" * MAIN CONTENT STARTS HERE * 21 .\" ----------------------------------------------------------------- 22 .SH "NAME" 23 port \- Command line interface for MacPorts 24 .SH "SYNOPSIS" 25 .sp 26 .nf 27 \fBport\fR [\fB\-bcdfknopqRstuvy\fR] [\fB\-D\fR \fIportdir\fR] [\fB\-F\fR \fIcmdfile\fR] [\fIaction\fR] [\fIactionflags\fR] 28 [[\fIportname\fR | \fIpseudo\-portname\fR | \fIport\-expressions\fR | \fIport\-url\fR]] 29 [[\fI@version\fR] [+/\-variant \&...] \&... [option=value \&...]] 30 .fi 31 .SH "DESCRIPTION" 32 .sp 33 \fBport\fR is designed to operate on individual or multiple \fIports\fR, optionally within a single call, based on the requested \fIaction\fR\&. If no \fIaction\fR is specified the port command enters interactive mode, in which commands are read via stdin\&. If no \fIportdir\fR or \fIportname\fR is specified for an \fIaction\fR, the current working directory is assumed\&. Batch commands may be passed via a \fIcmdfile\fR\&. Port \fIoptions\fR are passed as key=value pairs and take precedence over individual \fIportname\fR options as specified in its Portfile and system\-wide settings\&. 34 .sp 35 Port \fIvariants\fR can be specified as \fI+name\fR, which indicates the variant is desired, or \fI\-name\fR, indicating the contrary\&. In case of ambiguities, a port can be fully specified with the \fI@version_revision+variants\fR format\&. 36 .sp 37 Installed ports can be activated or deactivated without being uninstalled\&. A port can be installed in multiple versions and variant combinations, but only one of them can be \fIactive\fR\&. See \fBportarchives\fR(7)\&. 38 .sp 39 When passing \fIportnames\fR to an \fIaction\fR, \fBport\fR recognizes various \fIpseudo\-portnames\fR that will expand to the specified set of ports from the available port tree(s)\&. These may be used in the same way as a \fIportname\fR\&. 40 .PP 41 \fBThe \fR\fB\fIpseudo\-portnames\fR\fR\fB are:\fR 42 .sp 43 .RS 4 44 .ie n \{\ 45 \h'-04'\(bu\h'+03'\c 46 .\} 47 .el \{\ 48 .sp -1 49 .IP \(bu 2.3 50 .\} 51 \fIall\fR: all the ports in each ports tree listed in 52 \fIsources\&.conf\fR 53 .RE 54 .sp 55 .RS 4 56 .ie n \{\ 57 \h'-04'\(bu\h'+03'\c 58 .\} 59 .el \{\ 60 .sp -1 61 .IP \(bu 2.3 62 .\} 63 \fIcurrent\fR: the port in the current working directory 64 .RE 65 .sp 66 .RS 4 67 .ie n \{\ 68 \h'-04'\(bu\h'+03'\c 69 .\} 70 .el \{\ 71 .sp -1 72 .IP \(bu 2.3 73 .\} 74 \fIactive\fR: set of installed and active ports 75 .RE 76 .sp 77 .RS 4 78 .ie n \{\ 79 \h'-04'\(bu\h'+03'\c 80 .\} 81 .el \{\ 82 .sp -1 83 .IP \(bu 2.3 84 .\} 85 \fIinactive\fR: set of installed but inactive ports 86 .RE 87 .sp 88 .RS 4 89 .ie n \{\ 90 \h'-04'\(bu\h'+03'\c 91 .\} 92 .el \{\ 93 .sp -1 94 .IP \(bu 2.3 95 .\} 96 \fIinstalled\fR: set of all installed ports 97 .RE 98 .sp 99 .RS 4 100 .ie n \{\ 101 \h'-04'\(bu\h'+03'\c 102 .\} 103 .el \{\ 104 .sp -1 105 .IP \(bu 2.3 106 .\} 107 \fIuninstalled\fR: ports in the ports tree(s) that are not installed 108 .RE 109 .sp 110 .RS 4 111 .ie n \{\ 112 \h'-04'\(bu\h'+03'\c 113 .\} 114 .el \{\ 115 .sp -1 116 .IP \(bu 2.3 117 .\} 118 \fIoutdated\fR: installed ports that are out of date with respect to their current version/revision in the ports tree(s) 119 .RE 120 .sp 121 .RS 4 122 .ie n \{\ 123 \h'-04'\(bu\h'+03'\c 124 .\} 125 .el \{\ 126 .sp -1 127 .IP \(bu 2.3 128 .\} 129 \fIobsolete\fR: set of ports that are installed but no longer exist in any port tree 130 .RE 131 .sp 132 .RS 4 133 .ie n \{\ 134 \h'-04'\(bu\h'+03'\c 135 .\} 136 .el \{\ 137 .sp -1 138 .IP \(bu 2.3 139 .\} 140 \fIrequested\fR: installed ports that were explicitly asked for 141 .RE 142 .sp 143 .RS 4 144 .ie n \{\ 145 \h'-04'\(bu\h'+03'\c 146 .\} 147 .el \{\ 148 .sp -1 149 .IP \(bu 2.3 150 .\} 151 \fIunrequested\fR: installed ports that were installed only to satisfy dependencies 152 .RE 153 .sp 154 .RS 4 155 .ie n \{\ 156 \h'-04'\(bu\h'+03'\c 157 .\} 158 .el \{\ 159 .sp -1 160 .IP \(bu 2.3 161 .\} 162 \fIleaves\fR: installed ports that are unrequested and have no dependents 163 .RE 164 .sp 165 Sets of ports can also be specified with \fIpseudo\-portname selectors\fR, which expand to the ports in which the value of the \fIPortfile\fR option corresponding to the selector\(cqs name (in either singular or plural form where applicable) matches the given regular expression\&. Usage is: selector:regex 166 .PP 167 \fBThe \fR\fB\fIpseudo\-portname selectors\fR\fR\fB are:\fR 168 .sp 169 .RS 4 170 .ie n \{\ 171 \h'-04'\(bu\h'+03'\c 172 .\} 173 .el \{\ 174 .sp -1 175 .IP \(bu 2.3 176 .\} 177 \fIname\fR 178 .RE 179 .sp 180 .RS 4 181 .ie n \{\ 182 \h'-04'\(bu\h'+03'\c 183 .\} 184 .el \{\ 185 .sp -1 186 .IP \(bu 2.3 187 .\} 188 \fIversion\fR 189 .RE 190 .sp 191 .RS 4 192 .ie n \{\ 193 \h'-04'\(bu\h'+03'\c 194 .\} 195 .el \{\ 196 .sp -1 197 .IP \(bu 2.3 198 .\} 199 \fIrevision\fR 200 .RE 201 .sp 202 .RS 4 203 .ie n \{\ 204 \h'-04'\(bu\h'+03'\c 205 .\} 206 .el \{\ 207 .sp -1 208 .IP \(bu 2.3 209 .\} 210 \fIepoch\fR 211 .RE 212 .sp 213 .RS 4 214 .ie n \{\ 215 \h'-04'\(bu\h'+03'\c 216 .\} 217 .el \{\ 218 .sp -1 219 .IP \(bu 2.3 220 .\} 221 \fIvariant\fR 222 .RE 223 .sp 224 .RS 4 225 .ie n \{\ 226 \h'-04'\(bu\h'+03'\c 227 .\} 228 .el \{\ 229 .sp -1 230 .IP \(bu 2.3 231 .\} 232 \fIvariants\fR 233 .RE 234 .sp 235 .RS 4 236 .ie n \{\ 237 \h'-04'\(bu\h'+03'\c 238 .\} 239 .el \{\ 240 .sp -1 241 .IP \(bu 2.3 242 .\} 243 \fIcategory\fR 244 .RE 245 .sp 246 .RS 4 247 .ie n \{\ 248 \h'-04'\(bu\h'+03'\c 249 .\} 250 .el \{\ 251 .sp -1 252 .IP \(bu 2.3 253 .\} 254 \fIcategories\fR 255 .RE 256 .sp 257 .RS 4 258 .ie n \{\ 259 \h'-04'\(bu\h'+03'\c 260 .\} 261 .el \{\ 262 .sp -1 263 .IP \(bu 2.3 264 .\} 265 \fImaintainer\fR 266 .RE 267 .sp 268 .RS 4 269 .ie n \{\ 270 \h'-04'\(bu\h'+03'\c 271 .\} 272 .el \{\ 273 .sp -1 274 .IP \(bu 2.3 275 .\} 276 \fImaintainers\fR 277 .RE 278 .sp 279 .RS 4 280 .ie n \{\ 281 \h'-04'\(bu\h'+03'\c 282 .\} 283 .el \{\ 284 .sp -1 285 .IP \(bu 2.3 286 .\} 287 \fIplatform\fR 288 .RE 289 .sp 290 .RS 4 291 .ie n \{\ 292 \h'-04'\(bu\h'+03'\c 293 .\} 294 .el \{\ 295 .sp -1 296 .IP \(bu 2.3 297 .\} 298 \fIplatforms\fR 299 .RE 300 .sp 301 .RS 4 302 .ie n \{\ 303 \h'-04'\(bu\h'+03'\c 304 .\} 305 .el \{\ 306 .sp -1 307 .IP \(bu 2.3 308 .\} 309 \fIdescription\fR 310 .RE 311 .sp 312 .RS 4 313 .ie n \{\ 314 \h'-04'\(bu\h'+03'\c 315 .\} 316 .el \{\ 317 .sp -1 318 .IP \(bu 2.3 319 .\} 320 \fIlong_description\fR 321 .RE 322 .sp 323 .RS 4 324 .ie n \{\ 325 \h'-04'\(bu\h'+03'\c 326 .\} 327 .el \{\ 328 .sp -1 329 .IP \(bu 2.3 330 .\} 331 \fIhomepage\fR 332 .RE 333 .sp 334 .RS 4 335 .ie n \{\ 336 \h'-04'\(bu\h'+03'\c 337 .\} 338 .el \{\ 339 .sp -1 340 .IP \(bu 2.3 341 .\} 342 \fIlicense\fR 343 .RE 344 .sp 345 .RS 4 346 .ie n \{\ 347 \h'-04'\(bu\h'+03'\c 348 .\} 349 .el \{\ 350 .sp -1 351 .IP \(bu 2.3 352 .\} 353 \fIportdir\fR 354 .RE 355 .sp 356 Other pseudo\-portname selectors match ports which have a particular relationship to another port\&. These will match ports that are direct or recursive dependencies or dependents of the given portname: 357 .sp 358 .RS 4 359 .ie n \{\ 360 \h'-04'\(bu\h'+03'\c 361 .\} 362 .el \{\ 363 .sp -1 364 .IP \(bu 2.3 365 .\} 366 \fIdepof\fR 367 .RE 368 .sp 369 .RS 4 370 .ie n \{\ 371 \h'-04'\(bu\h'+03'\c 372 .\} 373 .el \{\ 374 .sp -1 375 .IP \(bu 2.3 376 .\} 377 \fIrdepof\fR 378 .RE 379 .sp 380 .RS 4 381 .ie n \{\ 382 \h'-04'\(bu\h'+03'\c 383 .\} 384 .el \{\ 385 .sp -1 386 .IP \(bu 2.3 387 .\} 388 \fIdependentof\fR 389 .RE 390 .sp 391 .RS 4 392 .ie n \{\ 393 \h'-04'\(bu\h'+03'\c 394 .\} 395 .el \{\ 396 .sp -1 397 .IP \(bu 2.3 398 .\} 399 \fIrdependentof\fR 400 .RE 401 .sp 402 Search strings that will expand to a set of matching ports can be constructed based on the "\fIpseudo\-portname selector\fR":regex combination used\&. \fIportnames\fR containing valid UNIX glob patterns will also expand to the set of matching ports\&. Any action passed to port will be invoked on each of them\&. 403 .sp 404 For example: 405 .sp 406 .if n \{\ 407 .RS 4 408 .\} 409 .nf 410 port info variant:no_ssl 411 port uninstall name:sql 412 port echo depof:mysql5 413 port echo \*(Aqapache*\*(Aq 414 .fi 415 .if n \{\ 416 .RE 417 .\} 418 .sp 419 Logical operators "and", "or", "not", "!", "(" and ")" may be used to combine individual \fIportnames\fR, port glob patterns and/or \fIpseudo\-portnames\fR to construct complex \fIport\-expressions\fR that expand to the set of matching ports\&. 420 .sp 421 For example: 422 .sp 423 .if n \{\ 424 .RS 4 425 .\} 426 .nf 427 port upgrade outdated and \*(Aqpy27\-*\*(Aq 428 port echo maintainer:jberry and uninstalled and \e( category:java and not commons* \e) 429 .fi 430 .if n \{\ 431 .RE 432 .\} 433 .if n \{\ 434 .sp 435 .\} 436 .RS 4 437 .it 1 an-trap 438 .nr an-no-space-flag 1 439 .nr an-break-flag 1 440 .br 441 .ps +1 442 \fBNote\fR 443 .ps -1 444 .br 445 .sp 446 Special shell characters like *, \e( or \e) need to be escaped in order to be passed correctly to \fBport\fR\&. 447 .sp .5v 448 .RE 449 .SH "GLOBAL OPTIONS" 450 .sp 451 The port command recognizes several global flags and options\&. 452 .PP 453 \fBOutput control\fR 454 .PP 455 \-v 456 .RS 4 457 Verbose mode, generates verbose messages 458 .RE 459 .PP 460 \-d 461 .RS 4 462 Debug mode, generate debugging messages, implies \-v 463 .RE 464 .PP 465 \-q 466 .RS 4 467 Quiet mode, suppress informational messages to a minimum 468 .RE 469 .PP 470 \fBInstallation and upgrade\fR 471 .PP 472 \-n 473 .RS 4 474 Don\(cqt follow dependencies in upgrade (affects 475 \fIupgrade\fR 476 and 477 \fIinstall\fR) 478 .RE 479 .PP 480 \-R 481 .RS 4 482 Also upgrade dependents (only for 483 \fIupgrade\fR) 484 .RE 485 .PP 486 \-u 487 .RS 4 488 Uninstall inactive ports when upgrading and uninstalling 489 .RE 490 .PP 491 \-y 492 .RS 4 493 Perform a dry run\&. All of the steps to build the ports and their dependencies are computed, but not actually performed\&. With the verbose flag, every step is reported; otherwise there is just one message per port, which allows you to easily determine the recursive deps of a port (and the order in which they will be built)\&. 494 .RE 495 .PP 496 \fBSources\fR 497 .PP 498 \-s 499 .RS 4 500 Source\-only mode, build and install from source; do not attempt to fetch binary archives\&. 501 .RE 502 .PP 503 \-b 504 .RS 4 505 Binary\-only mode, build and install from binary archives, ignore source, abort if no archive available\&. 506 .RE 507 .PP 508 \fBCleaning\fR 509 .PP 510 \-c 511 .RS 4 512 Autoclean mode, execute clean after 513 \fIinstall\fR 514 .RE 515 .PP 516 \-k 517 .RS 4 518 Keep mode, do not autoclean after 519 \fIinstall\fR 520 .RE 521 .PP 522 \fBExit status\fR 523 .PP 524 \-p 525 .RS 4 526 Despite any errors encountered, proceed to process multiple ports and commands\&. 527 .RE 528 .PP 529 \fBDevelopment\fR 530 .PP 531 \-o 532 .RS 4 533 Honor state files even if the Portfile was modified\&. This flag is called \-o because it used to mean "older"\&. 534 .RE 535 .PP 536 \-t 537 .RS 4 538 Enable trace mode debug facilities on platforms that support it, currently only Mac OS X\&. 539 540 This feature is two\-folded\&. It consists in automatically detecting and reporting undeclared dependencies based on what files the port reads or what programs the port executes\&. In verbose mode, it will also report unused dependencies for each stage of the port installation\&. It also consists in forbidding and reporting file creation and file writes outside allowed directories (temporary directories and ${workpath})\&. 541 .RE 542 .PP 543 \fBMisc\fR 544 .PP 545 \-f 546 .RS 4 547 Force mode, ignore state file 548 .RE 549 .PP 550 \-D \fIportdir\fR 551 .RS 4 552 Specfiy 553 \fIportdir\fR 554 .RE 555 .PP 556 \-F \fIcmdfile\fR 557 .RS 4 558 Read and process the 559 \fIfile\fR 560 of commands specified by the argument\&. If the argument is 561 \fI\-\fR, then read commands from stdin\&. If the option is given multiple times, then multiple files will be read\&. 562 .RE 563 .SH "USER TARGETS" 564 .sp 565 Targets most commonly used by regular MacPorts users are: 566 .PP 567 search 568 .RS 4 569 Search for an available port whose name matches a regular expression\&. 570 .sp 571 For example: 572 .sp 573 .if n \{\ 574 .RS 4 575 .\} 576 .nf 577 port search vim 578 .fi 579 .if n \{\ 580 .RE 581 .\} 582 .RE 583 .PP 584 info 585 .RS 4 586 Displays meta\-information available for 587 \fIportname\fR\&. Specific meta\-information may be requested through an option such as 588 \fB\-\-maintainer\fR 55 589 or 56 .Ar portname 57 is specified, the current working directory is assumed; if no 58 .Ar action 59 is specified the port command enters interactive mode, in which commands are read via stdin. Batch commands may be 60 passed via a 61 .Ar cmdfile . 62 Port 63 .Ar options 64 are passed as key=value pairs and take precedence over individual 65 .Ar portname 66 options as specified in its Portfile and system-wide settings. 67 .Pp 68 Port 69 .Ar variants 70 can specified as 71 .Ar +name , 72 which indicates the variant is desired, or 73 .Ar -name , 74 indicating the contrary. In case of ambiguities, a port can be fully specified with the 75 .Ar @version_revision+variants 76 format. 77 .Pp 78 Installed ports can be activated or deactivated without being uninstalled. A port can be installed if all other 79 version/variant(s) combinations installed at any given moment are deactivated. 80 .Pp 81 The 82 .Nm 83 command knows various 84 .Ar pseudo-portnames 85 that will expand to the specified set of ports from the available ports tree(s). These may be used in place of a 86 .Ar portname . 87 Common options are: 88 .Pp 89 .Bl -bullet -offset indent -compact 90 .It 91 .Ar all : 92 all the ports in each ports tree listed in 93 .Ar sources.conf 94 .Pp 95 .It 96 .Ar current : 97 the port in the current working directory. 98 .Pp 99 .It 100 .Ar active : 101 set of installed and active ports. 102 .Pp 103 .It 104 .Ar inactive : 105 set of installed but inactive ports. 106 .Pp 107 .It 108 .Ar actinact : 109 set of installed ports that have both an active version and one or more inactive versions. 110 .Pp 111 .It 112 .Ar installed : 113 set of all installed ports. 114 .Pp 115 .It 116 .Ar uninstalled : 117 ports in the ports tree(s) that aren't installed. 118 .Pp 119 .It 120 .Ar outdated : 121 installed ports that are out of date with respect to their current version/revision in the ports tree(s) 122 .Pp 123 .It 124 .Ar obsolete : 125 set of ports that are installed but no longer exist in any port tree 126 .Pp 127 .It 128 .Ar requested : 129 installed ports that were explicitly asked for. 130 .Pp 131 .It 132 .Ar unrequested : 133 installed ports that were installed only to satisfy dependencies. 134 .Pp 135 .It 136 .Ar leaves : 137 installed ports that are unrequested and have no dependents. 138 .Pp 139 .El 140 Sets of ports can also be specified with 141 .Ar pseudo-portname selectors , 142 which expand to the ports in which the value of the 143 .Ar Portfile 144 key corresponding to the selector's name (in either singular or plural form where applicable) 145 matches the given regular expression. Usage is: 146 .Ar selector:regex 147 .Pp 148 Available selectors are: 149 .Pp 150 .Bl -bullet -offset indent -compact 151 .It 152 .Ar name 153 .It 154 .Ar version 155 .It 156 .Ar revision 157 .It 158 .Ar epoch 159 .It 160 .Ar variant 161 .It 162 .Ar variants 163 .It 164 .Ar category 165 .It 166 .Ar categories 167 .It 168 .Ar maintainer 169 .It 170 .Ar maintainers 171 .It 172 .Ar platform 173 .It 174 .Ar platforms 175 .It 176 .Ar description 177 .It 178 .Ar long_description 179 .It 180 .Ar homepage 181 .It 182 .Ar portdir 183 .El 184 .Pp 185 .Pp 186 Other pseudo-portname selectors match ports which have a particular relationship to 187 another port. These will match ports that are direct or recursive dependencies or dependents 188 of the given portname: 189 .Pp 190 .Bl -bullet -offset indent -compact 191 .It 192 .Ar depof 193 .It 194 .Ar rdepof 195 .It 196 .Ar dependentof 197 .It 198 .Ar rdependentof 199 .El 200 .Pp 201 .Ar portnames 202 containing valid UNIX glob patterns will also expand to the set of matching ports. Any 203 .Ar action 204 passed to 205 .Nm 206 will be invoked on each of them. For example: 207 .Pp 208 .Dl port list variant:no_ssl 209 .Dl port uninstall name:sql 210 .Dl port echo depof:mysql5 211 .\" COMMENT: glob pattern expansion in portnames: 212 .\" write an example here that illustrats better glob pattern expansion in portnames, but that does not employ 213 .\" logical operators (and, or, not, !) because I still haven't gotten to them yet. 214 .Dl port echo apache* 215 .Pp 216 Logical operators "and", "or", "not", "!", "(" and ")" may be used to combine individual 217 .Ar portnames , 218 port glob patterns and/or 219 .Ar pseudo-portnames 220 to construct complex port expressions that expand to the set of matching ports. For example: 221 .Pp 222 .Dl port upgrade installed and "apache*" 223 .Dl port echo maintainer:jberry and uninstalled and \e(\ category:java and not commons*\ \e) 224 .\" COMMENT: more complex exmaples here would be useful. 225 .\" PENDING: port-url explanation. Proposed text: 226 .\".Pp 227 .\"A 228 .\".Ar portname 229 .\"may also be specified as a URL pointing to the location of the 230 .\".Ar portdir 231 .\" ... 232 .Pp 233 The 234 .Nm 235 command also recognizes several command line flags and 236 .Ar targets : 237 .Sh OPTIONS 238 .Bl -tag -width -indent 239 .It Fl v 240 verbose mode (generate verbose messages) 241 .It Fl d 242 debug mode (generate debugging messages, implies 243 .Fl v ) 244 .It Fl q 245 quiet mode (suppress messages) 246 .It Fl n 247 don't upgrade dependencies (affects upgrade and install) 248 .It Fl R 249 also upgrade dependents (only affects upgrade) - note that this does not upgrade dependents' dependencies 250 .It Fl u 251 uninstall non-active ports when upgrading and uninstalling 252 .It Fl f 253 force mode (ignore state file) 254 .It Fl o 255 honor state files even if the Portfile has been modified since (called -o because it used to mean "older") 256 .It Fl s 257 source-only mode (build and install from source, do not attempt to fetch binary archives) 258 .It Fl b 259 binary-only mode (build and install from binary archives, ignore source, abort if no archive available) 260 .It Fl c 261 autoclean mode (execute clean after install) 262 .It Fl k 263 keep mode (don't autoclean after install) 264 .It Fl D 265 specify 266 .Ar portdir 267 .It Fl F 268 Read and process the 269 .Ar file 270 of commands specified by the argument. If the argument is '-', then read commands from stdin. If the option is given multiple times, then multiple files will be read. 271 .It Fl p 272 Despite any errors encountered, proceed to process multiple ports and commands. 273 .It Fl y 274 Perform a dry run. All of the steps to build the ports and their dependencies are computed, but not actually performed. With the verbose flag, every step is reported; otherwise there is just one message per port, which allows you to easily determine the recursive deps of a port (and the order in which they will be built). 275 .It Fl t 276 enable trace mode debug facilities on platforms that support it (Mac OS X). This feature is two-folded. It consists in automatically detecting and reporting undeclared dependencies based on what files the port reads or what programs the port executes. In verbose mode, it will also report unused dependencies for each stage of the port installation. It also consists in forbidding and reporting file creation and file writes outside allowed directories (temporary directories and ${workpath}). 277 .El 278 .Sh USER TARGETS 279 Targets most commonly used by regular MacPorts users are: 280 .Ss search 281 Search for an available port. By default, the search string is treated as a case-insensitive glob, 282 and is matched against the name and description fields. To have the search string treated as 283 a regular expression, as a literal, or in a case-sensitive manner, use 284 .Fl -regex, 285 .Fl -exact, 286 or 287 .Fl -case-sensitive, 288 respectively. To match against a different set of fields, use one or more 289 .Fl -<field-name> 290 options. To display each result on a single line, use 291 .Fl -line. 590 \fB\-\-category\fR\&. Recognized field names are those from the PortIndex, see \(lqport help info\(rq for a complete list\&. If no specific fields are specified, a useful default collection of fields will be displayed\&. If the global option 591 \fB\-q\fR 592 is in effect, the meta\-info fields will not be labeled\&. If the option 593 \fB\-\-line\fR 594 is provided, all such data will be consolidated into a single line per port, suitable for processing in a pipe of commands\&. If the option 595 \fB\-\-pretty\fR 596 is provided, the information will be formatted in a somewhat more attractive fashion for human readers\&. This is the default when no options at all are specified to info\&. If the option 597 \fB\-\-index\fR 598 is provided, the information will be pulled from the PortIndex rather than from the Portfile\&. In this case variant information, such as dependencies, will not affect the output\&. 599 .sp 292 600 For example: 293 .Pp 294 .Dl "port search vim" 295 .Dl "port search --regex --depends_build 'docbook.*[0-9]+'" 296 .Pp 297 .Ss info 298 Displays meta-information available for 299 .Ar portname . 300 Specific meta-information may be requested through an option such as 301 .Fl -maintainer 302 or 303 .Fl -category 304 (recognized field names are those from the PortIndex, see "port help 305 info" for a complete list). If no specific fields are specified, a 306 useful default collection of fields will be displayed. If the global option 307 .Fl q 308 is in effect, the meta-info fields will not be labeled. 309 If the option 310 .Fl -line 311 is provided, all such data will be consolidated into a single line per port, 312 suitable for processing in a pipe of commands. 313 If the option 314 .Fl -pretty 315 is provided, the information will be formatted in a somewhat more 316 attractive fashion for human readers. This is the default when no 317 options at all are specified to info. 318 If the option 319 .Fl -index 320 is provided, the information will be pulled from the PortIndex rather than 321 from the Portfile (in this case variant information, such as dependencies, 322 will not affect the output). 323 .Pp 601 .sp 602 .if n \{\ 603 .RS 4 604 .\} 605 .nf 606 port info vim +ruby 607 port info \-\-category \-\-name apache* 608 port \-q info \-\-category \-\-name \-\-version category:java 609 port info \-\-line \-\-category \-\-name all 610 port info \-\-pretty \-\-fullname \-\-depends gtk2 611 port info \-\-index python27 612 .fi 613 .if n \{\ 614 .RE 615 .\} 616 .RE 617 .PP 618 notes 619 .RS 4 620 Displays notes for 621 \fIportname\fR 622 which usually contain useful information concerning setup and use of the port\&. 623 .RE 624 .PP 625 variants 626 .RS 4 627 Lists the variants available for 628 \fIportname\fR\&. 629 .RE 630 .PP 631 deps 632 .RS 4 633 Lists the other ports that are required to build and run portname\&. This is simply an alias for \(lqinfo \-\-pretty \-\-fullname \-\-depends\(rq\&. 634 .RE 635 .PP 636 rdeps 637 .RS 4 638 Recursively lists the other ports that are required to build and run portname\&. To display the full dependency tree instead of only showing each port once, use \-\-full\&. To take dependency information from the PortIndex instead of the Portfile (faster, but does not take variant selections into account), use \-\-index\&. To exclude dependencies that are only needed at build time (i\&.e\&. depends_fetch, depends_extract, depends_build), use 639 \fB\-\-no\-build\fR\&. 640 .RE 641 .PP 642 dependents 643 .RS 4 644 Lists the installed ports that depend on the port 645 \fIportname\fR\&. 646 .RE 647 .PP 648 rdependents 649 .RS 4 650 Recursively lists the installed ports that depend on the port portname\&. To display the full tree of dependents instead of only showing each port once, use \-\-full\&. 651 .RE 652 .PP 653 install 654 .RS 4 655 Install and activate 656 \fIportname\fR\&. 657 .RE 658 .PP 659 uninstall 660 .RS 4 661 Deactivate and uninstall portname\&. To uninstall all installed but 662 \fIinactive\fR 663 ports, use 664 \fB\-u\fR\&. To recursively uninstall all dependents of this port, use 665 \fB\-\-follow\-dependents\fR\&. To uninstall portname and then recursively uninstall all ports it depended on, use \-\-follow\-dependencies\&. This will not uninstall dependencies that are marked as requested or that have other dependents\&. 666 .sp 324 667 For example: 668 .sp 669 .if n \{\ 670 .RS 4 671 .\} 672 .nf 673 port uninstall vim 674 port \-u uninstall 675 port uninstall \-\-follow\-dependents python27 676 .fi 677 .if n \{\ 678 .RE 679 .\} 680 .RE 681 .PP 682 select 683 .RS 4 684 For a given group, selects a version to be the default by creating appropriate symbolic links\&. For instance, python might be linked to python2\&.6\&. Available select groups are installed as subdirectories of ${prefix}/etc/select/ and can be listed using 685 \fB\-\-summary\fR\&. To list the available versions in a group, use 686 \fB\-\-list\fR\&. To see which version is currently selected for a group, use 687 \fB\-\-show\fR\&. To change the selected version for a group, use 688 \fB\-\-set\fR\&. 689 .sp 690 For example: 691 .sp 692 .if n \{\ 693 .RS 4 694 .\} 695 .nf 696 port select \-\-summary 697 port select \-\-show python 698 port select \-\-list python 699 port select \-\-set python python34 700 .fi 701 .if n \{\ 702 .RE 703 .\} 704 .RE 705 .PP 706 activate 707 .RS 4 708 Activate the installed 709 \fIportname\fR\&. 710 .RE 711 .PP 712 deactivate 713 .RS 4 714 Deactivate the installed 715 \fIportname\fR\&. 716 .RE 717 .PP 718 setrequested 719 .RS 4 720 Mark portname as requested\&. 721 .RE 722 .PP 723 unsetrequested 724 .RS 4 725 Mark portname as unrequested\&. 726 .RE 727 .PP 728 installed 729 .RS 4 730 Show the installed version, variants and activation status for each 731 \fIportname\fR\&. If no arguments are given, all installed ports are displayed\&. 732 .RE 733 .PP 734 location 735 .RS 4 736 Print the install location of a given port\&. 737 .RE 738 .PP 739 contents 740 .RS 4 741 Lists the files installed by 742 \fIportname\fR\&. 743 .RE 744 .PP 745 provides 746 .RS 4 747 Determines which port owns a given file and can take either a relative or absolute path\&. 748 .sp 749 For example: 750 .sp 751 .if n \{\ 752 .RS 4 753 .\} 754 .nf 755 port provides /opt/local/etc/irssi\&.conf 756 port provides include/tiff\&.h 757 .fi 758 .if n \{\ 759 .RE 760 .\} 761 .RE 762 .PP 763 sync 764 .RS 4 765 Performs a sync operation only on the ports tree of a MacPorts installation, pulling in the latest revision available of the Portfiles from the MacPorts rsync server\&. 766 .sp 767 To update you would normally do: 768 .sp 769 .if n \{\ 770 .RS 4 771 .\} 772 .nf 773 sudo port \-d sync 774 .fi 775 .if n \{\ 776 .RE 777 .\} 778 .sp 779 If any of the ports tree(s) uses a file: URL that points to a local subversion working copy, sync will perform an svn update on the working copy with the user set to the owner of the working copy\&. 780 .RE 781 .PP 782 outdated 783 .RS 4 784 Lists the installed ports which need a 785 \fIupgrade\fR\&. 786 .RE 787 .PP 788 upgrade 789 .RS 4 790 The upgrade target works on a port and its dependencies\&. If you want to change this behavior, look at the switches for 791 \fB\-n\fR 792 (no dependencies) and 793 \fB\-R\fR 794 (dependents) above\&. 795 .sp 796 Upgrade the installed 797 \fIportname\fR\&. For example: 798 .sp 799 .if n \{\ 800 .RS 4 801 .\} 802 .nf 803 port upgrade vim 804 .fi 805 .if n \{\ 806 .RE 807 .\} 808 .sp 809 To upgrade all outdated ports: 810 .sp 811 .if n \{\ 812 .RS 4 813 .\} 814 .nf 815 port upgrade outdated 816 .fi 817 .if n \{\ 818 .RE 819 .\} 820 .sp 821 To upgrade 822 \fIportname\fR 823 and the ports that depend on it: 824 .sp 825 .if n \{\ 826 .RS 4 827 .\} 828 .nf 829 port \-R upgrade libiconv 830 .fi 831 .if n \{\ 832 .RE 833 .\} 834 .sp 835 To force a rebuild of 836 \fIportname\fR 837 and all of its dependencies use: 838 .sp 839 .if n \{\ 840 .RS 4 841 .\} 842 .nf 843 port upgrade \-\-force vim 844 .fi 845 .if n \{\ 846 .RE 847 .\} 848 .sp 849 To upgrade 850 \fIportname\fR 851 without following its dependencies before, use 852 \fB\-n\fR\&. 853 .sp 854 For example: 855 .sp 856 .if n \{\ 857 .RS 4 858 .\} 859 .nf 860 port \-n upgrade wireshark 861 .fi 862 .if n \{\ 863 .RE 864 .\} 865 .sp 866 .if n \{\ 867 .sp 868 .\} 869 .RS 4 870 .it 1 an-trap 871 .nr an-no-space-flag 1 872 .nr an-break-flag 1 325 873 .br 326 .Dl "port info vim +ruby" 327 .Dl "port info --category --name apache*" 328 .Dl "port -q info --category --name --version category:java" 329 .Dl "port info --line --category --name all" 330 .Dl "port info --pretty --fullname --depends gtk2" 331 .Dl "port info --index python24" 332 .Ss notes 333 Displays notes for 334 .Ar portname 335 (useful information concerning setup and use of the port). 336 .Ss variants 337 Lists the build variants available for 338 .Ar portname . 339 .Ss deps 340 Lists the other ports that are required to build and run 341 .Ar portname . 342 This is simply an alias for "info --pretty --fullname --depends". 343 .Ss rdeps 344 Recursively lists the other ports that are required to build and run 345 .Ar portname . 346 To display the full dependency tree instead of only showing each port once, use 347 .Fl -full . 348 To take dependency information from the PortIndex instead of the Portfile 349 (faster, but does not take variant selections into account), use 350 .Fl -index . 351 To exclude dependencies that are only needed at build time (i.e. 352 depends_fetch, depends_extract, depends_build), use 353 .Fl -no-build . 354 .Ss dependents 355 Lists the installed ports that depend on the port 356 .Ar portname . 357 .Ss rdependents 358 Recursively lists the installed ports that depend on the port 359 .Ar portname . 360 To display the full tree of dependents instead of only showing each port once, use 361 .Fl -full . 362 .Ss install 363 Install and activate 364 .Ar portname . 365 .Ss uninstall 366 Deactivate and uninstall 367 .Ar portname . 368 To uninstall all installed but inactive ports, use 369 .Fl u . 370 To recursively uninstall all ports that depend on 371 .Ar portname 372 before uninstalling the port itself, use 373 .Fl -follow-dependents . 374 To uninstall 375 .Ar portname 376 and then recursively uninstall all ports it depended on, use 377 .Fl -follow-dependencies . 378 This will not uninstall dependencies that are marked as requested or that have other dependents. 379 .Pp 874 .ps +1 875 \fBNote\fR 876 .ps -1 877 .br 878 By selecting the variants to use in the upgraded build of the port, any variants specified on the command line take highest precedence, then the variants active in the latest installed version of the port, and finally the global variants specified in variants\&.conf, if any\&. Note that upgrade will not normally rebuild a port only to change the selected variants; you can either specify \-\-enforce\-variants, or deactivate the port and reinstall it with different variants\&. 879 .sp .5v 880 .RE 881 \ \& 882 .sp 883 After the upgrade MacPorts will automatically run rev\-upgrade to check for broken ports that need to be rebuilt\&. If there are known problems with rev\-upgrade or other reasons why you would want to avoid running this step, you can disable it by running port upgrade with the \-\-no\-rev\-upgrade switch: 884 .sp 885 .if n \{\ 886 .RS 4 887 .\} 888 .nf 889 port upgrade \-\-no\-rev\-upgrade outdated 890 .fi 891 .if n \{\ 892 .RE 893 .\} 894 .RE 895 .PP 896 rev\-upgrade 897 .RS 4 898 Manually check for broken binaries and rebuild ports containing broken binaries\&. rev\-upgrade is usually automatically run after each upgrade, unless you specify the \-\-no\-rev\-upgrade option\&. 899 900 rev\-upgrade can run more checks against a special loadcommand in Mach\-O binaries that should always be referencing the file itself\&. This check is most helpful for maintainers to check whether their ports have been built correctly\&. It is disabled by default and can be enabled by passing \-\-id\- loadcmd\-check to rev\-upgrade\&. 901 902 See also: 903 \fBmacports.conf\fR(5) 904 .RE 905 .PP 906 clean 907 .RS 4 908 Clean the files used for building 909 \fIportname\fR\&. To just remove the work files, use the 910 \fB\-\-work\fR\fIactionflag\fR\&. This is the default when no flag is given\&. To remove the distribution files (fetched tarballs, patches, etc), specify 911 \fB\-\-dist\fR\&. To remove any archive(s) of a port than remain in the temporary download directory, pass 912 \fB\-\-archive\fR\&. (This does not remove archives from the installed location\&.) To remove log files for a port, pass 913 \fB\-\-logs\fR\&. To remove the work files, distribution files, temporary archives and logs pass 914 \fB\-\-all\fR\&. 915 .sp 380 916 For example: 381 .Pp 382 .Dl "port uninstall vim" 383 .Dl "port -u uninstall" 384 .Dl "port uninstall --follow-dependents python24" 385 .Ss select 386 For a given 387 .Ar group , 388 selects a 389 .Ar version 390 to be the default by creating appropriate symbolic links. 391 For instance, 392 .Ic "python" 393 might be linked to 394 .Ic "python2.6" . 395 Available select groups are installed as subdirectories of 396 .Ar ${prefix}/etc/select/ 397 and can be listed using 398 .Fl -summary . 399 To list the available versions in a group, use 400 .Fl -list . 401 To see which version is currently selected for a group, use 402 .Fl -show . 403 To change the selected version for a group, use 404 .Fl -set . 405 .Pp 917 .sp 918 .if n \{\ 919 .RS 4 920 .\} 921 .nf 922 port clean \-\-dist vim 923 port clean \-\-archive vim 924 port clean \-\-logs vim 925 .fi 926 .if n \{\ 927 .RE 928 .\} 929 .sp 930 To remove only certain version(s) of a port\(cqs archives (version is any valid UNIX glob pattern), you can use: 931 .sp 932 .if n \{\ 933 .RS 4 934 .\} 935 .nf 936 port clean \-\-archive vim 6\&.2\&.114 937 .fi 938 .if n \{\ 939 .RE 940 .\} 941 .sp 942 or: 943 .sp 944 .if n \{\ 945 .RS 4 946 .\} 947 .nf 948 port clean \-\-archive vim \*(Aq6\&.*\*(Aq 949 .fi 950 .if n \{\ 951 .RE 952 .\} 953 .RE 954 .PP 955 log 956 .RS 4 957 Parses and shows log files for 958 \fIportname\fR\&. To filter log files by some criterions use 959 \fB\-\-phase\fR 960 to specify the phase you want to show and 961 \fB\-\-verbosity\fR 962 to specify message category (msg, info, debug)\&. 963 .sp 406 964 For example: 407 .Pp 408 .Dl "port select --summary" 409 .Dl "port select --show python" 410 .Dl "port select --list python" 411 .Dl "port select --set python python34" 412 .Pp 413 .Ss activate 414 Activate the installed 415 .Ar portname . 416 .Ss deactivate 417 Deactivate the installed 418 .Ar portname . 419 .Ss setrequested 420 Mark 421 .Ar portname 422 as requested. 423 .Ss unsetrequested 424 Mark 425 .Ar portname 426 as unrequested. 427 .Ss installed 428 Show the installed versions and variants for 429 .Ar portname . 430 If no 431 .Ar portname 432 is given, all installed ports are shown. 433 .Ss location 434 Print the install location of a given port. 435 .Ss contents 436 Lists the files installed by 437 .Ar portname . 438 .Ss provides 439 Determines which port owns a given file and can take either a relative or absolute path. For example: 440 .Pp 441 .Dl "port provides /opt/local/etc/irssi.conf" 442 .Dl "port provides include/tiff.h" 443 .Ss sync 444 Performs a sync operation only on the ports tree of a MacPorts installation, pulling in the latest 445 revision available of the 446 .Ar Portfiles 447 from the MacPorts rsync server. To update you would normally do: 448 .Pp 449 .Dl "sudo port -d sync" 450 .Pp 451 If any of the ports tree(s) uses a file: URL that points to a local subversion working copy, 452 .Ic sync 453 will perform an 454 .Ic "svn update" 455 on the working copy with the user set to the owner of the working copy. 456 .Ss outdated 457 List the installed ports that need upgrading. 458 .Ss upgrade 459 The upgrade target works on a port and its dependencies. If you 460 want to change this behaviour, look at the switches for n (no 461 dependencies) and R (dependents) below. 462 .Pp 463 Upgrade the installed 464 .Ar portname . 965 .sp 966 .if n \{\ 967 .RS 4 968 .\} 969 .nf 970 port log \-\-phase configure vim 971 port log \-\-phase fetch \-\-verbosity debug vim 972 .fi 973 .if n \{\ 974 .RE 975 .\} 976 .RE 977 .PP 978 logfile 979 .RS 4 980 Displays the path to the log file for 981 \fIportname\fR\&. 982 .RE 983 .PP 984 echo 985 .RS 4 986 Writes to stdout the arguments passed to 987 \fIport\fR\&. This follows the expansion of 988 \fIpseudo\-portnames\fR, portname glob patterns, 989 \fIpseudo\-portname selectors\fR 990 and the evaluation of 991 \fIport\-expressions\fR\&. 992 \fBecho\fR 993 may be used to determine the exact set of ports to which a given string of arguments will expand, without performing any further operations on them\&. 994 .sp 465 995 For example: 466 .Pp 467 .Dl "port upgrade vim" 468 .Pp 469 To upgrade all installed ports: 470 .Pp 471 .Dl "port upgrade installed" 472 .Pp 473 To upgrade 474 .Ar portname 475 and the ports that depend on it: 476 .Pp 477 .Dl "port -R upgrade libiconv" 478 .Pp 479 To force an upgrade (rebuild) use: 480 .Pp 481 .Dl "port upgrade --force vim" 482 .Pp 483 To upgrade 484 .Ar portname 485 without following its dependencies, use 486 .Fl n . 996 .sp 997 .if n \{\ 998 .RS 4 999 .\} 1000 .nf 1001 port echo category:net 1002 port echo maintainer:jmpp and name:netw 1003 port echo maintainer:jmpp and \e( net* or category:text \e) 1004 .fi 1005 .if n \{\ 1006 .RE 1007 .\} 1008 .RE 1009 .PP 1010 list 1011 .RS 4 1012 If no argument is given, display a list of the latest version of all available ports\&. If portname(s) are given as arguments, display a list of the latest version of each port\&. 1013 .RE 1014 .PP 1015 mirror 1016 .RS 4 1017 Create/update a local mirror of distfiles used for ports given on the command line\&. The filemap database can be reset by using the 1018 \fB\-\-new\fR 1019 option (though if no database is found, it will be created automatically)\&. If the fetched file does not match the checksum given in the Portfile, it is deleted\&. This can be used with 1020 \fIpseudo\-portnames\fR, e\&.g\&. 1021 \fIall\fR, to mirror everything\&. Note that if you use 1022 \fIall\fR, you\(cqll most likely want to use 1023 \fB\-p\fR 1024 so 1025 \fBport\fR 1026 doesn\(cqt quit on the first download failure\&. 1027 .RE 1028 .PP 1029 version 1030 .RS 4 1031 Display the release number of the installed MacPorts infrastructure\&. 1032 .RE 1033 .PP 1034 selfupdate 1035 .RS 4 1036 Updates the MacPorts system, ports tree(s) and base tools if needed, from the MacPorts rsync server, installing the newest infrastructure available\&. 1037 .sp 1038 To update you would typically do: 1039 .sp 1040 .if n \{\ 1041 .RS 4 1042 .\} 1043 .nf 1044 sudo port selfupdate 1045 .fi 1046 .if n \{\ 1047 .RE 1048 .\} 1049 .sp 1050 See 1051 \fIsync\fR 1052 for more information about updating ports tree(s)\&. 1053 .RE 1054 .PP 1055 load 1056 .RS 4 1057 Provides a shortcut to using launchctl to load a port\(cqs daemon (as installed in /Library/LaunchDaemons)\&. It runs: 1058 .sp 1059 .if n \{\ 1060 .RS 4 1061 .\} 1062 .nf 1063 launchctl load \-w /Library/LaunchDaemons/org\&.macports\&.${port}\&.plist 1064 .fi 1065 .if n \{\ 1066 .RE 1067 .\} 1068 .RE 1069 .PP 1070 unload 1071 .RS 4 1072 A shortcut to launchctl, like load, but unloads the daemon\&. 1073 .RE 1074 .PP 1075 gohome 1076 .RS 4 1077 Loads the home page for the given portname in the default web browser\&. 1078 .RE 1079 .PP 1080 usage 1081 .RS 4 1082 Displays a condensed usage summary\&. 1083 .RE 1084 .PP 1085 help 1086 .RS 4 1087 Displays a summary of all available actions and port command syntax on stdout\&. 1088 .RE 1089 .SH "DEVELOPER TARGETS" 1090 .sp 1091 The targets that are often used by Port developers are intended to provide access to the different phases of a Port\(cqs build process: 1092 .PP 1093 dir 1094 .RS 4 1095 Displays the path to the directory containing 1096 \fIportname\fR\&. 1097 .RE 1098 .PP 1099 work 1100 .RS 4 1101 Displays the path to the work directory for 1102 \fIportname\fR\&. 1103 .RE 1104 .PP 1105 cd 1106 .RS 4 1107 Changes the current working directory to the one containing portname\&. Only useful in interactive mode\&. 1108 .RE 1109 .PP 1110 file 1111 .RS 4 1112 Displays the path to the Portfile for 1113 \fIportname\fR\&. 1114 .RE 1115 .PP 1116 url 1117 .RS 4 1118 Displays the URL for the path of the given portname, which can be passed as 1119 \fIport\-url\fR\&. 1120 .RE 1121 .PP 1122 cat 1123 .RS 4 1124 Concatenates and prints the contents of 1125 \fIPortfile\fR 1126 on stdout\&. 1127 .RE 1128 .PP 1129 edit 1130 .RS 4 1131 Opens Portfile with your default editor specified in your shell\(cqs environment variable\&. You can also use the \-\-editor flag on the command line to specify an alternative editor\&. 1132 .sp 487 1133 For example: 488 .Pp 489 .Dl "port -n upgrade wireshark" 490 .Pp 491 Note that in selecting the variants to use in the upgraded build of the 492 port, any variants specified on the command line take highest precedence, 493 then the variants active in the latest installed version of the port, and 494 finally the global variants specified in variants.conf, if any. Note that 495 upgrade will not normally rebuild a port only to change the selected 496 variants; you can either specify --enforce-variants, or deactivate the port and reinstall it 497 with different variants. 498 .Pp 499 After the upgrade MacPorts will automatically run \fBrev-upgrade\fP to check for 500 broken ports that need to be rebuilt. If there are known problems with 501 \fBrev-upgrade\fP or other reasons why you would want to avoid running this 502 step, you can disable it by running \fBport upgrade\fP with the 503 \fB--no-rev-upgrade\fP switch: 504 .Pp 505 .Dl "port upgrade --no-rev-upgrade outdated" 506 .Ss rev-upgrade 507 Manually check for broken binaries and rebuild ports containing broken binaries. 508 \fBrev-upgrade\fP is usually automatically run after each upgrade, unless you 509 specify the \fB--no-rev-upgrade\fP option. 510 .Pp 511 \fBrev-upgrade\fP can run more checks against a special loadcommand in Mach-O 512 binaries that should always be referencing the file itself. This check is most 513 helpful for maintainers to check whether their ports have been built correctly. 514 It is disabled by default and can be enabled by passing \fB--id-loadcmd-check\fP 515 to \fBrev-upgrade\fP. 516 .Pp 517 See also: 518 .Xr macports.conf 5 519 .Ss clean 520 Clean the files used for building 521 .Ar portname . 522 To just remove the work files, use the 523 .Fl -work 524 .Ar actionflag . 525 This is the default when no flag is given. 526 To remove the distribution files (tarballs, etc), specify 527 .Fl -dist . 528 To remove any archives of a port that remain in the temporary download directory, pass 529 .Fl -archive . 530 (This does not remove archives from the installed location.) 531 To remove the log files for a port, pass 532 .Fl -logs . 533 To remove the work files, distribution files, temporary archives and logs, pass 534 .Fl -all . 535 For example: 536 .Pp 537 .Dl "port clean --dist vim" 538 .Dl "port clean --logs vim" 539 .Pp 540 To remove only certain version(s) of a port's temporary archives ( 541 .Ar version 542 is any valid UNIX glob pattern), you can use: 543 .Pp 544 .Dl "port clean --archive vim 6.2.114" 545 .Pp 546 or: 547 .Pp 548 .Dl "port clean --archive vim '6.*'" 549 .Ss log 550 Parses and shows log files for 551 .Ar portname . 552 To filter log files by some criterions use 553 .Fl -phase 554 to specify phase you want to show and 555 .Fl -verbosity 556 to specify message category (msg, info, debug) 557 For example: 558 .Pp 559 .Dl "port log --phase configure vim" 560 .Dl "port log --phase fetch --verbosity debug vim" 561 .Pp 562 .Ss logfile 563 Displays the path to the log file for 564 .Ar portname . 565 .Pp 566 .Ss echo 567 Writes to stdout the arguments passed to 568 .Nm . 569 This follows the expansion of 570 .Ar pseudo-portnames , 571 portname glob patterns, 572 .Ar pseudo-portname selectors 573 and the evaluation of port expressions. 574 .Nm echo 575 may be used to determine the exact set of ports to which a given string of arguments will expand, without performing any further operations on them. For example: 576 .Pp 577 .Dl port echo category:net 578 .Dl port echo maintainer:jmpp and name:netw 579 .Dl port echo maintainer:jmpp and \e(\ net* or category:text\ \e) 580 .Pp 581 .Ss list 582 If no argument is given, display a list of the latest version of all available ports. 583 If portname(s) are given as arguments, display a list of the latest version of each port. 584 .Ss mirror 585 Create/update a local mirror of distfiles used for ports given on the command line. The filemap database can be reset by using the 586 .Fl -new 587 option (though if no database is found, it will be created automatically). 588 If the fetched file does not match the checksum given in the Portfile, it is 589 deleted. This can be used with 590 .Ar pseudo-portnames , 591 eg, 592 .Ar all , 593 to mirror everything. Note that if you use 594 .Ar all , 595 you'll most likely want to use 596 .Fl p 597 so 598 .Nm 599 doesn't quit on the first download failure. 600 .Ss version 601 Display the release number of the installed MacPorts infrastructure. 602 .Ss platform 603 Display the platform information for the current system. 604 .Ss selfupdate 605 Updates the MacPorts system, ports tree(s) and base tools if needed, from the MacPorts rsync server, 606 installing the newest infrastructure available. To update you would typically do: 607 .Pp 608 .Dl "sudo port selfupdate" 609 .Pp 610 See 611 .Ic sync 612 for more information about updating ports tree(s). 613 .Ss load 614 Provides a shortcut to using launchctl to load a port's daemon (as installed 615 in /Library/LaunchDaemons). It runs: 616 .Pp 617 .Dl launchctl load -w /Library/LaunchDaemons/org.macports.${port}.plist 618 .Ss unload 619 A shortcut to launchctl, like load, but unloads the daemon. 620 .Ss gohome 621 Loads the home page for the given 622 .Ar portname 623 in the default web browser. 624 .Ss usage 625 Displays a condensed usage summary. 626 .Ss help 627 Displays a summary of all available actions and port command syntax on stdout. 628 .Sh DEVELOPER TARGETS 629 The targets that are often used by Port developers are intended to provide access to the different phases of a Port's build process: 630 .Ss dir 631 Displays the path to the directory containing 632 .Ar portname . 633 .Ss work 634 Displays the path to the work directory for 635 .Ar portname . 636 .Ss cd 637 Changes the current working directory to the one containing 638 .Ar portname . 639 Only useful in interactive mode. 640 .Ss file 641 Displays the path to the Portfile for 642 .Ar portname . 643 .Ss url 644 Displays the URL for the path of the given 645 .Ar portname , 646 which can be passed as port-url 647 .Ss cat 648 Concatenates and prints the contents of 649 .Ar Portfile 650 on stdout. 651 .Ss edit 652 Opens 653 .Ar Portfile 654 with your default editor specified in your shell's environment variable. 655 .Pp 656 You can also use the 657 .Fl -editor 658 flag on the command line to specify an alternative editor. For example: 659 .Dl port edit --editor nano apache2 660 .Pp 661 .Ss fetch 1134 .sp 1135 .if n \{\ 1136 .RS 4 1137 .\} 1138 .nf 1139 port edit \-\-editor nano apache2 1140 .fi 1141 .if n \{\ 1142 .RE 1143 .\} 1144 .RE 1145 .PP 1146 fetch 1147 .RS 4 662 1148 Fetches the distribution files required to build 663 .Ar portname . 664 .Ss checksum 665 Compute the checksums of the distribution files for 666 .Ar portname , 667 and compare them to the checksums listed in 668 .Ar Portfile . 669 .Ss extract 1149 \fIportname\fR\&. 1150 .RE 1151 .PP 1152 checksum 1153 .RS 4 1154 Compute the checksums of the distribution files for 1155 \fIportname\fR, and compare them to the checksums listed in 1156 \fIPortfile\fR\&. 1157 .RE 1158 .PP 1159 extract 1160 .RS 4 670 1161 Extracts the distribution files for 671 .Ar portname . 672 .Ss patch 673 Applies any required patches to 674 .Ar portname's 675 extracted distribution files. 676 .Ss configure 1162 \fIportname\fR\&. 1163 .RE 1164 .PP 1165 patch 1166 .RS 4 1167 Applies any required patches to 1168 \fIportname\(cqs\fR 1169 extracted distribution files\&. 1170 .RE 1171 .PP 1172 configure 1173 .RS 4 677 1174 Runs any configure process for 678 .Ar portname . 679 .Ss build 1175 \fIportname\fR\&. 1176 .RE 1177 .PP 1178 build 1179 .RS 4 680 1180 Build 681 .Ar portname . 682 .Ss destroot 1181 \fIportname\fR\&. 1182 .RE 1183 .PP 1184 destroot 1185 .RS 4 683 1186 Installs 684 .Ar portname 685 to a temporary directory. 686 .Ss test 1187 \fIportname\fR 1188 to a temporary directory\&. 1189 .RE 1190 .PP 1191 test 1192 .RS 4 687 1193 Tests 688 .Ar portname . 689 .Ss lint 690 Verifies Portfile for 691 .Ar portname . 692 To nitpick about whitespace and patchfile names, use 693 .Fl -nitpick . 694 .Ss distcheck 695 Check if the distfiles haven't changed and can be fetched. 696 .Ss distfiles 697 Display each distfile, its checksums, and the URLs used to fetch it. 698 .Ss livecheck 699 Check if the software hasn't been updated since the Portfile was last modified. 700 .Sh PACKAGING TARGETS 1194 \fIportname\fR\&. 1195 .RE 1196 .PP 1197 lint 1198 .RS 4 1199 Verifies Portfile for portname\&. To nitpick about whitespace and patchfile names, use 1200 \fB\-\-nitpick\fR\&. 1201 .RE 1202 .PP 1203 distcheck 1204 .RS 4 1205 Check if the distfiles haven\(cqt changed and can be fetched\&. 1206 .RE 1207 .PP 1208 distfiles 1209 .RS 4 1210 Display each distfile, its checksums, and the URLs used to fetch it\&. 1211 .RE 1212 .PP 1213 livecheck 1214 .RS 4 1215 Check if the software hasn\(cqt been updated since the Portfile was last modified\&. 1216 .RE 1217 .SH "PACKAGING TARGETS" 1218 .sp 701 1219 There are also targets for producing installable packages of ports: 702 .Pp 703 .Ss pkg 1220 .PP 1221 pkg 1222 .RS 4 704 1223 Creates an OS X installer package of 705 .Ar portname. 706 .Ss mpkg 707 Creates an OS X installer metapackage of 708 .Ar portname 709 and its dependencies. 710 .Ss dmg 711 Creates an internet-enabled disk image containing an OS X package of 712 .Ar portname . 713 .Ss mdmg 714 Creates an internet-enabled disk image containing an OS X metapackage of 715 .Ar portname 716 and its dependencies. 717 .Ss rpm 1224 \fIportname\fR\&. 1225 .RE 1226 .PP 1227 mpkg 1228 .RS 4 1229 Creates an OS X installer metapackage of 1230 \fIportname\fR 1231 and its dependencies\&. 1232 .RE 1233 .PP 1234 dmg 1235 .RS 4 1236 Creates an internet\-enabled disk image containing an OS X package of 1237 \fIportname\fR\&. 1238 .RE 1239 .PP 1240 mdmg 1241 .RS 4 1242 Creates an internet\-enabled disk image containing an OS X metapackage of 1243 \fIportname\fR 1244 and its dependencies\&. 1245 .RE 1246 .PP 1247 rpm 1248 .RS 4 718 1249 Creates an RPM binary package of 719 .Ar portname , 720 similar to a tgz "archive". 721 .Ss srpm 1250 \fIportname\fR, similar to a tgz \(lqarchive\(rq\&. 1251 .RE 1252 .PP 1253 srpm 1254 .RS 4 722 1255 Creates a SRPM source package of 723 .Ar portname , 724 similar to a xar "portpkg". 725 .Ss dpkg 1256 \fIportname\fR, similar to a xar \(lqportpkg\(rq\&. 1257 .RE 1258 .PP 1259 dpkg 1260 .RS 4 726 1261 Creates a DEB binary package of 727 .Ar portname . 728 .Sh EXAMPLES 729 The following demonstrates invoking 730 .Nm 731 with the 732 .Ar extract 733 target on 734 .Ar portdir 735 \&"textproc/figlet" and extract.suffix set to ".tgz": 736 .Pp 737 .Dl "port extract -D textproc/figlet extract.suffix=.tgz" 738 .Pp 739 .Sh FILES 740 .Bl -tag -width 741 .It Va ${prefix}/etc/macports/macports.conf 742 Global configuration file for the MacPorts system. 743 .It Va ${prefix}/etc/macports/sources.conf 744 Global listing of the ports trees used by MacPorts. This file also enables rsync synchronization. 745 .It Va ${prefix}/etc/macports/variants.conf 746 Global variants used when a port is installed. 747 .It Va ~/.macports/macports.conf 748 User configuration file for the MacPorts system. It overrides the global 749 .Ar macports.conf 750 file. 751 .El 752 .Sh DIAGNOSTICS 753 .Ex -std 754 .Sh SEE ALSO 755 .Xr macports.conf 5 , 756 .Xr portfile 7 , 757 .Xr portgroup 7 , 758 .Xr portstyle 7 , 759 .Xr porthier 7 760 .Sh AUTHORS 761 .An "Landon Fuller" Aq landonf@macports.org 762 .An "James Berry" Aq jberry@macports.org 763 .An "Jordan K. Hubbard" Aq jkh@macports.org 764 .An "Juan Manuel Palacios" Aq jmpp@macports.org 765 .An "Kevin Van Vechten" Aq kevin@opendarwin.org 766 .An "Ole Guldberg Jensen" Aq olegb@opendarwin.org 767 .An "Robert Shaw" Aq rshaw@opendarwin.org 768 .An "Chris Ridd" Aq cjr@opendarwin.org 769 .An "Matt Anton" Aq matt@opendarwin.org 770 .An "Joe Auty" Aq joe@opendarwin.org 1262 \fIportname\fR\&. 1263 .RE 1264 .SH "EXAMPLES" 1265 .sp 1266 The following demonstrates invoking port with the extract target on portdir \(lqtextproc/figlet\(rq and extract\&.suffix set to \(lq\&.tgz\(rq: 1267 .sp 1268 .if n \{\ 1269 .RS 4 1270 .\} 1271 .nf 1272 port extract \-D textproc/figlet extract\&.suffix=\&.tgz 1273 .fi 1274 .if n \{\ 1275 .RE 1276 .\} 1277 .SH "FILES" 1278 .PP 1279 ${prefix}/etc/macports/macports\&.conf 1280 .RS 4 1281 Global configuration file for the MacPorts system\&. 1282 .RE 1283 .PP 1284 ${prefix}/etc/macports/sources\&.conf 1285 .RS 4 1286 Global listing of the ports trees used by MacPorts\&. This file also enables rsync synchronization\&. 1287 .RE 1288 .PP 1289 ${prefix}/etc/macports/variants\&.conf 1290 .RS 4 1291 Global variants used when a port is installed\&. 1292 .RE 1293 .PP 1294 ~/\&.macports/macports\&.conf 1295 .RS 4 1296 User configuration file for the MacPorts system\&. It overrides the global 1297 \fImacports\&.conf(5)\fR 1298 file\&. 1299 .RE 1300 .SH "DIAGNOSTICS" 1301 .sp 1302 The \fBport\fR utility exits 0 on success, and >0 if an error occurs\&. 1303 .SH "SEE ALSO" 1304 .sp 1305 \fBmacports.conf\fR(5), \fBportfile\fR(7), \fBportgroup\fR(7), \fBportstyle\fR(7), \fBporthier\fR(7) 1306 .SH "AUTHORS" 1307 .sp 1308 .if n \{\ 1309 .RS 4 1310 .\} 1311 .nf 1312 (C) 2002\-2003 Apple Inc\&. 1313 (C) 2004\-2012 The MacPorts Project 1314 Landon Fuller <landonf@macports\&.org> 1315 James Berry <jberry@macports\&.org> 1316 Jordan K\&. Hubbard <jkh@macports\&.org> 1317 Juan Manuel Palacios <jmpp@macports\&.org> 1318 Kevin Van Vechten <kevin@opendarwin\&.org> 1319 Ole Guldberg Jensen <olegb@opendarwin\&.org> 1320 Robert Shaw <rshaw@opendarwin\&.org> 1321 Chris Ridd <cjr@opendarwin\&.org> 1322 Matt Anton <matt@opendarwin\&.org> 1323 Joe Auty <joe@opendarwin\&.org> 1324 Rainer Mueller <raimue@macports\&.org> 1325 .fi 1326 .if n \{\ 1327 .RE 1328 .\} -
trunk/base/doc/portgroup.7
r79593 r123002 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 The MacPorts Project 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 February 5, 2007 31 .Dt XCODE 7 "MacPorts" 32 .Os 33 .Sh NAME 34 .Nm PortGroup 35 .Nd MacPorts PortGroup command reference 36 .Sh SYNOPSIS 37 .Nm PortGroup gnustep 1.0 38 .Nm PortGroup perl5 1.0 39 .Nm PortGroup python24 1.0 40 .Nm PortGroup python25 1.0 41 .Nm PortGroup python30 1.0 42 .Nm PortGroup ruby 1.0 43 .Nm PortGroup xcode 1.0 44 .Sh DESCRIPTION 45 MacPorts defines the notion of PortGroup classes with the PortGroup command. 46 These classes factorize the work for similar ports. Port maintainers willing to 47 use 48 .Nm PortGroup 49 need to have some notion of Portfiles. See 50 .Xr portfile 7 51 .Pp 52 .Sh XCODE PORTGROUP 53 .Nm PortGroup xcode 54 is here to easily port Xcode-based opensource software. It handles 55 configuration, build and destroot phases. It also defines some values 56 for Xcode-based software. A minimum Portfile using the xcode PortGroup class 57 only defines the fetch and the checksum phases. 58 .Pp 59 Using 60 .Nm PortGroup xcode 61 is a way to make your port more robust to Xcode version updates as the PortGroup 62 is tested against all supported Mac OS X and Xcode versions. 63 .Sh XCODE PORTGROUP SUGAR 64 Portfiles using xcode PortGroup do not need to define the following variables: 65 .Bl -tag -width lc 66 .It Ic categories 67 .Sy Default: 68 .Em aqua 69 .br 70 .It Ic platforms 71 .Sy Default: 72 .Em macosx 73 .br 74 .It Ic use_configure 75 .Sy Default: 76 .Em no 77 .El 78 .br 79 Moreover, Portfiles using 80 .Nm PortGroup xcode 81 do not need to define any build or destroot phase. Some options are provided 82 for tailoring these phases to what the software requires. 83 .Sh XCODE PORTGROUP SPECIFIC VARIABLES 84 Portfiles using xcode PortGroup may define the following variables: 85 .Bl -tag -width lc 86 .It Ic xcode.project 87 path (relative to ${build.dir} and ${destroot.dir}) of the Xcode project. If 88 unset, let xcode tool figure it out. It usually succeeds if there is a single 89 project in the directory. 90 .br 91 .Sy Type: 92 .Em optional 93 .br 94 .Sy Example: 95 .Dl xcode.project ${name}.xcode 96 .br 97 .It Ic xcode.configuration 98 Project configuration/buildstyle to use. 99 .br 100 .Sy Type: 101 .Em optional 102 .br 103 .Sy Default: 104 .Em Deployment 105 .br 106 .Sy Example: 107 .Dl xcode.configuration Main 108 .br 109 .It Ic xcode.target 110 If present, overrides build.target and destroot.target. 111 .br 112 .Sy Type: 113 .Em optional 114 .br 115 .It Ic xcode.build.settings 116 Additional settings passed to the xcode build tool during the build phase. 117 These settings should be in the X=Y form. 118 .br 119 .Sy Type: 120 .Em optional 121 .br 122 .Sy Example: 123 .Bd -literal -offset indent -compact 124 xcode.build.settings FRAMEWORK_SEARCH_PATHS=${prefix}/Library/Frameworks 125 .Ed 126 .It Ic xcode.destroot.type 127 Type of project that will be installed. This tells Xcode PortGroup how to 128 destroot the project. Correct values are application and framework. 129 .br 130 .Sy Type: 131 .Em optional 132 .br 133 .Sy Default: 134 .Em application 135 .br 136 .Sy Example: 137 .Dl xcode.destroot.type framework 138 .br 139 .It Ic xcode.destroot.path 140 Where to install the build product. 141 .br 142 .Sy Type: 143 .Em optional 144 .br 145 .Sy Default: 146 .Em ${prefix}/Library/Frameworks 147 or 148 .Em /Applications/MacPorts depending on xcode.destroot.type 149 .br 150 .It Ic xcode.destroot.settings 151 Additional settings passed to the xcode build tool during the destroot phase. 152 These settings should be in the X=Y form. 153 .br 154 .Sy Type: 155 .Em optional 156 .br 157 .Sy Example: 158 .Bd -literal -offset indent -compact 159 xcode.destroot.settings SKIP_INSTALL=NO 160 .Ed 161 .El 162 .Sh STANDARD PORTFILE VARIABLES AFFECTING XCODE PORTGROUP 163 The following standard Portfile variables actually affect 164 .Nm xcode PortGroup. 165 In most cases, you will not need to set any of these variables in the Portfile. 166 .Bl -tag -width lc 167 .It Ic destroot 168 Where to destroot the project. 169 .br 170 .It Ic build.cmd 171 The command to invoke to build the project. 172 .Nm xcode PortGroup 173 sets this variable to ${xcodebuildcmd}. 174 .br 175 .It Ic build.target 176 The Xcode target to build. 177 .Nm xcode PortGroup 178 sets this variable to "", thus building all targets. This variable will be 179 ignored if xcode.target is set. 180 .br 181 .It Ic build.pre_args 182 Additional parameters for ${build.cmd}. 183 .br 184 .Sy Default: 1 '\" t 2 .TH "PORTGROUP" "7" "2013\-03\-10" "MacPorts 2\&.3\&.99" "MacPorts Manual" 3 .\" ----------------------------------------------------------------- 4 .\" * Define some portability stuff 5 .\" ----------------------------------------------------------------- 6 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7 .\" http://bugs.debian.org/507673 8 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html 9 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10 .ie \n(.g .ds Aq \(aq 11 .el .ds Aq ' 12 .\" ----------------------------------------------------------------- 13 .\" * set default formatting 14 .\" ----------------------------------------------------------------- 15 .\" disable hyphenation 16 .nh 17 .\" disable justification (adjust text to left margin only) 18 .ad l 19 .\" ----------------------------------------------------------------- 20 .\" * MAIN CONTENT STARTS HERE * 21 .\" ----------------------------------------------------------------- 22 .SH "NAME" 23 portgroup \- MacPorts PortGroup command reference 24 .SH "SYNOPSIS" 25 .sp 26 .nf 27 PortGroup gnustep 1\&.0 28 PortGroup perl5 1\&.0 29 PortGroup python24 1\&.0 30 PortGroup python25 1\&.0 31 PortGroup python30 1\&.0 32 PortGroup ruby 1\&.0 33 PortGroup xcode 1\&.0 34 .fi 35 .SH "DESCRIPTION" 36 .sp 37 MacPorts defines the notion of PortGroup classes with the PortGroup command\&. These classes factorize the work for similar ports\&. Port maintainers willing to use PortGroup need to have some notion of Portfiles\&. See \fBportfile\fR(7)\&. 38 .SH "XCODE PORTGROUP" 39 .sp 40 \fBPortGroup xcode\fR is here to easily port Xcode\-based opensource software\&. It handles configuration, build and destroot phases\&. It also defines some values for Xcode\-based software\&. A minimum Portfile using the \fBxcode PortGroup\fR class only defines the fetch and the checksum phases\&. 41 .sp 42 Using \fBPortGroup xcode\fR is a way to make your port more robust to Xcode version updates as the PortGroup is tested against all supported Mac OS X and Xcode versions\&. 43 .SS "XCODE PORTGROUP SUGAR" 44 .sp 45 Portfiles using \fBxcode PortGroup\fR do not need to define the following variables: 46 .PP 47 categories 48 .RS 4 49 \fBDefault:\fR 50 aqua 51 .RE 52 .PP 53 platforms 54 .RS 4 55 \fBDefault:\fR 56 macosx 57 .RE 58 .PP 59 use_configure 60 .RS 4 61 \fBDefault:\fR 62 no 63 .RE 64 .sp 65 Moreover, Portfiles using \fBPortGroup xcode\fR do not need to define any build or destroot phase\&. Some options are provided for tailoring these phases to what the software requires\&. 66 .SS "XCODE PORTGROUP SPECIFIC VARIABLES" 67 .sp 68 Portfiles using \fBxcode PortGroup\fR may define the following variables: 69 .PP 70 xcode\&.project 71 .RS 4 72 Path (relative to ${build\&.dir} and ${destroot\&.dir}) of the Xcode project\&. If unset, let xcode tool figure it out\&. It usually succeeds if there is a single project in the directory\&. 73 .TS 74 tab(:); 75 lt lt. 76 T{ 77 \fBType:\fR 78 T}:T{ 79 optional 80 T} 81 .TE 82 .sp 1 83 \fBExample:\fR 84 .sp 85 .if n \{\ 86 .RS 4 87 .\} 88 .nf 89 xcode\&.project ${name}\&.xcode 90 .fi 91 .if n \{\ 92 .RE 93 .\} 94 .RE 95 .PP 96 xcode\&.configuration 97 .RS 4 98 Project configuration/buildstyle to use\&. 99 .TS 100 tab(:); 101 lt lt 102 lt lt. 103 T{ 104 \fBType:\fR 105 T}:T{ 106 optional 107 T} 108 T{ 109 \fBDefault:\fR 110 T}:T{ 111 Deployment 112 T} 113 .TE 114 .sp 1 115 \fBExample:\fR 116 .sp 117 .if n \{\ 118 .RS 4 119 .\} 120 .nf 121 xcode\&.configuration Main 122 .fi 123 .if n \{\ 124 .RE 125 .\} 126 .RE 127 .PP 128 xcode\&.target 129 .RS 4 130 If present, overrides build\&.target and destroot\&.target\&. 131 .TS 132 tab(:); 133 lt lt. 134 T{ 135 \fBType:\fR 136 T}:T{ 137 optional 138 T} 139 .TE 140 .sp 1 141 .RE 142 .PP 143 xcode\&.build\&.settings 144 .RS 4 145 Additional settings passed to the xcode build tool during the build phase\&. These settings should be in the X=Y form\&. 146 .TS 147 tab(:); 148 lt lt. 149 T{ 150 \fBType:\fR 151 T}:T{ 152 optional 153 T} 154 .TE 155 .sp 1 156 \fBExample:\fR 157 .sp 158 .if n \{\ 159 .RS 4 160 .\} 161 .nf 162 xcode\&.build\&.settings FRAMEWORK_SEARCH_PATHS=${prefix}/Library/Frameworks 163 .fi 164 .if n \{\ 165 .RE 166 .\} 167 .RE 168 .PP 169 xcode\&.destroot\&.type 170 .RS 4 171 Type of project that will be installed\&. This tells Xcode PortGroup how to destroot the project\&. Correct values are application and framework\&. 172 .TS 173 tab(:); 174 lt lt 175 lt lt. 176 T{ 177 \fBType:\fR 178 T}:T{ 179 optional 180 T} 181 T{ 182 \fBDefault:\fR 183 T}:T{ 184 application 185 T} 186 .TE 187 .sp 1 188 \fBExample:\fR 189 .sp 190 .if n \{\ 191 .RS 4 192 .\} 193 .nf 194 xcode\&.destroot\&.type framework 195 .fi 196 .if n \{\ 197 .RE 198 .\} 199 .RE 200 .PP 201 xcode\&.destroot\&.path 202 .RS 4 203 Where to install the build product\&. 204 .TS 205 tab(:); 206 lt lt 207 lt lt. 208 T{ 209 \fBType:\fR 210 T}:T{ 211 optional 212 T} 213 T{ 214 \fBDefault:\fR 215 T}:T{ 216 ${prefix}/Library/Frameworks or /Applications/MacPorts depending on xcode\&.destroot\&.type 217 T} 218 .TE 219 .sp 1 220 .RE 221 .PP 222 xcode\&.destroot\&.settings 223 .RS 4 224 Additional settings passed to the xcode build tool during the destroot phase\&. These settings should be in the X=Y form\&. 225 .TS 226 tab(:); 227 lt lt. 228 T{ 229 \fBType:\fR 230 T}:T{ 231 optional 232 T} 233 .TE 234 .sp 1 235 \fBExample:\fR 236 .sp 237 .if n \{\ 238 .RS 4 239 .\} 240 .nf 241 xcode\&.destroot\&.settings SKIP_INSTALL=NO 242 .fi 243 .if n \{\ 244 .RE 245 .\} 246 .RE 247 .SS "STANDARD PORTFILE VARIABLES AFFECTING XCODE PORTGROUP" 248 .sp 249 The following standard Portfile variables actually affect \fBxcode PortGroup\fR\&. In most cases, you will not need to set any of these variables in the Portfile\&. 250 .PP 251 destroot 252 .RS 4 253 Where to destroot the project\&. 254 .RE 255 .PP 256 build\&.cmd 257 .RS 4 258 The command to invoke to build the project\&. 259 \fBxcode PortGroup\fR 260 sets this variable to ${xcodebuildcmd}\&. 261 .RE 262 .PP 263 build\&.target 264 .RS 4 265 The Xcode target to build\&. 266 \fBxcode PortGroup\fR 267 sets this variable to "", thus building all targets\&. This variable will be ignored if xcode\&.target is set\&. 268 .RE 269 .PP 270 build\&.pre_args 271 .RS 4 272 Additional parameters for ${build\&.cmd}\&. 273 .TS 274 tab(:); 275 lt lt. 276 T{ 277 \fBDefault:\fR 278 T}:T{ 185 279 none 186 .br 187 .It Ic build.args 188 Main parameters for ${build.cmd}. 189 .br 190 .Sy Default: 191 .Em build 192 .br 193 .It Ic build.post_args 194 Additional parameters for ${build.cmd}. 195 .br 196 .Sy Default: 280 T} 281 .TE 282 .sp 1 283 .RE 284 .PP 285 build\&.args 286 .RS 4 287 Main parameters for ${build\&.cmd}\&. 288 .TS 289 tab(:); 290 lt lt. 291 T{ 292 \fBDefault:\fR 293 T}:T{ 294 build 295 T} 296 .TE 297 .sp 1 298 .RE 299 .PP 300 build\&.post_args 301 .RS 4 302 Additional parameters for ${build\&.cmd}\&. 303 .TS 304 tab(:); 305 lt lt. 306 T{ 307 \fBDefault:\fR 308 T}:T{ 197 309 none 198 .br 199 .It Ic build.dir 200 Where to build the project from (i.e. where the Xcode project is). 201 .br 202 .Sy Default: 310 T} 311 .TE 312 .sp 1 313 .RE 314 .PP 315 build\&.dir 316 .RS 4 317 Where to build the project from (i\&.e\&. where the Xcode project is)\&. 318 .TS 319 tab(:); 320 lt lt. 321 T{ 322 \fBDefault:\fR 323 T}:T{ 203 324 ${worksrcpath} 204 .br 205 .It Ic destroot.cmd 206 The command to invoke to destroot the project. 207 .Nm xcode PortGroup 208 sets this variable to xcodebuildcmd. 209 .br 210 .It Ic destroot.target 211 The Xcode target to install. 212 .Nm xcode PortGroup 213 sets this variable to "", thus installing all targets. This variable will be 214 ignored if xcode.target is set. 215 .br 216 .It Ic destroot.pre_args 217 Additional parameters for ${destroot.cmd}. 218 .br 219 .Sy Default: 325 T} 326 .TE 327 .sp 1 328 .RE 329 .PP 330 destroot\&.cmd 331 .RS 4 332 The command to invoke to destroot the project\&. 333 \fBxcode PortGroup\fR 334 sets this variable to xcodebuildcmd\&. 335 .RE 336 .PP 337 destroot\&.target 338 .RS 4 339 The Xcode target to install\&. 340 \fBxcode PortGroup\fR 341 sets this variable to "", thus installing all targets\&. This variable will be ignored if xcode\&.target is set\&. 342 .RE 343 .PP 344 destroot\&.pre_args 345 .RS 4 346 Additional parameters for ${destroot\&.cmd}\&. 347 .TS 348 tab(:); 349 lt lt. 350 T{ 351 \fBDefault:\fR 352 T}:T{ 220 353 none 221 .br 222 .It Ic destroot.args 223 Main parameters for ${destroot.cmd}. 224 .br 225 .Sy Default: 226 .Em install 227 .br 228 .It Ic destroot.post_args 229 Additional parameters for ${destroot.cmd}. 230 .br 231 .Sy Default: 354 T} 355 .TE 356 .sp 1 357 .RE 358 .PP 359 destroot\&.args 360 .RS 4 361 Main parameters for ${destroot\&.cmd}\&. 362 .TS 363 tab(:); 364 lt lt. 365 T{ 366 \fBDefault:\fR 367 T}:T{ 368 install 369 T} 370 .TE 371 .sp 1 372 .RE 373 .PP 374 destroot\&.post_args 375 .RS 4 376 Additional parameters for ${destroot\&.cmd}\&. 377 .TS 378 tab(:); 379 lt lt. 380 T{ 381 \fBDefault:\fR 382 T}:T{ 232 383 none 233 .br 234 .It Ic destroot.dir 235 Where to destroot the project from (i.e. where the Xcode project is). 236 .br 237 .Sy Default: 384 T} 385 .TE 386 .sp 1 387 .RE 388 .PP 389 destroot\&.dir 390 .RS 4 391 Where to destroot the project from (i\&.e\&. where the Xcode project is)\&. 392 .TS 393 tab(:); 394 lt lt. 395 T{ 396 \fBDefault:\fR 397 T}:T{ 238 398 ${worksrcpath} 239 .br 240 .El 241 .Sh GNUSTEP PORTGROUP 242 .Nm PortGroup gnustep 243 is here to easily port GNUstep-based opensource software using the GNU 244 objective-C runtime. It handles configuration, build and destroot phases. 245 It also defines some values for GNUstep-based software. A minimum Portfile 246 using the gnustep PortGroup class only defines the fetch and the checksum phases. 247 .Sh GNUSTEP FILESYSTEM LAYOUTS 248 .Nm PortGroup gnustep 249 also supports both the traditionnal gnustep file layout and the new fhs file layout. 250 However, the ports themselves do not necessarily support both. 251 The Portfiles have access to many procedures in dealing with these two layouts : 252 .Bl -tag -width lc 253 .It Ic set_gnustep_make 399 T} 400 .TE 401 .sp 1 402 .RE 403 .SH "GNUSTEP PORTGROUP" 404 .sp 405 \fBPortGroup gnustep\fR is here to easily port GNUstep\-based opensource software using the GNU objective\- C runtime\&. It handles configuration, build and destroot phases\&. It also defines some values for GNUstep\-based software\&. A minimum Portfile using the \fBgnustep PortGroup\fR class only defines the fetch and the checksum phases\&. 406 .SS "GNUSTEP FILESYSTEM LAYOUTS" 407 .sp 408 PortGroup gnustep also supports both the traditionnal gnustep file layout and the new fhs file layout\&. However, the ports themselves do not necessarily support both\&. The Portfiles have access to many procedures in dealing with these two layouts: 409 .PP 410 set_gnustep_make 411 .RS 4 254 412 Sets GNUSTEP_MAKEFILES according to the FilesystemLayout 255 .br 256 .It Ic set_gnustep_env 413 .RE 414 .PP 415 set_gnustep_env 416 .RS 4 257 417 Sets DYLD_LIBRARY_PATH and PATH for the gnustep FilesystemLayout 258 .br 259 .It Ic gnustep_layout 418 .RE 419 .PP 420 gnustep_layout 421 .RS 4 260 422 Returns true (1) if current file layout is gnustep 261 .br 262 .It Ic set_system_library 423 .RE 424 .PP 425 set_system_library 426 .RS 4 263 427 Sets GNUSTEP_SYSTEM_LIBRARY according to the FilesystemLayout 264 .br 265 .It Ic set_local_library 428 .RE 429 .PP 430 set_local_library 431 .RS 4 266 432 Sets GNUSTEP_LOCAL_LIBRARY according to the FilesystemLayout 267 .br 268 .El 269 .Pp 270 .Sh GNUSTEP PORTGROUP SUGAR 271 Portfiles using gnustep PortGroup do not need to define the following variables: 272 .Bl -tag -width lc 273 .It Ic categories 274 .Sy Default: 275 .Em gnustep 276 .br 277 .It Ic homepage 278 .Sy Default: 279 .Em http://www.gnustep.org/ 280 .br 281 .It Ic master_sites 282 .Sy Default: 283 .Em gnustep:core 284 .br 285 .It Ic depends_lib 286 .Sy Default: 287 .Em gnustep-core 288 .br 289 .It Ic use_configure 290 .Sy Default: 291 .Em no 292 .It Ic configure.env 293 .Sy Default: 294 .Em DYLD_LIBRARY_PATH PATH 295 .It Ic configure.pre_args-append 296 .Sy Default: 297 .Em CC=gcc-mp-4.2 GNUSTEP_MAKEFILES 298 .br 299 .It Ic build.type 300 .Sy Default: 301 .Em gnu 302 .br 303 .It Ic build.env 304 .Sy Default: 305 .Em DYLD_LIBRARY_PATH PATH 306 .It Ic build.pre_args-append 307 .Sy Default: 308 .Em messages=yes 309 .br 310 .It Ic destroot.env 311 .Sy Default: 312 .Em DYLD_LIBRARY_PATH PATH 313 .It Ic destroot.pre_args-append 314 .Sy Default: 315 .Em messages=yes 316 .br 317 .br 318 .El 319 .br 320 Moreover, Portfiles using 321 .Nm PortGroup gnustep 322 do not need to define any build or destroot phase. Some options are provided 323 for tailoring these phases to what the software requires. A mechanism is also 324 provided to ease the patch process. 325 .Sh GNUSTEP PORTGROUP SPECIFIC VARIABLES 326 Portfiles using 327 .Nm gnustep PortGroup 328 may define the following variables: 329 .Bl -tag -width lc 330 .It Ic gnustep.post_flags 331 an associative array which specifies the sub-directories relative to ${worksrcpath} 332 and the SHARED_LD_POSTFLAGS variables to be added to GNUmakefile.preamble in those 333 sub-directories. This helps making the patching process easier on Darwin. 334 .br 335 .Sy Type: 336 .Em optional 337 .br 338 .Sy Example: 339 .Dl platform darwin { 340 .Dl array set gnustep.post_flags { 341 .Dl BundleSubDir """-lfoo -lbar"" 342 .Dl } 343 .Dl } 344 .br 345 .It Ic gnustep.cc 346 .br 347 .Sy Type: 348 .Em optional 349 .br 350 .Sy Default: 351 .Em gcc-mp-4.2 352 .br 353 .Sy Example: 354 .Dl gnustep.cc gcc-mp-4.3 355 .br 356 .It Ic variant with_docs 357 Many GNUstep packages include a Documentation sub-directory that is not 358 built by default. Enabling this variant builds and installs the included 359 documentation. 360 .br 361 .Sy Type: 362 .Em optional 363 .br 364 .Sy Example: 365 .Dl port install gnustep-gui +with_docs 366 .br 367 .El 368 .Sh SEE ALSO 369 .Xr port 1 , 370 .Xr macports.conf 5 , 371 .Xr portfile 7 , 372 .Xr portstyle 7 , 373 .Xr porthier 7 374 .Sh AUTHORS 375 .An "Paul Guyot" Aq pguyot@kallisys.net 376 .An "Yves de Champlain" Aq yves@macports.org 433 .RE 434 .SS "GNUSTEP PORTGROUP SUGAR" 435 .sp 436 Portfiles using \fBgnustep PortGroup\fR do not need to define the following variables: 437 .PP 438 categories 439 .RS 4 440 \fBDefault:\fR 441 gnustep 442 .RE 443 .PP 444 homepage 445 .RS 4 446 \fBDefault:\fR\m[blue]\fBhttp://www\&.gnustep\&.org/\fR\m[] 447 .RE 448 .PP 449 master_sites 450 .RS 4 451 \fBDefault:\fR 452 gnustep:core 453 .RE 454 .PP 455 depends_lib 456 .RS 4 457 \fBDefault:\fR 458 gnustep\-core 459 .RE 460 .PP 461 use_configure 462 .RS 4 463 \fBDefault:\fR 464 no 465 .RE 466 .PP 467 configure\&.env 468 .RS 4 469 \fBDefault:\fR 470 DYLD_LIBRARY_PATH PATH 471 .RE 472 .PP 473 configure\&.pre_args\-append 474 .RS 4 475 \fBDefault:\fR 476 CC=gcc\-mp\-4\&.2 GNUSTEP_MAKEFILES 477 .RE 478 .PP 479 build\&.type 480 .RS 4 481 \fBDefault:\fR 482 gnu 483 .RE 484 .PP 485 build\&.env 486 .RS 4 487 \fBDefault:\fR 488 DYLD_LIBRARY_PATH PATH 489 .RE 490 .PP 491 build\&.pre_args\-append 492 .RS 4 493 \fBDefault:\fR 494 messages=yes 495 .RE 496 .PP 497 destroot\&.env 498 .RS 4 499 \fBDefault:\fR 500 DYLD_LIBRARY_PATH PATH 501 .RE 502 .PP 503 destroot\&.pre_args\-append 504 .RS 4 505 \fBDefault:\fR 506 messages=yes 507 .RE 508 .sp 509 Moreover, Portfiles using \fBPortGroup gnustep\fR do not need to define any build or destroot phase\&. Some options are provided for tailoring these phases to what the software requires\&. A mechanism is also provided to ease the patch process\&. 510 .SS "GNUSTEP PORTGROUP SPECIFIC VARIABLES" 511 .sp 512 Portfiles using \fBgnustep PortGroup\fR may define the following variables: 513 .PP 514 gnustep\&.post_flags 515 .RS 4 516 an associative array which specifies the sub\-directories relative to ${worksrcpath} and the SHARED_LD_POSTFLAGS variables to be added to GNUmakefile\&.preamble in those sub\-directories\&. This helps making the patching process easier on Darwin\&. 517 .TS 518 tab(:); 519 lt lt. 520 T{ 521 \fBType:\fR 522 T}:T{ 523 optional 524 T} 525 .TE 526 .sp 1 527 \fBExample:\fR 528 .sp 529 .if n \{\ 530 .RS 4 531 .\} 532 .nf 533 platform darwin { 534 array set gnustep\&.post_flags { 535 BundleSubDir "\-lfoo \-lbar" 536 } 537 } 538 .fi 539 .if n \{\ 540 .RE 541 .\} 542 .RE 543 .PP 544 gnustep\&.cc 545 .RS 4 546 .TS 547 tab(:); 548 lt lt 549 lt lt. 550 T{ 551 \fBType:\fR 552 T}:T{ 553 optional 554 T} 555 T{ 556 \fBDefault:\fR 557 T}:T{ 558 gcc\-mp\-4\&.2 559 T} 560 .TE 561 .sp 1 562 \fBExample:\fR 563 .sp 564 .if n \{\ 565 .RS 4 566 .\} 567 .nf 568 gnustep\&.cc gcc\-mp\-4\&.3 569 .fi 570 .if n \{\ 571 .RE 572 .\} 573 .RE 574 .PP 575 variant with_docs 576 .RS 4 577 Many GNUstep packages include a Documentation sub\-directory that is not built by default\&. Enabling this variant builds and installs the included documentation\&. 578 .TS 579 tab(:); 580 lt lt. 581 T{ 582 \fBType:\fR 583 T}:T{ 584 optional 585 T} 586 .TE 587 .sp 1 588 \fBExample:\fR 589 .sp 590 .if n \{\ 591 .RS 4 592 .\} 593 .nf 594 port install gnustep\-gui +with_docs 595 .fi 596 .if n \{\ 597 .RE 598 .\} 599 .RE 600 .SH "SEE ALSO" 601 .sp 602 \fBport\fR(1), \fBmacports.conf\fR(5), \fBportfile\fR(7), \fBportstyle\fR(7), \fBporthier\fR(7) 603 .SH "AUTHORS" 604 .sp 605 .if n \{\ 606 .RS 4 607 .\} 608 .nf 609 (C) 2013 The MacPorts Project 610 Paul Guyot <pguyot@kallisys\&.net> 611 Yves de Champlain <yves@macports\&.org> 612 Rainer Mueller <raimue@macports\&.org> 613 .fi 614 .if n \{\ 615 .RE 616 .\} -
trunk/base/src/macports1.0/macports_autoconf.tcl.in
r113478 r123002 41 41 variable macports_user_dir "~/.macports" 42 42 variable macportsuser "@RUNUSR@" 43 variable man_path "@MAN@" 43 44 variable mdfind_path "@MDFIND@" 44 45 variable mdls_path "@MDLS@" -
trunk/base/src/pextlib1.0/Makefile.in
- Property svn:mergeinfo changed
-
trunk/base/src/pextlib1.0/sha2.c
- Property svn:mergeinfo changed
/trunk/base/src/pextlib1.0/sha2.c (added) merged: 57914-66452
- Property svn:mergeinfo changed
-
trunk/base/src/pextlib1.0/sha2.h
- Property svn:mergeinfo changed
/trunk/base/src/pextlib1.0/sha2.h (added) merged: 57914-66452
- Property svn:mergeinfo changed
-
trunk/base/src/pextlib1.0/system.c
r120059 r123002 108 108 } 109 109 110 /* usage: system ?-notty? ?-n ice value? ?-W path? command */110 /* usage: system ?-notty? ?-nodup? ?-nice value? ?-W path? command */ 111 111 int SystemCmd(ClientData clientData UNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) 112 112 { … … 123 123 int fline, pos, ret; 124 124 int osetsid = 0; 125 int odup = 1; /* redirect stdin/stdout/stderr by default */ 125 126 int oniceval = INT_MAX; /* magic value indicating no change */ 126 127 const char *path = NULL; … … 142 143 if (strcmp(arg, "-notty") == 0) { 143 144 osetsid = 1; 145 } else if (strcmp(arg, "-nodup") == 0) { 146 odup = 0; 144 147 } else if (strcmp(arg, "-nice") == 0) { 145 148 i++; … … 169 172 * popen() itself is not used because stderr is also desired. 170 173 */ 171 if (pipe(fdset) != 0) { 172 Tcl_SetResult(interp, strerror(errno), TCL_STATIC); 173 return TCL_ERROR; 174 if (odup) { 175 if (pipe(fdset) != 0) { 176 Tcl_SetResult(interp, strerror(errno), TCL_STATIC); 177 return TCL_ERROR; 178 } 174 179 } 175 180 … … 181 186 /*NOTREACHED*/ 182 187 case 0: /* child */ 183 close(fdset[0]); 184 185 if ((nullfd = open(_PATH_DEVNULL, O_RDONLY)) == -1) 186 _exit(1); 187 dup2(nullfd, STDIN_FILENO); 188 dup2(fdset[1], STDOUT_FILENO); 189 dup2(fdset[1], STDERR_FILENO); 188 if (odup) { 189 close(fdset[0]); 190 191 if ((nullfd = open(_PATH_DEVNULL, O_RDONLY)) == -1) 192 _exit(1); 193 dup2(nullfd, STDIN_FILENO); 194 dup2(fdset[1], STDOUT_FILENO); 195 dup2(fdset[1], STDERR_FILENO); 196 } 190 197 /* drop the controlling terminal if requested */ 191 198 if (osetsid) { … … 237 244 } 238 245 239 close(fdset[1]); 240 241 /* read from simulated popen() pipe */ 242 read_failed = 0; 243 pos = 0; 244 memset(circbuf, 0, sizeof(circbuf)); 245 pdes = fdopen(fdset[0], "r"); 246 if (pdes) { 247 while ((buf = fgetln(pdes, &linelen)) != NULL) { 248 char *sbuf; 249 size_t slen; 250 251 /* 252 * Allocate enough space to insert a terminating 253 * '\0' if the line is not terminated with a '\n' 254 */ 255 if (buf[linelen - 1] == '\n') 256 slen = linelen; 257 else 258 slen = linelen + 1; 259 260 if (circbuf[pos].len == 0) 261 sbuf = malloc(slen); 262 else { 263 sbuf = realloc(circbuf[pos].line, slen); 264 } 265 266 if (sbuf == NULL) { 267 read_failed = 1; 268 break; 269 } 270 271 memcpy(sbuf, buf, linelen); 272 /* terminate line with '\0',replacing '\n' if it exists */ 273 sbuf[slen - 1] = '\0'; 274 275 circbuf[pos].line = sbuf; 276 circbuf[pos].len = slen; 277 278 if (pos++ == CBUFSIZ - 1) { 279 pos = 0; 280 } 281 282 if (ui_info(interp, sbuf) != TCL_OK) { 283 read_failed = 1; 284 break; 285 } 286 } 287 fclose(pdes); 288 } else { 289 read_failed = 1; 290 Tcl_SetResult(interp, strerror(errno), TCL_STATIC); 246 if (odup) { 247 close(fdset[1]); 248 249 /* read from simulated popen() pipe */ 250 read_failed = 0; 251 pos = 0; 252 memset(circbuf, 0, sizeof(circbuf)); 253 pdes = fdopen(fdset[0], "r"); 254 if (pdes) { 255 while ((buf = fgetln(pdes, &linelen)) != NULL) { 256 char *sbuf; 257 size_t slen; 258 259 /* 260 * Allocate enough space to insert a terminating 261 * '\0' if the line is not terminated with a '\n' 262 */ 263 if (buf[linelen - 1] == '\n') 264 slen = linelen; 265 else 266 slen = linelen + 1; 267 268 if (circbuf[pos].len == 0) 269 sbuf = malloc(slen); 270 else { 271 sbuf = realloc(circbuf[pos].line, slen); 272 } 273 274 if (sbuf == NULL) { 275 read_failed = 1; 276 break; 277 } 278 279 memcpy(sbuf, buf, linelen); 280 /* terminate line with '\0',replacing '\n' if it exists */ 281 sbuf[slen - 1] = '\0'; 282 283 circbuf[pos].line = sbuf; 284 circbuf[pos].len = slen; 285 286 if (pos++ == CBUFSIZ - 1) { 287 pos = 0; 288 } 289 290 if (ui_info(interp, sbuf) != TCL_OK) { 291 read_failed = 1; 292 break; 293 } 294 } 295 fclose(pdes); 296 } else { 297 read_failed = 1; 298 Tcl_SetResult(interp, strerror(errno), TCL_STATIC); 299 } 291 300 } 292 301 … … 325 334 } 326 335 327 /* Cleanup. */ 328 close(fdset[0]); 329 for (fline = 0; fline < CBUFSIZ; fline++) { 330 if (circbuf[fline].len != 0) { 331 free(circbuf[fline].line); 336 if (odup) { 337 /* Cleanup. */ 338 close(fdset[0]); 339 for (fline = 0; fline < CBUFSIZ; fline++) { 340 if (circbuf[fline].len != 0) { 341 free(circbuf[fline].line); 342 } 332 343 } 333 344 } -
trunk/base/src/port/Makefile.in
r122044 r123002 39 39 $(INSTALL) -d -o "${DSTUSR}" -g "${DSTGRP}" -m "${DSTMODE}" "${INSTALLDIR}/var/macports" 40 40 $(INSTALL) -o "${DSTUSR}" -g "${DSTGRP}" -m 555 port portindex portmirror "${INSTALLDIR}/bin/" 41 $(INSTALL) -o "${DSTUSR}" -g "${DSTGRP}" -m 444 "$(srcdir)/port-help.tcl" "${INSTALLDIR}/var/macports/"42 41 cd "${INSTALLDIR}/bin" && $(LN_S) -f port portf 43 42 cd "${INSTALLDIR}/bin" && $(LN_S) -f "${TCLSH}" port-tclsh -
trunk/base/src/port/port.tcl
r122827 r123002 1821 1821 1822 1822 proc action_help { action portlist opts } { 1823 set helpfile "$macports::prefix/var/macports/port-help.tcl" 1824 1823 set manext ".gz" 1825 1824 if {[llength $portlist] == 0} { 1826 print_help 1827 return 0 1828 } 1829 1830 if {[file exists $helpfile]} { 1831 if {[catch {source $helpfile} err]} { 1832 puts stderr "Error reading helpfile $helpfile: $err" 1825 set page "man1/port.1$manext" 1826 } else { 1827 set topic [lindex $portlist 0] 1828 1829 # Look for an action with the requested argument 1830 set actions [find_action $topic] 1831 if {[llength $actions] == 1} { 1832 set page "man1/port-[lindex $actions 0].1$manext" 1833 } else { 1834 if {[llength $actions] > 1} { 1835 ui_error "\"port help ${action}\" is ambiguous: \n port help [join $actions "\n port help "]" 1836 return 1 1837 } 1838 1839 # No valid command specified 1840 set page "" 1841 } 1842 } 1843 1844 set pagepath ${macports::prefix}/share/man/$page 1845 if {$page == "" || ![file exists $pagepath]} { 1846 set page "man7/portundocumented.7$manext" 1847 set pagepath ${macports::prefix}/share/man/$page 1848 } 1849 1850 if {$pagepath != ""} { 1851 ui_debug "Opening man page '$pagepath'" 1852 1853 # Restore our entire environment from start time. 1854 # man might want to evaluate TERM 1855 global env boot_env 1856 array unset env_save; array set env_save [array get env] 1857 array unset env * 1858 if {${macports::macosx_version} == "10.5"} { 1859 unsetenv * 1860 } 1861 array set env [array get boot_env] 1862 1863 if [catch {system -nodup "${macports::autoconf::man_path} $pagepath"} result] { 1864 ui_debug "$::errorInfo" 1865 ui_error "Unable to show man page using ${macports::autoconf::man_path}: $result" 1833 1866 return 1 1834 1867 } 1868 1869 # Restore internal MacPorts environment 1870 array unset env * 1871 if {${macports::macosx_version} == "10.5"} { 1872 unsetenv * 1873 } 1874 array set env [array get env_save] 1835 1875 } else { 1836 puts stderr "Unable to open help file $helpfile"1876 ui_error "Sorry, no help for this topic is available." 1837 1877 return 1 1838 }1839 1840 foreach topic $portlist {1841 if {![info exists porthelp($topic)]} {1842 puts stderr "No help for topic $topic"1843 return 11844 }1845 1846 set usage [action_get_usage $topic]1847 if {$usage != -1} {1848 puts -nonewline stderr $usage1849 } else {1850 ui_error "No usage for topic $topic"1851 return 11852 }1853 1854 puts stderr $porthelp($topic)1855 1878 } 1856 1879 -
trunk/base/src/registry2.0/receipt_sqlite.tcl
- Property svn:mergeinfo changed
/trunk/base/src/registry2.0/receipt_sqlite.tcl (added) merged: 57889-64075
- Property svn:mergeinfo changed
Note: See TracChangeset
for help on using the changeset viewer.