SPECS: ghc.spec - some progress with bootstrap, but pkg check failures now ...
glen
glen at pld-linux.org
Thu Mar 19 11:32:34 CET 2009
Author: glen Date: Thu Mar 19 10:32:34 2009 GMT
Module: SPECS Tag: HEAD
---- Log message:
- some progress with bootstrap, but pkg check failures now
- added extralibs bcond
---- Files affected:
SPECS:
ghc.spec (1.82 -> 1.83)
---- Diffs:
================================================================
Index: SPECS/ghc.spec
diff -u SPECS/ghc.spec:1.82 SPECS/ghc.spec:1.83
--- SPECS/ghc.spec:1.82 Tue Mar 3 16:38:01 2009
+++ SPECS/ghc.spec Thu Mar 19 11:32:28 2009
@@ -1,5 +1,14 @@
# $Revision$, $Date$
# TODO
+# - system gmp/gmp-4.2.1.tar.gz
+# - system libffi/libffi-3.0.4.tar.gz
+# - ghc-pkg is called with invalid args for 6.10 (-l, --show-package), and the .m4 are not distributed (present only in aclocal.m4 (mv to acinclude.m4?)
+# - related old gcc bug for __DISCARD__: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20359
+# - http://www.archivum.info/glasgow-haskell-users@haskell.org/2008-07/msg00060.html
+# - http://bugs.gentoo.org/212307
+# - http://bugs.gentoo.org/show_bug.cgi?id=145466
+# - $* is no longer supported at /usr/lib64/ghc-6.6.1/ghc-asm line 515., that's why with pld ghc building fails (the __DISCARD__ filtering)
+# - Use of $* is deprecated in modern Perl, supplanted by the "/s" and "/m" modifiers on pattern matching.
# - fails (gcc-4.2.3-1.x86_64)
#../../compat/libghccompat.a(InstalledPackageInfo.o): In function `s7A4_6_alt':
#ghc29245_0.hc:(.text+0x1b84d): undefined reference to `__DISCARD__'
@@ -8,12 +17,23 @@
#ghc29245_0.hc:(.text+0x1b896): undefined reference to `__DISCARD__'
#../../compat/libghccompat.a(InstalledPackageInfo.o):ghc29245_0.hc:(.text+0x1b8c5): more undefined references to `__DISCARD__' follow
#collect2: ld returned 1 exit status
+# - after using official binary tarballs, some dep errors occour:
+#Configuring ghc-6.10.1...
+#cabal-bin: At least the following dependencies are missing:
+#Cabal -any,
+#base <3,
+#filepath >=1 && <1.2,
+#haskell98 -any,
+#hpc -any,
+#template-haskell -any,
+#unix -any
+#make[2]: *** [boot.stage.2] Error 1
#
# Conditional build:
-%bcond_with bootstrap # use foreign (non-rpm) ghc to bootstrap
-# due to http://hackage.haskell.org/trac/ghc/ticket/1427 (fixed by gcc42 patch)
-%bcond_with unregistered # non-registerised interpreter
+%bcond_with bootstrap # use foreign (non-rpm) ghc to bootstrap (extra 140MB to download)
+%bcond_with unregistered # non-registerised interpreter (use for build problems/new arches)
%bcond_without doc # don't build documentation (requires haddock)
+%bcond_without extralibs # don't build extra libs
#
Summary: Glasgow Haskell Compilation system
Summary(pl.UTF-8): System kompilacji Glasgow Haskell
@@ -26,6 +46,14 @@
# Source0-md5: 54c676a632b3d73cf526b06347522c32
Source1: http://haskell.org/ghc/dist/%{version}/%{name}-%{version}-src-extralibs.tar.bz2
# Source1-md5: 4ff4590f1002ae1ff608874da8643c67
+%if %{with bootstrap}
+Source3: http://haskell.org/ghc/dist/%{version}/%{name}-%{version}-i386-unknown-linux.tar.bz2
+# NoSource3-md5: 1895a81c7788604579b5bbd01a566303
+NoSource: 3
+Source4: http://haskell.org/ghc/dist/%{version}/%{name}-%{version}-x86_64-unknown-linux.tar.bz2
+# NoSource4-md5: efe7ce579a482b6bd87ed80ddf6e1f5c
+NoSource: 4
+%endif
URL: http://haskell.org/ghc/
BuildRequires: OpenAL-devel
BuildRequires: OpenGL-GLU-devel
@@ -43,20 +71,25 @@
BuildRequires: docbook-dtd42-xml
BuildRequires: docbook-style-xsl
BuildRequires: haddock
+BuildRequires: libxml2-progs
BuildRequires: libxslt-progs
BuildRequires: tetex
BuildRequires: tetex-dvips
BuildRequires: tetex-latex-bibtex
#For generating documentation in PDF: fop or xmltex
%endif
-Provides: haskell
# there is no more ghc ports in PLD
+Provides: haskell
# th-ppc removed:
#error: ghc: no such package
#error: haddock: no such package
ExclusiveArch: %{ix86} %{x8664}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%if %{with bootstrap}
+#%%define specflags -O2 -pipe
+%endif
+
%description
Haskell is the standard lazy purely functional programming language.
The current language version is Haskell 98, agreed in December 1998,
@@ -73,30 +106,7 @@
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 <ka2_mail at yahoo.com>
- Manuel Chakravarty <chak at cse.unsw.edu.au>
- Koen Claessen <koen at cs.chalmers.se>
- Robert Ennals <Robert.Ennals at cl.cam.ac.uk>
- Sigbjorn Finne <sof at galconn.com>
- Gabrielle Keller <keller at cvs.haskell.org>
- Marcin Kowalczyk <qrczak at knm.org.pl>
- Jeff Lewis <jeff at galconn.com>
- Ian Lynagh <igloo at earth.li>
- Simon Marlow <simonmar at microsoft.com>
- Sven Panne <sven.panne at aedion.de>
- Ross Paterson <ross at soi.city.ac.uk>
- Simon Peyton Jones <simonpj at microsoft.com>
- Don Stewart <dons at cse.unsw.edu.au>
- Volker Stolz <stolz at i2.informatik.rwth-aachen.de>
- Wolfgang Thaller <wolfgang.thaller at gmx.net>
- Andrew Tolmach <apt at cs.pdx.edu>
- Keith Wansbrough <Keith.Wansbrough at cl.cam.ac.uk>
- Michael Weber <michael.weber at post.rwth-aachen.de>
- plus a dozen helping hands...
+Haskell home page at <http://haskell.org/>.
%description -l pl.UTF-8
Haskell to standardowy leniwy i czysto funkcyjny język programowania.
@@ -105,39 +115,16 @@
GHC to dojrzałe i nowoczesne środowisko do programowania w Haskellu.
Zawiera optymalizujący kompilator generujący dobry kod dla różnych
-platform, wraz z interakcyjnym systemem do wygodnego eksperymentowania.
-Dystrybucja zawiera narzędzia do profilowania zużycia pamięci i czasu,
-sporą kolekcję bibliotek i wsparcie dla różnych rozszerzeń języka,
-w tym współbieżności, wyjątków i łączenia z innymi językami (np. C
-albo C++).
+platform, wraz z interakcyjnym systemem do wygodnego
+eksperymentowania. Dystrybucja zawiera narzędzia do profilowania
+zużycia pamięci i czasu, sporą kolekcję bibliotek i wsparcie dla
+różnych rozszerzeń języka, w tym współbieżności, wyjątków i łączenia z
+innymi językami (np. C albo C++).
Różnorodne zasoby związane z Haskellem (podręczniki, biblioteki,
specyfikacje, dokumentacja, kompilatory, interpretery, literatura,
-informacje kontaktowe, odsyłacze do grup naukowo-badawczych)
-są dostępne ze strony domowej Haskella pod http://haskell.org/.
-
-Autorzy:
---------
- Krasimir Angelov <ka2_mail at yahoo.com>
- Manuel Chakravarty <chak at cse.unsw.edu.au>
- Koen Claessen <koen at cs.chalmers.se>
- Robert Ennals <Robert.Ennals at cl.cam.ac.uk>
- Sigbjorn Finne <sof at galconn.com>
- Gabrielle Keller <keller at cvs.haskell.org>
- Marcin Kowalczyk <qrczak at knm.org.pl>
- Jeff Lewis <jeff at galconn.com>
- Ian Lynagh <igloo at earth.li>
- Simon Marlow <simonmar at microsoft.com>
- Sven Panne <sven.panne at aedion.de>
- Ross Paterson <ross at soi.city.ac.uk>
- Simon Peyton Jones <simonpj at microsoft.com>
- Don Stewart <dons at cse.unsw.edu.au>
- Volker Stolz <stolz at i2.informatik.rwth-aachen.de>
- Wolfgang Thaller <wolfgang.thaller at gmx.net>
- Andrew Tolmach <apt at cs.pdx.edu>
- Keith Wansbrough <Keith.Wansbrough at cl.cam.ac.uk>
- Michael Weber <michael.weber at post.rwth-aachen.de>
- oraz wiele pomocnych dłoni...
+informacje kontaktowe, odsyłacze do grup naukowo-badawczych) są
+dostępne ze strony domowej Haskella pod <http://haskell.org/>.
%package prof
Summary: Profiling libraries for GHC
@@ -155,24 +142,82 @@
potrzebujemy systemu profilującego z GHC.
%prep
-%setup -q -b1
+%setup -q %{?with_extralibs:-b1}
+%if %{with bootstrap}
+%ifarch %{ix86}
+%{__tar} -xjf %{SOURCE3}
+%endif
+%ifarch %{x8664}
+%{__tar} -xjf %{SOURCE4}
+%endif
+mv %{name}-%{version} binsrc
+%endif
+
+# 0.10.1 ghc-pkg -l is not supported
+sed -i -e 's,fp_ghc_pkg_guess" -l,fp_ghc_pkg_guess" list,' configure
+
+%build
+cat <<'EOF' > mk/build.mk
+# http://darcs.haskell.org/ghc/mk/build.mk.sample
+#SRC_HC_OPTS = -O2 -H64m -fasm
+#GhcStage1HcOpts = -O0 -fasm -Wall
+#GhcStage2HcOpts = -O0 -fasm -Wall
+#GhcHcOpts = -Rghc-timing
+#GhcLibHcOpts = -O2 -XGenerics
+#GhcLibWays = p
+#SplitObjs = YES
+#SplitObjs = No
+#GhcBootLibs = %{!?with_extralibs:NO}%{?with_extralibs:YES}
+#%{?without_doc:HADDOCK_DOCS = NO}
+EOF
%if %{with unregistered}
cat << 'EOF' >> mk/build.mk
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Unregisterised
GhcUnregisterised=YES
GhcWithNativeCodeGen=NO
+GhcWithInterpreter=NO
SplitObjs=NO
EOF
%endif
-%build
-%{?with_bootstrap:PATH=$PATH:/usr/local/bin}
+top=$(pwd)
+%if %{with bootstrap}
+# we need to first install the tarball somewhere, as seems the programs don't
+# work out of the path otherwise
+if [ ! -f .bindist.install.mark ]; then
+ top=$(pwd)
+ cd binsrc
+ ./configure \
+ --prefix=$top/bindist
+ %{__make} install \
+ LATEX_DOCS=NO \
+ HADDOCK_DOCS=NO
+ cd ..
+
+ touch .bindist.install.mark
+fi
+%endif
+
+%{?with_bootstrap:PATH=$top/bindist/bin:$PATH:%{_prefix}/local/bin}
%configure \
--prefix=%{_prefix} \
- --with-gcc="%{__cc}"
+ --with-gcc="%{__cc}" \
+%if %{with bootstrap}
+ GhcPkgCmd=$top/bindist/bin/ghc-pkg \
+%endif
+%if %{with bootstrap2}
+ --with-ghc=$top/bindist/bin/ghc \
+%endif
+%if %{with bootstrap1}
+ --with-hc=$PWD/bindist/bin/ghc \
+ --with-ghc=$PWD/bindist/ghc/dist-stage2/build/ghc/ghc \
+ --with-hc=$PWD/bindist/ghc/dist-stage2/build/ghc/ghc \
+%endif
%{__make}
+
%if %{with doc}
%{__make} html
# broken
@@ -248,6 +293,10 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.83 2009/03/19 10:32:28 glen
+- some progress with bootstrap, but pkg check failures now
+- added extralibs bcond
+
Revision 1.82 2009/03/03 15:38:01 baggins
- removed outdated patch (archs not supported)
- removed automagic (no longer needed)
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/ghc.spec?r1=1.82&r2=1.83&f=u
More information about the pld-cvs-commit
mailing list