Cygwin

Get that Linux feeling - on Windows

Cygwin package .hint files

Contents

package-version-release.hint file

Lines in package-version-release.hint consist of one of the following:

# comment
sdesc: "some text"
ldesc: "some text"
category: name1[ name2...]
requires: version-relation[ version-relation...]
obsoletes: version-relation[ version-relation...]
provides: package[, package...]
conflicts: version-relation[, version-relation...]
external-source: package
message: id "some text"
test:
version: version-identifier
disable-check: check-name [check-name...]

Note: Not all of the above lines are required. Please read the description below for further details on how to construct a package-version-release.hint file.

Here's an example of a complete release/boffo/boffo-1.0-1.hint:

category: Games Text
requires: libncurses6 cygwin
sdesc:    "A whackamole simulation in ASCII art"
ldesc:    "A whackamole simulation in ASCII art.
Intended for use on VT100 terminals at BAUD rates 1200 and
above.  Uses arrow keys for positioning over moles.  Space
bar whacks the mole.
No actual moles will be harmed during execution of this game."

external-source:

The external-source line is used when multiple installation packages are generated from a single source package. For example, suppose the boffo package contains the executables and documentation for boffo, but there is also a shared library cygboffo-7.dll that might be used by other packages; say, the fobbo program. It would be nice to separate that cygboffo-7.dll shared library into a second installation package, so that users of the fobbo program can install just the library, and not the entire boffo package. However, all of the boffo executables and the DLL are generated from the same source. To support this usage, the boffo maintainer would create three package files:

boffo-2.4.1-2.tar.xz, boffo-2.4.1-2-src.tar.xz, and boffo-2.4.1-2.hint would go into the release/boffo/ subdirectory. libboffo7-2.4.1-2.tar.xz, and libboffo7-2.4.1-2.hint would go into a separate subdirectory, such as release/boffo/libboffo7/. The two .hint files would look something like this:

boffo-2.4.1-2.hint
libboffo7-2.4.1-2.hint
category: Games Text
requires: libboffo7 libncurses6 cygwin
sdesc: "A whackamole simulation in ASCII art"
ldesc: "A whackamole simulation in ASCII art. Intended for use on VT100 terminals at BAUD rates 1200 and above. Uses arrow keys for positioning over moles. Space bar whacks the mole.

No actual moles will be harmed during execution of this game."
category: Games Text
requires: cygwin
external-source: boffo
sdesc: "Runtime library for a whackamole simulation in ASCII art"
ldesc: "A whackamole simulation in ASCII art. Intended for use on VT100 terminals at BAUD rates 1200 and above. Uses arrow keys for positioning over moles. Space bar whacks the mole.

No actual moles will be harmed during execution of this game."

The setup.ini generated from these .hint files will include these lines (only relevant lines shown):

@ boffo
requires: libboffo7 libncurses6 cygwin
version: 2.4.1-2
install: release/boffo/boffo-2.4.1-2.tar.xz
source: release/boffo/boffo-2.4.1-2-src.tar.xz
@ libboffo7
requires: cygwin
version: 2.4.1-2
install: release/boffo/libboffo7/libboffo7-2.4.1-2.tar.xz
source: release/boffo/boffo-2.4.1-2-src.tar.xz

Note that both packages point to the same source tar file. Also, it is required that the version-release matches (i.e. libboffo7-5.2-1 can't point to boffo-1.4-1-src). The same logic is used to "match up" other versions with their external sources.

package-version-release-src.hint file

# comment
build-depends: dependency-atom[ dependency-atom...]
category: name1[ name2...]
disable-check: check-name [check-name...]
homepage: url
ldesc: "some text"
license: license-expression
sdesc: "some text"
skip:
test:
version: version-identifier

As above, and:

override.hint file

An override.hint file may exist, for information not associated with a specific version-release.

# comment
keep: version-identifier[ version-identifier...]
keep-count: count
keep-count-test: count
keep-days: days
keep-superseded-test:
disable-check: check-name [check-name...]
replace-versions: version-identifier [version-identifier...]