X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fghc.spec.in;h=5587fc21aeef4b4c6a7b9d9beeb97ad5231167bb;hb=a80264a591226e4ba7037ab30cb2812ccdf8f686;hp=96202d86f8ef9931ab58313b68ed5631e167e4c5;hpb=c43030dde1a992cd45c2c9b4fe11836be94a3de7;p=ghc-hetmet.git diff --git a/ghc/ghc.spec.in b/ghc/ghc.spec.in index 96202d8..5587fc2 100644 --- a/ghc/ghc.spec.in +++ b/ghc/ghc.spec.in @@ -1,127 +1,145 @@ -# RPM spec file for GHC +# RPM spec file for GHC -*-rpm-spec-*- # -# Copyright [1998..1999] Manuel M. T. Chakravarty -# Thanks to Zoltan Vorosbaranyi for help with earlier -# versions. +# Copyright [1998..2004] The GHC Team +# +# 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. -# Values for @version@ and @patchlevel@ are 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 patchlevel @patchlevel@ -%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.gz -URL: http://haskell.org/ghc/ -BuildRoot: /var/tmp/ghc-%{version}-%{release}-root -Packager: Manuel M. T. Chakravarty -Requires: gmp-devel -Provides: haskell +# 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 name ghc +%define version @version@ +%define release SNAP + +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 +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Prefix: %{_prefix} +Requires: gmp-devel +Provides: haskell +BuildRequires: alex >= 2.0, happy >= 1.14, ghc >= 5, haddock, docbk31, jade, jadetex, dvips +Summary: Glasgow Haskell Compilation system %description -The Glorious Glasgow Haskell Compilation System (GHC) is a robust, -fully-featured, optimising compiler for the functional programming -language Haskell 98. GHC compiles Haskell to either native code or -C. It implements numerous experimental language extensions to Haskell, -including concurrency, a foreign language interface, several -type-system extensions, exceptions, and so on. GHC comes with a -generational garbage collector, a space and time profiler, and a -comprehensive set of libraries. This package includes HTML and PS -versions of the SGML-based documentation for GHC. They are also available -online at http://www.haskell.org/ghc/. - -Haskell 98 is "the" standard lazy functional programming language. -More info plus the language definition is at http://www.haskell.org/. - -** This package does not include libraries for profiling ** - -%changelog - -* Tue Dec 7 1999 Manuel Chakravarty -- version for use from CVS +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 +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 +facilities, a large collection of libraries, and support for various +language extensions, including concurrency, exceptions, and foreign +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://haskell.org/. + +Authors: +-------- + Krasimir Angelov + Manuel Chakravarty + Koen Claessen + Robert Ennals + Sigbjorn Finne + Gabrielle Keller + Marcin Kowalczyk + Jeff Lewis + Ian Lynagh + Simon Marlow + Sven Panne + Ross Paterson + Simon Peyton Jones + Don Stewart + Volker Stolz + Wolfgang Thaller + Andrew Tolmach + Keith Wansbrough + Michael Weber + plus a dozen helping hands... + +%package prof +Summary: Profiling libraries for GHC +Group: Development/Libraries +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 -* 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 +%prep +%setup -* Thu Dec 24 1998 Zoltan Vorosbaranyi -- added BuildRoot -- files located in /usr/local/bin, /usr/local/lib moved to /usr/bin, /usr/lib +%build +test -f configure || autoreconf +./configure --prefix=%{prefix} +make +make ps html + +%install +make prefix=${RPM_BUILD_ROOT}%{prefix} install -* Tue Jul 28 1998 Manuel Chakravarty -- original version +mkdir -p ${RPM_BUILD_ROOT}%{prefix}/share/doc/ghc-%{version} +cp ghc/ANNOUNCE ghc/README ${RPM_BUILD_ROOT}%{prefix}/share/doc/ghc-%{version} -%prep -%setup -n fptools +make prefix=${RPM_BUILD_ROOT}%{prefix} datadir=${RPM_BUILD_ROOT}%{prefix}/share/doc/ghc-%{version} SGMLDocWays="html ps" install-docs -# generate our own `build.mk' +# generate the file list for lib/ _excluding_ all files needed for profiling +# only # -# * this is a kludge, to be used until the `configure' script is improved +# * 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 +# 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? # -cat >mk/build.mk < $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} -%build -./configure --prefix=%{prefix} --libdir=%{prefix}/lib/ghc-%{version} -make boot -make -C glafp-utils sgmlverb -make all -make -C docs ps html -make -C ghc/docs/users_guide ps html -make -C ghc/docs/libraries ps html +%files -f rpm-noprof-lib-files +%defattr(-,root,root) +%doc %{prefix}/share/doc/ghc-%{version}/ANNOUNCE +%doc %{prefix}/share/doc/ghc-%{version}/README +%{prefix}/bin/* -%install -# compress the non-html docs -# -for j in docs ghc/docs; do - dir=`pwd` - cd $j - for i in ps dvi sgml vsgml 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 +%files prof -f rpm-prof-lib-files +%defattr(-,root,root) -%clean -rm -rf $RPM_BUILD_ROOT - -%files -%doc ghc/ANNOUNCE ghc/PATCHLEVEL ghc/README docs/ ghc/docs/ CONTRIB/ -%{prefix}/bin/ghc -%{prefix}/bin/ghc-%{version} -%{prefix}/bin/ghcprof -%{prefix}/bin/hp2ps -%{prefix}/bin/hstags -%{prefix}/bin/stat2resid -%{prefix}/lib/ghc-%{version}/ +%files doc +%defattr(-,root,root) +%doc %{prefix}/share/doc/ghc-%{version}/*.ps +%doc %{prefix}/share/doc/ghc-%{version}/html