ghc.spec.in 5.28 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.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
make
99
make 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 150
%doc docs/building/building
%doc docs/docbook-cheat-sheet/docbook-cheat-sheet
151 152 153 154
%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
155 156
%doc ghc/docs/users_guide/users_guide
%doc hslibs/doc/hslibs
157
%doc html/*