[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Adding ghcjs support to haskell-devscripts



Dear David,

sorry for the late reply. I’m reviewing your changes right now

Am Sonntag, den 17.08.2014, 15:08 -0700 schrieb David Fox:

> Ok, I have created a version of haskell-devscripts that supports ghcjs
> and should be backwards compatible with the current version.  The only
> visible differences should be removal of support for documentation
> packages with the prefix "haskell-" instead of "libghc-".  I also
> removed a few cases where it seemed to be building the package "ghc"
> or "ghc-prof".   The forked darcs repo
> is http://hub.darcs.net/ddssff/haskell-devscripts.  There are fifteen
> patches, the first two are bug fixes, the rest are an attempt at a
> clear exposition of the changes I have made.  There is only one patch
> that has a lot of complexity, it has "Largeish patch" in its name.
> 
> 
> Basically, I converted all the makefile recipes that were in
> hlibrary.mk into bash functions in Dh_Haskell.sh.  This makes it
> easier to tell what the makefile is doing and avoids duplication of
> code between make world and bash world.  I'm testing it on a bunch of
> packages now, but the packages are all fairly uniform, as their
> debianizations were generated by cabal-debian.  Obviously, some
> outside testing would be a good thing.
> 

* Allow building of documentation when when package has no Haskell modules
✓
* Fix a bash bug in the dev library install recipe
✓ 
* Remove cases for binary debs in the ghc package - haskell-devscripts is not a build dependency of ghc
While the package is not a build-dependency (which would induce too many
build dependency cycles), we _do_ use ./dh_haskell_provides in GHC,
after copying it there. So this code needs to stay.
* Remove support for obsolete doc package prefix "haskell-"
✓
* Pass --package-db to the cabal configure command
✓, but why?
* Pass --with-haddock and --with-ghc to cabal haddock
again ✓, but why? What does this change?
* Add functions to Dh_Haskell.sh to parse library package names, compute
  compiler names and compiler dependent paths
You use “ghc -e” which requires GHCi which is not available on all
architectures, so this is not good.
The proper way to do it is to parse the output of "ghc --info".
I’m pulling it for now.
* Move the make recipes from hlibrary.mk to Dh_Haskell.sh
Nice cleanup
* Add a postinst script to the ghcjs dev library to run recache
Shouldn’t this be handled by a dpkg trigger in your ghcjs package?
Not pulling.
* Remove some make variables that are now computed - DEB_HADDOCK_DIR,
  DEB_HADDOCK_HTML_DIR, DEB_HOOGLE_TXT_DIR
✓
* Update changelog
✓, but will be rewritten before uploading to Debian

It looks like not pulling
 * Remove cases for binary debs in the ghc package - haskell-devscripts 
   is not a build dependency of ghc
prevents me from pulling these patches:
 * Large patch to parameterize the name of the haskell compiler in order
   to support ghcjs
 * Add duplicates of the libghc rules modified to build libghcjs
   packages
 * Remove set -x directives in hlibrary.mk
 * Add improved debugging code (disabled)
 * Supply default compiler to packages_hc call in dh_haskell_blurbs.
I’m afraid that this means that the patches I did pull left me with
something broken.

Not sure how we should proceed from here. Do you want to integrate my
review until I’m satisfied with the overall result, which I then can
pull in one go?


I see that os() and cpu() are only used when building ghcjs packages.
But still, reading that data from ghc --info is saner. Or maybe even
from dpkg-architecture.


Greetings,
Joachim



> 
> 

-- 
Joachim "nomeata" Breitner
Debian Developer
  nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: F0FBF51F
  JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: