7ab247e9862c7644062115b6e049641e44600bae
[packages/ocaml-findlib.git] / ocaml-findlib.spec
1 #
2 # Conditional build:
3 %bcond_without  opt             # build opt
4
5 %ifarch x32
6 %undefine       with_opt
7 %endif
8
9 %if !%{with opt}
10 %define         no_install_post_strip   1
11 # debug package strips binaries which renders ocamlfind broken
12 %define         _enable_debug_packages  0
13 %endif
14
15 %define         ocaml_ver       1:4.02
16 Summary:        OCaml module manager
17 Summary(pl.UTF-8):      Zarządca modułów OCamla
18 Name:           ocaml-findlib
19 Version:        1.5.5
20 Release:        8
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/
27 BuildRequires:  m4
28 BuildRequires:  ncurses-devel
29 BuildRequires:  ocaml >= %{ocaml_ver}
30 BuildRequires:  ocaml-camlp4
31 BuildRequires:  ocaml-labltk-devel
32 BuildRequires:  sed >= 4.0
33 %requires_eq    ocaml
34 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
35
36 %description
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
40 can be stored.
41
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.
47
48 %package devel
49 Summary:        OCaml module manager
50 Summary(pl.UTF-8):      Zarządca modułów OCamla
51 Group:          Development/Libraries
52 Requires:       %{name} = %{version}-%{release}
53
54 %description devel
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
58 can be stored.
59
60 This package includes libraries and compiled interfaces of findlib.
61
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.
67
68 Ten pakiet zawiera biblioteki i skompilowane interfejsy findliba.
69
70 %prep
71 %setup -q -n findlib-%{version}
72 %patch0 -p1
73
74 %build
75 ./configure \
76         -bindir %{_bindir} \
77         -mandir %{_mandir} \
78         -config %{_sysconfdir}/ocamlfind.conf \
79         -with-toolbox
80
81 sed -i -e 's/-g//' Makefile
82
83 %{__make} -j1 all %{?with_opt:opt}
84
85 %install
86 rm -rf $RPM_BUILD_ROOT
87
88 %{__make} install \
89         prefix=$RPM_BUILD_ROOT
90
91 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/*.mli
92
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
97
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
113
114 echo 'ldconf = "ignore"' >> $RPM_BUILD_ROOT%{_sysconfdir}/ocamlfind.conf
115
116 ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/libexec
117 ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/stublibs
118
119 %clean
120 rm -rf $RPM_BUILD_ROOT
121
122 %files
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
132 # symlinks
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*
154
155 %files devel
156 %defattr(644,root,root,755)
157 %{_libdir}/ocaml/findlib/Makefile.config
158 %{_libdir}/ocaml/findlib/*.cm[xi]
159 %{_libdir}/ocaml/findlib/*.cma
160 %if %{with opt}
161 %{_libdir}/ocaml/findlib/*.[ao]
162 %{_libdir}/ocaml/findlib/*.cmxa
163 %{_libdir}/ocaml/findlib/*.cmxs
164 %endif
165 %dir %{_libdir}/ocaml/num-top
166 %{_libdir}/ocaml/num-top/*.cm[ia]
167 %{_libdir}/ocaml/ocamlfind
168 %{_libdir}/ocaml/topfind
This page took 0.035848 seconds and 2 git commands to generate.