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