X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=ghc.spec.in;h=a24cb554ad58cc28dfebe8cfda0498225d093de8;hp=c50e8052c45c4567e25273bf213cec2cc3a222a0;hb=fbb3eef5ee8f6f901ed6149b246c3bdbf8bd34fd;hpb=cbb81129fe303877062079d26505e8cbe0f2a7c9 diff --git a/ghc.spec.in b/ghc.spec.in index c50e805..a24cb55 100644 --- a/ghc.spec.in +++ b/ghc.spec.in @@ -1,6 +1,6 @@ # RPM spec file for GHC -*-rpm-spec-*- # -# Copyright [1998..2004] The GHC Team +# Copyright [1998..2007] The GHC Team # # Thanks to Zoltan Vorosbaranyi for suggestions in # earlier versions and Pixel for coding tips. @@ -21,8 +21,9 @@ Source0: http://haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz Source1: http://haskell.org/ghc/dist/%{version}/ghc-%{version}-src-extralibs.tar.bz2 Packager: Sven Panne BuildRoot: %{_tmppath}/%{name}-%{version}-build +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 @@ -81,16 +82,18 @@ needed. %setup -b1 %build -test -f configure || autoreconf +test -f configure || sh boot ./configure --prefix=%{_prefix} --mandir=%{_mandir} -make %{?jobs:-j%jobs} HTML_DIR_INSTALLED=%{_defaultdocdir}/%{name}/libraries/'$(PACKAGE)' +make %{?jobs:-j%jobs} docdir=%{_datadir}/doc/packages/%{name} make html +make -C libraries doc +( cd libraries/Cabal && docbook2html doc/Cabal.xml --output doc/Cabal ) make -C docs/ext-core ps make -C docs/storage-mgt ps %install -make prefix=${RPM_BUILD_ROOT}%{_prefix} install -make datadir=`pwd` mandir=${RPM_BUILD_ROOT}%{_mandir} install-docs +make DESTDIR=${RPM_BUILD_ROOT} docdir=%{_datadir}/doc/packages/%{name} install install-docs +mv ${RPM_BUILD_ROOT}%{_prefix}/bin/hsc2hs ${RPM_BUILD_ROOT}%{_prefix}/bin/hsc2hs-ghc # generate the file list for lib/ _excluding_ all files needed for profiling # only @@ -113,6 +116,27 @@ 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 @@ -125,7 +149,6 @@ rm -rf ${RPM_BUILD_ROOT} %doc docs/storage-mgt/rp.ps %doc docs/storage-mgt/sm.ps %doc docs/users_guide/users_guide -%doc html/* %doc libraries/Cabal/doc/Cabal %{_mandir}/man1/ghc.1* %{_prefix}/bin/ghc @@ -137,9 +160,10 @@ rm -rf ${RPM_BUILD_ROOT} %{_prefix}/bin/ghcprof %{_prefix}/bin/hasktags %{_prefix}/bin/hp2ps -%{_prefix}/bin/hsc2hs +%{_prefix}/bin/hpc +%{_prefix}/bin/hsc2hs-ghc +%{_prefix}/bin/hsc2hs-%{version} %{_prefix}/bin/runghc -%{_prefix}/bin/runhaskell %files prof -f rpm-prof-lib-files %defattr(-,root,root)