-- help needed in packaging ghc-6.8.1

Hi! I'm trying to maintain a Haskell tool chain for the Slackware GNU/Linux distribution,[1] which is lacking any Haskell support. The problem is that I'm having some issue in getting the documentation properly built. I must confess I'm not quite familiar with GNU autoconf so please pardon me if some of the issues I'm going to describe are not ghc specific. Still I hope to have your help in solving part of these problems. Very schematically: 1. the DocBook XSL StyleSheets (probably autoconf related): Slackware installs them in /usr/share/xml/docbook/xsl-stylesheets*, but the configuration script is looking in so many different locations but that one,[2] which seems to me quite appropriate, actually; I solved by making a symbolic link so that /usr/share/sgml/docbook/xsl-stylesheets points to the /usr/share/xml location, but this is far from being a nice solution. I think that /usr/share/xml/docbook/xsl-stylesheets* should be tried to, definitely before trying /usr/share/xml/docbook/stylesheet/nwalsh/current (why should I install a package in a directory named after its author??); 2. "make html" fails for libraries.[3] A work around is to build the library documentation with: ( cd libraries ; make doc ) but I'm not so sure this workaround actually works (see below); 3. documentation is now installed in $PREFIX/share/doc/ghc. Previously documentation was installed in $PREFIX/share/doc/ghc-$VERSION. I don't know if this is the problem, but when build the haddock documentation for libraries, I keep getting: Warning: The documentation for package [put a name here] is not installed. No links to it will be generated. No link is indeed generated, which makes the documentation quite useless (in comparison with what it should be, obviously); 4. Cabal user_guide: I cannot build it, no matter what I try. How should I do? 5. Indexes and links of the produced documentation are wrong or missing (probably because the "make html" target fails?). I downloaded the precompiled binaries and I noticed that that documentation is lacking links and indexes too. Which makes me think this was probably a design decision (a very bad one, I would add if I were sure it was actually planned). Obviously documentation is crucial and if I do not solve these problems I will not able to distribute the package. Unfortunately I've already lost quite a lot of time in trying to solve those issues, and the building guide has not been of any help.[4] The release notes don't say anything about those changes, which are, as far as I understand, totally undocumented. Which is quite bad, I would say. But I could be wrong on that and some documentation may be indeed available. In this case could you point me there, please? Thanks for your kind attention and sorry for such a long message. Regards, Andrea [1] http://gorgias.mine.nu/slack/haskell/ [2] This is the searched path: /usr/share/xml/docbook/stylesheet/nwalsh/current /usr/share/xml/docbook/stylesheet/nwalsh /usr/share/sgml/docbook/docbook-xsl-stylesheets* /usr/share/sgml/docbook/xsl-stylesheets* /opt/kde?/share/apps/ksgmltools2/docbook/xsl /usr/share/docbook-xsl /usr/share/sgml/docbkxsl /usr/local/share/xsl/docbook /sw/share/xml/xs\ l/docbook-xsl /opt/local/share/xsl/docbook-xsl [3] this is the error message: == make html -r; in /tmp/ghc-6.8.1/libraries ------------------------------------------------------------------------ make[1]: *** No rule to make target `html'. Stop. Failed making html in libraries: 1 make: *** [html] Error 1 [4] http://hackage.haskell.org/trac/ghc/wiki/Building/Docs

Andrea Rossato wrote:
Hi!
I'm trying to maintain a Haskell tool chain for the Slackware GNU/Linux distribution,[1] which is lacking any Haskell support.
Great! However, why don't you submit your packages to http://www.linuxpackages.org/? That's where I always look for contributed Slackware packages. I also packaged Hugs for them. Reinier

On Wed, Nov 07, 2007 at 11:34:53AM +0100, Reinier Lamers wrote:
Great! However, why don't you submit your packages to http://www.linuxpackages.org/? That's where I always look for contributed Slackware packages. I also packaged Hugs for them.
Yes, this is an option. The 6.6.1 was not completed though: I started contributing to XMonad and I needed to use the darcs version of many packages, so I never finished my SlackBuild collection. I'm trying to finish the SlackBuild scripts with the 6.8.1 tool chain. Then I will be able to submit the packages to linuxpackages.org and slackbuilds.org (and possibly slacky.it too ;) BTW, you can add http://gorgias.mine.nu/slack to the list of repositories in your slapt-get/swaret configuration file, and then use "slapt-get --search" to search for the packages you need (this way you may search many repositories at once - slacky.it should be one to have in you configuration, since packages quality is quite good, better than linuxpackages.org in my opinion). This is the way I go (well I actually prefer slackbuilds.org recently, and then build my own). Cheers, Andrea

On Wed, Nov 07, 2007 at 11:51:26AM +0100, Andrea Rossato wrote:
This is the way I go (well I actually prefer [cut] recently, and then build my own).
don't say slack WHAT?? builds dot org aloud, otherwise spamassasin is going to kill you... I wonder if it was spamassasin that added those 2 - to my first message subject. he probably knew I was going to say something bad and wanted to warn you! Cheers Andrea

Hi Andrea, On Wed, Nov 07, 2007 at 11:28:53AM +0100, Andrea Rossato wrote:
1. the DocBook XSL StyleSheets (probably autoconf related): Slackware installs them in /usr/share/xml/docbook/xsl-stylesheets*, but the
I'll apply your patch to fix this.
2. "make html" fails for libraries.[3]
Ah, I see the building guide talks about that; I hadn't realised we were meant to support it. I'll add various doc targets to the libraries Makefile. We just put XMLDocWays = html in mk/build.mk and let "make" build the docs for us.
A work around is to build the library documentation with: ( cd libraries ; make doc ) but I'm not so sure this workaround actually works (see below);
That does work, as does putting HADDOCK_DOCS = YES in mk/build.mk before running make.
3. documentation is now installed in $PREFIX/share/doc/ghc. Previously documentation was installed in $PREFIX/share/doc/ghc-$VERSION. I don't know if this is the problem, but when build the haddock documentation for libraries, I keep getting: Warning: The documentation for package [put a name here] is not installed. No links to it will be generated.
No link is indeed generated, which makes the documentation quite useless (in comparison with what it should be, obviously);
That's just a bug, nothing to do with the path changing; filed here: http://hackage.haskell.org/trac/ghc/ticket/1850 I'll fix it for 6.8.2.
4. Cabal user_guide: I cannot build it, no matter what I try. How should I do?
If XMLDocWays := html is in mk/build.mk then it should get built when you run "make install-docs". There was a bug that meant that "make" didn't build it; I'll fix that.
5. Indexes and links of the produced documentation are wrong or missing (probably because the "make html" target fails?). I downloaded the precompiled binaries and I noticed that that documentation is lacking links and indexes too. Which makes me think this was probably a design decision (a very bad one, I would add if I were sure it was actually planned).
I'm not sure I follow. If I install the amd64/Linux bindist then there are files share/doc/ghc/index.html share/doc/ghc/libraries/index.html share/doc/ghc/libraries/doc-index.html What are you expecting, but not able, to find?
Obviously documentation is crucial and if I do not solve these problems I will not able to distribute the package. Unfortunately I've already lost quite a lot of time in trying to solve those issues, and the building guide has not been of any help.[4] The release notes don't say anything about those changes, which are, as far as I understand, totally undocumented.
I think everything is documented on the building guide page you link to, but there are a few bugs.
Thanks for your kind attention and sorry for such a long message.
Thanks for reporting the problems you had! Ian
participants (3)
-
Andrea Rossato
-
Ian Lynagh
-
Reinier Lamers