Contents of /branches/R11-unstable/include/haskell.sminc
Parent Directory | Revision Log
Revision 5494 -
(show annotations)
(download)
Wed Jun 30 16:41:22 2010 UTC (14 years, 3 months ago) by niro
Original Path: trunk/core/include/haskell.sminc
File size: 3039 byte(s)
Wed Jun 30 16:41:22 2010 UTC (14 years, 3 months ago) by niro
Original Path: trunk/core/include/haskell.sminc
File size: 3039 byte(s)
- fixed missing functions
1 | # $Id$ |
2 | |
3 | # default includes |
4 | sminclude mtools |
5 | |
6 | # some sane default values |
7 | : ${PCATEGORIE="dev-haskell"} |
8 | : ${DESCRIPTION="${PNAME}"} |
9 | : ${HOMEPAGE="http://hackage.haskell.org/package/${PNAME/#haskell-/}"} |
10 | |
11 | # some sane default dependencies |
12 | DEPEND="${DEPEND} |
13 | >= dev-lang/ghc-6.12" |
14 | |
15 | # default SRCFILE SRCDIR and SRC_URI |
16 | : ${SRCFILE="${PNAME/#haskell-/}-${PVER}.tar.gz"} |
17 | : ${SRCDIR="${BUILDDIR}/${PNAME/#haskell-/}-${PVER}"} |
18 | SRC_URI=( |
19 | ${SRC_URI[*]} |
20 | http://hackage.haskell.org/packages/archive/${PNAME/#haskell-/}/${PVER}/${SRCFILE} |
21 | mirror://${PNAME}/${SRCFILE} |
22 | ) |
23 | |
24 | HASKELL_PNAME="${PNAME}" |
25 | SPECIAL_VARS="HASKELL_PNAME" |
26 | SPECIAL_FUNCTIONS="${SPECIAL_FUNCTIONS} haskell_preinstall haskell_postinstall haskell_preremove" |
27 | |
28 | haskell_ghc_version() |
29 | { |
30 | local ver |
31 | ver=$(ghc --numeric-version) |
32 | echo "${ver}" |
33 | } |
34 | |
35 | haskell_ghc_setup_script() |
36 | { |
37 | local setup |
38 | if [[ -e Setup.lhs ]] |
39 | then |
40 | setup="Setup.lhs" |
41 | elif [[ -e Setup.hs ]] |
42 | then |
43 | setup="Setup.hs" |
44 | else |
45 | die "unkown setup script" |
46 | fi |
47 | |
48 | echo "${setup}" |
49 | } |
50 | |
51 | haskell_install_register() |
52 | { |
53 | runhaskell $(haskell_ghc_setup_script) register --gen-script || die |
54 | runhaskell $(haskell_ghc_setup_script) unregister --gen-script || die |
55 | |
56 | minstalldir /usr/share/haskell/${PNAME} || die |
57 | minstallexec register.sh /usr/share/haskell/${PNAME} || die |
58 | minstallexec unregister.sh /usr/share/haskell/${PNAME} || die |
59 | } |
60 | |
61 | haskell_src_prepare() |
62 | { |
63 | munpack ${SRCFILE} || die |
64 | } |
65 | |
66 | haskell_src_configure() |
67 | { |
68 | local configure_opts="$@" |
69 | |
70 | runhaskell $(haskell_ghc_setup_script) configure \ |
71 | --ghc \ |
72 | --prefix=/usr \ |
73 | --libdir=/usr/$(mlibdir) \ |
74 | --libsubdir=ghc-$(haskell_ghc_version)/${PNAME/#haskell-/}-${PVER} \ |
75 | --datadir=/usr/share \ |
76 | --datasubdir=ghc-$(haskell_ghc_version)/${PNAME/#haskell-/}-${PVER} \ |
77 | ${configure_opts} \ |
78 | || die |
79 | } |
80 | |
81 | haskell_src_compile() |
82 | { |
83 | cd ${SRCDIR} |
84 | haskell_src_configure || die |
85 | runhaskell $(haskell_ghc_setup_script) build || die |
86 | } |
87 | |
88 | haskell_src_install() |
89 | { |
90 | cd ${SRCDIR} |
91 | |
92 | runhaskell $(haskell_ghc_setup_script) copy --destdir=${BINDIR} || die |
93 | |
94 | # create register scripts |
95 | haskell_install_register || die |
96 | |
97 | # install docs |
98 | local i |
99 | for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ |
100 | FAQ LICENSE NEWS README TODO prologue.txt |
101 | do |
102 | if [ -f ${SRCDIR}/${i} ] |
103 | then |
104 | minstalldocs ${i} || die |
105 | fi |
106 | done |
107 | } |
108 | |
109 | haskell_preinstall() |
110 | { |
111 | if [[ -x ${MROOT}/usr/share/haskell/${HASKELL_PNAME}/unregister.sh ]] |
112 | then |
113 | echo "unregister haskell module ${HASKELL_PNAME} ..." |
114 | ${MROOT}/usr/share/haskell/${HASKELL_PNAME}/unregister.sh |
115 | fi |
116 | } |
117 | |
118 | haskell_postinstall() |
119 | { |
120 | if [[ -x ${MROOT}/usr/share/haskell/${HASKELL_PNAME}/register.sh ]] |
121 | then |
122 | echo "register haskell module ${HASKELL_PNAME} ..." |
123 | ${MROOT}/usr/share/haskell/${HASKELL_PNAME}/register.sh |
124 | fi |
125 | } |
126 | |
127 | # haskell_preremove() |
128 | # { |
129 | # if [[ -x ${MROOT}/usr/share/haskell/${HASKELL_PNAME}/unregister.sh ]] |
130 | # then |
131 | # echo "unregister haskell module ${HASKELL_PNAME} ..." |
132 | # ${MROOT}/usr/share/haskell/${HASKELL_PNAME}/unregister.sh |
133 | # fi |
134 | # } |
135 | |
136 | export_inherits haskell src_prepare src_compile src_install preinstall postinstall #preremove |