[project @ 2003-07-09 12:51:37 by simonpj]
[ghc-hetmet.git] / ghc / ghc.spec.in
index dfe6d8f..482dc94 100644 (file)
@@ -1,6 +1,6 @@
-# RPM spec file for GHC
+# RPM spec file for GHC                                                 -*-rpm-spec-*-
 #
-# Copyright [1998..2001] The GHC Team
+# Copyright [1998..2002] The GHC Team
 #
 # Thanks to Zoltan Vorosbaranyi <vbzoli@vbzo.li> for suggestions in 
 # earlier versions and Pixel <pixel@mandrakesoft.com> for coding tips.
@@ -26,10 +26,10 @@ URL: http://haskell.org/ghc/
 BuildRoot: /var/tmp/ghc-%{version}-%{release}-root
 Requires: gmp-devel
 Provides: haskell
-BuildRequires: autoconf, happy >= 1.9, ghc, stylesheets
+BuildRequires: happy >= 1.13, ghc >= 4.08, haddock, docbook-utils
 
 %description
-Haskell is a standard lazy functional programming language; the
+Haskell is the standard purely 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
@@ -48,14 +48,33 @@ Haskell home page at <http://www.haskell.org/>.
 %package prof
 Summary: Profiling libraries for GHC
 Group: Development/Libraries
-Requires: ghc = %{PACKAGE_VERSION}
+Requires: ghc = %{PACKAGE_VERSION}-%{release}
 
 %description prof
 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
 
+* 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
@@ -100,7 +119,7 @@ They should be installed when GHC's profiling subsystem is needed.
 cat >mk/build.mk <<END
 GhcLibWays = p
 SRC_HAPPY_OPTS += -agc
-#GhcWithInterpreter=No
+#GhcWithInterpreter=NO
 GhcWithInterpreter=YES
 END
 
@@ -109,27 +128,22 @@ END
 [ ! -x configure ] && autoconf && cd ghc && autoconf
 
 %build
-./configure --prefix=%{prefix} --libdir=%{prefix}/lib/ghc-%{version}
+./configure --prefix=%{prefix}
 make boot
-make -C glafp-utils sgmlverb
-make all
-make -C docs ps html
-make -C ghc/docs ps html
-
+make all ps html
 %install
-# compress the non-html docs
-#
-for j in docs ghc/docs; do
-  dir=`pwd`
-  cd $j
-  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
-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
+
+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
 
 # generate the file list for lib/ _excluding_ all files needed for profiling
 # only
@@ -147,16 +161,23 @@ 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
 cd $dir
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files -f rpm-noprof-lib-files
-%doc docs/
-%doc ghc/ANNOUNCE ghc/README ghc/docs/
+%defattr(-,root,root)
+%doc %{prefix}/share/doc/ghc-%{version}/ANNOUNCE
+%doc %{prefix}/share/doc/ghc-%{version}/README
 %{prefix}/bin/*
 
-%files prof
-%{prefix}/lib/ghc-%{version}/imports/*/*.p_hi
-%{prefix}/lib/ghc-%{version}/libHS*_p.a
+%files prof -f rpm-prof-lib-files
+%defattr(-,root,root)
+
+%files doc
+%defattr(-,root,root)
+%doc %{prefix}/share/doc/ghc-%{version}/*.ps
+%doc %{prefix}/share/doc/ghc-%{version}/html