File: dh_haskell_provides

package info (click to toggle)
haskell-devscripts 0.14.0
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 196 kB
  • sloc: sh: 788; makefile: 27
file content (111 lines) | stat: -rw-r--r-- 3,951 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#! /bin/bash
#
# Calculated provides substvars for haskell library packages.
#
# Copyright (C) 2006-2007 Arjan Oosting <arjan@debian.org>
# Copyright (C) 2009,2013 Joachim Breitner <nomeata@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 

if test -e debian/Dh_Haskell.sh
then
	. debian/Dh_Haskell.sh
else
	. /usr/share/haskell-devscripts/Dh_Haskell.sh
fi

# PS4=" + dh_haskell_provides> "
# set -x

for pkg in `dh_listpackages $args`; do
    sfile=debian/$pkg.substvars
    touch $sfile

    hc=`package_hc ${pkg}`
    ext=`package_ext ${pkg}`

    case "$ext" in
	dev|prof)
	    if [ -z "$files" ] ; then
		cfiles=`find_config_for_ghc $pkg`
	    else
		cfiles="$files"
	    fi
	    if [ -z "$cfiles" ] ; then
	      echo "dh_haskell_provides - no installed package description files found" >&2
	      exit 1
	    fi
	    case "$ext" in
		dev)
	            grep -a -v \
                        -e ^haskell:Provides \
                        $sfile > $sfile.tmp || true
	            echo "haskell:Provides=`provides_for_ghc $hc $cfiles`" >> $sfile.tmp
		    mv $sfile.tmp $sfile
	            grep -a -v \
                        -e ^haskell:${hc}-package \
                        $sfile > $sfile.tmp || true
	            echo "haskell:${hc}-package=`cabal_package_ids $cfiles`" >> $sfile.tmp
		    mv $sfile.tmp $sfile
		    ;;
		prof)
	            grep -a -v \
                        -e ^haskell:Provides \
                        $sfile > $sfile.tmp || true
	            echo "haskell:Provides=`provides_for_ghc_prof $hc $cfiles`" >> $sfile.tmp
		    mv $sfile.tmp $sfile
		    ;;
	    esac
	    ;;
	*)
	    ;;
    esac
done