295 lines
9.3 KiB
RPMSpec
295 lines
9.3 KiB
RPMSpec
# Copyright (c) 2007 Herbert Graeber
|
|
# This file and all modifications and additions to the pristine
|
|
# package are under the same license as the package itself.
|
|
#
|
|
# Please submit bugfixes or comments to herbert@links2linux.de
|
|
|
|
# norootforbuild
|
|
|
|
Name: ghc
|
|
Version: 6.8.2
|
|
Release: 0
|
|
Summary: The Glasgow Haskell Compilation system
|
|
Summary(de): Das Glasgow-Haskell-Compilation-System
|
|
License: BSD style w/o adv. clause
|
|
Group: Development/Languages/Haskell
|
|
Packager: Herbert Graeber <herbert@graeber-clan.de>
|
|
Source0: http://haskell.org/ghc/dist/%{version}/%{name}-%{version}-src.tar.bz2
|
|
Source1: http://haskell.org/ghc/dist/%{version}/%{name}-%{version}-src-extralibs.tar.bz2
|
|
Patch0: ghc-optional-openal.patch
|
|
URL: http://haskell.org/ghc/
|
|
%if 0%{?suse_version} > 1000
|
|
Requires: gmp-devel
|
|
%endif
|
|
Requires: update-alternatives
|
|
%if 0%{?suse_version} >= 1030
|
|
Requires: licenses
|
|
%endif
|
|
BuildRequires: ghc >= 5.0
|
|
BuildRequires: happy >= 1.15
|
|
BuildRequires: alex >= 2.0
|
|
BuildRequires: ncurses-devel
|
|
%if 0%{?suse_version} > 1000
|
|
BuildRequires: gmp-devel
|
|
%else
|
|
BuildRequires: gmp
|
|
%endif
|
|
BuildRequires: readline-devel
|
|
BuildRequires: xorg-x11-Mesa-devel
|
|
BuildRequires: freeglut-devel
|
|
%if 0%{?suse_version} > 1020
|
|
BuildRequires: texlive-latex
|
|
%else
|
|
BuildRequires: te_latex
|
|
%endif
|
|
BuildRequires: haddock
|
|
BuildRequires: libxslt
|
|
BuildRequires: sgml-skel
|
|
BuildRequires: docbook-xsl-stylesheets
|
|
BuildRequires: docbook-utils
|
|
%if 0%{?suse_version} >= 1020
|
|
BuildRequires: openal
|
|
BuildRequires: freealut
|
|
%endif
|
|
BuildRequires: update-alternatives
|
|
%if 0%{?suse_version} >= 1010
|
|
%if 0%{?suse_version} <= 1030
|
|
BuildRequires: java-1_5_0-sun
|
|
%endif
|
|
BuildRequires: fop
|
|
%endif
|
|
BuildRequires: xmltex
|
|
%if 0%{?suse_version} <= 1010
|
|
BuildRequires: libpng
|
|
%endif
|
|
%if 0%{?suse_version} >= 1030
|
|
BuildRequires: licenses
|
|
%endif
|
|
|
|
Provides: haskell_compiler
|
|
BuildRoot: /var/tmp/%{name}-%{version}-root
|
|
Prefix: /usr
|
|
|
|
%description
|
|
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
|
|
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++, etc).
|
|
|
|
A wide variety of Haskell related resources (tutorials, libraries,
|
|
specifications, documentation, compilers, interprbeters, references,
|
|
contact information, links to research groups) are available from the
|
|
Haskell home page at <http://www.haskell.org/>.
|
|
|
|
%package prof
|
|
Summary: Profiling libraries for GHC
|
|
Summary(de): Profiling-Libraries für GHC
|
|
Group: Development/Libraries/Haskell
|
|
Requires: %{name} = %{version}-%{release}
|
|
Provides: GHC-prof = %{version}
|
|
|
|
%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
|
|
Summary(de): Dokumentation für GHC
|
|
Group: Development/Languages/Haskell
|
|
|
|
%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
|
|
|
|
# the debuginfo subpackage is currently empty anyway, so don't generate it
|
|
%define debug_package %{nil}
|
|
%define __spec_install_post /usr/lib/rpm/brp-compress
|
|
|
|
%prep
|
|
%setup -q -b 1
|
|
%patch0 -p1
|
|
|
|
%build
|
|
export CFLAGS="$RPM_OPT_FLAGS"
|
|
./configure --prefix=%{_prefix} --libdir=%{_libdir} --mandir=%{_mandir} \
|
|
%if 0%{?suse_version} < 1020
|
|
--enable-openal=no \
|
|
%endif
|
|
%ifarch x86_64 amd64 ia32e
|
|
--enable-libsuffix=64
|
|
%endif
|
|
|
|
# Don't install these tools, we'll use update-alternatives below.
|
|
touch mk/build.mk
|
|
echo "NO_INSTALL_RUNHASKELL=YES" >>mk/build.mk
|
|
#echo "NO_INSTALL_HSC2HS=YES" >>mk/build.mk
|
|
|
|
make %{?jobs:-j%jobs}
|
|
make html
|
|
make -C libraries HADDOCK_DOCS=YES
|
|
( cd libraries/Cabal && docbook2html doc/Cabal.xml --output doc/Cabal )
|
|
%if 0%{?suse_version} >= 1010
|
|
make -C docs/ext-core ps
|
|
make -C docs/storage-mgt ps
|
|
%endif
|
|
|
|
%install
|
|
%if 0%{?suse_version} >= 1030
|
|
for FILE in LICENSE ; do
|
|
MD5SUM=$(md5sum $FILE | sed 's/ .*//')
|
|
if test -f /usr/share/doc/licenses/md5/$MD5SUM ; then
|
|
ln -sf /usr/share/doc/licenses/md5/$MD5SUM $FILE
|
|
fi
|
|
done
|
|
%endif
|
|
make DESTDIR=%{buildroot} docdir=%{_datadir}/doc/packages/%{name} HADDOCK_DOCS=YES install install-docs
|
|
mkdir html-docs
|
|
cp -a %{buildroot}%{_datadir}/doc/packages/%{name}/{index.html,libraries} html-docs
|
|
#mv %{buildroot}%{_prefix}/bin/hsc2hs %{buildroot}%{_prefix}/bin/hsc2hs-ghc
|
|
|
|
dir=`pwd`
|
|
pushd %{buildroot}
|
|
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
|
|
popd
|
|
|
|
%post
|
|
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 ANNOUNCE
|
|
%doc HACKING
|
|
%doc LICENSE
|
|
%doc README
|
|
%{_bindir}/ghc
|
|
%{_bindir}/ghc-%{version}
|
|
%{_bindir}/ghc-pkg
|
|
%{_bindir}/ghc-pkg-%{version}
|
|
%{_bindir}/ghci
|
|
%{_bindir}/ghci-%{version}
|
|
%{_bindir}/ghcprof
|
|
%{_bindir}/hasktags
|
|
%{_bindir}/hp2ps
|
|
%{_bindir}/hpc
|
|
%{_bindir}/hsc2hs
|
|
%{_bindir}/hsc2hs-ghc
|
|
%{_bindir}/hsc2hs-ghc-%{version}
|
|
%{_bindir}/runghc
|
|
%{_mandir}/man1/ghc.1*
|
|
|
|
%files prof -f rpm-prof-lib-files
|
|
%defattr(-,root,root)
|
|
|
|
%files doc
|
|
%defattr(-,root,root)
|
|
%doc docs/comm
|
|
%doc docs/docbook-cheat-sheet/docbook-cheat-sheet
|
|
%doc docs/users_guide/users_guide
|
|
%doc libraries/Cabal/doc/Cabal
|
|
%if 0%{?suse_version} >= 1010
|
|
%doc docs/ext-core/core.ps
|
|
%doc docs/storage-mgt/ldv.ps
|
|
%doc docs/storage-mgt/rp.ps
|
|
%doc docs/storage-mgt/sm.ps
|
|
%endif
|
|
|
|
%changelog
|
|
* Wed Dec 12 2007 Herbert Graeber <herbert@links2linux.de>
|
|
- Update to 6.8.2
|
|
* removed the --dodc-dir option
|
|
* let standalone deriving declarations respect scope
|
|
* several extensions to ghci command set
|
|
* several bug fixes
|
|
|
|
* Sun Dec 9 2007 Herbert Graeber <herbert@links2linux.de>
|
|
- Update to 6.8.2 release candidate from 2007-12-06
|
|
|
|
* Sun Nov 25 2007 Herbert Graeber <herbert@links2linux.de>
|
|
- Disable ps docs for SUSE Linux 10.0 and below
|
|
|
|
* Wed Nov 21 2007 Herbert Graeber <herbert@links2linux.de>
|
|
- Fixes for SUSE Linux 10.1 and below
|
|
|
|
* Sun Nov 11 2007 Herbert Graeber <herbert@links2linux.de>
|
|
- Update to version 6.8.1
|
|
* Haskell Program Coverage (hpc) support has been added to the compiler
|
|
* GHCi now includes a debugger
|
|
* The first phase of the base package split has been done
|
|
* The code generator now uses pointer tagging (which should mean most
|
|
code improves by 10-15%, and as a result the compiler is also faster).
|
|
- Use update-alternatives to enable multiple ghc versions
|
|
- Build with shared license file
|
|
- Reenable ps docs
|
|
|
|
* Wed Apr 25 2007 Herbert Graeber <herbert@links2linux.de>
|
|
- Update to version 6.6.1
|
|
* Many, many bugs have been fixed relative to 6.6. Far too many to list here.
|
|
* GHC can now be used to compile C++ files.
|
|
* There is an --install-signal-handlers=<yes|no> RTS flag. The main use is
|
|
to stop GHC installing signal handlers when you are putting your code in a DLL.
|
|
* Newtypes can now be defined using GADT syntax.
|
|
* Linear implicit parameters are no longer accepted.
|
|
* There is a manpage for ghc and ghci.
|
|
* The building guide has been moved to the wiki.
|
|
* GHC now comes with the filepath library.
|
|
* The base, cabal, regex-base, pretty-printer and unix packages have various bug fixes,
|
|
as well as a couple of interface changes that shouldn't affect most users. The version
|
|
numbers have been bumped.
|
|
* There are newer versions of all of the extralibs.
|
|
|
|
* Thu Oct 25 2006 Herbert Graeber <herbert@links2linux.de>
|
|
- Enable openal and freealut support for openSUSE 10.2
|
|
|
|
* Mon Oct 16 2006 Herbert Graeber <herbert@links2linux.de>
|
|
- Update to version 6.6
|
|
|
|
* Mon Sep 04 2006 Herbert Graeber <herbert@links2linux.de>
|
|
- Use docbook-utils for html documentation
|
|
- Require sgml-skel for build
|
|
|
|
* Tue Aug 29 2006 Herbert Graeber <herbert@links2linux.de>
|
|
- Disabled ps documentation (no fop without java)
|
|
|
|
* Mon Aug 28 2006 Herbert Graeber <herbert@links2linux.de>
|
|
- Move to the SUSE Build Service
|
|
|
|
* Tue Apr 18 2006 Herbert Graeber <herbert@links2linux.de>
|
|
- Update to version 6.4.2
|
|
- Removed openal/alut support (Does not work with SUSEs openal)
|
|
|
|
* Wed Apr 12 2006 Herbert Graeber <herbert@links2linux.de>
|
|
- SUSE 10.1 needs gmp-devel
|
|
- Added patch for gcc 4.1 compatibility on x86_64
|
|
|
|
* Wed Sep 21 2005 Herbert Graeber <herbert@links2linux.de>
|
|
- Update to version 6.4.1
|
|
|
|
* Tue Apr 19 2005 Herbert Graeber <herbert@links2linux.de>
|
|
- Disabled object uplitting and ghci for x86_64
|
|
|
|
* Sun Mar 13 2005 Herbert Graeber <herbert@links2linux.de>
|
|
- Update to version 6.4
|