/home/Yaakov/src/cygport/tests/cygport-0.20.1-1.noarch/build/doc/manual

Cygport Reference Manual

### TABLE OF CONTENTS

- Title
- Introduction
- Usage
- Configuration

- cygport.conf
- DISTDIR
- MAKEOPTS
- SSH_KEY
- SIG
- BROWSER
- PAGER

- Format

- Syntax

- defined
- pushd
- popd
- boolean
- cross_compiling
- inherit
- inherited

- Messages

- error
- warning
- inform
- verbose

- Globals

- NAME
- VERSION
- RELEASE
- PN
- PV
- PR
- P
- PVR
- PF
- S
- B
- C
- D

- Information

- HOMEPAGE
- DEPS_PATH
- DEPEND

- Downloading

- SRC_URI
- Mirrors

- mirror_apache
- mirror_berlios
- mirror_cpan
- mirror_cran
- mirror_ctan
- mirror_debian
- mirror_gcc
- mirror_gentoo
- mirror_gnome
- mirror_gnu
- mirror_gnustep
- mirror_kde
- mirror_mplayer
- mirror_mysql
- mirror_portage
- mirror_rubyforge
- mirror_savannah
- mirror_sourceforge
- mirror_sourceware
- mirror_qt
- mirror_trolltech
- mirror_vim
- mirror_xfce

- Preparation

- SRC_DIR
- DISTCLEANFILES
- PATCH_URI

- Checks

- check_header
- check_lib
- check_prog
- check_prog_req
- check_tool
- check_target_tool
- check_pkg_config
- check_girepository_module
- check_lua_module
- check_ocaml_module
- check_perl_module
- check_php_module
- check_python_module
- check_python3_module
- check_pypy_module
- check_R_module
- check_ruby_module
- check_tcl_module
- check_tex_module
- check_vala_module

- Compiling

- lndirs
- manifestize
- cygmake
- src_compile
- CC
- CFLAGS
- CPPFLAGS
- CXX
- CXXFLAGS
- F77
- FFLAGS
- FC
- FCFLAGS
- GCJ
- GCJFLAGS
- GOC
- GOFLAGS
- OBJC
- OBJCFLAGS
- OBJCXX
- OBJCXXFLAGS
- LDFLAGS
- AR
- DLLTOOL
- NM
- RANLIB
- RC
- STRIP
- PKG_CONFIG
- CC_SYSROOT
- ARCH
- ARCH_i686
- ARCH_x86_64

- Testing

- cygtest
- src_test

- Installing

- dodir
- keepdir
- dobin
- newbin
- docinto
- dodoc
- newdoc
- exeinto
- doexe
- newexe
- insinto
- doins
- newins
- doicon
- newicon
- includeinto
- doinclude
- dolib
- newlib
- doinfo
- doman
- newman
- domenu
- newmenu
- dopkgconfig
- dosbin
- newsbin
- dosym
- dotool
- doenv
- make_autostart_entry
- make_desktop_entry
- make_etc_defaults
- cyginstall

- USE_DESTDIR

- src_install

- Postinstall

- Fonts
- Freedesktop.org MIME
- GConf Schemas
- GSettings Schemas
- GIO Modules
- GdkPixbuf Loaders
- GTK+ Input Method Modules
- Icon Themes
- MATEConf Schemas
- TeX Live
- X Sessions
- Documentation Files

- DOCS
- HTMLDOCS
- PKG_DOCS

- Emacs Lisp
- Man Pages
- Info Pages
- Perl Modules
- Game Data
- Empty Directories

- KEEPDIRS

- Strip Binaries
- Split Debugging Information
- Libtool Libraries

- KEEP_LA_FILES

- RESTRICT

- Packaging

- PKG_NAMES
- PKG_HINTS
- PKG_CONTENTS
- PKG_IGNORE
- DIFF_EXCLUDES
- CATEGORY
- PKG_CATEGORY
- SUMMARY
- PKG_SUMMARY
- DESCRIPTION
- PKG_DESCRIPTION
- REQUIRES
- PKG_REQUIRES
- OBSOLETES
- PKG_OBSOLETES

- Uploading
- Cygclasses

- xvfb.cygclass

- xvfb_run

- xorg.cygclass

- CATEGORY (xorg)
- SUMMARY (xorg)
- HOMEPAGE (xorg)
- SRC_URI (xorg)
- GIT_URI (xorg)

- xfce4.cygclass

- HOMEPAGE (xfce4)
- SRC_URI (xfce4)
- GIT_URI (xfce4)
- xfce4_autoreconf
- xfce4_compile
- src_compile (xfce4)

- wxwidgets.cygclass

- WX_VERSION
- WX_TOOLKIT
- WX_CODESET
- WX_CONFIG
- WX_CFLAGS
- WX_LIBS
- wx-config

- waf.cygclass

- WAF_USE_BUNDLED
- WAF
- waf_compile

- WAF_CONFIGURE_FLAGS
- WAF_BUILD_FLAGS

- waf_test

- WAF_TEST_FLAGS

- waf_install

- WAF_INSTALL_FLAGS

- src_compile (waf)
- src_install (waf)

- vim.cygclass

- VIM
- VIMRUNTIME
- VIMFILES
- viminto
- dovim
- newvim

- utils.cygclass
- toolchain.cygclass

- TOOLCHAIN_TARGET
- TOOLCHAIN_SYSROOT
- TOOLCHAIN_PREFIX
- TOOLCHAIN_BINDIR
- TOOLCHAIN_INCLUDEDIR
- TOOLCHAIN_LIBDIR
- TOOLCHAIN_DATADIR
- toolchain_compile
- src_compile (toolchain)

- texlive.cygclass

- TEXLIVE_TEXMF_PKGS
- TEXLIVE_ARCH_PKGS
- TEXLIVE_DOC_PKGS
- TEXLIVE_PRETEST
- CATEGORY (texlive)
- SUMMARY (texlive)
- DESCRIPTION (texlive)
- HOMEPAGE (texlive)
- SRC_URI (texlive)
- texlive_install
- src_compile (texlive)
- src_install (texlive)

- tcl.cygclass

- TCLSH
- TCL_VERSION
- TCL_INCLUDEDIR
- TCL_LIBDIR
- TK_INCLUDEDIR
- TK_LIBDIR
- LIBTCL
- LIBTK

- svn.cygclass

- SVN_URI
- SVN_BRANCH
- SVN_REV
- SVN_DATE

- sugar.cygclass

- CATEGORY (sugar)
- SUMMARY (sugar)
- DESCRIPTION (sugar)
- HOMEPAGE (sugar)
- SUGAR_TYPE
- sugar_install
- src_compile (sugar)
- src_install (sugar)

- rubygem.cygclass

- RUBYGEM_NAME
- CATEGORY (rubygem)
- SUMMARY (rubygem)
- HOMEPAGE (rubygem)
- SRC_URI (rubygem)
- RUBYGEM_DIR
- RUBYGEM_INSTDIR
- RUBYGEM_SPEC
- RUBYGEM_DOCDIR
- RUBYGEM_EXTDIR
- rubygem_compile
- rubygem_install
- RUBYGEM_CONFIGURE_ARGS
- src_compile (rubygem)
- src_install (rubygem)

- ruby.cygclass

- RUBY
- RUBY_VERSION
- RUBY_LIB
- RUBY_ARCH
- RUBY_HEADERDIR
- RUBY_VENDORLIB
- RUBY_VENDORARCH
- RI_SITEDIR
- LIBRUBY
- CATEGORY (ruby)
- SUMMARY (ruby)
- ruby_compile

- RDOC_SOURCE

- ruby_ext_compile
- ruby_install

- RDOC_MODULE

- rubyinto
- doruby
- ruby_fix_shebang
- src_compile (ruby)
- src_install (ruby)

- ruby-gnome2.cygclass

- RUBY_GNOME2_MODULES
- CATEGORY (ruby-gnome2)
- SUMMARY (ruby-gnome2)
- HOMEPAGE (ruby-gnome2)
- SRC_URI (ruby-gnome2)
- SVN_URI (ruby-gnome2)
- SVN_REV (ruby-gnome2)
- MAKEOPTS (ruby-gnome2)
- DEPS_PATH (ruby-gnome2)
- ruby_gnome2_compile
- ruby_gnome2_install
- src_compile (ruby-gnome2)
- src_install (ruby-gnome2)

- rox.cygclass

- CATEGORY (rox)
- SUMMARY (rox)
- DESCRIPTION (rox)
- HOMEPAGE (rox)
- ROX_APP
- ROX_WRAPPER
- rox_autoreconf
- rox_compile
- rox_install
- src_compile (rox)
- src_install (rox)

- R.cygclass

- R
- R_CFLAGS
- R_LIBS
- R_HOME
- R_INCLUDEDIR
- R_SITELIB
- CATEGORY (R)
- SUMMARY (R)
- HOMEPAGE (R)
- SRC_URI (R)
- R_CONFIGURE_ARGS
- R_compile
- R_install
- src_compile (R)
- src_install (R)

- qt5.cygclass

- QT5_QTDIR
- QT5_BINDIR
- QT5_INCLUDEDIR
- QT5_LIBDIR
- QT5_PLUGINSDIR
- QT5_IMPORTSDIR
- QT5_QMLDIR
- QT5_DATADIR
- QT5_MKSPECSDIR
- QT5_QMAKE
- QT5_MOC
- QT5_RCC
- QT5_UIC
- QT5_LRELEASE
- doqt5inc
- qt5pluginto
- doqt5plugin

- qt5-qmake.cygclass

- cygqmake5
- qt5_qmake_compile
- qt5_qmake_install
- src_compile (qt5-qmake)
- src_install (qt5-qmake)

- qt4.cygclass

- QT4_QTDIR
- QT4_BINDIR
- QT4_INCLUDEDIR
- QT4_LIBDIR
- QT4_PLUGINSDIR
- QT4_IMPORTSDIR
- QT4_DATADIR
- QT4_MKSPECSDIR
- QT4_QMAKE
- QT4_MOC
- QT4_RCC
- QT4_UIC
- QT4_UIC3
- QT4_LRELEASE
- doqt4inc
- doqt4lib
- qt4pluginto
- doqt4plugin

- qt4-qmake.cygclass

- cygqmake4
- qt4_qmake_compile
- qt4_qmake_install
- src_compile (qt4-qmake)
- src_install (qt4-qmake)

- qt4-qconf.cygclass

- cygqconf4
- qt4_qconf_compile
- src_compile (qt4-qconf)

- qt4-cmake.cygclass

- qt4_cmake_compile
- src_compile (qt4-cmake)

- qt3.cygclass

- QTDIR
- QT3_BINDIR
- QT3_INCLUDEDIR
- QT3_LIBDIR
- QT3_PLUGINSDIR
- QT3_DATADIR
- QT3_QMAKE
- QT3_MOC
- QT3_UIC
- doqt3inc
- doqt3lib
- qt3pluginto
- doqt3plugin

- qt3-qmake.cygclass

- cygqmake3
- qt3_qmake_compile
- qt3_qmake_install
- src_compile (qt3-qmake)
- src_install (qt3-qmake)

- python3.cygclass

- PYTHON3
- PYTHON3_CONFIG
- PYTHON3_VERSION
- PYTHON3_ABIFLAGS
- PYTHON3_INCLUDEDIR
- PYTHON3_LIB
- PYTHON3_SITELIB
- LIBPYTHON3
- python3into
- dopython3
- python3_optimize
- python3_fix_shebang

- python3-distutils.cygclass

- HOMEPAGE (python3-distutils)
- SRC_URI (python3-distutils)
- python3_distutils_compile
- python3_distutils_install
- src_compile (python3-distutils)
- src_install (python3-distutils)

- python.cygclass

- PYTHON
- PYTHON_VERSION
- PYTHON_INCLUDEDIR
- PYTHON_LIB
- PYTHON_SITELIB
- LIBPYTHON
- pythoninto
- dopython
- python_optimize
- python_fix_shebang
- LIBPYPY

- python-distutils.cygclass

- HOMEPAGE (python-distutils)
- SRC_URI (python-distutils)
- python_distutils_compile
- python_distutils_install
- src_compile (python-distutils)
- src_install (python-distutils)

- pypy.cygclass

- PYPY
- PYPY_VERSION
- PYPY_INCLUDEDIR
- PYPY_SITELIB
- pypyinto
- dopypy
- pypy_optimize
- pypy_fix_shebang

- pypy-distutils.cygclass

- HOMEPAGE (pypy-distutils)
- SRC_URI (pypy-distutils)
- pypy_distutils_compile
- pypy_distutils_install
- src_compile (pypy-distutils)
- src_install (pypy-distutils)

- pygtk.cygclass

- PYGTK_INCLUDEDIR
- PYGTK_LIBDIR
- PYGTK_DATADIR
- PYGTK_CODEGEN
- CATEGORY (pygtk)
- SUMMARY (pygtk)
- HOMEPAGE (pygtk)
- pygtk_compile
- src_compile (pygtk)

- php.cygclass

- PHP
- PHP_CONFIG
- PHPIZE
- PEAR
- PECL
- PHP_VERSION
- PHP_INI_DIR
- PHP_EXTENSION_DIR
- PHP_PEAR_DIR
- LIBPHP
- PHP_CHANNEL
- CATEGORY (php)
- SUMMARY (php)
- HOMEPAGE (php)
- SRC_URI (php)
- php_autoreconf
- php_compile
- php_install
- php_postinst
- php_fix_shebang
- src_compile (php)
- src_install (php)

- perl.cygclass

- PERL
- PERL_VERSION
- PERL_LIB
- PERL_ARCHLIB
- PERL_VENDORLIB
- PERL_VENDORARCH
- LIBPERL
- CPAN_AUTHOR
- CATEGORY (perl)
- SUMMARY (perl)
- HOMEPAGE (perl)
- SRC_URI (perl)
- perl_compile
- perl_test
- perl_install
- perl_fix_shebang
- perl_sax_parser_register
- src_compile (perl)
- src_test (perl)
- src_install (perl)

- opensync.cygclass

- HOMEPAGE (opensync)
- SRC_URI (opensync)
- OPENSYNC_VERSION
- OPENSYNC_CONFIGDIR
- OPENSYNC_PLUGINDIR
- OPENSYNC_PYTHON_PLUGINDIR
- opensync_plugin_compile
- opensync_doconfig
- opensync_doplugin
- src_compile (opensync)

- octave.cygclass

- OCTAVE
- MKOCTFILE
- OCTAVE_CONFIG
- OCTAVE_VERSION
- OCTAVE_INCLUDEDIR
- OCTAVE_LIBDIR
- OCTAVE_CFLAGS
- OCTAVE_LIBS
- OCTAVE_M_DIR
- OCTAVE_OCTDIR
- OCTAVE_M_SITEDIR
- OCTAVE_OCT_SITEDIR

- ocaml.cygclass

- OCAML
- OCAMLC
- OCAMLDOC
- OCAMLFIND
- OCAMLLEX
- OCAMLMKLIB
- OCAMLMKTOP
- OCAMLOPT
- OCAML_LIBDIR
- OCAML_INCLUDEDIR
- OCAML_SITEDIR
- OCAML_STUBDIR
- LIBCAMLRUN
- ocaml_install
- src_install (ocaml)

- nant.cygclass

- NANT
- NANT_BUILD_FILE
- cygnant
- donanttask
- NANT_BUILD_ARGS
- NANT_BUILD_TARGETS
- src_compile (nant)
- NANT_TEST_ARGS
- NANT_TEST_TARGETS
- src_test (nant)

- multilib.cygclass

- multilib_precompile
- multilib_compile
- multilib_install
- multilib_postinstall

- mtn.cygclass

- MTN_URI
- MTN_BRANCH
- MTN_REV

- mono.cygclass

- MONO
- MCS
- GMCS
- DMCS
- GACUTIL
- MONO_SNK
- HOMEPAGE (mono)
- SRC_URI (mono)
- GIT_URI (mono)
- gacinto
- dogac
- mono_create_policy
- mono_wrapper

- mate.cygclass

- HOMEPAGE (mate)
- SRC_URI (mate)
- GIT_URI (mate)
- mate_autoreconf
- MATE_NO_AUTOGEN
- mate_configure
- mate_compile
- src_compile (mate)

- lua.cygclass

- LUA
- LUAC
- LUA_VERSION
- LUA_INCLUDEDIR
- LUA_LIBDIR
- LUA_SCRIPTDIR
- LUA_CFLAGS
- LUA_LIBS
- luainto
- dolua
- lua_fix_shebang

- kf5.cygclass

- kf5_compile
- kf5_install
- src_compile (kf5)
- src_install (kf5)

- kde4.cygclass

- KDE4_EXTRAGEAR_VERSION
- kde4_compile
- kde4_install
- src_compile (kde4)
- src_install (kde4)

- kde.org.cygclass

- HOMEPAGE (kde.org)
- SRC_URI (kde.org)
- SVN_URI (kde.org)
- GIT_URI (kde.org)

- java.cygclass

- JAR
- JAVA
- JAVAC
- JAVADOC
- JAVAH
- JAVA_HOME
- JAVA_DIR
- JAVADOC_DIR
- JAVA_CLASSPATH
- cygjar
- cygjava
- cygjavac
- cygjavadoc
- cygjavah
- cygjunit
- dojar
- newjar
- dojavadoc
- newjavadoc
- java_wrapper

- httpd.cygclass

- CATEGORY (httpd)
- SUMMARY (httpd)
- HTTPD_APXS
- HTTPD
- HTTPD_VERSION
- HTTPD_INCLUDEDIR
- HTTPD_LIBEXECDIR
- HTTPD_SYSCONFDIR
- HTTPD_SYSCONFMODULESDIR
- HTTPD_CFLAGS
- HTTPD_LIBS
- APR_VERSION
- APR_CONFIG
- APU_CONFIG
- APR_CFLAGS
- APR_LIBS
- APR_LIBTOOL
- APREQ2_CONFIG
- APREQ2_CFLAGS
- APREQ2_LIBS
- httpd_mod_compile
- httpd_apxs_compile
- dohttpdconf
- dohttpdmod
- httpd_loadmodules

- hg.cygclass

- HG_URI
- HG_REV

- gtkmm.cygclass

- CATEGORY (gtkmm)
- SUMMARY (gtkmm)
- HOMEPAGE (gtkmm)
- gtkmm_autoreconf
- gtkmm_compile
- gtkmm_test
- src_compile (gtkmm)
- src_test (gtkmm)

- gtk2-perl.cygclass

- CATEGORY (gtk2-perl)
- SUMMARY (gtk2-perl)
- HOMEPAGE (gtk2-perl)
- SRC_URI (gtk2-perl)
- DEPS_PATH (gtk2-perl)
- gtk2_perl_compile

- gstreamer.cygclass

- HOMEPAGE (gstreamer)
- SRC_URI (gstreamer)
- GIT_URI (gstreamer)
- GST_PLUGINDIR
- gstreamer_autoreconf

- gst-plugins.cygclass

- GST_PLUGINS_ENABLE
- GST_PLUGINS_DISABLE
- SUMMARY (gst-plugins)
- gst_plugins_autoreconf
- gst_plugins_compile
- gst_plugins_install
- src_compile (gst-plugins)
- src_install (gst-plugins)

- gnustep.cygclass

- CATEGORY (gnustep)
- SUMMARY (gnustep)
- HOMEPAGE (gnustep)
- SVN_URI (gnustep)
- gnustep_env
- gnustep_compile
- gnustep_install
- gnustep_pkg_apps
- gnustep_pkg_frameworks
- src_compile (gnustep)
- src_install (gnustep)

- gnome2.cygclass

- gnome2_autoreconf
- GNOME2_NO_AUTOGEN
- gnome2_configure
- gnome2_compile
- src_compile (gnome2)

- gnome.org.cygclass

- GNOME_ORG_TARBALL_SUFFIX
- HOMEPAGE (gnome.org)
- SRC_URI (gnome.org)
- GIT_URI (gnome.org)

- git.cygclass

- GIT_URI
- GIT_BRANCH
- GIT_REV
- GIT_TAG

- ggz.cygclass

- CATEGORY (ggz)
- SUMMARY (ggz)
- HOMEPAGE (ggz)
- SRC_URI (ggz)
- GGZ_MODULES_DIR
- ggz_postinst
- doggzmod
- src_install (ggz)

- fox.cygclass

- FOX_VERSION
- FOX_CONFIG
- FOX_CFLAGS
- FOX_LIBS
- fox-config

- fossil.cygclass

- FOSSIL_URI
- FOSSIL_REV

- font.cygclass

- FONTSDIR
- sfd2ttf
- fontinto
- dofont
- dofontconf
- newfontconf

- emacs.cygclass

- EMACS
- EMACS_SITE
- doemacs

- ebook.cygclass

- CATEGORY (ebook)
- SUMMARY (ebook)
- HOMEPAGE (ebook)
- SRC_URI (ebook)
- ebook_install
- src_compile (ebook)
- src_install (ebook)

- docbook.cygclass

- CATEGORY (docbook)
- SUMMARY (docbook)
- DESCRIPTION (docbook)
- HOMEPAGE (docbook)
- SRC_URI (docbook)
- docbook_install
- docbook_dsssl_postinst
- docbook_sgml_postinst
- docbook_xml_postinst
- src_compile (docbook)
- src_install (docbook)

- distutils.cygclass

- distutils_compile
- distutils_install

- distutils-multi.cygclass

- src_compile (distutils-multi)
- src_install (distutils-multi)

- cvs.cygclass

- CVS_URI
- CVS_BRANCH
- CVS_DATE
- CVS_MODULE

- cross.cygclass

- CROSS_HOST
- CROSS_SYSROOT
- CROSS_PREFIX
- CROSS_BINDIR
- CROSS_INCLUDEDIR
- CROSS_LIBDIR
- CROSS_DATADIR
- doelflib
- cross_sysrootize
- cross_desysrootize

- cmake.cygclass

- cygcmake

- CYGCMAKE_SOURCE
- CYGCMAKE_ARGS

- src_compile (cmake)

- claws-mail.cygclass

- CATEGORY (claws-mail)
- SUMMARY (claws-mail)
- HOMEPAGE (claws-mail)
- SRC_URI (claws-mail)

- clang.cygclass
- bzr.cygclass

- BZR_URI
- BZR_REV

- berkdb.cygclass

- CATEGORY (berkdb)
- SUMMARY (berkdb)
- DESCRIPTION (berkdb)
- HOMEPAGE (berkdb)
- SRC_URI (berkdb)
- PATCH_URI (berkdb)
- PKG_NAMES (berkdb)
- berkdb_autoreconf
- berkdb_compile
- berkdb_install
- berkdb_postinst
- src_compile (berkdb)
- src_install (berkdb)

- autotools.cygclass

- gnuconfigize
- cygautoreconf

- WANT_AUTOCONF
- WANT_AUTOMAKE
- NO_ACLOCAL
- NO_LIBTOOLIZE
- NO_AUTOCONF
- NO_AUTOHEADER
- NO_AUTOMAKE
- NO_AUTOPOINT
- ACLOCAL_FLAGS

- cygconf

- CYGCONF_SOURCE
- CYGCONF_ARGS

- src_compile (autotools)

- aspell-dict.cygclass

- ASPELL_COMPAT
- ASPELL_DATADIR
- ASPELL_DICTDIR
- ASPELL_LANG
- ASPELL_LANG_FULL
- CATEGORY (aspell-dict)
- SUMMARY (aspell-dict)
- DESCRIPTION (aspell-dict)
- HOMEPAGE (aspell-dict)
- SRC_URI (aspell-dict)
- aspell_dict_compile
- doaspelldict
- doaspelldata
- src_compile (aspell-dict)

- apache2.cygclass

- APXS2
- HTTPD2
- APACHE2_VERSION
- APACHE2_INCLUDEDIR
- APACHE2_LIBEXECDIR
- APACHE2_SYSCONFDIR
- APACHE2_CFLAGS
- APACHE2_LIBS
- apache2_compile
- apache2_apxs_compile
- doapache2conf
- doapache2mod
- apache2_postinst

- apache.cygclass

- apache_compile
- apache_apxs_compile
- doapacheconf
- doapachemod
- apache_postinst

- ant.cygclass

- ANT
- ANT_HOME
- ANT_OPTS
- ANT_BUILD_XML
- cygant
- doanttask
- ANT_BUILD_ARGS
- ANT_BUILD_TARGETS
- src_compile (ant)
- ANT_TEST_ARGS
- ANT_TEST_TARGETS
- src_test (ant)
- ANT_INSTALL_JARS
- ANT_INSTALL_JAVADOC
- ANT_INSTALL_TASKS
- ANT_INSTALL_WRAPPERS
- ant_install
- src_install (ant)

# Title

[ Top ] [ Concepts ]

OVERVIEW

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

Copyright © 2006-2015 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
- Configuration
- Format
- Information
- Downloading
- Preparation
- Checks
- Compiling
- Testing
- Installing
- Postinstall
- Packaging
- Uploading
- Cygclasses

# 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, lftp, libtool, lndir, make, openssh,
       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]

## SSH_KEY

[ Top ] [ Configuration ] [ Variables ]

DESCRIPTION

Path to the SSH private key corresponding to the public key registered for uploading on sourceware. You'll need to set this if your private key isn't already loaded into a running ssh-agent(1), and it doesn't have one of the expected file names such as ~/.ssh/id_rsa. Also, setting this allows cygport to determine if a passphrase is needed to decrypt the key, and only prompt you for a passphrase if it's needed. Otherwise, you'll be prompted for a passphrase every time you upload.

## 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:

- girepository(Foo-1.0): GObject Introspection modules
- lua(foo): Lua extensions
- ocaml(foo): Objective Caml libraries
- perl(Foo::Bar): Perl modules
- php(foo): PHP binary (PECL) extensions
- php(Foo/Bar.php): PHP (PEAR) extensions
- pkgconfig(foo-1.0): A -devel package providing this pkg-config file
- pypy(foo): PyPy modules
- python(foo): Python 2 modules
- python3(foo): Python 3 modules
- R(foo): R packages
- ruby(foo): Ruby modules
- tcl(foo): Tcl/Tk packages
- tex(foo.ext): TeX modules
- vala(foo-1.0): Vala bindings
- foo: A Cygwin package (check skipped on non-Cygwin build systems)

# 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.

The basename of each URI is treated as the source filename, except that CGI query strings are dropped after downloading. If this would not yield a usable filename, then the file can be renamed by appending an artificial URI fragment in the form of #/FILENAME to the URI. Some examples where this may be useful or even necessary:

- an unversioned source tarball
- a file, patch, or snapshot from a gitweb interface (where all specific information is in the query string itself)
- a patch from a cgit interface (normally /patch?id=COMMIT)
- a file from a Bugzilla attachment (normally /attachment.cgi?id=NUMBER)

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.

NOTE

See SRC_URI for details about URI handling in cygport.

# 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_php_module

[ Top ] [ Checks ] [ General Functions ]

SYNOPSIS

      check_php_module MODULE [MODULE2] ...

DESCRIPTION

Checks the presence of the given PHP extension(s), either binary (PECL) or PHP (PEAR) extensions. If all given module(s) are present, returns TRUE, else FALSE.

NOTE

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

REQUIRES

php

## 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

- check_python_module does not distinguish how the given module(s) were installed, whether they are from a Cygwin package or manually.
- For Python 3 modules, use check_python3_module.
- For PyPy modules, use check_pypy_module.

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

- check_python3_module does not distinguish how the given module(s) were installed, whether they are from a Cygwin package or manually.
- For Python 2 modules, use check_python_module.
- For PyPy modules, use check_pypy_module.

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

- check_pypy_module does not distinguish how the given module(s) were installed, whether they are from a Cygwin package or manually.
- For CPython modules, use check_python_module or check_python3_module.

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 ]

DESCRIPTION

This function is obsolete with binutils-2.24.51 (20140326) or newer, which provides a default manifest for all PE applications at link time.

## 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.

## DLLTOOL

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The DLL import creation tool for the host platform.

NOTE

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

## NM

[ Top ] [ Compiling ] [ Definitions ]

DESCRIPTION

The symbol listing utility 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.

NOTE

This variable should only be redefined in a .cygport in one of the following cases:

- the package has no Cygwin compiled code, e.g. it consists only of data or scripts, in which case ARCH="noarch" may be defined;
- the package only builds or works on one architecture due to portability issues (e.g. ILP32 assumptions occasionaly found in older code), in which case ARCH should be defined to the working architecture, and cygport will refuse to build this package for the other.

## 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

- Supported icon formats are PNG, XPM, and SVG.
- This location is intended for packages shipping a single icon. If the same PNG icon is available in different sizes, with or without a corresponding SVG, then these icons should be installed into the Hicolor Icon Theme hierarchy.

## 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

- Library DLLs must be installed with dobin.
- Cross-compiled ELF Shared Objects must be installed with doelflib.

## 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

- Library DLLs must be installed with dobin.
- Libtool libraries must be installed with dolib.

## 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.

NOTE

If VALUE includes a reference to a variable which is meant to be expanded at runtime, then be sure to escape the leading dollar-sign and, for portability, do not use braces; for example:

        doenv PATH \$PATH:/foo/bar

## 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:

- COMMAND: the command line. May contain arguments, in which case the entire command must be quoted.
- NAME: the application name to be shown in autostart configuration menus.
- ADDITIONAL_FIELDS: (optional) additional menu entry fields per the Desktop Entry Specification and the Desktop Application Autostart Specification.

## 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:

- COMMAND: the command line. May contain arguments, in which case the entire command must be quoted.
- NAME: the application name to be shown in the menu.
- ICON: (optional) the icon name, excluding the file extension.
- CATEGORIES: (optional) a colon-separated list of categories and subcategories per the Desktop Menu Specification.
- COMMENT: (optional) description of the program
- ADDITIONAL_FIELDS: (optional) additional menu entry fields per the Desktop Entry Specification.

NOTES

- In order to skip an optional argument but provide a later one, an empty string ("") must be provided as a placeholder for the optional argument.
- In most cases, ICON and CATEGORIES should be provided.

## 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:

- PCF fonts are gzip-compressed
- Script(s) will be created to register the fonts with the X11 core font system and with fontconfig.

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-x11, 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:

- Man page filenames with '::' will be renamed for compatibility with man(1).
- Man pages will be gzip-compressed.
- Man page symlinks will be fixed.

## Info Pages

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

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

- Info pages will be gzip-compressed.
- Errant info/dir files will be deleted.

## Perl Modules

[ Top ] [ Postinstall ] [ Postinstall Steps ]

DESCRIPTION

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

- The 'perllocal.pod' and '.packlist' files will be automatically deleted, as they are only of use to CPAN.
- If the module(s) were installed under the 'site_perl' tree (which they should not be if perl_compile is used), they will be relocated under the 'vendor_perl' tree.

## 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

## 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:

- files are checked to assure that all components have been installed
- static and import libraries are removed from modules
- DLLs from non-module libraries will be moved to $D/usr/bin or $D/$CROSS_BINDIR as appropriate.

### 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:

- none: deletes all .la files (the default behaviour on x86_64)
- module: keep only those .la files for modules meant to be dlopen()ed
- shared: keep only those .la files for non-module shared libraries
- static: keep only those .la files for static-only libraries
- all: keep all of the above (the default behaviour on i686)

Some suggested guidelines:

- If modules are to be loaded via libltdl or GModule, you may (but not always) need to set this to 'module'.
- If a shared library is meant to be a dlopen()ed module but is linked without -module, then 'shared' may be necessary in order for the DLL to be found.
- Some shared libraries imply the use of other libraries (e.g. GTK+ apps will always use GLib/GObject). If these libraries are not listed in the corresponding .pc pkg-config file, then 'shared' will help.
- When static libraries depend on other libraries, 'static' is recommended. If the static library depends only on libc, there is no need to keep it.

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:

- debuginfo: do not create a debuginfo subpackage
- diff: do not generate a .src.patch file of changes made in $S.
- postinst-doc: do not install standard documentation files.
- postinst-gconf: do not create postinstall commands for GConf schemas.
- postinst-mateconf: do not create postinstall commands for MATEConf schemas.
- strip: do not strip binaries.

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

- PN does not need to be listed in PKG_NAMES if there are no files to go into a corresponding binary package. This is common with packages providing only libraries.
- Any packages listed in PKG_NAMES which do not have a corresponding PKG_CONTENTS variable or .list file will be created as an empty package. This can be useful to provide upgrade helpers for renamed packages.

## 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

- If PN is not included in PKG_NAMES, a file named $PN.hint or setup.hint is still required for the source package, but should not be listed in PKG_HINTS.
- If the .hint filenames (minus the .hint suffix) match PKG_NAMES, PKG_HINTS need not be defined.

## 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

- Be sure to omit the leading forward slash from file contents.
- Patterns to be excluded from a given package may be specified with an --exclude= argument (as above). All such arguments must precede all file or directory names which are being included.
- Early versions of cygport only supported a literal PKG_CONTENTS, in form of an array. This form should be considered deprecated in favour of explicitly-named variables as described above.
- If the contents of a package are too many or complicated to easily describe in this form, a PN.list file can be used instead and placed in C before the packaging stage.

## 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

- cygport attempts to automatically detect many types of package dependencies, which do not need to be listed in REQUIRES. This is still needed for commands called by scripts or in code with fork(), libraries which are accessed by dlopen(), or data used by your package at runtime.
- If there is more than one package in PKG_NAMES, this variable will be ignored; you must use PKG_REQUIRES instead.
- Any newlines in this variable must be escaped.

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

- cygport attempts to automatically detect many types of package dependencies, which do not need to be listed in REQUIRES. This is still needed for commands called by scripts or in code with fork(), libraries which are accessed by dlopen(), or data used by your package at runtime.
- Any newlines in this variable must be escaped.

## 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.

# Uploading

[ Top ] [ Concepts ]

INTRODUCTION

Once your binary and source packages are built, in order to distribute them to users you'll need to upload them to the Cygwin package archive. Before you can upload packages, you'll need to do the following things:

- Request upload privileges, and provide your ssh public key. The Uploading Packages page tells how to do that, and how to be notified in case of problems with your uploads.
- After your key is approved, connect once to cygwin.com by `sftp cygwin@cygwin.com`. Verify that the host key fingerprint for cygwin.com matches one of the ones posted on the Uploading Packages page. If it does, answer "yes" to continue connecting. Then exit sftp. This will store the host key fingerprint in your ~/.known_hosts file. You have to do this once before uploading, or the upload will fail.
- Be listed on the Cygwin package maintainers list as the maintainer of your packages. Ask on the cygwin-apps mailing list if you need help getting listed.

Once those things are done, running `cygport upload` (or `cygport up` for short) will upload your finished packages to the package archive on cygwin.com. From there, if everything goes well, the new files should appear on your local Cygwin mirror within about 12 hours.

# 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:

- bzr.cygclass - For downloading sources from Bazaar repositories.
- cvs.cygclass - For downloading sources from CVS repositories.
- fossil.cygclass - For downloading sources from Fossil repositories.
- git.cygclass - For downloading sources from Git repositories.
- gnome.org.cygclass - For downloading sources from GNOME mirrors.
- hg.cygclass - For downloading sources from Mercurial repositories.
- kde.org.cygclass - For downloading sources from KDE mirrors.
- mtn.cygclass - For downloading sources from Monotone repositories.
- svn.cygclass - For downloading sources from Subversion repositories.

These Cygclasses handle various buildsystems:

- ant.cygclass - For Java packages which use the Ant buildsystem.
- autotools.cygclass - For packages using the autoconf/automake/libtool buildsystem.
- cmake.cygclass - For packages using the CMake buildsystem.
- nant.cygclass - For Mono packages which use the NAnt buildsystem.
- qt3-qmake.cygclass - For packages which depend on Qt 3.x and use the qmake buildsystem.
- qt4-cmake.cygclass - For packages which depend on Qt 4.x and use the CMake buildsystem.
- qt4-qconf.cygclass - For packages which depend on Qt 4.x and use the QConf buildsystem.
- qt4-qmake.cygclass - For packages which depend on Qt 4.x and use the qmake buildsystem.
- qt5-qmake.cygclass - For packages which depend on Qt 5.x and use the qmake buildsystem.
- waf.cygclass - For packages which use the Waf buildsystem.

These Cygclasses deal with certain types of dependencies:

- fox.cygclass - For packages which depend on the FOX Toolkit.
- java.cygclass - For packages which depend on Java.
- pypy.cygclass - For packages which depend on PyPy.
- python.cygclass - For packages which depend on Python 2.x.
- python3.cygclass - For packages which depend on Python 3.x.
- qt3.cygclass - For packages which depend on Qt 3.x.
- qt4.cygclass - For packages which depend on Qt 4.x.
- qt5.cygclass - For packages which depend on Qt 5.x.
- tcl.cygclass - For packages which depend on Tcl.
- wxwidgets.cygclass - For packages which depend on wxWidgets.

These Cygclasses are used for packaging desktop software components:

- gnome2.cygclass - For GNOME 2.x/3.x packages.
- gnustep.cygclass - For GNUstep packages.
- kde4.cygclass - For KDE 4.x packages.
- kf5.cygclass - For KDE Frameworks 5.x packages.
- mate.cygclass - For MATE Desktop packages.
- rox.cygclass - For ROX Desktop packages.
- sugar.cygclass - For Sugar Desktop packages.
- xfce4.cygclass - For Xfce Desktop packages.

These Cygclasses are used for packaging specific groups of software:

- aspell-dict.cygclass - For Aspell dictionary packages.
- claws-mail.cygclass - For Claws Mail plugin packages.
- docbook.cygclass - For packaging DocBook SGML/XML DTDs.
- ebook.cygclass - For packaging HTML Help Books for viewing in DevHelp.
- gst-plugins.cygclass - For GStreamer plugin packages.
- gstreamer.cygclass - For GStreamer core packages.
- gtk2-perl.cygclass - For Perl bindings of GTK+/GNOME libraries.
- gtkmm.cygclass - For GTKmm C++ bindings of GTK+/GNOME libraries.
- httpd.cygclass - For Apache HTTP Server DSO packages.
- pygtk.cygclass - For Python bindings of GTK+/GNOME libraries.
- texlive.cygclass - For TeX Live packages.
- xorg.cygclass - For X.Org X11 components.

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

- lua.cygclass - For packages which depend on Lua or provide Lua modules.
- mono.cygclass - For packages which depend on Mono or provide Mono assemblies.
- ocaml.cygclass - For packages which depend on OCaml or provide OCaml libraries.
- octave.cygclass - For packages which depend on Octave or provide Octave modules.
- perl.cygclass - For packages which depend on Perl or provide Perl (CPAN) modules.
- php.cygclass - For packages which depend on PHP or provide PHP (PEAR/PECL) modules.
- pypy-distutils.cygclass - For PyPy packages which use the Distutils buildsystem.
- python-distutils.cygclass - For Python 2.x packages which use the Distutils buildsystem.
- python3-distutils.cygclass - For Python 3.x packages which use the Distutils buildsystem.
- R.cygclass - For packages which depend on R or provide R modules.
- ruby.cygclass - For packages which depend on Ruby or provide non-gem Ruby modules.
- rubygem.cygclass - For Ruby modules which use the RubyGems buildsystem.

These Cygclasses deal with compiler and cross-compiler toolchains:

- clang.cygclass - For using Clang as a compiler instead of GCC.
- cross.cygclass - For packaging libraries to be used with cross-compiler toolchains.
- multilib.cygclass - For packaging libraries for cross-compiler toolchains which support multiple ABIs.
- toolchain.cygclass - For creating compilers and cross-compilers (binutils, gcc, gdb, newlib).

These Cygclasses provide install commands for certain types of data:

- emacs.cygclass - For manual installation of Emacs modes.
- font.cygclass - For manual installation of fonts.
- vim.cygclass - For manual installation of Vim macros.

These Cygclasses provide utility functions:

- utils.cygclass - Assorted checking functions.
- xvfb.cygclass - For executing commands which require a running X server.

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

- apache.cygclass
- apache2.cygclass
- berkdb.cygclass
- distutils.cygclass
- distutils-multi.cygclass
- ggz.cygclass
- opensync.cygclass
- ruby-gnome2.cygclass

## 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:

- Cygwin 1.5 did not have proper locale support, so -DX_LOCALE was added to CPPFLAGS to force usage of X11's own locale implementation instead.
- Each font package had to be told where to install its fonts during configure.

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:

- --disable-visibility: Cygwin does not support ELF visibility attributes

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, 2.8 and 3.0 are supported.

### WX_TOOLKIT

[ Top ] [ wxwidgets.cygclass ] [ Variables ]

DESCRIPTION

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

- cocoa: (until 2.8) for Mac OS X Cocoa
- dfb: for DirectFB (usually Linux embedded)
- gtk2: the default for modern X11 desktop platforms, including Cygwin
- gtk3: a newer alternative for modern X11 desktop platforms
- gtk: for older X11 platforms with the deprecated 1.x version of GTK+
- mac: (until 2.8) for Mac OS X Carbon
- mgl: for SciTech MGL cross-platform graphics library (default on DJGPP)
- microwin: for Microwindows (aka Nano X)
- motif: for X11 systems using Motif/LessTif (default on older UNIXes)
- msw: for Microsoft Windows (default on MinGW)
- osx_carbon: (since 3.0) for Mac OS X Carbon interface
- osx_cocoa: (since 3.0) for Mac OS X Cocoa interface
- osx_iphone: (since 3.0) for iOS devices (iPhone/iPod Touch)
- pm: for OS/2 EMX
- x11: for X11 systems without another GUI toolkit

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:

- autoload: automatically loaded functions
- colors: color scheme scripts
- compiler: compiler scripts
- doc: documentation
- ftplugin: filetype plugins
- indent: indentation scripts
- keymap: key mapping scripts
- lang: translations
- plugin: automatically loaded plugins
- print: print encodings
- spell: spell checking dictionaries
- syntax: syntax highlighting scripts

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:

- check_header
- check_lib
- check_pkg_config

## 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:

- i686-pc-linux-gnu: i686 GNU/Linux
- x86_64-w64-mingw32: Win64
- arm-eabi [arm-unknown-eabi]: Embedded ARM ELF system (e.g. with Newlib)
- avr [avr-unknown-none]: Atmel AVR bare metal (e.g. Arduino)

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_TARGET must be defined before inherit()ing toolchain.cygclass.

### 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

### RUBYGEM_NAME

[ Top ] [ rubygem.cygclass ] [ Overloads ]

DESCRIPTION

The original package name of the package as listed on RubyGems. The default value is NAME without the leading "ruby-", which covers most RubyGems packages. ORIG_PN is also supported for backwards compatibility.

### CATEGORY (rubygem)

[ Top ] [ rubygem.cygclass ] [ Overloads ]

DEFINITION

    CATEGORY="Ruby"

### SUMMARY (rubygem)

[ Top ] [ rubygem.cygclass ] [ Overloads ]

DEFINITION

    SUMMARY="Ruby ${NAME#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_DIR

[ Top ] [ rubygem.cygclass ] [ Definitions ]

DESCRIPTION

The RubyGems system root directory, namely /usr/share/gems.

### RUBYGEM_INSTDIR

[ Top ] [ rubygem.cygclass ] [ Definitions ]

DESCRIPTION

The directory containing the original runtime content of this particular Gem.

### RUBYGEM_SPEC

[ Top ] [ rubygem.cygclass ] [ Definitions ]

DESCRIPTION

The RubyGems specification file for this particular Gem.

### RUBYGEM_DOCDIR

[ Top ] [ rubygem.cygclass ] [ Definitions ]

DESCRIPTION

The directory containing the generated documentation of this particular Gem.

### RUBYGEM_EXTDIR

[ Top ] [ rubygem.cygclass ] [ Definitions ]

DESCRIPTION

The directory containing any native compiled extensions of this particular Gem.

### rubygem_compile

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

SYNOPSIS

      rubygem_compile

DESCRIPTION

Rebuilds the source gem (including any patches made to files in $S) and prepares it for installation.

### rubygem_install

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

SYNOPSIS

      rubygem_install [CONFIGURE_FLAGS]

DESCRIPTION

Installs the gem contents into $D. Any arguments are passed to extconf.rb as configure flags.

SEE ALSO

RUBYGEM_CONFIGURE_ARGS

### RUBYGEM_CONFIGURE_ARGS

[ Top ] [ rubygem.cygclass ] [ Variables ]

DESCRIPTION

Configure flags to be passed to extconf.rb when compiling Gems with C extensions.

### src_compile (rubygem)

[ Top ] [ rubygem.cygclass ] [ Overloads ]

DEFINITION

    src_compile() {
            cd ${S}
            rubygem_compile
    }

### src_install (rubygem)

[ Top ] [ rubygem.cygclass ] [ Overloads ]

DEFINITION

    src_install() {
            cd ${S}
            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 version of the Ruby interpreter.

NOTE

Since Ruby 2.1, this changes with every point release. For the API version of Ruby, use ${RUBY_VERSION%.*}.0.

### 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_HEADERDIR

[ Top ] [ ruby.cygclass ] [ Definitions ]

DESCRIPTION

Path containing the Ruby API headers.

### 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:

- install.rb: executes 'config' and 'setup' commands
- setup.rb: executes 'config' and 'setup' commands
- extconf.rb: calls ruby_ext_compile
- Rakefile: runs the 'rake' command

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:

- install.rb: executes 'config' and 'install' commands
- setup.rb: executes 'config' and 'install' commands
- extconf.rb: runs cyginstall
- Rakefile: runs 'rake install'

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

- Packages based on the previous 3.x or 4.x versions of Qt must use qt3.cygclass or qt4.cygclass, respectively.

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_IMPORTSDIR

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Qt5 Quick 1 extensions.

### QT5_QMLDIR

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Qt5 Quick 2 extensions.

### QT5_DATADIR

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing Qt5 documentation, and translation data.

### QT5_MKSPECSDIR

[ Top ] [ qt5.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Qt5 QMake specs files.

### 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:

- designer: Qt Designer widgets
- imageformats: image format handlers
- platformthemes: GUI style engines
- sqldrivers: SQL datbase backends

### 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

- Packages based on the deprecated 3.x or newer 5.x versions of Qt must use qt3.cygclass or qt5.cygclass, respectively.

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_IMPORTSDIR

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Qt4 Quick extensions.

### QT4_DATADIR

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing Qt4 documentation and translation data.

### QT4_MKSPECSDIR

[ Top ] [ qt4.cygclass ] [ Definitions ]

DESCRIPTION

Directory containing Qt4 QMake specs files.

### 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:

- crypto: Qt Cryptographic Architecture backends
- designer: Qt Designer widgets
- imageformats: image format handlers
- phonon_backend: Phonon multimedia backends
- script: QtScript engines
- sqldrivers: SQL datbase backends
- styles: GUI style engines

### 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

- Packages based on the newer 4.x or 5.x versions of Qt must use qt4.cygclass or qt5.cygclass, respectively.
- The 3.x version of Qt is deprecated. Support for Qt3 may be dropped in the near future.

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:

- crypto: Qt Cryptographic Architecture backends
- designer: Qt Designer widgets
- imageformats: image format handlers
- sqldrivers: SQL datbase backends
- styles: GUI style engines

### 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:

- If the package contains C extensions, creates configuration files which will cause the extensions to be loaded by PHP automatically.
- If PHP_CHANNEL is other than 'pear' or 'pecl', a postinstall script is created to register the channel with the installed PHP.
- Cleans up files which will collide with those already on the system.

### 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

- Unlike other cygclasses, the src_compile and src_install functions provided herein are mandatory; the build may only be controlled via the functions documented below. Therefore, if other cygclasses are used as well, they must precede multilib in the inherit command.
- Do not attempt to use multilib with a PE architecture (such as Cygwin and MinGW), as the placement of DLLs in $libdir/../bin does not allow for multilib.

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:

- CC/CXX/etc. have the corresponding ABI flag(s) added;
- CROSS_LIBDIR is adjusted to match the ABI-specific libdir;
- pkg-config's environment variables are adjusted to use CROSS_LIBDIR.

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:

- CROSS_LIBDIR is adjusted to match the ABI-specific libdir;
- pkg-config's environment variables are adjusted to use CROSS_LIBDIR.

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:

- --enable-gtk-doc: create and install API docs (native builds only)
- --disable-schemas-install: MateConf schemas are still installed, but are registered with postinstall and preremove scripts
- --disable-scrollkeeper: Scrollkeeper is obsolete

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.

## kf5.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

      inherit kf5

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 KF5-based packages.

INHERITS

cmake.cygclass, kde.org.cygclass, qt5.cygclass

### kf5_compile

[ Top ] [ kf5.cygclass ] [ Compile Functions ]

SYNOPSIS

      kf5_compile [OPTIONS]

DESCRIPTION

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

REQUIRES

cmake, extra-cmake-modules, libQt5Core-devel, libQt5Gui-devel

### kf5_install

[ Top ] [ kf5.cygclass ] [ Install Functions ]

SYNOPSIS

      kf5_install [OPTIONS]

DESCRIPTION

Installs a KF5 package with cyginstall into $D, with the following addition:

- Import libraries for plugins and libkdeinit5_* libraries are removed.

Options, if any, are passed on to cyginstall.

### src_compile (kf5)

[ Top ] [ kf5.cygclass ] [ Overloads ]

DEFINITION

    src_compile() {
            cd ${B}
            kf5_compile
    }

### src_install (kf5)

[ Top ] [ kf5.cygclass ] [ Overloads ]

DEFINITION

    src_install() {
            cd ${B}
            kf5_install
    }

## 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, kde.org.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.

### 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:

- Import libraries for libkdeinit4_* libraries are removed, as they are never used.
- README docs for subpackages in PKG_NAMES are installed into their own subdirectories of /usr/share/doc/ under $D.

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
    }

## kde.org.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

      inherit kde.org

DESCRIPTION

This cygclass is to be used for packages which are part of KDE or which are hosted on KDE FTP or Git servers.

In most cases, you do not need to directly inherit this cygclass; most KDE 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

kde4.cygclass, kf5.cygclass

SEE ALSO

mirror_kde

### HOMEPAGE (kde.org)

[ Top ] [ kde.org.cygclass ] [ Overloads ]

DEFINITION

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

### SRC_URI (kde.org)

[ Top ] [ kde.org.cygclass ] [ Overloads ]

DESCRIPTION

Download location for the release tarball.

### SVN_URI (kde.org)

[ Top ] [ kde.org.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 (kde.org)

[ Top ] [ kde.org.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}}"

## 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.

## httpd.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

      inherit httpd

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. DSOs use the ".so" extension, even on platforms which use DLLs.

The purpose of httpd.cygclass is to provide functions and definitions for building DSOs for the Cygwin Apache HTTP Server packages. Cygwin packages doing so should use the "httpd-" 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 httpd

        NAME="httpd-mod_clamav"
        VERSION=0.23
        RELEASE=1
        CATEGORY="Web"
        SUMMARY="ClamAV filter module for Apache HTTP Server"
        DESCRIPTION="mod_clamav is an Apache HTTP Server 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}
          httpd_mod_compile
        }

        src_install() {
          cd ${B}
          dohttpdmod mod_clamav
          dohttpdconf ${S}/sample.conf ${S}/safepatterns.conf
        }

Other simple module just ship the sources without a build system:

        inherit httpd

        NAME="httpd-mod_geoip"
        VERSION=1.2.8
        RELEASE=1
        CATEGORY="Web"
        SUMMARY="Apache HTTP Server GeoIP module"
        DESCRIPTION="mod_geoip2 is an Apache HTTP Server 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}
          httpd_apxs_compile *.c -lGeoIP
        }

        src_install() {
          cd ${B}
          dohttpdmod mod_geoip.la
          httpd_loadmodules
          dodoc README.php
        }

REQUIRES

httpd-devel, libapr1-devel, libaprutil1-devel

SEE ALSO

mirror_apache

### CATEGORY (httpd)

[ Top ] [ httpd.cygclass ] [ Overloads ]

DEFINITION

    CATEGORY="Web"

### SUMMARY (httpd)

[ Top ] [ httpd.cygclass ] [ Overloads ]

DEFINITION

    SUMMARY="Apache HTTP Server ${PN#httpd-mod_} module"

### HTTPD_APXS

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Path to apxs(1), the APache eXtenSion tool.

### HTTPD

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Path to the Apache HTTP Server.

### HTTPD_VERSION

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Full version of the Apache HTTP Server.

### HTTPD_INCLUDEDIR

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Location of Apache HTTP Server headers.

### HTTPD_LIBEXECDIR

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Apache HTTP Server DSOs.

### HTTPD_SYSCONFDIR

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Apache HTTP Server configuration files.

### HTTPD_SYSCONFMODULESDIR

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Installation path for Apache HTTP Server LoadModule directives

### HTTPD_CFLAGS

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Compile flags for building Apache HTTP Server DSOs.

### HTTPD_LIBS

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for building Apache HTTP Server DSOs.

NOTE

This is Cygwin specific due to the linking requirements of PE/COFF DLLs.

### APR_VERSION

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Major version of APR libraries used by the Apache HTTP Server.

### APR_CONFIG

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Path to matching APR_VERSION-specific apr-config script

### APU_CONFIG

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Path to matching APR_VERSION-specific apu-config script

### APR_CFLAGS

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Compile flags for building against APR libraries

### APR_LIBS

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for building against APR libraries

### APR_LIBTOOL

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Path to libtool script used by APR-dependent packages

### APREQ2_CONFIG

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Path to apreq2-config script

### APREQ2_CFLAGS

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Compile flags for building against libapreq2

REQUIRES

libapreq2-devel

### APREQ2_LIBS

[ Top ] [ httpd.cygclass ] [ Definitions ]

DESCRIPTION

Link flags for building against libapreq2

REQUIRES

libapreq2-devel

### httpd_mod_compile

[ Top ] [ httpd.cygclass ] [ Compile Functions ]

SYNOPSIS

      httpd_mod_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.

### httpd_apxs_compile

[ Top ] [ httpd.cygclass ] [ Compile Functions ]

SYNOPSIS

      httpd_apxs_compile [CFLAGS] SOURCES [LIBS]

DESCRIPTION

Uses HTTPD_APXS to build a DSO from one or more .c source files which ship without their own build system.

ARGUMENTS

- CFLAGS -- Additional CFLAGS required for compiling this DSO.
- SOURCES -- One or more .c sources.
- LIBS -- Additional libraries required for linking this DSO. Must be last.

### dohttpdconf

[ Top ] [ httpd.cygclass ] [ Install Functions ]

SYNOPSIS

      dohttpdconf CONF_FILE [CONF_FILE] ...

DESCRIPTION

Installs additional Apache configuration files.

NOTE

All files passed to dohttpdconf will be concenated into one file named HTTPD_MOD_NAME.conf. Therefore, this must only be called once.

### dohttpdmod

[ Top ] [ httpd.cygclass ] [ Install Functions ]

SYNOPSIS

      dohttpdmod DSO [DSO] ...

DESCRIPTION

Installs one or more DSOs into $D/HTTPD_LIBEXECDIR. DSOs are usually a .la libtool library (whether build with httpd_mod_compile or httpd_apxs_compile), but may also be a .so DLL if built without libtool.

### httpd_loadmodules

[ Top ] [ httpd.cygclass ] [ Install Functions ]

SYNOPSIS

      httpd_loadmodules

DESCRIPTION

Creates a LoadModule configuration snippet in HTTPD_SYSCONFMODULESDIR. This means that users need not do anything more than install the package in order to enable the DSO. For modules which require further configuration, create a complete file and use dohttpdconf to install it.

## 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="Libs"

### 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:

- Inter-module linking. ExtUtils-Depends did not support this for quite some time, so the necessary link libraries had to be specially added.
- POD manpages. On other *NIX systems, POD manpages are generated from hand-written POD files and include '::' in their filename, which was illegal on Cygwin until 1.7, so perl and man are patched to substitute '::' with '.'. Gtk2-Perl uses its own system to first build POD files from XS, then build manpages from those, so the 's/::/./g' substitution was not available and intervention was required to create the manpages. Since Cygwin 1.7, however, technically this would no longer necessary, as filenames can include ':', but man still makes the substitution.

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:

- cygconf, if a configure script is present (usually not).
- cygmake
- cygmake in the Documentation directory, if present.

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:

- --enable-gtk-doc: create and install API docs (native builds only)
- --disable-schemas-install: GConf schemas are still installed, but are registered with postinstall and preremove scripts
- --disable-scrollkeeper: Scrollkeeper is obsolete

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:

- A specific revision tag, in the form of a SHA1 hash (a 40-digit hexadecimal) or an abbreviation thereof (typically the first 10 hexadecimal digits).
- A branch name, in which case the latest revision of that branch will be used.

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:

- misc: miscellaneous bitmap fonts (.pcf.gz)
- 75dpi: lower-resolution standard bitmap fonts (.pcf.gz)
- 100dpi: higher-resolution standard bitmap fonts (.pcf.gz)
- OTF: OpenType fonts (.otf)
- TTF: TrueType fonts (.ttf)
- Type1: Postscript fonts (.afm, .pfa/.pfb)

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:

- 00 through 09: Font directories
- 10 through 19: system rendering defaults (AA, etc)
- 20 through 29: font rendering options
- 30 through 39: family substitution
- 40 through 49: generic identification, map family->generic
- 50 through 59: alternate config file loading
- 60 through 69: generic aliases, map generic->family
- 70 through 79: select font (adjust which fonts are available)
- 80 through 89: match target="scan" (modify scanned patterns)
- 90 through 99: font synthesis

## 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

- Some modules include scripts which are installed into /usr/bin. With very few exceptions, these scripts are unversioned; this cygclass installs in such a way that they will use the Python2 interpreter, and therefore should be packaged with the 2.x module.
- Not all Python module sources are compatible with 2.x and 3.x simultaneously. Those that are not may have a separate source tarball for each version, which should be treated as completely separate packages.

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:

- i686-linux [i686-pc-linux-gnu]: i686 GNU/Linux
- x86_64-w64-mingw32: Win64
- arm-eabi [arm-unknown-eabi]: Embedded ARM ELF system (e.g. with Newlib)
- avr [avr-unknown-none]: Atmel AVR bare metal (e.g. Arduino)

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_HOST must be defined before inherit()ing cross.cygclass.
- CROSS_HOST must match the prefix of the toolchain being used (in other words, the TOOLCHAIN_TARGET used for building said toolchain).

### 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

- cygcmake should be run in or under $B, as it defines the build directory of the package and creates numerous files.
- If the top-level CMakeLists.txt is not in $S, see CYGCMAKE_SOURCE.
- Packages configured with cygcmake use cygmake to compile.

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:

- dbX.Y: command-line utilities, Cygwin and upstream READMEs;
- dbX.Y-doc: HTML documentation;
- libdbX.Y: C and C++ runtime libraries;
- libdbX.Y-devel: C and C++ headers and import libraries.

The following packages are created if their bindings are enabled:

- java-dbX.Y: JNI binding and Java jar;
- tcl-dbX.Y: Tcl bindings.

### 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:

- chmod +w dist/Makefile.in dist/aclocal/tcl.ac dist/configure.ac
- Add LT_OUTPUT after AC_PROG_LIBTOOL in dist/configure.ac
- sed -i -e 's/aix\*/aix*|cygwin*/g' dist/aclocal/tcl.ac
- Modify/define MAKEFILE_TSOLINK (not needed with 4.5+)
- Undefine __lock_* macros in lock/lock_region.c (not needed with 4.3+)

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:

berkdb.cygclass, ggz.cygclass, gnome2.cygclass, gnustep.cygclass, gst-plugins.cygclass, gtkmm.cygclass, httpd.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 should be run in or under $B, as it defines the build directory of the package and creates numerous files.
- If the configure script is not in $S, see CYGCONF_SOURCE.
- cygconf is intended for configure scripts generated by, or compatible with, autoconf. Packages with handwritten configure scripts may not accept all the flags used by cygconf, in which case a direct call to the configure script is in order.

#### 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:

- unset -- Source named "aspell-*". Built with old system for 0.50; usually compatible with 0.60.
- 5 -- Source named "aspell5-*". Built for 0.50 but usually compatible with 0.60.
- 6 -- Source named "aspell6-*". Built for 0.60 and incompatible with 0.50.

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

Deprecated compatibility wrapper for httpd.cygclass.

INHERITS

httpd.cygclass

### APXS2

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Deprecated alias for HTTPD_APXS.

### HTTPD2

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Deprecated alias for HTTPD.

### APACHE2_VERSION

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Deprecated alias for HTTPD_VERSION.

### APACHE2_INCLUDEDIR

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Deprecated alias for HTTPD_INCLUDEDIR.

### APACHE2_LIBEXECDIR

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Deprecated alias for HTTPD_LIBEXECDIR.

### APACHE2_SYSCONFDIR

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Deprecated alias for HTTPD_SYSCONFDIR.

### APACHE2_CFLAGS

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Deprecated alias for HTTPD_CFLAGS.

### APACHE2_LIBS

[ Top ] [ apache2.cygclass ] [ Definitions ]

DESCRIPTION

Deprecated alias for HTTPD_LIBS.

### apache2_compile

[ Top ] [ apache2.cygclass ] [ Compile Functions ]

DESCRIPTION

Deprecated alias for httpd_mod_compile.

### apache2_apxs_compile

[ Top ] [ apache2.cygclass ] [ Compile Functions ]

DESCRIPTION

Deprecated alias for httpd_apxs_compile.

### doapache2conf

[ Top ] [ apache2.cygclass ] [ Install Functions ]

DESCRIPTION

Deprecated alias for dohttpdconf.

### doapache2mod

[ Top ] [ apache2.cygclass ] [ Install Functions ]

DESCRIPTION

Deprecated alias for dohttpdmod.

### apache2_postinst

[ Top ] [ apache2.cygclass ] [ Install Functions ]

DESCRIPTION

Deprecated alias for httpd_loadmodules.

## apache.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

      inherit apache

DESCRIPTION

Deprecated compatibility wrapper for httpd.cygclass.

INHERITS

httpd.cygclass

### apache_compile

[ Top ] [ apache.cygclass ] [ Compile Functions ]

DESCRIPTION

Deprecated alias for httpd_mod_compile.

### apache_apxs_compile

[ Top ] [ apache.cygclass ] [ Compile Functions ]

DESCRIPTION

Deprecated alias for httpd_apxs_compile.

### doapacheconf

[ Top ] [ apache.cygclass ] [ Install Functions ]

DESCRIPTION

Deprecated alias for dohttpdconf.

### doapachemod

[ Top ] [ apache.cygclass ] [ Install Functions ]

DESCRIPTION

Deprecated alias for dohttpdmod.

### apache_postinst

[ Top ] [ apache.cygclass ] [ Install Functions ]

DESCRIPTION

Deprecated alias for httpd_loadmodules.

## 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
    }