#
# Conditional build:
%bcond_without emacs # emacs subpackage
-%bcond_without x # X11 support
+%bcond_without x # X11 support
%bcond_without ocaml_opt # native, optimized compiler
# ppc64, sparc64 and x32 variants not supported currently
# alpha, hppa, ia64, mips removed since 4.00
-%ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9
+%ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9
%undefine with_ocaml_opt
%endif
-%define sver 4.02
+%define sver 4.04
Summary: The Objective Caml compiler and programming environment
Summary(pl.UTF-8): Kompilator OCamla (Objective Caml) oraz środowisko programistyczne
Name: ocaml
-Version: 4.02.1
-Release: 3
+Version: 4.04.1
+Release: 10
Epoch: 1
License: QPL v1.0 with linking exception (compiler), LGPL v2 with linking exception (library)
Group: Development/Languages
Source0: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{version}.tar.xz
-# Source0-md5: d74ac1b1179af362491e14349dd1958b
+# Source0-md5: 092139f2a256d1f3d2571f64ab475aa9
Source1: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman-html.tar.gz
-# Source1-md5: 915a1949f7af7186e16354e9682dc1e5
+# Source1-md5: 5c58a4fce99b20e02c3208ad956bcb9d
Source2: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman.ps.gz
-# Source2-md5: e85016fa23b6525d1d10da06010fd90a
+# Source2-md5: a408f706789b9b84b0eb68da3db05f15
Source3: http://caml.inria.fr/distrib/%{name}-%{sver}/%{name}-%{sver}-refman.info.tar.gz
-# Source3-md5: 265b7db123e925e8b7b70ca2266b4206
+# Source3-md5: 8c9df1da0e36a69817f43115fa87360c
Source4: https://github.com/mmottl/pure-fun/archive/v1.0.13/pure-fun-1.0.13.tar.gz
# Source4-md5: 0a6ff033df78d0880fe4883ace025ebe
# note: dead URL
Summary(pl.UTF-8): Skompilowane części kompilatora OCamla
Group: Development/Languages
Requires: %{name} = %{epoch}:%{version}-%{release}
-Obsoletes: ocaml-devel
Provides: ocaml-devel
+Obsoletes: ocaml-devel
%description compiler-objects
This package contains *.cmi and *.cmo files being parts of OCaml
%patch2 -p1
%patch3 -p1
-%build
+%build
cp -f /usr/share/automake/config.sub config/gnu
./configure \
-host %{_target_platform} \
- -cc "%{__cc}" \
+ -cc "%{__cc}" \
-bindir %{_bindir} \
-libdir %{_libdir}/%{name} \
-mandir %{_mandir}/man1 \
%{__make} -j1 world bootstrap %{?with_ocaml_opt:opt.opt} \
CFLAGS="%{rpmcflags} -Wall -DUSE_INTERP_RESULT"
-%{__make} -C tools objinfo \
- CFLAGS="%{rpmcflags} -Wall -DUSE_INTERP_RESULT" -j1
-
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_includedir},%{_infodir},%{_examplesdir}/%{name}-%{version}}
EMACS="emacs"
%endif
-# symlink .opt versions of compilers (if present)
-for f in ocamlc ocamlopt ocamldoc ocamllex; do
- if test -f $RPM_BUILD_ROOT%{_bindir}/$f.opt; then
- mv -f $RPM_BUILD_ROOT%{_bindir}/$f \
- $RPM_BUILD_ROOT%{_bindir}/$f.byte
- ln -sf %{_bindir}/$f.opt $RPM_BUILD_ROOT%{_bindir}/$f
+# symlink .opt version of executable (if present)
+for f in ocamldoc ; do
+ if test -f $RPM_BUILD_ROOT%{_bindir}/${f}.opt; then
+ [ ! -f $RPM_BUILD_ROOT%{_bindir}/${f}.byte ] || exit 1 # drop rename if .opt/.byte already handled upstream
+ %{__mv} $RPM_BUILD_ROOT%{_bindir}/$f \
+ $RPM_BUILD_ROOT%{_bindir}/${f}.byte
+ ln -sf ${f}.opt $RPM_BUILD_ROOT%{_bindir}/$f
fi
done
# move includes to the proper place
-mv -f $RPM_BUILD_ROOT%{_libdir}/%{name}/caml $RPM_BUILD_ROOT%{_includedir}/caml
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/%{name}/caml $RPM_BUILD_ROOT%{_includedir}/caml
# but leave compatibility symlink
ln -s ../../include/caml $RPM_BUILD_ROOT%{_libdir}/%{name}/caml
%{?with_ocaml_opt:cp $f/*.{cmx,o} $RPM_BUILD_ROOT%{_libdir}/%{name}/compiler/$f}
done
-# this isn't installed by default, but is useful
-install tools/objinfo $RPM_BUILD_ROOT%{_bindir}/ocamlobjinfo
cp -r examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
ln -sf %{_libdir}/%{name}/{scrape,add}labels $RPM_BUILD_ROOT%{_bindir}
%files
%defattr(644,root,root,755)
-%doc Changes LICENSE README
+%doc Changes LICENSE README.adoc
%attr(755,root,root) %{_bindir}/addlabels
%attr(755,root,root) %{_bindir}/ocaml
-%attr(755,root,root) %{_bindir}/ocamlbuild*
%attr(755,root,root) %{_bindir}/ocamlc
-%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlc.*}
+%attr(755,root,root) %{_bindir}/ocamlc.byte
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlc.opt}
%attr(755,root,root) %{_bindir}/ocamlcp
+%attr(755,root,root) %{_bindir}/ocamlcp.byte
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlcp.opt}
%attr(755,root,root) %{_bindir}/ocamldebug
-%attr(755,root,root) %{_bindir}/ocamldep*
-%attr(755,root,root) %{_bindir}/ocamldoc*
-%attr(755,root,root) %{_bindir}/ocamllex*
+%attr(755,root,root) %{_bindir}/ocamldep
+%attr(755,root,root) %{_bindir}/ocamldep.byte
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamldep.opt}
+%attr(755,root,root) %{_bindir}/ocamldoc
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamldoc.byte}
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamldoc.opt}
+%attr(755,root,root) %{_bindir}/ocamllex
+%attr(755,root,root) %{_bindir}/ocamllex.byte
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamllex.opt}
%attr(755,root,root) %{_bindir}/ocamlmklib
+%attr(755,root,root) %{_bindir}/ocamlmklib.byte
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlmklib.opt}
%attr(755,root,root) %{_bindir}/ocamlmktop
+%attr(755,root,root) %{_bindir}/ocamlmktop.byte
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlmktop.opt}
%attr(755,root,root) %{_bindir}/ocamlobjinfo
+%attr(755,root,root) %{_bindir}/ocamlobjinfo.byte
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlobjinfo.opt}
%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlopt}
-%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlopt.*}
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlopt.byte}
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlopt.opt}
%attr(755,root,root) %{_bindir}/ocamloptp
+%attr(755,root,root) %{_bindir}/ocamloptp.byte
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamloptp.opt}
%attr(755,root,root) %{_bindir}/ocamlprof
+%attr(755,root,root) %{_bindir}/ocamlprof.byte
+%{?with_ocaml_opt:%attr(755,root,root) %{_bindir}/ocamlprof.opt}
%attr(755,root,root) %{_bindir}/ocamlyacc
%attr(755,root,root) %{_bindir}/scrapelabels
%{_includedir}/caml
%{_libdir}/%{name}/ld.conf
%{_libdir}/%{name}/camlheader
%{_libdir}/%{name}/camlheader_ur
-%{_libdir}/%{name}/ocamlbuild
%dir %{_libdir}/%{name}/ocamldoc
%{_libdir}/%{name}/ocamldoc/*.hva
%attr(755,root,root) %{_libdir}/%{name}/expunge
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/ocamlrun
%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/VERSION
%dir %{_libdir}/%{name}/site-lib
%dir %{_libdir}/%{name}/stublibs
%attr(755,root,root) %{_libdir}/%{name}/stublibs/dll*.so
%exclude %{_libdir}/%{name}/stublibs/dllgraphics.so
+%{?with_ocaml_opt:%attr(755,root,root) %{_libdir}/%{name}/libasmrun_shared.so}
%attr(755,root,root) %{_libdir}/%{name}/libcamlrun_shared.so
%{_mandir}/man1/ocamlrun.1*