]> git.pld-linux.org Git - SPECS.git/blob - libblkio.spec
SPECS updated Tue 30 Apr 15:06:09 CEST 2024
[SPECS.git] / libblkio.spec
1 #
2 # Conditional build:
3 %bcond_without  apidocs         # API documentation
4 #
5 Summary:        Block device I/O library
6 Summary(pl.UTF-8):      Bibliotek we/wy urządzeń blokowych
7 Name:           libblkio
8 Version:        1.3.0
9 Release:        1
10 License:        MIT or Apache v2.0 (+crates: Apache v2.0 or BSD, MIT, BSD, Unicode DFS 2016)
11 Group:          Libraries
12 #Source0Download: https://gitlab.com/libblkio/libblkio/tags
13 Source0:        https://gitlab.com/libblkio/libblkio/-/archive/v%{version}/%{name}-%{version}.tar.bz2
14 # Source0-md5:  34397d6a333eb05b82d3388194d237be
15 Source1:        %{name}-%{version}-vendor.tar.xz
16 # Source1-md5:  6b44c3d7fc4fd5a2d411da95e89f28b3
17 URL:            https://gitlab.com/libblkio/libblkio
18 BuildRequires:  cargo
19 # rst2man
20 BuildRequires:  docutils
21 BuildRequires:  meson
22 BuildRequires:  ninja >= 1.5
23 BuildRequires:  python3
24 BuildRequires:  rpm-build >= 4.6
25 BuildRequires:  rpmbuild(macros) >= 1.736
26 BuildRequires:  rust >= 1.56
27 %{?with_apidocs:BuildRequires:  sphinx-pdg-3}
28 BuildRequires:  tar >= 1:1.22
29 BuildRequires:  xz
30 ExclusiveArch:  %{x8664} %{ix86} x32 aarch64 armv6hl armv7hl armv7hnl
31 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32
33 %description
34 libblkio is a library for high-performance block device I/O with
35 support for multi-queue devices. A C API is provided so that
36 applications can use the library from most programming languages.
37
38 %description -l pl.UTF-8
39 libblkio to biblioteka do wysoko wydajnego we/wy urządzeń blokowych z
40 obsługą urządzeń wielokolejkowych. Udostępnia API C, dzięki czemu
41 aplikacje mogą używać biblioteki z większości języków.
42
43 %package devel
44 Summary:        Header files for libblkio library
45 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki libblkio
46 Group:          Development/Libraries
47 Requires:       %{name} = %{version}-%{release}
48
49 %description devel
50 Header files for libblkio library.
51
52 %description devel -l pl.UTF-8
53 Pliki nagłówkowe biblioteki libblkio.
54
55 %package apidocs
56 Summary:        API documentation for libblkio library
57 Summary(pl.UTF-8):      Dokumentacja API biblioteki libblkio
58 Group:          Documentation
59 BuildArch:      noarch
60
61 %description apidocs
62 API documentation for libblkio library.
63
64 %description apidocs -l pl.UTF-8
65 Dokumentacja API biblioteki libblkio.
66
67 %prep
68 %setup -q -n %{name}-v%{version}-f64bb10aa28ba2d30d1803eeb54179ef0ee0ba80 -b1
69
70 %{__sed} -i -e '/^args=/ a args+=( --offline -v )' src/cargo-build.sh
71 %{__sed} -i -e 's/ -C debuginfo=. / %{rpmrustflags} /' src/cargo-build.sh
72 %ifarch x32
73 %{__sed} -i -e '/^args=/ a args+=( --target x86_64-unknown-linux-gnux32 )' src/cargo-build.sh
74 %{__sed} -i -e 's,/\${profile}/,/x86_64-unknown-linux-gnux32/\${profile}/,' src/cargo-build.sh
75 %endif
76
77 # use offline registry
78 export CARGO_HOME="$(pwd)/.cargo"
79 mkdir -p "$CARGO_HOME"
80 cat >.cargo/config <<EOF
81 [source.crates-io]
82 registry = 'https://github.com/rust-lang/crates.io-index'
83 replace-with = 'vendored-sources'
84
85 [source.vendored-sources]
86 directory = '$PWD/vendor'
87 EOF
88
89 %build
90 export CARGO_HOME="$(pwd)/.cargo"
91
92 %meson build
93
94 %ninja_build -C build
95
96 %if %{with apidocs}
97 sphinx-build-3 -b html docs docs/_build/html
98 %endif
99
100 %install
101 rm -rf $RPM_BUILD_ROOT
102 export CARGO_HOME="$(pwd)/.cargo"
103
104 %ninja_install -C build
105
106 install -d $RPM_BUILD_ROOT%{_examplesdir}
107 cp -pr examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
108
109 %clean
110 rm -rf $RPM_BUILD_ROOT
111
112 %post   -p /sbin/ldconfig
113 %postun -p /sbin/ldconfig
114
115 %files
116 %defattr(644,root,root,755)
117 %doc LICENSE-MIT LICENSE.crosvm README.rst
118 %attr(755,root,root) %{_libdir}/libblkio.so.*.*.*
119 %attr(755,root,root) %ghost %{_libdir}/libblkio.so.1
120
121 %files devel
122 %defattr(644,root,root,755)
123 %attr(755,root,root) %{_libdir}/libblkio.so
124 %{_includedir}/blkio.h
125 %{_pkgconfigdir}/blkio.pc
126 %{_mandir}/man3/blkio.3*
127 %{_examplesdir}/%{name}-%{version}
128
129 %if %{with apidocs}
130 %files apidocs
131 %defattr(644,root,root,755)
132 %doc docs/_build/html/{_static,*.html,*.js}
133 %endif
This page took 0.431816 seconds and 3 git commands to generate.