]> git.pld-linux.org Git - packages/ocaml-findlib.git/blob - ocaml-findlib.spec
- up to 1.9.1
[packages/ocaml-findlib.git] / ocaml-findlib.spec
1 #
2 # Conditional build:
3 %bcond_without  ocaml_opt               # build opt
4 %bcond_without  tk                      # build without tk support
5
6 %ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9
7 %undefine       with_ocaml_opt
8 %endif
9
10 %define         ocaml_ver       1:4.04
11 Summary:        OCaml module manager
12 Summary(pl.UTF-8):      Zarządca modułów OCamla
13 Name:           ocaml-findlib
14 Version:        1.9.1
15 Release:        1
16 License:        distributable
17 Group:          Development/Tools
18 Source0:        http://download.camlcity.org/download/findlib-%{version}.tar.gz
19 # Source0-md5:  65e6dc9b305ccbed1267275fe180f538
20 Patch0:         labltk.patch
21 URL:            http://projects.camlcity.org/projects/findlib.html
22 BuildRequires:  m4
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
29 %requires_eq    ocaml
30 Conflicts:      ocaml-curses < 1.0.3-13
31 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32
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
37 %endif
38
39 %description
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
43 can be stored.
44
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.
50
51 %package devel
52 Summary:        OCaml module manager
53 Summary(pl.UTF-8):      Zarządca modułów OCamla
54 Group:          Development/Libraries
55 Requires:       %{name} = %{version}-%{release}
56
57 %description devel
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
61 can be stored.
62
63 This package includes libraries and compiled interfaces of findlib.
64
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.
70
71 Ten pakiet zawiera biblioteki i skompilowane interfejsy findliba.
72
73 %prep
74 %setup -q -n findlib-%{version}
75 %patch0 -p1
76
77 %build
78 ./configure \
79         -bindir %{_bindir} \
80         -mandir %{_mandir} \
81         -config %{_sysconfdir}/ocamlfind.conf \
82         -with-toolbox
83
84 sed -i -e 's/-g//' Makefile
85
86 %{__make} -j1 all %{?with_ocaml_opt:opt}
87
88 %install
89 rm -rf $RPM_BUILD_ROOT
90
91 %{__make} install \
92         prefix=$RPM_BUILD_ROOT
93
94 %{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/*.mli
95
96 # now provided by ocaml-dbm.spec (might not exist if building without ocaml-dbm installed)
97 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/dbm
98 # now provided by ocaml-labltk.spec (might not exist if building without ocaml-labltk installed)
99 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/labltk
100 # now provided by ocaml-ocamlbuild.spec (might not exist if building without ocaml-ocamlbuild installed)
101 %{__rm} -rf $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/ocamlbuild
102
103 # in PLD only META files are stored in site-lib/pkg
104 sed -i -e 's|/site-lib||' $RPM_BUILD_ROOT%{_libdir}/ocaml/topfind
105 ln -sf topfind $RPM_BUILD_ROOT%{_libdir}/ocaml/ocamlfind
106 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib \
107         $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib
108 install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib
109 %{__mv} $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/META \
110         $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib
111 echo 'directory = "+findlib"' >> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/findlib/META
112
113 echo 'ldconf = "ignore"' >> $RPM_BUILD_ROOT%{_sysconfdir}/ocamlfind.conf
114
115 ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/libexec
116 ln -sf ../stublibs $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/stublibs
117
118 %clean
119 rm -rf $RPM_BUILD_ROOT
120
121 %pretrans
122 # handle ocaml-findlib-1.6.2-{2,3} + ocaml-curses < 1.0.3-13 mess
123 [ -L %{_libdir}/ocaml/site-lib/libexec ] || rmdir %{_libdir}/ocaml/site-lib/libexec || :
124 [ -L %{_libdir}/ocaml/site-lib/stublibs ] || rmdir %{_libdir}/ocaml/site-lib/stublibs || :
125
126 %files
127 %defattr(644,root,root,755)
128 %doc doc/README LICENSE doc/*-html
129 %attr(755,root,root) %{_bindir}/ocamlfind
130 %attr(755,root,root) %{_bindir}/safe_camlp4
131 %config %{_sysconfdir}/ocamlfind.conf
132 %dir %{_libdir}/ocaml/findlib
133 %if %{with tk}
134 %attr(755,root,root) %{_libdir}/ocaml/findlib/make_wizard
135 %{_libdir}/ocaml/findlib/make_wizard.pattern
136 %endif
137 %{_libdir}/ocaml/findlib/Makefile.config
138 %{_libdir}/ocaml/findlib/Makefile.packages
139 %{_libdir}/ocaml/findlib/findlib.cma
140 %{_libdir}/ocaml/findlib/findlib_dynload.cma
141 %{_libdir}/ocaml/findlib/findlib_top.cma
142 %if %{with ocaml_opt}
143 %attr(755,root,root) %{_libdir}/ocaml/findlib/findlib.cmxs
144 %attr(755,root,root) %{_libdir}/ocaml/findlib/findlib_dynload.cmxs
145 %attr(755,root,root) %{_libdir}/ocaml/findlib/findlib_top.cmxs
146 %endif
147 %{_libdir}/ocaml/site-lib/findlib
148 # symlinks
149 %{_libdir}/ocaml/site-lib/libexec
150 %{_libdir}/ocaml/site-lib/stublibs
151 # META files for base ocaml packages
152 %{_libdir}/ocaml/site-lib/bigarray
153 %{_libdir}/ocaml/site-lib/bytes
154 %{_libdir}/ocaml/site-lib/compiler-libs
155 %{_libdir}/ocaml/site-lib/dynlink
156 %{_libdir}/ocaml/site-lib/ocamldoc
157 %{_libdir}/ocaml/site-lib/stdlib
158 %{_libdir}/ocaml/site-lib/str
159 %{_libdir}/ocaml/site-lib/threads
160 %{_libdir}/ocaml/site-lib/unix
161 # camlp4 4.02 doesn't provide its META itself
162 %{_libdir}/ocaml/site-lib/camlp4
163 %{_mandir}/man1/ocamlfind.1*
164 %{_mandir}/man5/META.5*
165 %{_mandir}/man5/findlib.conf.5*
166 %{_mandir}/man5/site-lib.5*
167
168 %files devel
169 %defattr(644,root,root,755)
170 %{_libdir}/ocaml/findlib/findlib.cmi
171 %{_libdir}/ocaml/findlib/fl_*.cmi
172 %{_libdir}/ocaml/findlib/topfind.cmi
173 %if %{with ocaml_opt}
174 %{_libdir}/ocaml/findlib/findlib.a
175 %{_libdir}/ocaml/findlib/findlib.cmxa
176 %{_libdir}/ocaml/findlib/findlib_dynload.a
177 %{_libdir}/ocaml/findlib/findlib_dynload.cmxa
178 %{_libdir}/ocaml/findlib/findlib_top.a
179 %{_libdir}/ocaml/findlib/findlib_top.cmxa
180 %endif
181 %{_libdir}/ocaml/ocamlfind
182 %{_libdir}/ocaml/topfind
This page took 0.086937 seconds and 4 git commands to generate.