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