@@ -39,15 +39,9 @@ the <code>Maintainer</code> field as above either to commit to supporting the fo
39
39
yourself or to mark it as unsupported.
40
40
</p>
41
41
42
- <p>Note that all of the above is a makeshift upload policy based on the features
43
- available in the newer hackage-server. The <code>Maintainer</code> field has its uses,
44
- as does maintainer user groups. The libraries mailing list should probably
45
- determine the best approach for this.
46
- </p>
47
-
48
42
<h3>Upload forms</h3>
49
43
<p>Some last formalities: to upload a package, you'll need a Hackage
50
- <a href="accounts.html ">username</a> and password. (Alternatively, there's a
44
+ <a href="accounts">username</a> and password. (Alternatively, there's a
51
45
command-line interface via cabal-install, which also needs the same username
52
46
and password.)
53
47
</p>
@@ -72,36 +66,36 @@ See the notes at the bottom of the page.
72
66
</li>
73
67
74
68
<li>
75
- Categories are determined by whatever you put in the <code>Category</code> field
76
- (there's no agreed list of category names yet) .
69
+ Categories are determined by whatever you put in the <code>Category</code> field.
70
+ You should try to pick existing categories when possible .
77
71
You can have more than one category, separated by commas. If no other versions of
78
72
the package exist, the categories automatically become the package's tags.
79
73
</li>
80
74
81
75
<li>
82
- Documentation for library packages should be generated by a maintainer.
83
- The means of doing this is still up in the air.
84
- </li>
85
-
86
- <li>
87
- We have moved to Haddock 2, and expect some glitches.
88
-
89
- If you notice anything broken, please report it on the
90
- <a href="http://trac.haskell.org/haddock">Haddock bug tracker</a>.
91
- </li>
92
-
93
- <li>
94
- In GHC 6.8, several modules were split from the <code>base</code> package
95
- into other packages.
76
+ Occasional changes to the GHC base package can mean that some work needs to be done to make packages compatible across a range of versions.
77
+ See <a href="https://github.com/haskell-infra/hackage-trustees/blob/master/cookbook.md">these notes</a> for some tips in how to do so.
96
78
97
- See <a href="http://www.haskell.org/haskellwiki/Upgrading_packages">these notes</a>
98
- on making packages work with a range of versions of GHC.
79
+ There are some notes for upgrading <a href="http://www.haskell.org/haskellwiki/Upgrading_packages">much older</a> packages as well.
99
80
</li>
100
81
101
82
<li>
102
- While <a href="http://www.haskell.org/haddock/">Haddock 2</a>
103
- accepts GHC features, it is also more picky about comment syntax than
104
- the old version.
83
+ The hackage-server attempts to build documentation for library
84
+ packages, but this can fail. Maintainers can generate their own
85
+ documentation and upload it by using something along the lines of the
86
+ shell script below (note that the last two commands are the key ones):
87
+
88
+ <pre>
89
+ #!/bin/sh
90
+ set -e
91
+
92
+ dir=\$ (mktemp -d dist-docs.XXXXXX)
93
+ trap 'rm -r "\$ dir"' EXIT
94
+
95
+ cabal haddock --builddir="\$ dir" --for-hackage --haddock-option=--hyperlinked-source
96
+ # Starting with cabal 2.0, `--publish` is needed for uploading to non-candidate releases
97
+ cabal upload -d \$ dir/*-docs.tar.gz
98
+ </pre>
105
99
</li>
106
100
107
101
</ul>
0 commit comments