summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Kolmodin <kolmodin@gentoo.org>2006-10-13 07:49:24 +0000
committerLennart Kolmodin <kolmodin@gentoo.org>2006-10-13 07:49:24 +0000
commit9615e355c45a87bf6eef2898c242a284fce2ea04 (patch)
tree2d31fd3bdd8e7c00b95ca26742f582137e976a6b /dev-haskell
parentAdd gnome-doc-utils dep, fixes #140170 for this package version. Caused by no... (diff)
downloadgentoo-2-9615e355c45a87bf6eef2898c242a284fce2ea04.tar.gz
gentoo-2-9615e355c45a87bf6eef2898c242a284fce2ea04.tar.bz2
gentoo-2-9615e355c45a87bf6eef2898c242a284fce2ea04.zip
Cleanup in dev-haskell/wash-2.5.6 + GHC 6.6 compatibitily
(Portage version: 2.1.2_pre1-r1)
Diffstat (limited to 'dev-haskell')
-rw-r--r--dev-haskell/wash/ChangeLog6
-rw-r--r--dev-haskell/wash/files/wash-2.5.6-ghc66.patch244
-rw-r--r--dev-haskell/wash/wash-2.5.6.ebuild39
3 files changed, 256 insertions, 33 deletions
diff --git a/dev-haskell/wash/ChangeLog b/dev-haskell/wash/ChangeLog
index b9d956e59e7d..e1bcf8823402 100644
--- a/dev-haskell/wash/ChangeLog
+++ b/dev-haskell/wash/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-haskell/wash
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-haskell/wash/ChangeLog,v 1.7 2006/03/11 11:51:49 dcoutts Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-haskell/wash/ChangeLog,v 1.8 2006/10/13 07:49:24 kolmodin Exp $
+
+ 13 Oct 2006; <kolmodin@gentoo.org> +files/wash-2.5.6-ghc66.patch,
+ wash-2.5.6.ebuild:
+ Cleanup and GHC 6.6 compatibility
10 Mar 2006; Duncan Coutts <dcoutts@gentoo.org> wash-2.5.6.ebuild:
Depend on postresql client libs rather than the server.
diff --git a/dev-haskell/wash/files/wash-2.5.6-ghc66.patch b/dev-haskell/wash/files/wash-2.5.6-ghc66.patch
new file mode 100644
index 000000000000..2c61d5ddfcdf
--- /dev/null
+++ b/dev-haskell/wash/files/wash-2.5.6-ghc66.patch
@@ -0,0 +1,244 @@
+diff -urwpN WashNGo-2.5.6.orig/configure.in WashNGo-2.5.6/configure.in
+--- WashNGo-2.5.6.orig/configure.in 2005-11-10 15:24:31.000000000 +0000
++++ WashNGo-2.5.6/configure.in 2006-09-12 17:02:15.000000000 +0100
+@@ -110,17 +110,17 @@ GHCPKG_UPDATE="$GHCPKG $GHCPKG_OPT__UPDA
+
+ if test "$ENABLE_DBCONNECT" = "yes"; then
+ AC_PATH_PROG(C2HS,c2hs,[no])
+- AC_PATH_PROG(PG_CONFIG,pg_config,[no],[$PATH:$PG_BINDIR])
++# AC_PATH_PROG(PG_CONFIG,pg_config,[no],[$PATH:$PG_BINDIR])
+ if test "$C2HS" = "no" ; then
+ ENABLE_DBCONNECT="no"
+ C2HS=""
+ AC_MSG_WARN([--enable-dbconnect turned off because program c2hs was not found])
+ fi
+- if test "$PG_CONFIG" = "no" ; then
+- ENABLE_DBCONNECT="no"
+- PG_CONFIG=""
+- AC_MSG_WARN([--enable-dbconnect turned off because program pg_config was not found])
+- fi
++# if test "$PG_CONFIG" = "no" ; then
++# ENABLE_DBCONNECT="no"
++# PG_CONFIG=""
++# AC_MSG_WARN([--enable-dbconnect turned off because program pg_config was not found])
++# fi
+ else
+ C2HS=""
+ PG_CONFIG=""
+diff -urwpN WashNGo-2.5.6.orig/lib/Makefile WashNGo-2.5.6/lib/Makefile
+--- WashNGo-2.5.6.orig/lib/Makefile 2005-09-26 12:54:31.000000000 +0100
++++ WashNGo-2.5.6/lib/Makefile 2006-09-12 16:48:48.000000000 +0100
+@@ -27,7 +27,7 @@ HIDDEN_MODULES= \
+ $(addprefix WASH.Dbconnect.,$(DBCONNECT_HIDDEN))
+
+ ifeq ($(ENABLE_DBCONNECT),yes)
+-PACKAGE_DEPENDENCIES= rts haskell98 text c2hs
++PACKAGE_DEPENDENCIES= base haskell98 parsec
+ PGLIB=`$(PG_CONFIG) --libdir`
+
+ ## lib directory on target machine
+@@ -39,9 +39,9 @@ EXTRA_LD_OPTS= -B dynamic \
+ -Wl,-rpath,$(PGLIB_TARGET)
+
+ EXTRA_LIBRARIES= pq
+-LD_OPTIONS= $(EXTRA_LD_OPTS)
++LD_OPTIONS=
+ else
+-PACKAGE_DEPENDENCIES= text haskell98
++PACKAGE_DEPENDENCIES= base haskell98 parsec
+ endif
+
+ DOCSOURCES= $(addsuffix .hs,$(subst .,/,$(EXPOSED_MODULES)))
+diff -urwpN WashNGo-2.5.6.orig/lib/Makefile.CGI WashNGo-2.5.6/lib/Makefile.CGI
+--- WashNGo-2.5.6.orig/lib/Makefile.CGI 2005-11-11 15:43:03.000000000 +0000
++++ WashNGo-2.5.6/lib/Makefile.CGI 2006-09-12 16:06:43.000000000 +0100
+@@ -16,7 +16,7 @@ all: libWashNGo.a
+ ######################################################################
+ # WASH-CGI
+
+-PACKAGE_DEPENDENCIES= haskell98 text
++PACKAGE_DEPENDENCIES= base haskell98 parsec
+
+ FILES= $(OTHER_FILES) $(HS_SOURCES)
+ OTHER_FILES= $(addprefix WASH/CGI/,Makefile README INSTALL LICENSE)
+@@ -31,11 +31,11 @@ libWashNGo.a: libWashNGo.a($(HS_SOURCES:
+ ######################################################################
+ # generic stuff
+
+-HC_SPEC_FLAGS= -package-name $(PACKAGE)
++HC_SPEC_FLAGS= -package-name $(PACKAGE) $(addprefix -package , $(PACKAGE_DEPENDENCIES))
+ HCINCLUDES=
+ HCLOADFLAGS=
+
+-OPT= -O2
++OPT= -O
+
+ HCFLAGS= $(OPT) $(HC_SPEC_FLAGS) $(HCINCLUDES) $(HCEXTRAFLAGS)
+
+diff -urwpN WashNGo-2.5.6.orig/lib/Makefile.Dbconnect WashNGo-2.5.6/lib/Makefile.Dbconnect
+--- WashNGo-2.5.6.orig/lib/Makefile.Dbconnect 2005-11-11 15:43:03.000000000 +0000
++++ WashNGo-2.5.6/lib/Makefile.Dbconnect 2006-09-12 17:32:06.000000000 +0100
+@@ -34,7 +34,7 @@ OTHER_FILES= $(addprefix WASH/Dbconnect/
+ EXAMPLE_FILES=examples/Makefile examples/Main.hs examples/Mystylesheet.hs \
+ examples/ducktales.sql examples/removeDucktales.sql
+ MODULES= $(EXPOSED_MODULES) $(HIDDEN_MODULES)
+-PACKAGE_DEPENDENCIES= haskell98
++PACKAGE_DEPENDENCIES= base haskell98
+ HIDDEN_MODULES= $(DBCONNECT_HIDDEN)
+ EXPOSED_MODULES= $(DBCONNECT_EXPOSED)
+ HS_SOURCES= $(addprefix WASH/Dbconnect/,$(MODULES:=.hs))
+@@ -44,16 +44,16 @@ libWashNGo.a: libWashNGo.a($(HS_SOURCES:
+ $(RANLIB) $@
+
+ WASH/Dbconnect/Libpqfe.hs : WASH/Dbconnect/Libpqfe.chs
+- $(C2HS) $(PGINCLUDE)/libpq-fe.h WASH/Dbconnect/Libpqfe.chs
++ $(C2HS) libpq-fe.h WASH/Dbconnect/Libpqfe.chs
+
+ ######################################################################
+ # generic stuff
+
+-HC_SPEC_FLAGS= -package-name $(PACKAGE)
+-HCINCLUDES= -fglasgow-exts -package c2hs -I.
++HC_SPEC_FLAGS= -package-name $(PACKAGE) $(addprefix -package , $(PACKAGE_DEPENDENCIES))
++HCINCLUDES= -fglasgow-exts -I.
+ HCLOADFLAGS=
+
+-OPT= -O2 -ffi
++OPT= -O -ffi
+
+ HCFLAGS= $(OPT) $(HC_SPEC_FLAGS) $(HCINCLUDES) $(HCEXTRAFLAGS)
+
+diff -urwpN WashNGo-2.5.6.orig/lib/Makefile.HTML WashNGo-2.5.6/lib/Makefile.HTML
+--- WashNGo-2.5.6.orig/lib/Makefile.HTML 2005-11-11 15:43:03.000000000 +0000
++++ WashNGo-2.5.6/lib/Makefile.HTML 2006-09-12 16:07:11.000000000 +0100
+@@ -19,7 +19,7 @@ FILES= $(OTHER_FILES) $(HS_SOURCES)
+ OTHER_FILES= $(addprefix WASH/HTML/,Makefile LICENSE)
+
+ MODULES= $(EXPOSED_MODULES)$(HIDDEN_MODULES)
+-PACKAGE_DEPENDENCIES= haskell98 text
++PACKAGE_DEPENDENCIES= base haskell98
+ HIDDEN_MODULES= $(HTML_HIDDEN)
+ EXPOSED_MODULES= $(HTML_EXPOSED)
+ HS_SOURCES= $(addprefix WASH/HTML/,$(MODULES:=.hs))
+@@ -30,11 +30,11 @@ libWashNGo.a: libWashNGo.a($(HS_SOURCES:
+ ######################################################################
+ # generic stuff
+
+-HC_SPEC_FLAGS= -package-name $(PACKAGE)
++HC_SPEC_FLAGS= -package-name $(PACKAGE) $(addprefix -package , $(PACKAGE_DEPENDENCIES))
+ HCINCLUDES=
+ HCLOADFLAGS=
+
+-OPT= -O2
++OPT= -O
+
+ HCFLAGS= $(OPT) $(HC_SPEC_FLAGS) $(HCINCLUDES) $(HCEXTRAFLAGS)
+
+diff -urwpN WashNGo-2.5.6.orig/lib/Makefile.Mail WashNGo-2.5.6/lib/Makefile.Mail
+--- WashNGo-2.5.6.orig/lib/Makefile.Mail 2005-11-11 15:43:02.000000000 +0000
++++ WashNGo-2.5.6/lib/Makefile.Mail 2006-09-12 16:07:42.000000000 +0100
+@@ -18,7 +18,7 @@ all: libWashNGo.a
+ FILES= $(OTHER_FILES) $(HS_SOURCES)
+ OTHER_FILES= $(addprefix WASH/Mail/,Makefile LICENSE)
+ MODULES= $(EXPOSED_MODULES)$(HIDDEN_MODULES)
+-PACKAGE_DEPENDENCIES= text
++PACKAGE_DEPENDENCIES= base haskell98 parsec
+ HIDDEN_MODULES= $(Mail_HIDDEN)
+ EXPOSED_MODULES= $(Mail_EXPOSED)
+ HS_SOURCES= $(addprefix WASH/Mail/,$(MODULES:=.hs))
+@@ -29,11 +29,11 @@ libWashNGo.a: libWashNGo.a($(HS_SOURCES:
+ ######################################################################
+ # generic stuff
+
+-HC_SPEC_FLAGS= -package-name $(PACKAGE)
++HC_SPEC_FLAGS= -package-name $(PACKAGE) $(addprefix -package , $(PACKAGE_DEPENDENCIES))
+ HCINCLUDES=
+ HCLOADFLAGS=
+
+-OPT= -O2
++OPT= -O
+
+ HCFLAGS= $(OPT) $(HC_SPEC_FLAGS) $(HCINCLUDES) $(HCEXTRAFLAGS)
+
+diff -urwpN WashNGo-2.5.6.orig/lib/Makefile.Utility WashNGo-2.5.6/lib/Makefile.Utility
+--- WashNGo-2.5.6.orig/lib/Makefile.Utility 2005-11-11 15:43:02.000000000 +0000
++++ WashNGo-2.5.6/lib/Makefile.Utility 2006-09-12 15:50:36.000000000 +0100
+@@ -18,7 +18,7 @@ all: libWashNGo.a
+ FILES= $(OTHER_FILES) $(HS_SOURCES) $(C_SOURCES) $(H_SOURCES)
+ OTHER_FILES= $(addprefix WASH/Utility/,Makefile LICENSE)
+ MODULES= $(EXPOSED_MODULES)$(HIDDEN_MODULES)
+-PACKAGE_DEPENDENCIES= haskell98 text
++PACKAGE_DEPENDENCIES= base haskell98 parsec
+ HIDDEN_MODULES= $(Utility_HIDDEN)
+ EXPOSED_MODULES= $(Utility_EXPOSED)
+ HS_SOURCES= $(addprefix WASH/Utility/,$(MODULES:=.hs))
+@@ -40,11 +40,11 @@ WASH/Utility/SHA1.o: WASH/Utility/SHA1-p
+ ######################################################################
+ # generic stuff
+
+-HC_SPEC_FLAGS= -package-name $(PACKAGE)
++HC_SPEC_FLAGS= -package-name $(PACKAGE) $(addprefix -package , $(PACKAGE_DEPENDENCIES))
+ HCINCLUDES=
+ HCLOADFLAGS=
+
+-OPT= -O2 -ffi
++OPT= -O -ffi
+
+ HCFLAGS= $(OPT) $(HC_SPEC_FLAGS) $(HCINCLUDES) $(HCEXTRAFLAGS)
+
+diff -urwpN WashNGo-2.5.6.orig/lib/WASH/CGI/GuaranteedCGI.hs WashNGo-2.5.6/lib/WASH/CGI/GuaranteedCGI.hs
+--- WashNGo-2.5.6.orig/lib/WASH/CGI/GuaranteedCGI.hs 2005-09-18 20:41:10.000000000 +0100
++++ WashNGo-2.5.6/lib/WASH/CGI/GuaranteedCGI.hs 2006-09-12 14:51:41.000000000 +0100
+@@ -73,7 +73,7 @@ import WASH.CGI.CGI (
+ , EmailAddress(..), CreditCardNumber(..), CreditCardExp(..)
+ , CGIOption(..), CGIOptions
+ , makeServlet, makeServletWithHook
+- , FrameSet, FrameLayout(..), FrameSpacing(..),
++ , FrameSet, FrameLayout(..), FrameSpacing(..)
+ , makeFrameset, framesetPage
+ , Style(..)
+ )
+diff -urwpN WashNGo-2.5.6.orig/lib/WASH/CGI/SubmitXX.hs WashNGo-2.5.6/lib/WASH/CGI/SubmitXX.hs
+--- WashNGo-2.5.6.orig/lib/WASH/CGI/SubmitXX.hs 2005-09-14 14:27:09.000000000 +0100
++++ WashNGo-2.5.6/lib/WASH/CGI/SubmitXX.hs 2006-09-12 15:24:00.000000000 +0100
+@@ -1,4 +1,4 @@
+-{-# OPTIONS -fglasgow-exts #-}
++{-# OPTIONS -fglasgow-exts -fallow-undecidable-instances #-}
+ -- © 2002-2005 Peter Thiemann
+ -- |Extended-Haskell version of the submission functions.
+ module WASH.CGI.SubmitXX where
+diff -urwpN WashNGo-2.5.6.orig/lib/WASH/Dbconnect/Libpqfe.chs WashNGo-2.5.6/lib/WASH/Dbconnect/Libpqfe.chs
+--- WashNGo-2.5.6.orig/lib/WASH/Dbconnect/Libpqfe.chs 2005-09-14 14:27:09.000000000 +0100
++++ WashNGo-2.5.6/lib/WASH/Dbconnect/Libpqfe.chs 2006-09-12 17:22:19.000000000 +0100
+@@ -2,7 +2,8 @@ module WASH.Dbconnect.Libpqfe where
+ -- c2hs /usr/include/postgresql/libpq-fe.h Libpq-fe.chs
+ -- ghc
+
+-import C2HS
++import Foreign
++import Foreign.C
+
+
+ {#enum ConnStatusType as ConnStatusType {underscoreToCase} deriving (Show, Eq)#}
+@@ -26,6 +27,9 @@ mExecStatusTypeToCInt = (toEnum . fromE
+ mCIntToBool :: CInt -> Bool
+ mCIntToBool = (toEnum . fromEnum)
+
++cIntConv :: (Integral a, Integral b) => a -> b
++cIntConv = fromIntegral
++
+ data X_PGconn = X_PGconn
+ data X_PQresult = X_PQresult
+ data X_PGresult = X_PGresult
+diff -urwpN WashNGo-2.5.6.orig/washparser/hs/Makefile WashNGo-2.5.6/washparser/hs/Makefile
+--- WashNGo-2.5.6.orig/washparser/hs/Makefile 2005-11-11 15:43:02.000000000 +0000
++++ WashNGo-2.5.6/washparser/hs/Makefile 2006-09-12 15:50:36.000000000 +0100
+@@ -9,7 +9,7 @@ OPT=
+ HCFLAGS= $(OPT) $(HC_SPEC_FLAGS) $(HINCLUDES)
+
+ HINCLUDES= $(HCPACKAGEFLAGS)
+-HCPACKAGEFLAGS= -package text
++HCPACKAGEFLAGS= -package base -package haskell98 -package parsec
+
+
+ LINK.o= $(HC) $(HCLOADFLAGS)
diff --git a/dev-haskell/wash/wash-2.5.6.ebuild b/dev-haskell/wash/wash-2.5.6.ebuild
index 4a69ad9311a2..1c400c505f84 100644
--- a/dev-haskell/wash/wash-2.5.6.ebuild
+++ b/dev-haskell/wash/wash-2.5.6.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-haskell/wash/wash-2.5.6.ebuild,v 1.2 2006/03/11 11:51:49 dcoutts Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-haskell/wash/wash-2.5.6.ebuild,v 1.3 2006/10/13 07:49:24 kolmodin Exp $
-inherit base ghc-package check-reqs
+inherit base eutils ghc-package check-reqs autotools
# the installation bundle is called WashNGo
MY_PN="WashNGo"
@@ -31,6 +31,7 @@ pkg_setup() {
# cause ghc take loads of memory. We try and limit ghc's heap size
# but it still takes a lot.
einfo "Some Wash modules take a lot of RAM and a very long time to compile."
+ einfo "Please be patient."
# We need aproximately this much memory: (does *not* check swap)
case "${ARCH}" in
alpha|*64) CHECKREQS_MEMORY="400" ;;
@@ -42,39 +43,13 @@ pkg_setup() {
src_unpack() {
base_src_unpack
- # don't use -O2 in HCFLAGS because it makes ghc take 700Mb of RAM
- sed -i 's/-O2/-O/' \
- "${S}/lib/WASH/Utility/Makefile" \
- "${S}/lib/Makefile.HTML" \
- "${S}/lib/Makefile.Mail" \
- "${S}/lib/Makefile.Dbconnect" \
- "${S}/lib/Makefile.Utility" \
- "${S}/lib/Makefile.CGI"
+ cd "${S}"
+ epatch "${FILESDIR}/${P}-ghc66.patch"
}
src_compile() {
- # Wash doesn't know how to use c2hs properly so we have to fix it.
- if use postgres; then
- # make it import a local copy of the C2HS module
- pushd ${S}/lib/WASH/Dbconnect
- c2hs --copy-library
- popd
- sed -i 's/C2HS/WASH.Dbconnect.C2HS/' \
- "${S}/lib/WASH/Dbconnect/C2HS.hs" \
- "${S}/lib/WASH/Dbconnect/Libpqfe.chs"
- # make it not use the (non-existant) c2hs package
- sed -i 's/-package c2hs//' \
- "${S}/lib/Makefile.Dbconnect"
- # add the local C2HS module to the hidden-modules
- sed -i 's/DBCONNECT_HIDDEN=/DBCONNECT_HIDDEN= C2HS/' \
- "${S}/lib/modules.mk"
- # remove unecessary ld options
- sed -i 's/$(EXTRA_LD_OPTS)//' "${S}/lib/Makefile"
- fi
- # Wash doesn't need to directly depend on the rts package
- # it doesn't want the text package, it wants the parsec package
- # there is no c2hs package!
- sed -i -e 's/rts//' -e 's/text/parsec/' -e 's/c2hs//' "${S}/lib/Makefile"
+ # We've patched some build files
+ eautoreconf
./configure \
--prefix="/usr" \