TABLE OF CONTENTS
Format
[ Top ] [ Chapter 3 ] [ Concepts ]
INTRODUCTION
If the .cygport file defines NAME, VERSION, and RELEASE, the filename may be anything, but is conventionally NAME.cygport. Otherwise, the filename must be in the form NAME-VERSION-RELEASE.cygport, and the values of NAME, VERSION, and RELEASE will be determined automatically.
A .cygport file must conform to bash shell syntax. Comments may be included, beginning with '#' until end-of-line; all comments are ignored during execution of cygport.
Since a .cygport file is itself not a functioning script, the she-bang header (#!/bin/bash) should be omitted, and the file should not be executable.
The bare minimum for a working .cygport file includes HOMEPAGE, LICENSE, a SRC_URI definition, and src_compile and src_install functions. Note that several Cygclasses provide some or all of these, so in some cases a single line inherit command will suffice.
Syntax
[ Top ] [ Format ] [ Concepts ]
DESCRIPTION
This section includes functions which provide some syntactical sugar. These functions can be used anywhere.
defined
[ Top ] [ Syntax ] [ General Functions ]
SYNOPSIS
if defined VARIABLE_NAME; then [...]; fi
DESCRIPTION
Tests if the given variable name is defined. Returns TRUE if so, else FALSE.
pushd
[ Top ] [ Syntax ] [ General Functions ]
SYNOPSIS
pushd DIRECTORY
DESCRIPTION
A silent wrapper for the bash pushd directory stack builtin.
popd
[ Top ] [ Syntax ] [ General Functions ]
SYNOPSIS
popd
DESCRIPTION
A silent wrapper for the bash popd directory stack builtin.
Messages
[ Top ] [ Format ] [ Concepts ]
DESCRIPTION
This section includes functions which provide output to the user. These functions may be used anywhere.
error
[ Top ] [ Messages ] [ General Functions ]
SYNOPSIS
error MESSAGE
DESCRIPTION
Declares a fatal error. The given message is displayed, then cygport exits.
warning
[ Top ] [ Messages ] [ General Functions ]
SYNOPSIS
warning MESSAGE
DESCRIPTION
Displays a warning message before continuing.
inform
[ Top ] [ Messages ] [ General Functions ]
SYNOPSIS
inform MESSAGE
DESCRIPTION
Displays an informational message.
verbose
[ Top ] [ Messages ] [ General Functions ]
SYNOPSIS
verbose COMMAND
DESCRIPTION
Echoes the given command before executing it. Returns the exit code of the given command.
boolean
[ Top ] [ Syntax ] [ Concepts ]
DESCRIPTION
A boolean variable is true if set to one of '1', 'on', 'true', or 'yes', and false if set to one of '0', 'off', 'false', or 'no'. These values are case-insensitive.
cross_compiling
[ Top ] [ Syntax ] [ Concepts ]
SYNOPSIS
if cross_compiling; then ...; fi
DESCRIPTION
Tests if the package is being cross-compiled. Returns TRUE if so, else FALSE.
Globals
[ Top ] [ Format ] [ Concepts ]
NAME
[ Top ] [ Globals ] [ Variables ]
DESCRIPTION
The Cygwin (primary) package name. Generally, this is the same as the upstream package name, but need not be. A common reason for deviating from the upstream name is to append a version "slot" where multiple versions of a package are completely parallel installable (e.g. gtk1.2 and gtk2.0, both from gtk+). In this case, define ORIG_PN to the upstream package name.
NOTE
See https://cygwin.com/packaging-package-files.html#naming for more details of the policy on package naming and versioning.
VERSION
[ Top ] [ Globals ] [ Variables ]
DESCRIPTION
The upstream package version number. VERSION must begin with a digit 0-9, and subsequent characters can be a digit, letter, dot, plus-sign or underscore.
RELEASE
[ Top ] [ Globals ] [ Variables ]
DESCRIPTION
The Cygwin package release number, e.g. the "1" in foo-2.3.4-1. The first release of a new version is usually 1, and is incremented if subsequent releases are made of the same version.
PN
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
A read-only alias for NAME.
PV
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
A read-only alias for VERSION.
PR
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
A read-only alias for RELEASE.
P
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
A read-only alias for NAME-VERSION (PN-PV).
PVR
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
A read-only alias for VERSION-RELEASE (PV-PR).
PF
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
A read-only alias for NAME-VERSION-RELEASE (PN-PV-PR).
S
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
The source directory. Build tool regeneration (e.g. cygautoreconf) occurs in this directory, but other build steps should occur in B.
B
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
The build directory. All configuring and compiling steps should occur in this directory.
C
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
The directory where Cygwin READMEs, custom post-install scripts, shell profile scripts, PKG.list files, and other Cygwin-specific files are placed.
NOTE
Providing setup.hint or PKG.hint files in this directory (rather than allowing .hint files to be automatically generated) is an obsolete feature and should not be used in new packages.
For historical reasons, this directory is named 'CYGWIN-PATCHES'.
D
[ Top ] [ Globals ] [ Definitions ]
DESCRIPTION
The installation staging directory. All installation and postinstall steps occur in or into this directory.
State
[ Top ] [ Format ] [ Concepts ]
INHERITED
[ Top ] [ State ] [ Variables ]
DESCRIPTION
The names of all Cygclasses which have been inherit-ed. Rather than testing this directly, use inherited.
ARCHES
[ Top ] [ State ] [ Definitions ]
DESCRIPTION
The Cygwin architectures which this package can be built for: "noarch", "all" or a specific architecture.