]> git.pld-linux.org Git - packages/libinput.git/blobdiff - libinput.spec
up to 1.16.4
[packages/libinput.git] / libinput.spec
index 3606a511620da1f1666c6bccb1c8fe8bc52bd8b5..e53c0d0ade49107358d06d38e32d4c7eccb5dd8e 100644 (file)
@@ -1,28 +1,51 @@
+# TODO:
+# - package user docs from build/Documentation
 #
 # Conditional build:
-%bcond_with    gui             # event-gui (noinst as of 0.4.0)
-%bcond_with    static_libs     # static library
-#
+%bcond_without gui             # libinput-debug-gui
+%bcond_without libunwind       # libunwind debugging support
+%bcond_without doc             # documentation
+%bcond_without tests           # tests
+
+%ifnarch %{ix86} %{x8664} %{arm} hppa ia64 mips ppc ppc64 sh
+%undefine      with_libunwind
+%endif
 Summary:       Input device library
 Summary(pl.UTF-8):     Biblioteka urządzeń wejściowych
 Name:          libinput
-Version:       0.20.0
+Version:       1.16.4
 Release:       1
 License:       MIT
 Group:         Libraries
-Source0:       http://www.freedesktop.org/software/libinput/%{name}-%{version}.tar.xz
-# Source0-md5: 444f3a4061be560310cb761cac6fa178
-URL:           http://www.freedesktop.org/wiki/Software/libinput/
-%{?with_gui:BuildRequires:     cairo-devel}
+Source0:       https://www.freedesktop.org/software/libinput/%{name}-%{version}.tar.xz
+# Source0-md5: 1fdc670e62a08bcebceabd23af3d639a
+URL:           https://www.freedesktop.org/wiki/Software/libinput/
 BuildRequires: check-devel >= 0.9.10
-BuildRequires: doxygen >= 1.6.0
-%{?with_gui:BuildRequires:     glib2-devel >= 2.0}
-BuildRequires: graphviz >= 2.26.0
-%{?with_gui:BuildRequires:     gtk+3-devel >= 3.0}
-BuildRequires: libevdev-devel >= 0.4
+BuildRequires: libevdev-devel >= 1.3
+%{?with_libunwind:BuildRequires:       libunwind-devel}
+BuildRequires: libwacom-devel >= 0.20
+BuildRequires: meson >= 0.45.0
 BuildRequires: mtdev-devel >= 1.1.0
+BuildRequires: ninja >= 1.5
 BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.736
 BuildRequires: udev-devel
+BuildRequires: valgrind
+%if %{with gui}
+BuildRequires: cairo-devel
+BuildRequires: glib2-devel >= 2.0
+BuildRequires: gtk+3-devel >= 3.20
+%endif
+%if %{with doc}
+BuildRequires: doxygen >= 1.8.3
+BuildRequires: graphviz >= 2.26.0
+BuildRequires: python3-recommonmark
+BuildRequires: python3-sphinx_rtd_theme
+BuildRequires: sphinx-pdg-3
+%endif
+Requires:      libevdev >= 1.3
+Requires:      libwacom >= 0.20
+Requires:      mtdev >= 1.1.0
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -44,6 +67,19 @@ przetwarzanie zdarzeń urządzeń wejściowych oraz abstrakcję,
 minimalizując ilość własnego kodu, który musi napisać użytkownik
 biblioteki, aby zapewnić oczekiwaną funkcjonalność.
 
+%package gui
+Summary:       Debugging GUI for libinput
+Summary(pl.UTF-8):     Graficzny interfejs diagnostyczny do libinput
+Group:         X11/Applications
+Requires:      %{name} = %{version}-%{release}
+Requires:      gtk+3 >= 3.20
+
+%description gui
+Debugging GUI for libinput.
+
+%description gui -l pl.UTF-8
+Graficzny interfejs diagnostyczny do libinput.
+
 %package devel
 Summary:       Development files for libinput
 Summary(pl.UTF-8):     Pliki programistyczne biblioteki libinput
@@ -59,22 +95,13 @@ that use libinput.
 Ten pakiet zawiera pliki nagłówkowe niezbędne do tworzenia aplikacji
 wykorzystujących bibliotekę libinput.
 
-%package static
-Summary:       Static libinput library
-Summary(pl.UTF-8):     Statyczna biblioteka libinput
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}-%{release}
-
-%description static
-Static libinput library.
-
-%description static -l pl.UTF-8
-Statyczna biblioteka libinput.
-
 %package apidocs
 Summary:       API documentation for libinput library
 Summary(pl.UTF-8):     Dokumentacja API biblioteki libinput
 Group:         Documentation
+%if "%{_rpmversion}" >= "4.6"
+BuildArch:     noarch
+%endif
 
 %description apidocs
 API documentation for libinput library.
@@ -82,25 +109,43 @@ API documentation for libinput library.
 %description apidocs -l pl.UTF-8
 Dokumentacja API biblioteki libinput.
 
+%package -n zsh-completion-%{name}
+Summary:       Zsh completion for libinput command
+Summary(pl.UTF-8):     Dopełnianie parametrów w zsh dla polecenia libinput
+Group:         Applications/Shells
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+Requires:      zsh
+
+%description -n zsh-completion-%{name}
+Zsh completion for libinput command.
+
+%description -n zsh-completion-%{name} -l pl.UTF-8
+Dopełnianie parametrów w zsh dla polecenia libinput.
+
 %prep
 %setup -q
 
+%{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' \
+       tools/libinput-measure-{fuzz,touchpad-pressure,touch-size,touchpad-tap}.py \
+       tools/libinput-{replay,analyze-per-slot-delta.py,measure-touchpad-size.py}
+
 %build
-%configure \
-       --disable-silent-rules \
-       %{?with_static_libs:--enable-static} \
-       --with-udev-dir=/lib/udev
+%meson build \
+       -Ddebug-gui=%{__true_false gui} \
+       -Ddocumentation=%{__true_false doc} \
+       -Dudev-dir=/lib/udev \
+       -Dzshcompletiondir=%{zsh_compdir}
+
+%ninja_build -C build
 
-%{__make}
+%{?with_tests:%ninja_test -C build}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT
+%ninja_install -C build
 
-# obsoleted by pkg-config
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/libinput-test-suite.1
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -110,20 +155,56 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc COPYING README.txt
-%attr(755,root,root) %{_bindir}/libinput-debug-events
-%attr(755,root,root) %{_bindir}/libinput-list-devices
+%doc COPYING README.md
+%attr(755,root,root) %{_bindir}/libinput
 %attr(755,root,root) %{_libdir}/libinput.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libinput.so.10
+%dir %{_libexecdir}/libinput
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze-per-slot-delta
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-events
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-tablet
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-list-devices
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-measure
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-fuzz
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-pressure
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-size
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touchpad-tap
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-measure-touch-size
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-quirks
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-record
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-replay
 %attr(755,root,root) /lib/udev/libinput-device-group
-%attr(755,root,root) /lib/udev/libinput-model-quirks
+%attr(755,root,root) /lib/udev/libinput-fuzz-extract
+%attr(755,root,root) /lib/udev/libinput-fuzz-to-zero
 /lib/udev/rules.d/80-libinput-device-groups.rules
-/lib/udev/hwdb.d/90-libinput-model-quirks.hwdb
-/lib/udev/rules.d/90-libinput-model-quirks.rules
-/lib/udev/80-libinput-device-groups-litest.rules
-/lib/udev/90-libinput-model-quirks-litest.rules
+/lib/udev/rules.d/90-libinput-fuzz-override.rules
+%dir %{_datadir}/libinput
+%{_datadir}/libinput/*.quirks
+%{_mandir}/man1/libinput.1*
+%{_mandir}/man1/libinput-analyze.1*
+%{_mandir}/man1/libinput-analyze-per-slot-delta.1*
 %{_mandir}/man1/libinput-debug-events.1*
+%{_mandir}/man1/libinput-debug-tablet.1*
 %{_mandir}/man1/libinput-list-devices.1*
+%{_mandir}/man1/libinput-measure.1*
+%{_mandir}/man1/libinput-measure-fuzz.1*
+%{_mandir}/man1/libinput-measure-touchpad-pressure.1*
+%{_mandir}/man1/libinput-measure-touchpad-size.1*
+%{_mandir}/man1/libinput-measure-touchpad-tap.1*
+%{_mandir}/man1/libinput-measure-touch-size.1*
+%{_mandir}/man1/libinput-quirks.1*
+%{_mandir}/man1/libinput-quirks-list.1*
+%{_mandir}/man1/libinput-quirks-validate.1*
+%{_mandir}/man1/libinput-record.1*
+%{_mandir}/man1/libinput-replay.1*
+
+%if %{with gui}
+%files gui
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-debug-gui
+%{_mandir}/man1/libinput-debug-gui.1*
+%endif
 
 %files devel
 %defattr(644,root,root,755)
@@ -131,12 +212,12 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/libinput.h
 %{_pkgconfigdir}/libinput.pc
 
-%if %{with static_libs}
-%files static
+%if %{with doc}
+%files apidocs
 %defattr(644,root,root,755)
-%{_libdir}/libinput.a
+%doc build/api/*
 %endif
 
-%files apidocs
+%files -n zsh-completion-%{name}
 %defattr(644,root,root,755)
-%doc doc/html/*
+%{zsh_compdir}/_libinput
This page took 0.078408 seconds and 4 git commands to generate.