Hi Stephen, Am Donnerstag, den 19.04.2012, 11:14 -0500 schrieb Stephen Paul Weber: > Somebody signing messages as Joachim Breitner wrote: > >> *-doc by the existing logic, README and similar docs seem to be put in the > >> main package, which seems correct to me. Binaries are copied by the logic > >> I'm prototyping. So that leaves "everything else". I should experiment > >> with a more complex Haskell application, like maybe darcs. > > > >haskell-hledger-web is an example for a package that needs extra data > >(and that is broken in that regard right now): > >http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=668622 > > > >hlint also requires data files, and so does threadscope. > > hlint seems to install ghc libraries as well. Is this intentional? It > seems that if the libraries are wanted, they should go in a libghc-hlint-dev > package, seperate from the utility package containing the binary. They do go into the libghc-hlint-dev package, not sure what you are hinting at here: http://packages.debian.org/sid/amd64/hlint/filelist http://packages.debian.org/sid/amd64/libghc-hlint-dev/filelist > > If this is the case, then the following builds hlint: > > #!/usr/bin/make -f > > include /usr/share/cdbs/1/rules/debhelper.mk > include /usr/share/cdbs/1/class/hlibrary.mk > > # If no threaded RTS is found, disable it > DEB_SETUP_GHC_CONFIGURE_ARGS := $(shell test -e /usr/lib/ghc-$(GHC_VERSION)/libHSrts_thr.a || echo --flags=-threaded) > > build/$(CABAL_PACKAGE):: build-ghc-stamp > > install/$(CABAL_PACKAGE):: debian/tmp-inst-ghc > cd debian/tmp-inst-ghc ; find usr/bin/ \ > -exec install -Dm 755 '{}' ../$(notdir $@)/'{}' ';' > cd debian/tmp-inst-ghc ; find usr/share/$(notdir $@)* \ > -exec install -Dm 644 '{}' ../$(notdir $@)/'{}' ';' > mkdir -p debian/$(notdir $@)/usr/share/emacs/site-lisp > mv debian/$(notdir $@)/usr/share/$(notdir $@)*/hs-lint.el debian/$(notdir $@)/usr/share/emacs/site-lisp > install -Dm 644 hlint.htm debian/$(CABAL_PACKAGE)/usr/share/doc/$(CABAL_PACKAGE)/hlint.html > > The DEB_SETUP_GHC_CONFIGURE_ARGS thing is sort of more general, but I'm not > sure what the right way to handle that is. Maybe a DEB_GHC_TRY_THREADED=1 > sort of thing? The test can be abstracted, but not the flag, as that is (unfortunately) package-specific. > You'll note that the only addition over my usr/bin/ copyer from before is an > alsmost identical command for user/share/$(notdir $@)* > > After that comes two lines to install an emacs lisp file to the correct > location. I'm not sure if there's a way to make that more general. > > Finally, a line to install an extra documentation file. Since the *.cabal > does not know that this file is documentation, and it does not have a name > that immidiately identifies it as documentation (like README), I think > something custom is going to be required for that case no matter what. I think these two cases can go (or rather, stay) in debian/hlint.install, while the rest looks like it can go into hlibrary.mk. > Replacing the threadscope debian/rules with the above (minus the emacs and > docs line) allows all the lines except the *.xpm and *.desktop lines to be > removed from the threadscope *.install There are only those two lines in the threadscope.install; I guess you mean that the install/$(CABAL_PACKAGE) target in the makefile can be removed. > So, little bits of custom install remain in both, but this seems to be to be > the right sort of direction. Great! Greetings, Joachim -- Joachim "nomeata" Breitner Debian Developer nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata
Attachment:
signature.asc
Description: This is a digitally signed message part