3 %bcond_without ocaml_opt # build opt
5 %ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9
6 %undefine with_ocaml_opt
9 %define ocaml_ver 1:4.02
10 Summary: OCaml module manager
11 Summary(pl.UTF-8): Zarządca modułów OCamla
15 License: distributable
16 Group: Development/Tools
17 Source0: http://download.camlcity.org/download/findlib-%{version}.tar.gz
18 # Source0-md5: 530ff275d6b96e140f0d3a03ed14b68e
19 Patch0: %{name}-bytes.patch
20 Patch1: %{name}-man.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)
31 %if %{without ocaml_opt}
32 %define no_install_post_strip 1
33 # debug package strips binaries which renders ocamlfind broken
34 %define _enable_debug_packages 0
38 The "findlib" library provides a scheme to manage reusable software
39 components (packages), and includes tools that support this scheme.
40 Packages are collections of OCaml modules for which metainformation
43 %description -l pl.UTF-8
44 Biblioteka "findlib" udostępnia metodę zarządzania komponentami
45 oprogramowania (pakietami) oraz zawiera narzędzia, które ową metodę
46 wspierają. Pakiety są kolekcjami modułów w OCamlu, dla których mogą
47 być przechowywane metainformacje.
50 Summary: OCaml module manager
51 Summary(pl.UTF-8): Zarządca modułów OCamla
52 Group: Development/Libraries
53 Requires: %{name} = %{version}-%{release}
56 The "findlib" library provides a scheme to manage reusable software
57 components (packages), and includes tools that support this scheme.
58 Packages are collections of OCaml modules for which metainformation
61 This package includes libraries and compiled interfaces of findlib.
63 %description devel -l pl.UTF-8
64 Biblioteka "findlib" udostępnia metodę zarządzania komponentami
65 oprogramowania (pakietami) oraz zawiera narzędzia, które ową metodę
66 wspierają. Pakiety są kolekcjami modułów w OCamlu, dla których mogą
67 być przechowywane metainformacje.
69 Ten pakiet zawiera biblioteki i skompilowane interfejsy findliba.
72 %setup -q -n findlib-%{version}
80 -config %{_sysconfdir}/ocamlfind.conf \
83 sed -i -e 's/-g//' Makefile
85 %{__make} -j1 all %{?with_ocaml_opt:opt}
88 rm -rf $RPM_BUILD_ROOT
91 prefix=$RPM_BUILD_ROOT
93 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/*.mli
95 # now provided by ocaml-labltk.spec (might not exist if building without ocaml-labltk installed)
96 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/labltk
97 # now provided by ocaml-dbm.spec (might not exist if building without ocaml-dbm installed)
98 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/dbm
100 # in PLD only META files are stored in site-lib/pkg
101 sed -i -e 's|/site-lib||' $RPM_BUILD_ROOT%{_libdir}/ocaml/topfind
102 ln -sf topfind $RPM_BUILD_ROOT%{_libdir}/ocaml/ocamlfind
103 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib \
104 $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib
105 install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib
106 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/META \
107 $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib
108 echo 'directory = "+findlib"' >> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/META
109 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top \
110 $RPM_BUILD_ROOT%{_libdir}/ocaml/num-top
111 install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top
112 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/num-top/META \
113 $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top
114 echo 'directory = "+findlib"' >> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top/META
116 echo 'ldconf = "ignore"' >> $RPM_BUILD_ROOT%{_sysconfdir}/ocamlfind.conf
118 ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/libexec
119 ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/stublibs
122 rm -rf $RPM_BUILD_ROOT
125 %defattr(644,root,root,755)
126 %doc doc/README LICENSE doc/*-html
127 %attr(755,root,root) %{_bindir}/ocamlfind
128 %attr(755,root,root) %{_bindir}/safe_camlp4
129 %config %{_sysconfdir}/ocamlfind.conf
130 %dir %{_libdir}/ocaml/findlib
131 %attr(755,root,root) %{_libdir}/ocaml/findlib/make_wizard
132 %{_libdir}/ocaml/findlib/Makefile.config
133 %{_libdir}/ocaml/findlib/make_wizard.pattern
134 %{_libdir}/ocaml/findlib/findlib.cma
135 %{_libdir}/ocaml/findlib/findlib_dynload.cma
136 %{_libdir}/ocaml/findlib/findlib_top.cma
137 %if %{with ocaml_opt}
138 %attr(755,root,root) %{_libdir}/ocaml/findlib/findlib.cmxs
139 %attr(755,root,root) %{_libdir}/ocaml/findlib/findlib_dynload.cmxs
141 %{_libdir}/ocaml/site-lib/findlib
143 %{_libdir}/ocaml/site-lib/libexec
144 %{_libdir}/ocaml/site-lib/stublibs
145 # META files for base ocaml packages
146 %{_libdir}/ocaml/site-lib/bigarray
147 %{_libdir}/ocaml/site-lib/bytes
148 %{_libdir}/ocaml/site-lib/compiler-libs
149 %{_libdir}/ocaml/site-lib/dynlink
150 %{_libdir}/ocaml/site-lib/graphics
151 %{_libdir}/ocaml/site-lib/num
152 %{_libdir}/ocaml/site-lib/num-top
153 %{_libdir}/ocaml/site-lib/ocamlbuild
154 %{_libdir}/ocaml/site-lib/ocamldoc
155 %{_libdir}/ocaml/site-lib/stdlib
156 %{_libdir}/ocaml/site-lib/str
157 %{_libdir}/ocaml/site-lib/threads
158 %{_libdir}/ocaml/site-lib/unix
159 # camlp4 4.02 doesn't provide its META itself
160 %{_libdir}/ocaml/site-lib/camlp4
161 %{_mandir}/man1/ocamlfind.1*
162 %{_mandir}/man5/META.5*
163 %{_mandir}/man5/findlib.conf.5*
164 %{_mandir}/man5/site-lib.5*
167 %defattr(644,root,root,755)
168 %{_libdir}/ocaml/findlib/findlib.cmi
169 %{_libdir}/ocaml/findlib/fl_*.cmi
170 %{_libdir}/ocaml/findlib/topfind.cmi
171 %if %{with ocaml_opt}
172 %{_libdir}/ocaml/findlib/findlib.a
173 %{_libdir}/ocaml/findlib/findlib.cmxa
174 %{_libdir}/ocaml/findlib/findlib_dynload.a
175 %{_libdir}/ocaml/findlib/findlib_dynload.cmxa
177 %dir %{_libdir}/ocaml/num-top
178 %{_libdir}/ocaml/num-top/num_top.cma
179 %{_libdir}/ocaml/num-top/num_top*.cmi
180 %{_libdir}/ocaml/ocamlfind
181 %{_libdir}/ocaml/topfind