# $Id: Portfile 40754 2008-10-14 06:03:53Z gwright@macports.org $

PortSystem 1.0

name		hs-EdisonAPI
set canonicalname	EdisonAPI
version		1.2.1
revision	1
categories	devel haskell
maintainers	gwright
platforms	darwin

description	A library of purely functional data structures for Haskell
long_description	\
		Edison is a library of purely function data structures	\
		for Haskell originally written by Chris Okasaki.	\
		Conceptually, it consists of two things:		\
									\
   			1. A set of type classes defining data the	\
			   following data structure abstractions:	\
			   sequences, collections and associative	\
			   collections,					\
   			2. Multiple concrete implementations of each	\
			   of the abstractions.

#
# This portfile installs the Edison API package, which defines the Edison
# interface.  It is a prerequisite for the installation of the Edison
# package itself.
#
# This port downloads the same file as the Edison port, beacuse Edison
# is unusually packaged, with two separate packages in the same tarball.
#

homepage	http://www.cs.princeton.edu/~rdockins/edison/home/index.html
master_sites	http://hackage.haskell.org/packages/archive/${canonicalname}/${version}
distname	${canonicalname}-${version}

checksums	md5 9cdc1479fa51b8c1ce840f77705e4376

depends_lib	port:ghc

pre-configure	{ system "cd ${worksrcpath} && ghc --make -o Setup Setup.hs" }

configure	{ system "cd ${worksrcpath} && ./Setup configure --ghc --prefix=${prefix} --with-compiler=${prefix}/bin/ghc --enable-library-profiling" }

build		{ system "cd ${worksrcpath} && ./Setup build -v" }

destroot	{ system "cd ${worksrcpath} && ./Setup copy --copy-prefix=${destroot}${prefix}"
		  system "cd ${worksrcpath} && ./Setup register   --gen-script"
		  system "cd ${worksrcpath} && ./Setup unregister --gen-script"

		  file mkdir ${destroot}${prefix}/libexec/${name}
		  file copy ${worksrcpath}/register.sh \
			    ${destroot}${prefix}/libexec/${name}
		  file copy ${worksrcpath}/unregister.sh \
			    ${destroot}${prefix}/libexec/${name}
                }

post-activate   { system "${prefix}/libexec/${name}/register.sh" }

#pre-deactivate	{ system "${prefix}/libexec/${name}/unregister.sh" }
