diff options
| author | Joachim Breitner <mail@joachim-breitner.de> | 2009-07-16 17:19:21 +0400 |
|---|---|---|
| committer | Joachim Breitner <mail@joachim-breitner.de> | 2009-07-16 17:19:21 +0400 |
| commit | 08d10d27737760dc134c517f61c4545a7916c940 (patch) | |
| tree | 8adfafc71279e2b3be54b7a0ba11dde0868e5307 /p/haskell-edison | |
| parent | b7a7ad6ad360fae212ef34a76ef570d9dab7ab66 (diff) | |
| download | DHG_packages-08d10d27737760dc134c517f61c4545a7916c940.tar.gz | |
haskell-edison: Initial Check-in
Diffstat (limited to 'p/haskell-edison')
| -rw-r--r-- | p/haskell-edison/debian/changelog | 192 | ||||
| -rw-r--r-- | p/haskell-edison/debian/compat | 1 | ||||
| -rw-r--r-- | p/haskell-edison/debian/control | 114 | ||||
| -rw-r--r-- | p/haskell-edison/debian/copyright | 40 | ||||
| -rw-r--r-- | p/haskell-edison/debian/docs | 2 | ||||
| -rwxr-xr-x | p/haskell-edison/debian/ghc-pkg6.in | 5 | ||||
| -rwxr-xr-x | p/haskell-edison/debian/ghc6.in | 5 | ||||
| -rw-r--r-- | p/haskell-edison/debian/haskell-edison-doc.doc-base | 9 | ||||
| -rw-r--r-- | p/haskell-edison/debian/haskell-edison-doc.docs | 1 | ||||
| -rw-r--r-- | p/haskell-edison/debian/libhugs.linda-overrides | 2 | ||||
| -rwxr-xr-x | p/haskell-edison/debian/mk-haskell-depends | 250 | ||||
| -rwxr-xr-x | p/haskell-edison/debian/postinst.in | 42 | ||||
| -rwxr-xr-x | p/haskell-edison/debian/prerm.in | 38 | ||||
| -rwxr-xr-x | p/haskell-edison/debian/rules | 180 | ||||
| -rw-r--r-- | p/haskell-edison/debian/watch | 10 |
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 |
