SPECS: hugs98.spec - Updated to Sep2006, but we'll call it 200609 ...

qrczak qrczak at pld-linux.org
Thu Feb 22 23:27:13 CET 2007


Author: qrczak                       Date: Thu Feb 22 22:27:13 2007 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- Updated to Sep2006, but we'll call it 200609
- Expanded description
- Updated BR, build scripts and files list
- Fixed linking with tinfo
- Anybody who knows Haskell can translate the "All of the features"
  paragraph into Polish better?

---- Files affected:
SPECS:
   hugs98.spec (1.25 -> 1.26) 

---- Diffs:

================================================================
Index: SPECS/hugs98.spec
diff -u SPECS/hugs98.spec:1.25 SPECS/hugs98.spec:1.26
--- SPECS/hugs98.spec:1.25	Tue Feb 13 09:06:35 2007
+++ SPECS/hugs98.spec	Thu Feb 22 23:27:07 2007
@@ -1,77 +1,125 @@
 # $Revision$, $Date$
+%define version_txt Sep2006
+%define version_dir 2006-09
 Summary:	Hugs - a Haskell interpreter
 Summary(pl.UTF-8):	Hugs - interpreter Haskella
 Name:		hugs98
-Version:	Nov2003
-Release:	3
+Version:	%(echo %{version_dir} | tr -d -)
+Release:	1
 Epoch:		2
 License:	BSD-like
 Group:		Development/Languages
-Source0:	http://cvs.haskell.org/Hugs/downloads/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	86ed68ada4ff1d455213a851256437fc
-Patch0:		%{name}-docbook.patch
-URL:		http://www.haskell.org/hugs/
+Source0:	http://cvs.haskell.org/Hugs/downloads/%{version_dir}/%{name}-plus-%{version_txt}.tar.gz
+# Source0-md5:	e03e0ad79750d037237c47ebe33fa20e
+Patch0:		%{name}-tinfo.patch
+URL:		http://haskell.org/hugs/
+BuildRequires:	OpenAL-devel
+BuildRequires:	OpenGL-GLU-devel
+BuildRequires:	OpenGL-devel
+BuildRequires:	OpenGL-glut-devel
+BuildRequires:	autoconf
 BuildRequires:	automake
+BuildRequires:	docbook-utils
+BuildRequires:	freealut-devel
 BuildRequires:	ncurses-devel >= 5.2
 BuildRequires:	readline-devel >= 4.1
+BuildRequires:	sgml-common
+BuildRequires:	xorg-lib-libX11-devel
 Provides:	hugs
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
-Hugs 98 is an interpreter for Haskell, a lazy functional programming
-language.
+Hugs 98 is a functional programming system based on Haskell 98, the de facto
+standard for non-strict functional programming languages. Hugs 98 provides an
+almost complete implementation of Haskell 98, including:
+
+* Lazy evaluation, higher order functions, and pattern matching.
+
+* A wide range of built-in types, from characters to bignums, and lists to
+  functions, with comprehensive facilities for defining new datatypes and type
+  synonyms.
+
+* An advanced polymorphic type system with type and constructor class
+  overloading.
+
+* All of the features of the Haskell 98 expression and pattern syntax including
+  lambda, case, conditional and let expressions, list comprehensions,
+  do-notation, operator sections, and wildcard, irrefutable and ‘as’ patterns.
+
+* An implementation of the Haskell 98 primitives for monadic I/O, with support
+  for simple interactive programs, access to text files, handle-based I/O, and
+  exception handling.
+
+* An almost complete implementation of the Haskell module system. Hugs 98 also
+  supports a number of advanced and experimental extensions including
+  multi-parameter classes, extensible records, rank-2 polymorphism,
+  existentials, scoped type variables, and restricted type synonyms.
 
 %description -l pl.UTF-8
-Hugs 98 jest interpreterem Haskella - leniwego, funkcyjnego języka
-programowania.
+Hugs 98 to interpreter języka Hakell 98, standardu de facto leniwych,
+funkcyjnych języków programowania. Hugs 98 dostarcza niemal pełnej
+implementacji Haskella 98, w szczególności:
+
+* Leniwej ewaluacji, funkcji wyższych rzędów i dopasowywania wzorców.
+
+* Szerokiego zbioru wbudowanych typów, od znaków do dużych liczb, od
+  list do funkcji, z konstrukcjami językowymi do definiowania nowych
+  typów i synonimów typów.
+
+* Zaawansowanego polimorficznego systemu typów, z przeciążaniem za
+  pomocą klas typów i klas konstruktorów typów.
+
+* Wszelkich elementów składni wyrażeń i wzorców Haskella 98,
+  w tym lambdy, case, wyrażeń warunkowych, let, składania list
+  (list comprehensions), notacji „do”, sekcji operatorów, wzorców
+  „_”, „~” i „@”.
+
+* Implementacji funkcji pierwotnych Haskella 98 dotyczących
+  monadycznego we/wy, ze wsparciem dla prostych programów
+  interakcyjnych, dostępem do plików tekstowych, we/wy opartym na
+  uchwytach i obsługą wyjątków.
+
+* Niemal pełnej implementacji systemu modułów Haskella. Hugs 98
+  wspiera także wiele zaawansowanych i eksperymentalnych rozszerzeń
+  jezyka: wieloparametrowe klasy, rozszerzalne rekordy, polimorfizm
+  rzędu 2, kwantyfikatory egzystencjalne, lokalne zmienne typowe
+  i synonimy typów o zakresie stosowania ograniczonym do danego kodu.
 
 %prep
-%setup -q
+%setup -q -n %{name}-plus-%{version_txt}
 %patch0 -p1
 
 %build
-cd src/unix
 cp -f /usr/share/automake/config.* .
+%{__autoconf}
 %configure \
-	--target= \
-	--with-readline \
-	--with-pthreads \
-	--with-preprocessor \
-	--enable-internal-prims \
-	--enable-ffi
-cd ..
+	--enable-ffi \
+	--with-pthreads
+
 %{__make} \
 	OPTFLAGS="%{rpmcflags}"
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_examplesdir}
+%{__make} DESTDIR=$RPM_BUILD_ROOT install_all_but_docs
+%{__make} -C docs DESTDIR=$RPM_BUILD_ROOT install_man
 
-cd src
-# hack to make it build with different final location
-HUGSDIR=..
-export HUGSDIR
-cp HsFFI.h ../include
-%{__make} install \
-	prefix=$RPM_BUILD_ROOT%{_prefix} \
-	libdir=$RPM_BUILD_ROOT%{_libdir} \
-	bindir=$RPM_BUILD_ROOT%{_bindir} \
-	mandir=$RPM_BUILD_ROOT%{_mandir}
-cd ..
+install -d $RPM_BUILD_ROOT%{_examplesdir}
+cp -a hugsdir/demos $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
-rm -rf $RPM_BUILD_ROOT%{_libdir}/hugs/{docs,Credits,License,Readme}
-mv $RPM_BUILD_ROOT%{_libdir}/hugs/demos $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+find $RPM_BUILD_ROOT%{_libdir}/hugs -name "*.so" | xargs chmod +x
+# For Requires
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc docs/*.html docs/{ffi,libraries}-notes.txt License Readme Credits
-%attr(755,root,root) %{_bindir}/hugs
-%attr(755,root,root) %{_bindir}/ffihugs
-%attr(755,root,root) %{_bindir}/runhugs
+%doc Credits Readme docs/{ffi,libraries}-notes.txt docs/*.html
+%doc docs/users_guide/users_guide
+%attr(755,root,root) %{_bindir}/*
 %{_libdir}/hugs
+%{_datadir}/hsc2hs-*
 %{_mandir}/man1/*
 %{_examplesdir}/%{name}-%{version}
 
@@ -81,6 +129,14 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.26  2007/02/22 22:27:07  qrczak
+- Updated to Sep2006, but we'll call it 200609
+- Expanded description
+- Updated BR, build scripts and files list
+- Fixed linking with tinfo
+- Anybody who knows Haskell can translate the "All of the features"
+  paragraph into Polish better?
+
 Revision 1.25  2007/02/13 08:06:35  glen
 - tabs in preamble
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SPECS/hugs98.spec?r1=1.25&r2=1.26&f=u



More information about the pld-cvs-commit mailing list