]> git.pld-linux.org Git - packages/libinput.git/blobdiff - libinput.spec
up to 1.19.2
[packages/libinput.git] / libinput.spec
index 5d30369d7ca8d1453f4cc3f293a59ac2d6a717b1..e471bd1ac388c4b21bf94baac9d5add0617189c8 100644 (file)
@@ -1,30 +1,61 @@
+# TODO:
+# - package user docs from build/Documentation
 #
 # Conditional build:
 #
 # 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_with    gtk4            # build libinput-debug-gui with gtk4
+%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
 Summary:       Input device library
 Summary(pl.UTF-8):     Biblioteka urządzeń wejściowych
 Name:          libinput
-Version:       1.6.1
+Version:       1.19.2
 Release:       1
 License:       MIT
 Group:         Libraries
 Source0:       https://www.freedesktop.org/software/libinput/%{name}-%{version}.tar.xz
 Release:       1
 License:       MIT
 Group:         Libraries
 Source0:       https://www.freedesktop.org/software/libinput/%{name}-%{version}.tar.xz
-# Source0-md5: 7e282344f8ed7ec5cf87ca9fc22674fb
+# Source0-md5: 2c7f2aa4032bacb562a535b74829c56d
 URL:           https://www.freedesktop.org/wiki/Software/libinput/
 URL:           https://www.freedesktop.org/wiki/Software/libinput/
-%{?with_gui:BuildRequires:     cairo-devel}
 BuildRequires: check-devel >= 0.9.10
 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: libwacom-devel >= 0.20
+BuildRequires: meson >= 0.49.0
 BuildRequires: mtdev-devel >= 1.1.0
 BuildRequires: mtdev-devel >= 1.1.0
+BuildRequires: ninja >= 1.5
 BuildRequires: pkgconfig
 BuildRequires: pkgconfig
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 1.752
+BuildRequires: sed >= 4.0
+BuildRequires: tar >= 1:1.22
 BuildRequires: udev-devel
 BuildRequires: udev-devel
-Requires:      libevdev >= 0.4
+BuildRequires: valgrind
+BuildRequires: xz
+%if %{with gui}
+BuildRequires: cairo-devel
+BuildRequires: glib2-devel >= 2.0
+%if %{with gtk4}
+BuildRequires: gtk4-devel >= 4.0
+%else
+BuildRequires: gtk+3-devel >= 3.20
+%endif
+BuildRequires: wayland-devel
+BuildRequires: wayland-protocols
+BuildRequires: xorg-lib-libX11-devel
+%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)
 Requires:      libwacom >= 0.20
 Requires:      mtdev >= 1.1.0
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -48,6 +79,23 @@ 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ść.
 
 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}
+%if %{with gtk4}
+Requires:      gtk4 >= 4.0
+%else
+Requires:      gtk+3 >= 3.20
+%endif
+
+%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
 %package devel
 Summary:       Development files for libinput
 Summary(pl.UTF-8):     Pliki programistyczne biblioteki libinput
@@ -63,25 +111,11 @@ that use libinput.
 Ten pakiet zawiera pliki nagłówkowe niezbędne do tworzenia aplikacji
 wykorzystujących bibliotekę 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
 %package apidocs
 Summary:       API documentation for libinput library
 Summary(pl.UTF-8):     Dokumentacja API biblioteki libinput
 Group:         Documentation
-%if "%{_rpmversion}" >= "5"
 BuildArch:     noarch
 BuildArch:     noarch
-%endif
 
 %description apidocs
 API documentation for libinput library.
 
 %description apidocs
 API documentation for libinput library.
@@ -89,25 +123,48 @@ API documentation for libinput library.
 %description apidocs -l pl.UTF-8
 Dokumentacja API biblioteki libinput.
 
 %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
 
 %prep
 %setup -q
 
+%{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' \
+       tools/libinput-analyze-{per-slot-delta,recording,touch-down-state}.py \
+       tools/libinput-measure-{fuzz,touchpad-pressure,touch-size,touchpad-tap}.py \
+       tools/libinput-{replay,measure-touchpad-size}.py
+
+%if %{without gtk4}
+%{__sed} -i -e "/dependency('gtk4'/ s/'gtk4'/'gtk4-disabled'/" meson.build
+%endif
+
 %build
 %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}
 
 
-%{__make}
+%ninja_build -C build
+
+%{?with_tests:%ninja_test -C build}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 
 %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
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -117,18 +174,60 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
 
 %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
 %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-analyze-recording
+%attr(755,root,root) %{_libexecdir}/libinput/libinput-analyze-touch-down-state
+%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-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/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/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-analyze-recording.1*
+%{_mandir}/man1/libinput-analyze-touch-down-state.1*
 %{_mandir}/man1/libinput-debug-events.1*
 %{_mandir}/man1/libinput-debug-events.1*
+%{_mandir}/man1/libinput-debug-tablet.1*
 %{_mandir}/man1/libinput-list-devices.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)
 
 %files devel
 %defattr(644,root,root,755)
@@ -136,12 +235,12 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/libinput.h
 %{_pkgconfigdir}/libinput.pc
 
 %{_includedir}/libinput.h
 %{_pkgconfigdir}/libinput.pc
 
-%if %{with static_libs}
-%files static
+%if %{with doc}
+%files apidocs
 %defattr(644,root,root,755)
 %defattr(644,root,root,755)
-%{_libdir}/libinput.a
+%doc build/doc/html/*
 %endif
 
 %endif
 
-%files apidocs
+%files -n zsh-completion-%{name}
 %defattr(644,root,root,755)
 %defattr(644,root,root,755)
-%doc doc/html/*
+%{zsh_compdir}/_libinput
This page took 0.076735 seconds and 4 git commands to generate.