1 # RPM spec file for GHC
3 # Copyright [1998..2001] The GHC Team
5 # Thanks to Zoltan Vorosbaranyi <vbzoli@vbzo.li> for suggestions in
6 # earlier versions and Pixel <pixel@mandrakesoft.com> for coding tips.
8 # This file is subject to the same free software license as GHC.
10 # Values for @version@ is set by the `configure' script. SNAP releases are
11 # CVS snapshots. Official releases should replace SNAP by an appropriate
12 # release numbers (they are usually numbered starting from 1).
14 %define version @version@
18 Summary: Glasgow Haskell Compilation system
22 Copyright: BSD style w/o adv. clause
23 Group: Development/Languages
24 Source: http://haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz2
25 URL: http://haskell.org/ghc/
26 BuildRoot: /var/tmp/ghc-%{version}-%{release}-root
29 BuildRequires: happy >= 1.9, ghc >= 4.08, docbook-utils
32 Haskell is a standard lazy functional programming language; the
33 current language version is Haskell 98, agreed in December 1998.
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).
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://www.haskell.org/>.
49 Summary: Profiling libraries for GHC
50 Group: Development/Libraries
51 Requires: ghc = %{PACKAGE_VERSION}-%{release}
54 Profiling libraries for Glorious Glasgow Haskell Compilation System (GHC).
55 They should be installed when GHC's profiling subsystem is needed.
58 Summary: Documentation for GHC
62 Preformatted documentation for the Glorious Glasgow Haskell Compilation System
63 (GHC) and its libraries. It should be installed if you like to have local
64 access to the documentation in PostScript and HTML format. Alternatively,
65 the documentation is available online at
67 http://haskell.org/ghc/documentation.html
71 * Wed Sep 26 2001 Manuel Chakravarty
72 - split documentation off into a separate package
73 - adapt to new docbook setup in RH7.1
75 * Mon Apr 16 2001 Manuel Chakravarty
77 - also runs autoconf automagically if no ./configure found
79 * Thu Jun 22 2000 Sven Panne
80 - removed explicit usage of hslibs/docs, it belongs to ghc/docs/set
82 * Sun Apr 23 2000 Manuel Chakravarty
83 - revised for ghc 4.07; added suggestions from Pixel <pixel@mandrakesoft.com>
84 - added profiling package
86 * Tue Dec 7 1999 Manuel Chakravarty
87 - version for use from CVS
89 * Thu Sep 16 1999 Manuel Chakravarty
90 - modified for GHC 4.04, patchlevel 1 (no more 62 tuple stuff); minimises use
91 of patch files - instead emits a build.mk on-the-fly
93 * Sat Jul 31 1999 Manuel Chakravarty
94 - modified for GHC 4.04
96 * Wed Jun 30 1999 Manuel Chakravarty
97 - some more improvements from vbzoli
99 * Fri Feb 26 1999 Manuel Chakravarty
100 - modified for GHC 4.02
102 * Thu Dec 24 1998 Zoltan Vorosbaranyi
104 - files located in /usr/local/bin, /usr/local/lib moved to /usr/bin, /usr/lib
106 * Tue Jul 28 1998 Manuel Chakravarty
112 # generate our own `build.mk'
114 # * this is a kludge (is it still needed?)
116 cat >mk/build.mk <<END
118 SRC_HAPPY_OPTS += -agc
119 #GhcWithInterpreter=NO
120 GhcWithInterpreter=YES
123 # run autoconf if necessary
125 [ ! -x configure ] && autoconf && cd ghc && autoconf
128 ./configure --prefix=%{prefix}
130 make -C glafp-utils sgmlverb
133 make -C ghc/docs ps html
136 # compress the non-html docs
138 for j in docs ghc/docs; do
141 for i in ps dvi sgml verb idx; do
142 find . -name '*.'$i -exec gzip -9 '{}' ';' -print
146 rm -rf $RPM_BUILD_ROOT
148 # FIXME: this is necessary due to brokenness in ghc-5.00/mk/target.mk
149 make prefix=$RPM_BUILD_ROOT%{prefix} install-dirs
151 make prefix=$RPM_BUILD_ROOT%{prefix} install
153 # generate the file list for lib/ _excluding_ all files needed for profiling
156 # * generating file lists in a BUILD_ROOT spec is a bit tricky: the file list
157 # has to contain complete paths, _but_ without the BUILD_ROOT, we also do
158 # _not_ want have directory names in the list; furthermore, we have to make
159 # sure that any leading / is removed from %{prefix}/lib, as find has to
160 # interpret the argument as a relative path; however, we have to include the
161 # leading / again in the final file list (otherwise, rpm complains)
162 # * isn't there an easier way to do all this?
166 libdir=`echo %{prefix}/lib | sed 's|^/||'`
167 find $libdir ! -type d ! -name '*.p_hi' ! -name '*_p.a' -print | sed 's|^|/|'\
168 >$dir/rpm-noprof-lib-files
172 rm -rf $RPM_BUILD_ROOT
174 %files -f rpm-noprof-lib-files
175 %doc ghc/ANNOUNCE ghc/README
179 %{prefix}/lib/ghc-%{version}/imports/*/*.p_hi
180 %{prefix}/lib/ghc-%{version}/libHS*_p.a