]>
Commit | Line | Data |
---|---|---|
6d4859a1 ER |
1 | # |
2 | # Conditional build: | |
96798cec | 3 | %bcond_without ocaml_opt # native optimized binaries (bytecode is always built) |
c5770cec JR |
4 | |
5 | # not yet available on x32 (ocaml 4.02.1), remove when upstream will support it | |
96798cec | 6 | %ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9 |
c5770cec JR |
7 | %undefine with_ocaml_opt |
8 | %endif | |
6d4859a1 | 9 | |
e91c320b | 10 | %define module ocamlfuse |
a93cf193 JR |
11 | Summary: Fuse binding for OCaml |
12 | Summary(pl.UTF-8): Wiązania Fuse dla OCamla | |
b1b243d7 | 13 | Name: ocaml-fuse |
a93cf193 | 14 | Version: 2.7.1 |
2b7020f0 | 15 | Release: 3 |
6d4859a1 ER |
16 | License: GPL v2 |
17 | Group: Libraries | |
96798cec | 18 | #Source0Download: https://github.com/astrada/ocamlfuse/releases |
a93cf193 JR |
19 | Source0: https://github.com/astrada/ocamlfuse/archive/v%{version}_cvs7/ocamlfuse-%{version}-7.tar.gz |
20 | # Source0-md5: a5da871a0983b6723c6b9b735898fe34 | |
e91c320b | 21 | Patch0: no-wrapped.patch |
96798cec JB |
22 | URL: https://github.com/astrada/ocamlfuse |
23 | BuildRequires: libfuse-devel >= 2.7 | |
24 | BuildRequires: ocaml >= 1:4.02.3 | |
25 | BuildRequires: ocaml-dune >= 1.6 | |
6d4859a1 | 26 | BuildRequires: ocaml-findlib >= 1.4 |
789d8507 | 27 | BuildRequires: ocaml-idl-devel >= 1.0.5 |
96798cec | 28 | BuildRequires: pkgconfig |
6d4859a1 | 29 | %requires_eq ocaml-runtime |
96798cec | 30 | Requires: libfuse >= 2.7 |
6d4859a1 ER |
31 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
32 | ||
ed1ca61e ER |
33 | %define debug_package %{nil} |
34 | ||
6d4859a1 ER |
35 | %description |
36 | OcamlFuse is a binding to the high-level part of the fuse library, | |
96798cec | 37 | allowing you to implement Linux filesystems in OCaml. |
6d4859a1 ER |
38 | |
39 | The main features of ocamlfuse are: | |
40 | - Multithreading: each callback runs in a separate ocaml thread, so | |
41 | that a slow call can't block the filesystem | |
42 | - Efficiency: read and write operations use the bigarray library | |
96798cec JB |
43 | achieving very high troughput |
44 | - Ease of use: the fusexmp filesystem (mimicking bindfs) is 73 lines | |
45 | of code, including in-memory extended attributes using a hash table. | |
46 | The hello example is 42 lines of code. | |
6d4859a1 ER |
47 | |
48 | %description -l pl.UTF-8 | |
96798cec JB |
49 | OcamlFuse to wiązania do wysokopoziomowej części biblioteki fuse, |
50 | pozwalające implementować linuksowe systemy plików w OCamlu. | |
51 | ||
52 | Główne cechy ocamlfuse to: | |
53 | - wielowątkowość: każde wywołanie zwrotne działa w osobnym wątku | |
54 | OCamla, więc powolne wywołanie nie zablokuje systemu plików | |
55 | - wydajność: operacje odczytu i zapisu wykorzystują bibliotekę | |
56 | bigarray, osiągając dużą przepustowość | |
57 | - łatwość użycia: system plików fusexmp (naśladujący bindfs) ma | |
58 | jedynie 73 linie kodu, włącznie z rozszerzonymi atrybutami w | |
59 | pamięci, wykorzystującymi tablicę haszującą; przykład "hello | |
60 | world" ma 42 linie kodu. | |
6d4859a1 ER |
61 | |
62 | %package devel | |
63 | Summary: ocamlfuse binding for OCaml - development part | |
64 | Summary(pl.UTF-8): Wiązania ocamlfuse dla OCamla - cześć programistyczna | |
65 | Group: Development/Libraries | |
66 | Requires: %{name} = %{version}-%{release} | |
67 | %requires_eq ocaml | |
96798cec | 68 | Requires: libfuse-devel >= 2.7 |
b92f57da | 69 | Requires: ocaml-idl-devel >= 1.0.5 |
6d4859a1 ER |
70 | |
71 | %description devel | |
72 | This package contains files needed to develop OCaml programs using | |
96798cec | 73 | Fuse library. |
6d4859a1 ER |
74 | |
75 | %description devel -l pl.UTF-8 | |
96798cec JB |
76 | Pakiet ten zawiera pliki niezbędne do tworzenia programów w OCamlu, |
77 | używających biblioteki Fuse. | |
6d4859a1 ER |
78 | |
79 | %prep | |
a93cf193 | 80 | %setup -q -n ocamlfuse-2.7.1_cvs7 |
3753bd0c | 81 | %patch0 -p1 |
6d4859a1 ER |
82 | |
83 | %build | |
a93cf193 | 84 | %{__make} |
6d4859a1 ER |
85 | |
86 | %install | |
87 | rm -rf $RPM_BUILD_ROOT | |
a93cf193 JR |
88 | |
89 | %{__make} install \ | |
90 | DESTDIR=$RPM_BUILD_ROOT | |
6d4859a1 | 91 | |
96798cec JB |
92 | # sources |
93 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/%{module}/*.ml | |
94 | # LICENSE is generic GPLv2 text, README.md packaged as %doc | |
95 | %{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc/%{module} | |
96 | ||
6d4859a1 ER |
97 | %clean |
98 | rm -rf $RPM_BUILD_ROOT | |
99 | ||
100 | %files | |
101 | %defattr(644,root,root,755) | |
96798cec JB |
102 | %doc README.md |
103 | %dir %{_libdir}/ocaml/%{module} | |
a93cf193 | 104 | %{_libdir}/ocaml/%{module}/META |
96798cec | 105 | %{_libdir}/ocaml/%{module}/*.cma |
d3dc979d | 106 | %if %{with ocaml_opt} |
96798cec | 107 | %attr(755,root,root) %{_libdir}/ocaml/%{module}/*.cmxs |
d3dc979d | 108 | %endif |
96798cec | 109 | %attr(755,root,root) %{_libdir}/ocaml/stublibs/dllfuse_stubs.so |
6d4859a1 ER |
110 | |
111 | %files devel | |
112 | %defattr(644,root,root,755) | |
96798cec JB |
113 | %{_libdir}/ocaml/%{module}/dune-package |
114 | %{_libdir}/ocaml/%{module}/opam | |
115 | %{_libdir}/ocaml/%{module}/*.cmi | |
116 | %{_libdir}/ocaml/%{module}/*.cmt | |
117 | %{_libdir}/ocaml/%{module}/*.cmti | |
118 | %{_libdir}/ocaml/%{module}/*.cmx | |
a93cf193 JR |
119 | %{_libdir}/ocaml/%{module}/*.a |
120 | %{_libdir}/ocaml/%{module}/*.mli | |
c5770cec | 121 | %if %{with ocaml_opt} |
a93cf193 | 122 | %{_libdir}/ocaml/%{module}/*.cmxa |
c5770cec | 123 | %endif |