Unbundle pci-driver
[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/winapi*
19 Source1:       vendor.tar.gz
20
21 # Bundled dependencies
22 Provides:      bundled(crate(memfd/default)) = 0.4.1
23
24 # Basic build requirements.
25 BuildRequires: gcc, gcc-c++
26 BuildRequires: make
27 BuildRequires: meson
28 BuildRequires: rust-packaging >= 21
29 BuildRequires: rustfmt
30 BuildRequires: cargo
31 BuildRequires: python3-docutils
32 BuildRequires: pkgconf
33 BuildRequires: crate(autocfg/default)
34 BuildRequires: crate(bitflags/default)
35 BuildRequires: crate(cc/default)
36 BuildRequires: crate(cfg-if/default)
37 BuildRequires: crate(concat-idents/default)
38 BuildRequires: crate(const-cstr/default)
39 BuildRequires: crate(io-uring/default)
40 BuildRequires: crate(lazy_static/default)
41 BuildRequires: crate(libc/default)
42 # BuildRequires: crate(memfd...)
43 BuildRequires: crate(memmap/default)
44 BuildRequires: crate(memoffset/default)
45 BuildRequires: crate(nix/default)
46 BuildRequires: crate(num-traits/default)
47 BuildRequires: crate(pci-driver/default)
48 BuildRequires: crate(proc-macro2/default)
49 BuildRequires: crate(quote/default)
50 BuildRequires: crate(syn/default)
51 BuildRequires: crate(unicode-xid/default)
52 BuildRequires: crate(virtio-bindings/default)
53
54
55 %description
56 libblkio is a library for high-performance block device I/O with
57 support for multi-queue devices. A C API is provided so that
58 applications can use the library from most programming languages.
59
60
61 %package devel
62 Summary:       Development tools for %{name}
63 Requires:      %{name}%{_isa} = %{version}-%{release}
64
65
66 %description devel
67 This package contains development tools for %{name}.
68
69
70 %prep
71 %forgesetup
72 tar zxf %{SOURCE1}
73
74 cat >> Cargo.toml <<EOF
75 [patch.crates-io]
76 memfd = { path = 'vendor/memfd' }
77 winapi = { path = 'vendor/winapi' }
78 winapi-i686-pc-windows-gnu = { path = 'vendor/winapi-i686-pc-windows-gnu' }
79 winapi-x86_64-pc-windows-gnu = { path = 'vendor/winapi-x86_64-pc-windows-gnu' }
80 EOF
81 %cargo_prep
82 sed -e 's/--locked/--offline/' -i src/cargo-build.sh
83
84 %build
85 %{meson}
86 %{meson_build}
87
88
89 %install
90 %{meson_install}
91
92
93 %files
94 %license LICENSE-APACHE LICENSE-MIT LICENSE.crosvm
95 %doc README.rst
96 %{_libdir}/libblkio.so.1*
97
98
99 %files devel
100 %license LICENSE-APACHE LICENSE-MIT LICENSE.crosvm
101 %doc README.rst
102 %{_includedir}/blkio.h
103 %{_libdir}/libblkio.so
104 %{_libdir}/pkgconfig/blkio.pc
105 %{_mandir}/man3/blkio.3*
106
107
108 %changelog
109 * Fri Oct 28 2022 Richard W.M. Jones <rjones@redhat.com> - 1.1.0-2
110 - Initial package