source: trunk/doc/guide/new/xml/portfileref.xml @ 27549

Last change on this file since 27549 was 27549, checked in by markd@…, 12 years ago

Fix typos.

File size: 39.8 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
4<chapter>
5  <title>Portfile Reference</title>
6
7  <para>This chapter serves as a reference for the major elements of a
8  <filename>Portfile</filename>: port phases, variants, StartupItems,
9  variables, keywords, and Tcl primitives.</para>
10
11  <section>
12    <title>Port Phases</title>
13
14    <para>A MacPorts port has ten distinct phases. The MacPorts base is set to
15    perform default steps for applications that use the standard
16    <command>configure</command>, <command>make</command>, and <command>make
17    install</command> steps, but for applications that do not conform to this
18    behavior, installation phases may be declared in a Portfile to override or
19    eliminate the default behavior, or augment it using pre- and/or post-
20    phases as shown in the section "Portfile Development".</para>
21
22    <section>
23      <title>Fetch</title>
24
25      <para>Overview: Fetch the <varname>${distfiles}</varname> from
26      <varname>${master_sites}</varname> and place it in
27      <filename>${prefix}/var/macports/distfiles</filename>.</para>
28    </section>
29
30    <section>
31      <title>Checksum</title>
32
33      <para>Overview: Compare <varname>${checksums}</varname> specified in a
34      <filename>Portfile</filename> to the checksums of the fetched
35      ${distfiles}.</para>
36    </section>
37
38    <section>
39      <title>Extract</title>
40
41      <para>Overview: Unzip and untar the <varname>${distfiles}</varname> into
42      the path ${prefix}/var/macports/build/..../work</para>
43    </section>
44
45    <section>
46      <title>Patch</title>
47
48      <para>Overview: Apply optional <ulink
49      url="http://en.wikipedia.org/wiki/Patch_(Unix)">patch</ulink> files
50      specified in <varname>${patchfiles}</varname> to modify a port's source
51      code file(s).</para>
52
53      <para>Details: Patch files are made using the <ulink
54      url="http://en.wikipedia.org/wiki/Diff">diff</ulink> command, and
55      MacPorts patches should be created as <ulink
56      url="http://en.wikipedia.org/wiki/Diff#Unified_format">unified
57      diffs</ulink>.</para>
58    </section>
59
60    <section>
61      <title>Configure</title>
62
63      <para>Overview: Execute the command "configure" in
64      <varname>${workpath}</varname>.</para>
65    </section>
66
67    <section>
68      <title>Build</title>
69
70      <para>Overview: Execute the command "make" in
71      <varname>${workpath}</varname>.</para>
72    </section>
73
74    <section>
75      <title>Destroot</title>
76
77      <para>Overview: Execute the command <command>make install
78      DESTDIR=${destroot}</command> in <varname>${workpath}</varname>.</para>
79
80      <para>Details: Understanding the destroot phase is critical to
81      understanding MacPorts, because, unlike some port systems, MacPorts
82      "stages" an installation into an intermediate location —not the final
83      file destination. There are two main advantages to this method.</para>
84
85      <orderedlist>
86        <listitem>
87          <para>A port's files may be cleanly uninstalled because all files
88          and locations are tracked.</para>
89        </listitem>
90
91        <listitem>
92          <para>Since a port's files are not installed into MacPorts directory
93          structure until an activation phase, a port may be deactivated
94          through MacPorts to allow activation of a different version of the
95          same port, thus allowing two versions of a port to be present,
96          though not both active, on a given host.</para>
97        </listitem>
98      </orderedlist>
99
100      <note>
101        <para>The <varname>$(DESTDIR)</varname> variable must be supported in
102        an application's Makefile for the MacPorts destroot phase to work
103        properly. Urge developers to fully support
104        <varname>$(DESTDIR)</varname> in their Makefiles.</para>
105      </note>
106    </section>
107
108    <section>
109      <title>Archive</title>
110
111      <para>Overview: Use tar to create a tarball of a port's destrooted files
112      and copy it to
113      <filename>${prefix}/var/macports/packages/</filename>.</para>
114    </section>
115
116    <section>
117      <title>Install</title>
118
119      <para>Overview: Copy a port's destrooted files into
120      <filename>${prefix}/var/macports/software</filename>. See "Port Images"
121      in section "MacPorts Internals" for details.</para>
122    </section>
123
124    <section>
125      <title>Activate</title>
126
127      <para>Overview: Set <ulink
128      url="http://en.wikipedia.org/wiki/Hard_link">hardlinks</ulink> pointing
129      to ${prefix}/var/macports/software to point to ${prefix}.</para>
130    </section>
131  </section>
132
133  <section>
134    <title>Variants</title>
135
136    <para>Variants are a way for port authors to provide options that may be
137    invoked at install time. They are declared in a
138    <filename>Portfile</filename>'s global section using the "variant" keyword
139    and may provide a description.</para>
140
141    <section>
142      <title>Append / Delete Keywords</title>
143
144      <para>The most common use for a variant is to add or remove
145      dependencies, configure arguments, and build arguments from the global
146      <filename>Portfile</filename> section. In the example below, the global
147      configure argument --without-x11 is removed and others are
148      appended.</para>
149
150      <programlisting>variant x11 description {Builds port as an X11 program with Lucid widgets} {
151    configure.args-delete   --without-x
152    configure.args-append   --with-x-toolkit=lucid \
153                            --without-carbon \
154                            --with-xpm \
155                            --with-jpeg \
156                            --with-tiff \
157                            --with-gif \
158                            --with-png
159    depends_lib-append      lib:libX11:XFree86 \
160                            lib:libXpm:XFree86 \
161                            port:jpeg \
162                            port:tiff \
163                            port:libungif \
164                            port:libpng
165}</programlisting>
166    </section>
167
168    <section>
169      <title>Variant Actions in Port Phases</title>
170
171      <para>If a variant requires options in addition to those provided by
172      keywords using -append and/or -delete, or actions that would normally
173      take place within a port installation phase or its pre- and post-
174      phases, do not try to do this within the variant declaration. Rather,
175      modify the behavior of any affected phases when the variant is invoked
176      using the variant_isset keyword.</para>
177
178      <programlisting>post-destroot {
179    xinstall -m 755 -d ${destroot}${prefix}/etc/
180    xinstall ${worksrcpath}/examples/foo.conf \
181        ${destroot}${prefix}/etc/
182
183    if {[variant_isset] carbon]} {
184        delete ${destroot}${prefix}/bin/emacs
185        delete ${destroot}${prefix}/bin/emacs-${version}
186    }
187}</programlisting>
188    </section>
189
190    <section>
191      <title>Default Variants</title>
192
193      <para>Variants are used to specify actions that lie outside the core
194      functions of an application or port, but there may be some cases where
195      you wish to specify these non-core functions by default. For this
196      purpose you may use the keyword default_variants.</para>
197
198      <programlisting>default_variants +foo +bar</programlisting>
199
200      <note>
201        <para>The default_variant keyword may only be used in the global
202        <filename>Portfile</filename> section.</para>
203      </note>
204    </section>
205  </section>
206
207  <section>
208    <title>StartupItems</title>
209
210    <para>StartupItems are keywords that create Mac OS X LaunchDaemon startup
211    scripts. To create these startup scripts for a port, choose from the
212    following keywords.</para>
213
214    <para><variablelist>
215        <varlistentry>
216          <term>startupitem.create</term>
217
218          <listitem>
219            <para>This triggers the creation of a StartupItem, defaults to
220            "no".</para>
221          </listitem>
222        </varlistentry>
223      </variablelist><variablelist>
224        <varlistentry>
225          <term>startupitem.name</term>
226
227          <listitem>
228            <para>Sets the name for the StartupItem, defaults to
229            ${portname}.</para>
230          </listitem>
231        </varlistentry>
232      </variablelist><variablelist>
233        <varlistentry>
234          <term>startupitem.executable</term>
235
236          <listitem>
237            <para>The name of the daemon to be run in the background. This is
238            the preferred type of startup item and may not be used together
239            with any other startupitem. This option may contain multiple
240            arguments, but they must be appropriate for a call to exec; they
241            may not contain arbitrary shell code.</para>
242          </listitem>
243        </varlistentry>
244      </variablelist><variablelist>
245        <varlistentry>
246          <term>startupitem.init</term>
247
248          <listitem>
249            <para>Shell code that will be executed prior to any of the options
250            startupitem.start, startupitem.stop and startupitem.restart.
251            Typically a startup script is specified.</para>
252          </listitem>
253        </varlistentry>
254      </variablelist><variablelist>
255        <varlistentry>
256          <term>startupitem.start</term>
257
258          <listitem>
259            <para>Shell code executed to start the daemon.</para>
260          </listitem>
261        </varlistentry>
262      </variablelist><variablelist>
263        <varlistentry>
264          <term>startupitem.stop</term>
265
266          <listitem>
267            <para>Shell code executed to stop the daemon.</para>
268          </listitem>
269        </varlistentry>
270      </variablelist><variablelist>
271        <varlistentry>
272          <term>startupitem.restart</term>
273
274          <listitem>
275            <para>Shell code executed to restart the daemon. In the absence of
276            this key, the daemon will be restarted by taking the stop action,
277            followed by taking the start action.</para>
278          </listitem>
279        </varlistentry>
280      </variablelist><variablelist>
281        <varlistentry>
282          <term>startupitem.pidfile</term>
283
284          <listitem>
285            <para>Specification for pidfile handling. It is useful in
286            conjunction with the startupitem.executable key, because it is
287            important that the startupitem know how to track the executable.
288            This keyword specifies whether the daemon generates its own
289            pidfile (auto), whether it generates its own but forgets to delete
290            it, so that the startupitem should delete it (clean), or whether
291            it never generates one, in which case the startupitem should
292            manage the pidfile on its own (manual), or whether no pidfile
293            should be used at all (none).</para>
294          </listitem>
295        </varlistentry>
296      </variablelist><variablelist>
297        <varlistentry>
298          <term>startupitem.logfile</term>
299
300          <listitem>
301            <para>Path to a logfile for logging events about the lifetime of
302            the startupitem. Depending on the type of startupitem, and the
303            manner in which it is started, standard output from the daemon may
304            also be directed to the logfile.</para>
305          </listitem>
306        </varlistentry>
307      </variablelist><variablelist>
308        <varlistentry>
309          <term>startupitem.logevents</term>
310
311          <listitem>
312            <para>Control whether or not to log events to the log file. If
313            logevents is set, events with timestamps are logged to the
314            logfile.</para>
315          </listitem>
316        </varlistentry>
317      </variablelist></para>
318  </section>
319
320  <section>
321    <title>Variables</title>
322
323    <para>This section describes the MacPorts preset variables that may be
324    used within Portfiles.</para>
325
326    <section>
327      <title>General</title>
328
329      <para>These are the variables available to any
330      <filename>Portfile</filename>.</para>
331
332      <para><variablelist>
333          <varlistentry>
334            <term>prefix</term>
335
336            <listitem>
337              <para>Installation prefix, set in the system-wide configuration
338              file <filename>${prefix}/etc/macports/macports.conf</filename>
339              —may be overridden on a per port basis. For example, aqua
340              applications are installed in
341              <filename>/Applications/MacPorts</filename>.</para>
342            </listitem>
343          </varlistentry>
344        </variablelist><variablelist>
345          <varlistentry>
346            <term>binpath</term>
347
348            <listitem>
349              <para>Default PATH to use in finding executables. Read
350              only.</para>
351            </listitem>
352          </varlistentry>
353        </variablelist><variablelist>
354          <varlistentry>
355            <term>libpath</term>
356
357            <listitem>
358              <para>Path to the MacPorts TCL libraries. Read only.</para>
359            </listitem>
360          </varlistentry>
361        </variablelist><variablelist>
362          <varlistentry>
363            <term>portpath</term>
364
365            <listitem>
366              <para>Path to the directory containing the downloaded
367              <filename>Portfile</filename>s. Read only.</para>
368            </listitem>
369          </varlistentry>
370        </variablelist><variablelist>
371          <varlistentry>
372            <term>filesdir</term>
373
374            <listitem>
375              <para>Path to port files relative to
376              <varname>${portpath}</varname>. Read only.</para>
377            </listitem>
378          </varlistentry>
379        </variablelist><variablelist>
380          <varlistentry>
381            <term>workpath</term>
382
383            <listitem>
384              <para>Full path to work directory. Read only.</para>
385            </listitem>
386          </varlistentry>
387        </variablelist><variablelist>
388          <varlistentry>
389            <term>worksrcpath</term>
390
391            <listitem>
392              <para>Full path to extracted source code. Equivalent to
393              <varname>${workpath}/${worksrcdir}</varname>.</para>
394            </listitem>
395          </varlistentry>
396        </variablelist><variablelist>
397          <varlistentry>
398            <term>destroot</term>
399
400            <listitem>
401              <para>Full path into which software will be destrooted.
402              Equivalent to <filename>${workpath}/destroot</filename>. Read
403              only.</para>
404            </listitem>
405          </varlistentry>
406        </variablelist><variablelist>
407          <varlistentry>
408            <term>distpath</term>
409
410            <listitem>
411              <para>Location to store downloaded distfiles. Read only.</para>
412            </listitem>
413          </varlistentry>
414        </variablelist><variablelist>
415          <varlistentry>
416            <term>os.platform</term>
417
418            <listitem>
419              <para>Identifies platform type (ie, "darwin", "freebsd", etc).
420              Read only.</para>
421            </listitem>
422          </varlistentry>
423        </variablelist><variablelist>
424          <varlistentry>
425            <term>os.arch</term>
426
427            <listitem>
428              <para>Identifies hardware type (ie, "powerpc", "intel"). Read
429              only.</para>
430            </listitem>
431          </varlistentry>
432        </variablelist><variablelist>
433          <varlistentry>
434            <term>os.version</term>
435
436            <listitem>
437              <para>The version number of the host operating system (ie "8.0"
438              for Darwin 8.0). Read only.</para>
439            </listitem>
440          </varlistentry>
441        </variablelist><variablelist>
442          <varlistentry>
443            <term>os.major</term>
444
445            <listitem>
446              <para>The major version number of the host operating system (ie
447              "8" for Darwin 8.0). Read only.</para>
448            </listitem>
449          </varlistentry>
450        </variablelist></para>
451    </section>
452
453    <section>
454      <title>PortGroup Variables</title>
455
456      <para>In addition to the general <filename>Portfile</filename> type for
457      standard Unix applications and libraries, there are six optional
458      PortGroup types that provide special <filename>Portfile</filename>
459      handling to make creating <filename>a Portfile</filename> easier.</para>
460
461      <itemizedlist>
462        <listitem>
463          <para>perl5</para>
464        </listitem>
465
466        <listitem>
467          <para>python24 and python25</para>
468        </listitem>
469
470        <listitem>
471          <para>ruby</para>
472        </listitem>
473
474        <listitem>
475          <para>xcode</para>
476        </listitem>
477
478        <listitem>
479          <para>gnustep</para>
480        </listitem>
481
482        <listitem>
483          <para>zope</para>
484        </listitem>
485      </itemizedlist>
486
487      <para>Some PortGroups provide additional variables when they are
488      declared within a Portfile. The additional variables provided by
489      PortGroups perl5, python, and ruby are listed below. You may view the
490      port Tcl code for each group in the directory<filename>
491      ${prefix}/share/macports/resources/port1.0/group</filename>.</para>
492
493      <variablelist>
494        <varlistentry>
495          <term>PortGroup perl5</term>
496
497          <listitem>
498            <para>Description: The variables available to a
499            <filename>Portfile</filename> when the <literal>PortGroup
500            perl5</literal> keyword is declared.</para>
501
502            <variablelist>
503              <varlistentry>
504                <term>perl5.version</term>
505
506                <listitem>
507                  <para>The MacPorts Perl version.</para>
508                </listitem>
509              </varlistentry>
510            </variablelist>
511
512            <variablelist>
513              <varlistentry>
514                <term>perl5.bin</term>
515
516                <listitem>
517                  <para>The Perl binary path (ie,
518                  <filename>${prefix}/bin/perl</filename>).</para>
519                </listitem>
520              </varlistentry>
521            </variablelist>
522
523            <variablelist>
524              <varlistentry>
525                <term>perl5.lib</term>
526
527                <listitem>
528                  <para>Path to the Perl vendor directory.</para>
529                </listitem>
530              </varlistentry>
531            </variablelist>
532
533            <variablelist>
534              <varlistentry>
535                <term>perl5.archlib</term>
536
537                <listitem>
538                  <para>Path to the Perl architecture-dependent modules
539                  directory.</para>
540                </listitem>
541              </varlistentry>
542            </variablelist>
543          </listitem>
544        </varlistentry>
545      </variablelist>
546
547      <variablelist>
548        <varlistentry>
549          <term>PortGroup python2x</term>
550
551          <listitem>
552            <para>Description: The variables available to a
553            <filename>Portfile</filename> when the <literal>PortGroup
554            python2x</literal> keyword is declared.</para>
555
556            <variablelist>
557              <varlistentry>
558                <term>python.bin</term>
559
560                <listitem>
561                  <para>The MacPorts Python binary location.</para>
562                </listitem>
563              </varlistentry>
564            </variablelist>
565
566            <variablelist>
567              <varlistentry>
568                <term>python.lib</term>
569
570                <listitem>
571                  <para>The Python dynamic library and path (ie,
572                  <filename>${prefix}/lib/libpython2.x.dylib</filename>).</para>
573                </listitem>
574              </varlistentry>
575            </variablelist>
576
577            <variablelist>
578              <varlistentry>
579                <term>python.include</term>
580
581                <listitem>
582                  <para>Path to the Python include directory.</para>
583                </listitem>
584              </varlistentry>
585            </variablelist>
586
587            <variablelist>
588              <varlistentry>
589                <term>python.pkgd</term>
590
591                <listitem>
592                  <para>Path to the Python site-packages directory. (ie,
593                  <filename>${prefix}/lib/python2.4/site-packages</filename>).</para>
594                </listitem>
595              </varlistentry>
596            </variablelist>
597          </listitem>
598        </varlistentry>
599      </variablelist>
600
601      <variablelist>
602        <varlistentry>
603          <term>PortGroup ruby</term>
604
605          <listitem>
606            <para>Description: The variables available to a
607            <filename>Portfile</filename> when the <literal>PortGroup
608            ruby</literal> keyword is declared.</para>
609
610            <variablelist>
611              <varlistentry>
612                <term>ruby.version</term>
613
614                <listitem>
615                  <para>The MacPorts Ruby version.</para>
616                </listitem>
617              </varlistentry>
618            </variablelist>
619
620            <variablelist>
621              <varlistentry>
622                <term>ruby.bin</term>
623
624                <listitem>
625                  <para>The Ruby binary location.</para>
626                </listitem>
627              </varlistentry>
628            </variablelist>
629
630            <variablelist>
631              <varlistentry>
632                <term>ruby.lib</term>
633
634                <listitem>
635                  <para>Path to the Ruby vendorlibdir directory (ie,
636                  <filename>${prefix}/lib/ruby/vendor_ruby/${ruby.version}</filename>)</para>
637                </listitem>
638              </varlistentry>
639            </variablelist>
640
641            <variablelist>
642              <varlistentry>
643                <term>ruby.archlib</term>
644
645                <listitem>
646                  <para>Path to the Ruby vendor archdir (ie,
647                  <filename>${ruby.lib}/${ruby.arch}</filename>).</para>
648                </listitem>
649              </varlistentry>
650            </variablelist>
651          </listitem>
652        </varlistentry>
653      </variablelist>
654    </section>
655  </section>
656
657  <section>
658    <title>Keywords</title>
659
660    <para>MacPorts keywords are used to specify required or optional items for
661    a <filename>Portfile</filename> or to override default options when
662    necessary. All the keywords are to be used within the global section of a
663    <filename>Portfile</filename>. The keywords listed below in category
664    "global" specify information for a port as a whole, whereas the keywords
665    listed under a port phase specify information to be used during a
666    particular installation phase.</para>
667
668    <para>Remember that default port installation phase behavior is performed
669    by the MacPorts base, so that <filename>Portfile</filename> phase
670    declarations need only be defined for non-default behavior. But keywords
671    for port phases affect installation phase behavior, whether it is
672    performed by the MacPorts base code or defined using
673    <filename>Portfile</filename> phase declarations.</para>
674
675    <section>
676      <title>Global</title>
677
678      <para>Global keywords.</para>
679
680      <variablelist>
681        <varlistentry>
682          <term>name</term>
683
684          <listitem>
685            <para>Port name.</para>
686          </listitem>
687        </varlistentry>
688      </variablelist>
689
690      <variablelist>
691        <varlistentry>
692          <term>version</term>
693
694          <listitem>
695            <para>Port version.</para>
696          </listitem>
697        </varlistentry>
698      </variablelist>
699
700      <variablelist>
701        <varlistentry>
702          <term>categories</term>
703
704          <listitem>
705            <para>Port category(s).</para>
706          </listitem>
707        </varlistentry>
708      </variablelist>
709
710      <variablelist>
711        <varlistentry>
712          <term>maintainers</term>
713
714          <listitem>
715            <para>Port maintainer(s).</para>
716          </listitem>
717        </varlistentry>
718      </variablelist>
719
720      <variablelist>
721        <varlistentry>
722          <term>description</term>
723
724          <listitem>
725            <para>Short description.</para>
726          </listitem>
727        </varlistentry>
728      </variablelist>
729
730      <variablelist>
731        <varlistentry>
732          <term>long_description</term>
733
734          <listitem>
735            <para>Long description.</para>
736          </listitem>
737        </varlistentry>
738      </variablelist>
739
740      <variablelist>
741        <varlistentry>
742          <term>homepage</term>
743
744          <listitem>
745            <para>Port application's homepage.</para>
746          </listitem>
747        </varlistentry>
748      </variablelist>
749
750      <variablelist>
751        <varlistentry>
752          <term>platforms</term>
753
754          <listitem>
755            <para>Platform(s) supported.</para>
756          </listitem>
757        </varlistentry>
758      </variablelist>
759
760      <variablelist>
761        <varlistentry>
762          <term>master_sites</term>
763
764          <listitem>
765            <para>Download site(s) for the distribution files.</para>
766          </listitem>
767        </varlistentry>
768      </variablelist>
769
770      <variablelist>
771        <varlistentry>
772          <term>checksums</term>
773
774          <listitem>
775            <para>Checksum(s) of the distribution files.</para>
776          </listitem>
777        </varlistentry>
778      </variablelist>
779
780      <variablelist>
781        <varlistentry>
782          <term>depends_lib</term>
783
784          <listitem>
785            <para></para>
786          </listitem>
787        </varlistentry>
788      </variablelist>
789
790      <variablelist>
791        <varlistentry>
792          <term>depends_build</term>
793
794          <listitem>
795            <para></para>
796          </listitem>
797        </varlistentry>
798      </variablelist>
799
800      <variablelist>
801        <varlistentry>
802          <term>depends_run</term>
803
804          <listitem>
805            <para></para>
806          </listitem>
807        </varlistentry>
808      </variablelist>
809
810      <variablelist>
811        <varlistentry>
812          <term></term>
813
814          <listitem>
815            <para></para>
816          </listitem>
817        </varlistentry>
818      </variablelist>
819
820      <variablelist>
821        <varlistentry>
822          <term></term>
823
824          <listitem>
825            <para></para>
826          </listitem>
827        </varlistentry>
828      </variablelist>
829
830      <variablelist>
831        <varlistentry>
832          <term></term>
833
834          <listitem>
835            <para></para>
836          </listitem>
837        </varlistentry>
838      </variablelist>
839
840      <variablelist>
841        <varlistentry>
842          <term></term>
843
844          <listitem>
845            <para></para>
846          </listitem>
847        </varlistentry>
848      </variablelist>
849    </section>
850
851    <section>
852      <title>Fetch</title>
853
854      <para>Fetch phase keywords.</para>
855
856      <variablelist>
857        <varlistentry>
858          <term>fetch.keyword1</term>
859
860          <listitem>
861            <para>Description fetch keyword 1.</para>
862          </listitem>
863        </varlistentry>
864      </variablelist>
865
866      <variablelist>
867        <varlistentry>
868          <term></term>
869
870          <listitem>
871            <para></para>
872          </listitem>
873        </varlistentry>
874      </variablelist>
875
876      <variablelist>
877        <varlistentry>
878          <term></term>
879
880          <listitem>
881            <para></para>
882          </listitem>
883        </varlistentry>
884      </variablelist>
885
886      <variablelist>
887        <varlistentry>
888          <term></term>
889
890          <listitem>
891            <para></para>
892          </listitem>
893        </varlistentry>
894      </variablelist>
895    </section>
896
897    <section>
898      <title>Checksum</title>
899
900      <para>Checksum phase keywords.</para>
901
902      <variablelist>
903        <varlistentry>
904          <term>checksum.keyword1</term>
905
906          <listitem>
907            <para>Description checksum keyword 1.</para>
908          </listitem>
909        </varlistentry>
910      </variablelist>
911
912      <variablelist>
913        <varlistentry>
914          <term></term>
915
916          <listitem>
917            <para></para>
918          </listitem>
919        </varlistentry>
920      </variablelist>
921
922      <variablelist>
923        <varlistentry>
924          <term></term>
925
926          <listitem>
927            <para></para>
928          </listitem>
929        </varlistentry>
930      </variablelist>
931
932      <variablelist>
933        <varlistentry>
934          <term></term>
935
936          <listitem>
937            <para></para>
938          </listitem>
939        </varlistentry>
940      </variablelist>
941
942      <variablelist>
943        <varlistentry>
944          <term></term>
945
946          <listitem>
947            <para></para>
948          </listitem>
949        </varlistentry>
950      </variablelist>
951    </section>
952
953    <section>
954      <title>Extract</title>
955
956      <para>Extract phase keywords.</para>
957
958      <variablelist>
959        <varlistentry>
960          <term>extract.keyword1</term>
961
962          <listitem>
963            <para>Description extract keyword 1.</para>
964          </listitem>
965        </varlistentry>
966      </variablelist>
967
968      <variablelist>
969        <varlistentry>
970          <term></term>
971
972          <listitem>
973            <para></para>
974          </listitem>
975        </varlistentry>
976      </variablelist>
977
978      <variablelist>
979        <varlistentry>
980          <term></term>
981
982          <listitem>
983            <para></para>
984          </listitem>
985        </varlistentry>
986      </variablelist>
987
988      <variablelist>
989        <varlistentry>
990          <term></term>
991
992          <listitem>
993            <para></para>
994          </listitem>
995        </varlistentry>
996      </variablelist>
997
998      <variablelist>
999        <varlistentry>
1000          <term></term>
1001
1002          <listitem>
1003            <para></para>
1004          </listitem>
1005        </varlistentry>
1006      </variablelist>
1007    </section>
1008
1009    <section>
1010      <title>Patch</title>
1011
1012      <para>Patch phase keywords.</para>
1013
1014      <variablelist>
1015        <varlistentry>
1016          <term>patch.keyword1</term>
1017
1018          <listitem>
1019            <para>Description patch keyword1.</para>
1020          </listitem>
1021        </varlistentry>
1022      </variablelist>
1023
1024      <variablelist>
1025        <varlistentry>
1026          <term></term>
1027
1028          <listitem>
1029            <para></para>
1030          </listitem>
1031        </varlistentry>
1032      </variablelist>
1033
1034      <variablelist>
1035        <varlistentry>
1036          <term></term>
1037
1038          <listitem>
1039            <para></para>
1040          </listitem>
1041        </varlistentry>
1042      </variablelist>
1043
1044      <variablelist>
1045        <varlistentry>
1046          <term></term>
1047
1048          <listitem>
1049            <para></para>
1050          </listitem>
1051        </varlistentry>
1052      </variablelist>
1053    </section>
1054
1055    <section>
1056      <title>Configuration</title>
1057
1058      <para>Configuration phase keywords. Avoid using keywords with defaults
1059      defined or you will overwrite the default variables.</para>
1060
1061      <variablelist>
1062        <varlistentry>
1063          <term>configure.env</term>
1064
1065          <listitem>
1066            <para>Configure environment variables.</para>
1067
1068            <para>Defaults: CFLAGS=-I<filename>${prefix}/include</filename>
1069            LDFLAGS=-L<filename>${prefix}/lib</filename></para>
1070          </listitem>
1071        </varlistentry>
1072      </variablelist>
1073
1074      <variablelist>
1075        <varlistentry>
1076          <term>configure.cflags-append</term>
1077
1078          <listitem>
1079            <para>Set additional CFLAGS to be added to the variable
1080            defaults.</para>
1081          </listitem>
1082        </varlistentry>
1083      </variablelist>
1084
1085      <variablelist>
1086        <varlistentry>
1087          <term>configure.ldflags-append</term>
1088
1089          <listitem>
1090            <para>Set additional LDFLAGS to be added to the variable
1091            defaults.</para>
1092          </listitem>
1093        </varlistentry>
1094      </variablelist>
1095
1096      <variablelist>
1097        <varlistentry>
1098          <term></term>
1099
1100          <listitem>
1101            <para></para>
1102          </listitem>
1103        </varlistentry>
1104      </variablelist>
1105
1106      <variablelist>
1107        <varlistentry>
1108          <term></term>
1109
1110          <listitem>
1111            <para></para>
1112          </listitem>
1113        </varlistentry>
1114      </variablelist>
1115
1116      <variablelist>
1117        <varlistentry>
1118          <term></term>
1119
1120          <listitem>
1121            <para></para>
1122          </listitem>
1123        </varlistentry>
1124      </variablelist>
1125
1126      <variablelist>
1127        <varlistentry>
1128          <term></term>
1129
1130          <listitem>
1131            <para></para>
1132          </listitem>
1133        </varlistentry>
1134      </variablelist>
1135
1136      <variablelist>
1137        <varlistentry>
1138          <term></term>
1139
1140          <listitem>
1141            <para></para>
1142          </listitem>
1143        </varlistentry>
1144      </variablelist>
1145
1146      <variablelist>
1147        <varlistentry>
1148          <term></term>
1149
1150          <listitem>
1151            <para></para>
1152          </listitem>
1153        </varlistentry>
1154      </variablelist>
1155
1156      <variablelist>
1157        <varlistentry>
1158          <term></term>
1159
1160          <listitem>
1161            <para></para>
1162          </listitem>
1163        </varlistentry>
1164      </variablelist>
1165
1166      <variablelist>
1167        <varlistentry>
1168          <term></term>
1169
1170          <listitem>
1171            <para></para>
1172          </listitem>
1173        </varlistentry>
1174      </variablelist>
1175
1176      <variablelist>
1177        <varlistentry>
1178          <term></term>
1179
1180          <listitem>
1181            <para></para>
1182          </listitem>
1183        </varlistentry>
1184      </variablelist>
1185
1186      <variablelist>
1187        <varlistentry>
1188          <term></term>
1189
1190          <listitem>
1191            <para></para>
1192          </listitem>
1193        </varlistentry>
1194      </variablelist>
1195
1196      <variablelist>
1197        <varlistentry>
1198          <term></term>
1199
1200          <listitem>
1201            <para></para>
1202          </listitem>
1203        </varlistentry>
1204      </variablelist>
1205
1206      <variablelist>
1207        <varlistentry>
1208          <term></term>
1209
1210          <listitem>
1211            <para></para>
1212          </listitem>
1213        </varlistentry>
1214      </variablelist>
1215
1216      <variablelist>
1217        <varlistentry>
1218          <term></term>
1219
1220          <listitem>
1221            <para></para>
1222          </listitem>
1223        </varlistentry>
1224      </variablelist>
1225
1226      <variablelist>
1227        <varlistentry>
1228          <term></term>
1229
1230          <listitem>
1231            <para></para>
1232          </listitem>
1233        </varlistentry>
1234      </variablelist>
1235    </section>
1236
1237    <section>
1238      <title>Build</title>
1239
1240      <para>Build phase keywords.</para>
1241
1242      <variablelist>
1243        <varlistentry>
1244          <term>build.keyword1</term>
1245
1246          <listitem>
1247            <para>Description build.keyword 1.</para>
1248          </listitem>
1249        </varlistentry>
1250      </variablelist>
1251
1252      <variablelist>
1253        <varlistentry>
1254          <term></term>
1255
1256          <listitem>
1257            <para></para>
1258          </listitem>
1259        </varlistentry>
1260      </variablelist>
1261
1262      <variablelist>
1263        <varlistentry>
1264          <term></term>
1265
1266          <listitem>
1267            <para></para>
1268          </listitem>
1269        </varlistentry>
1270      </variablelist>
1271
1272      <variablelist>
1273        <varlistentry>
1274          <term></term>
1275
1276          <listitem>
1277            <para></para>
1278          </listitem>
1279        </varlistentry>
1280      </variablelist>
1281
1282      <variablelist>
1283        <varlistentry>
1284          <term></term>
1285
1286          <listitem>
1287            <para></para>
1288          </listitem>
1289        </varlistentry>
1290      </variablelist>
1291
1292      <variablelist>
1293        <varlistentry>
1294          <term></term>
1295
1296          <listitem>
1297            <para></para>
1298          </listitem>
1299        </varlistentry>
1300      </variablelist>
1301
1302      <variablelist>
1303        <varlistentry>
1304          <term></term>
1305
1306          <listitem>
1307            <para></para>
1308          </listitem>
1309        </varlistentry>
1310      </variablelist>
1311
1312      <variablelist>
1313        <varlistentry>
1314          <term></term>
1315
1316          <listitem>
1317            <para></para>
1318          </listitem>
1319        </varlistentry>
1320      </variablelist>
1321    </section>
1322
1323    <section>
1324      <title>Destroot</title>
1325
1326      <para>Destroot phase keywords.</para>
1327
1328      <variablelist>
1329        <varlistentry>
1330          <term>destroot.keyword1</term>
1331
1332          <listitem>
1333            <para>Description destroot keyword1.</para>
1334          </listitem>
1335        </varlistentry>
1336      </variablelist>
1337
1338      <variablelist>
1339        <varlistentry>
1340          <term></term>
1341
1342          <listitem>
1343            <para></para>
1344          </listitem>
1345        </varlistentry>
1346      </variablelist>
1347
1348      <variablelist>
1349        <varlistentry>
1350          <term></term>
1351
1352          <listitem>
1353            <para></para>
1354          </listitem>
1355        </varlistentry>
1356      </variablelist>
1357
1358      <variablelist>
1359        <varlistentry>
1360          <term></term>
1361
1362          <listitem>
1363            <para></para>
1364          </listitem>
1365        </varlistentry>
1366      </variablelist>
1367
1368      <variablelist>
1369        <varlistentry>
1370          <term></term>
1371
1372          <listitem>
1373            <para></para>
1374          </listitem>
1375        </varlistentry>
1376      </variablelist>
1377
1378      <variablelist>
1379        <varlistentry>
1380          <term></term>
1381
1382          <listitem>
1383            <para></para>
1384          </listitem>
1385        </varlistentry>
1386      </variablelist>
1387
1388      <variablelist>
1389        <varlistentry>
1390          <term></term>
1391
1392          <listitem>
1393            <para></para>
1394          </listitem>
1395        </varlistentry>
1396      </variablelist>
1397
1398      <variablelist>
1399        <varlistentry>
1400          <term></term>
1401
1402          <listitem>
1403            <para></para>
1404          </listitem>
1405        </varlistentry>
1406      </variablelist>
1407
1408      <variablelist>
1409        <varlistentry>
1410          <term></term>
1411
1412          <listitem>
1413            <para></para>
1414          </listitem>
1415        </varlistentry>
1416      </variablelist>
1417    </section>
1418
1419    <section>
1420      <title>Install</title>
1421
1422      <para>Install phase keywords.</para>
1423
1424      <variablelist>
1425        <varlistentry>
1426          <term>install.keyword1</term>
1427
1428          <listitem>
1429            <para>Description install.keyword 1.</para>
1430          </listitem>
1431        </varlistentry>
1432      </variablelist>
1433
1434      <variablelist>
1435        <varlistentry>
1436          <term></term>
1437
1438          <listitem>
1439            <para></para>
1440          </listitem>
1441        </varlistentry>
1442      </variablelist>
1443
1444      <variablelist>
1445        <varlistentry>
1446          <term></term>
1447
1448          <listitem>
1449            <para></para>
1450          </listitem>
1451        </varlistentry>
1452      </variablelist>
1453
1454      <variablelist>
1455        <varlistentry>
1456          <term></term>
1457
1458          <listitem>
1459            <para></para>
1460          </listitem>
1461        </varlistentry>
1462      </variablelist>
1463    </section>
1464  </section>
1465
1466  <section>
1467    <title>Tcl Primitives</title>
1468
1469    <para>A MacPorts <filename>Portfile</filename> is a Tcl script, so it may
1470    contain Tcl code anywhere within it, whether in the global section or a
1471    phase. The Tcl primitives listed below are defined within the MacPorts
1472    base code for use in Portfiles.</para>
1473
1474    <variablelist>
1475      <varlistentry>
1476        <term>reinplace</term>
1477
1478        <listitem>
1479          <para>Description reinplace.</para>
1480        </listitem>
1481      </varlistentry>
1482    </variablelist>
1483
1484    <variablelist>
1485      <varlistentry>
1486        <term>xinstall</term>
1487
1488        <listitem>
1489          <para>Description xinstall.</para>
1490        </listitem>
1491      </varlistentry>
1492    </variablelist>
1493
1494    <variablelist>
1495      <varlistentry>
1496        <term>file copy</term>
1497
1498        <listitem>
1499          <para>Description file copy.</para>
1500        </listitem>
1501      </varlistentry>
1502    </variablelist>
1503
1504    <variablelist>
1505      <varlistentry>
1506        <term>file delete</term>
1507
1508        <listitem>
1509          <para>Description file delete.</para>
1510        </listitem>
1511      </varlistentry>
1512    </variablelist>
1513
1514    <variablelist>
1515      <varlistentry>
1516        <term></term>
1517
1518        <listitem>
1519          <para></para>
1520        </listitem>
1521      </varlistentry>
1522    </variablelist>
1523
1524    <variablelist>
1525      <varlistentry>
1526        <term></term>
1527
1528        <listitem>
1529          <para></para>
1530        </listitem>
1531      </varlistentry>
1532    </variablelist>
1533
1534    <variablelist>
1535      <varlistentry>
1536        <term></term>
1537
1538        <listitem>
1539          <para></para>
1540        </listitem>
1541      </varlistentry>
1542    </variablelist>
1543
1544    <variablelist>
1545      <varlistentry>
1546        <term></term>
1547
1548        <listitem>
1549          <para></para>
1550        </listitem>
1551      </varlistentry>
1552    </variablelist>
1553
1554    <variablelist>
1555      <varlistentry>
1556        <term></term>
1557
1558        <listitem>
1559          <para></para>
1560        </listitem>
1561      </varlistentry>
1562    </variablelist>
1563
1564    <variablelist>
1565      <varlistentry>
1566        <term></term>
1567
1568        <listitem>
1569          <para></para>
1570        </listitem>
1571      </varlistentry>
1572    </variablelist>
1573
1574    <variablelist>
1575      <varlistentry>
1576        <term></term>
1577
1578        <listitem>
1579          <para></para>
1580        </listitem>
1581      </varlistentry>
1582    </variablelist>
1583  </section>
1584</chapter>
Note: See TracBrowser for help on using the repository browser.