X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=ghc.spec.in;h=850169cd0b925e24f874082b4cf8a86b4f27e4ff;hp=9522108667674bc24128eab5144ab88d5fd17620;hb=2eb04ca0f8d0ec72b417cddc60672c696b4a3daa;hpb=59e3ad49b3b1d6208de23ec120024a34bce00c78 diff --git a/ghc.spec.in b/ghc.spec.in index 9522108..850169c 100644 --- a/ghc.spec.in +++ b/ghc.spec.in @@ -1,8 +1,8 @@ # 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 +# Thanks to Zoltan Vorosbaranyi for suggestions in # earlier versions and Pixel for coding tips. # # This file is subject to the same free software license as GHC. @@ -17,12 +17,13 @@ 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 +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 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 @@ -78,19 +79,19 @@ Profiling libraries for Glorious Glasgow Haskell Compilation System 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 @@ -98,14 +99,14 @@ make datadir=`pwd` install-docs # * 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 @@ -113,13 +114,34 @@ 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 @@ -127,18 +149,18 @@ rm -rf ${RPM_BUILD_ROOT} %doc docs/users_guide/users_guide %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)