| CARVIEW |
link-relations: Use web link relation types (RFC 5988) in Haskell
This library provides access to the IANA registry of link relation types, for use in Haskell code in a type-safe manner.
The registry data can be found at https://www.iana.org/assignments/link-relations. This package is generated from that data.
To see to which revision of the registry this version of the package corresponds, look at the intro comment in Web.LinkRelations.
[Skip to Readme]
Downloads
- link-relations-0.1.1.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1.0.0, 0.1.1.0 |
|---|---|
| Change log | ChangeLog |
| Dependencies | base (>=4.7 && <5), bytestring, hashable, unordered-containers (>=0.2.5), uri-bytestring (>=0.1.7) [details] |
| License | LicenseRef-PublicDomain |
| Copyright | ♡ Copying is an act of love. Please copy, reuse and share. |
| Author | fr33domlover |
| Maintainer | fr33domlover@riseup.net |
| Uploaded | by akrasner at 2016-01-28T11:12:26Z |
| Category | Data, Web |
| Home page | https://hub.darcs.net/fr33domlover/link-relations |
| Bug tracker | https://hub.darcs.net/fr33domlover/link-relations/issues |
| Source repo | head: darcs get https://hub.darcs.net/fr33domlover/link-relations |
| Distributions | NixOS:0.1.1.0 |
| Reverse Dependencies | 1 direct, 1 indirect [details] |
| Downloads | 1616 total (11 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs available [build log] Last success reported on 2016-11-28 [all 2 reports] |
Readme for link-relations-0.1.1.0
[back to package description]See the .cabal file for more info and link to project website the version control.
The official download location is Hackage.
This library is free software, and is committed to software freedom. It is
released to the public domain using the CC0 Public Domain Dedication. For the
boring "legal" details see the file COPYING.
See the file INSTALL for hints on installation. The file ChangeLog explains
how to see the history log of the changes done in the code. NEWS.md provides
a friendly overview of the changes for each release.
How to Release
This package's source code is auto-generated using 3 files:
- A Haskell source file template
- CSV file containing the IANA link relation registry data
- A Haskell program which embeds the data into the template as Haskell code
All 3 files are found in the util/ directory.
(1) Update the source
- To update the non-generated part of the code, edit the template file.
- To update the CSV to a new version, download it from https://www.iana.org/assignments/link-relations/link-relations-1.csv
- To modify the source generation process, edit the generator program
(2) Update version and date
If you downloaded a new CSV version, update the lastUpdated value in the
generator program. You can find that date at
https://www.iana.org/assignments/link-relations/link-relations.xhtml.
Update the package version number in the .cabal file. Use darcs diff to
examine the changes in the generated source and pick a version number according
to PVP. The most common change in the registry will probably be new link
relations added, which means new API functions and therefore an increase of the
minor version number (i.e. 3rd number, e.g. /0.1.5.3/ becomes /0.1.6.0/).
That's because the LinkRelation constructors themselves aren't exported.
(3) Adjust other config
Near the top of the generator program file there is a configuration section (e.g. the update date, file paths, etc.). If you made any changes which require updates there, make the required modifications.
(4) Build and test
The generator program depends on the cassava package. The other dependencies
are also dependencies of cassava (primarily bytestring and vector), which
means you can install the dependencies like this:
$ cabal install cassava
Run the generator program from the package toplevel. Either using the interpreter:
$ runhaskell util/generate.hs
Or like this, if you installed cassava into a sandbox:
$ cabal exec runhaskell util/generate.hs
Examine the result. Switch between the old generated source and the new one (which is generated as a separate file in the same directory).
Build the library itself:
$ cabal build
(5) Record everything into the Darcs repo, make a tag, make a tarball etc.
As usual. Note that the 3 files in util/ (i.e. including the CSV data) and
the generated source in src/, are all kept in the Darcs repo.