[packages/ocaml-facile] - added ocaml_opt bcond
baggins
baggins at pld-linux.org
Sat Jul 1 19:38:41 CEST 2017
commit 06a91b8b8a2255aa332c836fa25e540da935e121
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Sat Jul 1 19:38:24 2017 +0200
- added ocaml_opt bcond
ocaml-facile.spec | 34 +++++++++++++++++++++++++++++++---
opt.patch | 10 ++++++++++
2 files changed, 41 insertions(+), 3 deletions(-)
---
diff --git a/ocaml-facile.spec b/ocaml-facile.spec
index a70335e..f6876b0 100644
--- a/ocaml-facile.spec
+++ b/ocaml-facile.spec
@@ -1,3 +1,12 @@
+#
+# Conditional build:
+%bcond_without ocaml_opt # skip building native optimized binaries (bytecode is always built)
+
+# not yet available on x32 (ocaml 4.02.1), update when upstream will support it
+%ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9
+%undefine with_ocaml_opt
+%endif
+
Summary: Functional Constraint Library implemented in Objective Caml
Name: ocaml-facile
Version: 1.1.3
@@ -6,11 +15,19 @@ License: LGPL
Group: Libraries
Source0: http://opti.recherche.enac.fr/facile/distrib/facile-%{version}.tar.gz
# Source0-md5: 172c4fbea636a8fa575b988390639d8d
+Patch0: opt.patch
URL: http://www.recherche.enac.fr/opti/facile/
BuildRequires: ocaml >= 3.02
%requires_eq ocaml-runtime
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define debug_package %{nil}
+%if %{without ocaml_opt}
+%define no_install_post_strip 1
+# no opt means no native binary, stripping bytecode breaks such programs
+%define _enable_debug_packages 0
+%endif
+
%description
FaCiLe is a constraint programming library on integer and integer set
finite domains written in OCaml. It offers all usual facilities to
@@ -32,17 +49,23 @@ and foreword of the online documentation
%prep
%setup -q -n facile-%{version}
+%patch0 -p1
%build
# use ./configure because of 'Unknown option "LDFLAGS=-Wl,--as-needed -Wl,-z,relro -Wl,-z,-combreloc "
./configure
-%{__make}
+%{__make} -C src all %{?with_ocaml_opt:opt} \
+ CC="%{__cc} %{rpmcflags} -fPIC"
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/facile
-install src/facile.cmi src/facile.cma src/facile.cmxa src/facile.a $RPM_BUILD_ROOT%{_libdir}/ocaml/facile
+
+install src/facile.cmi src/facile.cma $RPM_BUILD_ROOT%{_libdir}/ocaml/facile
+%if %{with ocaml_opt}
+install src/facile.cmxa src/facile.a $RPM_BUILD_ROOT%{_libdir}/ocaml/facile
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
@@ -51,4 +74,9 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%doc LICENSE README
%dir %{_libdir}/ocaml/facile
-%{_libdir}/ocaml/facile/*
+%{_libdir}/ocaml/facile/*.cma
+%{_libdir}/ocaml/facile/*.cmi
+%if %{with ocaml_opt}
+%{_libdir}/ocaml/facile/*.a
+%{_libdir}/ocaml/facile/*.cmxa
+%endif
diff --git a/opt.patch b/opt.patch
new file mode 100644
index 0000000..2cc7a98
--- /dev/null
+++ b/opt.patch
@@ -0,0 +1,10 @@
+--- facile-1.1.3/src/Makefile~ 2016-12-15 17:10:07.000000000 +0100
++++ facile-1.1.3/src/Makefile 2017-07-01 19:37:40.399941508 +0200
+@@ -17,6 +17,7 @@
+
+ # Default target: libraries and toplevel
+ all : facile.cma facile.cmxa facile
++opt : facile.cmxa
+
+ # Libraries
+ facile.cma : $(CSTRCMO)
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/ocaml-facile.git/commitdiff/06a91b8b8a2255aa332c836fa25e540da935e121
More information about the pld-cvs-commit
mailing list