Changeset 34184


Ignore:
Timestamp:
Feb 16, 2008, 8:17:01 PM (11 years ago)
Author:
simon@…
Message:

doc-new: Separated PortGroups in own files and moved them to guide/xml so they get better integrated in the guide. No content change, just moved them.

Location:
trunk/doc-new
Files:
5 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc-new/Makefile

    r32902 r34184  
    6868        $(MKDIR) -p $(MAN-TMP)
    6969        $(CP) $(GUIDE-SRC)/portfile-*.xml $(MAN-TMP)
     70        $(CP) $(GUIDE-SRC)/portgroup-*.xml $(MAN-TMP)
    7071        $(SED) -i "" 's|<section|<refsection|g' $(MAN-TMP)/*
    7172        $(SED) -i "" 's|</section>|</refsection>|g' $(MAN-TMP)/*
  • trunk/doc-new/man/xml/portgroup.7.xml

    r32200 r34184  
    4444  </refsection>
    4545
    46   <refsection>
    47     <title>PortGroup gnustep</title>
     46  <xi:include href="../tmp/portgroup-gnustep.xml"
     47              xmlns:xi="http://www.w3.org/2001/XInclude" />
    4848
    49     <para>PortGroup gnustep allows for efficient porting of GNUstep-based open
    50     source software using the GNU objective-C runtime that defines options for
    51     the configuration, build, and destroot phases, and also defines some
    52     values for GNUstep-based software. A minimum Portfile using the gnustep
    53     PortGroup class need only define the fetch and the checksum phases.</para>
     49  <xi:include href="../tmp/portgroup-perl.xml"
     50              xmlns:xi="http://www.w3.org/2001/XInclude" />
    5451
    55     <refsection>
    56       <title>gnustep PortGroup Specific Keywords</title>
     52  <xi:include href="../tmp/portgroup-python.xml"
     53              xmlns:xi="http://www.w3.org/2001/XInclude" />
    5754
    58       <para>Portfiles using the gnustep PortGroup allow for port authors to
    59       set the following keywords in addition to the general Portfile
    60       keywords.</para>
     55  <xi:include href="../tmp/portgroup-ruby.xml"
     56              xmlns:xi="http://www.w3.org/2001/XInclude" />
    6157
    62       <variablelist>
    63         <varlistentry>
    64           <term>gnustep.post_flags</term>
    65 
    66           <listitem>
    67             <para>An associative array which specifies the sub-directories
    68             relative to ${worksrcpath} and the SHARED_LD_POSTFLAGS variables
    69             to be added to GNUmakefile.preamble in those sub-directories. This
    70             helps making the patching process easier on Darwin.</para>
    71 
    72             <itemizedlist>
    73               <listitem>
    74                 <para>Type: optional</para>
    75               </listitem>
    76 
    77               <listitem>
    78                 <para>Default: none</para>
    79               </listitem>
    80 
    81               <listitem>
    82                 <para>Example:</para>
    83 
    84                 <programlisting>platform darwin {
    85                     array set gnustep.post_flags {
    86                          BundleSubDir "-lfoo -lbar"
    87                     }
    88                }</programlisting>
    89               </listitem>
    90             </itemizedlist>
    91           </listitem>
    92         </varlistentry>
    93 
    94         <varlistentry>
    95           <term>gnustep.cc</term>
    96 
    97           <listitem>
    98             <para>Define the gcc compiler to use when compiling a port.</para>
    99 
    100             <itemizedlist>
    101               <listitem>
    102                 <para>Type: optional</para>
    103               </listitem>
    104 
    105               <listitem>
    106                 <para>Default: gcc-mp-4.2</para>
    107               </listitem>
    108 
    109               <listitem>
    110                 <para>Example:</para>
    111 
    112                 <programlisting>gnustep.cc gcc-mp-4.3</programlisting>
    113               </listitem>
    114             </itemizedlist>
    115           </listitem>
    116         </varlistentry>
    117 
    118         <varlistentry>
    119           <term>variant with_docs</term>
    120 
    121           <listitem>
    122             <para>Many GNUstep packages include a Documentation sub-directory
    123             that is not built by default. Enabling this variant builds and
    124             installs the included documentation.</para>
    125 
    126             <itemizedlist>
    127               <listitem>
    128                 <para>Type: optional</para>
    129               </listitem>
    130 
    131               <listitem>
    132                 <para>Example:</para>
    133 
    134                 <programlisting><prompt>%%</prompt> <userinput>port install gnustep-gui +with_docs</userinput></programlisting>
    135               </listitem>
    136             </itemizedlist>
    137           </listitem>
    138         </varlistentry>
    139       </variablelist>
    140     </refsection>
    141 
    142     <refsection>
    143       <title>gnustep FilesystemLayout Keywords</title>
    144 
    145       <para>PortGroup gnustep supports both the traditional gnustep file
    146       layout and the new fhs file layout. However, a given ported application
    147       does not necessarily support both. The Portfiles have access to many
    148       procedures to handle these two layouts:</para>
    149 
    150       <variablelist>
    151         <varlistentry>
    152           <term>set_gnustep_make</term>
    153 
    154           <listitem>
    155             <para>Sets GNUSTEP_MAKEFILES according to the
    156             FilesystemLayout</para>
    157           </listitem>
    158         </varlistentry>
    159 
    160         <varlistentry>
    161           <term>set_gnustep_env</term>
    162 
    163           <listitem>
    164             <para>Sets DYLD_LIBRARY_PATH and PATH for the gnustep
    165             FilesystemLayout</para>
    166           </listitem>
    167         </varlistentry>
    168 
    169         <varlistentry>
    170           <term>gnustep_layout</term>
    171 
    172           <listitem>
    173             <para>Returns true (1) if current file layout is gnustep</para>
    174           </listitem>
    175         </varlistentry>
    176 
    177         <varlistentry>
    178           <term>set_system_library</term>
    179 
    180           <listitem>
    181             <para>Sets GNUSTEP_SYSTEM_LIBRARY according to the
    182             FilesystemLayout</para>
    183           </listitem>
    184         </varlistentry>
    185 
    186         <varlistentry>
    187           <term>set_local_library</term>
    188 
    189           <listitem>
    190             <para>Sets GNUSTEP_LOCAL_LIBRARY according to the
    191             FilesystemLayout</para>
    192           </listitem>
    193         </varlistentry>
    194       </variablelist>
    195     </refsection>
    196 
    197     <refsection>
    198       <title>gnustep PortGroup Sugar</title>
    199 
    200       <para>Portfiles using PortGroup gnustep do not need to define the
    201       following variables:</para>
    202 
    203       <variablelist>
    204         <varlistentry>
    205           <term>categories</term>
    206 
    207           <listitem>
    208             <para>Default: gnustep</para>
    209           </listitem>
    210         </varlistentry>
    211 
    212         <varlistentry>
    213           <term>homepage</term>
    214 
    215           <listitem>
    216             <para>Default: http://www.gnustep.org/</para>
    217           </listitem>
    218         </varlistentry>
    219 
    220         <varlistentry>
    221           <term>master_sites</term>
    222 
    223           <listitem>
    224             <para>Default: gnustep:core</para>
    225           </listitem>
    226         </varlistentry>
    227 
    228         <varlistentry>
    229           <term>depends_lib</term>
    230 
    231           <listitem>
    232             <para>Default: gnustep-core</para>
    233           </listitem>
    234         </varlistentry>
    235 
    236         <varlistentry>
    237           <term>use_configure</term>
    238 
    239           <listitem>
    240             <para>Default: no</para>
    241           </listitem>
    242         </varlistentry>
    243 
    244         <varlistentry>
    245           <term>configure.env</term>
    246 
    247           <listitem>
    248             <para>Default: DYLD_LIBRARY_PATH PATH</para>
    249           </listitem>
    250         </varlistentry>
    251 
    252         <varlistentry>
    253           <term>configure.pre_args-append</term>
    254 
    255           <listitem>
    256             <para>Default: CC=gcc-mp-4.2 GNUSTEP_MAKEFILES</para>
    257           </listitem>
    258         </varlistentry>
    259 
    260         <varlistentry>
    261           <term>build.type</term>
    262 
    263           <listitem>
    264             <para>Default: gnu</para>
    265           </listitem>
    266         </varlistentry>
    267 
    268         <varlistentry>
    269           <term>build.env</term>
    270 
    271           <listitem>
    272             <para>Default: DYLD_LIBRARY_PATH PATH</para>
    273           </listitem>
    274         </varlistentry>
    275 
    276         <varlistentry>
    277           <term>build.pre_args-append</term>
    278 
    279           <listitem>
    280             <para>Default: messages=yes</para>
    281           </listitem>
    282         </varlistentry>
    283 
    284         <varlistentry>
    285           <term>destroot.env</term>
    286 
    287           <listitem>
    288             <para>Default: DYLD_LIBRARY_PATH PATH</para>
    289           </listitem>
    290         </varlistentry>
    291 
    292         <varlistentry>
    293           <term>destroot.pre_args-append</term>
    294 
    295           <listitem>
    296             <para>Default: messages=yes</para>
    297           </listitem>
    298         </varlistentry>
    299       </variablelist>
    300     </refsection>
    301   </refsection>
    302 
    303   <refsection>
    304     <title>PortGroup perl5</title>
    305 
    306     <para>PortGroup perl5 allows for efficient porting of perl modules and
    307     other perl open source software.</para>
    308 
    309     <refsection>
    310       <title>perl5 PortGroup Specific Keywords</title>
    311 
    312       <para>Portfiles using the perl5 PortGroup allow for port authors to set
    313       the following keywords in addition to the general Portfile
    314       keywords.</para>
    315 
    316       <variablelist>
    317         <varlistentry>
    318           <term>perl5.setup</term>
    319 
    320           <listitem>
    321             <para>This keyword sets the ${distfile} and ${version}.</para>
    322 
    323             <itemizedlist>
    324               <listitem>
    325                 <para>Type: required</para>
    326               </listitem>
    327 
    328               <listitem>
    329                 <para>Example:</para>
    330 
    331                 <programlisting>perl5.setup          Net-Telnet 3.03</programlisting>
    332               </listitem>
    333             </itemizedlist>
    334           </listitem>
    335         </varlistentry>
    336       </variablelist>
    337     </refsection>
    338 
    339     <refsection>
    340       <title>perl5 PortGroup Sugar</title>
    341 
    342       <para>Portfiles using PortGroup perl5 do not need to define the
    343       following variables:</para>
    344 
    345       <variablelist>
    346         <varlistentry>
    347           <term>categories</term>
    348 
    349           <listitem>
    350             <para>Default: perl</para>
    351           </listitem>
    352         </varlistentry>
    353 
    354         <varlistentry>
    355           <term>master_sites</term>
    356 
    357           <listitem>
    358             <para>Default: http://search.cpan.org/dist/${distname}</para>
    359           </listitem>
    360         </varlistentry>
    361 
    362         <varlistentry>
    363           <term>depends_lib</term>
    364 
    365           <listitem>
    366             <para>Default: perl5.8</para>
    367           </listitem>
    368         </varlistentry>
    369 
    370         <varlistentry>
    371           <term>use_configure</term>
    372 
    373           <listitem>
    374             <para>Default: no</para>
    375           </listitem>
    376         </varlistentry>
    377       </variablelist>
    378     </refsection>
    379 
    380     <refsection>
    381       <title>perl5 PortGroup Specific Variables</title>
    382 
    383       <para>When the perl5 PortGroup is declared within a Portfile, the
    384       following variables are provided during port install.</para>
    385 
    386       <variablelist>
    387         <varlistentry>
    388           <term>perl5.version</term>
    389 
    390           <listitem>
    391             <para>The MacPorts Perl version.</para>
    392           </listitem>
    393         </varlistentry>
    394 
    395         <varlistentry>
    396           <term>perl5.bin</term>
    397 
    398           <listitem>
    399             <para>The Perl binary path (ie,
    400             <filename>${prefix}/bin/perl</filename>).</para>
    401           </listitem>
    402         </varlistentry>
    403 
    404         <varlistentry>
    405           <term>perl5.lib</term>
    406 
    407           <listitem>
    408             <para>Path to the Perl vendor directory.</para>
    409           </listitem>
    410         </varlistentry>
    411 
    412         <varlistentry>
    413           <term>perl5.archlib</term>
    414 
    415           <listitem>
    416             <para>Path to the Perl architecture-dependent modules
    417             directory.</para>
    418           </listitem>
    419         </varlistentry>
    420       </variablelist>
    421     </refsection>
    422   </refsection>
    423 
    424   <refsection>
    425     <title>PortGroup python &amp; python2x</title>
    426 
    427     <para>PortGroup python allows for efficient porting of python-based open
    428     source software.</para>
    429 
    430     <refsection>
    431       <title>python PortGroup Specific Variables</title>
    432 
    433       <para>When the python PortGroup is declared within a Portfile, the
    434       following variables are provided during port install.</para>
    435 
    436       <variablelist>
    437         <varlistentry>
    438           <term>python.bin</term>
    439 
    440           <listitem>
    441             <para>The MacPorts Python binary location.</para>
    442           </listitem>
    443         </varlistentry>
    444 
    445         <varlistentry>
    446           <term>python.lib</term>
    447 
    448           <listitem>
    449             <para>The Python dynamic library and path (ie,
    450             <filename>${prefix}/lib/libpython2.x.dylib</filename>).</para>
    451           </listitem>
    452         </varlistentry>
    453 
    454         <varlistentry>
    455           <term>python.include</term>
    456 
    457           <listitem>
    458             <para>Path to the Python include directory.</para>
    459           </listitem>
    460         </varlistentry>
    461 
    462         <varlistentry>
    463           <term>python.pkgd</term>
    464 
    465           <listitem>
    466             <para>Path to the Python site-packages directory. (ie,
    467             <filename>${prefix}/lib/python2.4/site-packages</filename>).</para>
    468           </listitem>
    469         </varlistentry>
    470       </variablelist>
    471     </refsection>
    472   </refsection>
    473 
    474   <refsection>
    475     <title>PortGroup ruby</title>
    476 
    477     <para>PortGroup ruby allows for efficient porting of ruby-based open
    478     source software.</para>
    479 
    480     <refsection>
    481       <title>ruby PortGroup Specific Variables</title>
    482 
    483       <para>When the ruby PortGroup is declared within a Portfile, the
    484       following variables are provided during port install.</para>
    485 
    486       <variablelist>
    487         <varlistentry>
    488           <term>ruby.version</term>
    489 
    490           <listitem>
    491             <para>The MacPorts Ruby version.</para>
    492           </listitem>
    493         </varlistentry>
    494 
    495         <varlistentry>
    496           <term>ruby.bin</term>
    497 
    498           <listitem>
    499             <para>The Ruby binary location.</para>
    500           </listitem>
    501         </varlistentry>
    502 
    503         <varlistentry>
    504           <term>ruby.lib</term>
    505 
    506           <listitem>
    507             <para>Path to the Ruby vendorlibdir directory (ie,
    508             <filename>${prefix}/lib/ruby/vendor_ruby/${ruby.version}</filename>)</para>
    509           </listitem>
    510         </varlistentry>
    511 
    512         <varlistentry>
    513           <term>ruby.arch</term>
    514 
    515           <listitem>
    516             <para>The name for the Ruby architecture-dependent directory name
    517             (ie, <literal>i686-darwin8.10.1</literal>).</para>
    518           </listitem>
    519         </varlistentry>
    520 
    521         <varlistentry>
    522           <term>ruby.archlib</term>
    523 
    524           <listitem>
    525             <para>Path to the Ruby vendor archdir (ie,
    526             <filename>${ruby.lib}/${ruby.arch}</filename>).</para>
    527           </listitem>
    528         </varlistentry>
    529       </variablelist>
    530     </refsection>
    531   </refsection>
    532 
    533   <refsection>
    534     <title>PortGroup xcode</title>
    535 
    536     <para>PortGroup xcode allows for efficient porting of Xcode-based
    537     opensource software. It handles configuration, build, and destroot phases.
    538     It also defines some values for Xcode-based software. A minimum Portfile
    539     using the xcode PortGroup class only defines the fetch and the checksum
    540     phases.</para>
    541 
    542     <para>Using PortGroup xcode is a way to make your port able to tolerate
    543     Xcode version updates because the PortGroup is tested against all
    544     supported Mac OS X and Xcode versions.</para>
    545 
    546     <refsection>
    547       <title>xcode PortGroup Specific Keywords</title>
    548 
    549       <para>Portfiles using the xcode PortGroup allow for port authors to set
    550       the following keywords in addition to the general Portfile
    551       keywords.</para>
    552 
    553       <variablelist>
    554         <varlistentry>
    555           <term>xcode.project</term>
    556 
    557           <listitem>
    558             <para>The path relative to ${build.dir} and ${destroot.dir} of the
    559             Xcode project. If unset, let xcode tool figure it out. It usually
    560             succeeds if there is a single project in the directory.</para>
    561 
    562             <itemizedlist>
    563               <listitem>
    564                 <para>Type: optional</para>
    565               </listitem>
    566 
    567               <listitem>
    568                 <para>Example:</para>
    569 
    570                 <programlisting>xcode.project ${name}.xcode</programlisting>
    571               </listitem>
    572             </itemizedlist>
    573           </listitem>
    574         </varlistentry>
    575 
    576         <varlistentry>
    577           <term>xcode.configuration</term>
    578 
    579           <listitem>
    580             <para>Project configuration/buildstyle to use.</para>
    581 
    582             <itemizedlist>
    583               <listitem>
    584                 <para>Type: optional</para>
    585               </listitem>
    586 
    587               <listitem>
    588                 <para>Default: Deployment</para>
    589               </listitem>
    590 
    591               <listitem>
    592                 <para>Example:</para>
    593 
    594                 <programlisting>xcode.configuration Main</programlisting>
    595               </listitem>
    596             </itemizedlist>
    597           </listitem>
    598         </varlistentry>
    599 
    600         <varlistentry>
    601           <term>xcode.target</term>
    602 
    603           <listitem>
    604             <para>If present, it overrides build.target and
    605             destroot.target.</para>
    606 
    607             <itemizedlist>
    608               <listitem>
    609                 <para>Type: optional</para>
    610               </listitem>
    611 
    612               <listitem>
    613                 <para>Example:</para>
    614 
    615                 <programlisting>xcode.target ${name}</programlisting>
    616               </listitem>
    617             </itemizedlist>
    618           </listitem>
    619         </varlistentry>
    620 
    621         <varlistentry>
    622           <term>xcode.build.settings</term>
    623 
    624           <listitem>
    625             <para>Additional settings passed to the xcode build tool during
    626             the build phase. These settings should be in the X=Y form.</para>
    627 
    628             <itemizedlist>
    629               <listitem>
    630                 <para>Type: optional</para>
    631               </listitem>
    632 
    633               <listitem>
    634                 <para>Example:</para>
    635 
    636                 <programlisting>xcode.build.settings FRAMEWORK_SEARCH_PATHS=${prefix}/Library/Frameworks</programlisting>
    637               </listitem>
    638             </itemizedlist>
    639           </listitem>
    640         </varlistentry>
    641 
    642         <varlistentry>
    643           <term>xcode.destroot.type</term>
    644 
    645           <listitem>
    646             <para>Type of project that will be installed. This tells the xcode
    647             PortGroup how to destroot the project. Correct values are
    648             application and framework.</para>
    649 
    650             <itemizedlist>
    651               <listitem>
    652                 <para>Type: optional</para>
    653               </listitem>
    654 
    655               <listitem>
    656                 <para>Default: application</para>
    657               </listitem>
    658 
    659               <listitem>
    660                 <para>Example:</para>
    661 
    662                 <programlisting>xcode.destroot.type framework</programlisting>
    663               </listitem>
    664             </itemizedlist>
    665           </listitem>
    666         </varlistentry>
    667 
    668         <varlistentry>
    669           <term>xcode.destroot.path</term>
    670 
    671           <listitem>
    672             <para>Where to install the build product.</para>
    673 
    674             <itemizedlist>
    675               <listitem>
    676                 <para>Type: optional</para>
    677               </listitem>
    678 
    679               <listitem>
    680                 <para>Default: <filename>/Library/Frameworks</filename> or
    681                 <filename>/Applications/MacPorts</filename> depending on
    682                 xcode.destroot.type.</para>
    683               </listitem>
    684             </itemizedlist>
    685           </listitem>
    686         </varlistentry>
    687 
    688         <varlistentry>
    689           <term>xcode.destroot.settings</term>
    690 
    691           <listitem>
    692             <para>Additional settings passed to the xcode build tool during
    693             the destroot phase. These settings should be in the X=Y
    694             form.</para>
    695 
    696             <itemizedlist>
    697               <listitem>
    698                 <para>Type: optional</para>
    699               </listitem>
    700 
    701               <listitem>
    702                 <para>Example:</para>
    703 
    704                 <programlisting>xcode.destroot.settings SKIP_INSTALL=NO</programlisting>
    705               </listitem>
    706             </itemizedlist>
    707           </listitem>
    708         </varlistentry>
    709       </variablelist>
    710     </refsection>
    711 
    712     <refsection>
    713       <title>xcode PortGroup Sugar</title>
    714 
    715       <para>Portfiles using the xcode PortGroup do not need to define the
    716       following variables:</para>
    717 
    718       <variablelist>
    719         <varlistentry>
    720           <term>categories</term>
    721 
    722           <listitem>
    723             <para>Default: aqua</para>
    724           </listitem>
    725         </varlistentry>
    726 
    727         <varlistentry>
    728           <term>platforms</term>
    729 
    730           <listitem>
    731             <para>Default: macosx</para>
    732           </listitem>
    733         </varlistentry>
    734 
    735         <varlistentry>
    736           <term>use_configure</term>
    737 
    738           <listitem>
    739             <para>Default: no</para>
    740           </listitem>
    741         </varlistentry>
    742       </variablelist>
    743     </refsection>
    744 
    745     <refsection>
    746       <title>Portfile-Phase Keywords Affecting the xcode PortGroup</title>
    747 
    748       <para>The following Portfile phase keywords affect the xcode PortGroup
    749       in a unique way. In most cases, you will not need to set any of these
    750       keywords in the Portfile. See <citerefentry>
    751           <refentrytitle>portfile-phase</refentrytitle>
    752 
    753           <manvolnum>7</manvolnum>
    754         </citerefentry></para>
    755 
    756       <variablelist>
    757         <varlistentry>
    758           <term>build.cmd</term>
    759 
    760           <listitem>
    761             <para>Default: <varname>${xcodebuildcmd}</varname>.</para>
    762           </listitem>
    763         </varlistentry>
    764 
    765         <varlistentry>
    766           <term>build.target</term>
    767 
    768           <listitem>
    769             <para>Default: ""</para>
    770 
    771             <para>This variable will be ignored if xcode.target is set.</para>
    772           </listitem>
    773         </varlistentry>
    774 
    775         <varlistentry>
    776           <term>build.args</term>
    777 
    778           <listitem>
    779             <para>Default: <code>build</code></para>
    780           </listitem>
    781         </varlistentry>
    782 
    783         <varlistentry>
    784           <term>destroot.cmd</term>
    785 
    786           <listitem>
    787             <para>Default: <varname>${xcodebuildcmd}</varname></para>
    788           </listitem>
    789         </varlistentry>
    790 
    791         <varlistentry>
    792           <term>destroot.target</term>
    793 
    794           <listitem>
    795             <para>Default: ""</para>
    796 
    797             <para>This variable will be ignored if xcode.target is set.</para>
    798           </listitem>
    799         </varlistentry>
    800       </variablelist>
    801     </refsection>
    802   </refsection>
     58  <xi:include href="../tmp/portgroup-xcode.xml"
     59              xmlns:xi="http://www.w3.org/2001/XInclude" />
    80360
    80461  <refsection>
Note: See TracChangeset for help on using the changeset viewer.