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: 703eae112f9e912507c3a2f8d8c48498
19 Patch0: %{name}-bytes.patch
20 URL: http://www.ocaml-programming.de/packages/
22 BuildRequires: ncurses-devel
23 BuildRequires: ocaml >= %{ocaml_ver}
24 BuildRequires: ocaml-camlp4
25 BuildRequires: ocaml-labltk-devel
26 BuildRequires: sed >= 4.0
28 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30 %if %{without ocaml_opt}
31 %define no_install_post_strip 1
32 # debug package strips binaries which renders ocamlfind broken
33 %define _enable_debug_packages 0
37 The "findlib" library provides a scheme to manage reusable software
38 components (packages), and includes tools that support this scheme.
39 Packages are collections of OCaml modules for which metainformation
42 %description -l pl.UTF-8
43 Biblioteka "findlib" udostępnia metodę zarządzania komponentami
44 oprogramowania (pakietami) oraz zawiera narzędzia, które ową metodę
45 wspierają. Pakiety są kolekcjami modułów w OCamlu, dla których mogą
46 być przechowywane metainformacje.
49 Summary: OCaml module manager
50 Summary(pl.UTF-8): Zarządca modułów OCamla
51 Group: Development/Libraries
52 Requires: %{name} = %{version}-%{release}
55 The "findlib" library provides a scheme to manage reusable software
56 components (packages), and includes tools that support this scheme.
57 Packages are collections of OCaml modules for which metainformation
60 This package includes libraries and compiled interfaces of findlib.
62 %description devel -l pl.UTF-8
63 Biblioteka "findlib" udostępnia metodę zarządzania komponentami
64 oprogramowania (pakietami) oraz zawiera narzędzia, które ową metodę
65 wspierają. Pakiety są kolekcjami modułów w OCamlu, dla których mogą
66 być przechowywane metainformacje.
68 Ten pakiet zawiera biblioteki i skompilowane interfejsy findliba.
71 %setup -q -n findlib-%{version}
78 -config %{_sysconfdir}/ocamlfind.conf \
81 sed -i -e 's/-g//' Makefile
83 %{__make} -j1 all %{?with_ocaml_opt:opt}
86 rm -rf $RPM_BUILD_ROOT
89 prefix=$RPM_BUILD_ROOT
91 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/*.mli
93 # now provided by ocaml-labltk.spec (might not exist if building without ocaml-labltk installed)
94 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/labltk
95 # now provided by ocaml-dbm.spec (might not exist if building without ocaml-dbm installed)
96 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/dbm
98 # in PLD only META files are stored in site-lib/pkg
99 sed -i -e 's|/site-lib||' $RPM_BUILD_ROOT%{_libdir}/ocaml/topfind
100 ln -sf topfind $RPM_BUILD_ROOT%{_libdir}/ocaml/ocamlfind
101 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib \
102 $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib
103 install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib
104 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/META \
105 $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib
106 echo 'directory = "+findlib"' >> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/META
107 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top \
108 $RPM_BUILD_ROOT%{_libdir}/ocaml/num-top
109 install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top
110 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/num-top/META \
111 $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top
112 echo 'directory = "+findlib"' >> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/num-top/META
114 echo 'ldconf = "ignore"' >> $RPM_BUILD_ROOT%{_sysconfdir}/ocamlfind.conf
116 ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/libexec
117 ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/stublibs
120 rm -rf $RPM_BUILD_ROOT
123 %defattr(644,root,root,755)
124 %doc doc/README LICENSE doc/*-html
125 %attr(755,root,root) %{_bindir}/ocamlfind
126 %attr(755,root,root) %{_bindir}/safe_camlp4
127 %config %{_sysconfdir}/ocamlfind.conf
128 %dir %{_libdir}/ocaml/findlib
129 %attr(755,root,root) %{_libdir}/ocaml/findlib/make_wizard
130 %{_libdir}/ocaml/findlib/Makefile.config
131 %{_libdir}/ocaml/findlib/make_wizard.pattern
132 %{_libdir}/ocaml/findlib/findlib.cma
133 %{_libdir}/ocaml/findlib/findlib_top.cma
134 %if %{with ocaml_opt}
135 %attr(755,root,root) %{_libdir}/ocaml/findlib/findlib.cmxs
137 %{_libdir}/ocaml/site-lib/findlib
139 %{_libdir}/ocaml/site-lib/libexec
140 %{_libdir}/ocaml/site-lib/stublibs
141 # META files for base ocaml packages
142 %{_libdir}/ocaml/site-lib/bigarray
143 %{_libdir}/ocaml/site-lib/bytes
144 %{_libdir}/ocaml/site-lib/compiler-libs
145 %{_libdir}/ocaml/site-lib/dynlink
146 %{_libdir}/ocaml/site-lib/graphics
147 %{_libdir}/ocaml/site-lib/num
148 %{_libdir}/ocaml/site-lib/num-top
149 %{_libdir}/ocaml/site-lib/ocamlbuild
150 %{_libdir}/ocaml/site-lib/stdlib
151 %{_libdir}/ocaml/site-lib/str
152 %{_libdir}/ocaml/site-lib/threads
153 %{_libdir}/ocaml/site-lib/unix
154 # camlp4 4.02 doesn't provide its META itself
155 %{_libdir}/ocaml/site-lib/camlp4
156 %{_mandir}/man1/ocamlfind.1*
157 %{_mandir}/man5/META.5*
158 %{_mandir}/man5/findlib.conf.5*
159 %{_mandir}/man5/site-lib.5*
162 %defattr(644,root,root,755)
163 %{_libdir}/ocaml/findlib/findlib.cmi
164 %{_libdir}/ocaml/findlib/fl_*.cmi
165 %{_libdir}/ocaml/findlib/topfind.cmi
166 %if %{with ocaml_opt}
167 %{_libdir}/ocaml/findlib/findlib.a
168 %{_libdir}/ocaml/findlib/findlib.cmxa
170 %dir %{_libdir}/ocaml/num-top
171 %{_libdir}/ocaml/num-top/num_top.cma
172 %{_libdir}/ocaml/num-top/num_top*.cmi
173 %{_libdir}/ocaml/ocamlfind
174 %{_libdir}/ocaml/topfind