ghc.spec.in 5.45 KB
Newer Older
chak's avatar
chak committed
1
# RPM spec file for GHC					         -*-rpm-spec-*-
chak's avatar
chak committed
2
#
3
# Copyright [1998..2004] The GHC Team
chak's avatar
chak committed
4
#
chak's avatar
chak committed
5
6
# Thanks to Zoltan Vorosbaranyi <vbzoli@vbzo.li> for suggestions in 
# earlier versions and Pixel <pixel@mandrakesoft.com> for coding tips.
chak's avatar
chak committed
7
8
9
#
# This file is subject to the same free software license as GHC.

10
11
%define name    ghc
%define version @version@
12
%define release @release@
13
14
15
16
17
18
19
20

Name:           %{name}
Version:        %{version}
Release:        %{release}
License:        BSD-like
Group:          Development/Languages/Haskell
URL:            http://haskell.org/ghc/
Source:         http://haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz2
21
Packager:       Sven Panne <sven.panne@aedion.de>
22
23
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Prefix:         %{_prefix}
24
Requires:       gmp, readline
25
BuildRequires:  alex >= 2.0, happy >= 1.14, ghc >= 5, haddock, docbook-dtd, docbook-xsl-stylesheets, libxslt, libxml2, fop, xmltex, dvips, gmp, readline-devel
26
Provides:       haskell
27
Summary:        The Glasgow Haskell Compiler
chak's avatar
chak committed
28
29

%description
30
31
32
Haskell is the standard lazy purely functional programming language.
The current language version is Haskell 98, agreed in December 1998,
with a revised version published in January 2003.
chak's avatar
chak committed
33

34
GHC is a state-of-the-art programming suite for Haskell. Included is
chak's avatar
chak committed
35
36
an optimising compiler generating good code for a variety of
platforms, together with an interactive system for convenient, quick
37
development. The distribution includes space and time profiling
chak's avatar
chak committed
38
39
40
41
42
43
44
facilities, a large collection of libraries, and support for various
language extensions, including concurrency, exceptions, and foreign
language interfaces (C, C++, whatever).

A wide variety of Haskell related resources (tutorials, libraries,
specifications, documentation, compilers, interpreters, references,
contact information, links to research groups) are available from the
45
Haskell home page at http://haskell.org/.
chak's avatar
chak committed
46

47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Authors:
--------
    Krasimir Angelov <ka2_mail@yahoo.com>
    Manuel Chakravarty <chak@cse.unsw.edu.au>
    Koen Claessen <koen@cs.chalmers.se>
    Robert Ennals <Robert.Ennals@cl.cam.ac.uk>
    Sigbjorn Finne <sof@galconn.com>
    Gabrielle Keller <keller@cvs.haskell.org>
    Marcin Kowalczyk <qrczak@knm.org.pl>
    Jeff Lewis <jeff@galconn.com>
    Ian Lynagh <igloo@earth.li>
    Simon Marlow <simonmar@microsoft.com>
    Sven Panne <sven.panne@aedion.de>
    Ross Paterson <ross@soi.city.ac.uk>
    Simon Peyton Jones <simonpj@microsoft.com>
    Don Stewart <dons@cse.unsw.edu.au>
    Volker Stolz <stolz@i2.informatik.rwth-aachen.de>
    Wolfgang Thaller <wolfgang.thaller@gmx.net>
    Andrew Tolmach <apt@cs.pdx.edu>
    Keith Wansbrough <Keith.Wansbrough@cl.cam.ac.uk>
    Michael Weber <michael.weber@post.rwth-aachen.de>
    plus a dozen helping hands...

chak's avatar
chak committed
70
%package prof
71
72
73
Requires:       ghc = %{version}-%{release}
Summary:        Profiling libraries for GHC
Group:          Development/Libraries
chak's avatar
chak committed
74
75

%description prof
76
77
78
Profiling libraries for Glorious Glasgow Haskell Compilation System
(GHC).  They should be installed when GHC's profiling subsystem is
needed.
chak's avatar
chak committed
79

chak's avatar
chak committed
80
%package doc
81
82
Summary:        Documentation for GHC
Group:          Documentation
chak's avatar
chak committed
83
84

%description doc
85
86
87
88
Preformatted documentation for the Glorious Glasgow Haskell
Compilation System (GHC) and its libraries. It should be installed if
you like to have local access to the documentation in PostScript and
HTML format. Alternatively, the documentation is available online at
chak's avatar
chak committed
89
90
91

  http://haskell.org/ghc/documentation.html

chak's avatar
chak committed
92
%prep
chak's avatar
chak committed
93
%setup
chak's avatar
chak committed
94
95

%build
96
test -f configure || autoreconf
97
./configure --prefix=%{prefix} --enable-hopengl
98
99
make
make ps html
100
 
chak's avatar
chak committed
101
%install
102
make prefix=${RPM_BUILD_ROOT}%{prefix} install
103
make datadir=`pwd` install-docs
104

chak's avatar
chak committed
105
106
107
# generate the file list for lib/ _excluding_ all files needed for profiling
# only
#
chak's avatar
chak committed
108
109
110
111
112
113
114
115
116
# * generating file lists in a BUILD_ROOT spec is a bit tricky: the file list
#   has to contain complete paths, _but_ without the BUILD_ROOT, we also do
#   _not_ want have directory names in the list; furthermore, we have to make
#   sure that any leading / is removed from %{prefix}/lib, as find has to 
#   interpret the argument as a relative path; however, we have to include the
#   leading / again in the final file list (otherwise, rpm complains)
# * isn't there an easier way to do all this?
#
dir=`pwd`
117
cd ${RPM_BUILD_ROOT}
chak's avatar
chak committed
118
libdir=`echo %{prefix}/lib | sed 's|^/||'`
119
120
find $libdir ! -type d !  -name '*.p_hi' !   -name '*_p.a'    -print | sed 's|^|/|' > $dir/rpm-noprof-lib-files
find $libdir ! -type d \( -name '*.p_hi' -or -name '*_p.a' \) -print | sed 's|^|/|' > $dir/rpm-prof-lib-files
chak's avatar
chak committed
121
cd $dir
chak's avatar
chak committed
122

chak's avatar
chak committed
123
%clean
124
rm -rf ${RPM_BUILD_ROOT}
chak's avatar
chak committed
125

chak's avatar
chak committed
126
%files -f rpm-noprof-lib-files
127
%defattr(-,root,root)
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
%doc ghc/ANNOUNCE
%doc ghc/LICENSE
%doc ghc/README
%{prefix}/bin/ghc
%{prefix}/bin/ghc-%{version}
%{prefix}/bin/ghc-pkg
%{prefix}/bin/ghc-pkg-%{version}
%{prefix}/bin/ghci
%{prefix}/bin/ghci-%{version}
%{prefix}/bin/ghcprof
%{prefix}/bin/hasktags
%{prefix}/bin/hp2ps
%{prefix}/bin/hsc2hs
%{prefix}/bin/runghc
%{prefix}/bin/stat2resid
chak's avatar
chak committed
143

144
%files prof -f rpm-prof-lib-files
145
%defattr(-,root,root)
chak's avatar
chak committed
146
147

%files doc
148
%defattr(-,root,root)
149
%doc docs/building/building-html
150
%doc docs/building/building.ps
151
%doc docs/docbook-cheat-sheet/docbook-cheat-sheet-html
152
153
154
155
156
%doc docs/docbook-cheat-sheet/docbook-cheat-sheet.ps
%doc ghc/docs/ext-core/core.ps
%doc ghc/docs/storage-mgt/ldv.ps
%doc ghc/docs/storage-mgt/rp.ps
%doc ghc/docs/storage-mgt/sm.ps
157
%doc ghc/docs/users_guide/users_guide-html
158
%doc ghc/docs/users_guide/users_guide.ps
159
%doc hslibs/doc/hslibs-html
160
161
%doc hslibs/doc/hslibs.ps
%doc html/*