Rebuild for OCaml 4.01.0.

- Enable debuginfo.
- Modernize the spec file.
This commit is contained in:
Richard W.M. Jones 2013-09-14 14:28:34 +01:00
parent 8a457d9583
commit 54e62c67cb
2 changed files with 55 additions and 9 deletions

View File

@ -0,0 +1,19 @@
--- camlidl-1.05/compiler/Makefile.old 2013-09-14 14:32:50.438355603 +0100
+++ camlidl-1.05/compiler/Makefile 2013-09-14 14:33:08.542375602 +0100
@@ -23,13 +23,14 @@
linenum.cmo parse_aux.cmo parser_midl.cmo lexer_midl.cmo parse.cmo \
fixlabels.cmo normalize.cmo \
main.cmo
+XOBJS=$(OBJS:.cmo=.cmx)
PROG=camlidl$(EXE)
all: $(PROG)
-$(PROG): $(OBJS)
- $(OCAMLC) -o $(PROG) $(OBJS)
+$(PROG): $(XOBJS)
+ $(OCAMLOPT) -o $(PROG) $(XOBJS)
clean::
rm -f $(PROG)

View File

@ -1,25 +1,23 @@
%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
%define debug_package %{nil}
%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
Name: ocaml-camlidl
Version: 1.05
Release: 19%{?dist}
Release: 20%{?dist}
Summary: Stub code generator and COM binding for Objective Caml
Group: Development/Libraries
License: QPL and LGPLv2 with exceptions
URL: http://caml.inria.fr/pub/old_caml_site/camlidl/
Source0: http://caml.inria.fr/pub/old_caml_site/distrib/bazar-ocaml/camlidl-%{version}.tar.gz
Source1: http://caml.inria.fr/pub/old_caml_site/distrib/bazar-ocaml/camlidl-%{version}.doc.pdf
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Build the compiler into a native code program using ocamlopt.
Patch1: camlidl-1.05-use-ocamlopt-for-compiler.patch
ExcludeArch: sparc64 s390 s390x
BuildRequires: ocaml
BuildRequires: ocaml-ocamldoc
%define _use_internal_dependency_generator 0
%define __find_requires /usr/lib/rpm/ocaml-find-requires.sh
%define __find_provides /usr/lib/rpm/ocaml-find-provides.sh
%description
CamlIDL is a stub code generator and COM binding for Objective Caml.
@ -50,10 +48,34 @@ developing applications that use %{name}.
%prep
%setup -q -n camlidl-%{version}
%patch1 -p1
sed -e 's|^OCAMLLIB=.*|OCAMLLIB=%{_libdir}/ocaml|' \
-e 's|^BINDIR=.*|BINDIR=%{_bindir}|' \
%if %opt
-e 's|^OCAMLC=.*|OCAMLC=ocamlc.opt -g|' \
-e 's|^OCAMLOPT=.*|OCAMLOPT=ocamlopt.opt -g|' \
%endif
< config/Makefile.unix \
> config/Makefile
%if %opt
# compiler/ contains a module called 'Array' which conflicts with the
# OCaml stdlib module (although only when using ocamlopt for some
# reason).
mv compiler/array.ml compiler/idlarray.ml
mv compiler/array.mli compiler/idlarray.mli
for f in compiler/*.ml; do
mv $f $f.orig
sed -e 's|Array|Idlarray|g' < $f.orig > $f
done
mv compiler/Makefile compiler/Makefile.orig
sed -e 's|array.cmo|idlarray.cmo|g' < compiler/Makefile.orig > compiler/Makefile
mv compiler/.depend compiler/.depend.orig
sed -e 's|array|idlarray|g' < compiler/.depend.orig > compiler/.depend
%endif
cp %{SOURCE1} .
@ -100,6 +122,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Sat Sep 14 2013 Richard W.M. Jones <rjones@redhat.com> - 1.05-20
- Rebuild for OCaml 4.01.0.
- Enable debuginfo.
- Modernize the spec file.
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.05-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild