3 %bcond_without ocaml_opt # build opt
4 %bcond_without tk # build without tk support
6 %ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9
7 %undefine with_ocaml_opt
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: 530ff275d6b96e140f0d3a03ed14b68e
20 Patch0: %{name}-bytes.patch
21 Patch1: %{name}-man.patch
22 URL: http://www.ocaml-programming.de/packages/
24 BuildRequires: ncurses-devel
25 BuildRequires: ocaml >= %{ocaml_ver}
26 BuildRequires: ocaml-camlp4
27 %{?with_tk:BuildRequires: ocaml-labltk-devel}
28 BuildRequires: sed >= 4.0
30 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32 %if %{without ocaml_opt}
33 %define no_install_post_strip 1
34 # debug package strips binaries which renders ocamlfind broken
35 %define _enable_debug_packages 0
39 The "findlib" library provides a scheme to manage reusable software
40 components (packages), and includes tools that support this scheme.
41 Packages are collections of OCaml modules for which metainformation
44 %description -l pl.UTF-8
45 Biblioteka "findlib" udostępnia metodę zarządzania komponentami
46 oprogramowania (pakietami) oraz zawiera narzędzia, które ową metodę
47 wspierają. Pakiety są kolekcjami modułów w OCamlu, dla których mogą
48 być przechowywane metainformacje.
51 Summary: OCaml module manager
52 Summary(pl.UTF-8): Zarządca modułów OCamla
53 Group: Development/Libraries
54 Requires: %{name} = %{version}-%{release}
57 The "findlib" library provides a scheme to manage reusable software
58 components (packages), and includes tools that support this scheme.
59 Packages are collections of OCaml modules for which metainformation
62 This package includes libraries and compiled interfaces of findlib.
64 %description devel -l pl.UTF-8
65 Biblioteka "findlib" udostępnia metodę zarządzania komponentami
66 oprogramowania (pakietami) oraz zawiera narzędzia, które ową metodę
67 wspierają. Pakiety są kolekcjami modułów w OCamlu, dla których mogą
68 być przechowywane metainformacje.
70 Ten pakiet zawiera biblioteki i skompilowane interfejsy findliba.
73 %setup -q -n findlib-%{version}
81 -config %{_sysconfdir}/ocamlfind.conf \
84 sed -i -e 's/-g//' Makefile
86 %{__make} -j1 all %{?with_ocaml_opt:opt}
89 rm -rf $RPM_BUILD_ROOT
92 prefix=$RPM_BUILD_ROOT
94 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/*.mli
96 # now provided by ocaml-labltk.spec (might not exist if building without ocaml-labltk installed)
97 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/labltk
98 # now provided by ocaml-dbm.spec (might not exist if building without ocaml-dbm installed)
99 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/dbm
101 # in PLD only META files are stored in site-lib/pkg
102 sed -i -e 's|/site-lib||' $RPM_BUILD_ROOT%{_libdir}/ocaml/topfind
103 ln -sf topfind $RPM_BUILD_ROOT%{_libdir}/ocaml/ocamlfind
104 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib \
105 $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib
106 install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib
107 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/META \
108 $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib
109 echo 'directory = "+findlib"' >> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/META
110 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top \
111 $RPM_BUILD_ROOT%{_libdir}/ocaml/num-top
112 install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top
113 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/num-top/META \
114 $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top
115 echo 'directory = "+findlib"' >> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top/META
117 echo 'ldconf = "ignore"' >> $RPM_BUILD_ROOT%{_sysconfdir}/ocamlfind.conf
119 ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/libexec
120 ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/stublibs
123 rm -rf $RPM_BUILD_ROOT
126 %defattr(644,root,root,755)
127 %doc doc/README LICENSE doc/*-html
128 %attr(755,root,root) %{_bindir}/ocamlfind
129 %attr(755,root,root) %{_bindir}/safe_camlp4
130 %config %{_sysconfdir}/ocamlfind.conf
131 %dir %{_libdir}/ocaml/findlib
133 %attr(755,root,root) %{_libdir}/ocaml/findlib/make_wizard
134 %{_libdir}/ocaml/findlib/make_wizard.pattern
136 %{_libdir}/ocaml/findlib/Makefile.config
137 %{_libdir}/ocaml/findlib/findlib.cma
138 %{_libdir}/ocaml/findlib/findlib_dynload.cma
139 %{_libdir}/ocaml/findlib/findlib_top.cma
140 %if %{with ocaml_opt}
141 %attr(755,root,root) %{_libdir}/ocaml/findlib/findlib.cmxs
142 %attr(755,root,root) %{_libdir}/ocaml/findlib/findlib_dynload.cmxs
144 %{_libdir}/ocaml/site-lib/findlib
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