# RPM spec file for GHC -*-rpm-spec-*-
#
-# Copyright [1998..2004] The GHC Team
+# Copyright [1998..2007] The GHC Team
#
-# Thanks to Zoltan Vorosbaranyi <vbzoli@vbzo.li> for suggestions in
+# 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.
License: BSD-like
Group: Development/Languages/Haskell
URL: http://haskell.org/ghc/
-Source: http://haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz2
+Source0: http://haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz2
+Source1: http://haskell.org/ghc/dist/%{version}/ghc-%{version}-src-extralibs.tar.bz2
Packager: Sven Panne <sven.panne@aedion.de>
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Prefix: %{_prefix}
+PreReq: update-alternatives
Requires: gmp, readline
-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
+BuildRequires: update-alternatives, alex >= 2.0, happy >= 1.15, ghc >= 5, haddock, docbook-dtd, docbook-xsl-stylesheets, libxslt, libxml2, fop, xmltex, dvips, gmp, readline-devel, mesaglut-devel
Provides: haskell
Summary: The Glasgow Haskell Compiler
needed.
%prep
-%setup
+%setup -b1
%build
-test -f configure || autoreconf
-./configure --prefix=%{prefix}
-make
+test -f configure || sh boot
+./configure --prefix=%{_prefix} --mandir=%{_mandir}
+make %{?jobs:-j%jobs} HTML_DIR_INSTALLED=%{_defaultdocdir}/%{name}/libraries/'$(PACKAGE)'
make html
make -C docs/ext-core ps
make -C docs/storage-mgt ps
-
+
%install
-make prefix=${RPM_BUILD_ROOT}%{prefix} install
-make datadir=`pwd` install-docs
+make prefix=${RPM_BUILD_ROOT}%{_prefix} install
+make datadir=`pwd` mandir=${RPM_BUILD_ROOT}%{_mandir} install-docs
# generate the file list for lib/ _excluding_ all files needed for profiling
# only
# * generating file lists in a BUILD_ROOT spec is a bit tricky: the file list
# has to contain complete paths, _but_ without the BUILD_ROOT, we also do
# _not_ want have directory names in the list; furthermore, we have to make
-# sure that any leading / is removed from %{prefix}/lib, as find has to
+# sure that any leading / is removed from %{_prefix}/lib, as find has to
# interpret the argument as a relative path; however, we have to include the
# leading / again in the final file list (otherwise, rpm complains)
# * isn't there an easier way to do all this?
#
dir=`pwd`
cd ${RPM_BUILD_ROOT}
-libdir=`echo %{prefix}/lib | sed 's|^/||'`
+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}
+%post
+# Alas, GHC, Hugs and nhc all come with different set of tools in addition to
+# a runFOO:
+#
+# * GHC: hsc2hs
+# * Hugs: hsc2hs, cpphs
+# * nhc: cpphs
+#
+# Therefore it is currently not possible to use --slave below to form link
+# groups under a single name 'runhaskell'. Either these tools should be
+# disentangled from the Haskell implementations or all implementations should
+# have the same set of tools. *sigh*
+update-alternatives --install %{_bindir}/runhaskell runhaskell %{_bindir}/runghc 500
+update-alternatives --install %{_bindir}/hsc2hs hsc2hs %{_bindir}/hsc2hs-ghc 500
+
+%preun
+if test "$1" = 0; then
+ update-alternatives --remove runhaskell %{_bindir}/runghc
+ update-alternatives --remove hsc2hs %{_bindir}/hsc2hs-ghc
+fi
+
%files -f rpm-noprof-lib-files
%defattr(-,root,root)
%doc docs/docbook-cheat-sheet/docbook-cheat-sheet
%doc ANNOUNCE
%doc LICENSE
%doc README
-%doc docs/building/building
+%doc docs/comm
%doc docs/ext-core/core.ps
%doc docs/storage-mgt/ldv.ps
%doc docs/storage-mgt/rp.ps
%doc docs/storage-mgt/sm.ps
%doc docs/users_guide/users_guide
-%doc hslibs/doc/hslibs
%doc html/*
%doc libraries/Cabal/doc/Cabal
-%{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/runhaskell
+%{_mandir}/man1/ghc.1*
+%{_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-ghc
+%{_prefix}/bin/runghc
%files prof -f rpm-prof-lib-files
%defattr(-,root,root)