summaryrefslogtreecommitdiff
path: root/ros-humble-spacenavd.spec
diff options
context:
space:
mode:
Diffstat (limited to 'ros-humble-spacenavd.spec')
-rw-r--r--ros-humble-spacenavd.spec56
1 files changed, 56 insertions, 0 deletions
diff --git a/ros-humble-spacenavd.spec b/ros-humble-spacenavd.spec
new file mode 100644
index 0000000..23c8d37
--- /dev/null
+++ b/ros-humble-spacenavd.spec
@@ -0,0 +1,56 @@
+# topdir: ros-humble-spacenavd-1.3.1
+Name: ros-humble-spacenavd
+Version: 1.3.1
+Release: 1%{?dist}
+Summary: Free user-space driver for 3Dconnexion 6dof input devices
+
+License: GPL-3.0
+URL: https://github.com/FreeSpacenav/spacenavd
+Source0: https://github.com/FreeSpacenav/spacenavd/archive/refs/tags/v%{version}.tar.gz#/ros-humble-spacenavd-%{version}.tar.gz
+
+Group: System Environment/Daemons
+Packager: openEuler Builder <builder@openeuler.org>
+
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: libX11-devel
+BuildRequires: libXi-devel
+BuildRequires: libXtst-devel
+BuildRequires: libXext-devel
+
+%description
+Spacenavd is a free software user-space driver (daemon), for 6-dof input
+devices, like 3Dconnexion's space-mice. It is compatible with the original
+3dxsrv proprietary daemon provided by 3Dconnexion, and works as a drop-in
+replacement with any program that was written for the 3Dconnexion driver,
+but also provides an improved communication mechanism for programs designed
+specifically to work with spacenavd.
+
+%prep
+%autosetup -n %{name}-%{version}
+
+%build
+./configure --prefix=%{_prefix} --cfgdir=%{_sysconfdir}
+# Ensure VERSION define is correct (configure probes via git/dirname; tarball has no .git history)
+sed -i 's/^#define VERSION.*/#define VERSION "%{version}"/' src/config.h
+%make_build
+
+%install
+make install DESTDIR=%{buildroot}
+# Install systemd service file (fix hardcoded /usr/local path to /usr/bin)
+sed -i 's|/usr/local/bin/spacenavd|/usr/bin/spacenavd|' contrib/systemd/spacenavd.service
+install -D -m 644 contrib/systemd/spacenavd.service %{buildroot}%{_unitdir}/spacenavd.service
+# Install example configuration
+install -D -m 644 doc/example-spnavrc %{buildroot}%{_sysconfdir}/spnavrc
+
+%files
+%license COPYING
+%doc README.md
+%{_bindir}/spacenavd
+%{_bindir}/spnavd_ctl
+%{_unitdir}/spacenavd.service
+%config(noreplace) %{_sysconfdir}/spnavrc
+
+%changelog
+* Thu Oct 22 2026 openEuler Builder <builder@openeuler.org> - 1.3.1-1
+- Initial package