3 %bcond_without ocaml_opt # native optimized binaries (bytecode is always built)
5 # not yet available on x32 (ocaml 4.02.1), update when upstream will support it
6 %ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9
7 %undefine with_ocaml_opt
10 Summary: Functional Constraint Library implemented in Objective Caml
11 Summary(pl.UTF-8): Biblioteka ograniczeń funkcyjnych dla OCamla
17 Source0: http://opti.recherche.enac.fr/facile/distrib/facile-%{version}.tar.gz
18 # Source0-md5: 172c4fbea636a8fa575b988390639d8d
20 URL: http://www.recherche.enac.fr/opti/facile/
21 BuildRequires: ocaml >= 3.02
22 %requires_eq ocaml-runtime
23 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
25 %define debug_package %{nil}
26 %if %{without ocaml_opt}
27 %define no_install_post_strip 1
28 # no opt means no native binary, stripping bytecode breaks such programs
29 %define _enable_debug_packages 0
33 FaCiLe is a constraint programming library on integer and integer set
34 finite domains written in OCaml. It offers all usual facilities to
35 create and manipulate finite domain variables, arithmetic expressions
36 and constraints (possibly non-linear), built-in global constraints
37 (difference, cardinality, sorting etc.) and search and optimization
38 goals. FaCiLe allows as well to build easily user-defined constraints
39 and goals (including recursive ones), making pervasive use of OCaml
40 higher-order functionals to provide a simple and flexible interface
41 for the user. As FaCiLe is an OCaml library and not "yet another
42 language", the user benefits from type inference and strong typing
43 discipline, high level of abstraction, modules and objects system, as
44 well as native code compilation efficiency, garbage collection and
45 replay debugger, all features of OCaml (among many others) that allow
46 to prototype and experiment quickly: modeling, data processing and
47 interface are implemented with the same powerful and efficient
50 %description -l pl.UTF-8
51 FaCiLe to biblioteka programowania ograniczeń na liczbach całkowitych
52 i skończonych zbiorach liczb całkowitych. Funkcjonalność obejmuje
53 tworzenie i operowanie na zmiennych skończonych, wyrażenia i stałe
54 arytmetyczne (także nieliniowe), wbudowane ograniczenia (różnica,
55 liczność, sortowanie itp.) oraz szukanie i optymalizację celu. FaCiLe
56 pozwala także łatwo tworzyć zdefiniowane przez użytkownika
57 ograniczenia i cele (w tym rekurencyjne), wszędzie wykorzystując
58 ocamlowe funkcje wyższego rzędu, aby udostępnić użytkownikowi
59 prosty i elastyczny interfejs. Jako że FaCiLe jest biblioteką dla
60 OCamla, a nie innego języka, użytkownik korzysta z wywodzenia typów i
61 silnego typowania, wysokopoziomowej abstrakcji, systemu modułów i
62 obiektów, a także wydajności kompilowania do kodu natywnego,
63 odśmiecania i debuggera - wszystkich cehc OCamla, które pozwalają
64 szybko prototypować i eksperymentować: modelowanie, przetwarzanie
65 danych i interfejs są zaimplementowane w tym samym potężnym i wydajnym
69 Summary: Functional Constraint Library implemented in Objective Caml - development part
70 Summary(pl.UTF-8): Biblioteka ograniczeń funkcyjnych dla OCamla - część programistyczna
71 Group: Development/Libraries
72 Requires: %{name} = %{version}-%{release}
76 This package contains files needed to develop OCaml programs using
79 %description devel -l pl.UTF-8
80 Pakiet ten zawiera pliki niezbędne do tworzenia programów w OCamlu
81 używających biblioteki FaCiLe.
84 %setup -q -n facile-%{version}
88 # not autoconf configure
91 %{__make} -C src all %{?with_ocaml_opt:opt} \
92 CC="%{__cc} %{rpmcflags} -fPIC"
95 rm -rf $RPM_BUILD_ROOT
96 install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/facile
98 cp -p src/facile.cmi src/facile.cma $RPM_BUILD_ROOT%{_libdir}/ocaml/facile
100 cp -p src/facile.cmxa src/facile.a $RPM_BUILD_ROOT%{_libdir}/ocaml/facile
104 rm -rf $RPM_BUILD_ROOT
107 %defattr(644,root,root,755)
109 %dir %{_libdir}/ocaml/facile
110 %{_libdir}/ocaml/facile/*.cma
113 %defattr(644,root,root,755)
114 %{_libdir}/ocaml/facile/*.cmi
115 %if %{with ocaml_opt}
116 %{_libdir}/ocaml/facile/*.a
117 %{_libdir}/ocaml/facile/*.cmxa