diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2018-01-22 22:28:13 -0800 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2018-01-22 22:28:13 -0800 |
| commit | 77eae92e75c4b0d15c14c1f19c93fb41bc60f25e (patch) | |
| tree | 40e19be4bfe5de8caea28057ac9802070bbfcdb5 /docs | |
| parent | 6dead992fa9366040db4612f01f8f14b140d956c (diff) | |
| download | vcpkg-77eae92e75c4b0d15c14c1f19c93fb41bc60f25e.tar.gz vcpkg-77eae92e75c4b0d15c14c1f19c93fb41bc60f25e.zip | |
[vcpkg-docs] Add feature packages to core documentation of CONTROL files
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/maintainers/control-files.md | 53 | ||||
| -rw-r--r-- | docs/specifications/feature-packages.md | 2 |
2 files changed, 49 insertions, 6 deletions
diff --git a/docs/maintainers/control-files.md b/docs/maintainers/control-files.md index 17cb50311..eb03f1d94 100644 --- a/docs/maintainers/control-files.md +++ b/docs/maintainers/control-files.md @@ -1,16 +1,29 @@ # CONTROL files + Each port has some static metadata in the form of a `CONTROL` file. This file uses the same syntax and a subset of the fields from [the Debian `control` format][debian]. Field names are case-sensitive. [debian]: https://www.debian.org/doc/debian-policy/ch-controlfields.html -## Recognized fields +## Source Paragraph + +The first paragraph appearing in a `CONTROL` file is the Source paragraph, which defines the core attributes of the package (name, version, and so on). + +### Example: +```no-highlight +Source: vtk +Version: 8.1.0-1 +Description: Software system for 3D computer graphics, image processing, and visualization +Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype +``` + +### Recognized fields -### Source +#### Source The name of the port. -### Version +#### Version The port version. This field should be an alphanumeric string which may also contain `.`, `_`, or `-`. No attempt at ordering versions is made; all versions are treated as bitstrings and are only evaluated for equality. @@ -22,15 +35,15 @@ Example: Version: 1.0.5-2 ``` -### Description +#### Description A description of the library The first sentence of the description should concisely describe the purpose and contents of the library. Then, a larger description including the library's "proper name" should follow. -### Maintainer +#### Maintainer Reserved for future use. -### Build-Depends +#### Build-Depends The list of dependencies required to build and use this library. Example: @@ -49,3 +62,31 @@ Example: Build-Depends: zlib (windows), openssl (windows), boost (windows), websocketpp (windows) ``` +## Feature Paragraphs + +After the Source Paragraph, `CONTROL` files can list zero or more Feature Paragraphs which declare features. + +### Example: +```no-highlight +Source: vtk +Version: 8.1.0-1 +Description: Software system for 3D computer graphics, image processing, and visualization +Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype + +Feature: mpi +Description: MPI functionality for VTK +Build-Depends: msmpi, hdf5[parallel] +``` + +### Recognized fields + +#### Feature +The name of the feature. + +#### Description +A description of the feature + +#### Build-Depends +The list of dependencies required to build and use this feature. + +All dependencies from selected features are unioned together to produce the final dependency set for the build. This field follows the same syntax as `Build-Depends` in the Source Paragraph. diff --git a/docs/specifications/feature-packages.md b/docs/specifications/feature-packages.md index 2c7f60ff9..198a602ba 100644 --- a/docs/specifications/feature-packages.md +++ b/docs/specifications/feature-packages.md @@ -1,5 +1,7 @@ # Proposal: Features / Feature packages (Feb 23 2017)
+**Note: this is the proposal as it was initially accepted and does not neccessarily reflect the current behavior.**
+
## 1. Motivation
### A. OpenCV + CUDA
|
