Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 134 lines (108 sloc) 4.607 kb
ee26056 @kolmodin Create an incomplete README
kolmodin authored
1 Hackport
2 ========
3
4 About
5 -----
6
7 Hackport is a utility application for Gentoo Linux to ease the tasks for the
8 Haskell Project.
9
10 The main purpose for Hackport is to interact with Hackage and create
11 Ebuilds from Cabal packages. It also does handy functions to compare
12 hackage, the overlay and the portage tree.
13
ab0cf4d @trofi README.rst: added quickstart notes
trofi authored
14 Quick start
15 -----------
16
17 1. Build hackport binary by hand (or install it from haskell overlay).
18 2. Setup hackport database into overlay you plan to merge new ebuilds:
19
ca565f9 @trofi README.rst: attempt to print code block prettier
trofi authored
20 ::
21
ab0cf4d @trofi README.rst: added quickstart notes
trofi authored
22 $ mkdir ~/overlays
23 $ cd ~/overlays
9faf8e2 @trofi Fix typo noticed by Claudio J. Nervi P. in #1
trofi authored
24 $ git clone git://github.com/gentoo-haskell/gentoo-haskell.git
ab0cf4d @trofi README.rst: added quickstart notes
trofi authored
25 $ cd gentoo-haskell
26 $ hackport update
27 $ ls -1 .hackport/
28 00-index.tar
29 00-index.tar.gz
30
31 3. Add your ~/overlays/gentoo-haskell to PORTDIR_OVERLAY in /etc/make.conf.
32
33 Done! Now you can `hackport merge <package-name>` to get an ebuild merged to
34 your overlay!
35
ee26056 @kolmodin Create an incomplete README
kolmodin authored
36 Features
37 --------
a53cca4 @kolmodin Add more features to the README
kolmodin authored
38
39 'hackport update'
40 Update the local copy of hackage's package list. You should run this
41 every once in a while to get a more recent copy.
ab0cf4d @trofi README.rst: added quickstart notes
trofi authored
42
ee26056 @kolmodin Create an incomplete README
kolmodin authored
43 'hackport list [FILTER]'
a53cca4 @kolmodin Add more features to the README
kolmodin authored
44 Print packages from hackage, with an optional substring matching.
ee26056 @kolmodin Create an incomplete README
kolmodin authored
45
46 'hackport merge <package>'
47 Create a Gentoo Linux Ebuild for hackage package named <package>.
48 The category defaults to dev-haskell, but is overridden if an older
49 version has been merged previously to another category. The category
50 can also be overridden with the syntax category/package. Example:
51
52 $ hackport merge x11-wm/xmonad
53
54 Hackport will make an ebuild that uses the haskell-cabal eclass, and
55 set the following properties:
56
57 PN (package name)
58 Package name converted into lower case
59 PV (package version)
60 Package version with tags dropped.
61 KEYWORDS
62 Defaults to ~amd64 ~x86
63 CABAL_FEATURES
64 Set to "bin" for executables, and "lib haddock profile" for
65 libraries. Packages that contains both a binary and library will
66 get the union.
67 DEPEND
68 GHC dependency defaults to >=dev-lang/ghc-6.6.1.
69 Cabal dependency is fetched from Cabal field 'Cabal-Version'.
70 All other package dependencies are converted into gentoo syntax.
71 Range dependencies are flattened and usually needs manual
72 tweaking.
73 DESCRIPTION
74 From Synopsis if it is non-empty, otherwise Description.
75 HOMEPAGE
76 From Homepage
77 SRC_URI
78 From package url
79 LICENSE
a53cca4 @kolmodin Add more features to the README
kolmodin authored
80 From cabal license converted into gentoo licenses
ee26056 @kolmodin Create an incomplete README
kolmodin authored
81 SLOT
82 Defaults to "0"
83
a53cca4 @kolmodin Add more features to the README
kolmodin authored
84 'hackport diff [missing|additions|newer|common]'
85 Prints a list showing a diff between hackage and the overlay.
86 For each package it shows the latest version in both hackage and the
87 overlay.
88
89
90 Optional parameters:
5cca240 @kolmodin Document the last features in the README
kolmodin authored
91 'all', the default action
a53cca4 @kolmodin Add more features to the README
kolmodin authored
92 List all packages.
93 'missing'
94 List packages that exist in hackage but not in the overlay,
95 or where the hackage version is more recent.
5cca240 @kolmodin Document the last features in the README
kolmodin authored
96 'additions'
a53cca4 @kolmodin Add more features to the README
kolmodin authored
97 List packages only in the overlay, or where the overlay has
98 a more recent version.
99 'newer'
100 List packages where hackage has a more recent version.
101 'common'
102 List packages where hackage and the overlay has the same
103 version.
ee26056 @kolmodin Create an incomplete README
kolmodin authored
104
5cca240 @kolmodin Document the last features in the README
kolmodin authored
105 'hackport status [toportage]'
106 Provides an overview comparing the overlay to the portage tree.
107 It will teel you, for each package and version, if the package exist
108
109 - only in the portage tree
110 - only in the overlay
111 - both in the portage tree and the overlay
112 - both in the portage tree and the overlay,
113 but the ebuilds are not identical
114
115 Optional parameters:
5ce0f18 @kolmodin Fix typo in README
kolmodin authored
116 '--to-portage'
5cca240 @kolmodin Document the last features in the README
kolmodin authored
117 Only print packages that are likely to be interesting to
118 move to the portage tree.
119 It will print packages when they exist in both portage and
120 the overlay, and:
121 - the ebuilds differ, or
122 - the overlay has a more recent version
123
3eb9093 @trofi README.rst: fix 'make-ebuild' description
trofi authored
124 'hackport make-ebuild <path/to/package.cabal>'
e2ccc12 @trofi hackport-README-added-make-ebuild-desc.diff
trofi authored
125 Generates standalone .ebuild file from .cabal spec and stores result in same
126 directory.
127 Option is useful for packages not-on-hackage and for debug purposes.
128
ee26056 @kolmodin Create an incomplete README
kolmodin authored
129 -------
130
131 Henning Günther
132 Duncan Coutts
133 Lennart Kolmodin
Something went wrong with that request. Please try again.