ghc.spec.in 4.93 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
%define name    ghc
11
%define version @ProjectVersion@
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.15, ghc >= 5, haddock, docbook-dtd, docbook-xsl-stylesheets, libxslt, libxml2, fop, xmltex, dvips, gmp, readline-devel, mesaglut-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
80

%prep
chak's avatar
chak committed
81
%setup
chak's avatar
chak committed
82
83

%build
84
test -f configure || autoreconf
85
./configure --prefix=%{prefix}
86
make
87
make html
88
89
make -C ghc/docs/ext-core ps
make -C ghc/docs/storage-mgt ps
90
 
chak's avatar
chak committed
91
%install
92
make prefix=${RPM_BUILD_ROOT}%{prefix} install
93
make datadir=`pwd` install-docs
94

chak's avatar
chak committed
95
96
97
# generate the file list for lib/ _excluding_ all files needed for profiling
# only
#
chak's avatar
chak committed
98
99
100
101
102
103
104
105
106
# * 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`
107
cd ${RPM_BUILD_ROOT}
chak's avatar
chak committed
108
libdir=`echo %{prefix}/lib | sed 's|^/||'`
109
110
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
111
cd $dir
chak's avatar
chak committed
112

chak's avatar
chak committed
113
%clean
114
rm -rf ${RPM_BUILD_ROOT}
chak's avatar
chak committed
115

chak's avatar
chak committed
116
%files -f rpm-noprof-lib-files
117
%defattr(-,root,root)
118
119
%doc docs/building/building
%doc docs/docbook-cheat-sheet/docbook-cheat-sheet
120
121
122
%doc ghc/ANNOUNCE
%doc ghc/LICENSE
%doc ghc/README
123
124
125
126
127
128
129
%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
%doc ghc/docs/users_guide/users_guide
%doc hslibs/doc/hslibs
%doc html/*
130
131
132
133
134
135
136
137
138
139
140
%{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
141
%{prefix}/bin/runhaskell
142
%{prefix}/bin/stat2resid
chak's avatar
chak committed
143

144
%files prof -f rpm-prof-lib-files
145
%defattr(-,root,root)