## START: Set by rpmautospec ## (rpmautospec version 0.3.5) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global with_snapshot 1 %global gitdate 20230918 %global commit 004a54fb0b05fc5eb7815e3e3408445990b0cbaf %global shortcommit %(c=%{commit}; echo ${c:0:8}) Name: input-leap Version: 2.4.0%{?with_snapshot:^%{gitdate}git%{shortcommit}} Release: %autorelease Summary: Share mouse and keyboard between multiple computers over the network License: GPL-2.0-only URL: https://github.com/%{name}/%{name} %if %{with_snapshot} Source0: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz %else Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz %endif BuildRequires: cmake >= 3.12 BuildRequires: desktop-file-utils BuildRequires: gcc-c++ BuildRequires: gmock-devel BuildRequires: gulrak-filesystem-devel BuildRequires: gtest-devel BuildRequires: libappstream-glib BuildRequires: libcurl-devel BuildRequires: openssl-devel BuildRequires: cmake(Qt5Core) BuildRequires: cmake(Qt5Widgets) BuildRequires: cmake(Qt5Network) BuildRequires: cmake(Qt5LinguistTools) BuildRequires: pkgconfig(avahi-compat-libdns_sd) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(ice) BuildRequires: pkgconfig(libei-1.0) >= 0.99.1 BuildRequires: pkgconfig(libportal) BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xtst) Requires: hicolor-icon-theme # https://github.com/input-leap/input-leap/issues/1414 Provides: barrier = %version-%release Obsoletes: barrier <= 2.4.0 %description Input Leap is software that mimics the functionality of a KVM switch, which historically would allow you to use a single keyboard and mouse to control multiple computers by physically turning a dial on the box to switch the machine you're controlling at any given moment. Input Leap does this in software, allowing you to tell it which machine to control by moving your mouse to the edge of the screen, or by using a keypress to switch focus to a different system. %prep %if %{with_snapshot} %autosetup -n %{name}-%{commit} -p1 # version stage = snapshot sed -i -e "s|release|snapshot|" cmake/Version.cmake %else %autosetup -p1 %endif %build %cmake \ %if %{with_snapshot} -DINPUTLEAP_REVISION=%{shortcommit} \ %endif -DINPUTLEAP_BUILD_LIBEI=ON \ -DINPUTLEAP_BUILD_TESTS=ON \ -DINPUTLEAP_USE_EXTERNAL_GTEST=True %cmake_build %install %cmake_install %if ! 0%{?flatpak} # This is only useful for Flatpaks... rm -v %{buildroot}%{_bindir}/%{name}-flatpak %endif %check %ctest desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml %files %license LICENSE %doc ChangeLog README.md doc/%{name}.conf.example* %if 0%{?flatpak} %{_bindir}/%{name}-flatpak %endif %{_bindir}/%{name}c %{_bindir}/%{name}s %{_bindir}/%{name} %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %{_datadir}/applications/%{name}.desktop %{_datadir}/metainfo/%{name}.appdata.xml %{_mandir}/man1/%{name}c.1* %{_mandir}/man1/%{name}s.1* %changelog * Thu Sep 21 2023 Neal Gompa - 2.4.0^20230918git004a54fb-1 - Update to new snapshot, enable libei/portal support, modernize spec * Thu Jul 20 2023 Fedora Release Engineering - 2.4.0^20230507git23615f66-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Fri May 12 2023 Ali Erdinc Koroglu - 2.4.0^20230507git23615f66-1 - synced to the latest commit * Fri Mar 17 2023 aekoroglu - 2.4.0^20230306gite71fbbfe-2 - missing files * Fri Mar 17 2023 aekoroglu - 2.4.0^20230306gite71fbbfe-1 - initial release