summaryrefslogtreecommitdiff
path: root/p/haskell-edison
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2009-07-16 17:19:21 +0400
committerJoachim Breitner <mail@joachim-breitner.de>2009-07-16 17:19:21 +0400
commit08d10d27737760dc134c517f61c4545a7916c940 (patch)
tree8adfafc71279e2b3be54b7a0ba11dde0868e5307 /p/haskell-edison
parentb7a7ad6ad360fae212ef34a76ef570d9dab7ab66 (diff)
downloadDHG_packages-08d10d27737760dc134c517f61c4545a7916c940.tar.gz
haskell-edison: Initial Check-in
Diffstat (limited to 'p/haskell-edison')
-rw-r--r--p/haskell-edison/debian/changelog192
-rw-r--r--p/haskell-edison/debian/compat1
-rw-r--r--p/haskell-edison/debian/control114
-rw-r--r--p/haskell-edison/debian/copyright40
-rw-r--r--p/haskell-edison/debian/docs2
-rwxr-xr-xp/haskell-edison/debian/ghc-pkg6.in5
-rwxr-xr-xp/haskell-edison/debian/ghc6.in5
-rw-r--r--p/haskell-edison/debian/haskell-edison-doc.doc-base9
-rw-r--r--p/haskell-edison/debian/haskell-edison-doc.docs1
-rw-r--r--p/haskell-edison/debian/libhugs.linda-overrides2
-rwxr-xr-xp/haskell-edison/debian/mk-haskell-depends250
-rwxr-xr-xp/haskell-edison/debian/postinst.in42
-rwxr-xr-xp/haskell-edison/debian/prerm.in38
-rwxr-xr-xp/haskell-edison/debian/rules180
-rw-r--r--p/haskell-edison/debian/watch10
15 files changed, 891 insertions, 0 deletions
diff --git a/p/haskell-edison/debian/changelog b/p/haskell-edison/debian/changelog
new file mode 100644
index 000000000..24a3eddc8
--- /dev/null
+++ b/p/haskell-edison/debian/changelog
@@ -0,0 +1,192 @@
+haskell-edison (1.2.1-9) unstable; urgency=low
+
+ * Fix lintian warning "doc-base-unknown-section haskell-edison-api:5
+ Apps/Programming"
+
+ -- Arjan Oosting <arjan@debian.org> Mon, 17 Mar 2008 00:12:25 +0100
+
+haskell-edison (1.2.1-8) unstable; urgency=low
+
+ * Really bump the build dependency this time around.
+
+ -- Arjan Oosting <arjan@debian.org> Sun, 13 Jan 2008 18:09:45 +0100
+
+haskell-edison (1.2.1-7) unstable; urgency=low
+
+ * debian/control:
+ - Bump build dependency on GHC to >= 6.8.2 because the package now
+ needs a Cabal version >= 1.2.
+
+ -- Arjan Oosting <arjan@debian.org> Sun, 13 Jan 2008 16:44:51 +0100
+
+haskell-edison (1.2.1-6) unstable; urgency=low
+
+ * Update for GHC 6.8.2:
+ - debian/patches/01_update-cabal-file.dpatch:
+ + Add array and containers to the Build-Depends which are libraries
+ which are split of the base library.
+ + Add FlexibleInstances, TypeSynonymInstances PatternSignatures and
+ FlexibleContexts as needed Extensions.
+ + Add -fglashow-exts to the Ghc-Options so GHC will parse
+ unsafeCoerce# properly.
+ - debian/patches/20_add-haddock-file.dpatch: Updated.
+ - debian/rules:
+ + The location of the package specification file has changes, so
+ adjust the debian/rules file for that.
+ + Add a link to the COPYRIGHT file in de edison-api and edison-core
+ directories as the new Cabal version tries to install it and fails
+ if it is missing.
+ + Remove these links on clean.
+ + Remove the installed COPYRIGHT files. No need to duplicate this
+ information in the packages.
+ * debian/control:
+ - Replace Xs-Vcs-* fields with new official Vcs-* fields.
+ - Bump Standards-Version to 3.7.3. No changes needed.
+ - Drop dctrl-tools from the build dependencies as the script using it
+ is removed.
+ - Add haskell-devscripts (>= 0.6.0) to the build dependencies because
+ we user dh_haskell_depends.
+ - Change the sections of the libghc-*-dev packages to libdevel to fix
+ lintian warning "dev-package-should-be-section-libdevel".
+ * debian/rules:
+ - Replace call to debian/mk-haskell-depends script with call to
+ dh_haskell_depends from haskell-devscripts.
+
+ -- Arjan Oosting <arjan@debian.org> Sun, 13 Jan 2008 01:56:06 +0100
+
+haskell-edison (1.2.1-5) unstable; urgency=high
+
+ * Set urgency to high as this upload fixes a RC critical bug.
+ * debian/control:
+ - Use the new Homepage field.
+ * debian/rules:
+ - Make the determination of package names and versions more robust.
+ - gcc 4.2.0 and higher cause FTFBS if we enable --split-objs during
+ the compilation of haskell-edison. As a workaround we disable
+ --split-objs if the gcc version >= 4.2.0 (Closes: #445754)
+
+ -- Arjan Oosting <arjan@debian.org> Mon, 08 Oct 2007 23:39:49 +0200
+
+haskell-edison (1.2.1-4) unstable; urgency=low
+
+ * debian/control:
+ - Update XS-Vcs-* fields as the packages has moved to the pkg-haskell
+ subversion archive.
+ - Add libghc6-mtl-prof and libghc6-quickcheck-prof to Build-Depends as
+ libghc6-mtl-dev and libghc6-quickcheck-dev have split of their
+ profiling libraries into seperate packages.
+ * debian/{ghc6.in,rules}:
+ - Add handling of noopt in DEB_BUILD_OPTIONS enviroment variable.
+ * debian/{mk-haskell-depends,rules}:
+ - Small cleanups.
+ * Generate links to other API documentation packages:
+ - debian/control:
+ + Add libghc6-base-doc, libghc6-haskell98-doc, libghc6-mtl-doc and
+ libghc6-quickcheck-doc to the Build-Depends-Indep so haddock can
+ link to the names in other packages.
+ + Add libghc6-base-doc, libghc6-haskell98-doc, libghc6-mtl-doc and
+ libghc6-quickcheck-doc to the Recommends of haskell-edison-doc.
+ - debian/patches/20_add-haddock-file.dpatch:
+ + Add the appropriate --read-interface and --use-package options so
+ haddock will link to names in other packages.
+
+ -- Arjan Oosting <arjan@debian.org> Mon, 28 May 2007 04:12:19 +0200
+
+haskell-edison (1.2.1-3) unstable; urgency=low
+
+ * debian/control:
+ - Update Build-Depends-Indep and Depends for the modular packaging of
+ Hugs version 98.200609.21.
+ - Wrap Build-Depends, Build-Depends-Indep and Depends lines.
+
+ -- Arjan Oosting <arjan@debian.org> Tue, 17 Apr 2007 19:30:22 +0200
+
+haskell-edison (1.2.1-2) unstable; urgency=low
+
+ * debian/control:
+ - Add XS-Vcs-Svn and XS-Vcs-Browser fields.
+ * debian/rules: enclose paths in double quotes because directories can
+ contain spaces.
+
+ -- Arjan Oosting <arjan@debian.org> Thu, 12 Apr 2007 10:13:13 +0200
+
+haskell-edison (1.2.1-1) experimental; urgency=low
+
+ * New upstream release:
+ - A new sequence implementation based on finger trees (similar to
+ Data.Sequence in the base libs).
+ - Documenation fixes dealing with the licence (the docs previously and
+ incorrectly claimed Edison was under the BSD licence, when it is in
+ fact the MIT license).
+ * debian/control: add cpphs which is needed to build the documentation
+ to Build-Depends-Indep.
+ * debian/mk-haskell-depends: update script to take installed package
+ configuration files as arguments.
+
+ -- Arjan Oosting <arjan@debian.org> Fri, 22 Dec 2006 09:43:14 +0100
+
+haskell-edison (1.2.0.1-5) unstable; urgency=low
+
+ * debian/rules:
+ - Only call ./Setup configure with -enable-split-objs on i386 and
+ amd64 as ghc -split-objs only works on those architectures.
+
+ -- Arjan Oosting <arjan@debian.org> Mon, 13 Nov 2006 01:42:49 +0100
+
+haskell-edison (1.2.0.1-4) unstable; urgency=low
+
+ * debian/control:
+ - Bump Build-Depends on ghc6 as Edison needs a new Cabal version.
+ - Add ghc6-prof to the Build-Depends.
+ - Let libghc6-edison-api-dev and libghc6-edison-core-dev provide
+ libghc6-edison-api-prof and libghc6-edison-core-prof.
+ * debian/{ghc6.in,ghc-pkg6.in}:
+ - Exit on errors and show the commands executed.
+ * debian/patches/20_add-haddock-file: generate haddock interface file
+ when generating API documentation.
+ * debian/rules:
+ - Call ./Setup configure with --enable-split-objs and
+ --enable-libary-profiling when compiling with GHC.
+ - Let debian/mk-haskell-depends ignore EdisonAPI-1.2.
+ - Correct paths to the API documentation in the installed-pkg-config
+ files.
+ - Remove empty include dir.
+ - Do not compress .haddock files.
+
+ -- Arjan Oosting <arjan@debian.org> Sun, 12 Nov 2006 19:36:05 +0100
+
+haskell-edison (1.2.0.1-3) unstable; urgency=low
+
+ * Stop using update-haskell-control and $ghc6_* variables, as it is not
+ necessary and not using it simplifies the work for porters and for me.
+ * debian/copyright:
+ - include email from upstream with more information about the exact
+ licensing.
+ * debian/control.in:
+ - add libghc6-mtl-dev and libghc6-quickcheck-dev to Build-Depends.
+ - replace ${ghc:Depends} with ${haskell:Depends}
+ - update maintainer email address.
+ * debian/rules:
+ - copy the actual package.conf file in which all installed packages
+ are registered.
+ - remove debian/ghc6 and debian/ghc-pkg6 on clean.
+ - replace debian/mk-ghc6-vars script with debian/mk-haskell-depends
+ script which determines all dependencies by using the installed
+ package description file used by ghc-pkg.
+
+ -- Arjan Oosting <arjan@debian.org> Mon, 23 Oct 2006 14:08:19 +0200
+
+haskell-edison (1.2.0.1-2) unstable; urgency=low
+
+ * Add versioned build dependency on dpkg-dev as the package uses
+ ${binary:Version} and ${source:Version}. Thanks James Westby
+ * debian/prerm.in: replaced faulty packagename Hat with @LIBRARY@
+ substitution variable.
+
+ -- Arjan Oosting <arjanoosting@home.nl> Fri, 22 Sep 2006 03:05:26 +0200
+
+haskell-edison (1.2.0.1-1) unstable; urgency=low
+
+ * Initial release (Closes: #382184)
+
+ -- Arjan Oosting <arjanoosting@home.nl> Thu, 10 Aug 2006 15:05:29 +0200
diff --git a/p/haskell-edison/debian/compat b/p/haskell-edison/debian/compat
new file mode 100644
index 000000000..7ed6ff82d
--- /dev/null
+++ b/p/haskell-edison/debian/compat
@@ -0,0 +1 @@
+5
diff --git a/p/haskell-edison/debian/control b/p/haskell-edison/debian/control
new file mode 100644
index 000000000..fc03207b5
--- /dev/null
+++ b/p/haskell-edison/debian/control
@@ -0,0 +1,114 @@
+Source: haskell-edison
+Section: devel
+Priority: optional
+Maintainer: Arjan Oosting <arjan@debian.org>
+Build-Depends: debhelper (>= 5), dpatch, dpkg-dev (>= 1.13.19),
+ ghc6 (>= 6.8), ghc6-prof (>= 6.8), haskell-devscripts (>= 0.6.0),
+ libghc6-mtl-dev, libghc6-mtl-prof, libghc6-quickcheck-dev,
+ libghc6-quickcheck-prof
+Build-Depends-Indep: cpphs, haddock, hugs (>= 98.200503.08),
+ libhugs-mtl | hugs (<< 98.200609.21), libhugs-quickcheck | hugs (<< 98.200609.21),
+ libghc6-base-doc, libghc6-haskell98-doc, libghc6-mtl-doc, libghc6-quickcheck-doc
+Standards-Version: 3.7.3
+Homepage: http://www.eecs.tufts.edu/~rdocki01/edison.html
+Vcs-Svn: svn://svn.debian.org/svn/pkg-haskell/packages/haskell-edison
+Vcs-Browser: http://svn.debian.org/wsvn/pkg-haskell/packages/haskell-edison
+
+Package: libghc6-edison-api-dev
+Architecture: any
+Section: libdevel
+Depends: ${haskell:Depends}, ${misc:Depends}
+Recommends: libghc6-edison-core-dev (= ${binary:Version})
+Suggests: haskell-edison-doc (= ${source:Version})
+Provides: libghc6-edison-api-prof
+Description: Haskell library of efficent, purely-functional data structures
+ The abstract interface (API) of the Edison library for Haskell for
+ use with ghc 6.
+ .
+ Edison is a library of purely function data structures for Haskell
+ originally written by Chris Okasaki. Conceptually, it consists of two
+ things:
+ - A set of type classes defining data the following data structure
+ abstractions: 'sequences', 'collections' and 'associative
+ collections'
+ - Multiple concrete implementations of each of the abstractions
+ .
+ This package contains the set of type classes.
+
+Package: libghc6-edison-core-dev
+Architecture: any
+Section: libdevel
+Depends: libghc6-edison-api-dev (= ${binary:Version}),
+ ${haskell:Depends}, ${misc:Depends}
+Suggests: haskell-edison-doc (= ${source:Version})
+Provides: libghc6-edison-core-prof
+Description: Haskell library of efficent, purely-functional data structures
+ Some concrete mplementations of the abstract interface of the Edison
+ library for Haskell for use with ghc 6.
+ .
+ Edison is a library of purely function data structures for Haskell
+ originally written by Chris Okasaki. Conceptually, it consists of two
+ things:
+ - A set of type classes defining data the following data structure
+ abstractions: 'sequences', 'collections' and 'associative
+ collections'
+ - Multiple concrete implementations of each of the abstractions
+ .
+ This package contains the concrete implementations.
+
+Package: libhugs-edison-api
+Architecture: all
+Depends: hugs, libhugs-mtl | hugs (<< 98.200609.21), ${misc:Depends}
+Recommends: libhugs-edison-core (= ${source:Version})
+Suggests: haskell-edison-doc (= ${source:Version})
+Description: Haskell library of efficent, purely-functional data structures
+ The abstract interface (API) of the Edison library for Haskell for
+ use with hugs.
+ .
+ Edison is a library of purely function data structures for Haskell
+ originally written by Chris Okasaki. Conceptually, it consists of two
+ things:
+ - A set of type classes defining data the following data structure
+ abstractions: 'sequences', 'collections' and 'associative
+ collections'
+ - Multiple concrete implementations of each of the abstractions
+ .
+ This package contains the set of type classes.
+
+Package: libhugs-edison-core
+Architecture: all
+Depends: hugs, libhugs-edison-api (= ${source:Version}),
+ libhugs-mtl | hugs (<< 98.200609.21),
+ libhugs-quickcheck | hugs (<< 98.200609.21), ${misc:Depends}
+Suggests: haskell-edison-doc (= ${source:Version})
+Description: Haskell library of efficent, purely-functional data structures
+ Some concrete mplementations of the abstract interface of the Edison
+ library for Haskell for use with ghc 6.
+ .
+ Edison is a library of purely function data structures for Haskell
+ originally written by Chris Okasaki. Conceptually, it consists of two
+ things:
+ - A set of type classes defining data the following data structure
+ abstractions: 'sequences', 'collections' and 'associative
+ collections'
+ - Multiple concrete implementations of each of the abstractions
+ .
+ This package contains the concrete implementations.
+
+Package: haskell-edison-doc
+Architecture: all
+Section: doc
+Recommends: libghc6-base-doc, libghc6-haskell98-doc,
+ libghc6-mtl-doc, libghc6-quickcheck-doc
+Suggests: doc-base
+Description: documentation of the Edison Haskell library
+ Documentation of the Edison library containing efficent,
+ purely-functional data structures for Haskell.
+ .
+ Edison is a library of purely function data structures for Haskell
+ originally written by Chris Okasaki. Conceptually, it consists of two
+ things:
+ - A set of type classes defining data the following data structure
+ abstractions: 'sequences', 'collections' and 'associative
+ collections'
+ - Multiple concrete implementations of each of the abstractions
diff --git a/p/haskell-edison/debian/copyright b/p/haskell-edison/debian/copyright
new file mode 100644
index 000000000..51bf99fd4
--- /dev/null
+++ b/p/haskell-edison/debian/copyright
@@ -0,0 +1,40 @@
+This package was debianized by Arjan Oosting <arjanoosting@home.nl> on
+Tue, 8 Aug 2006 00:09:39 +0200.
+
+It was downloaded from http://www.eecs.tufts.edu/~rdocki01/edison.html
+
+The original upstream author is Chris Okasaki
+Later contributions were by Andres Bromage, Robert Dockins,
+David F. Place, Ross Paterson and Ralf Hinze.
+The current upstream maintainer is Robert Dockins <robdockins@fastmail.fm>
+
+Copyright:
+ (c) 1998-1999 Chris Okasaki
+ (c) 2002 Andrew Bromage
+ (c) 2006 Robert Dockins
+ (c) 2006 David F. Place
+ (c) 2006 Ross Paterson
+ (c) 2006 Ralf Hinze
+
+License:
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+The Debian packaging is (c) 2006, Arjan Oosting <arjanoosting@home.nl> and
+is licensed under the same terms as Edison itself.
diff --git a/p/haskell-edison/debian/docs b/p/haskell-edison/debian/docs
new file mode 100644
index 000000000..724e08449
--- /dev/null
+++ b/p/haskell-edison/debian/docs
@@ -0,0 +1,2 @@
+README
+TODO
diff --git a/p/haskell-edison/debian/ghc-pkg6.in b/p/haskell-edison/debian/ghc-pkg6.in
new file mode 100755
index 000000000..ff6c00230
--- /dev/null
+++ b/p/haskell-edison/debian/ghc-pkg6.in
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+set -ex
+
+ghc-pkg6 --global-conf @PACKAGE_CONF@ $@
diff --git a/p/haskell-edison/debian/ghc6.in b/p/haskell-edison/debian/ghc6.in
new file mode 100755
index 000000000..c3a5164c0
--- /dev/null
+++ b/p/haskell-edison/debian/ghc6.in
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+set -ex
+
+ghc6 -package-conf @PACKAGE_CONF@ $@ $GHC6_OPTIONS
diff --git a/p/haskell-edison/debian/haskell-edison-doc.doc-base b/p/haskell-edison/debian/haskell-edison-doc.doc-base
new file mode 100644
index 000000000..ad6c6f869
--- /dev/null
+++ b/p/haskell-edison/debian/haskell-edison-doc.doc-base
@@ -0,0 +1,9 @@
+Document: haskell-edison-api
+Title: Haskell Edison API documentation
+Author: Robert Dockins
+Abstract: The API documentation for the Haskell Edison library.
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/haskell-edison-doc/html/index.html
+Files: /usr/share/doc/haskell-edison-doc/html/*.html
diff --git a/p/haskell-edison/debian/haskell-edison-doc.docs b/p/haskell-edison/debian/haskell-edison-doc.docs
new file mode 100644
index 000000000..f21b5b43c
--- /dev/null
+++ b/p/haskell-edison/debian/haskell-edison-doc.docs
@@ -0,0 +1 @@
+dist/doc/html
diff --git a/p/haskell-edison/debian/libhugs.linda-overrides b/p/haskell-edison/debian/libhugs.linda-overrides
new file mode 100644
index 000000000..43556aa6b
--- /dev/null
+++ b/p/haskell-edison/debian/libhugs.linda-overrides
@@ -0,0 +1,2 @@
+Tag: usr-lib-in-arch-all
+Data:.*hs
diff --git a/p/haskell-edison/debian/mk-haskell-depends b/p/haskell-edison/debian/mk-haskell-depends
new file mode 100755
index 000000000..6a1aa0cfe
--- /dev/null
+++ b/p/haskell-edison/debian/mk-haskell-depends
@@ -0,0 +1,250 @@
+#! /bin/sh
+#
+# Determine package dependencies from installed-pkg-config file
+#
+# Copyright (C) 2006 Arjan Oosting <arjan@debian.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of either:
+#
+# 1) The terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# 2) BSD 3-clause license.
+#
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+#
+# * The names of contributors may not be used to endorse or promote
+# products derived from this software without specific prior
+# written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+set -e
+
+sort_uniq(){
+ {
+ for i in "$@" ; do
+ echo $i
+ done
+ } | sort -u | tr "\n" " "
+}
+
+dependency(){
+ local package
+ local version
+ local next_upstream_version
+ package=$1
+ version=`dpkg-query --showformat='${Version}' -W $package`
+ next_upstream_version=`echo $version | sed -e 's/-[^-]*$/+/'`
+ echo "$package (>= $version), $package (<< $next_upstream_version)"
+}
+
+dependencies(){
+ local package
+ local packages
+ local deps
+ packages=$@
+ for package in `sort_uniq $packages` ; do
+ deps="$deps, `dependency $package`"
+ done
+
+ echo $deps | sed -e 's/^,[ ]*//'
+}
+
+providing_package_for_ghc6(){
+ local package
+ local dep
+ local dir
+ local dirs
+ local lib
+ dep=$1
+ dirs=`ghc-pkg6 field $dep library-dirs | cut -d':' -f 2`
+ lib=`ghc-pkg6 field $dep 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 $?
+ continue
+ fi
+ done
+ echo $package
+}
+
+providing_package_for_ghc6_prof(){
+ local package
+ local dep
+ local dir
+ local dirs
+ local lib
+ dep=$1
+ dirs=`ghc-pkg6 field $dep library-dirs | cut -d':' -f 2`
+ lib=`ghc-pkg6 field $dep 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.a | cut -d':' -f 1` || exit $?
+ continue
+ fi
+ done
+ echo $package
+}
+
+cabal_depends(){
+ local config
+ local dep
+ local depends
+ local final_depends
+ until [ -z "$1" ]
+ do
+ config=$1
+ depends="$depends `grep-dctrl -n -i -s Depends "" $config | tr "," " "`"
+ shift
+ done
+ for dep in `sort_uniq $depends` ; do
+ # The package is not mentioned in the ignored package list with the same version
+ # or mentioned without any version in the ignored package list?
+ if echo " $ignores " | grep -qv " $dep " &&
+ echo " $ignores " | grep -qv " `echo $dep | sed s%-[0-9][.0-9a-zA-Z]*$%%` " ;
+ then
+ final_depends="$final_depends $dep"
+ fi
+ done
+ echo $final_depends
+}
+
+depends_for_ghc6(){
+ local dep
+ local packages
+ for dep in `cabal_depends $@` ; do
+ packages="$packages `providing_package_for_ghc6 $dep`"
+ done
+
+ dependencies $packages
+}
+
+depends_for_ghc6_prof(){
+ local dep
+ local packages
+ for dep in `cabal_depends $@` ; do
+ packages="$packages `providing_package_for_ghc6_prof $dep`"
+ done
+
+ dependencies $packages
+}
+
+find_config_for_ghc6(){
+ local f
+ local pkg
+ pkg=$1
+ case "$pkg" in
+ libghc6-*-prof)
+ pkg=`echo $pkg | sed -e 's/-prof$/-dev$/'`
+ ;;
+ *)
+ ;;
+ esac
+ for f in debian/$pkg/usr/lib/haskell-packages/ghc6/lib/*/installed-pkg-config ; do
+ if [ -f "$f" ] ; then
+ echo $f
+ break
+ fi
+ done
+}
+
+
+if ! [ `which grep-dctrl` > /dev/null ] ; then
+ echo "grep-dctrl is missing" >&2
+ exit 1
+fi
+
+args=
+ignores=
+files=
+until [ -z "$1" ]
+do
+ case "$1" in
+ -X*)
+ pkg=${1##-X}
+ ignores="$ignores $pkg"
+ ;;
+
+ --exclude=*)
+ pkg=${1##--exclude=}
+ ignores="$ignores $pkg"
+ ;;
+
+ -*)
+ args="$args $1"
+ ;;
+ *)
+ if [ -f $1 ] ; then
+ files="$files $1"
+ else
+ echo "Installed package description file $1 can not be found" >&2
+ exit 1
+ fi
+ ;;
+ esac
+ shift
+done
+
+for pkg in `dh_listpackages $args`; do
+ sfile=debian/$pkg.substvars
+ touch $sfile
+
+ case "$pkg" in
+ libghc6-*-dev|libghc6-*-prof)
+ config=`find_config_for_ghc6 $pkg`
+ if [ -f "$config" ] ; then
+ files="$files $config"
+ fi
+ if [ -z "$files" ] ; then
+ echo "No installed package description files can not be found" >&2
+ exit 1
+ fi
+ grep -v ^haskell:Depends $sfile > $sfile.tmp || true
+ case "$pkg" in
+ libghc6-*-dev)
+ echo "haskell:Depends=`depends_for_ghc6 $files`" >> $sfile.tmp
+ ;;
+ libghc6-*-prof)
+ echo "haskell:Depends=`depends_for_ghc6_prof $files`" >> $sfile.tmp
+ ;;
+ esac
+ mv $sfile.tmp $sfile
+ ;;
+ *)
+ ;;
+ esac
+done
diff --git a/p/haskell-edison/debian/postinst.in b/p/haskell-edison/debian/postinst.in
new file mode 100755
index 000000000..080c0deb2
--- /dev/null
+++ b/p/haskell-edison/debian/postinst.in
@@ -0,0 +1,42 @@
+#! /bin/sh
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+#
+
+GHC_LIBDIR=`/usr/bin/ghc6 --print-libdir`
+GHC_PKG=$GHC_LIBDIR/bin/ghc-pkg
+GHC_PKG_CONFIG=/usr/lib/haskell-packages/ghc6/lib/@LIBRARY@-@VERSION@/installed-pkg-config
+
+case "$1" in
+ configure|abort-upgrade|abort-remove|abort-deconfigure)
+ if $GHC_PKG list > /dev/null 2>&1 ; then
+ $GHC_PKG update $GHC_PKG_CONFIG
+ else
+ $GHC_PKG --remove-package=@LIBRARY@ 2> /dev/null || true
+ $GHC_PKG --add-package < $GHC_PKG_CONFIG
+ fi
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
diff --git a/p/haskell-edison/debian/prerm.in b/p/haskell-edison/debian/prerm.in
new file mode 100755
index 000000000..50a919499
--- /dev/null
+++ b/p/haskell-edison/debian/prerm.in
@@ -0,0 +1,38 @@
+#!/bin/sh
+# prerm script for libghc6-hat-dev
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <prerm> `remove'
+# * <old-prerm> `upgrade' <new-version>
+# * <new-prerm> `failed-upgrade' <old-version>
+# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+# * <deconfigured's-prerm> `deconfigure' `in-favour'
+# <package-being-installed> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+GHC_LIBDIR=`/usr/bin/ghc6 --print-libdir`
+GHC_PKG=$GHC_LIBDIR/bin/ghc-pkg
+
+case "$1" in
+ remove|upgrade|deconfigure|failed-upgrade)
+ if $GHC_PKG list > /dev/null 2>&1 ; then
+ $GHC_PKG unregister @LIBRARY@ || true
+ else
+ $GHC_PKG --remove-package=@LIBRARY@ || true
+ fi
+ ;;
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
diff --git a/p/haskell-edison/debian/rules b/p/haskell-edison/debian/rules
new file mode 100755
index 000000000..bbea77c71
--- /dev/null
+++ b/p/haskell-edison/debian/rules
@@ -0,0 +1,180 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+#
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+#
+# Modified to make a template file for a multi-binary package with separated
+# build-arch and build-indep targets by Bill Allombert 2001
+
+# Include dpatch
+include /usr/share/dpatch/dpatch.make
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+
+GHC6_LIBDIR := $(shell ghc6 --print-libdir)
+GHC6_VERSION := $(shell ghc6 --numeric-version)
+GHC6_CONFIGURE_FLAGS := --prefix=/usr/lib/haskell-packages/ghc6 \
+ --enable-library-profiling
+GHC6_OPTIONS :=
+
+CC_VERSION := $(shell gcc --version | head -n 1 | sed -e "s|\\([^1-9]\\)*\\([^ ]*\\).*|\\2|")
+CC_WORKAROUND := $(shell if dpkg --compare-versions $(CC_VERSION) ge 4.2.0 ; then echo true ; fi)
+
+# ghc -split-objs only works on i386 and amd64
+ifneq (,$(findstring $(DEB_HOST_ARCH),"i386 amd64"))
+ifeq (,$(findstring $(CC_WORKAROUND),"true"))
+GHC6_CONFIGURE_FLAGS += --enable-split-objs
+endif
+endif
+EDISON_DIRS := edison-api edison-core
+
+# Handle DEB_BUILD_OPTIONS containing noopt
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+GHC6_OPTIONS+=-O0
+endif
+
+configure: configure-stamp
+configure-stamp: patch-stamp
+ dh_testdir
+# Make a private copy of the the ghc6 package.conf and install wrappers
+# for ghc6 and ghc-pkg6 which use the local copy instead.
+ cp $(GHC6_LIBDIR)/package.conf debian/package.conf
+ sed -e "s|@PACKAGE_CONF@|$(CURDIR)/debian/package.conf|" \
+ debian/ghc6.in > debian/ghc6
+ sed -e "s|@PACKAGE_CONF@|$(CURDIR)/debian/package.conf|" \
+ debian/ghc-pkg6.in > debian/ghc-pkg6
+ chmod 755 debian/ghc6 debian/ghc-pkg6
+ for d in $(EDISON_DIRS) ; do \
+ cd "$(CURDIR)/$$d" && \
+ ln -s ../COPYRIGHT && \
+ "$(CURDIR)/debian/ghc6" --make Setup.hs -o setup -package Cabal && \
+ name=`grep "Name:" *.cabal | sed "s|Name:[ \t]*\(.*\)|\1|"` && \
+ vers=`grep "Version:" *.cabal | sed "s|Version:[ \t]*\(.*\)|\1|"` && \
+ sed -e "s|@LIBRARY@|$$name|g" -e "s|@VERSION@|$$vers|g" \
+ "$(CURDIR)/debian/postinst.in" > \
+ "$(CURDIR)/debian/libghc6-$$d-dev.postinst" && \
+ sed -e "s|@LIBRARY@|$$name|g" -e "s|@VERSION@|$$vers|g" \
+ "$(CURDIR)/debian/prerm.in" > \
+ "$(CURDIR)/debian/libghc6-$$d-dev.prerm" ; \
+ done
+ touch configure-stamp
+
+clean: clean-patched unpatch
+clean-patched:
+ dh_testdir
+ dh_testroot
+ rm -f configure-stamp build-arch-stamp build-indep-stamp
+ for d in $(EDISON_DIRS) ; do \
+ cd "$(CURDIR)/$$d" && \
+ rm -f COPYRIGHT && \
+ if [ -x setup ] && [ -e .setup-config ]; then ./setup clean ; fi && \
+ rm -rf setup Setup.hi Setup.ho Setup.o .*config* dist html register.sh && \
+ rm -f "$(CURDIR)/debian/libghc6-$$d-dev.postinst" && \
+ rm -f "$(CURDIR)/debian/libghc6-$$d-dev.prerm" ;\
+ done
+ rm -rf dist
+ rm -f debian/package.conf debian/package.conf.old debian/ghc6 debian/ghc-pkg6
+ dh_clean
+
+build: build-arch
+build-arch: build-arch-stamp
+build-arch-stamp: configure-stamp
+ for d in $(EDISON_DIRS) ; do \
+ cd "$(CURDIR)/$$d" && \
+ ./setup configure $(GHC6_CONFIGURE_FLAGS) \
+ --with-compiler="$(CURDIR)/debian/ghc6" \
+ --with-hc-pkg="$(CURDIR)/debian/ghc-pkg6" && \
+ GHC6_OPTIONS="$(GHC6_OPTIONS)" ./setup build && \
+ ./setup register --gen-script && \
+ sed -i -e "s|import-dirs:.*|import-dirs: `pwd`/dist/build|" \
+ -e "s|library-dirs:.*|library-dirs: `pwd`/dist/build|" \
+ -e "s|include-dirs:.*|include-dirs: `pwd`/dist/build|" \
+ register.sh &&\
+ ./register.sh ;\
+ done
+ touch build-arch-stamp
+
+build-indep: build-indep-stamp
+build-indep-stamp: configure-stamp
+ $(MAKE) docs
+ touch build-indep-stamp
+
+install: install-arch install-indep
+install-arch: build-arch-stamp
+ dh_testdir
+ dh_testroot
+ dh_clean -k -s
+ dh_installdirs -s
+ for d in $(EDISON_DIRS) ; do \
+ cd "$(CURDIR)/$$d" && \
+ ./setup copy --destdir="$(CURDIR)/debian/libghc6-$$d-dev" && \
+ for libdir in `find "$(CURDIR)/debian/libghc6-$$d-dev/usr/lib/haskell-packages/ghc6/lib/" -mindepth 1 -maxdepth 1 -type d` ; do \
+ sed -e "s%haddock-interfaces:.*%haddock-interfaces: /usr/share/doc/haskell-edison-doc/html/Edison.haddock%" \
+ -e "s%haddock-html: .*%haddock-html: /usr/share/doc/haskell-edison-doc/html%" \
+ -e "s%include-dirs: .*%include-dirs:%" \
+ "$(CURDIR)/$$d/dist/installed-pkg-config" > "$$libdir/installed-pkg-config" ; \
+ done && \
+ rm -rf $(CURDIR)/debian/libghc6-$$d-dev/usr/lib/haskell-packages/ghc6/share/doc/ && \
+ find "$(CURDIR)/debian/libghc6-$$d-dev/usr/lib/haskell-packages/" -empty -type d -delete ; \
+ done
+ dh_install -s
+
+install-indep: build-indep-stamp
+ dh_testdir
+ dh_testroot
+ dh_clean -k -i
+ dh_installdirs -i
+# The hugs libraries are build in the same directories as where the ghc libraries are build,
+# so if we build the hugs libraries and we need the ghc libraries afterwards those have to be rebuild.
+# Thus we remove the build-arch-stamp to make sure the will be rebuild if needed.
+ rm -f build-arch-stamp
+ for d in $(EDISON_DIRS) ; do \
+ cd "$(CURDIR)/$$d" && \
+ ./setup configure --hugs --prefix=/usr && \
+ ./setup build && \
+ ./setup copy --destdir="$(CURDIR)/debian/libhugs-$$d" && \
+ install --mode=644 -D "$(CURDIR)/debian/libhugs.linda-overrides" \
+ "$(CURDIR)/debian/libhugs-$$d/usr/share/linda/overrides/libhugs-$$d" && \
+ rm -rf $(CURDIR)/debian/libhugs-$$d/usr/share/doc/ ; \
+ done
+ dh_install -i
+
+# Must not depend on anything. This is to be called by
+# binary-arch/binary-indep
+# in another 'make' thread.
+binary-common:
+ dh_testdir
+ dh_testroot
+ dh_installchangelogs CHANGES
+ dh_installdocs
+ dh_installexamples
+ dh_link
+ dh_strip
+ dh_compress -X.haddock
+ dh_fixperms
+ dh_installdeb
+ dh_haskell_depends -XEdisonAPI-1.2.1
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+# Build architecture independant packages using the common target.
+binary-indep: build-indep install-indep
+ $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
+
+# Build architecture dependant packages using the common target.
+binary-arch: build-arch install-arch
+ $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
+
+binary: binary-arch binary-indep
+.PHONY: build build-arch build-indep clean binary-indep binary-arch binary install install-indep install-arch configure
diff --git a/p/haskell-edison/debian/watch b/p/haskell-edison/debian/watch
new file mode 100644
index 000000000..eb0ea38f9
--- /dev/null
+++ b/p/haskell-edison/debian/watch
@@ -0,0 +1,10 @@
+# Example watch control file for uscan
+# Rename this file to "watch" and then you can run the "uscan" command
+# to check for upstream updates and more.
+# See uscan(1) for format
+
+# Compulsory line, this is a version 3 file
+version=3
+
+# <Webpage URL> <string match>
+http://www.eecs.tufts.edu/~rdocki01/projects/ edison-([0-9.]*)-source\.tar\.gz