0db8a2b
%define mlton_bootstrap 0
5158d66
04e2c3e
Name:		mlton
9776081
Version:	20070826
0db8a2b
Release:	18%{?dist}
04e2c3e
Summary:	Optimizing compiler for Standard ML
04e2c3e
04e2c3e
Group:		Development/Languages
171aff6
License:	MIT
04e2c3e
URL:		http://mlton.org/
9776081
Source0:	http://mlton.org/pages/Download/attachments/%{name}-%{version}-1.src.tgz
d9d5964
0db8a2b
#Source1:	mlton-20070826-1.arm-linux.tgz
04e2c3e
9776081
Patch0:		mlton-20070826-debuginfo.patch
bf93422
Patch1:		mlton-20070826-no-execmem.patch
09098c5
Patch2:		mlton-20070826-arm.patch
04e2c3e
04e2c3e
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
04e2c3e
0d9ffd2
BuildRequires:	gmp-devel htmldoc tex(latex)
5158d66
%if ! %{mlton_bootstrap}
5158d66
BuildRequires:	mlton
5158d66
%endif
5158d66
04e2c3e
Requires:	gmp-devel gcc
04e2c3e
9bc5885
# need to bootstrap ppc64 still
9bc5885
ExcludeArch:	ppc64
9314f5d
04e2c3e
04e2c3e
# description taken from the Debian package by Stephen Weeks
04e2c3e
%description
04e2c3e
MLton is a whole-program optimizing compiler for Standard ML.  MLton
04e2c3e
generates standalone executables with excellent runtime performance,
04e2c3e
is SML 97 compliant, and has a complete basis library.	MLton has
04e2c3e
source-level profiling, a fast C FFI, an interface to the GNU
04e2c3e
multiprecision library, and lots of useful libraries.
04e2c3e
04e2c3e
04e2c3e
%prep
04e2c3e
%setup -q
04e2c3e
bf8016d
# disable strip so debuginfo packages work
b35e7b0
%patch0 -p1 -b .debuginfo
04e2c3e
bf93422
# no execmem
b35e7b0
%patch1 -p1 -b .no-execmem
bf93422
09098c5
# ARM
09098c5
%patch2 -p1 -b .arm
09098c5
5158d66
%if %{mlton_bootstrap}
213366d
%setup -T -D -q -a 1
d9d5964
sed -i 's/\(^lib=\).*$/\1\$MLTON_BOOTSTRAP_DIR\/lib\/mlton/g'  \
d9d5964
	usr/bin/mlton
5158d66
%endif
04e2c3e
9776081
# Filter unwanted Requires:
9776081
cat << \EOF > %{name}-req
9776081
#!/bin/sh
9776081
%{__perl_requires} $* |\
9776081
  sed -e '/perl(mltex.thm)/d'
9776081
EOF
9776081
9776081
%define __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req
9776081
chmod +x %{__perl_requires}
9776081
04e2c3e
04e2c3e
%build
5158d66
%if %{mlton_bootstrap}
d9d5964
export MLTON_BOOTSTRAP_DIR=$(pwd)/usr
d9d5964
export PATH="${PATH}":$MLTON_BOOTSTRAP_DIR/bin
5158d66
%endif
04e2c3e
bf8016d
make OPTFLAGS="$RPM_OPT_FLAGS"
04e2c3e
04e2c3e
04e2c3e
%install
04e2c3e
rm -rf $RPM_BUILD_ROOT
04e2c3e
make install DESTDIR=$RPM_BUILD_ROOT MAN_PREFIX_EXTRA=/share \
9776081
	TDOC=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} \
9776081
	ULIB=%{_lib}/mlton
04e2c3e
04e2c3e
# remove unecessary regression test
04e2c3e
rm -rf $RPM_BUILD_ROOT%{_libdir}/mlton/sml/ckit-lib/regression
04e2c3e
04e2c3e
# move some documentation around
04e2c3e
mv $RPM_BUILD_ROOT%{_libdir}/mlton/sml/ckit-lib/doc \
04e2c3e
	$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/ckit-lib
04e2c3e
mv $RPM_BUILD_ROOT%{_libdir}/mlton/sml/smlnj-lib/Doc \
04e2c3e
	$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/smlnj-lib
04e2c3e
04e2c3e
04e2c3e
%clean
04e2c3e
rm -rf $RPM_BUILD_ROOT
04e2c3e
04e2c3e
04e2c3e
%files
04e2c3e
%defattr(-,root,root,-)
04e2c3e
%doc %{_docdir}/%{name}-%{version}
04e2c3e
%{_bindir}/ml*
04e2c3e
%{_libdir}/mlton
04e2c3e
%{_mandir}/man1/*
04e2c3e
bf8016d
04e2c3e
%changelog
2377bad
* Sun May 31 2009 Adam Goode <adam@spicenitz.org> - 20070826-17
2377bad
- Use non-trunk version of MLton to bootstrap ARM
2377bad
9f48f9c
* Tue May 26 2009 Adam Goode <adam@spicenitz.org> - 20070826-16
9f48f9c
- Add missing ARM patch
9f48f9c
09098c5
* Tue May 26 2009 Adam Goode <adam@spicenitz.org> - 20070826-15
09098c5
- Bootstrap ARM
09098c5
82b1b5e
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20070826-14
82b1b5e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
82b1b5e
b35e7b0
* Sat Aug 30 2008 Adam Goode <adam@spicenitz.org> - 20070826-13
b35e7b0
- RPM 4.6 fix for patch tag
b35e7b0
- Update LaTeX build requires
b35e7b0
bf93422
* Sat Feb  9 2008 Adam Goode <adam@spicenitz.org> - 20070826-12
bf93422
- Introduce patch to not call mprotect with PROT_EXEC
bf93422
de28f0a
* Fri Jan 18 2008 Adam Goode <adam@spicenitz.org> - 20070826-11
de28f0a
- Rebuild for new GCC
de28f0a
91978ad
* Thu Sep 27 2007 Adam Goode <adam@spicenitz.org> - 20070826-10
91978ad
- Disable bootstrap
91978ad
5167fe7
* Thu Sep 27 2007 Adam Goode <adam@spicenitz.org> - 20070826-9
5167fe7
- Re-bootstrap ppc
5167fe7
213366d
* Wed Sep 26 2007 Adam Goode <adam@spicenitz.org> - 20070826-8
213366d
- Really fix SRPM conditionals
213366d
e314d38
* Wed Sep 26 2007 Adam Goode <adam@spicenitz.org> - 20070826-7
f40b474
- Work around strange SRPM problem in conditionals
e314d38
- Fix changelog (forgot release 5?)
f40b474
e314d38
* Wed Sep 26 2007 Adam Goode <adam@spicenitz.org> - 20070826-6
9bc5885
- Build on ppc now that #247407 is fixed
9bc5885
1948ac8
* Thu Sep 13 2007 Adam Goode <adam@spicenitz.org> - 20070826-4
1948ac8
- Do not condition bootstrap source tag
1948ac8
d9d5964
* Thu Sep 13 2007 Adam Goode <adam@spicenitz.org> - 20070826-3
d9d5964
- Bootstrap x86_64
d9d5964
9314f5d
* Mon Aug 27 2007 Adam Goode <adam@spicenitz.org> - 20070826-2
9314f5d
- Exclude ppc for now (GCC internal compiler error!)
9314f5d
9776081
* Sun Aug 26 2007 Adam Goode <adam@spicenitz.org> - 20070826-1
9776081
- Update to new release
9776081
8d3c94b
* Wed Aug 22 2007 Adam Goode <adam@spicenitz.org> - 20061107-4
8d3c94b
- Exclude ppc64 for now
8d3c94b
a8f9b6e
* Wed Aug 22 2007 Adam Goode <adam@spicenitz.org> - 20061107-3
a8f9b6e
- Update license tag
a8f9b6e
- Rebuild for buildid
a8f9b6e
bf8016d
* Fri Nov 24 2006 Adam Goode <adam@spicenitz.org> - 20061107-2
bf8016d
- Use RPM_OPT_FLAGS
bf8016d
- Correctly instantiate version
bf8016d
- Adjust patches
bf8016d
4ac738d
* Sun Nov 12 2006 Adam Goode <adam@spicenitz.org> - 20061107-1
4ac738d
- New release, taken from svn://mlton.org/mlton/tags/on-20061107
4ac738d
53ac43a
* Thu Aug 31 2006 Adam Goode <adam@spicenitz.org> - 20051202-8.1
53ac43a
- Mass rebuild
53ac43a
5158d66
* Sun Jul  9 2006 Adam Goode <adam@spicenitz.org> - 20051202-8
5158d66
- Conditionalize bootstrapping and disable it
5158d66
04e2c3e
* Sat Jul  1 2006 Adam Goode <adam@spicenitz.org> - 20051202-7
04e2c3e
- Fix macro in changelog
04e2c3e
- Remove mixed use of tabs and spaces
04e2c3e
04e2c3e
* Sun Jun 25 2006 Adam Goode <adam@spicenitz.org> - 20051202-6
04e2c3e
- Build runtime with -g, but not -gstabs+
04e2c3e
- Re-enable debuginfo packages
04e2c3e
04e2c3e
* Wed Jun 21 2006 Adam Goode <adam@spicenitz.org> - 20051202-5
04e2c3e
- Disable empty debuginfo packages
04e2c3e
04e2c3e
* Wed Jun 21 2006 Adam Goode <adam@spicenitz.org> - 20051202-4
04e2c3e
- Be more specific about license
04e2c3e
- Add "which" to BuildRequires until everyone is running new mock
04e2c3e
04e2c3e
* Tue Jun 20 2006 Adam Goode <adam@spicenitz.org> - 20051202-3
04e2c3e
- Create PDF documentation for mlyacc and mllex (instead of .ps.gz)
04e2c3e
- Move ckit-lib/doc and smlnj-lib/Doc to %%{_docdir}
04e2c3e
- Remove regression files from ckit
04e2c3e
04e2c3e
* Thu Jun  8 2006 Adam Goode <adam@spicenitz.org> - 20051202-2
04e2c3e
- Change to use bootstrap
04e2c3e
04e2c3e
* Wed Jun  7 2006 Adam Goode <adam@spicenitz.org> - 20051202-1
04e2c3e
- Initial release for FC5