]> git.pld-linux.org Git - packages/libgpiod.git/blame - libgpiod.spec
- updated to 2.0 (API reworked, new sonames)
[packages/libgpiod.git] / libgpiod.spec
CommitLineData
8ea07acb
JB
1# TODO:
2# - rust bindings (--enable-bindings-rust, needs vendoring; BR: cargo, rust)
3# - tests (BR: kmod-devel >= 18, libmount-devel >= 2.33.1, glib2-devel >= 1:2.50 for library; bats for tools; catch2 for C++)
397de191
JB
4#
5# Conditional build:
6%bcond_without apidocs # Doxygen API documentation
7%bcond_without python # Python binding
8%bcond_without static_libs # static libraries
9#
10Summary: Library and tools for interacting with the Linux GPIO character device
11Summary(pl.UTF-8): Biblioteka i narzędzia do obsługi linuksowych urządzeń znakowych GPIO
12Name: libgpiod
8ea07acb 13Version: 2.0
93ed0a45 14Release: 1
397de191
JB
15License: LGPL v2.1+
16Group: Libraries
17Source0: https://www.kernel.org/pub/software/libs/libgpiod/%{name}-%{version}.tar.xz
8ea07acb
JB
18# Source0-md5: 5ee9ddc16c21c62dabbf83986c6709e2
19Patch0: %{name}-python.patch
397de191
JB
20URL: https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/
21%{?with_apidocs:BuildRequires: doxygen}
1628dfdd 22BuildRequires: help2man
8ea07acb 23BuildRequires: libstdc++-devel >= 6:7
0f0641d4 24BuildRequires: linux-libc-headers >= 6:5.5
397de191
JB
25%{?with_python:BuildRequires: python3-devel >= 1:3.2}
26BuildRequires: tar >= 1:1.22
27BuildRequires: xz
28BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
29
30%description
31Since Linux 4.8 the GPIO sysfs interface is deprecated. User space
32should use the character device instead. This library encapsulates the
33ioctl calls and data structures behind a straightforward API.
34
35%description -l pl.UTF-8
36Od wersja Linuksa 4.8 interfejs sysfs do GPIO jest przestarzały.
37Przestrzeń użytkownika powinna zamiast niego używać urządzenia
38znakowego. Ta biblioteka kryje wywołania ioctl i struktury danych za
39bezpośrednim API.
40
41%package devel
42Summary: Header files for libgpiod library
43Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libgpiod
44Group: Development/Libraries
45Requires: %{name} = %{version}-%{release}
46
47%description devel
48Header files for libgpiod library.
49
50%description devel -l pl.UTF-8
51Pliki nagłówkowe biblioteki libgpiod.
52
53%package static
54Summary: Static libgpiod library
55Summary(pl.UTF-8): Statyczna biblioteka libgpiod
56Group: Development/Libraries
57Requires: %{name}-devel = %{version}-%{release}
58
59%description static
60Static libgpiod library.
61
62%description static -l pl.UTF-8
63Statyczna biblioteka libgpiod.
64
65%package cxx
66Summary: C++ binding for libgpiod library
67Summary(pl.UTF-8): Interfejs C++ do biblioteki libgpiod
68Group: Libraries
69Requires: %{name} = %{version}-%{release}
70
71%description cxx
72High-level, object-oriented C++ binding for libgpiod library.
73
74%description cxx -l pl.UTF-8
75Wysokopoziomowy, zorientowany obiektowo interfejs C++ do biblioteki
76libgpiod.
77
78%package cxx-devel
79Summary: Header files for libgpiodcxx library
80Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libgpiodcxx
81Group: Development/Libraries
82Requires: %{name}-cxx = %{version}-%{release}
83Requires: %{name}-devel = %{version}-%{release}
8ea07acb 84Requires: libstdc++-devel >= 6:7
397de191
JB
85
86%description cxx-devel
87Header files for libgpiodcxx library.
88
89%description cxx-devel -l pl.UTF-8
90Pliki nagłówkowe biblioteki libgpiodcxx.
91
92%package cxx-static
93Summary: Static libgpiodcxx library
94Summary(pl.UTF-8): Statyczna biblioteka libgpiodcxx
95Group: Development/Libraries
96Requires: %{name}-cxx-devel = %{version}-%{release}
97
98%description cxx-static
99Static libgpiodcxx library.
100
101%description cxx-static -l pl.UTF-8
102Statyczna biblioteka libgpiodcxx.
103
104%package -n python3-gpiod
105Summary: Pythona binding for libgpiod library
106Summary(pl.UTF-8): Interfejs Pythona do biblioteki libgpiod
107Group: Libraries/Python
108Requires: %{name} = %{version}-%{release}
109
110%description -n python3-gpiod
111High-level, object-oriented Python binding for libgpiod library.
112
113%description -n python3-gpiod -l pl.UTF-8
114Wysokopoziomowy, zorientowany obiektowo interfejs Pythona do
115biblioteki libgpiod.
116
117%package apidocs
118Summary: API documentation for libgpiod library
119Summary(pl.UTF-8): Dokumentacja API biblioteki libgpiod
120Group: Documentation
397de191 121BuildArch: noarch
397de191
JB
122
123%description apidocs
124API documentation for libgpiod library.
125
126%description apidocs -l pl.UTF-8
127Dokumentacja API biblioteki libgpiod.
128
129%prep
130%setup -q
8ea07acb 131%patch0 -p1
397de191
JB
132
133%build
134%configure \
135 %{!?with_static_libs:--disable-static} \
136 --enable-bindings-cxx \
137 %{?with_python:--enable-bindings-python} \
8ea07acb 138 --enable-gpioset-interactive \
397de191
JB
139 --disable-silent-rules \
140 --enable-tools
141%{__make}
142
143%if %{with apidocs}
144%{__make} doc
145%endif
146
147%install
148rm -rf $RPM_BUILD_ROOT
149
150%{__make} install \
151 DESTDIR=$RPM_BUILD_ROOT
152
153# obsoleted by pkg-config
154%{__rm} $RPM_BUILD_ROOT%{_libdir}/libgpiod*.la
397de191
JB
155
156%clean
157rm -rf $RPM_BUILD_ROOT
158
159%post -p /sbin/ldconfig
160%postun -p /sbin/ldconfig
161
162%post cxx -p /sbin/ldconfig
163%postun cxx -p /sbin/ldconfig
164
165%files
166%defattr(644,root,root,755)
167%doc NEWS README
168%attr(755,root,root) %{_bindir}/gpiodetect
397de191
JB
169%attr(755,root,root) %{_bindir}/gpioget
170%attr(755,root,root) %{_bindir}/gpioinfo
171%attr(755,root,root) %{_bindir}/gpiomon
8ea07acb 172%attr(755,root,root) %{_bindir}/gpionotify
397de191
JB
173%attr(755,root,root) %{_bindir}/gpioset
174%attr(755,root,root) %{_libdir}/libgpiod.so.*.*.*
8ea07acb 175%attr(755,root,root) %ghost %{_libdir}/libgpiod.so.3
b8cbe863 176%{_mandir}/man1/gpiodetect.1*
b8cbe863
JB
177%{_mandir}/man1/gpioget.1*
178%{_mandir}/man1/gpioinfo.1*
179%{_mandir}/man1/gpiomon.1*
8ea07acb 180%{_mandir}/man1/gpionotify.1*
b8cbe863 181%{_mandir}/man1/gpioset.1*
397de191
JB
182
183%files devel
184%defattr(644,root,root,755)
185%attr(755,root,root) %{_libdir}/libgpiod.so
186%{_includedir}/gpiod.h
187%{_pkgconfigdir}/libgpiod.pc
188
189%if %{with static_libs}
190%files static
191%defattr(644,root,root,755)
192%{_libdir}/libgpiod.a
193%endif
194
195%files cxx
196%defattr(644,root,root,755)
197%attr(755,root,root) %{_libdir}/libgpiodcxx.so.*.*.*
8ea07acb 198%attr(755,root,root) %ghost %{_libdir}/libgpiodcxx.so.2
397de191
JB
199
200%files cxx-devel
201%defattr(644,root,root,755)
202%attr(755,root,root) %{_libdir}/libgpiodcxx.so
203%{_includedir}/gpiod.hpp
8ea07acb 204%{_includedir}/gpiodcxx
397de191
JB
205%{_pkgconfigdir}/libgpiodcxx.pc
206
207%if %{with static_libs}
208%files cxx-static
209%defattr(644,root,root,755)
210%{_libdir}/libgpiodcxx.a
211%endif
212
213%if %{with python}
214%files -n python3-gpiod
215%defattr(644,root,root,755)
8ea07acb
JB
216%dir %{py3_sitedir}/gpiod
217%attr(755,root,root) %{py3_sitedir}/gpiod/_ext.cpython-*.so
218%{py3_sitedir}/gpiod/*.py
219%{py3_sitedir}/gpiod/__pycache__
220%{py3_sitedir}/gpiod-2.0.0-py*.egg-info
397de191
JB
221%endif
222
223%if %{with apidocs}
224%files apidocs
225%defattr(644,root,root,755)
226%doc doc/html/*
227%endif
This page took 0.071298 seconds and 4 git commands to generate.