9e3d6fff4439520d94149e5eda8e4d0b5cb1ab4e
[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:       2%{?dist}
9 URL:           %{forgeurl}
10 Source0:       %{forgesource}
11 License:       ASL 2.0 or MIT
12
13 # Bundled missing dependencies.
14 #
15 # These were created by running "cargo vendor" in the source tree
16 # and then making a tarball of just the following directories:
17 # vendor/memfd
18 # vendor/pci-driver
19 # vendor/winapi*
20 Source1:       vendor.tar.gz
21
22 # Bundled dependencies
23 Provides:      bundled(crate(memfd/default)) = 0.4.1
24 Provides:      bundled(crate(pci-driver/default)) = 0.1.2
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 %forgesetup
74 tar zxf %{SOURCE1}
75
76 cat >> Cargo.toml <<EOF
77 [patch.crates-io]
78 memfd = { path = 'vendor/memfd' }
79 pci-driver = { path = 'vendor/pci-driver' }
80 winapi = { path = 'vendor/winapi' }
81 winapi-i686-pc-windows-gnu = { path = 'vendor/winapi-i686-pc-windows-gnu' }
82 winapi-x86_64-pc-windows-gnu = { path = 'vendor/winapi-x86_64-pc-windows-gnu' }
83 EOF
84 %cargo_prep
85 sed -e 's/--locked/--offline/' -i src/cargo-build.sh
86
87 %build
88 %{meson}
89 %{meson_build}
90
91
92 %install
93 %{meson_install}
94
95
96 %files
97 %license LICENSE-APACHE LICENSE-MIT LICENSE.crosvm
98 %doc README.rst
99 %{_libdir}/libblkio.so.1*
100
101
102 %files devel
103 %license LICENSE-APACHE LICENSE-MIT LICENSE.crosvm
104 %doc README.rst
105 %{_includedir}/blkio.h
106 %{_libdir}/libblkio.so
107 %{_libdir}/pkgconfig/blkio.pc
108 %{_mandir}/man3/blkio.3*
109
110
111 %changelog
112 * Fri Oct 28 2022 Richard W.M. Jones <rjones@redhat.com> - 1.1.0-2
113 - Initial package