9715ac66892e4fd3c5ec3237cbfedf33e01c82d2
[fedora-reviews.git] / libblkio / libblkio.spec
1 Version:       1.1.0
2 %global forgeurl https://gitlab.com/libblkio/libblkio
3 %global tag    v%{version}
4 %forgemeta
5
6 Summary:       Block device I/O library
7 Name:          libblkio
8 Release:       3%{?dist}
9 URL:           %{forgeurl}
10 Source0:       %{forgesource}
11 License:       ASL 2.0 or MIT
12
13 Patch:         0001-Use-io-uring-0.5.8.patch
14
15 # Bundled missing dependencies.
16 #
17 # These were created by running "cargo vendor" in the source tree
18 # and then making a tarball of just the following directories:
19 # vendor/memfd
20 # vendor/winapi*
21 Source1:       vendor.tar.gz
22
23 # Bundled dependencies
24 Provides:      bundled(crate(memfd/default)) = 0.4.1
25
26 # Basic build requirements.
27 BuildRequires: gcc, gcc-c++
28 BuildRequires: make
29 BuildRequires: meson
30 BuildRequires: rust-packaging >= 21
31 BuildRequires: rustfmt
32 BuildRequires: cargo
33 BuildRequires: python3-docutils
34 BuildRequires: pkgconf
35 BuildRequires: crate(autocfg/default)
36 BuildRequires: crate(bitflags/default)
37 BuildRequires: crate(cc/default)
38 BuildRequires: crate(cfg-if/default)
39 BuildRequires: crate(concat-idents/default)
40 BuildRequires: crate(const-cstr/default)
41 BuildRequires: crate(io-uring/default)
42 BuildRequires: crate(lazy_static/default)
43 BuildRequires: crate(libc/default)
44 # BuildRequires: crate(memfd...)
45 BuildRequires: crate(memmap/default)
46 BuildRequires: crate(memoffset/default)
47 BuildRequires: crate(nix/default)
48 BuildRequires: crate(num-traits/default)
49 BuildRequires: crate(pci-driver/default)
50 BuildRequires: crate(proc-macro2/default)
51 BuildRequires: crate(quote/default)
52 BuildRequires: crate(syn/default)
53 BuildRequires: crate(unicode-xid/default)
54 BuildRequires: crate(virtio-bindings/default)
55
56
57 %description
58 libblkio is a library for high-performance block device I/O with
59 support for multi-queue devices. A C API is provided so that
60 applications can use the library from most programming languages.
61
62
63 %package devel
64 Summary:       Development tools for %{name}
65 Requires:      %{name}%{_isa} = %{version}-%{release}
66
67
68 %description devel
69 This package contains development tools for %{name}.
70
71
72 %prep
73 %forgeautosetup -p1
74 tar zxf %{SOURCE1}
75
76 cat >> Cargo.toml <<EOF
77 [patch.crates-io]
78 memfd = { path = 'vendor/memfd' }
79 winapi = { path = 'vendor/winapi' }
80 winapi-i686-pc-windows-gnu = { path = 'vendor/winapi-i686-pc-windows-gnu' }
81 winapi-x86_64-pc-windows-gnu = { path = 'vendor/winapi-x86_64-pc-windows-gnu' }
82 EOF
83 %cargo_prep
84 sed -e 's/--locked/--offline/' -i src/cargo-build.sh
85
86 %build
87 %{meson}
88 %{meson_build}
89
90
91 %install
92 %{meson_install}
93
94
95 %files
96 %license LICENSE-APACHE LICENSE-MIT LICENSE.crosvm
97 %doc README.rst
98 %{_libdir}/libblkio.so.1*
99
100
101 %files devel
102 %license LICENSE-APACHE LICENSE-MIT LICENSE.crosvm
103 %doc README.rst
104 %{_includedir}/blkio.h
105 %{_libdir}/libblkio.so
106 %{_libdir}/pkgconfig/blkio.pc
107 %{_mandir}/man3/blkio.3*
108
109
110 %changelog
111 * Mon Oct 31 2022 Richard W.M. Jones <rjones@redhat.com> - 1.1.0-3
112 - Initial package