In this section we begin by taking a look at a complete simple Portfile; then we see how to augment default phases by defining pre- and post- phases, how to override default phases, and finally how to eliminate port phases.
# $Id$
PortSystem 1.0
name rrdtool
version 1.2.23
categories net
platforms darwin
license GPL-2+
maintainers julesverne
description Round Robin Database
long_description RRDtool is a system to store and display time-series data
homepage http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/
master_sites http://oss.oetiker.ch/rrdtool/pub/ \
ftp://ftp.pucpr.br/rrdtool/
checksums rmd160 7bbfce4fecc2a8e1ca081169e70c1a298ab1b75a \
sha256 2829fcb7393bac85925090b286b1f9c3cd3fbbf8e7f35796ef4131322509aa53
depends_lib path:bin/perl:perl5 \
port:tcl \
port:zlib
configure.args --enable-perl-site-install \
--mandir=${prefix}/share/manTo augment a port's installation phase, and not override it, you may use pre- and post- installation phases as shown in this example.
post-destroot {
# Install example files not installed by the Makefile
file mkdir ${destroot}${prefix}/share/doc/${name}/examples
file copy ${worksrcpath}/examples/ \
${destroot}${prefix}/share/doc/${name}/examples
}To override the automatic MacPorts installation phase processing, define your own installation phases as shown in this example.
destroot {
xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name}
xinstall -m 755 ${worksrcpath}/README ${destroot}${prefix}/share/doc/${name}
}To eliminate a default phase, simply define a phase with no contents as shown.
build {}Because many software packages do not use
configure, a keyword is provided to eliminate the
configure phase. Another exception is the
destroot phase may not be eliminated. See the
chapter Portfile Reference for full
information.
Startupitems may be placed in the global section of a Portfile.
startupitem.create yes
startupitem.name nmicmpd
startupitem.executable "${prefix}/bin/nmicmpd"