]> git.pld-linux.org Git - SPECS.git/blob - ocaml-facile.spec
SPECS updated Tue 30 Apr 15:06:09 CEST 2024
[SPECS.git] / ocaml-facile.spec
1 #
2 # Conditional build:
3 %bcond_without  ocaml_opt       # native optimized binaries (bytecode is always built)
4
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
8 %endif
9
10 Summary:        Functional Constraint Library implemented in Objective Caml
11 Summary(pl.UTF-8):      Biblioteka ograniczeń funkcyjnych dla OCamla
12 Name:           ocaml-facile
13 Version:        1.1.3
14 Release:        4
15 License:        LGPL v2.1+
16 Group:          Libraries
17 Source0:        http://opti.recherche.enac.fr/facile/distrib/facile-%{version}.tar.gz
18 # Source0-md5:  172c4fbea636a8fa575b988390639d8d
19 Patch0:         opt.patch
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)
24
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
30 %endif
31
32 %description
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
48 language.
49
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
66 języku.
67
68 %package devel
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}
73 %requires_eq    ocaml
74
75 %description devel
76 This package contains files needed to develop OCaml programs using
77 FaCiLe library.
78
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.
82
83 %prep
84 %setup -q -n facile-%{version}
85 %patch0 -p1
86
87 %build
88 # not autoconf configure
89 ./configure
90
91 %{__make} -C src all %{?with_ocaml_opt:opt} \
92         CC="%{__cc} %{rpmcflags} -fPIC"
93
94 %install
95 rm -rf $RPM_BUILD_ROOT
96 install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/facile
97
98 cp -p src/facile.cmi src/facile.cma $RPM_BUILD_ROOT%{_libdir}/ocaml/facile
99 %if %{with ocaml_opt}
100 cp -p src/facile.cmxa src/facile.a $RPM_BUILD_ROOT%{_libdir}/ocaml/facile
101 %endif
102
103 %clean
104 rm -rf $RPM_BUILD_ROOT
105
106 %files
107 %defattr(644,root,root,755)
108 %doc LICENSE README
109 %dir %{_libdir}/ocaml/facile
110 %{_libdir}/ocaml/facile/*.cma
111
112 %files devel
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
118 %endif
This page took 0.32999 seconds and 3 git commands to generate.