]> git.pld-linux.org Git - packages/libinput.git/blobdiff - libinput.spec
up to 1.19.1
[packages/libinput.git] / libinput.spec
index e45b2cac6da9f23ff3b22aed643a67a0f95e1841..18e2367c39c48383d9b37c641d77ad16a71b6c24 100644 (file)
@@ -1,35 +1,62 @@
+# 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 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.7.2
+Version:       1.19.1
 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: d138d62c528fbf9aba300a97bae453cb
+# Source0-md5: 5176f5b2806807df23c5e315bcbf6567
 URL:           https://www.freedesktop.org/wiki/Software/libinput/
 BuildRequires: check-devel >= 0.9.10
 URL:           https://www.freedesktop.org/wiki/Software/libinput/
 BuildRequires: check-devel >= 0.9.10
+BuildRequires: libevdev-devel >= 1.3
+%{?with_libunwind:BuildRequires:       libunwind-devel}
+BuildRequires: libwacom-devel >= 0.20
+BuildRequires: meson >= 0.49.0
+BuildRequires: mtdev-devel >= 1.1.0
+BuildRequires: ninja >= 1.5
+BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.752
+BuildRequires: tar >= 1:1.22
+BuildRequires: udev-devel
+BuildRequires: valgrind
+BuildRequires: xz
 %if %{with gui}
 BuildRequires: cairo-devel
 BuildRequires: glib2-devel >= 2.0
 %if %{with gui}
 BuildRequires: cairo-devel
 BuildRequires: glib2-devel >= 2.0
-BuildRequires: gtk+3-devel >= 3.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
 %endif
-%if %{with apidocs}
-BuildRequires: doxygen >= 1.6.0
+%if %{with doc}
+BuildRequires: doxygen >= 1.8.3
 BuildRequires: graphviz >= 2.26.0
 BuildRequires: graphviz >= 2.26.0
+BuildRequires: python3-recommonmark
+BuildRequires: python3-sphinx_rtd_theme
+BuildRequires: sphinx-pdg-3
 %endif
 %endif
-BuildRequires: libevdev-devel >= 0.4
-BuildRequires: libwacom-devel >= 0.20
-BuildRequires: mtdev-devel >= 1.1.0
-BuildRequires: pkgconfig
-BuildRequires: udev-devel
-Requires:      libevdev >= 0.4
+%if %{with gui} && %{without gtk4}
+BuildConflicts:        gtk4-devel
+%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)
@@ -53,6 +80,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
@@ -68,25 +112,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.
@@ -94,26 +124,44 @@ 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
+
 %build
 %build
-%configure \
-       --disable-silent-rules \
-       %{?with_static_libs:--enable-static} \
-       --%{?with_doc:en}%{!?with_doc:dis}able-documentation \
-       --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
 
 
 %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
@@ -123,18 +171,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)
@@ -142,12 +232,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.043473 seconds and 4 git commands to generate.