From 940344f448bf3421f3a2d86326174fe046144da6 Mon Sep 17 00:00:00 2001 From: Michel Salim Date: Thu, 11 Nov 2010 00:21:13 +0100 Subject: Racket 5.0.2 --- funpl/racket.spec | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 funpl/racket.spec (limited to 'funpl/racket.spec') diff --git a/funpl/racket.spec b/funpl/racket.spec new file mode 100644 index 0000000..9f6a6d0 --- /dev/null +++ b/funpl/racket.spec @@ -0,0 +1,158 @@ +Name: racket +Version: 5.0.2 +Release: 1%{?dist} +Epoch: 1 +Summary: A Scheme-based programming language and environment + +Group: Development/Languages +# libscheme is MIT-licensed +License: LGPLv2 and MIT +URL: http://racket-lang.org/ +Source0: http://download.racket-lang.org/installers/%{version}/racket/racket-%{version}-src-unix.tgz +Source1: drracket.desktop +Source2: racket.xml +#Patch0: racket-5.0.2-multilib.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +# better to pull in libtool than having to wait until +# racket *compiles* its own then having to patch in the multilib paths +BuildRequires: libtool +BuildRequires: cairo-devel +BuildRequires: libGLU-devel +BuildRequires: libXaw-devel +BuildRequires: libXft-devel +BuildRequires: libjpeg-devel +BuildRequires: libpng-devel +BuildRequires: desktop-file-utils + +Provides: plt-scheme = %{epoch}:%{version}-%{release} +Obsoletes: plt-scheme < %{epoch}:%{version}-%{release} + +# Racket bundles some forked system libraries; listing them here so +# they could be located if security problems are identified +# +# see src/foreign, src/racket and src/racket/src +# +# note: gc-7.1 is only used for bootstrapping; racket's own gc2 is used +# in installed system +# +# http://github.com/atgreen/libffi +# commit id: 3f5b1375ab1e2b8e3d59 +Provides: bundled(libffi) = 3.0.10rc0 +# the bundled GMP is a mix of versions 3 and 4 +Provides: bundled(gmp) = 3.99 +Provides: bundled(lightning) = 1.2 +Provides: bundled(libunwind) = 0.99.0 + + +%description +Racket, previously PLT Scheme, is an extensible, Scheme-based language +with an interactive mode that encourages experimentation, allowing the +composition of larger systems from small building blocks. It features +native-code JIT compilation and optional static typing. + + +%prep +%setup -q +#patch0 -p1 -b .multilib + + +%build +cd src +%configure --enable-shared --enable-lt=%{_bindir}/libtool +make %{?_smp_mflags} + + +%install +rm -rf $RPM_BUILD_ROOT +cd src +# the collects files are compiled during the installation phase; +# relatively slow unless parallelized +make %{?_smp_mflags} install DESTDIR=$RPM_BUILD_ROOT + +pushd $RPM_BUILD_ROOT%{_libdir}/racket/collects +# remove unsuitable files +# plot/src: just use the compiled version? +# rm -rf plot/src +# mysterx: Windows-only, needs VC++ +# rm -rf tests/mysterx +popd + + +mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/racket-%{version} +for f in doc-license.txt \ + release-notes/COPYING.LIB \ + release-notes/COPYING-libscheme.txt; +do + ln -s %{_datadir}/racket/doc/$f \ + $RPM_BUILD_ROOT%{_datadir}/doc/racket-%{version} +done + +# Desktop entry +for d in $RPM_BUILD_ROOT%{_datadir}/pixmaps; +do + mkdir -p $d + ln -s %{_libdir}/racket/collects/icons/plt-logo-red-gradient.png \ + $d/plt-logo.png +done +desktop-file-install \ + --dir=$RPM_BUILD_ROOT%{_datadir}/applications \ + %{SOURCE1} + +# MIME info for .rkt extension +for d in $RPM_BUILD_ROOT%{_datadir}/mime/packages; +do + mkdir -p $d + cp -p %{SOURCE2} $d +done + +# remove .la files +rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.la + +# see IRC conversation with Sam Tobin-Hochstadt (samth) +# http://racket-lang.org/irc-logs/20101109.txt + +# Racket uses the path to the source file as the unique identifier for +# the compiled objects it generates. As such it will include the +# $DESTDIR on Unix-style installs, though as the path is used only as +# an identifier and not an actual location on disk, this is harmless +# and is present in upstream's official Fedora packaging too +# +export QA_SKIP_BUILD_ROOT=1 + + +%check +# currently this seems to stall +# src/racket/racket3m collects/tests/stepper/automatic-tests.rkt + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post +update-mime-database %{_datadir}/mime &> /dev/null || : + +%postun +update-mime-database %{_datadir}/mime &> /dev/null || : + + +%files +%defattr(-,root,root,-) +%doc %{_datadir}/doc/racket-%{version} +%{_bindir}/* +%{_includedir}/racket +%{_libdir}/libracket3m*.so +%{_libdir}/libgracket*.so +%{_libdir}/racket +%{_mandir}/man1/*.1* +%{_datadir}/applications/drracket.desktop +%{_datadir}/mime/packages/racket.xml +%{_datadir}/pixmaps/plt-logo.png +%doc %{_datadir}/racket/doc + + +%changelog +* Wed Nov 10 2010 Michel Salim - 1:5.0.2-1 +- Initial package + -- cgit