[project @ 2001-11-09 18:17:48 by sof]
[ghc-hetmet.git] / ghc / ghc.spec.in
index 5609612..5973b0b 100644 (file)
@@ -1,17 +1,17 @@
 # RPM spec file for GHC
 #
 # RPM spec file for GHC
 #
-# Copyright [1998..2000] Manuel M. T. Chakravarty <chak@acm.org>
+# Copyright [1998..2001] The GHC Team
+#
 # Thanks to Zoltan Vorosbaranyi <vbzoli@vbzo.li> for suggestions in 
 # earlier versions and Pixel <pixel@mandrakesoft.com> for coding tips.
 #
 # This file is subject to the same free software license as GHC.
 
 # Thanks to Zoltan Vorosbaranyi <vbzoli@vbzo.li> for suggestions in 
 # earlier versions and Pixel <pixel@mandrakesoft.com> for coding tips.
 #
 # This file is subject to the same free software license as GHC.
 
-# Values for @version@ and @patchlevel@ are set by the `configure' script.  
-# SNAP releases are CVS snapshots.  Official releases should replace SNAP by
-# an appropriate release numbers (they are usually numbered starting from 1).
+# Values for @version@ is set by the `configure' script.  SNAP releases are 
+# CVS snapshots.  Official releases should replace SNAP by an appropriate 
+# release numbers (they are usually numbered starting from 1).
 
 %define version    @version@
 
 %define version    @version@
-%define patchlevel @patchlevel@
 %define release    SNAP
 %define prefix     /usr
 
 %define release    SNAP
 %define prefix     /usr
 
@@ -21,27 +21,29 @@ Version: %{version}
 Release: %{release}
 Copyright: BSD style w/o adv. clause
 Group: Development/Languages
 Release: %{release}
 Copyright: BSD style w/o adv. clause
 Group: Development/Languages
-Source: http://haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.gz
+Source: http://haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz2
 URL: http://haskell.org/ghc/
 BuildRoot: /var/tmp/ghc-%{version}-%{release}-root
 Requires: gmp-devel
 Provides: haskell
 URL: http://haskell.org/ghc/
 BuildRoot: /var/tmp/ghc-%{version}-%{release}-root
 Requires: gmp-devel
 Provides: haskell
-BuildRequires: happy >= 1.6, ghc, stylesheets
+BuildRequires: happy >= 1.9, ghc >= 4.08, docbook-utils
 
 %description
 
 %description
-The Glorious Glasgow Haskell Compilation System (GHC) is a robust,
-fully-featured, optimising compiler for the functional programming
-language Haskell 98.  GHC compiles Haskell to either native code or
-C. It implements numerous experimental language extensions to Haskell,
-including concurrency, a foreign language interface, several
-type-system extensions, exceptions, and so on. GHC comes with a
-generational garbage collector, a space and time profiler, and a
-comprehensive set of libraries.  This package includes HTML and PS
-versions of the SGML-based documentation for GHC.  They are also available 
-online at http://www.haskell.org/ghc/.
-
-Haskell 98 is "the" standard lazy functional programming language.
-More info plus the language definition is at http://www.haskell.org/.
+Haskell is a standard lazy functional programming language; the
+current language version is Haskell 98, agreed in December 1998.
+
+GHC is a state-of-the-art programming suite for Haskell.  Included is
+an optimising compiler generating good code for a variety of
+platforms, together with an interactive system for convenient, quick
+development.  The distribution includes space and time profiling
+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
+Haskell home page at <http://www.haskell.org/>.
 
 %package prof
 Summary: Profiling libraries for GHC
 
 %package prof
 Summary: Profiling libraries for GHC
@@ -52,8 +54,28 @@ Requires: ghc = %{PACKAGE_VERSION}
 Profiling libraries for Glorious Glasgow Haskell Compilation System (GHC).
 They should be installed when GHC's profiling subsystem is needed.
 
 Profiling libraries for Glorious Glasgow Haskell Compilation System (GHC).
 They should be installed when GHC's profiling subsystem is needed.
 
+%package doc
+Summary: Documentation for GHC
+Group: Documentation
+
+%description doc
+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
+
+  http://haskell.org/ghc/documentation.html
+
 %changelog
 
 %changelog
 
+* Wed Sep 26 2001 Manuel Chakravarty
+- split documentation off into a separate package
+- adapt to new docbook setup in RH7.1
+
+* Mon Apr 16 2001 Manuel Chakravarty
+- revised for 5.00
+- also runs autoconf automagically if no ./configure found
+
 * Thu Jun 22 2000 Sven Panne
 - removed explicit usage of hslibs/docs, it belongs to ghc/docs/set
 
 * Thu Jun 22 2000 Sven Panne
 - removed explicit usage of hslibs/docs, it belongs to ghc/docs/set
 
@@ -85,21 +107,25 @@ They should be installed when GHC's profiling subsystem is needed.
 - original version
 
 %prep
 - original version
 
 %prep
-%setup -n fptools
+%setup
 
 # generate our own `build.mk'
 #
 
 # generate our own `build.mk'
 #
-# * this is a kludge
+# * this is a kludge (is it still needed?)
 #
 cat >mk/build.mk <<END
 GhcLibWays = p
 #
 cat >mk/build.mk <<END
 GhcLibWays = p
-#SRC_HAPPY_OPTS += -agc # useful from Happy 1.7 onwards
-SRC_HAPPY_OPTS += -c
+SRC_HAPPY_OPTS += -agc
+#GhcWithInterpreter=NO
+GhcWithInterpreter=YES
 END
 
 END
 
+# run autoconf if necessary
+#
+[ ! -x configure ] && autoconf && cd ghc && autoconf
 
 %build
 
 %build
-./configure --prefix=%{prefix} --libdir=%{prefix}/lib/ghc-%{version}
+./configure --prefix=%{prefix}
 make boot
 make -C glafp-utils sgmlverb
 make all
 make boot
 make -C glafp-utils sgmlverb
 make all
@@ -112,14 +138,17 @@ make -C ghc/docs ps html
 for j in docs ghc/docs; do
   dir=`pwd`
   cd $j
 for j in docs ghc/docs; do
   dir=`pwd`
   cd $j
-  for i in ps dvi sgml vsgml verb idx; do
+  for i in ps dvi sgml verb idx; do
     find . -name '*.'$i -exec gzip -9 '{}' ';' -print
   done
   cd $dir
 done
 rm -rf $RPM_BUILD_ROOT
     find . -name '*.'$i -exec gzip -9 '{}' ';' -print
   done
   cd $dir
 done
 rm -rf $RPM_BUILD_ROOT
-make prefix=$RPM_BUILD_ROOT%{prefix}\
-     libdir=$RPM_BUILD_ROOT%{prefix}/lib/ghc-%{version} install
+
+# FIXME: this is necessary due to brokenness in ghc-5.00/mk/target.mk
+make prefix=$RPM_BUILD_ROOT%{prefix} install-dirs
+
+make prefix=$RPM_BUILD_ROOT%{prefix} install
 
 # generate the file list for lib/ _excluding_ all files needed for profiling
 # only
 
 # generate the file list for lib/ _excluding_ all files needed for profiling
 # only
@@ -143,10 +172,13 @@ cd $dir
 rm -rf $RPM_BUILD_ROOT
 
 %files -f rpm-noprof-lib-files
 rm -rf $RPM_BUILD_ROOT
 
 %files -f rpm-noprof-lib-files
-%doc docs/
-%doc ghc/ANNOUNCE ghc/README ghc/docs/
+%doc ghc/ANNOUNCE ghc/README
 %{prefix}/bin/*
 
 %files prof
 %{prefix}/lib/ghc-%{version}/imports/*/*.p_hi
 %{prefix}/lib/ghc-%{version}/libHS*_p.a
 %{prefix}/bin/*
 
 %files prof
 %{prefix}/lib/ghc-%{version}/imports/*/*.p_hi
 %{prefix}/lib/ghc-%{version}/libHS*_p.a
+
+%files doc
+%doc docs/
+%doc ghc/docs/