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.04
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: 65e6dc9b305ccbed1267275fe180f538
21 URL: http://projects.camlcity.org/projects/findlib.html
23 BuildRequires: ncurses-devel
24 BuildRequires: ocaml >= %{ocaml_ver}
25 BuildRequires: ocaml-camlp4
26 %{?with_tk:BuildRequires: ocaml-labltk-devel}
27 BuildRequires: ocaml-ocamldoc-devel
28 BuildRequires: sed >= 4.0
30 Conflicts: ocaml-curses < 1.0.3-13
31 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 %if %{without ocaml_opt}
34 %define no_install_post_strip 1
35 # debug package strips binaries which renders ocamlfind broken
36 %define _enable_debug_packages 0
40 The "findlib" library provides a scheme to manage reusable software
41 components (packages), and includes tools that support this scheme.
42 Packages are collections of OCaml modules for which metainformation
45 %description -l pl.UTF-8
46 Biblioteka "findlib" udostępnia metodę zarządzania komponentami
47 oprogramowania (pakietami) oraz zawiera narzędzia, które ową metodę
48 wspierają. Pakiety są kolekcjami modułów w OCamlu, dla których mogą
49 być przechowywane metainformacje.
52 Summary: OCaml module manager
53 Summary(pl.UTF-8): Zarządca modułów OCamla
54 Group: Development/Libraries
55 Requires: %{name} = %{version}-%{release}
58 The "findlib" library provides a scheme to manage reusable software
59 components (packages), and includes tools that support this scheme.
60 Packages are collections of OCaml modules for which metainformation
63 This package includes libraries and compiled interfaces of findlib.
65 %description devel -l pl.UTF-8
66 Biblioteka "findlib" udostępnia metodę zarządzania komponentami
67 oprogramowania (pakietami) oraz zawiera narzędzia, które ową metodę
68 wspierają. Pakiety są kolekcjami modułów w OCamlu, dla których mogą
69 być przechowywane metainformacje.
71 Ten pakiet zawiera biblioteki i skompilowane interfejsy findliba.
74 %setup -q -n findlib-%{version}
81 -config %{_sysconfdir}/ocamlfind.conf \
82 -sitelib %{_libdir}/ocaml \
85 sed -i -e 's/-g//' Makefile
87 %{__make} -j1 all %{?with_ocaml_opt:opt}
90 rm -rf $RPM_BUILD_ROOT
93 prefix=$RPM_BUILD_ROOT
95 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/*.mli
97 # now provided by ocaml-dbm.spec (might not exist if building without ocaml-dbm installed)
98 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/dbm
99 # now provided by ocaml-labltk.spec (might not exist if building without ocaml-labltk installed)
100 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/labltk
101 # now provided by ocaml-ocamlbuild.spec (might not exist if building without ocaml-ocamlbuild installed)
102 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/ocamlbuild
104 ln -sf topfind $RPM_BUILD_ROOT%{_libdir}/ocaml/ocamlfind
106 echo 'ldconf = "ignore"' >> $RPM_BUILD_ROOT%{_sysconfdir}/ocamlfind.conf
109 rm -rf $RPM_BUILD_ROOT
112 %defattr(644,root,root,755)
113 %doc doc/README LICENSE doc/*-html
114 %attr(755,root,root) %{_bindir}/ocamlfind
115 %attr(755,root,root) %{_bindir}/safe_camlp4
116 %config %{_sysconfdir}/ocamlfind.conf
117 %dir %{_libdir}/ocaml/findlib
119 %attr(755,root,root) %{_libdir}/ocaml/findlib/make_wizard
120 %{_libdir}/ocaml/findlib/make_wizard.pattern
122 %{_libdir}/ocaml/findlib/META
123 %{_libdir}/ocaml/findlib/Makefile.config
124 %{_libdir}/ocaml/findlib/Makefile.packages
125 %{_libdir}/ocaml/findlib/findlib.cma
126 %{_libdir}/ocaml/findlib/findlib_dynload.cma
127 %{_libdir}/ocaml/findlib/findlib_top.cma
128 %if %{with ocaml_opt}
129 %attr(755,root,root) %{_libdir}/ocaml/findlib/findlib.cmxs
130 %attr(755,root,root) %{_libdir}/ocaml/findlib/findlib_dynload.cmxs
131 %attr(755,root,root) %{_libdir}/ocaml/findlib/findlib_top.cmxs
133 # META files for base ocaml packages
134 %{_libdir}/ocaml/bigarray
135 %{_libdir}/ocaml/bytes
136 %{_libdir}/ocaml/compiler-libs
137 %{_libdir}/ocaml/dynlink
138 %{_libdir}/ocaml/ocamldoc
139 %{_libdir}/ocaml/stdlib
141 %{_libdir}/ocaml/threads
142 %{_libdir}/ocaml/unix
143 # camlp4 4.02 doesn't provide its META itself
144 %{_libdir}/ocaml/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/findlib.cmi
153 %{_libdir}/ocaml/findlib/fl_*.cmi
154 %{_libdir}/ocaml/findlib/topfind.cmi
155 %if %{with ocaml_opt}
156 %{_libdir}/ocaml/findlib/findlib.a
157 %{_libdir}/ocaml/findlib/findlib.cmxa
158 %{_libdir}/ocaml/findlib/findlib_dynload.a
159 %{_libdir}/ocaml/findlib/findlib_dynload.cmxa
160 %{_libdir}/ocaml/findlib/findlib_top.a
161 %{_libdir}/ocaml/findlib/findlib_top.cmxa
163 %{_libdir}/ocaml/ocamlfind
164 %{_libdir}/ocaml/topfind