357 lines
13 KiB
RPMSpec
357 lines
13 KiB
RPMSpec
# Copyright (c) 2007-2008 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.10.3
|
|
Release: 0
|
|
Summary: The Glasgow Haskell Compilation system
|
|
Summary(de): Das Glasgow-Haskell-Compilation-System
|
|
License: BSD3
|
|
Group: Development/Languages/Haskell
|
|
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
|
|
Source3: macros.ghc
|
|
URL: http://haskell.org/ghc/
|
|
Provides: haddock = 2.4.2
|
|
Obsoletes: haddock <= 2.3.0, haddock-doc <= 2.3.0
|
|
PreReq: update-alternatives
|
|
Requires: gmp-devel
|
|
Requires: libedit-devel
|
|
Requires: update-alternatives
|
|
BuildRequires: ghc >= 5.0
|
|
BuildRequires: happy >= 1.15
|
|
BuildRequires: alex >= 2.0
|
|
BuildRequires: ncurses-devel
|
|
BuildRequires: gmp-devel
|
|
BuildRequires: texlive-latex
|
|
BuildRequires: libxslt
|
|
BuildRequires: sgml-skel
|
|
BuildRequires: docbook-xsl-stylesheets
|
|
BuildRequires: docbook-utils
|
|
BuildRequires: update-alternatives
|
|
BuildRequires: java-1_5_0-sun
|
|
BuildRequires: fop
|
|
BuildRequires: xmltex
|
|
%if 0%{suse_version} >= 1110
|
|
BuildRequires: dblatex
|
|
%endif
|
|
BuildRequires: fdupes
|
|
|
|
Provides: haskell_compiler
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
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
|
|
Group: Development/Libraries/Haskell
|
|
Requires: ghc = %{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
|
|
Group: Development/Languages/Haskell
|
|
Requires: ghc = %{version}-%{release}
|
|
|
|
%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
|
|
|
|
%build
|
|
export CFLAGS="$RPM_OPT_FLAGS"
|
|
CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
|
|
CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
|
|
FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
|
|
./configure --host=%{_target_platform} --build=%{_target_platform} --target=%{_target_platform} \
|
|
--program-prefix=%{?_program_prefix} --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
|
|
--bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} --datadir=%{_datadir} \
|
|
--includedir=%{_includedir} --libdir=%{_libdir} --libexecdir=%{_libexecdir} \
|
|
--localstatedir=%{_localstatedir} --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
|
|
--infodir=%{_infodir} \
|
|
%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
|
|
|
|
cat <<"EOF" >>mk/build.mk
|
|
docdir := %{_datadir}/doc/%{name}
|
|
htmldir := $(docdir)
|
|
dvidir := $(docdir)
|
|
pdfdir := $(docdir)
|
|
psdir := $(docdir)
|
|
EOF
|
|
|
|
make %{?jobs:-j%jobs} all datadir="${_datadir}/doc/%{name}"
|
|
make html
|
|
make -C libraries HADDOCK_DOCS=YES
|
|
( cd libraries/Cabal && docbook2html doc/Cabal.xml --output doc/Cabal )
|
|
make -C docs/storage-mgt ps
|
|
|
|
%install
|
|
make DESTDIR=%{buildroot} docdir=%{_datadir}/doc/%{name} HADDOCK_DOCS=YES install install-docs
|
|
mv %{buildroot}%{_prefix}/bin/hsc2hs %{buildroot}%{_prefix}/bin/hsc2hs-ghc
|
|
install -D -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/rpm/macros.ghc
|
|
|
|
dir=`pwd`
|
|
pushd %{buildroot}
|
|
libdir=`echo %{_libdir}/%{name}-%{version} | sed 's|^/||'`
|
|
find $libdir -type d -print | \
|
|
sed 's|^|%dir /|' > $dir/rpm-noprof-lib-files
|
|
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
|
|
|
|
%fdupes $RPM_BUILD_ROOT
|
|
|
|
%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
|
|
%{_sysconfdir}/rpm/macros.ghc
|
|
%{_bindir}/ghc
|
|
%{_bindir}/ghc-%{version}
|
|
%{_bindir}/ghc-pkg
|
|
%{_bindir}/ghc-pkg-%{version}
|
|
%{_bindir}/ghci
|
|
%{_bindir}/ghci-%{version}
|
|
%{_bindir}/hasktags
|
|
%{_bindir}/hp2ps
|
|
%{_bindir}/hpc
|
|
%{_bindir}/hsc2hs-ghc
|
|
%{_bindir}/runghc
|
|
%{_bindir}/runhaskell
|
|
%{_bindir}/haddock
|
|
%{_mandir}/man1/ghc.1*
|
|
%dir %{_libdir}/ghc-%{version}
|
|
%config(noreplace) %{_libdir}/ghc-%{version}/package.conf
|
|
|
|
%files prof -f rpm-prof-lib-files
|
|
%defattr(-,root,root)
|
|
|
|
%files doc
|
|
%defattr(-,root,root)
|
|
%doc LICENSE
|
|
%{_datadir}/doc/%{name}
|
|
%doc docs/comm
|
|
%doc docs/docbook-cheat-sheet/docbook-cheat-sheet
|
|
%doc docs/users_guide/users_guide
|
|
%doc libraries/Cabal/doc/Cabal
|
|
%doc docs/storage-mgt/ldv.ps
|
|
%doc docs/storage-mgt/rp.ps
|
|
%doc docs/storage-mgt/sm.ps
|
|
|
|
%changelog
|
|
* Mon May 11 2009 Herbert Graeber <herber@graeber-clan.de> 6.10.3
|
|
- dblatex is only available for 11.1 up
|
|
|
|
* Sun May 10 2009 Herbert Graeber <herber@graeber-clan.de> 6.10.3
|
|
- Update to version 6.10.3
|
|
* Control-C now works again in GHCi. In 6.10.2 it was ignored on some platformsr
|
|
due to the changes in signal handling.
|
|
* GHCi uses Haskeline, rather than editline, for line editing. This fixes a crash
|
|
when pressing control-C on some platforms, removes a C library dependency, and
|
|
provides a better user interface.
|
|
* It is now possible to build PDF and PS versions of the users guide, using
|
|
dblatex.
|
|
|
|
* Mon Apr 21 2009 Herbert Graeber <herber@graeber-clan.de> 6.10.2
|
|
- Fix macros.ghc to use the right doc directory for reindex
|
|
|
|
* Mon Apr 13 2009 Herbert Graeber <herber@graeber-clan.de> 6.10.2
|
|
- update rpm macros to generate -devel subpackages for libraries
|
|
|
|
* Thu Apr 2 2009 Herbert Graeber <herber@graeber-clan.de> 6.10.2
|
|
- Update to version 6.10.2
|
|
* System.FilePath.dropTrailingPathSeparator "\\" will now return "\\" rather than "".
|
|
* The compatibility Control.OldException functions now catch new-style exceptions as DynExceptions.
|
|
* It is now possible to create C finalizers which, unlike Haskell finalizers, are guaranteed to run.
|
|
* There is now a +RTS -xm<address> flag, which tells GHC where to try to allocate memory.
|
|
* There is now a +RTS --machine-readable flag. Currently it only affects the +RTS -t output.
|
|
* There are now more fields printed by the +RTS --info flag.
|
|
* ghc-pkg will now complain if told to use a package.conf that doesn't exist.
|
|
* ghc-pkg check now looks for missing files (including .hi files), and reports all packages that are
|
|
transitively broken.
|
|
* The TypeFamilies extension now implies the RelaxedPolyRec extension.
|
|
* We now ship with haddock 2.4.2 (was 2.3.0).
|
|
* Several Library updates
|
|
|
|
* Sun Mar 1 2009 Herbert Graeber <herber@graeber-clan.de> 6.10.1
|
|
- Obsolete external haddock
|
|
- remove support for openSUSE <= 10.2
|
|
- remove provides for library components
|
|
|
|
* Wed Feb 25 2009 herbert Graeber <herber@graeber-clan.de> 6.10.1
|
|
- fix install of macros rpm
|
|
|
|
* Tue Feb 24 2009 herbert Graeber <herber@graeber-clan.de> 6.10.1
|
|
- prepare for use of haskell packaging conventions
|
|
- move library doc files to /usr/share/doc/ghc/libraries
|
|
|
|
* Mon Nov 25 2008 Herbert Graeber <herbert@links2linux.de> 6.10.1
|
|
- add some directories to files list
|
|
|
|
* Wed Nov 5 2008 Herbert Graeber <herbert@links2linux.de> 6.10.1
|
|
- update to version 6.10.1
|
|
|
|
* Fri Aug 22 2008 Herbert Graeber <herbert@links2linux.de> 6.8.3
|
|
- fix the optional-openal patch
|
|
- only one job for building documentation
|
|
|
|
* Wed Aug 20 2008 Herbert Graeber <herbert@links2linux.de> 6.8.3
|
|
- repackaged tar file usinmg bz2
|
|
- changed library provides to match the ones generated by cabal-rpm
|
|
|
|
* Tue Aug 19 2008 Herbert Graeber <herbert@links2linux.de> 6.8.3
|
|
- the ghc-doc packages contains the LICENSES files even without docs built
|
|
|
|
* Mon Aug 18 2008 Herbert Graeber <herbert@links2linux.de> 6.8.3
|
|
- add provides for all libraries included
|
|
- create a doc package even when docs cannot be created
|
|
- remove support for SUSE Linux 10.0 and below
|
|
- add requirement for readline-devel
|
|
- do not build docs for ext-core for now
|
|
- suppress some messages from rpmlint
|
|
- no man page without docs
|
|
- build docs only if the ghc version haddock has built with matches the ghc to build
|
|
- fix ghc-pks doc location
|
|
- update to version 6.8.3
|
|
|
|
* Fri Mar 04 2008 Herbert Graeber <herbert@links2linux.de>
|
|
- ghc cannot use different host and target platforms (i686 and i586)
|
|
|
|
* Wed Mar 02 2008 Herbert Graeber <herbert@links2linux.de>
|
|
- build haddock docs
|
|
|
|
* 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
|