Olaf Hering 2016-06-17 07:38:35 +00:00 committed by Git OBS Bridge
parent 0f5c4e8eec
commit f9d735bb82
5 changed files with 113 additions and 71 deletions

View File

@ -1,35 +0,0 @@
From 21ac993da0a187821e812fe7b5b31a426121a546 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Sat, 30 Aug 2014 19:10:19 +0100
Subject: [PATCH] Use C99 standard int64_t instead of OCaml defined (and soon
to go) int64.
---
libvirt/libvirt_c_oneoffs.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c
index 3bb572f..06b3852 100644
--- a/libvirt/libvirt_c_oneoffs.c
+++ b/libvirt/libvirt_c_oneoffs.c
@@ -140,7 +140,7 @@ ocaml_libvirt_connect_node_get_free_memory (value connv)
NONBLOCKING (r = virNodeGetFreeMemory (conn));
CHECK_ERROR (r == 0, conn, "virNodeGetFreeMemory");
- rv = caml_copy_int64 ((int64) r);
+ rv = caml_copy_int64 ((int64_t) r);
CAMLreturn (rv);
}
@@ -161,7 +161,7 @@ ocaml_libvirt_connect_node_get_cells_free_memory (value connv,
rv = caml_alloc (r, 0);
for (i = 0; i < r; ++i) {
- iv = caml_copy_int64 ((int64) freemems[i]);
+ iv = caml_copy_int64 ((int64_t) freemems[i]);
Store_field (rv, i, iv);
}
--
2.0.4

14
_service Normal file
View File

@ -0,0 +1,14 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="url">git://git.annexia.org/git/ocaml-libvirt.git</param>
<param name="scm">git</param>
<param name="versionformat">0.6.1.4.%cd.%h</param>
<param name="revision">master</param>
<param name="filename">ocaml-libvirt</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled"/>
</services>

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7469bf554cc9c7da42a3015cd7561aa759c60c2c2f962f0a6d5dddab781d9e79
size 74392

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4d36d57dbc9280881e5362f562d4ca7c7881e8ec9ff1954eb064acc9ccf0021b
size 136023

View File

@ -17,24 +17,20 @@
Name: ocaml-libvirt
Version: 0.6.1.4
Version: 0.6.1.4.20160205.8853f5a
Release: 0
%{ocaml_preserve_bytecode}
Summary: OCaml binding for libvirt
License: LGPL-2.0+
Group: Development/Libraries/Other
Url: http://libvirt.org/ocaml/
Source0: http://libvirt.org/sources/ocaml/%{name}-%{version}.tar.gz
# Upstream patch to fix int types.
Patch1: 0001-Use-C99-standard-int64_t-instead-of-OCaml-defined-an.patch
BuildRequires: gawk
# 0.9.10-3 contains virDomainGetCPUStats API, but not the qemu driver.
BuildRequires: libvirt-devel >= 0.9.10-3
BuildRequires: ocaml >= 3.10.0
BuildRequires: ocaml-rpm-macros >= 4.02.1
BuildRequires: ocaml-findlib
Source0: %{name}-%{version}.tar.xz
BuildRequires: ocaml
BuildRequires: ocaml-oasis
BuildRequires: ocaml-ocamldoc
BuildRequires: ocaml-rpm-macros >= 4.03
BuildRequires: perl
BuildRequires: pkgconfig(libvirt)
Requires: libvirt-client >= 0.9.10-3
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# ocaml autodep start for pkg: ocaml-libvirt
@ -58,32 +54,94 @@ developing applications that use %{name}.
%prep
%setup -q
%patch1 -p1
%build
%configure
make %{?_smp_mflags} all doc
%if %{ocaml_native_compiler}
make %{?_smp_mflags} opt
%endif
sed '
s|@PACKAGE_NAME@|libvirt|
s|@PACKAGE_VERSION@|%{version}|
' libvirt/libvirt_version.ml.in > libvirt/libvirt_version.ml
#
tee config.h <<'_EOF_'
_EOF_
#
libvirt_version="`pkg-config --modversion libvirt`"
libvirt_cflags="`pkg-config --cflags libvirt`"
libvirt_libs="`pkg-config --libs libvirt`"
#
pushd libvirt
mv -v libvirt_c.c libvirt_c.c.txt
perl -w generator.pl
diff -u libvirt_c.c.txt libvirt_c.c || :
popd
# obs service changes every ^Version line ...
sh -c "sed 's/^Version.*/Version: %{version}/' | tee _oasis" <<_EOF_
OASISFormat: 0.4
Name: libvirt
Version: 20160605.10e2437
Synopsis: binding for libvirt
Authors: Richard W.M. Jones
License: LGPL-2.0+
Plugins: META(`oasis version`)
BuildTools: ocamlbuild
Library mllibvirt
Path: libvirt
Install: true
Modules: Libvirt, Libvirt_version
FindlibName: libvirt
BuildDepends: unix
CSources: libvirt_c.c
CCOpt: -Wall -O2 -g -I$PWD -I$PWD/libvirt -Werror -D_GNU_SOURCE ${libvirt_cflags}
CCLib: ${libvirt_libs}
Document libvirt
Title: API reference for libvirt
Type: ocamlbuild
BuildTools+: ocamldoc
InstallDir: \$htmldir
Install: true
XOCamlbuildPath: .
XOCamlbuildLibraries: libvirt
Executable "%{name}-domain_events"
Install: true
Path: examples
MainIs: domain_events.ml
CompiledObject: best
BuildDepends: libvirt
Executable "%{name}-get_cpu_stats"
Install: true
Path: examples
MainIs: get_cpu_stats.ml
CompiledObject: best
BuildDepends: libvirt
Executable "%{name}-list_domains"
Install: true
Path: examples
MainIs: list_domains.ml
CompiledObject: best
BuildDepends: libvirt
Executable "%{name}-node_info"
Install: true
Path: examples
MainIs: node_info.ml
CompiledObject: best
BuildDepends: libvirt
_EOF_
%oasis_setup
%ocaml_oasis_configure --enable-docs
%ocaml_oasis_build
%ocaml_oasis_doc
%install
# These rules work if the library uses 'ocamlfind install' to install itself.
export DESTDIR=%{buildroot}
export OCAMLFIND_DESTDIR=%{buildroot}%{_libdir}/ocaml
mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs
mkdir -p %{buildroot}%{_bindir}
%if %{ocaml_native_compiler}
make install-opt
%else
make install-byte
%endif
%ocaml_oasis_findlib_install
#
mkdir -vp %{buildroot}/etc/ld.so.conf.d/
tee %{buildroot}/etc/ld.so.conf.d/%{name}.conf <<_EOF_
%{_libdir}/ocaml/stublibs
%{_libdir}/ocaml/libvirt
_EOF_
#
@ -91,20 +149,22 @@ _EOF_
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc COPYING.LIB README ChangeLog
%doc COPYING.LIB README
/etc/ld.so.conf.d/*.conf
%{_bindir}/*
%dir %{_libdir}/ocaml
%dir %{_libdir}/ocaml/*
%if %{ocaml_native_compiler}
%{_libdir}/ocaml/*/*.cmxs
%endif
%{_libdir}/ocaml/*/*.so
%{_libdir}/ocaml/*/*.so.owner
%files devel
%defattr(-,root,root,-)
%doc COPYING.LIB README TODO.libvirt ChangeLog html/*
%doc COPYING.LIB README
%{oasis_docdir_html}
%dir %{_libdir}/ocaml
%dir %{_libdir}/ocaml/*
%{_libdir}/ocaml/*/*.a
@ -112,8 +172,11 @@ _EOF_
%{_libdir}/ocaml/*/*.cmx
%{_libdir}/ocaml/*/*.cmxa
%endif
%{_libdir}/ocaml/*/*.annot
%{_libdir}/ocaml/*/*.cma
%{_libdir}/ocaml/*/*.cmi
%{_libdir}/ocaml/*/*.cmt
%{_libdir}/ocaml/*/*.cmti
%{_libdir}/ocaml/*/*.mli
%{_libdir}/ocaml/*/META