%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) %if ! %opt %global debug_package %{nil} %endif Name: ocaml-camlidl Version: 1.05 Release: 37%{?dist} Summary: Stub code generator and COM binding for Objective Caml 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 # META file from Debian (RHBZ#1026991). Source2: META.camlidl.in # Build the compiler into a native code program using ocamlopt. Patch1: camlidl-1.05-use-ocamlopt-for-compiler.patch # Add 'make byte' and 'make install-byte' targets. Patch2: camlidl-1.05-bytecode.patch BuildRequires: ocaml BuildRequires: ocaml-ocamldoc BuildRequires: perl %description CamlIDL is a stub code generator and COM binding for Objective Caml. CamlIDL comprises two parts: * A stub code generator that generates the C stub code required for the Caml/C interface, based on an MIDL specification. (MIDL stands for Microsoft's Interface Description Language; it looks like C header files with some extra annotations, plus a notion of object interfaces that look like C++ classes without inheritance.) * A (currently small) library of functions and tools to import COM components in Caml applications, and export Caml code as COM components. %package devel Summary: Development files for %{name} Requires: %{name} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep %setup -q -n camlidl-%{version} %patch1 -p1 %patch2 -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 perl -pi.bak -e 's/array/idlarray/g' \ compiler/Makefile compiler/.depend perl -pi.bak -e 's/Array(?!\d)/Idlarray/g' \ compiler/*.ml %endif cp %{SOURCE1} . %build %if %opt make all %else make byte %endif %install mkdir -p $RPM_BUILD_ROOT/%{_libdir}/ocaml mkdir -p $RPM_BUILD_ROOT/%{_libdir}/ocaml/caml mkdir -p $RPM_BUILD_ROOT/%{_libdir}/ocaml/stublibs mkdir -p $RPM_BUILD_ROOT/%{_bindir} # Install META file (RHBZ#1026991). sed 's/@VERSION@/%{version}/' < %{SOURCE2} > $RPM_BUILD_ROOT/%{_libdir}/ocaml/META.camlidl make OCAMLLIB=$RPM_BUILD_ROOT/%{_libdir}/ocaml \ BINDIR=$RPM_BUILD_ROOT/%{_bindir} \ %if %opt install %else install-byte %endif %files %doc LICENSE %{_libdir}/ocaml/*.* %if %opt %exclude %{_libdir}/ocaml/*.a %exclude %{_libdir}/ocaml/*.cmxa %endif %{_bindir}/camlidl %files devel %doc LICENSE README Changes camlidl-%{version}.doc.pdf tests %if %opt %{_libdir}/ocaml/*.a %{_libdir}/ocaml/*.cmxa %endif %{_libdir}/ocaml/caml/*.h %changelog * Sat Feb 11 2017 Fedora Release Engineering - 1.05-37 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Sat Nov 05 2016 Richard W.M. Jones - 1.05-36 - Rebuild for OCaml 4.04.0. * Tue Sep 27 2016 Dan HorĂ¡k - 1.05-35 - disable debuginfo subpackage on interpreted builds * Thu Feb 04 2016 Fedora Release Engineering - 1.05-34 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Jul 28 2015 Richard W.M. Jones - 1.05-33 - OCaml 4.02.3 rebuild. * Mon Jul 20 2015 Richard W.M. Jones - 1.05-32 - Enable bytecode compilation. * Wed Jun 24 2015 Richard W.M. Jones - 1.05-31 - ocaml-4.02.2 final rebuild. * Wed Jun 17 2015 Richard W.M. Jones - 1.05-30 - ocaml-4.02.2 rebuild. * Mon Feb 16 2015 Richard W.M. Jones - 1.05-29 - ocaml-4.02.1 rebuild. * Sat Aug 30 2014 Richard W.M. Jones - 1.05-28 - ocaml-4.02.0 final rebuild. * Fri Aug 22 2014 Richard W.M. Jones - 1.05-27 - ocaml-4.02.0+rc1 rebuild. * Sun Aug 17 2014 Fedora Release Engineering - 1.05-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Fri Aug 01 2014 Richard W.M. Jones - 1.05-25 - ocaml-4.02.0-0.8.git10e45753.fc22 rebuild. * Mon Jul 14 2014 Orion Poplawski - 1.05-24 - Rebuild for OCaml 4.02. * Sat Jun 07 2014 Fedora Release Engineering - 1.05-23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Tue Nov 5 2013 Richard W.M. Jones - 1.05-22 - Add META file (RHBZ#1026991). * Sat Sep 14 2013 Richard W.M. Jones - 1.05-21 - Rebuild for OCaml 4.01.0. - Enable debuginfo. - Modernize the spec file. * Sat Aug 03 2013 Fedora Release Engineering - 1.05-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Thu Feb 14 2013 Fedora Release Engineering - 1.05-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Wed Oct 17 2012 Orion Poplawski - 1.05-17 - Rebuild for OCaml 4.00.1. * Fri Jul 20 2012 Fedora Release Engineering - 1.05-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Fri Jun 8 2012 Orion Poplawski - 1.05-15 - Rebuild for OCaml 4.00.0. * Fri Jan 6 2012 Richard W.M. Jones - 1.05-14 - Rebuild for OCaml 3.12.1. * Tue Feb 08 2011 Fedora Release Engineering - 1.05-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Wed Jan 5 2011 Orion Poplawski - 1.05-12 - Rebuild for OCaml 3.12 * Wed Dec 30 2009 Richard W.M. Jones - 1.05-11 - Rebuild for OCaml 3.11.2. * Sat Jul 25 2009 Fedora Release Engineering - 1.05-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Sat May 23 2009 Richard W.M. Jones - 1.05-9 - Rebuild for OCaml 3.11.1 * Thu Apr 16 2009 S390x secondary arch maintainer - ExcludeArch sparc64, s390, s390x as we don't have OCaml on those archs (added sparc64 per request from the sparc maintainer) * Wed Feb 25 2009 Fedora Release Engineering - 1.05-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Dec 4 2008 Richard W.M. Jones - 1.05-7 - Rebuild for OCaml 3.11.0 release. * Wed Nov 19 2008 Richard W.M. Jones - 1.05-6 - Rebuild for OCaml 3.11.0 * Wed Apr 23 2008 Richard W.M. Jones - 1.05-5 - Rebuild for OCaml 3.10.2. * Wed Mar 5 2008 Richard W.M. Jones - 1.05-4 - Added tests subdirectory to the documentation. * Wed Mar 5 2008 Richard W.M. Jones - 1.05-3 - Removed -doc subpackage and placed documentation in -devel. * Tue Mar 4 2008 Richard W.M. Jones - 1.05-2 - Rebuild for ppc64. * Wed Feb 20 2008 Richard W.M. Jones - 1.05-1 - Initial RPM release.