9ecb03e4f69eed4315f3028f3de3593cf800fbfc
[fedora-reviews.git] / libblkio / libblkio.spec
1 Version:       1.1.1
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:       9%{?dist}
9 URL:           %{forgeurl}
10 Source0:       %{forgesource}
11 License:       Apache-2.0 OR MIT
12
13 # Fix for meson 0.64
14 # (https://gitlab.com/libblkio/libblkio/-/merge_requests/149)
15 Patch:         149.patch
16
17 # Basic build requirements.
18 BuildRequires: gcc, gcc-c++
19 BuildRequires: make
20 BuildRequires: meson
21 BuildRequires: rust-packaging >= 21
22 BuildRequires: rustfmt
23 BuildRequires: cargo
24 BuildRequires: python3-docutils
25 BuildRequires: pkgconf
26
27 # XXX Eventually use %%generate_buildrequires but it does not support
28 # workspaces yet.  See
29 # https://bugzilla.redhat.com/show_bug.cgi?id=2124697#c57
30 #
31 # For major version >= 1, we are requiring that the major version does
32 # not change.
33 #
34 # For major version >= 0, we are requiring that the minor version does
35 # not change.
36 BuildRequires: (crate(autocfg/default) >= 1.0.0 with crate(autocfg/default) < 2.0.0~)
37 BuildRequires: (crate(bitflags/default) >= 1.0.0 with crate(bitflags/default) < 2.0.0~)
38 BuildRequires: (crate(cc/default) >= 1.0.0 with crate(cc/default) < 2.0.0~)
39 BuildRequires: (crate(cfg-if/default) >= 1.0.0 with crate(cfg-if/default) < 2.0.0~)
40 BuildRequires: (crate(concat-idents/default) >= 1.0.0 with crate(concat-idents/default) < 2.0.0~)
41 BuildRequires: (crate(const-cstr/default) >= 0.3.0 with crate(const-cstr/default) < 0.4.0~)
42 BuildRequires: (crate(io-uring/default) >= 0.5.8 with crate(io-uring/default) < 0.6.0~)
43 BuildRequires: (crate(lazy_static/default) >= 1.0.0 with crate(lazy_static/default) < 2.0.0~)
44 BuildRequires: (crate(libc/default) >= 0.2.134 with crate(libc/default) < 0.3.0~)
45 BuildRequires: (crate(memmap2/default) >= 0.5.7 with crate(memmap2/default) < 0.6.0~)
46 BuildRequires: (crate(nix/default) >= 0.24.2 with crate(nix/default) < 0.25.0~)
47 BuildRequires: (crate(num-traits/default) >= 0.2.15 with crate(num-traits/default) < 0.3.0~)
48 BuildRequires: (crate(pci-driver/default) >= 0.1.2 with crate(pci-driver/default) < 0.2.0~)
49 BuildRequires: (crate(proc-macro2/default) >= 1.0.0 with crate(proc-macro2/default) < 2.0.0~)
50 BuildRequires: (crate(quote/default) >= 1.0.0 with crate(quote/default) < 2.0.0~)
51 BuildRequires: (crate(syn/default) >= 1.0.0 with crate(syn/default) < 2.0.0~)
52 BuildRequires: (crate(unicode-ident/default) >= 1.0.0 with crate(unicode-ident/default) < 2.0.0~)
53 BuildRequires: (crate(virtio-bindings/default) >= 0.1.0 with crate(virtio-bindings/default) < 0.2.0~)
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
74 %cargo_prep
75 sed -e 's/--locked/--offline/' -i src/cargo-build.sh
76
77 %build
78 %{meson}
79 %{meson_build}
80
81
82 %install
83 %{meson_install}
84
85
86 %files
87 %license LICENSE-APACHE LICENSE-MIT LICENSE.crosvm
88 %doc README.rst
89 %{_libdir}/libblkio.so.1*
90
91
92 %files devel
93 %license LICENSE-APACHE LICENSE-MIT LICENSE.crosvm
94 %doc README.rst
95 %{_includedir}/blkio.h
96 %{_libdir}/libblkio.so
97 %{_libdir}/pkgconfig/blkio.pc
98 %{_mandir}/man3/blkio.3*
99
100
101 %changelog
102 * Thu Nov 24 2022 Richard W.M. Jones <rjones@redhat.com> - 1.1.1-9
103 - Initial package