3 %bcond_without opt # build opt
7 %define no_install_post_strip 1
10 %define ocaml_ver 1:4.02
11 Summary: OCaml module manager
12 Summary(pl.UTF-8): Zarządca modułów OCamla
16 License: distributable
17 Group: Development/Tools
18 Source0: http://download.camlcity.org/download/findlib-%{version}.tar.gz
19 # Source0-md5: 703eae112f9e912507c3a2f8d8c48498
20 Patch0: %{name}-bytes.patch
21 URL: http://www.ocaml-programming.de/packages/
23 BuildRequires: ncurses-devel
24 BuildRequires: ocaml >= %{ocaml_ver}
25 BuildRequires: ocaml-camlp4
26 BuildRequires: ocaml-labltk-devel
27 BuildRequires: sed >= 4.0
29 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32 The "findlib" library provides a scheme to manage reusable software
33 components (packages), and includes tools that support this scheme.
34 Packages are collections of OCaml modules for which metainformation
37 %description -l pl.UTF-8
38 Biblioteka "findlib" udostępnia metodę zarządzania komponentami
39 oprogramowania (pakietami) oraz zawiera narzędzia, które ową metodę
40 wspierają. Pakiety są kolekcjami modułów w OCamlu, dla których mogą
41 być przechowywane metainformacje.
44 Summary: OCaml module manager
45 Summary(pl.UTF-8): Zarządca modułów OCamla
46 Group: Development/Libraries
47 Requires: %{name} = %{version}-%{release}
50 The "findlib" library provides a scheme to manage reusable software
51 components (packages), and includes tools that support this scheme.
52 Packages are collections of OCaml modules for which metainformation
55 This package includes libraries and compiled interfaces of findlib.
57 %description devel -l pl.UTF-8
58 Biblioteka "findlib" udostępnia metodę zarządzania komponentami
59 oprogramowania (pakietami) oraz zawiera narzędzia, które ową metodę
60 wspierają. Pakiety są kolekcjami modułów w OCamlu, dla których mogą
61 być przechowywane metainformacje.
63 Ten pakiet zawiera biblioteki i skompilowane interfejsy findliba.
66 %setup -q -n findlib-%{version}
73 -config %{_sysconfdir}/ocamlfind.conf \
76 sed -i -e 's/-g//' Makefile
78 %{__make} -j1 all %{?with_opt:opt}
81 rm -rf $RPM_BUILD_ROOT
84 prefix=$RPM_BUILD_ROOT
86 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/*.mli
88 # now provided by ocaml-labltk.spec (might not exist if building without ocaml-labltk installed)
89 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/labltk
90 # now provided by ocaml-dbm.spec (might not exist if building without ocaml-dbm installed)
91 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/dbm
93 # in PLD only META files are stored in site-lib/pkg
94 sed -i -e 's|/site-lib||' $RPM_BUILD_ROOT%{_libdir}/ocaml/topfind
95 ln -sf topfind $RPM_BUILD_ROOT%{_libdir}/ocaml/ocamlfind
96 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib \
97 $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib
98 install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib
99 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/META \
100 $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib
101 echo 'directory = "+findlib"' >> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/META
102 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top \
103 $RPM_BUILD_ROOT%{_libdir}/ocaml/num-top
104 install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top
105 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/num-top/META \
106 $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top
107 echo 'directory = "+findlib"' >> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top/META
109 echo 'ldconf = "ignore"' >> $RPM_BUILD_ROOT%{_sysconfdir}/ocamlfind.conf
111 ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/libexec
112 ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/stublibs
115 rm -rf $RPM_BUILD_ROOT
118 %defattr(644,root,root,755)
119 %doc doc/README LICENSE doc/*-html
120 %attr(755,root,root) %{_bindir}/ocamlfind
121 %attr(755,root,root) %{_bindir}/safe_camlp4
122 %config %{_sysconfdir}/ocamlfind.conf
123 %dir %{_libdir}/ocaml/findlib
124 %attr(755,root,root) %{_libdir}/ocaml/findlib/make_wizard
125 %{_libdir}/ocaml/findlib/make_wizard.pattern
126 %{_libdir}/ocaml/site-lib/findlib
128 %{_libdir}/ocaml/site-lib/libexec
129 %{_libdir}/ocaml/site-lib/stublibs
130 # META files for base ocaml packages
131 %{_libdir}/ocaml/site-lib/bigarray
132 %{_libdir}/ocaml/site-lib/bytes
133 %{_libdir}/ocaml/site-lib/compiler-libs
134 %{_libdir}/ocaml/site-lib/dynlink
135 %{_libdir}/ocaml/site-lib/graphics
136 %{_libdir}/ocaml/site-lib/num
137 %{_libdir}/ocaml/site-lib/num-top
138 %{_libdir}/ocaml/site-lib/ocamlbuild
139 %{_libdir}/ocaml/site-lib/stdlib
140 %{_libdir}/ocaml/site-lib/str
141 %{_libdir}/ocaml/site-lib/threads
142 %{_libdir}/ocaml/site-lib/unix
143 # camlp4 4.02 doesn't provide its META itself
144 %{_libdir}/ocaml/site-lib/camlp4
145 %{_mandir}/man1/ocamlfind.1*
146 %{_mandir}/man5/META.5*
147 %{_mandir}/man5/findlib.conf.5*
148 %{_mandir}/man5/site-lib.5*
151 %defattr(644,root,root,755)
152 %{_libdir}/ocaml/findlib/Makefile.config
153 %{_libdir}/ocaml/findlib/*.cm[xi]
154 %{_libdir}/ocaml/findlib/*.cma
156 %{_libdir}/ocaml/findlib/*.[ao]
157 %{_libdir}/ocaml/findlib/*.cmxa
158 %{_libdir}/ocaml/findlib/*.cmxs
160 %dir %{_libdir}/ocaml/num-top
161 %{_libdir}/ocaml/num-top/*.cm[ia]
162 %{_libdir}/ocaml/ocamlfind
163 %{_libdir}/ocaml/topfind