[project @ 2004-08-26 20:08:39 by panne]
[ghc-hetmet.git] / ghc / ghc.spec.in
index 1e3ab95..5ec0df9 100644 (file)
@@ -1,41 +1,40 @@
-# RPM spec file for GHC
+# RPM spec file for GHC                                                 -*-rpm-spec-*-
 #
-# Copyright [1998..2002] The GHC Team
+# Copyright [1998..2004] 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.
 
-# 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 release    SNAP
-%define prefix     /usr
-
-Summary: Glasgow Haskell Compilation system
-Name: ghc
-Version: %{version}
-Release: %{release}
-Copyright: BSD style w/o adv. clause
-Group: Development/Languages
-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
-BuildRequires: happy >= 1.13, ghc >= 4.08, haddock, docbook-utils
+%define name    ghc
+%define version @version@
+%define release @release@
+
+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
+Packager:       Sven Panne <sven.panne@aedion.de>
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+Prefix:         %{_prefix}
+Requires:       gmp, readline
+BuildRequires:  alex >= 2.0, happy >= 1.14, ghc >= 5, haddock, docbk31, gmp, readline-devel
+Provides:       haskell
+Summary:        The Glasgow Haskell Compiler
 
 %description
-Haskell is the standard purely functional programming language; the
-current language version is Haskell 98, agreed in December 1998.
+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.
 
-GHC is a state-of-the-art programming suite for Haskell.  Included is
+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
+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).
@@ -43,106 +42,65 @@ 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/>.
+Haskell home page at http://haskell.org/.
+
+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...
 
 %package prof
-Summary: Profiling libraries for GHC
-Group: Development/Libraries
-Requires: ghc = %{PACKAGE_VERSION}-%{release}
+Requires:       ghc = %{version}-%{release}
+Summary:        Profiling libraries for GHC
+Group:          Development/Libraries
 
 %description prof
-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
+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
+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
-
-* Wed Sep 26 2001 Manuel Chakravarty
-- small changes for 5.04
-
-* 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
-
-* Sun Apr 23 2000 Manuel Chakravarty
-- revised for ghc 4.07; added suggestions from Pixel <pixel@mandrakesoft.com>
-- added profiling package
-
-* Tue Dec 7 1999 Manuel Chakravarty
-- version for use from CVS
-
-* Thu Sep 16 1999 Manuel Chakravarty
-- modified for GHC 4.04, patchlevel 1 (no more 62 tuple stuff); minimises use
-  of patch files - instead emits a build.mk on-the-fly
-
-* Sat Jul 31 1999 Manuel Chakravarty
-- modified for GHC 4.04
-
-* Wed Jun 30 1999 Manuel Chakravarty
-- some more improvements from vbzoli
-
-* Fri Feb 26 1999 Manuel Chakravarty
-- modified for GHC 4.02
-
-* Thu Dec 24 1998 Zoltan Vorosbaranyi 
-- added BuildRoot
-- files located in /usr/local/bin, /usr/local/lib moved to /usr/bin, /usr/lib
-
-* Tue Jul 28 1998 Manuel Chakravarty
-- original version
-
 %prep
 %setup
 
-# generate our own `build.mk'
-#
-# * this is a kludge (is it still needed?)
-#
-cat >mk/build.mk <<END
-GhcLibWays = p
-SRC_HAPPY_OPTS += -agc
-#GhcWithInterpreter=NO
-GhcWithInterpreter=YES
-END
-
-# run autoconf if necessary
-#
-[ ! -x configure ] && autoconf && cd ghc && autoconf
-
 %build
+test -f configure || autoreconf
 ./configure --prefix=%{prefix}
-make boot
-make all ps html
+make
+make ps html
  
 %install
-rm -rf $RPM_BUILD_ROOT
-
-# 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
-mkdir -p $RPM_BUILD_ROOT%{prefix}/share/doc/ghc-%{version}
-cp ghc/ANNOUNCE ghc/README $RPM_BUILD_ROOT%{prefix}/share/doc/ghc-%{version}
-
-make prefix=$RPM_BUILD_ROOT%{prefix} datadir=$RPM_BUILD_ROOT%{prefix}/share/doc/ghc-%{version} SGMLDocWays="html ps" install-docs
+make prefix=${RPM_BUILD_ROOT}%{prefix} install
+make datadir=`pwd` install-docs
 
 # generate the file list for lib/ _excluding_ all files needed for profiling
 # only
@@ -156,24 +114,48 @@ make prefix=$RPM_BUILD_ROOT%{prefix} datadir=$RPM_BUILD_ROOT%{prefix}/share/doc/
 # * isn't there an easier way to do all this?
 #
 dir=`pwd`
-cd $RPM_BUILD_ROOT
+cd ${RPM_BUILD_ROOT}
 libdir=`echo %{prefix}/lib | sed 's|^/||'`
-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
+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
 cd $dir
 
 %clean
-rm -rf $RPM_BUILD_ROOT
+rm -rf ${RPM_BUILD_ROOT}
 
 %files -f rpm-noprof-lib-files
-%doc %{prefix}/share/doc/ghc-%{version}/ANNOUNCE
-%doc %{prefix}/share/doc/ghc-%{version}/README
-%{prefix}/bin/*
+%defattr(-,root,root)
+%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
 
 %files prof -f rpm-prof-lib-files
+%defattr(-,root,root)
 
 %files doc
-%doc %{prefix}/share/doc/ghc-%{version}/*.ps
-%doc %{prefix}/share/doc/ghc-%{version}/html
+%defattr(-,root,root)
+%doc docs/building/building
+%doc docs/building/building.ps
+%doc docs/docbook-cheat-sheet/docbook-cheat-sheet
+%doc docs/docbook-cheat-sheet/docbook-cheat-sheet.ps
+%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 ghc/docs/users_guide/users_guide.ps
+%doc hslibs/doc/hslibs
+%doc hslibs/doc/hslibs.ps
+%doc html/*