TABLE OF CONTENTS

Title

[ Top ] [ Concepts ]

OVERVIEW

The Cygport Reference Manual documents cygport, a utility for creating and building software packages for the Cygwin platform.

Copyright © 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Yaakov Selkowitz

Permission is granted to copy, distribute and/or modify this manual under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You should have received a copy of the GNU Free Documentation License along with this manual. If not, see http://www.gnu.org/licenses/.

Introduction

[ Top ] [ Concepts ]

INTRODUCTION

cygport is a utility for creating and building software packages for the software platform. It is designed to minimize the amount of code and effort for individual packages, automating common processes while leaving flexibility to deal with unusual packages while avoiding many mistakes or omissions.

cygport packages are controlled by .cygport files, which define variables and functions unique to that package and version. cygport provides a modular API, documented here, which covers a wide variety of packaging scenarios.

The syntax of .cygport files resemble that of Gentoo Portage, but they are not compatible. Furthermore, unlike Portage, cygport is not a package manager; it only creates packages which can then be used in a Cygwin package repository and installed with Cygwin's setup.exe package manager.

This manual is divided into the following chapters:

Usage

[ Top ] [ Concepts ]

USAGE

See cygport.1.html for command line options.

REQUIRES

The following packages are required to build packages with cygport:

   autoconf, automake, bash, binutils, bzip2, coreutils, diffstat, diffutils,
   dos2unix, file, gawk, grep, gzip, libtool, lndir, make, patch, rsync, sed,
   tar, unzip, util-linux, wget, which, xz.

Other software packages are required by some Cygclasses, as indicated within.

Configuration

[ Top ] [ Concepts ]

cygport.conf

[ Top ] [ Configuration ] [ Concepts ]

DESCRIPTION

The cygport.conf file can be used by users to customize certain aspects of cygport's behaviour. Users who wish to customize their settings should copy the default /etc/cygport.conf file to $HOME/.cygport.conf and edit the latter.

DISTDIR

[ Top ] [ Configuration ] [ Variables ]

DESCRIPTION

A directory where downloaded sources should be saved, saving time and bandwidth (at the expense of storage space) should the same sources be needed again (e.g. by another release of the same version, or builds of the same package for different toolchains).

MAKEOPTS

[ Top ] [ Configuration ] [ Variables ]

DESCRIPTION

Flags passed to cygmake. The primary purpose of MAKEOPTS is to control parallel make. Some packages may not build correctly with parallel make due to broken Makefile rules; such packages, if not easily patched, can append "-j1" to MAKEOPTS or cygmake to force serial make for that package.

DEFAULT VALUE

  -j [nprocs + 1]

SIG

[ Top ] [ Configuration ] [ Variables ]

DESCRIPTION

If defined to a boolean true value, activates GPG signing of .cygport files and patches, providing that the gnupg package is installed.

NOTE

This is a user-specific setting and must NOT be set or used in .cygport files.

BROWSER

[ Top ] [ Configuration ] [ Variables ]

DESCRIPTION

Preferred web browser to be used by cygport's homepage command. If undefined, 'xdg-open' will be used if present, otherwise 'cygstart' will be used to launch Windows' default browser.

NOTE

If BROWSER is exported in your user environment, it need not be set here.

PAGER

[ Top ] [ Configuration ] [ Variables ]

DESCRIPTION

Preferred pager to be used by cygport's info, list, listdebug, and depends commands. If undefined, 'less' will be used if present.

NOTE

If PAGER is exported in your user environment, it need not be set here.

Format

[ Top ] [ 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 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.

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.

inherit

[ Top ] [ Syntax ] [ General Functions ]

SYNOPSIS

  inherit CYGCLASS [CYGCLASS] ...

DESCRIPTION

Imports the given Cygclass(es) (without the .cygclass suffix) into the build.

inherited

[ Top ] [ Syntax ] [ General Functions ]

SYNOPSIS

  inherited CYGCLASS [CYGCLASS] ...

DESCRIPTION

Check whether the given Cygclass(es) (without the .cygclass suffix) have already been inherit()ed. Returns TRUE if all given Cygclasses have been inherit()ed, otherwise FALSE.

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.

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.

VERSION

[ Top ] [ Globals ] [ Variables ]

DESCRIPTION

The upstream package version number. PV must begin with a digit 0-9, and subsequent characters can be a digit, letter, dot, hyphen, 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. PR must be an integer.

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 CYGWIN-PATCHES directory where Cygwin READMEs, setup.hint files, custom postinstall scripts, and other Cygwin-specific files are placed before packaging.

D

[ Top ] [ Globals ] [ Definitions ]

DESCRIPTION

The installation staging directory. All installation and postinstall steps occur in or into this directory.

Information

[ Top ] [ Concepts ]

HOMEPAGE

[ Top ] [ Information ] [ Variables ]

DESCRIPTION

The website URI of the package. Besides being informational, this defines what address will be displayed in BROWSER by the homepage command.

DEPS_PATH

[ Top ] [ Information ] [ Variables ]

DESCRIPTION

A colon-separated list of directories not ordinarily in PATH in which to search for linked dependencies. Given directories are searched both on the system and under $D.

DEPEND

[ Top ] [ Information ] [ General Functions ]

SYNOPSIS

  DEPEND="ATOM [ATOM] ..."

DESCRIPTION

A list of build-time (not runtime) dependencies to be checked before calling src_compile. Each ATOM can be in one of the following forms:

Downloading

[ Top ] [ Concepts ]

SRC_URI

[ Top ] [ Downloading ] [ Variables ]

DESCRIPTION

Download address(es) for the package source file(s), as a string. The first file in SRC_URI will be considered the primary source file and will determine the default SRC_DIR.

Individual source files maintained locally may also be used by adding their basenames to SRC_URI.

This variable is required, but many cygclasses automatically define a default SRC_URI based on the values of PN and PV.

SEE ALSO

bzr.cygclass, cvs.cygclass, fossil.cygclass, git.cygclass, hg.cygclass, mtn.cygclass, svn.cygclass

Mirrors

[ Top ] [ Downloading ] [ Concepts ]

INTRODUCTION

Many large software projects and hosting sites provide multiple download mirrors for their projects, allowing users to choose a site closer to them and to help distribute the bandwidth demands around the world.

Within cygport, the mirror:// notation can be used in SRC_URI and PATCH_URI to allow package maintainers both the ability to choose their favourite mirrors and use an abbreviated URI for common sites.

The default mirrors are usually the central download site or a redirector. Users can select their favourite mirrors by redefining the mirror_* variables listed below (as a string containing one or more mirror sites) in their cygport.conf.

HINT

Custom per-package "mirrors" can also be defined in a .cygport file. This can be useful if SRC_URI or PATCH_URI contain a large number of long URIs.

NOTE

Mirror providers change frequently. If you define your own default mirror, you may experience errors or delays downloading if your mirror goes offline.

mirror_apache

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

Apache Software Foundation project hosting

SYNOPSIS

  SRC_URI="mirror://apache/projectname/${P}.tar.bz2"

DEFAULT MIRROR

http://www.apache.org/dist

MIRROR LIST

http://www.apache.org/mirrors/index.html

SEE ALSO

apache2.cygclass

mirror_berlios

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

BerliOS project hosting

SYNOPSIS

  SRC_URI="mirror://berlios/projectname/${P}.tar.gz"

DEFAULT MIRROR

http://download.berlios.de

MIRROR LIST

http://developer.berlios.de/mirrors/

mirror_cpan

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

Comprehensive Perl Archive Network

SYNOPSIS

  SRC_URI="mirror://cpan/authors/id/A/AU/AUTHOR/${ORIG_PN}-${PV}.tar.gz"

DEFAULT MIRROR

http://search.cpan.org/CPAN

MIRROR LIST

http://www.cpan.org/SITES.html

SEE ALSO

perl.cygclass

mirror_cran

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

Comprehensive R Archive Network

SYNOPSIS

  SRC_URI="mirror://cran/src/contrib/${ORIG_PN}_${PV/_/-}.tar.gz"

DEFAULT MIRROR

http://cran.r-project.org/

MIRROR LIST

http://cran.r-project.org/mirrors.html

SEE ALSO

R.cygclass

mirror_ctan

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

Comprehensive TeX Archive Network

SYNOPSIS

  SRC_URI="mirror://ctan/macros/latex/contrib/${ORIG_PN}.zip"

DEFAULT MIRROR

http://mirror.ctan.org/

MIRROR LIST

http://mirror.ctan.org/tex-archive/CTAN.sites

SEE ALSO

texlive.cygclass

mirror_debian

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

Debian package pool

SYNOPSIS

  SRC_URI="mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV}.orig.tar.gz"

DEFAULT MIRROR

http://ftp.debian.org/debian

MIRROR LIST

http://www.debian.org/mirror/list

mirror_gcc

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

GCC releases and snapshots

SYNOPSIS

  SRC_URI="mirror://gcc/releases/gcc-${PV}/gcc-core-${PV}.tar.bz2"

DEFAULT MIRROR

ftp://gcc.gnu.org/pub/gcc/

MIRROR LIST

http://gcc.gnu.org/mirrors.html

SEE ALSO

mirror_gnu

mirror_gentoo

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

Gentoo Linux distfiles

SYNOPSIS

  SRC_URI="mirror://gentoo/${P}.tar.bz2"

DEFAULT MIRROR

http://gentoo.osuosl.org/distfiles

MIRROR LIST

http://www.gentoo.org/main/en/mirrors.xml

SEE ALSO

mirror_portage

mirror_gnome

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

GNOME FTP

SYNOPSIS

  SRC_URI="mirror://gnome/sources/${PN}/${PV}/${P}.tar.bz2"

DEFAULT MIRROR

http://ftp.gnome.org/pub/gnome

MIRROR LIST

http://ftp.gnome.org/pub/GNOME/MIRRORS

SEE ALSO

gnome.org.cygclass

mirror_gnu

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

GNU projects FTP hosting

SYNOPSIS

  SRC_URI="mirror://gnu/projectname/${P}.tar.gz"

DEFAULT MIRROR

http://ftpmirror.gnu.org

MIRROR LIST

http://www.gnu.org/order/ftp.html

mirror_gnustep

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

GNUstep packages

SYNOPSIS

  SRC_URI="mirror://gnustep/usr-apps/${ORIG_PN}-${PV}.tar.gz"

DEFAULT MIRROR

http://ftp.gnustep.org/pub/gnustep

MIRROR LIST

http://www.gnustep.org/resources/sources.html

SEE ALSO

gnustep.cygclass

mirror_kde

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

KDE FTP

SYNOPSIS

  SRC_URI="mirror://kde/stable/${PV}/src/${P}.tar.bz2"

DEFAULT MIRROR

http://download.kde.org

MIRROR LIST

http://download.kde.org/extra/mirrors.html

SEE ALSO

kde4.cygclass

mirror_mplayer

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

MPlayer releases and skins

SYNOPSIS

  SRC_URI="mirror://mplayer/releases/${P}.tar.bz2"

DEFAULT MIRROR

http://www1.mplayerhq.hu/MPlayer

MIRROR LIST

http://www.mplayerhq.hu/dload.html

NOTE

MPlayer releases are often outdated; using a SVN checkout is recommended.

mirror_mysql

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

MySQL server and connector downloads

SYNOPSIS

  SRC_URI="mirror://mysql/Downloads/MySQL-5.1/${P}.tar.gz"

DEFAULT MIRROR

http://mirrors.dotsrc.org/mysql

MIRROR LIST

http://www.mysql.com/downloads/mirrors.html

mirror_portage

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

Gentoo Linux Portage tree (via ViewCVS)

SYNOPSIS

  PATCH_URI="mirror://portage/cat-egory/packagename/files/${P}-whatever.patch"

DEFAULT MIRROR

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86

MIRROR LIST

None

SEE ALSO

mirror_gentoo

mirror_rubyforge

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

RubyForge project hosting

SYNOPSIS

  SRC_URI="mirror://rubyforge/projectname/${ORIG_PN}-${PV}.tar.gz"

DEFAULT MIRROR

http://files.rubyforge.vm.bytemark.co.uk

MIRROR LIST

http://api.rubyforge.org/

SEE ALSO

ruby.cygclass

mirror_savannah

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

Savannah GNU project hosting

SYNOPSIS

  SRC_URI="mirror://savannah/projectname/${P}.tar.gz"

DEFAULT MIRROR

http://download.savannah.nongnu.org/releases

MIRROR LIST

http://download.savannah.nongnu.org/releases-noredirect/00_MIRRORS.txt

mirror_sourceforge

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

SourceForge project hosting

SYNOPSIS

  SRC_URI="mirror://sourceforge/projectname/${P}.tar.bz2"

DEFAULT MIRROR

http://downloads.sourceforge.net

MIRROR LIST

https://sourceforge.net/apps/trac/sourceforge/wiki/Mirrors

mirror_sourceware

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

Sourceware.org (aka sources.redhat.com) hosting

SYNOPSIS

  SRC_URI="mirror://sourceware/projectname/${P}.tar.bz2"

DEFAULT MIRROR

ftp://ftp.sourceware.org/pub (frequently unavailable)

MIRROR LIST

http://sourceware.org/mirrors.html

mirror_qt

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

Qt, QtCreator, and PySide downloads

SYNOPSIS

  SRC_URI="mirror://qt/offical_releases/qt/${VERSION%.*}/${VERSION}/qt-everywhere-opensource-src-${VERSION}.tar.gz"

DEFAULT MIRROR

http://download.qt-project.org/

MIRROR LIST

http://download.qt-project.org/static/mirrorlist/

mirror_trolltech

[ Top ] [ Mirrors ] [ Definitions ]

NOTE

This mirror is deprecated and remains only for backwards compatibility. New code should use mirror_qt.

mirror_vim

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

Vim downloads

SYNOPSIS

  SRC_URI="mirror://vim/unix/${P}.tar.bz2 mirror://vim/extra/${P}-extra.tar.gz"

DEFAULT MIRROR

http://ftp.vim.org/pub/vim

MIRROR LIST

http://vim.sourceforge.net/mirrors.php

mirror_xfce

[ Top ] [ Mirrors ] [ Definitions ]

DESCRIPTION

Xfce sources

SYNOPSIS

  SRC_URI="mirror://xfce/src/xfce/${PN}/${PV[1]}.${PV[2]}/${P}.tar.bz2"

DEFAULT MIRROR

http://archive.xfce.org

MIRROR LIST

http://www.xfce.org/download/

SEE ALSO

xfce4.cygclass

Preparation

[ Top ] [ Concepts ]

SRC_DIR

[ Top ] [ Preparation ] [ Variables ]

DESCRIPTION

The top-level directory of the primary source tarball. Defaults to PN-PV.

NOTE

If the source tarball does not have a single directory under which all files are unpacked, use SRC_DIR=".".

DISTCLEANFILES

[ Top ] [ Preparation ] [ Variables ]

DESCRIPTION

A list of files to be deleted immediately upon unpacking sources, relative to $S. This is intended to be used with buildsystem-generated files which are incorrectly included in the source tarball.

PATCH_URI

[ Top ] [ Preparation ] [ Variables ]

DESCRIPTION

Download address(es) for source patches which are to be applied immediately after unpacking sources, as a string.

Individual source patches maintained locally may also be used by adding their basenames to PATCH_URI. This provides an easy way to carry Cygwin-specific patches forward between releases.

Checks

[ Top ] [ Concepts ]

check_header

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  inherit utils
  check_header [-IDIRECTORY] [-IDIRECTORY2] ... HEADER [HEADER2] ...

DESCRIPTION

Checks for the presence of the given header(s). Directories can be added to the default include path by prefixing them with the -I flag. Returns TRUE if all libraries are found, else FALSE.

check_lib

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  inherit utils
  check_lib [-LDIRECTORY] [-LDIRECTORY2] ... LIBRARY [LIBRARY2] ...

DESCRIPTION

Checks for the presence of the given library(ies). Directories can be added to the default library path by prefixing them with the -L flag. Returns TRUE if all libraries are found, else FALSE.

check_prog

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_prog PROGRAM [PROGRAM2] ...

DESCRIPTION

Checks for the presence of the given program(s) in PATH. Returns TRUE if all programs are present, else FALSE.

check_prog_req

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_prog_req PROGRAM [PACKAGE]

DESCRIPTION

Check that the given required program is present in PATH. If not, call error() indicating which package contains the program that needs to be installed. If only the program name is given, the package is assumed to be eponymous.

check_tool

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_tool TOOL [TOOL] ...

DESCRIPTION

Checks for the presence of the given host compiler tool(s) in PATH. Returns TRUE if all tools are present, else FALSE.

check_target_tool

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_target_tool TOOL [TOOL] ...

DESCRIPTION

Checks for the presence of the given target compiler tool(s) in PATH. Returns TRUE if all tools are present, else FALSE.

check_pkg_config

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_pkg_config NAME "PKG_CONFIG_SPEC"

DESCRIPTION

Checks for the presence of the given development packages with pkg-config. If given pkg-config spec is found, return TRUE and defines NAME_CFLAGS and NAME_LIBS. If not found, returns FALSE.

REQUIRES

pkg-config

check_girepository_module

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_girepository_module MODULE [MODULE2] ...

DESCRIPTION

Checks the presence of the given GObject Introspection module(s). If all given module(s) are present, returns TRUE, else FALSE.

NOTE

check_girepository_module does not distinguish how the given module(s) were installed, whether they are from a Cygwin package or manually.

REQUIRES

gobject-introspection

check_lua_module

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_lua_module MODULE [MODULE2] ...

DESCRIPTION

Checks the presence of the given Lua module(s). If all given module(s) are present, returns TRUE, else FALSE.

NOTE

check_lua_module does not distinguish how the given module(s) were installed, whether they are from a Cygwin package or manually.

REQUIRES

lua

check_ocaml_module

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_ocaml_module MODULE [MODULE2] ...

DESCRIPTION

Checks the presence of the given Objective Caml module(s). If all given module(s) are present, returns TRUE, else FALSE.

NOTE

check_ocaml_module does not distinguish how the given module(s) were installed, whether they are from a Cygwin package or manually.

REQUIRES

ocaml, ocaml-findlib

check_perl_module

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_perl_module MODULE [MODULE2] ...

DESCRIPTION

Checks the presence of the given Perl module(s). If all given module(s) are present, returns TRUE, else FALSE.

NOTE

check_perl_module does not distinguish how the given module(s) were installed, whether they are from a Cygwin package or manually.

REQUIRES

perl

check_python_module

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_python_module MODULE [MODULE2] ...

DESCRIPTION

Checks the presence of the given Python2 module(s). If all given module(s) are present, returns TRUE, else FALSE.

NOTES

REQUIRES

python

check_python3_module

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_python3_module MODULE [MODULE2] ...

DESCRIPTION

Checks the presence of the given Python3 module(s). If all given module(s) are present, returns TRUE, else FALSE.

NOTES

REQUIRES

python3

check_pypy_module

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_pypy_module MODULE [MODULE2] ...

DESCRIPTION

Checks the presence of the given PyPy module(s). If all given module(s) are present, returns TRUE, else FALSE.

NOTES

REQUIRES

pypy

check_R_module

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_R_module MODULE [MODULE2] ...

DESCRIPTION

Checks the presence of the given R module(s). If all given module(s) are present, returns TRUE, else FALSE.

NOTE

check_R_module does not distinguish how the given module(s) were installed, whether they are from a Cygwin package or manually.

REQUIRES

R

check_ruby_module

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_ruby_module MODULE [MODULE2] ...

DESCRIPTION

Checks the presence of the given Ruby module(s). If all given module(s) are present, returns TRUE, else FALSE.

NOTE

check_ruby_module does not distinguish how the given module(s) were installed, whether they are from a Cygwin package or manually.

REQUIRES

ruby

check_tcl_module

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_tcl_module MODULE [MODULE2] ...

DESCRIPTION

Checks the presence of the given Tcl module(s). If all given module(s) are present, returns TRUE, else FALSE.

NOTE

check_tcl_module does not distinguish how the given module(s) were installed, whether they are from a Cygwin package or manually.

REQUIRES

tcl

check_tex_module

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_tex_module MODULE [MODULE2] ...

DESCRIPTION

Checks the presence of the given TeX module(s). If all given module(s) are present, returns TRUE, else FALSE.

NOTE

check_tex_module does not distinguish how the given module(s) were installed, whether they are from a Cygwin package or manually.

REQUIRES

texlive

check_vala_module

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

  check_vala_module MODULE [MODULE2] ...

DESCRIPTION

Checks the presence of the given Vala module(s). If all given module(s) are present, returns TRUE, else FALSE.

NOTE

check_vala_module does not distinguish how the given module(s) were installed, whether they are from a Cygwin package or manually.

REQUIRES

vala

Compiling

[ Top ] [ Concepts ]

lndirs

[ Top ] [ Compiling ] [ Compile Functions ]

SYNOPSIS

  lndirs [SOURCE_DIRECTORY [BUILD_DIRECTORY]]

DESCRIPTION

Replicates the given source directory into the given build directory by creating subdirectories and symlinking files. This is to be used in order to build in $B where the build system does not natively support out-of-path builds.

If only the source directory is given, the current working directory is used for the build directory. If no arguments are given, $S is linked into $B.

REQUIRES

lndir

manifestize

[ Top ] [ Compiling ] [ Compile Functions ]

SYNOPSIS

  manifestize EXE [EXE ...]

DESCRIPTION

Since Windows Vista/2008, 32-bit executables with names containing "instal", "patch", "setup", or "update" require administrator privileges to run (under the assumption that these are software installers). This security feature is neither necessary nor appropriate for console-mode applications which are so named, in which case special side-by-side manifest files can be used to inform Windows that elevated privileges are not required.

In the situation where a package builds such an executable *and* needs to execute it in-tree, then use this function to create manifest files for those EXEs *before* they need to be run (e.g., before the call to cygmake).

NOTES

cygport automatically creates manifest files as needed during postinstall, so maintainers need not be concerned for the usability of their packages.

cygmake

[ Top ] [ Compiling ] [ General Functions ]

SYNOPSIS

  cygmake [OPTIONS]

DESCRIPTION

Calls 'make', passing MAKEOPTS and any options given.

NOTE

By default, MAKEOPTS is set to use parallel make based on the number of CPU cores on the system. If the package's Makefiles do not support parallel builds, append "-j1" to MAKEOPTS or call "cygmake -j1".

src_compile

[ Top ] [ Compiling ] [ Compile Functions ]

DESCRIPTION

This function must be defined in the .cygport file, or in inherit()ed cygclasses, containing all steps necessary to configure and compile the package.

The default src_compile function is provided by autotools.cygclass.

CC

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The GCC C compiler.

CFLAGS

[ Top ] [ Compiling ] [ Variables ]

DESCRIPTION

Flags passed to CC when compiling C code. Individual packages may append or override this value if they will not build correctly without it.

DEFAULT VALUE

  -ggdb -O2 -pipe -Wimplicit-function-declaration

CPPFLAGS

[ Top ] [ Compiling ] [ Variables ]

DESCRIPTION

Flags passed to the preprocessor. Individual packages may append or override this value if they will not build correctly without it.

CXX

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The GCC C++ compiler.

CXXFLAGS

[ Top ] [ Compiling ] [ Variables ]

DESCRIPTION

Flags passed to CXX when compiling C++ code. Individual packages may append or override this value if they will not build correctly without it.

DEFAULT VALUE

  -ggdb -O2 -pipe

F77

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The GCC Fortran 77 compiler.

SEE ALSO

FC

FFLAGS

[ Top ] [ Compiling ] [ Variables ]

DESCRIPTION

Flags passed to F77 when compiling Fortran 77 code. Individual packages may append or override this value if they will not build correctly without it.

DEFAULT VALUE

  -ggdb -O2 -pipe

FC

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The GCC Fortran 95 compiler.

SEE ALSO

F77

FCFLAGS

[ Top ] [ Compiling ] [ Variables ]

DESCRIPTION

Flags passed to FC when compiling Fortran 95 code. Individual packages may append or override this value if they will not build correctly without it.

DEFAULT VALUE

  -ggdb -O2 -pipe

GCJ

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The GCC Java native-code compiler.

SEE ALSO

java.cygclass

GCJFLAGS

[ Top ] [ Compiling ] [ Variables ]

DESCRIPTION

Flags passed to GCJ when native-compiling Java code. Individual packages may append or override this value if they will not build correctly without it.

DEFAULT VALUE

  -ggdb -O2 -pipe

GOC

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The GCC Go native-code compiler.

GOFLAGS

[ Top ] [ Compiling ] [ Variables ]

DESCRIPTION

Flags passed to GOC when native-compiling Go code. Individual packages may append or override this value if they will not build correctly without it.

DEFAULT VALUE

  -ggdb -O2 -pipe

OBJC

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The GCC Objective C compiler.

OBJCFLAGS

[ Top ] [ Compiling ] [ Variables ]

DESCRIPTION

Flags passed to OBJC when compiling Objective C code. Individual packages may append or override this value if they will not build correctly without it.

DEFAULT VALUE

  -ggdb -O2 -pipe -Wimplicit-function-declaration

OBJCXX

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The GCC Objective C++ compiler.

OBJCXXFLAGS

[ Top ] [ Compiling ] [ Variables ]

DESCRIPTION

Flags passed to OBJCXX when compiling Objective C++ code. Individual packages may append or override this value if they will not build correctly without it.

DEFAULT VALUE

  -ggdb -O2 -pipe

LDFLAGS

[ Top ] [ Compiling ] [ Variables ]

DESCRIPTION

Flags passed to the linker. Individual packages may append or override this value if they will not build correctly without it.

AR

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The static library archiver for the host platform.

RANLIB

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The static library indexer for the host platform.

RC

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The Windows resource compiler for the host platform.

NOTE

This tool is available only on Cygwin, Windows, and embedded PE hosts.

STRIP

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The symbol remover for the host platform.

PKG_CONFIG

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The pkg-config utility for the host platform.

CC_SYSROOT

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The sysroot used by CC, i.e. the output of $CC -print-sysroot. This is useful when specifying the location of a package's dependency so that it will be correct both when building natively or cross-compiling (e.g. CYGCONF_ARGS="--with-foo-include=${CC_SYSROOT}/usr/include/foo-1"). This is NOT for specifying installation directories for a package being cross-compiled; see CROSS_SYSROOT instead.

ARCH

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The Cygwin architecture of the binaries being built (i686 or x86_64), or "noarch" when using cross.cygclass.

ARCH_i686

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

Defined only when building binaries for i686 (32-bit) Cygwin.

ARCH_x86_64

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

Defined only when building binaries for x86_64 (64-bit) Cygwin.

Testing

[ Top ] [ Concepts ]

cygtest

[ Top ] [ Testing ] [ Testsuite Functions ]

SYNOPSIS

  cd $B
  cygtest

DESCRIPTION

Runs the package testsuite with 'make check' or 'make test'.

src_test

[ Top ] [ Testing ] [ Testsuite Functions ]

DESCRIPTION

This function is to be defined in the .cygport file, listing all steps necessary to run the package's test suite, if any.

The default src_test function is shown below. A few cygclasses provide their own src_test overrides.

DEFINITION

src_test() {
        cd ${B}
        cygtest
}

Installing

[ Top ] [ Concepts ]

NOTE

In the context of cygport, "installing" always means into the DESTDIR $D. However, the syntax of the convenience functions is as if one were installing to the system.

dodir

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  dodir DIRECTORY [DIRECTORY] ...

DESCRIPTION

Creates the given directories under $D.

keepdir

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  keepdir DIRECTORY [DIRECTORY] ...

DESCRIPTION

Preserves the given empty directories under $D from being removed during automatic postinstall steps.

SEE ALSO

KEEPDIRS

dobin

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  dobin FILE [FILE] ...

DESCRIPTION

Installs the given file(s) to the standard bindir and makes them executable.

newbin

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  newbin FILE NEW_NAME

DESCRIPTION

Installs the given file to the standard bindir with the given new name, and makes it executable.

docinto

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  docinto [/]SUBDIRECTORY

DESCRIPTION

Sets the subdirectory into which dodoc and newdoc should install. If the subdirectory is prefixed by a slash, then dodoc and newdoc will use /usr/share/doc/SUBDIRECTORY/; if not, they will use /usr/share/doc/PN/SUBDIRECTORY/.

dodoc

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  dodoc FILE [FILE] ...

DESCRIPTION

Installs the given files or directories into $D/usr/share/doc/PN/, or a subdirectory thereof specified by the previous call to docinto.

newdoc

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  newdoc FILE NEW_NAME

DESCRIPTION

Installs the given file into $D/usr/share/doc/PN/, or a subdirectory thereof specified by the previous call to docinto, with the given new name.

exeinto

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  exeinto DIRECTORY

DESCRIPTION

Specifies the directory under $D into which doexe and newexe will install.

doexe

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  doexe FILE [FILE] ...

DESCRIPTION

Installs the given file(s) into the directory under $D specified by the preceding call to exeinto and makes them executable.

newexe

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  newexe FILE NEW_NAME

DESCRIPTION

Installs the given file into the directory under $D specified by the preceding call to exeinto, renaming it as indicated, and makes it executable.

insinto

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  insinto DIRECTORY

DESCRIPTION

Specifies the directory under $D into which doins and newins will install.

doins

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  doins FILE [FILE] ...

DESCRIPTION

Installs the given file(s) into the directory under $D specified by the preceding call to insinto. Files are made not executable.

newins

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  newins FILE NEW_NAME

DESCRIPTION

Installs the given file into the directory under $D specified by the preceding call to insinto, renaming it as indicated. Files are made not executable.

doicon

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  doicon FILE [FILE] ...

DESCRIPTION

Installs the given image file(s) into the legacy icon directory.

NOTES

newicon

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  newicon FILE NEW_NAME

DESCRIPTION

Installs the given image file into the legacy icon directory, renaming it as indicated.

NOTE

Supported icon formats are PNG, XPM, and SVG.

includeinto

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  includeinto SUBDIRECTORY

DESCRIPTION

Sets the subdirectory of the standard includedir into which doinclude should install.

doinclude

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  doinclude HEADER [HEADER] ...

DESCRIPTION

Installs the given headers into the standard includedir, or the subdirectory thereof specified by a previous call to includeinto.

dolib

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  dolib LIBRARY [LIBRARY] ...

DESCRIPTION

Installs the given libtool, static, or import libraries into the standard libdir.

NOTES

newlib

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  newlib LIBRARY NEW_NAME

DESCRIPTION

Installs the given static or import library into the standard libdir, renaming it as indicated.

NOTES

doinfo

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  doinfo FILE [FILE] ...

DESCRIPTION

Installs the given Info documentation file(s) into the standard infodir.

doman

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  doman [[-l |--lang=]LANGUAGE] MANPAGE [MANPAGE] ...

DESCRIPTION

Installs the given manpage(s) into the appropriate subdirectory of the standard mandir. Localized manpages can be installed by specifing the --lang (-l) argument, otherwise manpages are assumed to be in English.

newman

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  newman [[-l |--lang=]LANGUAGE] MANPAGE NEW_NAME

DESCRIPTION

Installs the given manpage into the appropriate subdirectory of the standard mandir with the given new name. Localized manpages can be installed by specifing the --lang (-l) argument, otherwise manpages are assumed to be in English.

domenu

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  domenu DESKTOP_MENU [DESKTOP_MENU] ...

DESCRIPTION

Installs the given desktop menu entries (.desktop).

newmenu

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  newmenu DESKTOP_MENU NEW_NAME

DESCRIPTION

Installs the given desktop menu entry (.desktop) with the given new name.

dopkgconfig

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  dopkgconfig PC_FILE [PC_FILE] ...

DESCRIPTION

Installs the given pkg-config metadata files.

dosbin

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  dosbin FILE [FILE] ...

DESCRIPTION

Installs the given file(s) to the standard sbindir and makes them executable.

newsbin

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  newsbin FILE NEW_NAME

DESCRIPTION

Installs the given file to the standard sbindir with the given new name, and makes it executable.

dosym

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  dosym TARGET [TARGET] ... DESTINATION

DESCRIPTION

Creates symlinks from the given target(s) to the given destination. The destination must be a directory if more than one target is given. Both relative and absolute targets are supported; relative targets must be given in relation to the destination.

NOTE

The destination directory must exist under $D before dosym is called, therefore a preceding call to dodir may be necessary.

dotool

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  dotool FILE [FILE] ...

DESCRIPTION

Installs the given compiler tool(s) into the target-specific bindir and a target-prefixed version into the native bindir.

doenv

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  doenv VARIABLE VALUE

DESCRIPTION

Creates profile.d scripts which set the given environment variable.

make_autostart_entry

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  make_autostart_entry COMMAND NAME [ADDITIONAL_FIELDS]

DESCRIPTION

Creates an autostart entry for desktop applications as follows:

make_desktop_entry

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  make_desktop_entry COMMAND NAME [ICON] [CATEGORIES] [COMMENT] [ADDITIONAL_FIELDS]

DESCRIPTION

Creates a desktop menu entry for GUI applications as follows:

NOTES

make_etc_defaults

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  make_etc_defaults FILE_PATH [FILE_PATH] ...

DESCRIPTION

Indicates that the given file(s) or directory/ies under $D contain templates for system-configurable files. make_etc_defaults moves these files/directories to a special location, creates a postinstall script to install each file to the correct location if it doesn't already exist, and a preremove script which removes the file if still unchanged.

cyginstall

[ Top ] [ Installing ] [ Install Functions ]

SYNOPSIS

  cyginstall [OPTIONS]

DESCRIPTION

Runs 'make install' (or 'make install/fast' in CMake packages) with the necessary arguments to install into $D, based on the value of USE_DESTDIR.

USE_DESTDIR

[ Top ] [ cyginstall ] [ Variables ]

DESCRIPTION

Set to 1 (the default) if 'make install' supports the DESTDIR variable, or 0 if not, in which case the value of prefix and the standard *dir variables will be overriden with $D-prefixed values.

src_install

[ Top ] [ Installing ] [ Install Functions ]

DESCRIPTION

This function must be defined in the .cygport file, or in inherit()ed cygclasses, containing all steps necessary to install the package into $D and prepare it for packaging.

The default src_install function is shown below. Several cygclasses provide their own src_install overrides.

DEFINITION

src_install() {
        cd ${B}
        cyginstall
}

Postinstall

[ Top ] [ Concepts ]

Fonts

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

If fonts are installed into the standard font directory under $D, the following steps will occur automatically:

NOTE

Packages including fonts must depend on the font-encodings, fontconfig, mkfontdir, and mkfontscale packages.

Freedesktop.org MIME

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall commands will be automatically generated if desktop menu entries with MimeType declarations, or additional definitions for the Shared MIME-Info database, are present in the package.

NOTE

Packages including either of these should depend on the desktop-file-utils and shared-mime-info packages.

GConf Schemas

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall and preremove scripts will be automatically generated to un/register GConf schemas into the system GConf database.

NOTE

Packages providing GConf schemas must require the GConf2 package.

SEE ALSO

RESTRICT

GSettings Schemas

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall scripts will be automatically generated to register GSettings schemas with the system GSettings database.

NOTE

Packages using GSettings will always require libglib2.0_0 or one of its bindings.

GIO Modules

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall scripts will be automatically generated to register GIO modules with the system GIO module cache.

NOTE

Packages providing GIO modules will always require libglib2.0_0.

GdkPixbuf Loaders

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall scripts will be automatically generated to register GdkPixbuf loaders with the system GdkPixbuf loader cache.

NOTE

Packages using GSettings will always require libgdk_pixbuf2.0_0.

GTK+ Input Method Modules

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall scripts will be automatically generated to register GTK+ Input Method Modules with the system module cache.

NOTE

Packages providing GTK Input Method Modules will always require either libgtk2.0_0 or libgtk3_0, depending on which version of GTK+ it supports.

Icon Themes

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Packages postinstall scripts will be automatically generated for packages providing an icon theme, or additional icons for a given theme, to update that icon theme's cache.

MATEConf Schemas

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall and preremove scripts will be automatically generated to un/register MATEConf schemas into the system MATEConf database.

NOTE

Packages providing MATEConf schemas must require the mate-conf package.

SEE ALSO

RESTRICT

TeX Live

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall and preremove scripts will be automatically generated for packages installing TeX files into the system TEXMF tree, which will update the ls-R databases, TeX font maps, and TeX format files.

NOTE

Packages providing TeX files must require the texlive-collection-basic package, and also the fontconfig package if OTF, TTF, or Type1 fonts are provided.

X Sessions

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Package postinstall and preremove scripts will be automatically generated for packages which provide X sessions to manage Start Menu shortcuts which will launch the session.

NOTE

Packages providing X sessions must require the cygutils, dbus, run, and xinit packages.

Documentation Files

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Standard documentation files in $S will be automatically installed into $D/usr/share/doc/PN. Empty files will be skipped.

SEE ALSO

RESTRICT

DOCS

[ Top ] [ Documentation Files ] [ Variables ]

DESCRIPTION

A list of documentation files, relative to $S, to be installed. Note that most standard documentation files are installed automatically and do not need to specified here.

HTMLDOCS

[ Top ] [ Documentation Files ] [ Variables ]

DESCRIPTION

A list of HTML documentation files, relative to $S, to be installed in the html subdirectory of the standard docdir.

PKG_DOCS

[ Top ] [ Documentation Files ] [ Variables ]

DESCRIPTION

A list of documentation files, relative to $S, to be installed in a PKG-specific docdir and automatically included in the PKG subpackage. The PKG_DOCS name is descriptive rather than literal, where "PKG" should be substituted with the name of the binary package to whose contents the docs should be added. When a package contains a character which cannot be used in a shell variable name (namely '+', '-', and '.'), that character must be substituted with an underscore ('_'), e.g. libfoo_devel_DOCS for a libfoo-devel package.

NOTE

When using PKG_DOCS, usr/share/doc/PKG should not be included in the corresponding PKG_CONTENTS; the specified files will be added to the package automatically.

Emacs Lisp

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Emacs Lisp files will be automatically byte-compiled if emacs is present.

Man Pages

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

The following cleanup steps will occur if man pages are installed:

Info Pages

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

The following cleanup steps will occur if info pages are installed:

Perl Modules

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

The following cleanup steps will occur if Perl module(s) are installed:

Game Data

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Game data installed into /var/games will be handled with make_etc_defaults.

Empty Directories

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Empty directories will be removed automatically, unless marked for saving with keepdir or KEEPDIRS.

KEEPDIRS

[ Top ] [ Empty Directories ] [ Variables ]

SYNOPSIS

  KEEPDIRS="DIRECTORY [DIRECTORY...]"

DESCRIPTION

The equivalent of calling keepdir on the given directories. This variable can be used for convenience to avoid defining a custom src_install solely in order to add a keepdir command.

Strip Binaries

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Debug symbols in executables and shared libraries will be stripped automatically, except for Mono assemblies and OCaml bytecode which cannot be stripped.

SEE ALSO

RESTRICT

Split Debugging Information

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Debug symbols stripped from executables and libraries are preserved as split debuginfo files, and sources referenced therein are automatically installed into a package-specific location. A PN-debuginfo package will be automatically created with split debugging symbols and source files when present; inclusion in PKG_NAMES and PKG_CONTENTS is not necessary.

SEE ALSO

RESTRICT

Windows UAC

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Manifest files will be automatically generated to circumvent UAC for those 32-bit executables whose names normally trigger UAC Installer Detection.

Libtool Libraries

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

Libtool libraries use .la ("libtool archive") files to represent the library in a cross-platform way during the build process. By default, these are installed alongside the library, in which they serve two possible purposes: to help lt_dlopen() (or sometimes g_module_open()) find the DLL, and to determine its dependencies when linking something else against it.

The following steps will occur automatically when libtool libraries are included in a package:

KEEP_LA_FILES

[ Top ] [ Libtool Libraries ] [ Variables ]

SYNOPSIS

  KEEP_LA_FILES=[all|module|shared|static|none]

DESCRIPTION

Most of the time, libtool library files are not truly necessary, in which case they end up just slowing down builds and sometimes even causing a module to be loaded twice. Therefore, many distributions have begun removing them from binary packages.

Whether and which .la files are removed during automatic postinstall is based on the value of this variable, which can be one of:

Some suggested guidelines:

NOTE

Deleting .la files for an import library which other libtool libraries were linked against will cause build errors when yet another libtool library tries to link against the second. In this case, 'shared' is necessary to avoid breaking other users' installations.

RESTRICT

[ Top ] [ Postinstall ] [ Variables ]

DESCRIPTION

List of automatic postinstall or packaging step(s) which should be skipped for this package. Supported values are:

Of these, "diff" is the only one that should be considered useful, e.g. with very large data-only packages which will have no useful diff. "debuginfo" is useful on a temporary, per-build basis to debug a package in the build tree (e.g. a noinst test package).

If you find yourself using any of the others to work around cygport's default behaviour, in all likelyhood it is either a bug in cygport or in the .cygport file.

Packaging

[ Top ] [ Concepts ]

INTRODUCTION

In most cases, only one binary package is created from a source package, including all files installed into $D. This is the default, and if this applies to your package, the rest of this section is irrelevant.

However, there are many cases -- often with library packages -- that it is desirable to create multiple binary packages from one source. cygport makes that very easy, by defining the variables described in this section.

PKG_NAMES

[ Top ] [ Packaging ] [ Variables ]

SYNOPSIS

  PKG_NAMES="foo libfoo1 libfoo-devel libfoo-doc"

DESCRIPTION

A list of binary packages to create from the files installed into D. The exact contents of these packages are specified in PKG_CONTENTS variables or .list files.

NOTES

PKG_HINTS

[ Top ] [ Packaging ] [ Variables ]

SYNOPSIS

  PKG_NAMES="foo libfoo1 libfoo-devel libfoo-doc"
  PKG_HINTS="setup runtime devel doc"

DESCRIPTION

A list of unsuffixed .hint files which should be used for each given binary package in PKG_NAMES.

NOTES

PKG_CONTENTS

[ Top ] [ Packaging ] [ Variables ]

SYNOPSIS

  PKG_NAMES="foo libfoo1 libfoo-devel libfoo-doc"
  foo_CONTENTS="--exclude=html usr/bin/foo.exe usr/share/doc/ usr/share/locale/"
  libfoo1_CONTENTS="usr/bin/cygfoo-1.dll"
  libfoo_devel_CONTENTS="usr/include/ usr/lib/ usr/share/aclocal/"
  libfoo_doc_CONTENTS="usr/share/doc/${NAME}/html/"

DESCRIPTION

A list of files to be included in each binary package. The PKG_CONTENTS name is descriptive rather than literal, where "PKG" should be substituted with the name of the binary package whose contents it describes. When a package contains a character which cannot be used in a shell variable name (namely '+', '-', and '.'), that character must be substituted with an underscore ('_'), such as libfoo-devel above.

NOTES

PKG_IGNORE

[ Top ] [ Packaging ] [ Variables ]

DESCRIPTION

A list of files that should not be included in any package, in the same form as PKG_CONTENTS. This will silence warnings on these files not being included in any package, and error if they are included in a package.

DIFF_EXCLUDES

[ Top ] [ Packaging ] [ Variables ]

DESCRIPTION

A list of file names, directory names, or glob patterns in S which will be excluded when creating the .src.patch file. This should be used for files automatically generated in S to avoid polluting the patch.

NOTE

Files generated by various buildsystem infrastructures, such as autoconf, automake, gettext, and libtool are already excluded automatically and need not be listed here.

CATEGORY

[ Top ] [ Packaging ] [ Variables ]

DESCRIPTION

A string containing one or more setup package categories. This will be used as the category: field of auto-generated setup.hint files.

NOTE

A list of official categories is available on the Cygwin website.

SEE ALSO

PKG_CATEGORY

PKG_CATEGORY

[ Top ] [ Packaging ] [ Variables ]

DESCRIPTION

A string containing one or more setup package categories. This will be used as the category: field of the corresponding auto-generated setup.hint file.

Note that the PKG_CATEGORY name is descriptive rather than literal, where "PKG" should be substituted with the name of the binary package whose contents it describes. When a package contains a character which cannot be used in a shell variable name (namely '+', '-', and '.'), that character must be substituted with an underscore ('_'), e.g. libfoo-devel will use libfoo_devel_CATEGORY.

NOTE

A list of official categories is available on the Cygwin website.

SUMMARY

[ Top ] [ Packaging ] [ Variables ]

DESCRIPTION

A one-line summary of the package. This will be used as the sdesc: field of auto-generated setup.hint files.

SEE ALSO

PKG_SUMMARY

PKG_SUMMARY

[ Top ] [ Packaging ] [ Variables ]

DESCRIPTION

A one-line summary of the subpackage. This will be used as the sdesc: field of the corresponding auto-generated setup.hint file.

Note that the PKG_SUMMARY name is descriptive rather than literal, where "PKG" should be substituted with the name of the binary package whose contents it describes. When a package contains a character which cannot be used in a shell variable name (namely '+', '-', and '.'), that character must be substituted with an underscore ('_'), e.g. libfoo-devel will use libfoo_devel_SUMMARY.

DESCRIPTION

[ Top ] [ Packaging ] [ Variables ]

DESCRIPTION

A short paragraph description of the package. This will be used as the ldesc: field of auto-generated setup.hint files.

SEE ALSO

PKG_DESCRIPTION

PKG_DESCRIPTION

[ Top ] [ Packaging ] [ Variables ]

DESCRIPTION

A short paragraph description of the subpackage. This will be used as the ldesc: field of the corresponding auto-generated setup.hint file.

Note that the PKG_DESCRIPTION name is descriptive rather than literal, where "PKG" should be substituted with the name of the binary package whose contents it describes. When a package contains a character which cannot be used in a shell variable name (namely '+', '-', and '.'), that character must be substituted with an underscore ('_'), e.g. libfoo-devel will use libfoo_devel_DESCRIPTION.

REQUIRES

[ Top ] [ Packaging ] [ Variables ]

DESCRIPTION

A single-line strings containing a list of packages on which this package depends. This will be added to the requires: field of the auto-generated setup.hint file.

NOTES

SEE ALSO

PKG_REQUIRES

PKG_REQUIRES

[ Top ] [ Packaging ] [ Variables ]

DESCRIPTION

A single-line strings containing a list of packages on which this package depends. This will be added to the requires: field of the auto-generated setup.hint file.

Note that the PKG_REQUIRES name is descriptive rather than literal, where "PKG" should be substituted with the name of the binary package whose contents it describes. When a package contains a character which cannot be used in a shell variable name (namely '+', '-', and '.'), that character must be substituted with an underscore ('_'), e.g. libfoo-devel will use libfoo_devel_REQUIRES.

NOTES

OBSOLETES

[ Top ] [ Packaging ] [ Variables ]

DESCRIPTION

A single-line string containing a list of package(s) which this package replaces. An empty package will be created for each listed obsoletion which will cause this package to be installed in its place.

NOTE

If there is more than one package in PKG_NAMES, this variable will be ignored; you must use PKG_OBSOLETES instead.

SEE ALSO

PKG_OBSOLETES

PKG_OBSOLETES

[ Top ] [ Packaging ] [ Variables ]

DESCRIPTION

A single-line string containing a list of package(s) which this package replaces. An empty package will be created for each listed obsoletion which will cause PKG to be installed in its place.

Note that the PKG_REQUIRES name is descriptive rather than literal, where "PKG" should be substituted with the name of the binary package whose contents it describes. When a package contains a character which cannot be used in a shell variable name (namely '+', '-', and '.'), that character must be substituted with an underscore ('_'), e.g. libfoo-devel will use libfoo_devel_OBSOLETES.

Cygclasses

[ Top ] [ Concepts ]

DESCRIPTION

Cygclasses serve as cygport's standard library, allowing cygport to support so many different types of packaging scenarios. They may accept variables to control their behaviour, provide definitions and/or functions for use in .cygport files, and some can completely control the build process without further intervention.

Cygclasses are imported via the inherit command at the top of your .cygport file. Because of the predominance of GNU autotools, the autotools.cygclass is automatically imported (as explained there).

These Cygclasses allow downloading from various servers and repositories:

These Cygclasses handle various buildsystems:

These Cygclasses deal with certain types of dependencies:

These Cygclasses are used for packaging desktop software components:

These Cygclasses are used for packaging specific groups of software:

These Cygclasses are used for building extension modules for various subsystems:

These Cygclasses deal with compiler and cross-compiler toolchains:

These Cygclasses provide install commands for certain types of data:

These Cygclasses provide utility functions:

The following Cygclasses are deprecated and should not be used in new code:

xvfb.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit xvfb

DESCRIPTION

Some packages require a running X server while building; if one is already running, that usually suffices, but checking that one is present, and starting one if not, is complicated to do in an automated fashion.

This cygclass provides a function which handles checking for, and if necessary, launching a temporary X session.

xvfb_run

[ Top ] [ xvfb.cygclass ] [ Compile Functions ]

SYNOPSIS

  xvfb_run COMMAND [ARGUMENTS...]

DESCRIPTION

Runs the given COMMAND (binary, script, or shell function), with optional ARGUMENTS, which requires an X session to complete.

NOTE

If several consecutive commands require an X session, then they can be wrapped in a single custom function which can then be passed to xvfb_run, e.g.:

    mycommand() { for f in *; do foo; bar; done ; }
    src_compile() {
      ....
      xvfb_run mycommand
      ....
    }

REQUIRES

dbus, gamin, xmodmap, xorg-server

xorg.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit xorg

DESCRIPTION

X.Org provides the reference implementation of the X11 protocol. Since X11R7.0, packages have been released in a "modular" format, with the server and each library, application, set of headers, and font shipping in it's own autotools-based tarball.

This cygclass defines the variables necessary to download X.Org packages, either as tarballs (default) or from Git (if git.cygclass is inherit()ed afterwards).

HISTORY

Previous versions of Cygwin and X11 required some additional build steps:

As of X11R7.5 for Cygwin 1.7, neither of these are necessary, so xorg.cygclass relies solely on the build functions provided by autotools.cygclass.

INHERITS

autotools.cygclass

CATEGORY (xorg)

[ Top ] [ xorg.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="X11"

SUMMARY (xorg)

[ Top ] [ xorg.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="X.Org ${ORIG_PN} component"

HOMEPAGE (xorg)

[ Top ] [ xorg.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://xorg.freedesktop.org/"

SRC_URI (xorg)

[ Top ] [ xorg.cygclass ] [ Overloads ]

DESCRIPTION

Download location of the release tarball.

GIT_URI (xorg)

[ Top ] [ xorg.cygclass ] [ Overloads ]

DESCRIPTION

Git repository for the package.

NOTE

git.cygclass should be inherit()ed last for this to be of use.

xfce4.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit xfce4

DESCRIPTION

Xfce is a desktop environment for X which is lighter and faster than GNOME or KDE but has more features than most lightweight DEs. The project provides desktop components and some basic applications which are built on a few libraries which are based on GLib and GTK+.

This cygclass handles the building of Xfce 4.x packages.

INHERITS

autotools.cygclass

HOMEPAGE (xfce4)

[ Top ] [ xfce4.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.xfce.org/"

SRC_URI (xfce4)

[ Top ] [ xfce4.cygclass ] [ Overloads ]

DESCRIPTION

Download location of the release tarball.

GIT_URI (xfce4)

[ Top ] [ xfce4.cygclass ] [ Overloads ]

DESCRIPTION

Git repository for the package.

NOTE

git.cygclass should be inherit()ed last for this to be of use.

xfce4_autoreconf

[ Top ] [ xfce4.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $S
  xfce4_autoreconf

DESCRIPTION

Updates the build system with xdt-autogen.

WARNING

Skipping this step is strongly discouraged. Patches to configure.ac, aclocal macros, or Makefile.am files will not take effect until their tools have been regenerated. Also, Cygwin's libtool package often includes patches which are not yet available in the latest upstream release, so libraries may not be built optimally, or even correctly, without this step having been run. The same applies for some of the other build tools as well.

REQUIRES

autoconf, automake, gtk-doc, intltool, libglib2.0-devel, libtool, pkg-config, xfce4-dev-tools

SEE ALSO

cygautoreconf, gnome2_autoreconf

xfce4_compile

[ Top ] [ xfce4.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  xfce4_compile [CONFIGURE_FLAGS]

DESCRIPTION

Calls cygconf with the following options, followed by cygmake:

All arguments to xfce4_compile are passed to cygconf as configure flags.

src_compile (xfce4)

[ Top ] [ xfce4.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${S}
        xfce4_autoreconf
        cd ${B}
        xfce4_compile
}

wxwidgets.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  WX_VERSION="X.Y"
  [WX_CODESET="..."]
  [WX_TOOLKIT="..."]
  inherit wxwidgets

DESCRIPTION

The wxWidgets toolkit is a cross-platform, C++ GUI toolkit which is built on top of other GUI toolkits for a native look on all platforms. Each combination of major.minor version, backend toolkit, and choice of ANSI or Unicode text codesets are parallel-installable. Packages which depend on the wxWidgets toolkit will only build against one or two versions at any given time, and may require a particular codeset or toolkit.

This cygclass selects the wx-config script for the desired version, backend tookit, and codeset of the wxWidgets toolkit.

NOTE

When cross-compiling, cross.cygclass must be inherit()ed BEFORE wxwidgets.cygclass.

WX_VERSION

[ Top ] [ wxwidgets.cygclass ] [ Variables ]

DESCRIPTION

The desired major.minor branch of the wxWidgets toolkit. This variable must be set before inherit()ing the wxwidgets.cygclass.

NOTE

Even minor version numbers represent stable branches; versions 2.6 and 2.8 are supported. The latest unstable branch (version 2.9) is also currently supported.

WX_TOOLKIT

[ Top ] [ wxwidgets.cygclass ] [ Variables ]

DESCRIPTION

The desired backend toolkit version of the wxWidgets toolkit. Possible values are:

This variable must be set before inherit()ing the wxwidgets.cygclass. If undefined, the default is "gtk2" on Cygwin; when cross-compiling, the default depends on CROSS_HOST as indicated above.

WX_CODESET

[ Top ] [ wxwidgets.cygclass ] [ Variables ]

DESCRIPTION

The choice of text codeset of the wxWidgets toolkit. Possible values are "ansi" and "unicode", however the "gtk" (1.x) and "motif" WX_TOOLKIT options do not support "unicode".

This variable must be set before inherit()ing the wxwidgets.cygclass. If undefined, "unicode" is the default if supported by the given WX_TOOLKIT.

WX_CONFIG

[ Top ] [ wxwidgets.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the wx-config script for the given WX_VERSION, WX_TOOLKIT, and WX_CODESET (and CROSS_HOST if cross-compiling). This definition is exported to the build environment.

WX_CFLAGS

[ Top ] [ wxwidgets.cygclass ] [ Definitions ]

DESCRIPTION

Compile flags for the specified version/toolkit/codeset of wxWidgets. This is equivalent to `$WX_CONFIG --cflags`.

WX_LIBS

[ Top ] [ wxwidgets.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for the specified version/toolkit/codeset of wxWidgets. This is equivalent to `$WX_CONFIG --libs`.

NOTE

This will contain the standard, non-"contrib" link libraries shipped with wxWidgets. If you need to link against one of the "contrib" libraries, you need to call `$WX_CONFIG --libs library1,library2,...`. In this form, WX_CONFIG will automatically add 'base', but not 'core', which almost all wxWidgets GUI applications will need. Third-party link library flags cannot be determined by WX_CONFIG and will need to be added manually.

wx-config

[ Top ] [ wxwidgets.cygclass ] [ General Functions ]

DESCRIPTION

Wrapper function for calling WX_CONFIG.

waf.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  [WAF_USE_BUNDLED=1]
  inherit waf

DESCRIPTION

Waf is a general-purpose build system written in Python used by XMMS2, a few GTK+ programs, and some other projects. The build system is defined by a 'wscript' file in the top source directory and 'wscript_build' files in subdirectories, both of which are also written in Python.

Waf is designed to create a completely self-sufficient package, with the waf command and library shipped together with the sources. The issue with that is only a recent of Waf will correctly build libraries on Cygwin, and patches may be required. Therefore, this cygclass can use a (patched) system-installed waf command to drive the build instead if the bundled copy does not work.

NOTE

Packages which ship with very old versions of Waf may not be compatible with the current Waf API. In that case, if the bundled waf does not work, you will need to patch 'wscript' and/or 'wscript_build' for the API provided by the system-installed copy. A link to the Waf Book and API documentation can be found on the Waf project page.

REQUIRES

python, waf

WAF_USE_BUNDLED

[ Top ] [ waf.cygclass ] [ Variables ]

SYNOPSIS

  WAF_USE_BUNDLED=1
  inherit waf

DESCRIPTION

Define this variable prior to inherit()ing waf.cygclass in order to use the copy of Waf bundled in the sources.

WAF

[ Top ] [ waf.cygclass ] [ Definitions ]

DESCRIPTION

Path to the Waf command.

waf_compile

[ Top ] [ waf.cygclass ] [ Compile Functions ]

SYNOPSIS

  waf_compile [OPTIONS]

DESCRIPTION

Runs 'waf configure' to configure the package, followed by 'waf build' to compile it. WAF_CONFIGURE_FLAGS and WAF_BUILD_FLAGS can be defined to pass additional arguments to the configure and build commands, respectively. Any arguments to waf_compile are passed as configure flags to the 'waf configure' command. waf_compile must be run from the directory containing 'wscript'.

WAF_CONFIGURE_FLAGS

[ Top ] [ waf_compile ] [ Variables ]

DESCRIPTION

String containing additional arguments to pass to 'waf configure'.

WAF_BUILD_FLAGS

[ Top ] [ waf_compile ] [ Variables ]

DESCRIPTION

String containing additional arguments to pass to 'waf build'.

waf_test

[ Top ] [ waf.cygclass ] [ Testsuite Functions ]

DESCRIPTION

Runs the package's test suite with 'waf check'. WAF_TEST_FLAGS can be defined to pass additional arguments to the check command. Any arguments to waf_test are passed as well. waf_test must be run from the directory containing 'wscript'.

WAF_TEST_FLAGS

[ Top ] [ waf_test ] [ Variables ]

DESCRIPTION

String containing additional arguments to pass to 'waf check'.

waf_install

[ Top ] [ waf.cygclass ] [ Install Functions ]

DESCRIPTION

Installs the package into $D with 'waf install'. WAF_INSTALL_FLAGS can be defined to pass additional arguments to the install command. Any arguments to waf_install are passed as well. waf_install must be run from the directory containing 'wscript'.

WAF_INSTALL_FLAGS

[ Top ] [ waf_install ] [ Variables ]

DESCRIPTION

String containing additional arguments to pass to 'waf install'.

src_compile (waf)

[ Top ] [ waf.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        waf_compile
}

src_install (waf)

[ Top ] [ waf.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        waf_install
}

vim.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

DESCRIPTION

Vim is a text editor which is extensible through scripts written in its own Vimscript language.

This cygclass includes functions for installing Vim scripts.

REQUIRES

vim

VIM

[ Top ] [ vim.cygclass ] [ Definitions ]

DESCRIPTION

Root data directory for the Vim editor.

NOTE

This is NOT the path to the Vim editor.

VIMRUNTIME

[ Top ] [ vim.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing scripts shipped with the Vim editor.

NOTE

Third-party Vim scripts should not be installed here; use VIMFILES instead.

VIMFILES

[ Top ] [ vim.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for third-party Vim scripts.

viminto

[ Top ] [ vim.cygclass ] [ Install Functions ]

SYNOPSIS

  viminto SUBDIRECTORY

DESCRIPTION

Subdirectory into which dovim and newvim should install. Subdirectories supported by Vim are:

A subdirectory may also be prefixed by "after/" if the scripts to be installed are meant to override those included in Vim.

dovim

[ Top ] [ vim.cygclass ] [ Install Functions ]

SYNOPSIS

  viminto SUBDIRECTORY
  dovim SCRIPT [SCRIPT2] ...

DESCRIPTION

Installs the given Vim script(s) into the subdirectory of VIMFILES declared by the preceding call to viminto.

newvim

[ Top ] [ vim.cygclass ] [ Install Functions ]

SYNOPSIS

  viminto SUBDIRECTORY
  newvim SCRIPT_FILE NEW_SCRIPT_NAME

DESCRIPTION

Installs the given Vim script into the subdirectory of VIMFILES declared by the preceding call to viminto, renaming it as indicated by the second argument.

utils.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

DESCRIPTION

This cygclass contains miscellaneous functions. Currently defined herein are:

toolchain.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  TOOLCHAIN_TARGET="..."
  inherit toolchain

DESCRIPTION

The GNU toolchain, consisting of Binutils, the GCC compilers, and the GDB debugger, are used to build code in C and related languages into an executable or library, either for the system on which it runs (a "native" compiler) or for another system (a "cross" compiler).

This cygclass assists in building both native- and cross-compilers which will run on Cygwin.

INHERITS

autotools.cygclass

SEE ALSO

cross.cygclass

TOOLCHAIN_TARGET

[ Top ] [ toolchain.cygclass ] [ Variables ]

DESCRIPTION

The CPU-VENDOR-OS triplet, or customary abbreviation thereof, describing the compiler's "target" system; for example:

Note that while the 'unknown' vendor tag is usually omitted from embedded systems, particularly in conjunction with a 'none' OS tag, as above, this does not apply to e.g. 'x86_64-unknown-linux-gnu' and other systems.

The keyword "native" is also accepted, which will cause a host-native Cygwin compiler to be built, and TOOLCHAIN_TARGET to be redefined accordingly.

NOTES

TOOLCHAIN_SYSROOT

[ Top ] [ toolchain.cygclass ] [ Definitions ]

DESCRIPTION

GCC cross-compilers provide the concept of a sysroot: a directory which acts as the virtual root of the target filesystem, resulting in TOOLCHAIN_SYSROOT/$prefix/include and TOOLCHAIN_SYSROOT/$prefix/lib being in the default search paths without requiring -I or -L flags.

This means that software natively compiled for the host system can be unpacked into the sysroot without needing to mangle paths. This is especially useful when bootstrapping a new toolchain; e.g. for Linux, one can just download glibc and kernel headers packages from a Linux distro, unpack them into the TOOLCHAIN_SYSROOT, and use those to build a cross-GCC for the first time.

TOOLCHAIN_PREFIX

[ Top ] [ toolchain.cygclass ] [ Definitions ]

DESCRIPTION

The $prefix directory under the sysroot. This definition is meant to be used in configure or cmake arguments to avoid dealing with different prefixes on various systems.

TOOLCHAIN_BINDIR

[ Top ] [ toolchain.cygclass ] [ Definitions ]

DESCRIPTION

The $prefix/bin directory under the sysroot. This definition is meant to be used in configure or cmake arguments to avoid dealing with different prefixes on various systems.

TOOLCHAIN_INCLUDEDIR

[ Top ] [ toolchain.cygclass ] [ Definitions ]

DESCRIPTION

The $prefix/include directory under the sysroot. This definition is meant to be used in configure or cmake arguments to avoid dealing with different prefixes on various systems.

TOOLCHAIN_LIBDIR

[ Top ] [ toolchain.cygclass ] [ Definitions ]

DESCRIPTION

The $prefix/lib directory under the sysroot. This definition is meant to be used in configure or cmake arguments to avoid dealing with different prefixes on various systems.

TOOLCHAIN_DATADIR

[ Top ] [ toolchain.cygclass ] [ Definitions ]

DESCRIPTION

The $prefix/share directory under the sysroot. This definition is meant to be used in configure or cmake arguments to avoid dealing with different prefixes on various systems.

toolchain_compile

[ Top ] [ toolchain.cygclass ] [ Compile Functions ]

SYNOPSIS

  toolchain_compile [CONFIGURE_ARGS]

DESCRIPTION

Configures the toolchain package with the necessary options for the given TOOLCHAIN_TARGET, then runs cygmake to build.

src_compile (toolchain)

[ Top ] [ toolchain.cygclass ] [ Overloads ]

NOTE

An autoreconf stage is not run by default, because GNU toolchain packages require specific versions of the autotools which do not match the latest versions in the distribution. They also do not recurse with AC_CONFIG_SUBDIRS.

DEFINITION

src_compile() {
        cd ${B}
        toolchain_compile
}

texlive.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

DESCRIPTION

TeX is an extensible typesetting system used to produce documentation in many formats. TeX Live is the primary TeX distribution for *NIX systems, replacing teTeX when the latter became unsupported in 2006.

TeX Live packages, which total in the thousands, are distributed individually via CTAN and are updated on a continuous basis.

This cygclass creates Cygwin packages from one or more TeX Live packages.

SEE ALSO

mirror_ctan

TEXLIVE_TEXMF_PKGS

[ Top ] [ texlive.cygclass ] [ Variables ]

DESCRIPTION

A list of one or more TeX Live arch-independent packages consisting of TeX macros, fonts, language support, and other files which are not documentation.

TEXLIVE_ARCH_PKGS

[ Top ] [ texlive.cygclass ] [ Variables ]

DESCRIPTION

A list of one or more TeX Live arch-specific packages, consisting of scripts and symlinks which are to be installed into the system PATH.

NOTE

All arch-specific packages also provide an arch-independent component, which will be included and need not be listed separately in TEXLIVE_TEXMF_PKGS.

TEXLIVE_DOC_PKGS

[ Top ] [ texlive.cygclass ] [ Variables ]

DESCRIPTION

A list of one or more TeX Live documentation packages.

TEXLIVE_PRETEST

[ Top ] [ texlive.cygclass ] [ Variables ]

DESCRIPTION

Define if packages should be downloaded from a pretest package repository mirror instead of from stable release repository mirrors, which are frozen during the pretest phase.

CATEGORY (texlive)

[ Top ] [ texlive.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Publishing"

SUMMARY (texlive)

[ Top ] [ texlive.cygclass ] [ Overloads ]

DESCRIPTION

The default SUMMARY depends on the value of PN.

DESCRIPTION (texlive)

[ Top ] [ texlive.cygclass ] [ Overloads ]

DEFINITION

DESCRIPTION="TeX Live is an easy way to get up and running with the TeX
document production system.  It includes all the major TeX-related
programs, macro packages, and fonts that are free software, including
support for many languages around the world."

HOMEPAGE (texlive)

[ Top ] [ texlive.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.tug.org/texlive/"

SRC_URI (texlive)

[ Top ] [ texlive.cygclass ] [ Overloads ]

DESCRIPTION

SRC_URI is constructed automatically based on the value of TEXLIVE_TEXMF_PKGS, TEXLIVE_ARCH_PKGS, TEXLIVE_DOC_PKGS, and TEXLIVE_PRETEST.

texlive_install

[ Top ] [ texlive.cygclass ] [ Install Functions ]

SYNOPSIS

  texlive_install

DESCRIPTION

Installs the TeX Live package file(s) into their respective locations and queues the necessary postinstall steps.

src_compile (texlive)

[ Top ] [ texlive.cygclass ] [ Overloads ]

DEFINITION

src_compile() { :; }

src_install (texlive)

[ Top ] [ texlive.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${S}
        texlive_install
}

tcl.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit tcl

DESCRIPTION

Tcl is a general-purpose scripting language used for a variety of purposes. It supports extensions written in Tcl or C. Tk is both a Tcl extension and a GUI toolkit in its own right, which is used in turn by several other programming languages (including Perl, Python, R, and Ruby) as their default GUI library.

This cygclass provides definitions for Tcl extensions and packages embedding the Tcl language.

REQUIRES

tcl

TCLSH

[ Top ] [ tcl.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Tcl interpreter.

TCL_VERSION

[ Top ] [ tcl.cygclass ] [ Definitions ]

DESCRIPTION

The major.minor version of the Tcl interpreter.

TCL_INCLUDEDIR

[ Top ] [ tcl.cygclass ] [ Definitions ]

DESCRIPTION

Location of the Tcl private headers, necessary when building packages which expect to build from a Tcl source tree (e.g. Tk).

TCL_LIBDIR

[ Top ] [ tcl.cygclass ] [ Definitions ]

DESCRIPTION

Location of the Tcl standard library.

TK_INCLUDEDIR

[ Top ] [ tcl.cygclass ] [ Definitions ]

DESCRIPTION

Location of the Tk private headers, necessary when building packages which expect to build from a Tk source tree.

TK_LIBDIR

[ Top ] [ tcl.cygclass ] [ Definitions ]

DESCRIPTION

Location of the Tk standard library.

LIBTCL

[ Top ] [ tcl.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for the Tcl C library.

LIBTK

[ Top ] [ tcl.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for the Tk and Tcl C libraries.

svn.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  SVN_URI="..."
  [SVN_BRANCH="..."]
  [SVN_DATE="..."]
  [SVN_REV="..."]
  inherit svn

DESCRIPTION

Subversion is a centralized version control system, designed to be mostly compatible with CVS while adding some new features and avoiding some of CVS' limitations. It is still widely used.

This cygclass creates source tarballs from Subversion checkouts.

NOTE

This cygclass sets a special SRC_URI for the tarball it creates. If additional sources are required, be sure to _add_ to SRC_URI rather than outright setting it.

REQUIRES

subversion

SVN_URI

[ Top ] [ svn.cygclass ] [ Variables ]

DESCRIPTION

Address of the Subversion repository. This must be set before inherit()ing svn.cygclass.

NOTE

While a Subversion repository URI can include the desired branch or tag, for these purposes it is usually best to use the repository top-level (which customarily includes the folders branch/, tags/, and trunk/) as the SVN_URI, and the desired branch or tag subdirectory as the SVN_BRANCH.

SVN_BRANCH

[ Top ] [ svn.cygclass ] [ Variables ]

DESCRIPTION

The branch or tag subdirectory to be downloaded relative to SVN_URI, such as "branches/some_feature" or "tags/X.Y.Z".

This must be set before inherit()ing svn.cygclass. If undefined, the "trunk" branch will be used.

SVN_REV

[ Top ] [ svn.cygclass ] [ Variables ]

DESCRIPTION

The revision number to be downloaded. If undefined, the latest revision from the given SVN_BRANCH will be used.

SVN_DATE

[ Top ] [ svn.cygclass ] [ Variables ]

DESCRIPTION

The revision date to be downloaded. Preferred form is YYYY-MM-DD [HH:MM], where the time is optional; the hyphens in the date can be omitted.

NOTE

If a date is specified without a time, then the time 00:00 is implied, which will exclude all revisions made on the given date. Use the following day in SVN_DATE instead.

sugar.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

DESCRIPTION

The Sugar Learning Platform provides an alternative to traditional office/desktop software with a focus on education and ease of use, particularly for children. Sugar Activities (applications) are written in Python to ease both authorship and deployment.

This cygclass provides functions for building Sugar Activities packages.

INHERITS

python.cygclass

REQUIRES

python, sugar-toolkit

CATEGORY (sugar)

[ Top ] [ sugar.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Sugar"

SUMMARY (sugar)

[ Top ] [ sugar.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="Sugar Desktop ${ORIG_PN} activity"

DESCRIPTION (sugar)

[ Top ] [ sugar.cygclass ] [ Overloads ]

DEFINITION

DESCRIPTION="The award-winning Sugar Learning Platform promotes
collaborative learning through Sugar Activities that encourage critical
thinking, the heart of a quality education. Designed from the ground up
especially for children, Sugar offers an alternative to traditional
office-desktop software."

HOMEPAGE (sugar)

[ Top ] [ sugar.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.sugarlabs.org/"

SUGAR_TYPE

[ Top ] [ sugar.cygclass ] [ Variables ]

DESCRIPTION

Activities shipped by Sugar Labs are classified into one of two Taxonomies: "Fructose" (maintained by the Sugar developers) and "Honey" (maintained by third parties). If SUGAR_TYPE is defined as one of these two, then SRC_URI will be defined automatically.

NOTE

This variable is case-insensitive.

sugar_install

[ Top ] [ sugar.cygclass ] [ Install Functions ]

SYNOPSIS

  sugar_install

DESCRIPTION

Installs the Sugar activity into $D and byte-compiles all Python code.

src_compile (sugar)

[ Top ] [ sugar.cygclass ] [ Overloads ]

DESCRIPTION

There is nothing to build, so this is empty.

src_install (sugar)

[ Top ] [ sugar.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${S}
        sugar_install
}

rubygem.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit rubygem

DESCRIPTION

RubyGems is a Ruby extension hosting service, much like CPAN is for Perl. Packages are distributed in the .gem format and have a unique installation scheme which allows for multiple versions of any package to be installed. Since Ruby 1.9, RubyGems is fully integrated into Ruby, and has become the preferred way to distribute Ruby extensions.

This cygclass provides a framework for building RubyGems packages for Cygwin.

INHERITS

ruby.cygclass

ORIG_PN (rubygem)

[ Top ] [ rubygem.cygclass ] [ Overloads ]

DESCRIPTION

The original package name of the package as listed on RubyGems. The default value is PN without the leading "ruby-", which covers most RubyGems packages.

CATEGORY (rubygem)

[ Top ] [ rubygem.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Ruby"

SUMMARY (rubygem)

[ Top ] [ rubygem.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="Ruby ${PN#ruby-} module"

HOMEPAGE (rubygem)

[ Top ] [ rubygem.cygclass ] [ Overloads ]

DESCRIPTION

Default homepage of the Ruby module on RubyGems.

SRC_URI (rubygem)

[ Top ] [ rubygem.cygclass ] [ Overloads ]

DESCRIPTION

Default download location of the Ruby module on RubyGems.

rubygem_compile

[ Top ] [ rubygem.cygclass ] [ Compile Functions ]

SYNOPSIS

  rubygem_compile

DESCRIPTION

Builds the gem (including any patches made to files in $S), compiles any native extensions, and prepares the gem for installation.

rubygem_install

[ Top ] [ rubygem.cygclass ] [ Install Functions ]

SYNOPSIS

  rubygem_install

DESCRIPTION

Installs the built gem into $D.

src_compile (rubygem)

[ Top ] [ rubygem.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        rubygem_compile
}

src_install (rubygem)

[ Top ] [ rubygem.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        rubygem_install
}

ruby.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit ruby

DESCRIPTION

Ruby is a general-purpose, object oriented scripting language. Originally developed in Japan and quite popular there, it has a relatively smaller but growing user base in the English-speaking world. The Ruby interpreter supports extensions written in Ruby or C/C++.

This cygclass is primarily meant for building Ruby extension modules.

NOTE

Ruby C modules use the .so extension on all platforms, including Cygwin where .dll is the norm. The standard Ruby build systems will do this correctly, but modules build with other build systems will usually need a patch to force the use of the .so extension. For instance, with automake and libtool:

    foo_la_LDFLAGS = -module -avoid-version -no-undefined -shrext '.so'

or with CMake:

    set_target_properties(foo PROPERTIES PREFIX "" SUFFIX ".so")

INHERITED BY

rubygem.cygclass, ruby-gnome2.cygclass

RUBY

[ Top ] [ ruby.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Ruby interpreter.

RUBY_VERSION

[ Top ] [ ruby.cygclass ] [ Definitions ]

DESCRIPTION

The major.minor version of the Ruby interpreter.

RUBY_LIB

[ Top ] [ ruby.cygclass ] [ Definitions ]

DESCRIPTION

Path containing the Ruby standard library.

NOTE

Never install third-party extensions into RUBY_LIB; use RUBY_VENDORLIB instead.

RUBY_ARCH

[ Top ] [ ruby.cygclass ] [ Definitions ]

DESCRIPTION

Path containing the Ruby standard C extensions.

NOTE

Never install third-party extensions into RUBY_ARCH; use RUBY_VENDORARCH instead.

RUBY_VENDORLIB

[ Top ] [ ruby.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for third-party Ruby libraries.

RUBY_VENDORARCH

[ Top ] [ ruby.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for third-party Ruby C extensions.

RI_SITEDIR

[ Top ] [ ruby.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for RI docs for third-party Ruby extensions.

LIBRUBY

[ Top ] [ ruby.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for the Ruby C library.

CATEGORY (ruby)

[ Top ] [ ruby.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Ruby"

NOTE

This is defined only if PN begins with "ruby-".

SUMMARY (ruby)

[ Top ] [ ruby.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="Ruby ${PN#ruby-} module"

NOTE

This is defined only if PN begins with "ruby-".

ruby_compile

[ Top ] [ ruby.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  ruby_compile

DESCRIPTION

Configures and builds a Ruby extension using one of the supported build systems:

If RDOC_SOURCE is defined, RI docs are then generated.

RDOC_SOURCE

[ Top ] [ ruby_compile ] [ Variables ]

DESCRIPTION

Relative path to the Ruby source files containing RDoc documentation.

ruby_ext_compile

[ Top ] [ ruby.cygclass ] [ Compile Functions ]

SYNOPSIS

  ruby_ext_compile [CONFIGURE_OPTIONS]

DESCRIPTION

Runs extconf.rb to configure the build and generate a Makefile, followed by cygmake to compile.

ruby_install

[ Top ] [ ruby.cygclass ] [ Install Functions ]

SYNOPSIS

  cd $B
  ruby_install

DESCRIPTION

Installs a Ruby extension into $D using one of the supported build systems:

If RDOC_SOURCE is defined, the RI docs generated in ruby_compile are also installed into RI_SITEDIR.

RDOC_MODULE

[ Top ] [ ruby_install ] [ Variables ]

DESCRIPTION

A whitespace-separated list of classes or namespaces whose RI docs should be installed. If RDOC_SOURCE is defined but RDOC_MODULE is not, all generated documentation will be installed; this is often undesirable, as private classes may also be documented.

rubyinto

[ Top ] [ ruby.cygclass ] [ Install Functions ]

SYNOPSIS

  rubyinto SUBDIRECTORY

DESCRIPTION

Subdirectory of RUBY_VENDORLIB or RUBY_VENDORARCH that doruby should install. This is usually unnecessary.

doruby

[ Top ] [ ruby.cygclass ] [ Install Functions ]

SYNOPSIS

  [rubyinto SUBDIRECTORY]
  doruby FILES

DESCRIPTION

Installs Ruby extensions into RUBY_VENDORLIB or RUBY_VENDORARCH, or the subdirectory thereof based on a previous call to rubyinto.

ruby_fix_shebang

[ Top ] [ ruby.cygclass ] [ Install Functions ]

SYNOPSIS

  ruby_fix_shebang SCRIPT [SCRIPT ...]

DESCRIPTION

Fixes the designated interpreter of SCRIPT to RUBY. This would be necessary if the original uses an incorrect path (e.g. /usr/local/bin) or an incorrectly versioned binary. SCRIPT need not be prefixed by $D.

src_compile (ruby)

[ Top ] [ ruby.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        ruby_compile
}

src_install (ruby)

[ Top ] [ ruby.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        ruby_install
}

ruby-gnome2.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  [RUBY_GNOME2_MODULES="..."]
  inherit ruby-gnome2

DESCRIPTION

The Ruby-GNOME project provides Ruby bindings for the GLib, GTK+, and GNOME libraries, allowing full-fledged GNOME programs to be written in the Ruby programming language. Source packages are based on the Ruby extconf.rb system with some additions to handle the unique requirements of inter-module dependencies and pkg-config usage. A few third-party modules are also available which use the same system to bind libraries not yet covered by the Ruby-GNOME project.

This cygclass builds both official and third-party Ruby-GNOME2 binding packages.

NOTE

Ruby-GNOME packages may now be built from gems with rubygem.cygclass. Therefore, this cygclass is deprecated and may be removed in the future.

INHERITS

ruby.cygclass

RUBY_GNOME2_MODULES

[ Top ] [ ruby-gnome2.cygclass ] [ Variables ]

DESCRIPTION

When building the official ruby-gnome2-all source package, RUBY_GNOME2_MODULES must be set to a whitespace-separated list of binding modules to be built. Third-party packages are assumed to contain a single binding to be built.

CATEGORY (ruby-gnome2)

[ Top ] [ ruby-gnome2.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Ruby"

SUMMARY (ruby-gnome2)

[ Top ] [ ruby-gnome2.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="Ruby ${rbg2_pn} bindings"

HOMEPAGE (ruby-gnome2)

[ Top ] [ ruby-gnome2.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://ruby-gnome2.sourceforge.jp/"

SRC_URI (ruby-gnome2)

[ Top ] [ ruby-gnome2.cygclass ] [ Overloads ]

DESCRIPTION

Download location of the Ruby-GNOME2 source package.

SVN_URI (ruby-gnome2)

[ Top ] [ ruby-gnome2.cygclass ] [ Overloads ]

DESCRIPTION

Location of the Ruby-GNOME2 Subversion repository.

SVN_REV (ruby-gnome2)

[ Top ] [ ruby-gnome2.cygclass ] [ Overloads ]

DESCRIPTION

If PV is of the form major.minor.micro.rev, a Subversion snapshot will be assumed, svn.cygclass will be inherit()ed, and the fourth (rev) component of PV defined as SVN_REV.

MAKEOPTS (ruby-gnome2)

[ Top ] [ ruby-gnome2.cygclass ] [ Overloads ]

DESCRIPTION

The Ruby-GNOME2 source packages do not support parallel make.

DEPS_PATH (ruby-gnome2)

[ Top ] [ ruby-gnome2.cygclass ] [ Overloads ]

DESCRIPTION

Ruby-GNOME2 modules are unique that they are not only linked against the C libraries which they bind, but also expose an API to bindings higher up in the stack which link against them as well. Therefore, DEPS_PATH is set to catch these inter-module link dependencies.

ruby_gnome2_compile

[ Top ] [ ruby-gnome2.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  ruby_gnome2_compile

DESCRIPTION

Configures and compiles the Ruby-GNOME2 bindings specified in RUBY_GNOME2_MODULES, then generates RI documentation for those bindings.

ruby_gnome2_install

[ Top ] [ ruby-gnome2.cygclass ] [ Install Functions ]

SYNOPSIS

  cd $B
  ruby_gnome2_install

DESCRIPTION

Installs the Ruby-GNOME2 bindings specified in RUBY_GNOME2_MODULES, as well as import libraries for those bindings whose API is used by other bindings. RI documentation is then installed per the definition of RDOC_MODULE.

src_compile (ruby-gnome2)

[ Top ] [ ruby-gnome2.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${B}
        lndirs
        ruby_gnome2_compile
}

src_install (ruby-gnome2)

[ Top ] [ ruby-gnome2.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        ruby_gnome2_install
}

rox.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit rox

DESCRIPTION

The ROX Desktop is based on RISC OS. The desktop revolves around the file manager and drag-and-drop is used instead of Open/Save file dialogs.

ROX applications are standalone application directories (AppDirs) which can be run from anywhere without installation. Most applications are written in Python with ROX-Lib2 and some are written in C with ROX-CLib; either way, GTK+ is used as the underlying toolkit.

This cygclass handles the building and installing of ROX packages. AppDirs are installed under /usr/lib/rox.

INHERITS

python.cygclass

CATEGORY (rox)

[ Top ] [ rox.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="ROX"

SUMMARY (rox)

[ Top ] [ rox.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="ROX Desktop ${ORIG_PN} component"

DESCRIPTION (rox)

[ Top ] [ rox.cygclass ] [ Overloads ]

DEFINITION

DESCRIPTION="ROX is a fast, user friendly desktop based on RISC OS which makes
extensive use of drag-and-drop. The interface revolves around the file manager,
or filer, following the traditional Unix view that 'everything is a file' rather
than trying to hide the filesystem beneath start menus, wizards, or druids."

HOMEPAGE (rox)

[ Top ] [ rox.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://rox.sourceforge.net/desktop/"

ROX_APP

[ Top ] [ rox.cygclass ] [ Variables ]

DESCRIPTION

The name of the directory containing the AppRun script. This variable is required.

NOTE

Often this directory is the toplevel of the tarball, in which case SRC_DIR must be set to '.'.

ROX_WRAPPER

[ Top ] [ rox.cygclass ] [ Variables ]

DESCRIPTION

Due to the DnD nature of the ROX desktop, most applications are not usable outside the filer. For the exceptions (e.g. OroboROX window manager) or for the filer (rox) and session manager (rox-session) which need to be launched from the command line (or in .xinitrc), define ROX_WRAPPER to the name of the wrapper script. This wrapper will be installed in /usr/bin.

rox_autoreconf

[ Top ] [ rox.cygclass ] [ Compile Functions ]

DESCRIPTION

Runs autoconf, the only autotool which is generally used in ROX C packages, in order to pick up any patches to configure.{ac,in}.

REQUIRES

autoconf

rox_compile

[ Top ] [ rox.cygclass ] [ Compile Functions ]

DESCRIPTION

This function builds a ROX C package through the AppRun script.

NOTE

Be aware that some AppRun scripts create the executable in a platform-specific subdir, named based on uname(1) output. Because Cygwin's `uname -s` also contains the Windows version, applications compiled on one computer will not be found on another if their underlying Windows versions differ. To avoid this, change the definition of PLATFORM in AppRun (and AppletRun, if it exists) from

    PLATFORM=`uname -s`-$ARCH

to

    PLATFORM=CYGWIN-$ARCH

This will allow the application to run on all Cygwin installations.

rox_install

[ Top ] [ rox.cygclass ] [ Install Functions ]

DESCRIPTION

Install the (possibly compiled) AppDir into ${D}/usr/lib/rox, removes extraneous files (e.g. sources), compiles Python modules, and creates the wrapper script if ROX_WRAPPER is defined.

src_compile (rox)

[ Top ] [ rox.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        if [ -d ${S}/${ROX_APP}/src ]
        then
                cd ${B}/${ROX_APP}/src
                rox_autoreconf
                cd ${B}/${ROX_APP}
                rox_compile
        fi
}

src_install (rox)

[ Top ] [ rox.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        rox_install
}

R.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit R

DESCRIPTION

R is a GNU implementation of S, a language and environment for statistical computing and graphics.

The primary purpose of R.cygclass is for creating Cygwin packages from CRAN packages, the R equivalent of Perl's CPAN. CRAN package builds are driven by R itself.

Most CRAN packages build OOTB, but creating a Cygwin package may be helpful if a patch is required or if the build requirements are substantial (e.g. RGtk2, the GTK+ bindings which are used in several GUIs). When using R.cygclass to build a CRAN package, NAME must be "R-" followed by the CRAN package name. In most such cases, the R.cygclass src_compile and src_install should suffice.

Alternatively, the definitions in this cygclass can be used to help build an R-dependent package which does not use CRAN, e.g. rkward.

EXAMPLE

  inherit R
  
  NAME="R-RODBC"
  VERSION=1.3-7
  RELEASE=1
  CATEGORY="Math"
  SUMMARY="R ODBC interface"
  DESCRIPTION="ODBC database interface for the R statistic programming language"
  
  R_CONFIGURE_ARGS="--with-odbc-manager=iodbc"

REQUIRES

pkg-config, R

SEE ALSO

mirror_cran

R

[ Top ] [ R.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the R interpreter.

R_CFLAGS

[ Top ] [ R.cygclass ] [ Definitions ]

DESCRIPTION

Compile flags for the libR C library.

R_LIBS

[ Top ] [ R.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for the libR C library.

R_HOME

[ Top ] [ R.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the R main directory.

R_INCLUDEDIR

[ Top ] [ R.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the directory containing libR C library headers.

R_SITELIB

[ Top ] [ R.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for third-party R modules.

CATEGORY (R)

[ Top ] [ R.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Math Science"

SUMMARY (R)

[ Top ] [ R.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="R ${ORIG_PN} package"

HOMEPAGE (R)

[ Top ] [ R.cygclass ] [ Overloads ]

DESCRIPTION

Web address for the R module on CRAN.

SRC_URI (R)

[ Top ] [ R.cygclass ] [ Overloads ]

DESCRIPTION

Download location for the R module on CRAN.

R_CONFIGURE_ARGS

[ Top ] [ R.cygclass ] [ Variables ]

SYNOPSIS

  R_CONFIGURE_ARGS="arg1 [arg2 ...]"

DESCRIPTION

A string containing flag(s) to be passed to the configure script used by module packages containing native code.

R_compile

[ Top ] [ R.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  R_compile

DESCRIPTION

Configures and compiles an R module packages. Due to the nature of CRAN packages, the package is not compiled in B, but is compiled and "installed" into a temporary directory.

R_install

[ Top ] [ R.cygclass ] [ Install Functions ]

SYNOPSIS

  R_install

DESCRIPTION

Installs the R module into $D. Due to the nature of CRAN packages, all this does is copy from the temporary directory used in R_compile.

src_compile (R)

[ Top ] [ R.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        mkdir -p ${B}/${ORIG_PN}
        lndirs ${S} ${B}/${ORIG_PN}
        R_compile
}

src_install (R)

[ Top ] [ R.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        R_install
}

qt5.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit qt5

DESCRIPTION

Qt is a C++ cross-platform application framework for writing desktop GUI applications. Qt is the underlying toolkit used by the KDE desktop environment.

This cygclass provides definitions and install functions which can be used by all Qt5-based packages, regardless of the build system being used.

NOTES

INHERITED BY

qt5-qmake.cygclass

QT5_QTDIR

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Root directory for the Qt5 installation.

QT5_BINDIR

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing the Qt5 build tools.

QT5_INCLUDEDIR

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing the Qt5 library headers.

QT5_LIBDIR

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing the Qt5 link libraries.

QT5_PLUGINSDIR

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Qt5 plugins.

QT5_DATADIR

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing Qt5 documentation, and translation data.

QT5_QMAKE

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt5 project and Makefile generator

QT5_MOC

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt5 Meta-Object Compiler

QT5_RCC

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt5 resource compiler

QT5_UIC

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt5 User Interface Compiler

QT5_LRELEASE

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt5 Linguist translation compiler

doqt5inc

[ Top ] [ qt5.cygclass ] [ Install Functions ]

SYNOPSIS

  doqt5inc HEADERS

DESCRIPTION

Installs headers into QT5_INCLUDEDIR under $D.

qt5pluginto

[ Top ] [ qt5.cygclass ] [ Install Functions ]

SYNOPSIS

  qt5pluginto SUBDIRECTORY

DESCRIPTION

Sets the subdirectory of QT5_PLUGINDIR in which doqt5plugin should install. Supported subdirectories include:

doqt5plugin

[ Top ] [ qt5.cygclass ] [ Install Functions ]

SYNOPSIS

  qt5pluginto SUBDIRECTORY
  doqt5plugin PLUGINS

DESCRIPTION

Installs the given plugins into the subdirectory of QT5_PLUGINDIR passed to the previous call to qt5pluginto.

qt5-qmake.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit qt5-qmake

DESCRIPTION

This cygclass builds Qt5-based packages which use the qmake build system, including the Qt5 non-base components themselves.

INHERITS

qt5.cygclass

cygqmake5

[ Top ] [ qt5-qmake.cygclass ] [ Compile Functions ]

SYNOPSIS

  cygqmake5 FILE_OR_DIRECTORY

DESCRIPTION

Generates Makefiles from the specified qmake project file (or directory containing such file).

qt5_qmake_compile

[ Top ] [ qt5-qmake.cygclass ] [ Compile Functions ]

DEFINITION

qt5_qmake_compile() {
        cygqmake5 ${S}
        cygmake
}

qt5_qmake_install

[ Top ] [ qt5-qmake.cygclass ] [ Install Functions ]

SYNOPSIS

  cd $B
  qt5_qmake_install [OPTIONS]

DESCRIPTION

Installs the package into $D and fixes some common installation issues. Any additional arguments (which may be either variable overrides or additional install targets) are passed directly to make.

WARNING

Many qmake projects do not define correct install rules, if any at all. qt5_qmake_install is of no use in such cases; you must use manual installation commands instead.

src_compile (qt5-qmake)

[ Top ] [ qt5-qmake.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${B}
        qt5_qmake_compile
}

src_install (qt5-qmake)

[ Top ] [ qt5-qmake.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        qt5_qmake_install
}

qt4.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit qt4

DESCRIPTION

Qt is a C++ cross-platform application framework for writing desktop GUI applications. Qt is the underlying toolkit used by the KDE desktop environment.

This cygclass provides definitions and install functions which can be used by all Qt4-based packages, regardless of the build system being used.

NOTES

INHERITED BY

kde4.cygclass, qt4-cmake.cygclass, qt4-qconf.cygclass, qt4-qmake.cygclass

QT4_QTDIR

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Root directory for the Qt4 installation.

QT4_BINDIR

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing the Qt4 build tools.

QT4_INCLUDEDIR

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing the Qt4 library headers.

QT4_LIBDIR

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing the Qt4 link libraries.

QT4_PLUGINSDIR

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Qt4 plugins.

QT4_DATADIR

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing Qt4 makespecs, documentation, and translation data.

QT4_QMAKE

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt4 project and Makefile generator

QT4_MOC

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt4 Meta-Object Compiler

QT4_RCC

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt4 resource compiler

QT4_UIC

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt4 User Interface Compiler

QT4_UIC3

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt4 Qt3Support User Interface Compiler

QT4_LRELEASE

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt4 Linguist translation compiler

doqt4inc

[ Top ] [ qt4.cygclass ] [ Install Functions ]

SYNOPSIS

  doqt4inc HEADERS

DESCRIPTION

Installs headers into QT4_INCLUDEDIR under $D.

doqt4lib

[ Top ] [ qt4.cygclass ] [ Install Functions ]

SYNOPSIS

  doqt4lib LIBRARIES

DESCRIPTION

Installs link libraries into QT4_LIBDIR under $D.

qt4pluginto

[ Top ] [ qt4.cygclass ] [ Install Functions ]

SYNOPSIS

  qt4pluginto SUBDIRECTORY

DESCRIPTION

Sets the subdirectory of QT4_PLUGINDIR in which doqt4plugin should install. Supported subdirectores include:

doqt4plugin

[ Top ] [ qt4.cygclass ] [ Install Functions ]

SYNOPSIS

  qt4pluginto SUBDIRECTORY
  doqt4plugin PLUGINS

DESCRIPTION

Installs the given plugins into the subdirectory of QT4_PLUGINDIR passed to the previous call to qt4pluginto.

qt4-qmake.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit qt4-qmake

DESCRIPTION

This cygclass builds Qt4-based packages which use the qmake build system.

INHERITS

qt4.cygclass

INHERITED BY

qt4-qconf.cygclass

cygqmake4

[ Top ] [ qt4-qmake.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  cygqmake4

DESCRIPTION

Generates Makefiles from the package's qmake project files.

qt4_qmake_compile

[ Top ] [ qt4-qmake.cygclass ] [ Compile Functions ]

DEFINITION

qt4_qmake_compile() {
        cygqmake4
        cygmake
}

qt4_qmake_install

[ Top ] [ qt4-qmake.cygclass ] [ Install Functions ]

SYNOPSIS

  cd $B
  qt4_qmake_install

DESCRIPTION

Installs the package into $D and fixes some common installation issues.

WARNING

Many qmake projects do not define correct install rules, if any at all. qt4_qmake_install is of no use in such cases; you must use manual installation commands instead.

src_compile (qt4-qmake)

[ Top ] [ qt4-qmake.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        qt4_qmake_compile
}

src_install (qt4-qmake)

[ Top ] [ qt4-qmake.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        qt4_qmake_install
}

qt4-qconf.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit qt4-qconf

DESCRIPTION

This cygclass builds Qt4-based packages which use the QConf configuration system together with qmake project files.

INHERITS

qt4.cygclass, qt4-qmake.cygclass

cygqconf4

[ Top ] [ qt4-qconf.cygclass ] [ Compile Functions ]

SYNOPSIS

  cygqconf4

DESCRIPTION

Generates a QConf configure script based on the .qc file in the same directory.

qt4_qconf_compile

[ Top ] [ qt4-qconf.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  qt4_qconf_compile [OPTIONS]

DESCRIPTION

Runs the configure script, passing any options received, then calls cygmake to compile the package.

src_compile (qt4-qconf)

[ Top ] [ qt4-qconf.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        cygqconf4
        qt4_qconf_compile
}

qt4-cmake.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit qt4-cmake

DESCRIPTION

This cygclass builds Qt4-based packages which use the CMake build system.

INHERITS

cmake.cygclass, qt4.cygclass

qt4_cmake_compile

[ Top ] [ qt4-cmake.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  qt4_cmake_compile [OPTIONS]

DESCRIPTION

Calls cygcmake with options to tell CMake where the Qt4 development tools are found, followed by cmake to compile the package. Options, in the form of -DVARIABLE=VALUE, are passed on to cygcmake.

src_compile (qt4-cmake)

[ Top ] [ qt4-cmake.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${B}
        qt4_cmake_compile
}

qt3.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit qt3

DESCRIPTION

Qt is a C++ cross-platform application framework for writing desktop GUI applications. Qt is the underlying toolkit used by the KDE desktop environment.

This cygclass provides definitions and install functions which can be used by all Qt3-based packages, regardless of the build system being used.

NOTES

INHERITED BY

qt3-qmake.cygclass

QTDIR

[ Top ] [ qt3.cygclass ] [ Definitions ]

DESCRIPTION

Root directory of the Qt3 installation. This variable is exported to the build environment.

QT3_BINDIR

[ Top ] [ qt3.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing the Qt3 development tools.

QT3_INCLUDEDIR

[ Top ] [ qt3.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing the Qt3 library headers.

QT3_LIBDIR

[ Top ] [ qt3.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing the Qt3 link libraries.

QT3_PLUGINSDIR

[ Top ] [ qt3.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Qt3 plugins.

QT3_DATADIR

[ Top ] [ qt3.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing the Qt3 documentation and translation data.

QT3_QMAKE

[ Top ] [ qt3.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt3 project and Makefile generator.

QT3_MOC

[ Top ] [ qt3.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt3 Meta-Object Compiler.

QT3_UIC

[ Top ] [ qt3.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Qt3 User Interface Compiler.

doqt3inc

[ Top ] [ qt3.cygclass ] [ Install Functions ]

SYNOPSIS

  doqt3inc HEADERS

DESCRIPTION

Installs headers into QT3_INCLUDEDIR under $D.

doqt3lib

[ Top ] [ qt3.cygclass ] [ Install Functions ]

SYNOPSIS

  doqt3lib LIBRARIES

DESCRIPTION

Installs link libraries into QT3_LIBDIR under $D.

qt3pluginto

[ Top ] [ qt3.cygclass ] [ Install Functions ]

SYNOPSIS

  qt3pluginto SUBDIRECTORY

DESCRIPTION

Sets the subdirectory of QT3_PLUGINDIR in which doqt3plugin should install. Supported subdirectores include:

doqt3plugin

[ Top ] [ qt3.cygclass ] [ Install Functions ]

SYNOPSIS

  qt3pluginto SUBDIRECTORY
  doqt3plugin PLUGINS

DESCRIPTION

Installs the given plugins into the subdirectory of QT3_PLUGINDIR passed to the previous call to qt3pluginto.

qt3-qmake.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit qt3-qmake

DESCRIPTION

This cygclass builds Qt3-based packages which use the qmake build system.

INHERITS

qt3.cygclass

cygqmake3

[ Top ] [ qt3-qmake.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  cygqmake3

DESCRIPTION

Generates Makefiles from the package's qmake project files.

qt3_qmake_compile

[ Top ] [ qt3-qmake.cygclass ] [ Compile Functions ]

DEFINITION

qt3_qmake_compile() {
        cygqmake3
        cygmake
}

qt3_qmake_install

[ Top ] [ qt3-qmake.cygclass ] [ Install Functions ]

SYNOPSIS

  cd $B
  qt3_qmake_install

DESCRIPTION

Installs the package into $D and fixes some common installation issues.

WARNING

Many qmake projects do not define correct install rules, if any at all. qt3_qmake_install is of no use in such cases; you must use manual installation commands instead.

src_compile (qt3-qmake)

[ Top ] [ qt3-qmake.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        qt3_qmake_compile
}

src_install (qt3-qmake)

[ Top ] [ qt3-qmake.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        qt3_qmake_install
}

python3.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit python3

DESCRIPTION

Python is a general-purpose, interpreted programming language used in a wide variety of software. It comes with a large standard library, and is easily extendible with modules written in Python and/or C/C++. Programs can also embed a Python interpreter for use with their own extensions.

The new 3.x versions of Python are incompatible with the widely used 2.x versions, so they are designed to be installed in parallel as separate interpreters.

This cygclass provides definitions and some install helpers which can be used by any Python3-based package. Python3 modules and programs are built in a number of ways, so this cygclass does not provide any build functions. The two most common build systems for Python3 packages are Distutils and autotools.

NOTE

python3.cygclass is for the 3.x versions of Python; for the 2.x versions, see python.cygclass.

REQUIRES

python3

PYTHON3

[ Top ] [ python3.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Python3 interpreter.

PYTHON3_CONFIG

[ Top ] [ python3.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Python3 config script.

PYTHON3_VERSION

[ Top ] [ python3.cygclass ] [ Definitions ]

DESCRIPTION

The major.minor version of the current Python3 interpreter.

PYTHON3_ABIFLAGS

[ Top ] [ python3.cygclass ] [ Definitions ]

DESCRIPTION

The ABI flags of the current Python3 interpreter, as used in the names of the interpreter, config script and subdir, shared library, and includedir.

PYTHON3_INCLUDEDIR

[ Top ] [ python3.cygclass ] [ Definitions ]

DESCRIPTION

Path containing the Python3 C library headers.

PYTHON3_LIB

[ Top ] [ python3.cygclass ] [ Definitions ]

DESCRIPTION

Path containing the Python3 standard library.

NOTE

Never install third-party extensions into PYTHON3_LIB; use PYTHON3_SITELIB instead.

PYTHON3_SITELIB

[ Top ] [ python3.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for all Python3 extension modules.

LIBPYTHON3

[ Top ] [ python3.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for the Python3 C library. This definition must be properly quoted.

python3into

[ Top ] [ python3.cygclass ] [ Install Functions ]

SYNOPSIS

  python3into SUBDIRECTORY

DESCRIPTION

Subdirectory of PYTHON3_SITELIB into which dopython3 should install. This is usually unnecessary.

dopython3

[ Top ] [ python3.cygclass ] [ Install Functions ]

SYNOPSIS

  [python3into SUBDIRECTORY]
  dopython3 MODULE1 [MODULE2] ...

DESCRIPTION

Installs the given Python3 module(s) (.py or .dll) into PYTHON3_SITELIB under $D, or a subdirectory thereof if python3into was previously called.

python3_optimize

[ Top ] [ python3.cygclass ] [ Install Functions ]

SYNOPSIS

  python3_optimize [DIRECTORY1] [DIRECTORY2] ...

DESCRIPTION

Bytecode-compile all Python3 modules found in the given directories under $D. If no directories are specified, PYTHON3_SITELIB under $D is assumed.

python3_fix_shebang

[ Top ] [ python3.cygclass ] [ Install Functions ]

SYNOPSIS

  python3_fix_shebang SCRIPT [SCRIPT ...]

DESCRIPTION

Fixes the designated interpreter of SCRIPT to PYTHON3. This would be necessary if the original uses an incorrect path (e.g. /usr/local/bin) or an incorrectly versioned binary. SCRIPT need not be prefixed by $D.

python3-distutils.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

DESCRIPTION

Distutils is the most common method for building and installing Python libraries and programs. The build is defined by a setup.py file in the top source directory, which controls the installation of files and the building of C Python extensions. Many such packages are hosted on the Python Package Index (PyPI, previously known as Cheeseshop).

This cygclass handles the building of Python 3.x distutils-based packages.

INHERITS

python3.cygclass

REQUIRES

python3

HOMEPAGE (python3-distutils)

[ Top ] [ python3-distutils.cygclass ] [ Overloads ]

DESCRIPTION

Default homepage of the Python3 module on the Python Package Index.

SRC_URI (python3-distutils)

[ Top ] [ python3-distutils.cygclass ] [ Overloads ]

DESCRIPTION

Download location of the Python3 module on the Python Package Index.

python3_distutils_compile

[ Top ] [ python3-distutils.cygclass ] [ Compile Functions ]

SYNOPSIS

  python3_distutils_compile [OPTIONS]

DESCRIPTION

Runs the setup.py 'config' and 'build' commands. All arguments are passed to the setup.py 'build' command.

python3_distutils_install

[ Top ] [ python3-distutils.cygclass ] [ Install Functions ]

SYNOPSIS

  python3_distutils_install [OPTIONS]

DESCRIPTION

Runs the setup.py 'install' phase, setting the root argument to install into $D, followed by python3_optimize. All arguments are passed to the setup.py 'install' command.

src_compile (python3-distutils)

[ Top ] [ python3-distutils.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        python3_distutils_compile
}

src_install (python3-distutils)

[ Top ] [ python3-distutils.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        python3_distutils_install
}

python.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit python

DESCRIPTION

Python is a general-purpose, interpreted programming language used in a wide variety of software. It comes with a large standard library, and is easily extendible with modules written in Python and/or C/C++. Programs can also embed a Python interpreter for use with their own extensions.

This cygclass provides definitions and some install helpers which can be used by any Python-based package. Python modules and programs are built in a number of ways, so this cygclass does not provide any build functions. The two most common build systems for Python packages are Distutils and autotools.

NOTE

python.cygclass is for the 2.x versions of CPython. For the 3.x versions, see python3.cygclass; for PyPy, see pypy.cygclass.

INHERITED BY

distutils.cygclass, pygtk.cygclass, rox.cygclass

REQUIRES

python

PYTHON

[ Top ] [ python.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Python interpreter.

PYTHON_VERSION

[ Top ] [ python.cygclass ] [ Definitions ]

DESCRIPTION

The major.minor version of the current Python interpreter.

PYTHON_INCLUDEDIR

[ Top ] [ python.cygclass ] [ Definitions ]

DESCRIPTION

Path containing the Python C library headers.

PYTHON_LIB

[ Top ] [ python.cygclass ] [ Definitions ]

DESCRIPTION

Path containing the Python standard library.

NOTE

Never install third-party extensions into PYTHON_LIB; use PYTHON_SITELIB instead.

PYTHON_SITELIB

[ Top ] [ python.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for all Python extension modules.

LIBPYTHON

[ Top ] [ python.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for the Python C library. This definition must be properly quoted.

pythoninto

[ Top ] [ python.cygclass ] [ Install Functions ]

SYNOPSIS

  pythoninto SUBDIRECTORY

DESCRIPTION

Subdirectory of PYTHON_SITELIB into which dopython should install. This is usually unnecessary.

dopython

[ Top ] [ python.cygclass ] [ Install Functions ]

SYNOPSIS

  [pythoninto SUBDIRECTORY]
  dopython MODULE1 [MODULE2] ...

DESCRIPTION

Installs the given Python module(s) (.py or .dll) into PYTHON_SITELIB under $D, or a subdirectory thereof if pythoninto was previously called.

python_optimize

[ Top ] [ python.cygclass ] [ Install Functions ]

SYNOPSIS

  python_optimize [DIRECTORY1] [DIRECTORY2] ...

DESCRIPTION

Bytecode-compile all Python modules found in the given directories under $D. If no directories are specified, PYTHON_SITELIB under $D is assumed.

NOTE

Python modules installed with distutils_install are automatically compiled, as are those installed by automake-based packages *if* they have been declared as _PYTHON files (in which case a py-compile script will be present in $S). Some automake-based packages mistakenly declare these as _DATA instead, in which case either the Makefile.am must be patched or this function called after cyginstall.

python_fix_shebang

[ Top ] [ python.cygclass ] [ Install Functions ]

SYNOPSIS

  python_fix_shebang SCRIPT [SCRIPT ...]

DESCRIPTION

Fixes the designated interpreter of SCRIPT to PYTHON. This would be necessary if the original uses an incorrect path (e.g. /usr/local/bin) or an incorrectly versioned binary. SCRIPT need not be prefixed by $D.

LIBPYPY

[ Top ] [ python.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for the PyPy import library. This definition must be properly quoted.

python-distutils.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

DESCRIPTION

Distutils is the most common method for building and installing Python libraries and programs. The build is defined by a setup.py file in the top source directory, which controls the installation of files and the building of C Python extensions. Many such packages are hosted on the Python Package Index (PyPI, previously known as Cheeseshop).

This cygclass handles the building of Python 2.x distutils-based packages.

INHERITS

python.cygclass

REQUIRES

python

HOMEPAGE (python-distutils)

[ Top ] [ python-distutils.cygclass ] [ Overloads ]

DESCRIPTION

Default homepage of the Python module on the Python Package Index.

SRC_URI (python-distutils)

[ Top ] [ python-distutils.cygclass ] [ Overloads ]

DESCRIPTION

Download location of the Python module on the Python Package Index.

python_distutils_compile

[ Top ] [ python-distutils.cygclass ] [ Compile Functions ]

SYNOPSIS

  python_distutils_compile [OPTIONS]

DESCRIPTION

Runs the setup.py 'config' and 'build' commands. All arguments are passed to the setup.py 'build' command.

python_distutils_install

[ Top ] [ python-distutils.cygclass ] [ Install Functions ]

SYNOPSIS

  python_distutils_install [OPTIONS]

DESCRIPTION

Runs the setup.py 'install' phase, setting the root argument to install into $D, followed by python_optimize. All arguments are passed to the setup.py 'install' command.

src_compile (python-distutils)

[ Top ] [ python-distutils.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        python_distutils_compile
}

src_install (python-distutils)

[ Top ] [ python-distutils.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        python_distutils_install
}

pypy.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit pypy

DESCRIPTION

PyPy is an alternative implementation of the Python general-purpose interpreted programming language which includes a Just-In-Time compiler. It is mostly compatible with Python 2.7 and most pure Python programs and libraries; support for C extensions is experimental.

This cygclass provides definitions and some install helpers which can be used by any PyPy-based package. PyPy modules and programs are built in a number of ways, so this cygclass does not provide any build functions. The two most common build systems for PyPy packages are Distutils and autotools.

INHERITED BY

pypy-distutils.cygclass

REQUIRES

pypy

PYPY

[ Top ] [ pypy.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the PyPy interpreter.

PYPY_VERSION

[ Top ] [ pypy.cygclass ] [ Definitions ]

DESCRIPTION

The major.minor version of the current PyPy interpreter.

PYPY_INCLUDEDIR

[ Top ] [ pypy.cygclass ] [ Definitions ]

DESCRIPTION

Path containing the PyPy C library headers.

PYPY_SITELIB

[ Top ] [ pypy.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for all PyPy extension modules.

pypyinto

[ Top ] [ pypy.cygclass ] [ Install Functions ]

SYNOPSIS

  pypyinto SUBDIRECTORY

DESCRIPTION

Subdirectory of PYPY_SITELIB into which dopypy should install. This is usually unnecessary.

dopypy

[ Top ] [ pypy.cygclass ] [ Install Functions ]

SYNOPSIS

  [pypyinto SUBDIRECTORY]
  dopypy MODULE1 [MODULE2] ...

DESCRIPTION

Installs the given PyPy module(s) (.py or .dll) into PYPY_SITELIB under $D, or a subdirectory thereof if pypyinto was previously called.

pypy_optimize

[ Top ] [ pypy.cygclass ] [ Install Functions ]

SYNOPSIS

  pypy_optimize [DIRECTORY1] [DIRECTORY2] ...

DESCRIPTION

Bytecode-compile all PyPy modules found in the given directories under $D. If no directories are specified, PYPY_SITELIB under $D is assumed.

NOTE

PyPy modules installed with distutils_install are automatically compiled, as are those installed by automake-based packages *if* they have been declared as _PYTHON files (in which case a py-compile script will be present in $S). Some automake-based packages mistakenly declare these as _DATA instead, in which case either the Makefile.am must be patched or this function called after cyginstall.

pypy_fix_shebang

[ Top ] [ pypy.cygclass ] [ Install Functions ]

SYNOPSIS

  pypy_fix_shebang SCRIPT [SCRIPT ...]

DESCRIPTION

Fixes the designated interpreter of SCRIPT to PYPY. This would be necessary if the original uses an incorrect path (e.g. /usr/local/bin) or defaults to the CPython interpreter. SCRIPT need not be prefixed by $D.

pypy-distutils.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

DESCRIPTION

Distutils is the most common method for building and installing PyPy libraries and programs. The build is defined by a setup.py file in the top source directory, which controls the installation of files. Many such packages are hosted on the Python Package Index (PyPI, previously known as Cheeseshop).

This cygclass handles the building of PyPy distutils-based packages.

INHERITS

pypy.cygclass

REQUIRES

pypy

HOMEPAGE (pypy-distutils)

[ Top ] [ pypy-distutils.cygclass ] [ Overloads ]

DESCRIPTION

Default homepage of the module on the Python Package Index.

SRC_URI (pypy-distutils)

[ Top ] [ pypy-distutils.cygclass ] [ Overloads ]

DESCRIPTION

Download location of the module on the Python Package Index.

pypy_distutils_compile

[ Top ] [ pypy-distutils.cygclass ] [ Compile Functions ]

SYNOPSIS

  pypy_distutils_compile [OPTIONS]

DESCRIPTION

Runs the setup.py 'config' and 'build' commands. All arguments are passed to the setup.py 'build' command.

pypy_distutils_install

[ Top ] [ pypy-distutils.cygclass ] [ Install Functions ]

SYNOPSIS

  pypy_distutils_install [OPTIONS]

DESCRIPTION

Runs the setup.py 'install' phase, setting the root argument to install into $D, followed by pypy_optimize. All arguments are passed to the setup.py 'install' command.

src_compile (pypy-distutils)

[ Top ] [ pypy-distutils.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        pypy_distutils_compile
}

src_install (pypy-distutils)

[ Top ] [ pypy-distutils.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        pypy_distutils_install
}

pygtk.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit pygtk

DESCRIPTION

The PyGTK project provides a series of bindings for the GTK+ and GNOME libraries. APIs are defined in .defs files, from which C binding code is generated with PYGTK_CODEGEN. These bindings allow full-featured GNOME programs to be written in the Python language, and are among one of the most commonly used GNOME language bindings.

This package provides definitions and functions for building PyGTK bindings.

INHERITS

gnome.org.cygclass (unless mate.cygclass has been inherit()ed), python.cygclass

PYGTK_INCLUDEDIR

[ Top ] [ pygtk.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing PyGTK C headers.

PYGTK_LIBDIR

[ Top ] [ pygtk.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for PyGTK bindings.

PYGTK_DATADIR

[ Top ] [ pygtk.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for *.defs and *-arg-types.py API files.

PYGTK_CODEGEN

[ Top ] [ pygtk.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the PyGTK C code generator.

CATEGORY (pygtk)

[ Top ] [ pygtk.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Python"

SUMMARY (pygtk)

[ Top ] [ pygtk.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="Python ${pygtk_mod} bindings"

HOMEPAGE (pygtk)

[ Top ] [ pygtk.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.pygtk.org/"

pygtk_compile

[ Top ] [ pygtk.cygclass ] [ Compile Functions ]

SYNOPSIS

  pygtk_compile [OPTIONS]

DESCRIPTION

Configures the package with cygconf, passing any arguments it receives, then compiles the package with cygmake.

src_compile (pygtk)

[ Top ] [ pygtk.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${S}
        if [ -d m4 ]
        then
                ACLOCAL_FLAGS='-I m4'
        fi
        if inherited gnome2
        then
                gnome2_autoreconf
        else
                cygautoreconf
        fi
        cd ${B}
        pygtk_compile
}

php.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  [PHP_CHANNEL="..."]
  inherit php

DESCRIPTION

PHP is a programming language most commonly used as an HTML preprocessor for creating dynamic web pages. The interpreter comes in three forms, known as SAPIs: command-line, CGI, and Apache Web Server DSO. Extensions written in either PHP or C can be installed to provide additional functionality.

This cygclass is meant for building PHP extension packages.

EXAMPLES

A typical PEAR (pure PHP) module package looks like this:

    PHP_CHANNEL=pear
    inherit php
    
    NAME="php-Archive_Tar"
    VERSION=1.3.11
    RELEASE=1
    CATEGORY="PHP"
    SUMMARY="PHP class for creating and managing tarballs"
    DESCRIPTION="The Archive_Tar class helps in creating and managing GNU tar
    format files compressed by Gzip or not. The class offers basic functions
    like creating an archive, adding files in the archive, extracting files
    from the archive and listing the archive content."
    
    # these are loaded only conditionally
    php_Archive_Tar_REQUIRES="php-bz2 php-zlib"

PECL extensions (written in C) are similarly straightforward:

    PHP_CHANNEL=pecl
    inherit php
    
    NAME="php-ncurses"
    VERSION=1.0.2
    RELEASE=1
    CATEGORY="PHP"
    SUMMARY="PHP ncurses extension"
    DESCRIPTION="Terminal screen handling extension for PHP (cli-mode only)"
    
    CYGCONF_ARGS="--enable-ncursesw"

Third-party PEAR channels are also easily handled by setting PHP_CHANNEL:

    PHP_CHANNEL="pear.phpunit.de"
    inherit php
    
    NAME="php-PHPUnit"
    VERSION=3.7.21
    RELEASE=1
    CATEGORY="PHP"
    SUMMARY="PHP unit testing framework"
    DESCRIPTION="An open source framework for test-driven development with the
    PHP programming language."

REQUIRES

php, php-PEAR

PHP

[ Top ] [ php.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the PHP interpreter.

PHP_CONFIG

[ Top ] [ php.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the PHP configuration script.

PHPIZE

[ Top ] [ php.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the PHP extension buildsystem preparation script.

PEAR

[ Top ] [ php.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the PHP script extension manager.

PECL

[ Top ] [ php.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the PHP C extension manager.

PHP_VERSION

[ Top ] [ php.cygclass ] [ Definitions ]

DESCRIPTION

Version of the PHP interpreter.

PHP_INI_DIR

[ Top ] [ php.cygclass ] [ Definitions ]

DESCRIPTION

Path to the PHP configuration file.

PHP_EXTENSION_DIR

[ Top ] [ php.cygclass ] [ Definitions ]

DESCRIPTION

Installation directory for PHP C extensions.

PHP_PEAR_DIR

[ Top ] [ php.cygclass ] [ Definitions ]

DESCRIPTION

Installation directory for PHP script extensions.

LIBPHP

[ Top ] [ php.cygclass ] [ Definitions ]

DESCRIPTION

Link library for the PHP interpreter C library.

NOTE

This link library is Cygwin specific. On ELF platforms, PHP modules are linked with undefined symbols, which are resolved at runtime by the SAPI in use. Since the PE/COFF format used on Cygwin requires that all symbols be resolved at link time, a library is used which all SAPIs and extensions link against.

PHP_CHANNEL

[ Top ] [ php.cygclass ] [ Variables ]

DESCRIPTION

Domain name, or well-known alias, of the PEAR/PECL server on which the PHP extension is hosted. This variable must be defined before inherit()ing php.cygclass to have any effect.

A list of known channels is available at http://pear.php.net/channels/ .

CATEGORY (php)

[ Top ] [ php.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="PHP"

NOTE

This is defined only if PN begins with "php-".

SUMMARY (php)

[ Top ] [ php.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="PHP ${ORIG_PN} extension"

NOTE

This is defined only if PN begins with "php-".

HOMEPAGE (php)

[ Top ] [ php.cygclass ] [ Overloads ]

DESCRIPTION

Web address for the PHP extension. This variable is defined only if PHP_CHANNEL was defined before inherit()ing php.cygclass.

SRC_URI (php)

[ Top ] [ php.cygclass ] [ Overloads ]

DESCRIPTION

Download location for the PHP extension sources. This variable is defined only if PHP_CHANNEL was defined before inherit()ing php.cygclass.

php_autoreconf

[ Top ] [ php.cygclass ] [ Compile Functions ]

SYNOPSIS

  lndirs
  cd $B
  php_autoreconf

DESCRIPTION

Runs PHPIZE to prepare the PHP extension build system. This function must be run from the directory containing config.m4.

php_compile

[ Top ] [ php.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  php_compile [OPTIONS]

DESCRIPTION

Configures the PHP extension with cygconf, then compiles it with cygmake. Arguments, if any, are passed as configure flags to cygconf.

php_install

[ Top ] [ php.cygclass ] [ Install Functions ]

SYNOPSIS

  cd $B
  php_install

DESCRIPTION

Installs the PHP extension into $D.

php_postinst

[ Top ] [ php.cygclass ] [ Install Functions ]

SYNOPSIS

  php_postinst

DESCRIPTION

Performs the following steps:

php_fix_shebang

[ Top ] [ php.cygclass ] [ Install Functions ]

SYNOPSIS

  php_fix_shebang SCRIPT [SCRIPT ...]

DESCRIPTION

Fixes the designated interpreter of SCRIPT to PHP. This would be necessary if the original uses an incorrect path (e.g. /usr/local/bin) or an incorrectly versioned binary. SCRIPT need not be prefixed by $D.

src_compile (php)

[ Top ] [ php.cygclass ] [ Overloads ]

DESCRIPTION

Copies $S into $B with lndirs, then, if the package is a PHP C extension, calls php_autoreconf and php_compile.

src_install (php)

[ Top ] [ php.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        php_install
        php_postinst
}

perl.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  [CPAN_AUTHOR="username"]
  inherit perl

DESCRIPTION

Perl is an interpreted programming language used in a variety of software, particularly text processing, network programming, system administration, and CGI scripting. It is easily extendible with modules written in Perl and/or C/C++. Thousands of such modules are centrally hosted on the Comprehensive Perl Archive Network (CPAN).

This cygclass provides definitions for building Perl dependent packages, and functions for building Perl module packages.

EXAMPLES

A typical CPAN extension package looks like this:

    CPAN_AUTHOR=adamk
    inherit perl
    
    NAME="perl-Archive-Zip"
    VERSION=1.30
    RELEASE=1
    CATEGORY="Perl"
    SUMMARY="Perl module for working with Zip archives"
    DESCRIPTION="This module allows a Perl program to create, manipulate, read,
    and write Zip archive files. Zip archives can be created, or you can read
    from existing zip files. Once created, they can be written to files, streams,
    or strings."

Occasionaly, a CPAN module tries to ask questions while configuring the build, in which case you can override that in src_compile:

    src_compile() {
      lndirs
      cd ${B}
      # answer 'y' to all questions from Makefile.PL
      yes | perl_compile
    }

Perl modules which provide XML::SAX parser engines require an additional step during src_install, e.g.:

    src_install() {
      cd ${B}
      perl_install
      perl_sax_parser_register XML::LibXML::SAX
    }

INHERITED BY

gtk2-perl.cygclass

REQUIRES

perl

PERL

[ Top ] [ perl.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Perl interpreter.

PERL_VERSION

[ Top ] [ perl.cygclass ] [ Definitions ]

DESCRIPTION

The major.minor version of the Perl interpreter.

PERL_LIB

[ Top ] [ perl.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Perl arch-independent standard library.

NOTE

Third-party packages must not be installed here; use PERL_VENDORLIB instead.

PERL_ARCHLIB

[ Top ] [ perl.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Perl arch-specific standard library.

NOTE

Third-party packages must not be installed here; use PERL_VENDORARCH instead.

PERL_VENDORLIB

[ Top ] [ perl.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for third-party arch-independent Perl modules.

PERL_VENDORARCH

[ Top ] [ perl.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for third-party arch-specific Perl modules.

LIBPERL

[ Top ] [ perl.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for the Perl C library.

CPAN_AUTHOR

[ Top ] [ perl.cygclass ] [ Variables ]

DESCRIPTION

The CPAN username of the Perl module's author. This variable must be set before inherit()ing perl.cygclass to have any effect. If set, the package HOMEPAGE and SRC_URI are set to their usual locations on CPAN.

CATEGORY (perl)

[ Top ] [ perl.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Perl"

NOTE

This variable is set only if CPAN_AUTHOR is defined before inherit()ing perl.cygclass.

SUMMARY (perl)

[ Top ] [ perl.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="Perl ${ORIG_PN//-/::} module"

NOTE

This variable is set only if CPAN_AUTHOR is defined before inherit()ing perl.cygclass.

HOMEPAGE (perl)

[ Top ] [ perl.cygclass ] [ Overloads ]

DESCRIPTION

Web address for the Perl module on CPAN.

NOTE

This variable is set only if CPAN_AUTHOR is defined before inherit()ing perl.cygclass.

SRC_URI (perl)

[ Top ] [ perl.cygclass ] [ Overloads ]

DESCRIPTION

Download location for the Perl module on CPAN.

NOTE

This variable is set only if CPAN_AUTHOR is defined before inherit()ing perl.cygclass.

SEE ALSO

mirror_cpan

perl_compile

[ Top ] [ perl.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  perl_compile [OPTIONS]

DESCRIPTION

Configures and builds a Perl module package. Options, if any, are passed during the configure phase.

perl_test

[ Top ] [ perl.cygclass ] [ Testsuite Functions ]

SYNOPSIS

  cd $B
  perl_test

DESCRIPTION

Runs the test suite for the Perl module.

perl_install

[ Top ] [ perl.cygclass ] [ Install Functions ]

SYNOPSIS

  cd $B
  perl_install [OPTIONS]

DESCRIPTION

Installs the Perl module into $D. Options, if any, are passed to the install command.

perl_fix_shebang

[ Top ] [ perl.cygclass ] [ Install Functions ]

SYNOPSIS

  perl_fix_shebang SCRIPT [SCRIPT ...]

DESCRIPTION

Fixes the designated interpreter of SCRIPT to PERL. This would be necessary if the original uses an incorrect path (e.g. /usr/local/bin) or an incorrectly versioned binary. SCRIPT need not be prefixed by $D.

perl_sax_parser_register

[ Top ] [ perl.cygclass ] [ Install Functions ]

SYNOPSIS

  perl_sax_parser_register PARSER_CLASS [PARSER_CLASS ...]

DESCRIPTION

Generates postinstall and preremove scripts to handle registration of XML::SAX parser drivers with XML::SAX's ParserDetails.ini file.

src_compile (perl)

[ Top ] [ perl.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        perl_compile
}

src_test (perl)

[ Top ] [ perl.cygclass ] [ Overloads ]

DEFINITION

src_test() {
        cd ${B}
        perl_test
}

src_install (perl)

[ Top ] [ perl.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        perl_install
}

opensync.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit opensync

DESCRIPTION

OpenSync is a Personal Information Management (PIM) data syncronization framework which supports various PIM sources through plugins.

This cygclass builds plugins for the new OpenSync 0.4x series, beginning with 0.39. Previous versions are no longer supported.

INHERITS

cmake.cygclass

REQUIRES

cmake, libopensync-devel, pkg-config

HOMEPAGE (opensync)

[ Top ] [ opensync.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.opensync.org/wiki/"

SRC_URI (opensync)

[ Top ] [ opensync.cygclass ] [ Overloads ]

DESCRIPTION

Download location for the OpenSync plugin source package.

OPENSYNC_VERSION

[ Top ] [ opensync.cygclass ] [ Definitions ]

DESCRIPTION

Version of the currently installed OpenSync library.

OPENSYNC_CONFIGDIR

[ Top ] [ opensync.cygclass ] [ Definitions ]

DESCRIPTION

Installation directory for OpenSync default configuration files.

OPENSYNC_PLUGINDIR

[ Top ] [ opensync.cygclass ] [ Definitions ]

DESCRIPTION

Installation directory for OpenSync C/C++ plugins.

OPENSYNC_PYTHON_PLUGINDIR

[ Top ] [ opensync.cygclass ] [ Definitions ]

DESCRIPTION

Installation directory for OpenSync Python plugins.

opensync_plugin_compile

[ Top ] [ opensync.cygclass ] [ Compile Functions ]

SYNOPSIS

  opensync_plugin_compile [OPTIONS]

DESCRIPTION

Configures and compiles the OpenSync plugin package. Options, if any, are passed as flags to cygcmake.

opensync_doconfig

[ Top ] [ opensync.cygclass ] [ Install Functions ]

SYNOPSIS

  opensync_doconfig FILE [FILE2] ...

DESCRIPTION

Installs OpenSync configuration files into OPENSYNC_CONFIGDIR.

opensync_doplugin

[ Top ] [ opensync.cygclass ] [ Install Functions ]

SYNOPSIS

  opensync_doplugin PLUGIN [PLUGIN2] ...

DESCRIPTION

Installs OpenSync plugins into OPENSYNC_PLUGINDIR or OPENSYNC_PYTHON_PLUGINDIR.

src_compile (opensync)

[ Top ] [ opensync.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${B}
        opensync_plugin_compile
}

octave.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit octave

DESCRIPTION

GNU Octave is a programming language primarily designed for numerical computations, and is mostly compatible with MATLAB. It is extendible with both scripts (.m) and dynamic modules (.oct, but are ordinary DLLs).

This cygclass provides definitions for packages dependent on Octave.

REQUIRES

octave-devel

OCTAVE

[ Top ] [ octave.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Octave interpreter.

MKOCTFILE

[ Top ] [ octave.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Octave dynamic module (.oct) compiler/linker.

OCTAVE_CONFIG

[ Top ] [ octave.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Octave installation information script.

OCTAVE_VERSION

[ Top ] [ octave.cygclass ] [ Definitions ]

DESCRIPTION

Full version of the Octave interpreter.

OCTAVE_INCLUDEDIR

[ Top ] [ octave.cygclass ] [ Definitions ]

DESCRIPTION

Location of the Octave C library headers.

OCTAVE_LIBDIR

[ Top ] [ octave.cygclass ] [ Definitions ]

DESCRIPTION

Location of the Octave C link libraries.

OCTAVE_CFLAGS

[ Top ] [ octave.cygclass ] [ Definitions ]

DESCRIPTION

Compile flags for the Octave C library.

OCTAVE_LIBS

[ Top ] [ octave.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for the Octave C library.

OCTAVE_M_DIR

[ Top ] [ octave.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Octave standard library scripts (.m).

NOTE

Third-party packages must not be installed into this directory. OCTAVE_M_SITEDIR must be used instead.

OCTAVE_OCTDIR

[ Top ] [ octave.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Octave standard library dynamic modules (.oct).

NOTE

Third-party packages must not be installed into this directory. OCTAVE_OCT_SITEDIR must be used instead.

OCTAVE_M_SITEDIR

[ Top ] [ octave.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for third-party Octave scripts (.m).

OCTAVE_OCT_SITEDIR

[ Top ] [ octave.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for third-party Octave dynamic modules (.oct).

ocaml.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit ocaml

DESCRIPTION

OCaml (previously known as Objective Caml) is an object-oriented dialect of the ML programming language. Individual scripts can be run as with interpreted languages, but most commonly code is compiled into bytecode and/or stand-alone native code. A number of extension libraries are available in addition to the standard library.

This cygclass provides definitions for OCaml-based packages, and an install function for OCaml library packages which use OCAMLFIND.

NOTE

OCaml bytecode executables, while behaving like an ordinary .exe, cannot be stripped. Cygport will automatically detect these and will not strip them during the automatic postinstall phase.

REQUIRES

ocaml, ocaml-findlib

OCAML

[ Top ] [ ocaml.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the OCaml interactive toplevel (interpreter).

OCAMLC

[ Top ] [ ocaml.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the OCaml byte compiler.

OCAMLDOC

[ Top ] [ ocaml.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the OCaml documentation generator.

OCAMLFIND

[ Top ] [ ocaml.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the OCaml library package manager.

OCAMLLEX

[ Top ] [ ocaml.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the OCaml lexer generator.

OCAMLMKLIB

[ Top ] [ ocaml.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the OCaml library linker.

OCAMLMKTOP

[ Top ] [ ocaml.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the OCaml custom toplevel linker.

OCAMLOPT

[ Top ] [ ocaml.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the OCaml native-code compiler.

OCAML_LIBDIR

[ Top ] [ ocaml.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for OCaml included libraries.

OCAML_INCLUDEDIR

[ Top ] [ ocaml.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the directory containing the OCaml C headers.

OCAML_SITEDIR

[ Top ] [ ocaml.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for OCaml third-party libraries.

OCAML_STUBDIR

[ Top ] [ ocaml.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for OCaml C stub libraries.

LIBCAMLRUN

[ Top ] [ ocaml.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for the OCaml shared C library.

ocaml_install

[ Top ] [ ocaml.cygclass ] [ Install Functions ]

DESCRIPTION

Defines some variables for OCAMLFIND before calling cyginstall.

src_install (ocaml)

[ Top ] [ ocaml.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        ocaml_install
}

nant.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit nant

DESCRIPTION

NAnt is a build system written in .NET and used in some .NET projects. The build is controlled by a single XML file, named '*.build' by default, which specifies the targets to be built, the commands to build them, and the options which may be given to control the build.

NAnt includes support for a number of commands (called tasks), including compiling and executing .NET code, generating documentation, downloading files, de/compressing archives, and running testsuites. Third-party NAnt tasks also exist to support additional commands.

This cygclass builds packages which use the NAnt build system.

INHERITS

mono.cygclass

REQUIRES

nant

NANT

[ Top ] [ nant.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the NAnt build tool.

NANT_BUILD_FILE

[ Top ] [ nant.cygclass ] [ Variables ]

DESCRIPTION

Name or relative path of the NAnt build file. This need only be defined if it is not '*.build' (the default).

cygnant

[ Top ] [ nant.cygclass ] [ Compile Functions ]

SYNOPSIS

  cygnant [OPTIONS]

DESCRIPTION

Runs NAnt with the given options, if any.

donanttask

[ Top ] [ nant.cygclass ] [ Install Functions ]

SYNOPSIS

  donanttask ASSEMBLY [ASSEMBLY] ...

DESCRIPTION

Installs the given assembly file(s) into the NAnt task directory.

NANT_BUILD_ARGS

[ Top ] [ nant.cygclass ] [ Variables ]

DESCRIPTION

Arguments to pass to the NAnt build command if this src_compile is used.

NANT_BUILD_TARGETS

[ Top ] [ nant.cygclass ] [ Variables ]

DESCRIPTION

Target(s) to be built during the NAnt build command if this src_compile is used.

src_compile (nant)

[ Top ] [ nant.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        cygnant ${NANT_BUILD_ARGS} ${NANT_BUILD_TARGETS}
}

NANT_TEST_ARGS

[ Top ] [ nant.cygclass ] [ Variables ]

DESCRIPTION

Arguments to pass to NAnt during testing if this src_test is used.

NANT_TEST_TARGETS

[ Top ] [ nant.cygclass ] [ Variables ]

DESCRIPTION

Target(s) to be built to run the testsuite if this src_test is used.

src_test (nant)

[ Top ] [ nant.cygclass ] [ Overloads ]

DEFINITION

src_test() {
        cd ${B}
        cygnant ${NANT_TEST_ARGS} ${NANT_TEST_TARGETS:-test}
}

multilib.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  CROSS_HOST="..."
  inherit cross multilib

DESCRIPTION

Some architectures, particularly embedded systems, support multiple, incompatible ABIs in the same compiler triplet, with each ABI being distinguished by one or more complier flags. In such setups, each ABI has its own libdir, with only the "default" ABI in $prefix/lib.

In order to build libraries for such targets, a package must be compiled and installed once per ABI. This cygclass allows the packager to specify the compile and install steps only once, while handling the differences in libdir and compiler flags for each ABI iteration automatically.

NOTES

EXAMPLE

  CROSS_HOST="x86_64-pc-linux-gnu" # supports x86-64 and x32
  inherit cross multilib
  
  NAME="linux-x86_64-zlib"
  VERSION=1.2.8
  RELEASE=1
  CATEGORY="Devel"
  SUMMARY="zlib for Linux x86-64/x32 toolchain"
  HOMEPAGE="http://www.zlib.net/"
  SRC_URI="mirror://sourceforge/libpng/zlib-${VERSION}.tar.gz"
  SRC_DIR="zlib-${VERSION}"
  
  multilib_compile() {
    lndirs ${S}
    rm -f Makefile
    CC="${CC}" CFLAGS="${CFLAGS}" CHOST=${CROSS_HOST} \
    ./configure --prefix=${CROSS_PREFIX} --libdir=${CROSS_LIBDIR}
    cygmake
  }
  
  multilib_install() {
    cyginstall
  }
  
  multilib_postinstall() {
    # already provided by native zlib
    rm -fr ${D}${CROSS_DATADIR}/man
  }

multilib_precompile

[ Top ] [ multilib.cygclass ] [ Compile Functions ]

SYNOPSIS

  multilib_precompile() {
    PRECOMPILE_COMMAND; [PRECOMPILE_COMMAND ...]
  }

DESCRIPTION

This function, if defined, will be run once in total prior to the loop which calls multilib_compile. This function is intended to include cygautoreconf and similar commands. Directory traversal is completely within control of the function (e.g. cd ${S} must still be called before cygautoreconf).

multilib_compile

[ Top ] [ multilib.cygclass ] [ Compile Functions ]

SYNOPSIS

  multilib_compile() {
    COMPILE_COMMAND; [COMPILE_COMMAND ...]
  }

DESCRIPTION

This function must include all compile commands, such as cygconf and cygmake. This function will be called once per ABI, during which the following variables will be altered to match the ABI:

The working directory of multilib_compile is unique for each ABI. Do not attempt to call cd ${B} or the like, but if you may traverse into a relative subdirectory with pushd/popd.

multilib_install

[ Top ] [ multilib.cygclass ] [ Compile Functions ]

SYNOPSIS

  multilib_install() {
    INSTALL_COMMAND; [INSTALL_COMMAND ...]
  }

DESCRIPTION

This function must include all install commands, such as cyginstall. This function will be called once per ABI, during which the following variables will be altered to match the ABI:

The working directory of multilib_install is unique for each ABI. Do not attempt to call cd ${B} or the like, but if you may traverse into a relative subdirectory with pushd/popd.

multilib_postinstall

[ Top ] [ multilib.cygclass ] [ Compile Functions ]

SYNOPSIS

  multilib_postinstall() {
    POSTINSTALL_COMMAND; [POSTINSTALL_COMMAND ...]
  }

DESCRIPTION

This function, if defined, will be run once in total after the loop which calls multilib_install is complete. This function is intended to include cleanup commands, such as removing superfluous documentation from the sysroot. Directory traversal is completely within control of the function.

mtn.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  MTN_URI="..."
  [MTN_BRANCH="..."]
  [MTN_REV="..."]
  inherit mtn

DESCRIPTION

Monotone is one of the earlier distributed version control systems. It is most notably used by the Pidgin project.

This cygclass creates source tarballs from Monotone checkouts.

NOTE

This cygclass sets a special SRC_URI for the tarball it creates. If additional sources are required, be sure to _add_ to SRC_URI rather than outright setting it.

REQUIRES

monotone

MTN_URI

[ Top ] [ mtn.cygclass ] [ Variables ]

DESCRIPTION

Address of Monotone repository from which to clone. Must be defined before inherit()ing mtn.cygclass.

MTN_BRANCH

[ Top ] [ mtn.cygclass ] [ Variables ]

DESCRIPTION

Branch from which to clone, usually in the form of a "Reverse-DNS". Must be defined before inherit()ing mtn.cygclass; if undefined, the "Reverse-DNS" of MTN_URI is used.

MTN_REV

[ Top ] [ mtn.cygclass ] [ Variables ]

DESCRIPTION

Specific revision to clone, in the form of a SHA1 hash (a 40-digit hexadecimal) or an abbreviation thereof (customarily the first 8 hexadecimal digits). If undefined, the latest revision is used.

mono.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit mono

DESCRIPTION

Mono is an open-source implementation of the C# compiler, Common Language Runtime (the Windows version of which is known as the .NET Framework), and related tools. The most common FOSS usage of Mono is Gtk#, a group of bindings for the GTK+ and GNOME libraries which is used by several GNOME applications written in C#. There are also a number of other programming languages implemented on the CLR, some unique (such as Boo, Cobra, Nemerle, and VB.NET) and some previously existing (such as Java/IKVM, Lua2IL, and mPHP).

This cygclass sets definitions for downloading and building Mono components, and provides functions for installing CLR assemblies and programs.

INHERITED BY

nant.cygclass

REQUIRES

mono

MONO

[ Top ] [ mono.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Mono JIT interpreter.

MCS

[ Top ] [ mono.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the default Mono C# compiler.

GMCS

[ Top ] [ mono.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Mono C# 2.0/3.0 compiler.

DMCS

[ Top ] [ mono.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Mono C# 4.0 compiler.

GACUTIL

[ Top ] [ mono.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Mono Global Assembly Cache tool.

MONO_SNK

[ Top ] [ mono.cygclass ] [ Definitions ]

DESCRIPTION

Path to a strongname key that can be used to sign assemblies for installation into the GAC which do not ship with their own key. This key should only be used if an upstream key is not available.

HOMEPAGE (mono)

[ Top ] [ mono.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.mono-project.com/"

SRC_URI (mono)

[ Top ] [ mono.cygclass ] [ Overloads ]

DESCRIPTION

Download location for sources from the Mono project.

GIT_URI (mono)

[ Top ] [ mono.cygclass ] [ Overloads ]

DESCRIPTION

Location of Git repository for Mono projects.

gacinto

[ Top ] [ mono.cygclass ] [ Install Functions ]

SYNOPSIS

  gacinto SUBDIRECTORY

DESCRIPTION

Package name to use when installing assemblies into the GAC with dogac. Symlinks to the assemblies installed with dogac will be created in /usr/lib/mono/SUBDIRECTORY.

dogac

[ Top ] [ mono.cygclass ] [ Install Functions ]

SYNOPSIS

  [gacinto SUBDIRECTORY]
  dogac ASSEMBLY [ASSEMBLY2] ...

DESCRIPTION

Installs the given assembly libraries into the GAC under $D, using the package name from the previous call to gacinto.

NOTE

Assemblies must be strongname signed in order to be installed into the GAC. If an assembly is meant for general consumption but a strongname key is not available from upstream, MONO_SNK can be used to sign the assembly.

mono_create_policy

[ Top ] [ mono.cygclass ] [ Install Functions ]

SYNOPSIS

  mono_create_policy ASSEMBLY_NAME "OLD_VERSIONS" NEW_VERSION STRONGNAME_KEY

DESCRIPTION

Creates a policy file within the GAC. Policy files are used to redirect assembly dependencies on (usually) older versions to a new version which is still API-compatible. Versions are in the form of major.minor.micro.patch; the old versions argument can be a range (x.y.z.a-x.y.z.a) or use wildcards (x.y.*).

mono_wrapper

[ Top ] [ mono.cygclass ] [ Install Functions ]

SYNOPSIS

  mono_wrapper SCRIPT_NAME PATH_TO_ASSEMBLY

DESCRIPTION

Creates a wrapper script to launch the given assembly path (as it will be installed on the system) with Mono.

mate.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit mate

DESCRIPTION

The MATE project provides a fork of the GNOME 2 libraries, desktop and core applications. Most packages are written in C and are built with an autotools-based system with some additional tools.

This cygclass manages the building of most MATE packages.

INHERITS

autotools.cygclass

HOMEPAGE (mate)

[ Top ] [ mate.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://mate-desktop.org/"

SRC_URI (mate)

[ Top ] [ mate.cygclass ] [ Overloads ]

DEFINITION

GIT_URI (mate)

[ Top ] [ mate.cygclass ] [ Overloads ]

NOTE

git.cygclass should be inherit()ed last for this to be of use.

DEFINITION

GIT_URI="git://github.com/mate-desktop/${ORIG_PN:-${PN}}.git"

mate_autoreconf

[ Top ] [ mate.cygclass ] [ Compile Functions ]

SYNOPSIS

  mate_autoreconf

DESCRIPTION

Updates the build system with mate-autogen. mate_autoreconf must be run in the directory containing the top-level configure.ac or configure.in (usually $S).

WARNING

Skipping this step is strongly discouraged. Patches to configure.ac, aclocal macros, or Makefile.am files will not take effect until their tools have been regenerated. Also, Cygwin's libtool package often includes patches which are not yet available in the latest upstream release, so libraries may not be built optimally, or even correctly, without this step having been run. The same applies for some of the MATE build tools as well.

REQUIRES

autoconf, automake, gettext-devel, mate-common, mate-doc-utils, gtk-doc, intltool, libglib2.0-devel, libtool, pkg-config.

SEE ALSO

cygautoreconf

MATE_NO_AUTOGEN

[ Top ] [ mate.cygclass ] [ Variables ]

DESCRIPTION

By default, mate-autogen will retool the working directory's and any subdirectories containing a configure.ac/configure.in which may be configured separately with an AC_CONFIG_SUBDIRS. If a subdirectory need not be retooled (e.g. it will not built for whatever reason), or it does not use autotools (e.g. the libdb included in evolution), define this variable to the subdirectories to skip, relative to the directory where mate_autoreconf will be run (usually $S).

mate_configure

[ Top ] [ mate.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  mate_configure [CONFIGURE_FLAGS]

DESCRIPTION

Calls cygconf with the following options:

All arguments to mate_configure are passed to cygconf as configure flags.

mate_compile

[ Top ] [ mate.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  mate_compile [CONFIGURE_FLAGS]

DESCRIPTION

Calls mate_configure followed by cygmake. All arguments to mate_compile are passed as configure flags.

src_compile (mate)

[ Top ] [ mate.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${S}
        mate_autoreconf
        cd ${B}
        mate_configure
        cygmake
}

lua.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit lua

DESCRIPTION

Lua is a lightweight programming language commonly used for embedded scripting support in a variety of programs. It is extensible through C/C++ modules and lua scripts.

This cygclass provides definitions used by packages depending on Lua.

REQUIRES

lua, pkg-config

LUA

[ Top ] [ lua.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Lua interpreter.

LUAC

[ Top ] [ lua.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Lua bytecode compiler.

LUA_VERSION

[ Top ] [ lua.cygclass ] [ Definitions ]

DESCRIPTION

The major.minor version of the Lua interpreter.

LUA_INCLUDEDIR

[ Top ] [ lua.cygclass ] [ Definitions ]

DESCRIPTION

Path containing the Lua C library headers.

LUA_LIBDIR

[ Top ] [ lua.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Lua C modules.

LUA_SCRIPTDIR

[ Top ] [ lua.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Lua script modules.

LUA_CFLAGS

[ Top ] [ lua.cygclass ] [ Definitions ]

DESCRIPTION

Compile flags for the Lua C library.

LUA_LIBS

[ Top ] [ lua.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for the Lua C library.

luainto

[ Top ] [ lua.cygclass ] [ Install Functions ]

SYNOPSIS

  luainto SUBDIRECTORY

DESCRIPTION

Subdirectory of LUA_LIBDIR or LUA_SCRIPTDIR into which dolua should install. This is usually unnecessary.

dolua

[ Top ] [ lua.cygclass ] [ Install Functions ]

SYNOPSIS

  [luainto SUBDIRECTORY]
  dolua MODULE1 [MODULE2] ...

DESCRIPTION

Installs the given Lua module(s) (.lua or .dll) into LUA_LIBDIR or LUA_SCRIPTDIR under $D, depending on filetype, or a subdirectory thereof if luainto was previously called.

lua_fix_shebang

[ Top ] [ lua.cygclass ] [ Install Functions ]

SYNOPSIS

  lua_fix_shebang SCRIPT [SCRIPT ...]

DESCRIPTION

Fixes the designated interpreter of SCRIPT to LUA. This would be necessary if the original uses an incorrect path (e.g. /usr/local/bin) or an incorrectly versioned binary. SCRIPT need not be prefixed by $D.

kde4.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit kde4

DESCRIPTION

The KDE project provides a full-featured X desktop with a wide variety of applications, built on a library stack all based on the Qt C++ libraries. Most packages are written in C++ and are built with CMake.

This cygclass manages the building of most KDE4-based packages.

INHERITS

cmake.cygclass, qt4.cygclass

KDE4_EXTRAGEAR_VERSION

[ Top ] [ kde4.cygclass ] [ Variables ]

DESCRIPTION

KDE Extragear is a collection of software which is part of the KDE project but which is not included in the main KDE Software Compilation modules. Some of these applications are released in tandem with a KDE SC release but use their own versioning system. Such packages should use their own version number as PV and define KDE4_EXTRAGEAR_VERSION to indicate with which version of KDE SC they were released.

NOTE

If needed, this must be defined before inherit()ing kde4.cygclass.

HOMEPAGE (kde4)

[ Top ] [ kde4.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.kde.org/"

SRC_URI (kde4)

[ Top ] [ kde4.cygclass ] [ Overloads ]

DESCRIPTION

Download location for the release tarball.

SEE ALSO

mirror_kde

SVN_URI (kde4)

[ Top ] [ kde4.cygclass ] [ Overloads ]

NOTE

svn.cygclass should be inherit()ed last for this to be of use.

DEFINITION

SVN_URI="svn://anonsvn.kde.org/home/kde"

GIT_URI (kde4)

[ Top ] [ kde4.cygclass ] [ Overloads ]

NOTE

git.cygclass should be inherit()ed last for this to be of use.

DEFINITION

GIT_URI="git://anongit.kde.org/${ORIG_PN:-${PN}}"

kde4_compile

[ Top ] [ kde4.cygclass ] [ Compile Functions ]

SYNOPSIS

  kde4_compile [OPTIONS]

DESCRIPTION

Runs cygcmake to configure the package with several Cygwin- and KDE-specific options, then runs cygmake to compile. Options, in the form of -DVARIABLE=VALUE, are passed on to cygcmake.

NOTE

Source subdirectories which are declared with macro_optional_add_subdirectory() in CMakeLists.txt can be disabled with '-DBUILD_foo=OFF' arguments.

REQUIRES

automoc4, cmake, libQtCore4-devel, libQtGui4-devel

kde4_install

[ Top ] [ kde4.cygclass ] [ Install Functions ]

SYNOPSIS

  kde4_install [OPTIONS]

DESCRIPTION

Installs a KDE4 package with cyginstall into $D with some additional steps:

Options, if any, are passed on to cyginstall.

src_compile (kde4)

[ Top ] [ kde4.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${B}
        kde4_compile
}

src_install (kde4)

[ Top ] [ kde4.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        kde4_install
}

java.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit java

DESCRIPTION

GNU Classpath provides an open-source implementation of a Java runtime which is mostly compatibly with JDK 1.5. Driven by a compatible Java Virtual Machine, its runtime and tools together with the OpenJDK and Eclipse compiler tools provide a Java environment which can build and run a wide variety of Java programs.

This cygclass provides definitions and functions for building packages which use the GNU Classpath Java environment.

INHERITED BY

ant.cygclass

REQUIRES

gij/jamvm, ecj/jdk6-langtools/classpath-tools, fastjar, gcc4-java.

JAR

[ Top ] [ java.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to a 'jar' de/compression tool, provided by fastjar or gjar.

JAVA

[ Top ] [ java.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to a Java interpreter, provided by jamvm or gij-4.

JAVAC

[ Top ] [ java.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to a Java compiler, provided by javac or ecj.

JAVADOC

[ Top ] [ java.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to a Java API documentation generator, provided by javadoc or gjdoc.

JAVAH

[ Top ] [ java.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to a JNI header generator, provided by javah or gjavah.

JAVA_HOME

[ Top ] [ java.cygclass ] [ Definitions ]

DESCRIPTION

Prefix of the Java installation.

JAVA_DIR

[ Top ] [ java.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Java .jar files.

JAVADOC_DIR

[ Top ] [ java.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Javadoc API documentation.

JAVA_CLASSPATH

[ Top ] [ java.cygclass ] [ Variables ]

DESCRIPTION

A colon-separated list of directories and .jar files to pass to Java's CLASSPATH environment variable. Any .jar files which are listed by basename only are assumed to be installed in JAVA_DIR.

NOTE

The user CLASSPATH variable is ignored so as to prevent interference from a native Windows installation of Java.

cygjar

[ Top ] [ java.cygclass ] [ Compile Functions ]

SYNOPSIS

  cygjar OPTIONS JAR_FILE [MANIFEST_FILE] [-C DIRECTORY] [FILES] ...

DESCRIPTION

Runs the JAR command with the provided options, catching any errors if they occur. Please see the JAR --help text for a complete list of options.

cygjava

[ Top ] [ java.cygclass ] [ General Functions ]

SYNOPSIS

  cygjava [-jar JAR_FILE] [-classpath CLASSPATH] [OPTIONS] CLASS [ARGUMENTS]

DESCRIPTION

Runs the JAVA command with the provided options, catching any errors if they occur. Please see the JAVA -help text for a complete list of options.

cygjavac

[ Top ] [ java.cygclass ] [ Compile Functions ]

SYNOPSIS

  cygjavac [-classpath CLASSPATH] [OPTIONS] SOURCE_FILES|DIRECTORIES

DESCRIPTION

Runs the JAVAC command with the provided options, catching any errors if they occur. Please see the JAVAC -help text for a complete list of options.

cygjavadoc

[ Top ] [ java.cygclass ] [ Compile Functions ]

SYNOPSIS

  cygjavadoc [OPTIONS] [-d OUTPUT_PATH] PACKAGES

DESCRIPTION

Runs the JAVADOC command with the provided options, catching any errors if they occur. Please see the JAVADOC -help text for a complete list of options.

cygjavah

[ Top ] [ java.cygclass ] [ Compile Functions ]

SYNOPSIS

  cygjavah [-classpath CLASSPATH] [-d OUTPUT_PATH] [-jni] CLASSES

DESCRIPTION

Runs the JAVAH command with the provided options, catching any errors if they occur. Please see the JAVAH -help text for a complete list of options.

cygjunit

[ Top ] [ java.cygclass ] [ Testsuite Functions ]

SYNOPSIS

  cygjunit [-classpath CLASSPATH] CLASSES

DESCRIPTION

Runs the JUnit tests defined in the given class(es).

dojar

[ Top ] [ java.cygclass ] [ Install Functions ]

SYNOPSIS

  dojar JAR_FILES

DESCRIPTION

Installs the given .jar files into JAVA_DIR under $D. If the name of the .jar includes a version number, an unversioned symlink is created alongside the .jar file.

newjar

[ Top ] [ java.cygclass ] [ Install Functions ]

SYNOPSIS

  newjar JAR_FILE NEW_JAR_FILE_NAME

DESCRIPTION

Installs the given .jar file into JAVA_DIR under $D, renaming it per the second argument. If the new name of the .jar includes a version number, an unversioned symlink is created alongside the .jar file.

dojavadoc

[ Top ] [ java.cygclass ] [ Install Functions ]

SYNOPSIS

  dojavadoc DIRECTORY

DESCRIPTION

Installs the Javadoc documentation in the given directory into a subdirectory of JAVADOC_DIR based on the name of the package.

newjavadoc

[ Top ] [ java.cygclass ] [ Install Functions ]

SYNOPSIS

  newjavadoc DIRECTORY DESTINATION_SUBDIR

DESCRIPTION

Installs the Javadoc documentation in the given directory into a subdirectory of JAVADOC_DIR based on DESTINATION_SUBDIR. This is useful if a package builds more than one set of Javadocs.

java_wrapper

[ Top ] [ java.cygclass ] [ Install Functions ]

SYNOPSIS

  java_wrapper [JAVA_OPTIONS] WRAPPER_NAME JAR_FILE [MAIN_CLASS]

DESCRIPTION

Creates a wrapper script for the given .jar file. If the .jar file is installed into JAVA_DIR, its basename can be used instead of a path. If the jar file manifest defines a Main-Class, then the third argument (the class providing the main() function) can be omitted.

Options to be passed to the JAVA runtime (rather than the Java program) can be added before the wrapper name. These arguments must begin with a hyphen.

hg.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  HG_URI="..."
  [HG_REV="..."]
  inherit hg

DESCRIPTION

Mercurial is a distributed version control system. Originally developed around the same time and for a similar reason as Git, it is used by a number of projects, including Mozilla, OpenOffice.org, and OpenJDK.

This cygclass creates source tarballs from Mercurial checkouts.

NOTE

This cygclass sets a special SRC_URI for the tarball it creates. If additional sources are required, be sure to _add_ to SRC_URI rather than outright setting it.

REQUIRES

mercurial

HG_URI

[ Top ] [ hg.cygclass ] [ Variables ]

DESCRIPTION

Address of Mercurial repository from which to clone. Must be defined before inherit()ing hg.cygclass.

HG_REV

[ Top ] [ hg.cygclass ] [ Variables ]

DESCRIPTION

Specific revision to clone, either the changeset ID in the form of a SHA1 hash (a 40-digit hexadecimal) or an abbreviation thereof (the first 7 hexadecimal digits are usually sufficent), OR the sequential integer revision number. If undefined, the latest revision is cloned.

gtkmm.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit gtkmm

DESCRIPTION

The GTKmm project provides C++ bindings for most of the GNOME library stack. Packages are autotools-based with some custom aclocal macros and Makefile segments. Doxygen API documentation is included in most packages.

This cygclass builds the GTKmm binding packages.

INHERITS

autotools.cygclass, gnome.org.cygclass

CATEGORY (gtkmm)

[ Top ] [ gtkmm.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Gnome"

SUMMARY (gtkmm)

[ Top ] [ gtkmm.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="GNOME C++ bindings for ${ORIG_PN/mm/}-${PV_MAJ}.x"

HOMEPAGE (gtkmm)

[ Top ] [ gtkmm.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.gtkmm.org/"

gtkmm_autoreconf

[ Top ] [ gtkmm.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $S
  gtkmm_autoreconf

DESCRIPTION

Updates the autotool build system with cygautoreconf.

WARNING

Skipping this step is strongly discouraged. Patches to configure.ac, aclocal macros, or Makefile.am files will not take effect until their tools have been regenerated. Also, Cygwin's libtool package often includes patches which are not yet available in the latest upstream release, so libraries may not be built optimally, or even correctly, without this step having been run.

REQUIRES

autoconf, automake, libtool, mm-common, pkg-config

gtkmm_compile

[ Top ] [ gtkmm.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  gtkmm_compile [CONFIGURE_FLAGS]

DESCRIPTION

Calls cygconf, followed by cygmake. All arguments to gtkmm_compile are passed to cygconf as configure flags.

gtkmm_test

[ Top ] [ gtkmm.cygclass ] [ Testsuite Functions ]

SYNOPSIS

  cd $B
  gtkmm_test

DESCRIPTION

Runs the test programs with "make check".

NOTE

Not all GTKmm bindings include tests.

src_compile (gtkmm)

[ Top ] [ gtkmm.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${S}
        gtkmm_autoreconf
        cd ${B}
        gtkmm_compile
}

src_test (gtkmm)

[ Top ] [ gtkmm.cygclass ] [ Overloads ]

DEFINITION

src_test() {
        cd ${B}
        gtkmm_test
}

gtk2-perl.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  [CPAN_AUTHOR=username]
  inherit gtk2-perl

DESCRIPTION

The Gtk2-Perl project provides Perl bindings for the GLib, GTK+, and GNOME libraries, allowing full-fledged GNOME programs to be written in the Perl programming language. Source packages are based on the ExtUtils::MakeMaker system with some additions to handle the unique requirements of inter-module dependencies and POD generation from XS. Several third-party modules are also available on CPAN which use the same system to bind libraries not yet covered by the Gtk2-Perl project.

This cygclass builds both official and third-party Gtk2-Perl binding packages.

INHERITS

perl.cygclass

REQUIRES

perl-ExtUtils-Depends, perl-ExtUtils-PkgConfig

CATEGORY (gtk2-perl)

[ Top ] [ gtk2-perl.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Perl"

SUMMARY (gtk2-perl)

[ Top ] [ gtk2-perl.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="Perl ${ORIG_PN//-/::} bindings"

HOMEPAGE (gtk2-perl)

[ Top ] [ gtk2-perl.cygclass ] [ Overloads ]

DESCRIPTION

Homepage of the Gtk2-Perl project.

NOTE

If CPAN_AUTHOR is defined, the value set by perl.cygclass is used instead.

SRC_URI (gtk2-perl)

[ Top ] [ gtk2-perl.cygclass ] [ Overloads ]

DESCRIPTION

Download location of the release tarball from the Gtk2-Perl project.

NOTE

If CPAN_AUTHOR is defined, the value set by perl.cygclass is used instead.

DEPS_PATH (gtk2-perl)

[ Top ] [ gtk2-perl.cygclass ] [ Overloads ]

DESCRIPTION

Gtk2-Perl modules are unique that they are not only linked against the C libraries which they bind, but also expose an API to bindings higher up in the stack which link against them as well. Therefore, DEPS_PATH is set to catch these inter-module link dependencies.

gtk2_perl_compile

[ Top ] [ gtk2-perl.cygclass ] [ Compile Functions ]

DESCRIPTION

An alias for perl_compile.

HISTORY

Gtk2-Perl's build system originally posed some challenges on Cygwin:

Therefore, this function no longer serves a purpose. Now, the manpages are built and installed with '::' as on other platforms, but are renamed during postinstall so that man can find them.

gstreamer.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit gstreamer

DESCRIPTION

GStreamer is a modular multimedia framework, using plugins to support a wide variety of audio and video formats, effects, and input/output. Being based on GObject it is heavily used within GNOME, but it also sees some use as a backend for Qt4 Phonon.

GStreamer components include the core libraries and command-line tools, several sets of plugins, and Python bindings. This cygclass defines variables and functions which are common to all GStreamer components, and is also the basis of the versions of gst-plugins.cygclass.

INHERITED BY

gst-plugins0.10.cygclass

HOMEPAGE (gstreamer)

[ Top ] [ gstreamer.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://gstreamer.freedesktop.org/"

SRC_URI (gstreamer)

[ Top ] [ gstreamer.cygclass ] [ Overloads ]

DESCRIPTION

Download location for the upstream source tarball.

GIT_URI (gstreamer)

[ Top ] [ gstreamer.cygclass ] [ Overloads ]

NOTE

git.cygclass must be inherit()ed last for this to have any effect.

DEFINITION

GIT_URI="git://anongit.freedesktop.org/git/gstreamer/${ORIG_PN}"

GST_PLUGINDIR

[ Top ] [ gstreamer.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for GStreamer plugins.

gstreamer_autoreconf

[ Top ] [ gstreamer.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $S
  gstreamer_autoreconf

DESCRIPTION

Updates the build system with the included autogen.sh script, which is shipped in each tarball, which makes sure that all necessary steps are taken.

WARNING

Skipping this step is strongly discouraged. Patches to configure.ac, aclocal macros, or Makefile.am files will not take effect until their tools have been regenerated. Also, Cygwin's libtool package often includes patches which are not yet available in the latest upstream release, so libraries may not be built optimally, or even correctly, without this step having been run.

REQUIRES

autoconf, automake, gettext-devel, libtool, pkg-config

SEE ALSO

cygautoreconf

gst-plugins.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  GST_PLUGINS_ENABLE=...
  [GST_PLUGINS_DISABLE=...]
  inherit gst-plugins

DESCRIPTION

For an introduction to GStreamer, see gstreamer.cygclass.

Since the 0.9/0.10 series, GStreamer ships most of their plugins in four bundles (base, good, bad, and ugly), each of which contain a number of plugins, some with external dependencies and some without. There also exist several packages which contain a single plugin or a very few related plugins.

This Cygclass handles GStreamer's unique build system requirements, as well as the de/selection of plugins with external dependencies.

INHERITS

autotools.cygclass, gstreamer.cygclass

GST_PLUGINS_ENABLE

[ Top ] [ gst-plugins.cygclass ] [ Variables ]

DESCRIPTION

This variable controls which plugins with external dependencies will be built. It must be defined as a string, with plugins indicated by their configure argument.

Because the name of the plugin often corresponds to its configure argument (e.g. ogg -> libgstogg.la), these plugins can easily be packaged separately with a 'for' loop with this variable as the iterator collection.

SEE ALSO

GST_PLUGINS_DISABLE

GST_PLUGINS_DISABLE

[ Top ] [ gst-plugins.cygclass ] [ Variables ]

DESCRIPTION

This variable controls which plugins will not be built, even if their dependencies are present. It must be defined as a string, with plugins indicated by their configure argument.

SEE ALSO

GST_PLUGINS_ENABLE

SUMMARY (gst-plugins)

[ Top ] [ gst-plugins.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="${gst_pn} plugin for the GStreamer multimedia framework"

gst_plugins_autoreconf

[ Top ] [ gst-plugins.cygclass ] [ Compile Functions ]

DESCRIPTION

Alias for gstreamer_autoreconf.

gst_plugins_compile

[ Top ] [ gst-plugins.cygclass ] [ Compile Functions ]

DESCRIPTION

First, cygconf is called with several GStreamer-specific arguments which apply to all plugin packages, as well as the necessary arguments to enable or disable plugins with external dependencies, per the value of GST_PLUGINS_ENABLE and GST_PLUGINS_DISABLE. Then cygmake is called to build the package.

gst_plugins_compile optionally accepts additional configure flags as arguments, which are passed to cygconf.

gst_plugins_install

[ Top ] [ gst-plugins.cygclass ] [ Install Functions ]

DESCRIPTION

Alias for cyginstall.

src_compile (gst-plugins)

[ Top ] [ gst-plugins.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${S}
        gst_plugins_autoreconf
        cd ${B}
        gst_plugins_compile
}

src_install (gst-plugins)

[ Top ] [ gst-plugins.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        gst_plugins_install
}

gnustep.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

DESCRIPTION

GNUstep is an open-source implementation of the NeXT/OpenStep and Apple's Cocoa API frameworks, written in Objective-C. A number of additional libraries (known as Frameworks) and programs, both console and GUI are available, including some ported from Mac OS X. GNUstep packages are built with GNUmakefiles which use templates included in the gnustep-make package.

This cygclass builds packages which use the GNUstep framework and build system.

REQUIRES

gnustep-make

SEE ALSO

mirror_gnustep

CATEGORY (gnustep)

[ Top ] [ gnustep.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="GNUstep"

SUMMARY (gnustep)

[ Top ] [ gnustep.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="GNUstep ${ORIG_PN:-${PN#gnustep-}} component"

HOMEPAGE (gnustep)

[ Top ] [ gnustep.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.gnustep.org/"

SVN_URI (gnustep)

[ Top ] [ gnustep.cygclass ] [ Overloads ]

NOTE

svn.cygclass must be inherit()ed last for this to have any effect.

DEFINITION

SVN_URI="svn://svn.gna.org/svn/gnustep"

gnustep_env

[ Top ] [ gnustep.cygclass ] [ General Functions ]

DESCRIPTION

Loads the GNUstep environment variables. This must be run before calling gnustep_compile or gnustep_install.

gnustep_compile

[ Top ] [ gnustep.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  gnustep_compile [MAKEFILE_ARGUMENTS]

DESCRIPTION

Builds a GNUstep package with the following steps:

Arguments to gnustep_compile are passed to both cygmake calls.

NOTE

gnustep_env must be called before gnustep_compile.

gnustep_install

[ Top ] [ gnustep.cygclass ] [ Install Functions ]

SYNOPSIS

  cd $B
  gnustep_install [MAKEFILE_ARGUMENTS]

DESCRIPTION

Installs a GNUstep package under $D. Arguments to gnustep_install are passed to cyginstall.

NOTE

gnustep_env must be called before gnustep_install.

gnustep_pkg_apps

[ Top ] [ gnustep.cygclass ] [ General Functions ]

SYNOPSIS

  gnustep_pkg_apps APP_NAME [APP_NAME] ...

DESCRIPTION

Create a binary subpackage $APP_NAME.app containing the given application(s).

gnustep_pkg_frameworks

[ Top ] [ gnustep.cygclass ] [ General Functions ]

SYNOPSIS

  gnustep_pkg_frameworks FRAMEWORK_NAME:VERSION [FRAMEWORK_NAME:VERSION] ...

DESCRIPTION

Create binary subpackages lib$FRAMEWORK_NAME$VERSION and lib$FRAMEWORK_NAME-devel containing the runtime and development components of the given frameworks(s).

src_compile (gnustep)

[ Top ] [ gnustep.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        gnustep_env
        gnustep_compile
}

src_install (gnustep)

[ Top ] [ gnustep.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        gnustep_env
        gnustep_install
}

gnome2.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit gnome2

DESCRIPTION

The GNOME project provides a full-featured X desktop with a wide variety of applications, built on an object-oriented library stack based on GLib and the GTK+ toolkit. Most packages are written in C and are built with an autotools-based system with some additional tools.

This cygclass manages the building of most GNOME-based packages.

INHERITS

autotools.cygclass, gnome.org.cygclass

gnome2_autoreconf

[ Top ] [ gnome2.cygclass ] [ Compile Functions ]

SYNOPSIS

  gnome2_autoreconf

DESCRIPTION

Updates the build system with gnome-autogen.sh. gnome2_autoreconf must be run in the directory containing the top-level configure.ac or configure.in (usually $S).

WARNING

Skipping this step is strongly discouraged. Patches to configure.ac, aclocal macros, or Makefile.am files will not take effect until their tools have been regenerated. Also, Cygwin's libtool package often includes patches which are not yet available in the latest upstream release, so libraries may not be built optimally, or even correctly, without this step having been run. The same applies for some of the GNOME build tools as well.

REQUIRES

autoconf, automake, gettext-devel, gnome-common, gnome-doc-utils, gtk-doc, intltool, libglib2.0-devel, libtool, pkg-config.

SEE ALSO

cygautoreconf

GNOME2_NO_AUTOGEN

[ Top ] [ gnome2.cygclass ] [ Variables ]

DESCRIPTION

By default, gnome-autogen.sh will retool the working directory's and any subdirectories containing a configure.ac/configure.in which may be configured separately with an AC_CONFIG_SUBDIRS. If a subdirectory need not be retooled (e.g. it will not built for whatever reason), or it does not use autotools (e.g. the libdb included in evolution), define this variable to the subdirectories to skip, relative to the directory where gnome2_autoreconf will be run (usually $S).

gnome2_configure

[ Top ] [ gnome2.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  gnome2_configure [CONFIGURE_FLAGS]

DESCRIPTION

Calls cygconf with the following options:

All arguments to gnome2_configure are passed to cygconf as configure flags.

gnome2_compile

[ Top ] [ gnome2.cygclass ] [ Compile Functions ]

SYNOPSIS

  cd $B
  gnome2_compile [CONFIGURE_FLAGS]

DESCRIPTION

Calls gnome2_configure followed by cygmake. All arguments to gnome2_compile are passed as configure flags.

src_compile (gnome2)

[ Top ] [ gnome2.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${S}
        gnome2_autoreconf
        cd ${B}
        gnome2_configure
        cygmake
}

gnome.org.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit gnome.org

DESCRIPTION

This cygclass is to be used for packages which are part of GNOME or which are hosted on GNOME FTP or Git servers.

In most cases, you do not need to directly inherit this cygclass; most GNOME packages will anyway use one of the cygclasses listed below which already inherit this cygclass.

If PN does not match the name of the original source tarball, define ORIG_PN before inherit()ing.

INHERITED BY

gnome2.cygclass, gtkmm.cygclass, pygtk.cygclass

SEE ALSO

mirror_gnome

GNOME_ORG_TARBALL_SUFFIX

[ Top ] [ gnome.org.cygclass ] [ Variables ]

DESCRIPTION

The compression format for tarballs on gnome.org. Until December 2011, almost all sources were available with at least bz2 compression, but from that point on, only xz-compressed tarballs are being published.

If undefined, the server is checked to find which type of tarball exists. This variable can be set to avoid the server check, or if the extension is neither "bz2" nor "xz".

NOTE

This must be defined before inherit()ing gnome.org.cygclass.

HOMEPAGE (gnome.org)

[ Top ] [ gnome.org.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.gnome.org/"

SRC_URI (gnome.org)

[ Top ] [ gnome.org.cygclass ] [ Overloads ]

DEFINITION

SRC_URI="mirror://gnome/sources/${ORIG_PN:-${PN}}/${PVP[0]}.${PVP[1]}/${ORIG_PN:-${PN}}-${PV}.tar.${GNOME_ORG_TARBALL_SUFFIX}"

GIT_URI (gnome.org)

[ Top ] [ gnome.org.cygclass ] [ Overloads ]

NOTE

git.cygclass should be inherit()ed last for this to be of use.

DEFINITION

GIT_URI="git://git.gnome.org/${ORIG_PN:-${PN}}"

git.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  GIT_URI="..."
  [GIT_BRANCH="..."]
  [GIT_REV="..."]
  [GIT_TAG="..."]
  inherit git

DESCRIPTION

Git is a distributed version control system. Originally developed for the Linux kernel, it is widely used by a number of projects, including GNOME, GStreamer, X.Org, and Xfce.

This cygclass creates source tarballs from Git checkouts.

NOTE

This cygclass sets a special SRC_URI for the tarball it creates. If additional sources are required, be sure to _add_ to SRC_URI rather than outright setting it.

REQUIRES

git

GIT_URI

[ Top ] [ git.cygclass ] [ Variables ]

DESCRIPTION

Address of Git repository from which to clone. Must be defined before inherit()ing git.cygclass.

GIT_BRANCH

[ Top ] [ git.cygclass ] [ Variables ]

DESCRIPTION

Branch from which to clone. If undefined, the 'master' branch is used.

GIT_REV

[ Top ] [ git.cygclass ] [ Variables ]

DESCRIPTION

Specific revision to clone, in the form of a SHA1 hash (a 40-digit hexadecimal) or an abbreviation thereof (the first 7 hexadecimal digits are usually sufficent). If undefined, the latest revision in the given GIT_BRANCH is used.

GIT_TAG

[ Top ] [ git.cygclass ] [ Variables ]

DESCRIPTION

Tag to clone, essentially a legible shorthand for a given commit.

ggz.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

DESCRIPTION

The GGZ Gaming Zone is a framework for hosting and playing multi-player games over the Internet. The project provides a server for self-hosting, client libraries, and client games.

This cygclass is used for building GGZ upstream components and provides functions for installing third-party clients.

NOTE

Upstream development seems to have ceased, and projects which previously provided GGZ functionality have removed those dependencies. Therefore, this cygclass is deprecated and may be removed in the future.

CATEGORY (ggz)

[ Top ] [ ggz.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Games"

SUMMARY (ggz)

[ Top ] [ ggz.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="GGZ Gaming Zone ${PN#ggz-} component"

HOMEPAGE (ggz)

[ Top ] [ ggz.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://dev.ggzgamingzone.org/"

SRC_URI (ggz)

[ Top ] [ ggz.cygclass ] [ Overloads ]

DEFINITION

SRC_URI="http://ftp.ggzgamingzone.org/pub/ggz/${PV}/${P}.tar.gz "

GGZ_MODULES_DIR

[ Top ] [ ggz.cygclass ] [ Definitions ]

DESCRIPTION

The directory where GGZ ModuleInfo description files are installed.

ggz_postinst

[ Top ] [ ggz.cygclass ] [ Install Functions ]

DESCRIPTION

Creates postinstall and preremove scripts which de/register GGZ ModuleInfo description files with ggz-config.

doggzmod

[ Top ] [ ggz.cygclass ] [ Install Functions ]

SYNOPSIS

  doggzmod DESCRIPTION_FILE [DESCRIPTION_FILE] ...

DESCRIPTION

Installs the given GGZ ModuleInfo description file(s) into GGZ_MODULES_DIR. As such files are often generically named (e.g. "module.dsc"), files are automatically renamed to reflect the name of the program specified in their CommandLine attribute.

src_install (ggz)

[ Top ] [ ggz.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        cyginstall
        ggz_postinst
}

fox.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  FOX_VERSION="X.Y"
  inherit fox

DESCRIPTION

The FOX toolkit is a cross-platform, C++ GUI toolkit. The API changes with each major.minor version, each of which is parallel-installable. Packages which depend on the FOX toolkit will only build against one or two branches at any given time.

This cygclass selects the fox-config script for the desired version of the FOX toolkit.

REQUIRES

libFOX1.*-devel

FOX_VERSION

[ Top ] [ fox.cygclass ] [ Variables ]

DESCRIPTION

The desired major.minor branch of the FOX toolkit. This variable must be set before inherit()ing the fox.cygclass.

NOTE

Even minor version numbers represent stable branches; versions 1.2, 1.4, and 1.6 are supported. Unstable branches (with odd minor versions) are currently not supported.

FOX_CONFIG

[ Top ] [ fox.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the fox-config script for the given FOX_VERSION. This definition is exported to the build environment.

FOX_CFLAGS

[ Top ] [ fox.cygclass ] [ Definitions ]

DESCRIPTION

Compile flags for the specified version of the FOX toolkit. This is equivalent to `$FOX_CONFIG --cflags`.

FOX_LIBS

[ Top ] [ fox.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for the specified version of the FOX toolkit. This is equivalent to `$FOX_CONFIG --libs`.

fox-config

[ Top ] [ fox.cygclass ] [ General Functions ]

DESCRIPTION

Wrapper function for calling FOX_CONFIG.

fossil.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  FOSSIL_URI="..."
  [FOSSIL_REV="..."]
  inherit fossil

DESCRIPTION

Fossil is a distributed version control system which includes an integrated bug tracking system and wiki. It is used by the SQLite project.

This cygclass creates source tarballs from Fossil checkouts.

NOTE

This cygclass sets a special SRC_URI for the tarball it creates. If additional sources are required, be sure to _add_ to SRC_URI rather than outright setting it.

REQUIRES

fossil

FOSSIL_URI

[ Top ] [ fossil.cygclass ] [ Variables ]

DESCRIPTION

Address of Fossil repository from which to clone.

FOSSIL_REV

[ Top ] [ fossil.cygclass ] [ Variables ]

DESCRIPTION

This optional variable can be one of:

If unset, the latest revision of the 'trunk' branch will be used.

font.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

DESCRIPTION

This cygclass provides functions for installing fonts so that they will be found by the X server (for Xaw/Motif applications) and fontconfig (used by most modern GUI toolkits).

EXAMPLE

    ORIG_PN="cantarell-fonts"
    inherit gnome.org font
    
    NAME="font-cantarell-otf"
    VERSION=0.0.12
    RELEASE=1
    CATEGORY="X11"
    SUMMARY="Cantarell TTF sans serif fonts"
    DESCRIPTION="The Cantarell typeface family was designed as a contemporary
    Humanist sans serif, and was developed for on-screen reading; in particular,
    reading web pages on a mobile phone."
    HOMEPAGE="http://abattis.org/cantarell/"
    
    src_compile() { :; }
    
    src_install() {
      cd ${S}
      fontinto OTF
      dofont otf/*.otf
      
      dofontconf fontconfig/*.conf
    }

NOTE

Regardless of the usage of font.cygclass, cygport will compress all bitmap fonts (.pcf) and create postinstall scripts for all fonts installed in FONTSDIR in order to register them with the X server and fontconfig.

FONTSDIR

[ Top ] [ font.cygclass ] [ Definitions ]

DESCRIPTION

The top font directory, AKA the fontrootdir.

sfd2ttf

[ Top ] [ font.cygclass ] [ Compile Functions ]

SYNOPSIS

  sfd2ttf SFD_FILE[S] ...

DESCRIPTION

Creates TrueType Font (TTF) files from FontForge Spline Font Database (SFD) sources.

fontinto

[ Top ] [ font.cygclass ] [ Install Functions ]

SYNOPSIS

  fontinto SUBDIR

DESCRIPTION

Tells dofont which font directory to install into. Accepts a single argument, the name of the font subdirectory.

NOTE

Technically any subdir can be used for fonts, and fontconfig will find the font no matter which subdir you use. OTOH, the X server by default searches only in a specific list of subdirectories, namely:

Fonts installed into any other subdirectory will not be found by the X server without the user adjusting their fontpath accordingly.

dofont

[ Top ] [ font.cygclass ] [ Install Functions ]

SYNOPSIS

  dofont FONTFILE [FONTFILE] ...

DESCRIPTION

Installs the given font file(s) into the font subdirectory specified by the most recent call to fontinto.

dofontconf

[ Top ] [ font.cygclass ] [ Install Functions ]

SYNOPSIS

  dofontconf CONFFILE [CONFFILE] ...

DESCRIPTION

Installs the given font configuration file(s) into the system fontconfig configuration directories. If file is not named [0-9][0-9]*.conf, then use newfontconf instead to rename it.

newfontconf

[ Top ] [ font.cygclass ] [ Install Functions ]

SYNOPSIS

  newfontconf CONFFILE DESIRED_NAME

DESCRIPTION

Installs the given font configuration file into the system fontconfig configuration directories as the given DESIRED_NAME, which must be of the form [0-9][0-9]*.conf:

emacs.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

DESCRIPTION

Emacs is a programmers' text editor which is extensible through libraries written in its own Lisp dialect, which is also bytecode compilable.

This cygclass includes helper functions for installing Emacs Lisp (.el) libraries.

EMACS

[ Top ] [ emacs.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the emacs command.

EMACS_SITE

[ Top ] [ emacs.cygclass ] [ Definitions ]

DESCRIPTION

Path of Emacs' site-lisp directory, where third-party libraries are installed.

doemacs

[ Top ] [ emacs.cygclass ] [ Install Functions ]

SYNOPSIS

  doemacs FILE [FILE2] ...

DESCRIPTION

Installs one or more Emacs Lisp libraries into EMACS_SITE (under $D).

ebook.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

DESCRIPTION

The HTML Help Books project converts manuals for the toolchain and other common tools into several formats.

This cygclass creates packages from the HTML format documentation which can then be viewed in DevHelp (GNOME's API documentation browser).

CATEGORY (ebook)

[ Top ] [ ebook.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Doc"

SUMMARY (ebook)

[ Top ] [ ebook.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="EBook ${ORIG_PN} documentation"

HOMEPAGE (ebook)

[ Top ] [ ebook.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://code.google.com/p/htmlhelp/"

SRC_URI (ebook)

[ Top ] [ ebook.cygclass ] [ Overloads ]

DEFINITION

SRC_URI="http://htmlhelp.googlecode.com/files/${ORIG_PN}-${PV}.tgz"

ebook_install

[ Top ] [ ebook.cygclass ] [ Install Functions ]

SYNOPSIS

  ebook_install

DESCRIPTION

Installs the documentation into DevHelp's books directory under $D.

NOTE

Must be run from the directory containing the 'book.devhelp' file.

src_compile (ebook)

[ Top ] [ ebook.cygclass ] [ Overloads ]

DESCRIPTION

There is nothing to build, so this is empty.

src_install (ebook)

[ Top ] [ ebook.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${S}
        ebook_install
}

docbook.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit docbook

DESCRIPTION

DocBook is a schema for SGML and XML documents meant for formatting documents and books, and is sometimes used for software documentation. It is generally processed through the (Open)Jade parser, either directly or through the jw/docbook2* wrappers.

This cygclass handles downloading, installation and registration of DocBook SGML, XML, and Simplified XML DTDs, as well as the DSSSL and XSL stylesheets.

CATEGORY (docbook)

[ Top ] [ docbook.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Text"

SUMMARY (docbook)

[ Top ] [ docbook.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="DocBook ${dtd_type} DTD, version ${PV}"

DESCRIPTION (docbook)

[ Top ] [ docbook.cygclass ] [ Overloads ]

DEFINITION

DESCRIPTION="DocBook is a schema maintained by the DocBook Technical Committee
of OASIS. It is particularly well suited to books and papers about computer
hardware and software (though it is by no means limited to these applications).
This package provides version ${PV} of the DocBook DTDs for ${dtd_type}."

HOMEPAGE (docbook)

[ Top ] [ docbook.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.oasis-open.org/docbook/"

SRC_URI (docbook)

[ Top ] [ docbook.cygclass ] [ Overloads ]

DESCRIPTION

Download location for the DocBook package.

docbook_install

[ Top ] [ docbook.cygclass ] [ Install Functions ]

SYNOPSIS

  cd $S
  docbook_install

DESCRIPTION

Installs the DocBook package into $D.

docbook_dsssl_postinst

[ Top ] [ docbook.cygclass ] [ Install Functions ]

DESCRIPTION

Creates postinstall/preremove scripts to de/register the DSSSL stylesheets with the system SGML catalog.

docbook_sgml_postinst

[ Top ] [ docbook.cygclass ] [ Install Functions ]

DESCRIPTION

Creates postinstall/preremove scripts to de/register the SGML/XML DTDs with the system SGML catalog.

NOTE

XML DTDs must also be registered in the SGML catalog.

docbook_xml_postinst

[ Top ] [ docbook.cygclass ] [ Install Functions ]

DESCRIPTION

Creates postinstall/preremove scripts to de/register the XML DTDs or XSL stylesheets with the system XML catalog.

src_compile (docbook)

[ Top ] [ docbook.cygclass ] [ Overloads ]

DEFINITION

src_compile() { :; }

src_install (docbook)

[ Top ] [ docbook.cygclass ] [ Overloads ]

DESCRIPTION

Runs docbook_install followed by the appropriate combination of docbook_dsssl_postinst, docbook_sgml_postinst, and/or docbook_xml_postinst.

distutils.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit distutils

DESCRIPTION

Compatibility wrapper for python-distutils.cygclass. python3-distutils.cygclass. or pypy-distutils.cygclass.

INHERITS

python-distutils.cygclass in most scenarios, OR python3-distutils.cygclass if PN begins with "python3-*" or python3.cygclass has already been inherit()ed, OR pypy-distutils.cygclass if PN begins with "pypy-*" or pypy.cygclass has already been inherit()ed.

WARNING

distutils.cygclass can only be used with one of python, python3, or pypy. If you wish to build a module for both python and python3 from the same source simultaneously, use distutils-multi.cygclass.

distutils_compile

[ Top ] [ distutils.cygclass ] [ Compile Functions ]

DESCRIPTION

Wrapper for python_distutils_compile/python3_distutils_compile/pypy_distutils_compile

distutils_install

[ Top ] [ distutils.cygclass ] [ Install Functions ]

DESCRIPTION

Wrapper for python_distutils_install/python3_distutils_install/pypy_distutils_install

distutils-multi.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit distutils-multi

DESCRIPTION

This cygclass provides a shortcut for building a module for both Python2 and Python3 from one source package. While not required, this saves the time involved with maintaining separate builds for each, and also saves bandwidth by avoiding the duplicate source tarball.

Sources built in this fashion should be divided into two binary packages, one for each Python version, as so:

    PKG_NAMES="python-foo python3-foo"
    python_foo_CONTENTS="usr/bin/ ${PYTHON_SITELIB#/} usr/share/doc/"
    python3_foo_CONTENTS=${PYTHON3_SITELIB#/}

NOTES

INHERITS

python-distutils.cygclass, python3-distutils.cygclass.

src_compile (distutils-multi)

[ Top ] [ distutils-multi.cygclass ] [ Overloads ]

DESCRIPTION

Creates separate build trees for each version of Python and runs the distutils build steps for each.

src_install (distutils-multi)

[ Top ] [ distutils-multi.cygclass ] [ Overloads ]

DESCRIPTION

Runs the distutils install steps for each version of Python. The distro default version of Python (currently 2.x) is run last so that unversioned scripts use the default version.

cvs.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  CVS_URI="..."
  [CVS_BRANCH="..."]
  [CVS_DATE="..."]
  [CVS_MODULE="..."]
  inherit cvs

DESCRIPTION

CVS is a centralized version control system. It was the first widely-used VCS for open-source software, but many projects have since moved to Subversion or one of the distributed VCSs.

This cygclass creates source tarballs from CVS checkouts.

NOTE

This cygclass sets a special SRC_URI for the tarball it creates. If additional sources are required, be sure to _add_ to SRC_URI rather than outright setting it.

REQUIRES

cvs

CVS_URI

[ Top ] [ cvs.cygclass ] [ Variables ]

DESCRIPTION

Address of CVS repository ("Root" in CVS parlance), usually in the form:

    :pserver:anonymous@<server_uri>:/remote/path/to/repository

CVS_BRANCH

[ Top ] [ cvs.cygclass ] [ Variables ]

DESCRIPTION

Specific revision or tag to checkout.

CVS_DATE

[ Top ] [ cvs.cygclass ] [ Variables ]

DESCRIPTION

Specific revision date to checkout. Preferred form is YYYY-MM-DD [HH:MM], where the time is optional; the hyphens in the date can be omitted.

NOTE

If a date is specified without a time, then the time 00:00 is implied, which will exclude all revisions made on the given date. Use the following day in CVS_DATE instead.

CVS_MODULE

[ Top ] [ cvs.cygclass ] [ Variables ]

DESCRIPTION

Name of the CVS module to check out. The default value is ORIG_PN if defined, or PN if not.

NOTE

In the rare case that the top-level directory of the checkout does not match the value of CVS_MODULE, then define SRC_DIR accordingly.

cross.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  CROSS_HOST="..."
  inherit cross

DESCRIPTION

This cygclass assists in building libraries to be used by "cross-compilers", which generate code to be run on a different platform (the "host" system) then the one on which it was built (and, in most cases, NOT on the build system), but can be used on the build system to cross-compile other software which depends on it.

Supported build systems for cross-compiling are autotools, cmake, qmake, and custom Makefiles. When using cross.cygclass, cygconf, cygcmake, and cygqmake4 automatically use the necessary arguments for cross-compiling, and cyginstall and most of the do* and new* installation functions install into the sysroot instead of the native root. Note that those installation functions which accept an absolute path (dodir, exeinto, insinto, dosym) make no assumptions about the sysroot.

CROSS_HOST

[ Top ] [ cross.cygclass ] [ Variables ]

DESCRIPTION

The CPU-VENDOR-OS[-TOOLCHAIN] triplet, or customary abbreviation thereof, describing the system for which you are cross-compiling; for example:

Note that while 'unknown' vendor tags are often omitted, particularly in conjunction with a 'none' OS tag, as above, this does not apply to e.g. 'armv7hl-unknown-linux-gnueabi' and other systems.

NOTES

CROSS_SYSROOT

[ Top ] [ cross.cygclass ] [ Definitions ]

DESCRIPTION

GCC cross-compilers provide the concept of a sysroot: a directory which acts as the virtual root of the target filesystem, resulting in CROSS_SYSROOT/$prefix/include and CROSS_SYSROOT/$prefix/lib being in the default search paths without requiring -I or -L flags.

This means that software natively compiled for the host system can be unpacked into the sysroot and used for cross-compiling. This is especially useful when bootstrapping a new toolchain; e.g. for Linux, one can just download glibc and kernel headers packages from a Linux distro, unpack them into the CROSS_SYSROOT, and use those to build a cross-GCC for the first time.

If you do use natively-compiled host packages under the sysroot, you must fix paths in all *-config scripts, .la libtool libraries, and .pc pkg-config files so they do not erroneously point to Cygwin-native headers and libraries.

CROSS_PREFIX

[ Top ] [ cross.cygclass ] [ Definitions ]

DESCRIPTION

The $prefix directory under the sysroot. This definition is meant to be used in configure or cmake arguments to avoid dealing with different prefixes on various systems.

CROSS_BINDIR

[ Top ] [ cross.cygclass ] [ Definitions ]

DESCRIPTION

The $prefix/bin directory under the sysroot. This definition is meant to be used in configure or cmake arguments to avoid dealing with different prefixes on various systems.

CROSS_INCLUDEDIR

[ Top ] [ cross.cygclass ] [ Definitions ]

DESCRIPTION

The $prefix/include directory under the sysroot. This definition is meant to be used in configure or cmake arguments to avoid dealing with different prefixes on various systems.

CROSS_LIBDIR

[ Top ] [ cross.cygclass ] [ Definitions ]

DESCRIPTION

The $prefix/lib directory under the sysroot. This definition is meant to be used in configure or cmake arguments to avoid dealing with different prefixes on various systems.

CROSS_DATADIR

[ Top ] [ cross.cygclass ] [ Definitions ]

DESCRIPTION

The $prefix/share directory under the sysroot. This definition is meant to be used in configure or cmake arguments to avoid dealing with different prefixes on various systems.

doelflib

[ Top ] [ cross.cygclass ] [ Install Functions ]

SYNOPSIS

  doelflib libfoo.so.X.Y.Z [...]

DESCRIPTION

Installs the given ELF libraries into the CROSS_SYSROOT libdir and creates the symlinks for the SONAME (usually .so.X) and the link library (.so).

NOTE

Only the real library file should be passed to doelflib, not the symlinks usually created in the build directory.

cross_sysrootize

[ Top ] [ cross.cygclass ] [ Install Functions ]

SYNOPSIS

  cross_sysrootize FILE [FILE] ...

DESCRIPTION

Adds CROSS_SYSROOT to all paths in given text file(s). Paths should be specified as if on the system, without a leading $D.

cross_desysrootize

[ Top ] [ cross.cygclass ] [ Install Functions ]

SYNOPSIS

  cross_desysrootize FILE [FILE] ...

DESCRIPTION

Removes CROSS_SYSROOT from all paths in given text file(s). Paths should be specified as if on the system, without a leading $D.

cmake.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit cmake

DESCRIPTION

CMake is a build system which can be used instead of autoconf and automake. The build configuration and commands are written as CMakeLists.txt files in each directory, which cmake uses to run configuration tests and create Makefiles, config headers, and other files.

CMake can be used for a wide variety of software, but is most commonly used in KDE4 and some Qt4 packages.

INHERITED BY

kde4.cygclass, opensync.cygclass, qt4-cmake.cygclass

cygcmake

[ Top ] [ cmake.cygclass ] [ Compile Functions ]

SYNOPSIS

  cygcmake [OPTIONS]

DESCRIPTION

Runs cmake to configure the package. cygcmake passes cmake the flags necessary to install the package into the standard prefix and according to the Filesystem Hierarchy Standard and the Cygwin package guidelines. In addition, all arguments to cygcmake are passed to cmake, followed by CYGCMAKE_ARGS, if set.

NOTES

REQUIRES

cmake

CYGCMAKE_SOURCE

[ Top ] [ cygcmake ] [ Variables ]

DESCRIPTION

Set this variable to the directory containing the top-level CMakeLists.txt. This is only necessary when the top-level CMakeLists.txt is not in $S and cygcmake is not being run in the same subdirectory of $B which under $S contains the top-level CMakeLists.txt. (IOW if the top-level CMakeLists.txt is in $S/unix and cygcmake is run from $B/unix, setting CYGCMAKE_SOURCE would not be necessary.)

CYGCMAKE_ARGS

[ Top ] [ cygcmake ] [ Variables ]

DESCRIPTION

Additional flags to pass to cmake during cygcmake.

NOTES

Flags in CYGCMAKE_ARGS follow, and therefore override, flags passed by default and as arguments to cygcmake.

src_compile (cmake)

[ Top ] [ cmake.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${B}
        cygcmake
        cygmake
}

claws-mail.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit claws-mail

DESCRIPTION

Claws Mail is an email client for GTK+ which has support for plugins.

This cygclass sets several variables for building Claws Mail plugin packages. The build process is handled through gnome2.cygclass.

NOTE

PN should be set to claws-mail-<plugin_name>.

INHERITS

gnome2.cygclass

REQUIRES

claws-mail-devel

CATEGORY (claws-mail)

[ Top ] [ claws-mail.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Mail"

SUMMARY (claws-mail)

[ Top ] [ claws-mail.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="Claws Mail ${CLAWS_MAIL_PLUGIN} plugin"

HOMEPAGE (claws-mail)

[ Top ] [ claws-mail.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.claws-mail.org/plugins.php"

SRC_URI (claws-mail)

[ Top ] [ claws-mail.cygclass ] [ Overloads ]

DEFINITION

SRC_URI="http://www.claws-mail.org/downloads/plugins/${ORIG_PN}-${PV}.tar.gz"

clang.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit [cross] clang

DESCRIPTION

Clang is a BSD-licensed compiler suite, based on the LLVM code-generation and optimization libraries, which supports a wide variety of platforms and architectures.

This cygclass sets CC, CXX, OBJC, and OBJCXX to use the clang compiler suite in place of GCC. If cross-compiling, clang.cygclass must be inherit()ed after cross.cygclass.

bzr.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  BZR_URI="..."
  [BZR_REV="..."]
  inherit bzr

DESCRIPTION

Developed by Canonical Ltd., the company behind Ubuntu Linux, Bazaar is a distributed version control system which is most commonly used by software hosted on Launchpad.

This cygclass creates source tarballs from Bazaar checkouts.

NOTES

This cygclass sets a special SRC_URI for the tarball it creates. If additional sources are required, be sure to _add_ to SRC_URI rather than outright setting it.

REQUIRES

bzr

BZR_URI

[ Top ] [ bzr.cygclass ] [ Variables ]

DESCRIPTION

URI of upstream Bazaar repository/branch

NOTES

This variable is required when inherit()ing bzr.

Software hosted on Launchpad will have a special URI beginning with "lp:"; see `bzr help launchpad' for details.

BZR_REV

[ Top ] [ bzr.cygclass ] [ Variables ]

DESCRIPTION

Specific revision to checkout

NOTES

This variable is optional. If unset, the latest revision for the branch specified in BZR_URI will be fetched.

See `bzr help revisionspec' for possible forms of revision identifiers.

berkdb.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit [java] [tcl] berkdb

DESCRIPTION

The Berkeley DB is an embedded database in the form of a C library and several command-line utilities, and includes optional C++, Java, and Tcl bindings.

This cygclass does all the work involved in building and packaging versions 3.x, 4.x, and 5.x of the Berkeley DB. Older versions are not supported.

The C++ bindings are always enabled, but the Java and Tcl bindings will only be enabled if their respective cygclasses are inherited _before_ berkdb.

INHERITS

autotools.cygclass

CATEGORY (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Database Libs"

SUMMARY (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="Berkeley DB version ${SLOT}"

DESCRIPTION (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DEFINITION

DESCRIPTION="Oracle Berkeley DB is the industry-leading open source, embeddable
database engine that provides developers with fast, reliable, local
persistence with zero administration. Oracle Berkeley DB is a library
that links directly into your application. Your application makes simple
function calls, rather than sending messages to a remote server,
eliminating the performance penalty of client-server architectures."

HOMEPAGE (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://www.oracle.com/technology/products/berkeley-db/db/index.html"

SRC_URI (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DESCRIPTION

Download location of the Berkeley DB source tarball.

PATCH_URI (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

NOTE

Upstream patches are automatically downloaded based on the fourth component of PV; e.g. version 4.6.21.4 will download patches 1-4 for the 4.6.21 tarball.

WARNING

If additional custom patches are required, be sure to add to, not override, the PATCH_URI variable as so:

    PATCH_URI+=" 4.6-libtool22.patch"

Failure to do so will result in upstream patches not being included in your package.

PKG_NAMES (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DESCRIPTION

The following binary packages are created automatically:

The following packages are created if their bindings are enabled:

berkdb_autoreconf

[ Top ] [ berkdb.cygclass ] [ Compile Functions ]

DESCRIPTION

This function is used instead of cygautoreconf due to the unique build system of the Berkeley DB. This step is required, as several build system files will need to be patched for a working build:

REQUIRES

autoconf, automake, libtool

berkdb_compile

[ Top ] [ berkdb.cygclass ] [ Compile Functions ]

DESCRIPTION

This function calls cygconf with the necessary options for building the the C library shared and static, and the C++, Java and/or Tcl bindings.

NOTE

The C++ library, JNI bindings, and Tcl bindings are specially built to link against the C library instead of including the sources thereof. This means that the java-dbX.Y and tcl-dbX.Y packages must depend on libdbX.Y.

berkdb_install

[ Top ] [ berkdb.cygclass ] [ Install Functions ]

DESCRIPTION

This function installs the Berkeley DB into $D and moves some files so that multiple versions may be installed in parallel.

berkdb_postinst

[ Top ] [ berkdb.cygclass ] [ Install Functions ]

DESCRIPTION

This function creates postinstall and preremove scripts which manage the unversioned symlinks for the headers and link libraries with alternatives(8). No such symlinks are created for the command-line utilities, as the database and/or log formats do change from one version to the next.

NOTE

All libdbX.Y-devel packages must depend on alternatives.

src_compile (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${S}/dist
        berkdb_autoreconf
        cd ${B}
        berkdb_compile
}

src_install (berkdb)

[ Top ] [ berkdb.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        berkdb_install
        berkdb_postinst
}

autotools.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

DESCRIPTION

GNU Autotools (comprising of Gettext, Autoconf, Automake, and Libtool) comprise the build system of many source packages of all types.

This Cygclass provides the functions necessary to configure and build autotool-based packages. Since these are so widespread, this is the assumed build system if no other is specified, and provides the default src_compile accordingly.

EXAMPLES

A basic autotool-based program package can be as simple as:

    NAME="grep"
    VERSION=2.14
    RELEASE=1
    CATEGORY="Base"
    SUMMARY="Searches files for text patterns"
    DESCRIPTION="The grep command searches one or more input files for lines
    containing a match to a specified pattern. By default, grep prints the
    matching lines."
    HOMEPAGE="http://www.gnu.org/software/grep/"
    SRC_URI="mirror://gnu/grep/grep-${VERSION}.tar.xz"

If the only customization needed is to add configure flags, use CYGCONF_ARGS:

    NAME="nano"
    VERSION=2.2.6
    RELEASE=1
    CATEGORY="Editors"
    SUMMARY="Enhanced clone of Pico editor"
    DESCRIPTION="GNU nano is a small and friendly console-mode text editor, based
    on and mostly compatible with UW Pico. Besides basic text editing, nano offers
    many extra features like an interactive search and replace, go to line and
    column number, auto-indentation, feature toggles, internationalization support,
    and filename tab completion."
    HOMEPAGE="http://www.nano-editor.org/"
    SRC_URI="http://www.nano-editor.org/dist/v${VERSION%.*}/nano-${VERSION}.tar.gz"
    PATCH_URI="2.2.4-wchar.patch"
    
    DIFF_EXCLUDES="nano.spec"
    
    CYGCONF_ARGS="--without-slang"

Packages providing libraries need a bit more to handle split lib/devel packaging:

    NAME="libdatrie"
    VERSION=0.2.6
    RELEASE=1
    CATEGORY="Libs"
    SUMMARY="Double-array digital search tree library"
    DESCRIPTION="This is an implementation of double-array structure for
    representing trie, as proposed by Junichi Aoe."
    
    PKG_NAMES="${NAME}1 ${NAME}-devel ${NAME}-doc"
    # see PKG_CONTENTS
    libdatrie1_CONTENTS="usr/bin/cygdatrie-1.dll"
    # trietool is a dev-util
    libdatrie_devel_CONTENTS="usr/bin/trietool* usr/include/ usr/lib/ usr/share/man/"
    libdatrie_doc_CONTENTS="usr/share/doc/"

Sometimes a package uses its own aclocal macros but does not ship them, or uses an older autoconf which is incompatible with the current version, making cygautoreconf impossible. In that case, as long as the package does not use libtool, you may be able to skip cygautoreconf:

    src_compile() {
      # cannot autoreconf: undefined macro: AC_ACVERSION
      cd ${B}
      cygconf --enable-iconv
      cygmake
    }

For more complicated packages, additional compile and/or install steps may be necessary, in which case you should override the default src_compile and/or src_install:

    src_compile() {
      # the configure script is not distributed, and VPATH builds aren't supported
      cd ${S}
      cygmake configure
      lndirs
      cd ${B}
      cygconf --htmldir=/usr/share/doc/${NAME}/html --mandir=/usr/share/man
      cygmake all
      # these can't be built in parallel
      cygmake html
      cygmake man
      cygmake info
      cygmake pdf
    }
    
    src_install() {
      cd ${B}
      cyginstall install-html install-man install-info install-pdf pdfdir=/usr/share/doc/${NAME}
    
      # ship bash completion
      insinto /etc/bash_completion.d
      doins ${S}/contrib/completion/*.bash
    }

As noted below, cygconf is only intended for autoconf-compatible configure scripts. Some packages use a custom configure script which is not compatible, in which case you need to call configure yourself:

    src_compile() {
      # package is not VPATH aware
      lndirs
      cd ${B}
      # custom configure incompatible with autoconf
      ./configure --prefix=/usr || error "configure failed"
      cygmake
   }

NOTES

These functions were previously part of cygport itself, but were moved out for easier maintainability. For backwards compatibility, this cygclass is automatically inherit()ed, so these functions are always available as before.

Normally, a cygclass can only be inherited once. Even though this is auto-inherit()ed, it can still be manually inherit()ed once more if desired. In most cases this is unnecessary, but it can be useful if you inherit other cygclasses but still want the default src_compile(). For example:

    inherit perl autotools

provides all the PERL_* definitions and perl_*() functions, but will build with cygconf/cygmake by default instead of with perl's ExtUtils::MakeMaker or Module::Build.

INHERITED BY

No Cygclass actually inherit()s autotools.cygclass for the reasons stated above, but the functions defined herein are used by a number of Cygclasses:

apache2.cygclass, berkdb.cygclass, ggz.cygclass, gnome2.cygclass, gnustep.cygclass, gst-plugins.cygclass, gtkmm.cygclass, mate.cygclass, opensync.cygclass, php.cygclass, pygtk.cygclass, toolchain.cygclass, xfce4.cygclass, xorg.cygclass

gnuconfigize

[ Top ] [ autotools.cygclass ] [ Compile Functions ]

SYNOPSIS

  gnuconfigize DIRECTORY [DIRECTORY ...]

DESCRIPTION

Updates the config.guess and config.sub files in the given directory(ies). This may be necessary when building packages natively for x86_64-cygwin, which is not recognized by older versions of this file.

NOTE

This function is called automatically during cygautoreconf; it need only be called directly for packages which install their copies of this file (e.g. the autotools themselves) or in the unusual case where cygautoreconf absolutely cannot be used.

cygautoreconf

[ Top ] [ autotools.cygclass ] [ Compile Functions ]

SYNOPSIS

  cygautoreconf

DESCRIPTION

Updates the autotool build system with autoreconf, which runs the tools from autoconf, automake, gettext-devel, and libtool to update their respective components. Must be run in the directory containing the top-level configure.ac or configure.in (usually $S).

NOTE

If, during cygautoreconf, you get a warning such as:

     Warning: ./configure.ac may require LT_OUTPUT macro

then the package configure script is relying on libtool 1.5 behaviour where the libtool script is generated during AC_PROG_LIBTOOL, and can therefore be called anytime thereafter in the configure script. Some packages do this either to read the libtool config, or to run compiling/linking tests with the libtool script.

However, with the current libtool 2.2, the libtool script is generated during the AC_OUTPUT phase at the end of configure, so these configure commands will not work as designed. The simplest portable solution is to add the following line after the AC_PROG_LIBTOOL call:

    m4_ifdef([LT_OUTPUT], [LT_OUTPUT])

which means: if libtool 2.2 is in use, generate a libtool script early so that it can be used during configure; if libtool 1.5 is in use, this line has no effect. Such a patch is suitable to be pushed upstream.

WARNING

Skipping this step is strongly discouraged. Patches to configure.ac, aclocal macros, or Makefile.am files will not take effect until their tools have been regenerated. Also, Cygwin's libtool package often includes patches which are not yet available in the latest upstream release, so libraries may not be built optimally, or even correctly, without this step having been run.

REQUIRES

autoconf, automake, gettext-devel, libtool

WANT_AUTOCONF

[ Top ] [ cygautoreconf ] [ Variables ]

DESCRIPTION

This variable controls the version of autoconf to be used. Valid settings are "2.1" (for the 2.13 version) and "2.5" (the default, for the 2.5x/2.6x series).

WANT_AUTOMAKE

[ Top ] [ cygautoreconf ] [ Variables ]

DESCRIPTION

This variable controls the version of automake to be used. Valid settings are currently "1.4", "1.5", etc. through "1.14". If undefined, the version used by the preexisting automake files will be used; if nonexistant (e.g. a VCS checkout), the newest available automake will be used.

NO_ACLOCAL

[ Top ] [ cygautoreconf ] [ Variables ]

DESCRIPTION

Define this variable to a boolean true value to skip running aclocal during cygautoreconf.

WARNING

This is strongly discouraged, and should only be used when a package uses its own aclocal macros which are not provided in the tarball *and* the package does not use libtool.

NO_LIBTOOLIZE

[ Top ] [ cygautoreconf ] [ Variables ]

DESCRIPTION

Define this variable to a boolean true value to skip running libtoolize during cygautoreconf.

WARNING

This is strongly discouraged. Cygwin's libtool usually includes patches required for optimal results on Cygwin which are not yet available in even the most recent upstream releases.

NO_AUTOCONF

[ Top ] [ cygautoreconf ] [ Variables ]

DESCRIPTION

Define this variable to a boolean true value to skip running autoconf during cygautoreconf.

WARNING

This is strongly discouraged. Running libtoolize, changes to aclocal macros, or changes to configure.ac/configure.in all require autoconf to be run for a working build.

NO_AUTOHEADER

[ Top ] [ cygautoreconf ] [ Variables ]

DESCRIPTION

Sometimes autoreconf thinks a package uses autoheader when in fact it does not, in which case cygautoreconf will fail during the autoheader stage. In such cases, provided you have not patched any AC_DEFINEs, set this variable to a boolean true value to skip the autoheader step.

NO_AUTOMAKE

[ Top ] [ cygautoreconf ] [ Variables ]

DESCRIPTION

Define this variable to a boolean true value to skip running automake during cygautoreconf.

WARNING

This is strongly discouraged. If aclocal and/or autoconf have been run, running automake is required for a working build.

NO_AUTOPOINT

[ Top ] [ cygautoreconf ] [ Variables ]

DESCRIPTION

Define this variable to a boolean true value to skip running autopoint during cygautoreconf.

WARNING

This is strongly discouraged. Cygwin's gettext package often has patches which are not yet available in even the latest official release, and earlier versions of gettext are incompatible with the current libtool.

ACLOCAL_FLAGS

[ Top ] [ cygautoreconf ] [ Variables ]

DESCRIPTION

Set this variable when a package ships with its own aclocal macros but their directory is not included when running aclocal during cygautoreconf. If needed, usually in the form "-I DIR" (where DIR is the relative subdirectory containing the aclocal macros, often m4/).

cygconf

[ Top ] [ autotools.cygclass ] [ Compile Functions ]

SYNOPSIS

  cygconf [CONFIGURE_FLAG] [CONFIGURE_FLAG] ...

DESCRIPTION

Runs the configure script for the package. cygconf passes configure the flags necessary to install the package into the /usr prefix and according to the Filesystem Hierarchy Standard and the Cygwin package guidelines. In addition, all arguments to cygconf are passed to configure, followed by CYGCONF_ARGS, if set.

NOTES

CYGCONF_SOURCE

[ Top ] [ cygconf ] [ Variables ]

DESCRIPTION

Set this variable to the directory containing the configure script. This is only necessary when configure is not in $S and cygconf is not being run in the same subdirectory of $B which under $S contains configure. (IOW if the configure script is in $S/unix and cygconf is run from $B/unix, setting CYGCONF_SOURCE would not be necessary.)

CYGCONF_ARGS

[ Top ] [ cygconf ] [ Variables ]

DESCRIPTION

Additional flags to pass to configure, as a string.

NOTE

Flags in CYGCONF_ARGS follow, and therefore override, flags passed by default and as arguments to cygconf.

src_compile (autotools)

[ Top ] [ autotools.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        cd ${S}
        cygautoreconf
        cd ${B}
        cygconf
        cygmake
}

aspell-dict.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  [ASPELL_COMPAT=...]
  inherit aspell-dict

DESCRIPTION

Aspell is a GNU project providing a spell checking library and command-line tool. Aspell can support multiple languages by installing dictonaries.

The purpose of this cygclass is to create Aspell dictionary packages for the Cygwin Aspell package. aspell-dict.cygclass expects the package name to be "aspell-<language_code>". If the source tarball is named "aspell5-*" or "aspell6-*", ASPELL_COMPAT must be declared before inheriting.

EXAMPLE

    ASPELL_COMPAT=6
    inherit aspell-dict
    
    NAME="aspell-en"
    VERSION=7.1-0
    RELEASE=1
    CATEGORY="Text"
    SUMMARY="Aspell English dictionaries"
    DESCRIPTION="GNU Aspell is a Free and Open Source spell checker designed
    to eventually replace Ispell. It can either be used as a library or as an
    independent spell checker.
    This package provides English dictionaries for Aspell."

REQUIRES

aspell

SEE ALSO

mirror_gnu

ASPELL_COMPAT

[ Top ] [ aspell-dict.cygclass ] [ Variables ]

DESCRIPTION

Dictionary compatibility level:

NOTE

This variable, if necessary, must be declared before inheriting aspell-dict.cygclass.

ASPELL_DATADIR

[ Top ] [ aspell-dict.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Aspell platform-independent dictionary files

ASPELL_DICTDIR

[ Top ] [ aspell-dict.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Aspell compiled dictionary files

ASPELL_LANG

[ Top ] [ aspell-dict.cygclass ] [ Definitions ]

DESCRIPTION

ISO 639 short code for language name

ASPELL_LANG_FULL

[ Top ] [ aspell-dict.cygclass ] [ Definitions ]

DESCRIPTION

The English name for the language specified in ASPELL_LANG.

NOTE

The iso-codes package must be installed in order to provide this definition.

CATEGORY (aspell-dict)

[ Top ] [ aspell-dict.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Text"

SUMMARY (aspell-dict)

[ Top ] [ aspell-dict.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="Aspell ${ASPELL_LANG_FULL:-${ASPELL_LANG}} dictionary"

DESCRIPTION (aspell-dict)

[ Top ] [ aspell-dict.cygclass ] [ Overloads ]

DEFINITION

DESCRIPTION="GNU Aspell is a Free and Open Source spell checker designed to
eventually replace Ispell. It can either be used as a library or as an
independent spell checker.
This package provides ${ASPELL_LANG_FULL:-${ASPELL_LANG}} dictionaries for Aspell."

HOMEPAGE (aspell-dict)

[ Top ] [ aspell-dict.cygclass ] [ Overloads ]

DEFINITION

HOMEPAGE="http://aspell.net/"

SRC_URI (aspell-dict)

[ Top ] [ aspell-dict.cygclass ] [ Overloads ]

DEFINITION

SRC_URI="mirror://gnu/aspell/dict/${ASPELL_LANG}/${ORIG_PN}-${ORIG_PV}.tar.bz2"

aspell_dict_compile

[ Top ] [ aspell-dict.cygclass ] [ Compile Functions ]

SYNOPSIS

  aspell_dict_compile

DESCRIPTION

Compiles an Aspell dictionary by running the custom configure script, then calling cygmake.

doaspelldict

[ Top ] [ aspell-dict.cygclass ] [ Install Functions ]

SYNOPSIS

  doaspelldict FILES

DESCRIPTION

Installs the Aspell dictionary files to the correct directories. Aspell dictionaries usually install with the default src_install, so this is generally unnecessary.

doaspelldata

[ Top ] [ aspell-dict.cygclass ] [ Install Functions ]

DESCRIPTION

Alias for doaspelldict.

src_compile (aspell-dict)

[ Top ] [ aspell-dict.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        aspell_dict_compile
}

apache2.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit apache2

DESCRIPTION

The Apache Web Server is an HTTP server which can be extended through plugins, known as DSOs, to support all sorts of tasks, scripting languages, and more. In version 2.x, DSOs use the ".so" extension, even on platforms which use DLLs.

The purpose of apache2.cygclass is to provide functions and definitions for building DSOs for the Cygwin Apache 2.x packages. Cygwin packages doing so should use the "apache2-" prefix before the canonical package name. Because there is no consistent DSO source buildsystem, src_compile and src_install must be defined yourself.

EXAMPLES

Apache module source packages do not have a single system. Some packages are autoconf-based:

    inherit apache2
    
    NAME="apache2-mod_clamav"
    VERSION=0.23
    RELEASE=1
    CATEGORY="Web"
    SUMMARY="Apache 2 ClamAV filter module"
    DESCRIPTION="mod_clamav is an Apache 2 filter which scans the content
    delivered by the proxy module (mod_proxy) for viruses using the Clamav
    virus scanning engine."
    HOMEPAGE="http://software.othello.ch/mod_clamav/"
    SRC_URI="http://software.othello.ch/mod_clamav/mod_clamav-${VERSION}.tar.gz"
    SRC_DIR="mod_clamav-${VERSION}"
    PATCH_URI="0.22-cygwin-layout.patch"
    
    src_compile() {
      cd ${S}
      cygautoreconf
      cd ${B}
      apache2_compile
    }
    
    src_install() {
      cd ${B}
      doapache2mod mod_clamav
      doapache2conf ${S}/sample.conf ${S}/safepatterns.conf
      apache2_postinst
    }

Other simple module just ship the sources without a build system:

    inherit apache2
    
    NAME="apache2-mod_geoip"
    VERSION=1.2.8
    RELEASE=1
    CATEGORY="Web"
    SUMMARY="Apache 2.x GeoIP module"
    DESCRIPTION="mod_geoip2 is an Apache 2.0 module for finding the country and
    city that a web request originated from.  It uses the GeoIP library and
    database to perform the lookup."
    HOMEPAGE="http://www.maxmind.com/app/mod_geoip"
    SRC_URI="http://www.maxmind.com/download/geoip/api/mod_geoip2/mod_geoip2_${VERSION}.tar.gz"
    SRC_DIR="mod_geoip2_${VERSION}"
    
    src_compile() {
      lndirs
      cd ${B}
      apache2_apxs_compile *.c -lGeoIP
    }
    
    src_install() {
      cd ${B}
      doapache2mod mod_geoip
      apache2_postinst
      dodoc README.php
    }

REQUIRES

apache2-devel, libapr1-devel, libaprutil1-devel

SEE ALSO

mirror_apache

CATEGORY (apache2)

[ Top ] [ apache2.cygclass ] [ Overloads ]

DEFINITION

CATEGORY="Web"

SUMMARY (apache2)

[ Top ] [ apache2.cygclass ] [ Overloads ]

DEFINITION

SUMMARY="Apache 2.x ${APACHE_MOD_NAME} module"

APXS2

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Path to apxs2(8), the APache eXtenSion tool.

HTTPD2

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Path to the Apache 2.x server.

APACHE2_VERSION

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Full version of the Apache 2.x server.

APACHE2_INCLUDEDIR

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Location of Apache 2.x headers.

APACHE2_LIBEXECDIR

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Apache 2.x DSOs.

APACHE2_SYSCONFDIR

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Apache 2.x configuration files.

APACHE2_CFLAGS

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Compile flags for building Apache 2.x DSOs.

APACHE2_LIBS

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for building Apache 2.x DSOs.

NOTE

This is Cygwin specific due to the linking requirements of PE/COFF DLLs.

APR_VERSION

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Major version of APR libraries used by the Apache 2.x server.

APR_CONFIG

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Path to matching APR_VERSION-specific apr-config script

APU_CONFIG

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Path to matching APR_VERSION-specific apu-config script

APR_CFLAGS

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Compile flags for building against APR libraries

APR_LIBS

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for building against APR libraries

APR_LIBTOOL

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Path to libtool script used by APR-dependent packages

APREQ2_CONFIG

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Path to apreq2-config script

APREQ2_CFLAGS

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Compile flags for building against libapreq2

REQUIRES

libapreq2-devel

APREQ2_LIBS

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for building against libapreq2

REQUIRES

libapreq2-devel

apache2_compile

[ Top ] [ apache2.cygclass ] [ Compile Functions ]

SYNOPSIS

  apache2_compile [CONFIGURE_FLAGS]

DESCRIPTION

Build a DSO which uses an autoconf/libtool buildsystem by calling cygconf and cygmake with some Apache-specific flags. Arguments, if any, are passed as configure flags.

NOTE

This is very generic and may not work in all cases.

apache2_apxs_compile

[ Top ] [ apache2.cygclass ] [ Compile Functions ]

SYNOPSIS

  apache2_apxs_compile [CFLAGS] SOURCES [LIBS]

DESCRIPTION

Uses APXS2 to build a DSO from one or more .c source files which ship without their own build system.

ARGUMENTS

doapache2conf

[ Top ] [ apache2.cygclass ] [ Install Functions ]

SYNOPSIS

  doapache2conf CONF_FILE [CONF_FILE] ...

DESCRIPTION

Installs additional Apache configuration files.

NOTE

All files passed to doapache2conf will be concenated into one file named APACHE_MOD_NAME.conf. Therefore, this must only be called once.

doapache2mod

[ Top ] [ apache2.cygclass ] [ Install Functions ]

SYNOPSIS

  doapache2mod DSO [DSO] ...

DESCRIPTION

Installs one or more DSOs into $D/APACHE2_LIBEXECDIR. DSOs are usually a .la libtool library (whether build with apache2_compile or apache2_apxs_compile), but may also be a .so DLL if built without libtool.

apache2_postinst

[ Top ] [ apache2.cygclass ] [ Install Functions ]

SYNOPSIS

  apache2_postinst

DESCRIPTION

Creates postinstall and preremove scripts which automatically add/remove the necessary lines in httpd.conf for loading this package's DSOs. This means that users need not do anything more than install the package in order to use the DSO.

apache.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit apache

DESCRIPTION

Deprecated compatibility wrapper for apache2.cygclass.

INHERITS

apache2.cygclass

apache_compile

[ Top ] [ apache.cygclass ] [ Compile Functions ]

DESCRIPTION

Alias for apache2_compile

apache_apxs_compile

[ Top ] [ apache.cygclass ] [ Compile Functions ]

DESCRIPTION

Alias for apache2_apxs_compile

doapacheconf

[ Top ] [ apache.cygclass ] [ Install Functions ]

DESCRIPTION

Alias for doapache2conf

doapachemod

[ Top ] [ apache.cygclass ] [ Install Functions ]

DESCRIPTION

Alias for doapache2mod

apache_postinst

[ Top ] [ apache.cygclass ] [ Install Functions ]

DESCRIPTION

Alias for apache2_postinst

ant.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  inherit ant

DESCRIPTION

Apache Ant is a build system written in Java and used in many Java projects. The build is controlled by a single XML file, named 'build.xml' by default, which specifies the targets to be built, the commands to build them, and the options which may be given to control the build.

Ant includes support for a number of commands (called tasks), including compiling and executing Java code, generating documentation, downloading files, de/compressing archives, and running testsuites. Third-party Ant tasks also exist to support additional commands.

This cygclass builds packages which use the Ant build system.

INHERITS

java.cygclass

REQUIRES

ant

ANT

[ Top ] [ ant.cygclass ] [ Definitions ]

DESCRIPTION

Absolute path to the Ant build tool.

ANT_HOME

[ Top ] [ ant.cygclass ] [ Definitions ]

DESCRIPTION

Root datadir for the Ant build tool. This definition is exported to the build environment.

ANT_OPTS

[ Top ] [ ant.cygclass ] [ Variables ]

DESCRIPTION

Options for the Ant build tool to pass to the Java runtime, e.g. -Xmx. This definition is exported to the build environment.

ANT_BUILD_XML

[ Top ] [ ant.cygclass ] [ Variables ]

DESCRIPTION

Name or relative path of the Ant build file. This need only be defined if it is not build.xml (the default).

cygant

[ Top ] [ ant.cygclass ] [ Compile Functions ]

SYNOPSIS

  cygant [OPTIONS]

DESCRIPTION

Runs Ant with the given options, if any.

doanttask

[ Top ] [ ant.cygclass ] [ Install Functions ]

SYNOPSIS

  doanttask JAR_FILE [JAR_FILE] ...

DESCRIPTION

Installs the given .jar file(s) into the Ant task directory.

ANT_BUILD_ARGS

[ Top ] [ ant.cygclass ] [ Variables ]

DESCRIPTION

Arguments to pass to the Ant build command if this src_compile is used.

ANT_BUILD_TARGETS

[ Top ] [ ant.cygclass ] [ Variables ]

DESCRIPTION

Target(s) to be built during the Ant build command if this src_compile is used.

src_compile (ant)

[ Top ] [ ant.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        cygant ${ANT_BUILD_ARGS} ${ANT_BUILD_TARGETS}
}

ANT_TEST_ARGS

[ Top ] [ ant.cygclass ] [ Variables ]

DESCRIPTION

Arguments to pass to Ant during testing if this src_test is used.

ANT_TEST_TARGETS

[ Top ] [ ant.cygclass ] [ Variables ]

DESCRIPTION

Target(s) to be built to run the testsuite if this src_test is used.

src_test (ant)

[ Top ] [ ant.cygclass ] [ Overloads ]

DEFINITION

src_test() {
        cd ${B}
        ANT_TASKS="${ANT_TASKS} junit" cygant ${ANT_TEST_ARGS} ${ANT_TEST_TARGETS:-test}
}

ANT_INSTALL_JARS

[ Top ] [ ant.cygclass ] [ Variables ]

DESCRIPTION

Relative paths of .jar files to be installed by ant_install.

ANT_INSTALL_JAVADOC

[ Top ] [ ant.cygclass ] [ Variables ]

DESCRIPTION

Relative paths of javadoc directories to be installed by ant_install.

ANT_INSTALL_TASKS

[ Top ] [ ant.cygclass ] [ Variables ]

DESCRIPTION

Relative paths of Ant task .jar files to be installed by ant_install.

ANT_INSTALL_WRAPPERS

[ Top ] [ ant.cygclass ] [ Variables ]

SYNOPSIS

  ANT_INSTALL_WRAPPERS="name1,name1.jar[,main.class1] name2,name2.jar[,main.class2] ..."

DESCRIPTION

Comma-delineated set of arguments to pass to java_wrapper. Multiple wrappers can be created by separating the argument sets with spaces.

ant_install

[ Top ] [ ant.cygclass ] [ Install Functions ]

SYNOPSIS

  ant_install

DESCRIPTION

Installs the files and directories specified by ANT_INSTALL_JARS, ANT_INSTALL_JAVADOC, and/or ANT_INSTALL_TASKS, at least one of which must be defined.

src_install (ant)

[ Top ] [ ant.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        ant_install
}