Add xnvme
[fedora-reviews.git] / xnvme / xnvme.spec
1 Name:           xnvme
2 Version:        0.7.4
3 Release:        1%{?dist}
4 Summary:        Unified API and tools for traditional and emerging I/O interfaces
5
6 License:        BSD-3-Clause
7 URL:            https://github.com/OpenMPDK/xNVMe
8 Source:         %{url}/releases/download/v%{version}/xnvme-%{version}.tar.gz
9
10 BuildRequires:  meson gcc
11 BuildRequires:  libaio-devel liburing-devel
12
13 %global major_version %(echo %{version} | cut -b 1)
14
15 %description
16 %{summary}.
17 Minimal-overhead libraries and tools for cross-platform storage I/O and
18 NVMe-native development. A unified API encapsulating traditional block-I/O via
19 psync, libaio, and io_uring as well as user-space NVMe drivers.
20
21 %package devel
22 Summary:        Development library and header files for %{name}
23 Requires:       %{name}%{?_isa} = %{version}-%{release}
24
25 %description devel
26 %{summary}.
27
28 %package static
29 Summary:        Static library for %{name}
30
31 %description static
32 %{summary}.
33
34 %package devel-static
35 Summary:        Static development library and header files for %{name}
36 Requires:       %{name}-static%{?_isa} = %{version}-%{release}
37
38 %description devel-static
39 %{summary}.
40
41
42 %package cli
43 Summary:        Command-line tools for storage I/O and NVMe-native development
44 Requires:       %{name}%{?_isa} = %{version}-%{release}
45
46 %description cli
47 %{summary}.
48
49 %prep
50 %autosetup
51
52 %build
53 %meson -Dforce_completions=true -Dwith-libvfn=disabled -Dwith-isal=disabled -Dwith-spdk=false -Dexamples=false -Dtests=false
54 %meson_build
55
56 %install
57 %meson_install
58
59 %files
60 %{_libdir}/lib%{name}.so
61 %{_libdir}/lib%{name}.so.%{major_version}
62 %{_libdir}/lib%{name}.so.%{version}
63
64 %files devel
65 %{_includedir}/lib%{name}*.h
66 %{_libdir}/pkgconfig/%{name}.pc
67
68 %files static
69 %{_libdir}/lib%{name}.a
70
71 %files devel-static
72 %{_includedir}/lib%{name}*.h
73 %{_libdir}/pkgconfig/%{name}.pc
74
75 %files cli
76 %{_bindir}/kvs
77 %{_bindir}/lblk
78 %{_bindir}/xdd
79 %{_bindir}/%{name}
80 %{_bindir}/%{name}-driver
81 %{_bindir}/%{name}_file
82 %{_bindir}/zoned
83 %{_mandir}/man1/kvs*
84 %{_mandir}/man1/lblk*
85 %{_mandir}/man1/xdd*
86 %{_mandir}/man1/%{name}-*
87 %{_mandir}/man1/%{name}.1.gz
88 %{_mandir}/man1/%{name}_file*
89 %{_mandir}/man1/zoned*
90 /usr/share/bash-completion/completions/kvs-completions
91 /usr/share/bash-completion/completions/lblk-completions
92 /usr/share/bash-completion/completions/xdd-completions
93 /usr/share/bash-completion/completions/%{name}-completions
94 /usr/share/bash-completion/completions/%{name}_file-completions
95 /usr/share/bash-completion/completions/zoned-completions