Retain simplifications of implication constraints
[ghc-hetmet.git] / ghc.spec.in
1 # RPM spec file for GHC                                          -*-rpm-spec-*-
2 #
3 # Copyright [1998..2004] The GHC Team
4 #
5 # Thanks to Zoltan Vorosbaranyi <vbzoli@vbzo.li> for suggestions in 
6 # earlier versions and Pixel <pixel@mandrakesoft.com> for coding tips.
7 #
8 # This file is subject to the same free software license as GHC.
9
10 %define name    ghc
11 %define version @ProjectVersion@
12 %define release @release@
13
14 Name:           %{name}
15 Version:        %{version}
16 Release:        %{release}
17 License:        BSD-like
18 Group:          Development/Languages/Haskell
19 URL:            http://haskell.org/ghc/
20 Source0:        http://haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz2
21 Source1:        http://haskell.org/ghc/dist/%{version}/ghc-%{version}-src-extralibs.tar.bz2
22 Packager:       Sven Panne <sven.panne@aedion.de>
23 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
24 Prefix:         %{_prefix}
25 Requires:       gmp, readline
26 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
27 Provides:       haskell
28 Summary:        The Glasgow Haskell Compiler
29
30 %description
31 Haskell is the standard lazy purely functional programming language.
32 The current language version is Haskell 98, agreed in December 1998,
33 with a revised version published in January 2003.
34
35 GHC is a state-of-the-art programming suite for Haskell. Included is
36 an optimising compiler generating good code for a variety of
37 platforms, together with an interactive system for convenient, quick
38 development. The distribution includes space and time profiling
39 facilities, a large collection of libraries, and support for various
40 language extensions, including concurrency, exceptions, and foreign
41 language interfaces (C, C++, whatever).
42
43 A wide variety of Haskell related resources (tutorials, libraries,
44 specifications, documentation, compilers, interpreters, references,
45 contact information, links to research groups) are available from the
46 Haskell home page at http://haskell.org/.
47
48 Authors:
49 --------
50     Krasimir Angelov <ka2_mail@yahoo.com>
51     Manuel Chakravarty <chak@cse.unsw.edu.au>
52     Koen Claessen <koen@cs.chalmers.se>
53     Robert Ennals <Robert.Ennals@cl.cam.ac.uk>
54     Sigbjorn Finne <sof@galconn.com>
55     Gabrielle Keller <keller@cvs.haskell.org>
56     Marcin Kowalczyk <qrczak@knm.org.pl>
57     Jeff Lewis <jeff@galconn.com>
58     Ian Lynagh <igloo@earth.li>
59     Simon Marlow <simonmar@microsoft.com>
60     Sven Panne <sven.panne@aedion.de>
61     Ross Paterson <ross@soi.city.ac.uk>
62     Simon Peyton Jones <simonpj@microsoft.com>
63     Don Stewart <dons@cse.unsw.edu.au>
64     Volker Stolz <stolz@i2.informatik.rwth-aachen.de>
65     Wolfgang Thaller <wolfgang.thaller@gmx.net>
66     Andrew Tolmach <apt@cs.pdx.edu>
67     Keith Wansbrough <Keith.Wansbrough@cl.cam.ac.uk>
68     Michael Weber <michael.weber@post.rwth-aachen.de>
69     plus a dozen helping hands...
70
71 %package prof
72 Requires:       ghc = %{version}-%{release}
73 Summary:        Profiling libraries for GHC
74 Group:          Development/Libraries
75
76 %description prof
77 Profiling libraries for Glorious Glasgow Haskell Compilation System
78 (GHC).  They should be installed when GHC's profiling subsystem is
79 needed.
80
81 %prep
82 %setup -b1
83
84 %build
85 test -f configure || autoreconf
86 ./configure --prefix=%{prefix}
87 make
88 make html
89 make -C docs/ext-core ps
90 make -C docs/storage-mgt ps
91  
92 %install
93 make prefix=${RPM_BUILD_ROOT}%{prefix} install
94 make datadir=`pwd` install-docs
95
96 # generate the file list for lib/ _excluding_ all files needed for profiling
97 # only
98 #
99 # * generating file lists in a BUILD_ROOT spec is a bit tricky: the file list
100 #   has to contain complete paths, _but_ without the BUILD_ROOT, we also do
101 #   _not_ want have directory names in the list; furthermore, we have to make
102 #   sure that any leading / is removed from %{prefix}/lib, as find has to 
103 #   interpret the argument as a relative path; however, we have to include the
104 #   leading / again in the final file list (otherwise, rpm complains)
105 # * isn't there an easier way to do all this?
106 #
107 dir=`pwd`
108 cd ${RPM_BUILD_ROOT}
109 libdir=`echo %{prefix}/lib | sed 's|^/||'`
110 find $libdir ! -type d !  -name '*.p_hi' !   -name '*_p.a'    -print | sed 's|^|/|' > $dir/rpm-noprof-lib-files
111 find $libdir ! -type d \( -name '*.p_hi' -or -name '*_p.a' \) -print | sed 's|^|/|' > $dir/rpm-prof-lib-files
112 cd $dir
113
114 %clean
115 rm -rf ${RPM_BUILD_ROOT}
116
117 %files -f rpm-noprof-lib-files
118 %defattr(-,root,root)
119 %doc docs/docbook-cheat-sheet/docbook-cheat-sheet
120 %doc ANNOUNCE
121 %doc LICENSE
122 %doc README
123 %doc docs/building/building
124 %doc docs/ext-core/core.ps
125 %doc docs/storage-mgt/ldv.ps
126 %doc docs/storage-mgt/rp.ps
127 %doc docs/storage-mgt/sm.ps
128 %doc docs/users_guide/users_guide
129 %doc html/*
130 %doc libraries/Cabal/doc/Cabal
131 %{prefix}/bin/ghc
132 %{prefix}/bin/ghc-%{version}
133 %{prefix}/bin/ghc-pkg
134 %{prefix}/bin/ghc-pkg-%{version}
135 %{prefix}/bin/ghci
136 %{prefix}/bin/ghci-%{version}
137 %{prefix}/bin/ghcprof
138 %{prefix}/bin/hasktags
139 %{prefix}/bin/hp2ps
140 %{prefix}/bin/hsc2hs
141 %{prefix}/bin/runghc
142 %{prefix}/bin/runhaskell
143
144 %files prof -f rpm-prof-lib-files
145 %defattr(-,root,root)