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

[PATCH 09/11] Add support for building ghcjs packages (fixed linebreaks)



---
 Dh_Haskell.sh      |  22 +++++--
 Dh_Haskell.sh.orig | 182 +++++++++++++++++++++++++++++++++++------------------
 hlibrary.mk        |  21 +++++++
 3 files changed, 160 insertions(+), 65 deletions(-)

diff --git a/Dh_Haskell.sh b/Dh_Haskell.sh
index 1e1fce6..7cc690a 100644
--- a/Dh_Haskell.sh
+++ b/Dh_Haskell.sh
@@ -6,6 +6,14 @@ os(){
   ghc -e 'putStr System.Info.os'
 }
 
+ghcjs_version(){
+  ghcjs --numeric-ghcjs-version
+}
+
+ghcjs_ghc_version(){
+  ghcjs --numeric-ghc-version
+}
+
 package_prefix(){
     echo $1 | sed -n -e 's|^\([^-]*\)-.*-[^-]*$|\1|p'
 }
@@ -35,6 +43,7 @@ packages_hc(){
 hc_libdir(){
     case $1 in
       ghc) echo "usr/lib/haskell-packages/ghc/lib";;
+      ghcjs) echo "usr/lib/ghcjs/.cabal/lib";;
       *) echo "Don't know package_libdir for $1" >&2; exit 1;;
     esac
 }
@@ -46,6 +55,7 @@ package_libdir(){
 hc_pkgdir(){
     case $1 in
 	ghc) echo "var/lib/ghc/package.conf.d";;
+        ghcjs) echo "usr/lib/ghcjs/.ghcjs/`cpu`-`os`-`ghcjs_version`-`ghcjs_ghc_version`/ghcjs/package.conf.d";;
         *) echo "Don't know pkgdir for $1" >&2; exit 1;;
     esac
 }
@@ -57,6 +67,7 @@ package_pkgdir(){
 hc_prefix(){
     case $1 in
       ghc) echo "usr";;
+      ghcjs) echo "usr/lib/ghcjs";;
       *) echo "Don't know prefix for compiler $1" >&2; exit 1;;
     esac
 }
@@ -64,6 +75,7 @@ hc_prefix(){
 hc_haddock(){
     case $1 in
 	ghc) echo "haddock";;
+	ghcjs) echo "haddock-ghcjs";;
 	*) echo "Don't know pkgdir for $1" >&2; exit 1;;
     esac
 }
@@ -333,11 +345,11 @@ clean_recipe(){
     MAKEFILE=$3
     DEB_LINTIAN_OVERRIDES_FILE=$4
     [ ! -x "${DEB_SETUP_BIN_NAME}" ] || ${DEB_SETUP_BIN_NAME} clean
-    rm -rf dist dist-ghc dist-hugs ${DEB_SETUP_BIN_NAME} Setup.hi Setup.ho Setup.o .*config*
-    rm -f configure-ghc-stamp build-ghc-stamp build-hugs-stamp build-haddock-stamp
-    rm -rf debian/tmp-inst-ghc
-    rm -f debian/extra-depends-ghc
-    rm -f debian/libghc-${CABAL_PACKAGE}-doc.links
+    rm -rf dist dist-ghc dist-ghcjs dist-hugs ${DEB_SETUP_BIN_NAME} Setup.hi Setup.ho Setup.o .*config*
+    rm -f configure-ghc-stamp configure-ghcjs-stamp build-ghc-stamp build-ghcjs-stamp build-hugs-stamp build-haddock-stamp
+    rm -rf debian/tmp-inst-ghc debian/tmp-inst-ghcjs
+    rm -f debian/extra-depends-ghc debian/extra-depends-ghcjs
+    rm -f debian/libghc-${CABAL_PACKAGE}-doc.links debian/libghcjs-${CABAL_PACKAGE}-doc.links
     if [ -f ${DEB_LINTIAN_OVERRIDES_FILE} ] ; then					\
       sed -i '/binary-or-shlib-defines-rpath/ d' ${DEB_LINTIAN_OVERRIDES_FILE} ;	\
       find ${DEB_LINTIAN_OVERRIDES_FILE} -empty -delete;				\
diff --git a/Dh_Haskell.sh.orig b/Dh_Haskell.sh.orig
index 4e56b64..1e1fce6 100644
--- a/Dh_Haskell.sh.orig
+++ b/Dh_Haskell.sh.orig
@@ -68,6 +68,24 @@ hc_haddock(){
     esac
 }
 
+hc_docdir(){
+    hc=$1
+    pkgid=$2
+    echo "usr/lib/${hc}-doc/haddock/${pkgid}/"
+}
+
+hc_htmldir(){
+    hc=$1
+    CABAL_PACKAGE=$2
+    echo "usr/share/doc/lib${hc}-${CABAL_PACKAGE}-doc/html/"
+}
+
+hc_hoogle(){
+    local hc
+    hc=$1
+    echo "/usr/lib/${hc}-doc/hoogle/"
+}
+
 strip_hash(){
 	echo "$1" | sed 's/-................................$//'
 }
@@ -91,7 +109,10 @@ dependency(){
 }
 
 ghc_pkg_field(){
-    ghc-pkg --global field $@ | head -n1
+    hc=$1
+    pkg=$2
+    field=$3
+    ${hc}-pkg --global field ${pkg} ${field} | head -n1
 }
 
 providing_package_for_ghc(){
@@ -100,9 +121,11 @@ providing_package_for_ghc(){
     local dir
     local dirs
     local lib
-    dep=`strip_hash $1`
-    dirs=`ghc_pkg_field $dep library-dirs | grep -i ^library-dirs | cut -d':' -f 2`
-    lib=`ghc_pkg_field $dep hs-libraries | grep -i ^hs-libraries |  sed -e 's|hs-libraries: *\([^ ]*\).*|\1|' `
+    local hc
+    hc=$1
+    dep=`strip_hash $2`
+    dirs=`ghc_pkg_field $hc $dep library-dirs | grep -i ^library-dirs | cut -d':' -f 2`
+    lib=`ghc_pkg_field $hc $dep hs-libraries | grep -i ^hs-libraries |  sed -e 's|hs-libraries: *\([^ ]*\).*|\1|' `
     for dir in $dirs ; do
 	if [ -e "${dir}/lib${lib}.a" ] ; then
 	    package=`dpkg-query -S ${dir}/lib${lib}.a | cut -d':' -f 1` || exit $?
@@ -118,9 +141,11 @@ providing_package_for_ghc_prof(){
     local dir
     local dirs
     local lib
-    dep=`strip_hash $1`
-    dirs=`ghc_pkg_field $dep library-dirs | grep -i ^library-dirs | cut -d':' -f 2`
-    lib=`ghc_pkg_field $dep hs-libraries | grep -i ^hs-libraries | sed -e 's|hs-libraries: *\([^ ]*\).*|\1|' `
+    local hc
+    hc=$1
+    dep=`strip_hash $2`
+    dirs=`ghc_pkg_field $hc $dep library-dirs | grep -i ^library-dirs | cut -d':' -f 2`
+    lib=`ghc_pkg_field $hc $dep hs-libraries | grep -i ^hs-libraries | sed -e 's|hs-libraries: *\([^ ]*\).*|\1|' `
     for dir in $dirs ; do
 	if [ -e "${dir}/lib${lib}_p.a" ] ; then
 	    package=`dpkg-query -S ${dir}/lib${lib}_p.a | cut -d':' -f 1` || exit $?
@@ -166,12 +191,14 @@ cabal_depends(){
 }
 
 hashed_dependency(){
+    local hc
     local type
     local pkgid
     local virpkg
-    type=$1
-    pkgid=$2
-    virtual_pkg=`package_id_to_virtual_package $type $pkgid`
+    hc=$1
+    type=$2
+    pkgid=$3
+    virtual_pkg=`package_id_to_virtual_package "${hc}" "$type" $pkgid`
     # As a transition measure, check if dpkg knows about this virtual package
     if dpkg-query -W $virtual_pkg >/dev/null 2>/dev/null;
     then
@@ -183,11 +210,14 @@ depends_for_ghc(){
     local dep
     local packages
     local pkgid
+    local hc
+    hc=$1
+    shift
     for pkgid in `cabal_depends $@` ; do
-	dep=`hashed_dependency dev $pkgid`
+	dep=`hashed_dependency ${hc} dev $pkgid`
 	if [ -z "$dep" ]
 	then
-	  pkg=`providing_package_for_ghc $pkgid`
+	  pkg=`providing_package_for_ghc $hc $pkgid`
           if [ -n "$pkg" ]
           then
 	      dep=`dependency $pkg`
@@ -207,11 +237,14 @@ depends_for_ghc_prof(){
     local dep
     local packages
     local pkgid
+    local hc
+    hc=$1
+    shift
     for pkgid in `cabal_depends $@` ; do
-	dep=`hashed_dependency prof $pkgid`
+	dep=`hashed_dependency ${hc} prof $pkgid`
 	if [ -z "$dep" ]
 	then
-	  pkg=`providing_package_for_ghc_prof $pkgid`
+	  pkg=`providing_package_for_ghc_prof $hc $pkgid`
           if [ -n "$pkg" ]
           then
 	      dep=`dependency $pkg`
@@ -228,29 +261,39 @@ depends_for_ghc_prof(){
 }
 
 provides_for_ghc(){
+    local hc
     local dep
     local packages
+    hc=$1
+    shift
     for package_id in `cabal_package_ids $@` ; do
-	packages="$packages, `package_id_to_virtual_package dev $package_id`"
+	packages="$packages, `package_id_to_virtual_package "${hc}" dev $package_id`"
     done
     echo $packages | sed -e 's/^,[ ]*//'
 }
 
 provides_for_ghc_prof(){
+    local hc
     local dep
     local packages
+    hc=$1
+    shift
     for package_id in `cabal_package_ids $@` ; do
-	packages="$packages, `package_id_to_virtual_package prof $package_id`"
+	packages="$packages, `package_id_to_virtual_package "${hc}" prof $package_id`"
     done
     echo $packages | sed -e 's/^,[ ]*//'
 }
 
 package_id_to_virtual_package(){
+	local hc
 	local type
-	type="$1"
-	echo $2 | tr A-Z a-z | \
+	local pkgid
+	hc="$1"
+	type="$2"
+	pkgid="$3"
+	echo ${pkgid} | tr A-Z a-z | \
             grep '[a-z0-9]\+-[0-9\.]\+-................................' | \
-		perl -pe 's/([a-z0-9-]+)-([0-9\.]+)-(.....).........................../libghc-\1-'$type'-\2-\3/'
+		perl -pe 's/([a-z0-9-]+)-([0-9\.]+)-(.....).........................../lib'${hc}'-\1-'$type'-\2-\3/'
 }
 
 depends_for_hugs(){
@@ -265,17 +308,18 @@ find_config_for_ghc(){
     local f
     local pkg
     pkg=$1
+    pkgdir=`package_pkgdir ${pkg}`
     case "$pkg" in
 	ghc-prof)
 	    pkg=ghc
 	    ;;
-	libghc-*-prof)
+	*-prof)
 	    pkg=`echo $pkg | sed -e 's/-prof$/-dev/'`
 	    ;;
 	*)
 	    ;;
     esac
-    for f in debian/$pkg/var/lib/ghc/package.conf.d/*.conf ; do
+    for f in debian/$pkg/${pkgdir}/*.conf ; do
 	if [ -f "$f" ] ; then
 	    echo $f
 	    echo " "
@@ -292,7 +336,7 @@ clean_recipe(){
     rm -rf dist dist-ghc dist-hugs ${DEB_SETUP_BIN_NAME} Setup.hi Setup.ho Setup.o .*config*
     rm -f configure-ghc-stamp build-ghc-stamp build-hugs-stamp build-haddock-stamp
     rm -rf debian/tmp-inst-ghc
-    rm -f debian/extra-depends
+    rm -f debian/extra-depends-ghc
     rm -f debian/libghc-${CABAL_PACKAGE}-doc.links
     if [ -f ${DEB_LINTIAN_OVERRIDES_FILE} ] ; then					\
       sed -i '/binary-or-shlib-defines-rpath/ d' ${DEB_LINTIAN_OVERRIDES_FILE} ;	\
@@ -311,32 +355,37 @@ make_setup_recipe(){
 configure_recipe(){
     DEB_SETUP_BIN_NAME=$1
     CABAL_PACKAGE=$2
-    DEB_HADDOCK_DIR=$3
-    DEB_HADDOCK_HTML_DIR=$4
-    ENABLE_PROFILING=$5
-    NO_GHCI_FLAG=$6
-    DEB_SETUP_GHC6_CONFIGURE_ARGS=$7
-    DEB_SETUP_GHC_CONFIGURE_ARGS=$8
-    OPTIMIZATION=$9
-    TESTS=$10
-    COMPILERS=$11
+    CABAL_VERSION=$3
+    ENABLE_PROFILING=$4
+    NO_GHCI_FLAG=$5
+    DEB_SETUP_GHC6_CONFIGURE_ARGS=$6
+    DEB_SETUP_GHC_CONFIGURE_ARGS=$7
+    OPTIMIZATION=$8
+    TESTS=$9
+    DEB_DEFAULT_COMPILER=$10
+    DEB_PACKAGES=$11
+
+    hc=`packages_hc "${DEB_DEFAULT_COMPILER}" "${DEB_PACKAGES}"`
 
+    ENABLE_PROFILING=`{ for i in ${DEB_PACKAGES}; do package_ext $i | grep prof; done; } | sort -u | sed 's/prof/--enable-library-profiling/'`
     local GHC_OPTIONS
     for i in `dpkg-buildflags --get LDFLAGS`; do GHC_OPTIONS="$GHC_OPTIONS -optl$i"; done
 
-    ${DEB_SETUP_BIN_NAME} configure ${COMPILERS} -v2 --package-db=/var/lib/ghc/package.conf.d \
-        --prefix=/usr --libdir=/usr/lib/haskell-packages/ghc/lib \
-	--builddir=dist-ghc \
+    ${DEB_SETUP_BIN_NAME} configure "--${hc}" -v2 --package-db=/`hc_pkgdir ${hc}` \
+        --prefix=/`hc_prefix ${hc}` --libdir=/`hc_libdir ${hc}` \
+	--builddir=dist-${hc} \
        --ghc-options="${GHC_OPTIONS}" \
-	--haddockdir=${DEB_HADDOCK_DIR} --datasubdir=${CABAL_PACKAGE}\
-	--htmldir=${DEB_HADDOCK_HTML_DIR} ${ENABLE_PROFILING} ${NO_GHCI_FLAG} \
+	--haddockdir=/`hc_docdir ${hc} ${CABAL_PACKAGE}-${CABAL_VERSION}` --datasubdir=${CABAL_PACKAGE}\
+	--htmldir=/`hc_htmldir ${hc} ${CABAL_PACKAGE}` ${ENABLE_PROFILING} ${NO_GHCI_FLAG} \
 	${DEB_SETUP_GHC6_CONFIGURE_ARGS} ${DEB_SETUP_GHC_CONFIGURE_ARGS} ${OPTIMIZATION} ${TESTS}
 }
 
 build_recipe(){
     DEB_SETUP_BIN_NAME=$1
-    COMPILER=$2
-    ${DEB_SETUP_BIN_NAME} build --builddir=dist-${COMPILER}
+    DEB_DEFAULT_COMPILER=$2
+    DEB_PACKAGES=$3
+    hc=`packages_hc "${DEB_DEFAULT_COMPILER}" "${DEB_PACKAGES}"`
+    ${DEB_SETUP_BIN_NAME} build --builddir=dist-${hc}
 }
 
 check_recipe(){
@@ -350,15 +399,19 @@ check_recipe(){
 haddock_recipe(){
     DEB_SETUP_BIN_NAME=$1
     DEB_HADDOCK_OPTS=$2
-    COMPILER=$3
-    [ ! -x /usr/bin/haddock ] || ${DEB_SETUP_BIN_NAME} haddock --builddir=dist-${COMPILER} --with-haddock=/usr/bin/haddock --with-ghc=${COMPILER} ${DEB_HADDOCK_OPTS} || \
+    DEB_DEFAULT_COMPILER=$3
+    DEB_PACKAGES=$4
+    hc=`packages_hc "${DEB_DEFAULT_COMPILER}" "${DEB_PACKAGES}"`
+    haddock=`hc_haddock ${hc}`
+    [ ! -x /usr/bin/${haddock} ] || ${DEB_SETUP_BIN_NAME} haddock --builddir=dist-${hc} --with-haddock=/usr/bin/${haddock} --with-ghc=${hc} ${DEB_HADDOCK_OPTS} || \
 	  echo "Haddock failed (no modules?), creating empty documentation package."
 }
 
 extra_depends_recipe(){
     DEB_SETUP_BIN_NAME=$1
-    pkg_config=`${DEB_SETUP_BIN_NAME} register --builddir=dist-ghc --gen-pkg-config | tr -d ' \n' | sed -r 's,^.*:,,'`
-    dh_haskell_extra_depends $pkg_config
+    hc=$2
+    pkg_config=`${DEB_SETUP_BIN_NAME} register --builddir=dist-${hc} --gen-pkg-config | tr -d ' \n' | sed -r 's,^.*:,,'`
+    dh_haskell_extra_depends ${hc} $pkg_config
     rm $pkg_config
 }
 
@@ -370,12 +423,17 @@ install_dev_recipe(){
     DEB_GHC_EXTRA_PACKAGES=$5
     DEB_LINTIAN_OVERRIDES_FILE=$6
     PKG=$7
-    ( cd debian/tmp-inst-ghc ; mkdir -p usr/lib/haskell-packages/ghc/lib ; find usr/lib/haskell-packages/ghc/lib/ \
+
+    hc=`package_hc ${PKG}`
+    libdir=`package_libdir ${PKG}`
+    pkgdir=`package_pkgdir ${PKG}`
+
+    ( cd debian/tmp-inst-${hc} ; mkdir -p ${libdir} ; find ${libdir}/ \
     	\( ! -name "*_p.a" ! -name "*.p_hi" ! -type d \) \
     	-exec install -Dm 644 '{}' ../${PKG}/'{}' ';' )
-    pkg_config=`${DEB_SETUP_BIN_NAME} register --builddir=dist-ghc --gen-pkg-config | tr -d ' \n' | sed -r 's,^.*:,,'`
+    pkg_config=`${DEB_SETUP_BIN_NAME} register --builddir=dist-${hc} --gen-pkg-config | tr -d ' \n' | sed -r 's,^.*:,,'`
     if [ "${HASKELL_HIDE_PACKAGES}" ]; then sed -i 's/^exposed: True$/exposed: False/' $pkg_config; fi
-    install -Dm 644 $pkg_config debian/${PKG}/var/lib/ghc/package.conf.d/$pkg_config
+    install -Dm 644 $pkg_config debian/${PKG}/${pkgdir}/$pkg_config
     rm -f $pkg_config
     if [ "z${DEB_GHC_EXTRA_PACKAGES}" != "z" ] ; then
        mkdir -p debian/$(notdir $@)/usr/lib/haskell-packages/extra-packages; \
@@ -391,7 +449,8 @@ install_dev_recipe(){
 
 install_prof_recipe(){
     PKG=$1
-    ( cd debian/tmp-inst-ghc ; mkdir -p usr/lib/haskell-packages/ghc/lib ; find usr/lib/haskell-packages/ghc/lib/ \
+    libdir=`package_libdir ${PKG}`
+    ( cd debian/tmp-inst-`package_hc ${PKG}` ; mkdir -p ${libdir} ; find ${libdir}/ \
         ! \( ! -name "*_p.a" ! -name "*.p_hi" \) \
         -exec install -Dm 644 '{}' ../${PKG}/'{}' ';' )
     dh_haskell_provides -p${PKG}
@@ -400,23 +459,26 @@ install_prof_recipe(){
 
 install_doc_recipe(){
     CABAL_PACKAGE=$1
-    DEB_HADDOCK_DIR=$2
-    DEB_HADDOCK_HTML_DIR=$3
-    DEB_ENABLE_HOOGLE=$4
-    DEB_HOOGLE_TXT_DIR=$5
-    PKG=$6
-    mkdir -p debian/${PKG}/${DEB_HADDOCK_HTML_DIR}
-    ( cd debian/tmp-inst-ghc/ ; find ./${DEB_HADDOCK_HTML_DIR} \
+    CABAL_VERSION=$2
+    DEB_ENABLE_HOOGLE=$3
+    PKG=$4
+    hc=`package_hc ${PKG}`
+    pkgid=${CABAL_PACKAGE}-${CABAL_VERSION}
+    docdir=`hc_docdir ${hc} ${pkgid}`
+    htmldir=`hc_htmldir ${hc} ${CABAL_PACKAGE}`
+    hoogle=`hc_hoogle ${hc}`
+    mkdir -p debian/${PKG}/${htmldir}
+    ( cd debian/tmp-inst-${hc}/ ; find ./${htmldir} \
     	! -name "*.haddock" ! -type d -exec install -Dm 644 '{}' \
     	../${PKG}/'{}' ';' )
-    mkdir -p debian/${PKG}/${DEB_HADDOCK_DIR}
-    [ 0 = `ls debian/tmp-inst-ghc/${DEB_HADDOCK_DIR}/ 2>/dev/null | wc -l` ] ||
-    	cp -r debian/tmp-inst-ghc/${DEB_HADDOCK_DIR}/*.haddock \
-    	    debian/${PKG}/${DEB_HADDOCK_DIR}
+    mkdir -p debian/${PKG}/${docdir}
+    [ 0 = `ls debian/tmp-inst-${hc}/${docdir}/ 2>/dev/null | wc -l` ] ||
+    	cp -r debian/tmp-inst-${hc}/${docdir}/*.haddock \
+    	    debian/${PKG}/${docdir}
     if [ "${DEB_ENABLE_HOOGLE}" = "yes" ]; then
-        find debian/${PKG}/${DEB_HADDOCK_HTML_DIR} -name "*.txt" \
-            -printf "%p ${DEB_HOOGLE_TXT_DIR}/${PKG}.txt\n" >> debian/libghc-${CABAL_PACKAGE}-doc.links
-        sed -i s,^debian/libghc-${CABAL_PACKAGE}-doc,, debian/libghc-${CABAL_PACKAGE}-doc.links
+        find debian/${PKG}/${htmldir} -name "*.txt" \
+            -printf "%p ${hoogle}/${PKG}.txt\n" >> debian/lib${hc}-${CABAL_PACKAGE}-doc.links
+        sed -i s,^debian/lib${hc}-${CABAL_PACKAGE}-doc,, debian/lib${hc}-${CABAL_PACKAGE}-doc.links
     fi
     dh_haskell_depends -p${PKG}
 }
diff --git a/hlibrary.mk b/hlibrary.mk
index 2c8bd76..2d04d52 100644
--- a/hlibrary.mk
+++ b/hlibrary.mk
@@ -129,12 +129,16 @@ endif
 
 build/libghc-$(CABAL_PACKAGE)-prof build/libghc-$(CABAL_PACKAGE)-dev:: build-ghc-stamp check-ghc-stamp
 
+build/libghcjs-$(CABAL_PACKAGE)-prof build/libghcjs-$(CABAL_PACKAGE)-dev:: build-ghc-stamp check-ghc-stamp
+
 build-haddock-stamp:
 	. /usr/share/haskell-devscripts/Dh_Haskell.sh && haddock_recipe "$(DEB_SETUP_BIN_NAME)" "$(DEB_HADDOCK_OPTS)" "$(DEB_DEFAULT_COMPILER)" "$(DEB_PACKAGES)"
 	touch build-haddock-stamp
 
 build/libghc-$(CABAL_PACKAGE)-doc:: configure-ghc-stamp build-haddock-stamp
 
+build/libghcjs-$(CABAL_PACKAGE)-doc:: configure-ghc-stamp build-haddock-stamp
+
 dist-hugs: $(DEB_SETUP_BIN_NAME)
 	$(DEB_SETUP_BIN_NAME) configure --hugs --prefix=/usr -v2 --builddir=dist-hugs $(DEB_SETUP_HUGS_CONFIGURE_ARGS)
 
@@ -144,22 +148,39 @@ build/libhugs-$(CABAL_PACKAGE):: dist-hugs
 debian/tmp-inst-ghc: $(DEB_SETUP_BIN_NAME) build-ghc-stamp
 	$(DEB_SETUP_BIN_NAME) copy --builddir=dist-ghc --destdir=debian/tmp-inst-ghc
 
+debian/tmp-inst-ghcjs: $(DEB_SETUP_BIN_NAME) build-ghc-stamp
+	$(DEB_SETUP_BIN_NAME) copy --builddir=dist-ghcjs --destdir=debian/tmp-inst-ghcjs
+
 debian/extra-depends-ghc: debian/tmp-inst-ghc
 	. /usr/share/haskell-devscripts/Dh_Haskell.sh && extra_depends_recipe "$(DEB_SETUP_BIN_NAME)" ghc
 
+debian/extra-depends-ghcjs: debian/tmp-inst-ghcjs
+	. /usr/share/haskell-devscripts/Dh_Haskell.sh && extra_depends_recipe "$(DEB_SETUP_BIN_NAME)" ghcjs
+
 DEB_LINTIAN_OVERRIDES_FILE = debian/libghc-$(CABAL_PACKAGE)-dev.lintian-overrides
 
 install/libghc-$(CABAL_PACKAGE)-dev:: debian/tmp-inst-ghc debian/extra-depends-ghc
 	. /usr/share/haskell-devscripts/Dh_Haskell.sh && \
 	  install_dev_recipe "$(DEB_SETUP_BIN_NAME)" "$(CABAL_PACKAGE)" "$(CABAL_VERSION)" "$(HASKELL_HIDE_PACKAGES)" "$(DEB_GHC_EXTRA_PACKAGES)" $(DEB_LINTIAN_OVERRIDES_FILE) "$(notdir $@)"
 
+install/libghcjs-$(CABAL_PACKAGE)-dev:: debian/tmp-inst-ghcjs debian/extra-depends-ghcjs
+	. /usr/share/haskell-devscripts/Dh_Haskell.sh && \
+	  install_dev_recipe "$(DEB_SETUP_BIN_NAME)" "$(CABAL_PACKAGE)" "$(CABAL_VERSION)" "$(HASKELL_HIDE_PACKAGES)" "$(DEB_GHC_EXTRA_PACKAGES)" "$(DEB_LINTIAN_OVERRIDES_FILE)" "$(notdir $@)"
+
 install/libghc-$(CABAL_PACKAGE)-prof:: debian/tmp-inst-ghc install/libghc-$(CABAL_PACKAGE)-dev debian/extra-depends-ghc
 	. /usr/share/haskell-devscripts/Dh_Haskell.sh && install_prof_recipe "$(notdir $@)"
 
+install/libghcjs-$(CABAL_PACKAGE)-prof:: debian/tmp-inst-ghcjs install/libghcjs-$(CABAL_PACKAGE)-dev debian/extra-depends-ghcjs
+	. /usr/share/haskell-devscripts/Dh_Haskell.sh && install_prof_recipe "$(notdir $@)"
+
 install/libghc-$(CABAL_PACKAGE)-doc:: debian/tmp-inst-ghc build-haddock-stamp debian/extra-depends-ghc
 	. /usr/share/haskell-devscripts/Dh_Haskell.sh && \
 	  install_doc_recipe "$(CABAL_PACKAGE)" "$(CABAL_VERSION)" "$(DEB_ENABLE_HOOGLE)" "$(notdir $@)"
 
+install/libghcjs-$(CABAL_PACKAGE)-doc:: debian/tmp-inst-ghcjs build-haddock-stamp debian/extra-depends-ghcjs
+	. /usr/share/haskell-devscripts/Dh_Haskell.sh && \
+	  install_doc_recipe "$(CABAL_PACKAGE)" "$(CABAL_VERSION)" "$(DEB_ENABLE_HOOGLE)" "$(notdir $@)"
+
 install/libhugs-$(CABAL_PACKAGE):: $(DEB_SETUP_BIN_NAME) dist-hugs debian/extra-depends-hugs
 	$(DEB_SETUP_BIN_NAME) copy --destdir=debian/libhugs-$(CABAL_PACKAGE) --builddir=dist-hugs
 	rm -rf debian/libhugs-$(CABAL_PACKAGE)/usr/share/doc/*
-- 
1.9.1


Reply to: