Add versioned BuildRequires
[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:       8%{?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 packages with major version >= 1 we are simply requiring that
32 # the major version does not change.
33 BuildRequires: (crate(autocfg/default) >= 1.0.0 with crate(autocfg/default) < 2.0.0~)
34 BuildRequires: (crate(bitflags/default) >= 1.0.0 with crate(bitflags/default) < 2.0.0~)
35 BuildRequires: (crate(cc/default) >= 1.0.0 with crate(cc/default) < 2.0.0~)
36 BuildRequires: (crate(cfg-if/default) >= 1.0.0 with crate(cfg-if/default) < 2.0.0~)
37 BuildRequires: (crate(concat-idents/default) >= 1.0.0 with crate(concat-idents/default) < 2.0.0~)
38 BuildRequires: crate(const-cstr/default) >= 0.3.0
39 BuildRequires: crate(io-uring/default) >= 0.5.8
40 BuildRequires: (crate(lazy_static/default) >= 1.0.0 with crate(lazy_static/default) < 2.0.0~)
41 BuildRequires: crate(libc/default) >= 0.2.134
42 BuildRequires: crate(memmap2/default) >= 0.5.7
43 BuildRequires: crate(nix/default) >= 0.24.2
44 BuildRequires: crate(num-traits/default) >= 0.2.15
45 BuildRequires: crate(pci-driver/default) >= 0.1.2
46 BuildRequires: (crate(proc-macro2/default) >= 1.0.0 with crate(proc-macro2/default) < 2.0.0~)
47 BuildRequires: (crate(quote/default) >= 1.0.0 with crate(quote/default) < 2.0.0~)
48 BuildRequires: (crate(syn/default) >= 1.0.0 with crate(syn/default) < 2.0.0~)
49 BuildRequires: (crate(unicode-ident/default) >= 1.0.0 with crate(unicode-ident/default) < 2.0.0~)
50 BuildRequires: crate(virtio-bindings/default) >= 0.1.0
51
52
53 %description
54 libblkio is a library for high-performance block device I/O with
55 support for multi-queue devices. A C API is provided so that
56 applications can use the library from most programming languages.
57
58
59 %package devel
60 Summary:       Development tools for %{name}
61 Requires:      %{name}%{_isa} = %{version}-%{release}
62
63
64 %description devel
65 This package contains development tools for %{name}.
66
67
68 %prep
69 %forgeautosetup -p1
70
71 %cargo_prep
72 sed -e 's/--locked/--offline/' -i src/cargo-build.sh
73
74 %build
75 %{meson}
76 %{meson_build}
77
78
79 %install
80 %{meson_install}
81
82
83 %files
84 %license LICENSE-APACHE LICENSE-MIT LICENSE.crosvm
85 %doc README.rst
86 %{_libdir}/libblkio.so.1*
87
88
89 %files devel
90 %license LICENSE-APACHE LICENSE-MIT LICENSE.crosvm
91 %doc README.rst
92 %{_includedir}/blkio.h
93 %{_libdir}/libblkio.so
94 %{_libdir}/pkgconfig/blkio.pc
95 %{_mandir}/man3/blkio.3*
96
97
98 %changelog
99 * Thu Nov 24 2022 Richard W.M. Jones <rjones@redhat.com> - 1.1.1-8
100 - Initial package