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