- fix install without ocaml opt build
[packages/ocaml-curl.git] / ocaml-curl.spec
1 #
2 # Conditional build:
3 %bcond_without  ocaml_opt       # skip building native optimized binaries (bytecode is always built)
4
5 # not yet available on x32 (ocaml 4.02.1), remove when upstream will support it
6 %ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9
7 %undefine       with_ocaml_opt
8 %endif
9
10 %define debug_package %{nil}
11 %define pkgname curl
12 Summary:        OCaml Curl library (ocurl)
13 Name:           ocaml-%{pkgname}
14 Version:        0.7.1
15 Release:        2
16 License:        MIT
17 Group:          Libraries
18 Source0:        https://forge.ocamlcore.org/frs/download.php/1400/ocurl-%{version}.tar.gz
19 # Source0-md5:  d138fd78538ae3bd008d6e9c2993d240
20 Patch0:         ocaml_opt.patch
21 URL:            http://ocurl.forge.ocamlcore.org/
22 BuildRequires:  curl-devel >= 7.12.0
23 BuildRequires:  gawk
24 BuildRequires:  ocaml >= 3.10.0-7
25 BuildRequires:  ocaml-findlib-devel
26 # Explicitly require Curl (fixes RHBZ#711261). Since ocaml-curl uses
27 # -custom rather than ocamlmklib, automatic detection is infeasible.
28 Requires:       curl-devel >= 7.12.0
29 %requires_eq    ocaml-runtime
30 ExcludeArch:    sparc64 s390 s390x
31 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32
33 %description
34 The Ocaml Curl Library (Ocurl) is an interface library for the
35 programming language Ocaml to the networking library libcurl.
36
37 %package devel
38 Summary:        Development files for %{name}
39 Group:          Development/Libraries
40 Requires:       %{name} = %{version}-%{release}
41
42 %description devel
43 The %{name}-devel package contains libraries and signature files for
44 developing applications that use %{name}.
45
46 %prep
47 %setup -q -n ocurl-%{version}
48 %patch0 -p1
49
50 %build
51 %configure
52 %{__make} -j1 all \
53 %if %{with ocaml_opt}
54         OCBYTE="ocamlc.opt -g" \
55         OCOPT="ocamlopt.opt -g"
56 %endif
57
58 %install
59 rm -rf $RPM_BUILD_ROOT
60 export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml
61 install -d $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs
62
63 %{__make} install \
64         DESTDIR=$RPM_BUILD_ROOT
65
66 # Install curl.mli
67 cp -p curl.mli $OCAMLFIND_DESTDIR/curl
68
69 install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/curl
70 cat > $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/curl/META <<EOF
71 requires = ""
72 version = "%{version}"
73 directory = "+curl"
74 archive(byte) = "curl.cma"
75 archive(native) = "curl.cmxa"
76 linkopts = ""
77 EOF
78
79 # Make clean in the examples dir so our docs don't contain binaries.
80 %{__make} -C examples clean
81
82 %clean
83 rm -rf $RPM_BUILD_ROOT
84
85 %files
86 %defattr(644,root,root,755)
87 %doc COPYING
88 %{_libdir}/ocaml/curl
89 %attr(755,root,root) %{_libdir}/ocaml/stublibs/dllcurl-helper.so
90 %{_libdir}/ocaml/stublibs/dllcurl-helper.so.owner
91 %if %{with ocaml_opt}
92 %exclude %{_libdir}/ocaml/curl/*.a
93 %exclude %{_libdir}/ocaml/curl/*.o
94 %exclude %{_libdir}/ocaml/curl/*.cmx
95 %exclude %{_libdir}/ocaml/curl/*.cmxa
96 %endif
97 %exclude %{_libdir}/ocaml/curl/*.mli
98
99 %files devel
100 %defattr(644,root,root,755)
101 %doc examples/*
102 %if %{with ocaml_opt}
103 %{_libdir}/ocaml/curl/*.a
104 %{_libdir}/ocaml/curl/*.o
105 %{_libdir}/ocaml/curl/*.cmx
106 %{_libdir}/ocaml/curl/*.cmxa
107 %endif
108 %{_libdir}/ocaml/curl/*.mli
109 %{_libdir}/ocaml/site-lib/curl
This page took 0.051049 seconds and 3 git commands to generate.