1 |
Name: ocaml-safepass |
2 |
Version: 1.2 |
3 |
Release: %mkrel 2 |
4 |
Summary: Library enabling the safe storage of user passwords |
5 |
License: LGPL 2.1 with linking exception |
6 |
Group: Development/OCaml |
7 |
URL: http://ocaml-safepass.forge.ocamlcore.org/ |
8 |
#ProjectPage: https://forge.ocamlcore.org/projects/ocaml-safepass/ |
9 |
Source0: http://download.ocamlcore.org/ocaml-safepass/ocaml-safepass/%{version}/ocaml-safepass-%{version}.tgz |
10 |
BuildRequires: ocaml-findlib |
11 |
|
12 |
%description |
13 |
OCaml-safepass is a library enabling the safe storage of user passwords, |
14 |
for use in web applications. Passwords are salted and hashed using the |
15 |
bcrypt algorithm. |
16 |
|
17 |
OCaml-safepass is a library offering facilities for the safe storage of |
18 |
user passwords. By "safe" we mean that passwords are salted and hashed using |
19 |
the Bcrypt algorithm (http://en.wikipedia.org/wiki/Bcrypt). |
20 |
Salting prevents rainbow-table (http://en.wikipedia.org/wiki/Rainbow_table) |
21 |
based attacks, whereas hashing by a very time-consuming algorithm such as |
22 |
Bcrypt renders brute-force password cracking impractical. |
23 |
|
24 |
OCaml-safepass's obvious usage domain are web applications, though it does |
25 |
not depend on any particular framework. |
26 |
Internally, OCaml-safepass binds to the C routines from Openwall's |
27 |
Crypt_blowfish (http://www.openwall.com/crypt/). However, it would be |
28 |
incorrect to describe OCaml-safepass as an OCaml binding to Crypt_blowfish, |
29 |
because the API it exposes is higher-level and more compact than that |
30 |
offered by Crypt_blowfish. Moreover, OCaml-safepass's API takes advantage of |
31 |
OCaml's type-system to make usage mistakes nearly impossible. |
32 |
|
33 |
OCaml-safepass is developed by Dario Teixeira and is licensed under the |
34 |
terms of the GNU LGPL 2.1 with the usual OCaml linking exception. |
35 |
|
36 |
%package devel |
37 |
Summary: Development files for %{name} |
38 |
Group: Development/OCaml |
39 |
Requires: %{name} = %{version}-%{release} |
40 |
|
41 |
%description devel |
42 |
The %{name}-devel package contains libraries for developing applications |
43 |
that use %{name}. |
44 |
|
45 |
%prep |
46 |
%setup -q |
47 |
|
48 |
%build |
49 |
./configure \ |
50 |
--prefix %{_prefix} \ |
51 |
--libdir %{_libdir} \ |
52 |
--libexecdir %{_libexecdir} \ |
53 |
--exec-prefix %{_exec_prefix} \ |
54 |
--bindir %{_bindir} \ |
55 |
--sbindir %{_sbindir} \ |
56 |
--mandir %{_mandir} \ |
57 |
--datadir %{_datadir} \ |
58 |
--localstatedir %{_localstatedir} \ |
59 |
--docdir %{_docdir}/%{name}-devel/ \ |
60 |
--destdir %{buildroot} |
61 |
|
62 |
make |
63 |
make doc |
64 |
|
65 |
%install |
66 |
rm -rf %{buildroot} |
67 |
export DESTDIR=%{buildroot} |
68 |
export OCAMLFIND_DESTDIR=%{buildroot}/%{_libdir}/ocaml |
69 |
export DLLDIR=$OCAMLFIND_DESTDIR/stublibs |
70 |
mkdir -p $OCAMLFIND_DESTDIR/stublibs |
71 |
mkdir -p $OCAMLFIND_DESTDIR/safepass |
72 |
make install |
73 |
|
74 |
%files |
75 |
%doc README LICENSE CHANGELOG |
76 |
%dir %{_libdir}/ocaml/safepass |
77 |
%{_libdir}/ocaml/safepass/META |
78 |
%{_libdir}/ocaml/safepass/*.cmi |
79 |
%{_libdir}/ocaml/safepass/*.cma |
80 |
%{_libdir}/ocaml/safepass/*.cmxs |
81 |
%{_libdir}/ocaml/stublibs/*.so* |
82 |
|
83 |
%files devel |
84 |
%{_docdir}/%{name}-devel |
85 |
%{_libdir}/ocaml/safepass/*.a |
86 |
%{_libdir}/ocaml/safepass/*.cmxa |
87 |
%{_libdir}/ocaml/safepass/*.cmx |
88 |
%{_libdir}/ocaml/safepass/*.mli |