HaikuPorts
  • Login
  • Preferences
  • Help/Guide
  • Wiki
  • Timeline
  • Roadmap
  • View Tickets
  • Search
  • Port Log
  • Blog

Context Navigation

  • ← Previous Change
  • Wiki History
  • Next Change →

Changes between Version 3 and Version 4 of HaikuPorterForPM/BuildRecipes


Ignore:
Timestamp:
06/12/13 04:49:12 (2 years ago)
Author:
zooey
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HaikuPorterForPM/BuildRecipes

    v3 v4  
    180180The following set of environment variables exists for each defined source archive, the first set of variables is named like shown here, the second set gets a `_2` suffix, the third a `_3` suffix and so on.  
    181181 
    182 Note:  
    183   most ports only have one source archive, so they don't need the additional sets. 
     182 Note:: most ports only have one source archive, so they don't need the additional sets. 
    184183 
    185184==== CHECKSUM_MD5 ==== 
    … …  
    218217- '''Required:''' Yes 
    219218- '''Default:''' None 
    220 - '''URI-Types:''' The following URI-types are supported: 
     219- '''URI-Types for Download:''' The following URI-types are supported for downloading source archives - plain files (which do not need to be unpacked) must be marked with a '`#noarchive`'-suffix: 
    221220 - '''!http://''', '''!https://''' and '''!ftp://''': Download of source archive via `wget` 
     221 - '''/...''': Copying of source archive (or file) from local disk. 
     222- '''URI-Types for Checkout:''' When downThe following URI-types are supported for doing a checkout/clone of the source from a VCS repository (any particular revision can be specified as a '`#<revision>`' suffix): 
    222223 - '''!bzr://''': Download via checkout of Bazaar repository. 
    223  - '''!cvs://''': Download via checkout of CVS repository. 
     224 - '''!cvs://''': Download via checkout of CVS repository. The required CVS module must be given as the last path component of the URI. 
    224225 - '''!fossil://''': Download via cloning of Fossil repository. 
    225  - '''!git://''': Download via cloning of Git repository. 
     226 - '''!git://''', '''!git+...://''': Download via cloning of Git repository. 
    226227 - '''!hg://''', '''!hg+...://''': Download via cloning of Mercurial repository. 
    227228 - '''!svn://''', '''!svn+...://''': Download via checkout of Subversion repository. 
    … …  
    229230Finally, there is a set of output variables that can be set per-package. A sibling package can be defined by extending one of these variables with `_<packageSuffix>`. If for instance you set `SUMMAY_devel='Development files for foo'` in the `foo`-recipe, a sibling package `foo_devel` will be created alongside of the base package named `foo`. 
    230231 
     232Each sibling package inherits all the variables from the base package, but can override them individually by providing a value in `<variable>_<packageSuffix>`. 
     233 
    231234This is the set of per-package variables: 
    232235 
    233 ... TODO ... 
     236==== ARCHITECTURES ==== 
     237- '''Type:''' One or more of ['ppc', 'x86', 'x86_gcc2', 'any', 'source'], separated by space. - '''Purpose:''' Specifies the state of this port on the given architectures. Packages that can be installed on any architecture (e.g. a Perl script) would be marked with "any", source packages with "source". For packages with architecture-specific content, each of the machine architectures given in the list can be prepended by either '`?`' or '`!`', which marks the package as being untested or broken on that architecture respectively.  
     238As an example:  `ARCHITECTURES="x86_gcc2 ?x86 !ppc"` means that this package works on `x86_gcc2`, has not been tested (but is expected to work) on `x86` but is known to be broken on `ppc`. 
     239- '''Required:''' Yes 
     240- '''Default:''' None 
     241 
     242==== BUILD_PREREQUIRES ==== 
     243- '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. 
     244- '''Purpose:''' Defines the set of commands that will be executed on the build host during the build process. Usually, this will be tools like `gcc`, `binutils`, `make`, `sed`, `grep`, etc. 
     245- '''Required:''' No 
     246- '''Default:''' `""` 
     247 
     248==== BUILD_REQUIRES ==== 
     249- '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. 
     250- '''Purpose:''' Defines the set of development libraries (or other files with a similar purpose) that are required during the build process. Usually, this will be one `devel`-library specification for every library the built package depends on. 
     251- '''Required:''' No 
     252- '''Default:''' `""` 
     253 
     254==== CONFLICTS ==== 
     255- '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. 
     256- '''Purpose:''' Defines a list of things (other packages, commands, libraries, etc.) that this package conflicts with. 
     257- '''Required:''' No 
     258- '''Default:''' `""` 
     259 
     260==== COPYRIGHT ==== 
     261- '''Type:''' Multiline-String, one copyright per line, each starting with a year (empty lines will be ignored). 
     262- '''Purpose:''' Specifies the copyright(s) on this port. 
     263- '''Required:''' No 
     264- '''Default:''' `""` 
     265 
     266==== DESCRIPTION ==== 
     267- '''Type:''' Multiline-String (empty lines at the beginning and end will be ignored). 
     268- '''Purpose:''' Provides a detailed description of the port. If a port provides more than one package, they usually share the description. 
     269- '''Required:''' Yes 
     270- '''Default:''' None 
     271 
     272==== FRESHENS ==== 
     273- '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. 
     274- '''Purpose:''' Specifies that this package will freshen (override) one or files of the given package, command, etc. 
     275- '''Required:''' No 
     276- '''Default:''' `""` 
     277 
     278==== GLOBAL_WRITABLE_FILES ==== 
     279- '''Type:''' Multiline-String, one `global_writable_file_info`-specification per line (empty lines will be ignored). For details on `global_writable_file_info`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. 
     280- '''Purpose:''' Defines one or more global writable files or directories, which are expected to be written to when the program provided by the package executes. This can for instance be a settings file or a directory for cache files. 
     281- '''Required:''' No 
     282- '''Default:''' `""` 
     283 
     284==== LICENSE ==== 
     285- '''Type:''' Multiline-String, one license per line (empty lines will be ignored) 
     286- '''Purpose:''' Defines the applicable licenses for the port. 
     287- '''Required:''' No 
     288- '''Default:''' None 
     289 
     290==== PACKAGE_GROUPS ==== 
     291- '''Type:''' Multiline-String, one group per line. 
     292- '''Purpose:''' Defines one or more Unix groups that are required by the package. These groups will be created upon installation of the package. 
     293- '''Required:''' No 
     294- '''Default:''' `""` 
     295 
     296==== PACKAGE_USERS ==== 
     297- '''Type:''' Multiline-String, one `user`-specification per line (empty lines will be ignored). For details on `user`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. 
     298- '''Purpose:''' Defines one or more Unix users that are required by the package. These users will be created upon installation of the package. 
     299- '''Required:''' No 
     300- '''Default:''' `""` 
     301 
     302==== PROVIDES ==== 
     303- '''Type:''' Multiline-String, one `entity`-specification per line (empty lines will be ignored). For details on `entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. 
     304- '''Purpose:''' Defines the set of commands, libraries, development-libraries, virtual entities, etc. that this package provides. Amongst these, every package provides itself (i.e. `PROVIDES` must include an entity matching the package name. 
     305- '''Required:''' Yes 
     306- '''Default:''' None 
     307 
     308==== REPLACES ==== 
     309- '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. 
     310- '''Purpose:''' Defines the set of commands, libraries, packages, etc that this package replaces. This is for instance useful when a package has been split, as you can tell the package manager which packages need to be installed instead of the package that got split. 
     311- '''Required:''' No 
     312- '''Default:''' `""` 
     313 
     314==== REQUIRES ==== 
     315- '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. 
     316- '''Purpose:''' Defines the set of commands, libraries, packages, virtual entities, etc. that are required at runtime by the packaged software. The package can only be installed when all its requirements are fulfilled. 
     317- '''Required:''' No 
     318- '''Default:''' `""` 
     319 
     320==== SUMMARY ==== 
     321- '''Type:''' String, single line, preferably not exceeding 70 characters in length. 
     322- '''Purpose:''' Gives a precise purpose of this package. For ports that provide more than one package of general type, each of these packages should have a (slightly) different summary, expressing what exactly itself is providing. For all non-generic package types, !HaikuPorter will automatically add a suffix to the inherited summary: 
     323 - '''debug:''' The suffix `' (debug info)'` will be appended to the inherited summary of debug packages. 
     324 - '''devel:''' The suffix `' (development files)'` will be appended to the inherited summary of development packages. 
     325 - '''doc:''' The suffix `' (documentation)'` will be appended to the inherited summary of documentation packages. 
     326 - '''source:''' The suffix `' (source files)'` will be appended to the inherited summary of source packages. 
     327- '''Required:''' Yes 
     328- '''Default:''' None 
     329 
     330==== SUPPLEMENTS ==== 
     331- '''Type:''' Multiline-String, one `required_entity`-specification per line (empty lines will be ignored). For details on `required_entity`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. 
     332- '''Purpose:''' Defines the set of commands, libraries, packages, etc that this package supplements. This is for instance useful when a library port provides a sibling package containing just the python bindings for that library. This sibling package could specify `SUPPLEMENTS=python` in order to be automatically selected for installation alongside the base package when python is already installed. 
     333- '''Required:''' No 
     334- '''Default:''' `""` 
     335 
     336==== USER_SETTINGS_FILES ==== 
     337- '''Type:''' Multiline-String, one `user_settings_file_info`-specification per line (empty lines will be ignored). For details on `user_settings_file_info`, please consult [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages Building Packages]. 
     338- '''Purpose:''' Defines one or more user settings files or directories used by the packaged software. 
     339- '''Required:''' No 
     340- '''Default:''' `""` 
    234341 
    235342=== Shell Functions === 

Trac Powered

Powered by Trac 0.13dev-r10686
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/