3 %bcond_without opt # build opt
10 %define no_install_post_strip 1
11 # debug package strips binaries which renders ocamlfind broken
12 %define _enable_debug_packages 0
15 %define ocaml_ver 1:4.02
16 Summary: OCaml module manager
17 Summary(pl.UTF-8): Zarządca modułów OCamla
21 License: distributable
22 Group: Development/Tools
23 Source0: http://download.camlcity.org/download/findlib-%{version}.tar.gz
24 # Source0-md5: 703eae112f9e912507c3a2f8d8c48498
25 Patch0: %{name}-bytes.patch
26 URL: http://www.ocaml-programming.de/packages/
28 BuildRequires: ncurses-devel
29 BuildRequires: ocaml >= %{ocaml_ver}
30 BuildRequires: ocaml-camlp4
31 BuildRequires: ocaml-labltk-devel
32 BuildRequires: sed >= 4.0
34 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
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_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/make_wizard.pattern
131 %{_libdir}/ocaml/site-lib/findlib
133 %{_libdir}/ocaml/site-lib/libexec
134 %{_libdir}/ocaml/site-lib/stublibs
135 # META files for base ocaml packages
136 %{_libdir}/ocaml/site-lib/bigarray
137 %{_libdir}/ocaml/site-lib/bytes
138 %{_libdir}/ocaml/site-lib/compiler-libs
139 %{_libdir}/ocaml/site-lib/dynlink
140 %{_libdir}/ocaml/site-lib/graphics
141 %{_libdir}/ocaml/site-lib/num
142 %{_libdir}/ocaml/site-lib/num-top
143 %{_libdir}/ocaml/site-lib/ocamlbuild
144 %{_libdir}/ocaml/site-lib/stdlib
145 %{_libdir}/ocaml/site-lib/str
146 %{_libdir}/ocaml/site-lib/threads
147 %{_libdir}/ocaml/site-lib/unix
148 # camlp4 4.02 doesn't provide its META itself
149 %{_libdir}/ocaml/site-lib/camlp4
150 %{_mandir}/man1/ocamlfind.1*
151 %{_mandir}/man5/META.5*
152 %{_mandir}/man5/findlib.conf.5*
153 %{_mandir}/man5/site-lib.5*
156 %defattr(644,root,root,755)
157 %{_libdir}/ocaml/findlib/Makefile.config
158 %{_libdir}/ocaml/findlib/*.cm[xi]
159 %{_libdir}/ocaml/findlib/*.cma
161 %{_libdir}/ocaml/findlib/*.[ao]
162 %{_libdir}/ocaml/findlib/*.cmxa
163 %{_libdir}/ocaml/findlib/*.cmxs
165 %dir %{_libdir}/ocaml/num-top
166 %{_libdir}/ocaml/num-top/*.cm[ia]
167 %{_libdir}/ocaml/ocamlfind
168 %{_libdir}/ocaml/topfind