3 %bcond_without apidocs # do not build and package API docs
4 %bcond_without swig # SWIG based Java and Python bindings
6 Summary: Open Source Driver for the Novint Falcon Haptic Controller
7 Summary(pl.UTF-8): Sterownik z otwartymi źródłami dla kontrolerów haptycznych Novint Falcon
13 #Source0Download: https://github.com/qdot/libnifalcon/releases
14 Source0: https://github.com/qdot/libnifalcon/archive/%{version}/%{name}-%{version}.tar.gz
15 # Source0-md5: 3723b16749ddfa13fb6ddd1a8a95d58c
16 Patch0: %{name}-link.patch
17 URL: https://github.com/qdot/libnifalcon
18 BuildRequires: boost-devel
19 BuildRequires: cmake >= 2.6.0
20 %{?with_apidocs:BuildRequires: doxygen}
21 BuildRequires: libstdc++-devel
22 BuildRequires: libusb-devel >= 1.0
23 BuildRequires: pkgconfig
24 BuildRequires: xorg-lib-libX11-devel
25 BuildRequires: xorg-lib-libXtst-devel
28 BuildRequires: python-devel >= 2
29 BuildRequires: rpmbuild(macros) >= 1.219
31 BuildRequires: swig-python
33 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36 libnifalcon is a development library for the NovInt Falcon haptic
37 controller, and is an open source, crossplatform alternative to
40 %description -l pl.UTF-8
41 libnifalcon to biblioteka programistyczna dla kontrolerów haptycznych
42 NovInt Falcon. Jest mającą otwarte źródła, wieloplatformową
43 alternatywą dla SDK firmy NovInt.
46 Summary: Header files for libnifalcon library
47 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libnifalcon
48 Group: Development/Libraries
49 Requires: %{name} = %{version}-%{release}
50 Requires: libusb-devel >= 1.0
53 Header files for libnifalcon library.
55 %description devel -l pl.UTF-8
56 Pliki nagłówkowe biblioteki libnifalcon.
59 Summary: Static libnifalcon library
60 Summary(pl.UTF-8): Statyczna biblioteka libnifalcon
61 Group: Development/Libraries
62 Requires: %{name}-devel = %{version}-%{release}
65 Static libnifalcon library.
67 %description static -l pl.UTF-8
68 Statyczna biblioteka libnifalcon.
71 Summary: libnifalcon API documentation
72 Summary(pl.UTF-8): Dokumentacja API biblioteki libnifalcon
77 API documentation for libnifalcon library.
79 %description apidocs -l pl.UTF-8
80 Dokumentacja API biblioteki libnifalcon.
82 %package -n java-libnifalcon
83 Summary: JNI interface to libnifalcon library
84 Summary(pl.UTF-8): Interfejs JNI do biblioteki libnifalcon
86 Requires: %{name} = %{version}-%{release}
89 %description -n java-libnifalcon
90 JNI interface to libnifalcon library.
92 %description -n java-libnifalcon -l pl.UTF-8
93 Interfejs JNI do biblioteki libnifalcon.
95 %package -n python-pynifalcon
96 Summary: Python interface to libnifalcon library
97 Summary(pl.UTF-8): Interfejs Pythona do biblioteki libnifalcon
98 Group: Libraries/Python
99 Requires: %{name} = %{version}-%{release}
100 Requires: python-libs
102 %description -n python-pynifalcon
103 Python interface to libnifalcon library.
105 %description -n python-pynifalcon -l pl.UTF-8
106 Interfejs Pythona do biblioteki libnifalcon.
116 %{?with_swig:-DBUILD_SWIG_BINDINGS=ON} \
117 -DLIBRARY_INSTALL_DIR:PATH=%{_libdir}
127 rm -rf $RPM_BUILD_ROOT
129 %{__make} -C build install \
130 DESTDIR=$RPM_BUILD_ROOT
133 install -d $RPM_BUILD_ROOT%{py_sitedir}
134 install -p build/lib/libJNIFalcon.so $RPM_BUILD_ROOT%{_libdir}
135 install -p build/lib/_pynifalcon.so $RPM_BUILD_ROOT%{py_sitedir}
136 cp -p build/lang/swig/pynifalcon.py $RPM_BUILD_ROOT%{py_sitedir}
137 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
138 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
143 rm -rf $RPM_BUILD_ROOT
145 %post -p /sbin/ldconfig
146 %postun -p /sbin/ldconfig
148 %post -n java-libnifalcon -p /sbin/ldconfig
149 %postun -n java-libnifalcon -p /sbin/ldconfig
152 %defattr(644,root,root,755)
153 %doc ChangeLog.txt README.asciidoc linux/40-novint-falcon-udev.rules license/{LICENSE_GMTL_ADDENDUM.txt,LICENSE_LIBNIF_BSD.txt,LICENSE_NOVINT.txt}
154 %attr(755,root,root) %{_bindir}/barrow_mechanics
155 %attr(755,root,root) %{_bindir}/falcon_led
156 %attr(755,root,root) %{_bindir}/falcon_mouse
157 %attr(755,root,root) %{_bindir}/falcon_test_cli
158 %attr(755,root,root) %{_bindir}/findfalcons
159 %attr(755,root,root) %{_bindir}/findfalcons_multi
160 %attr(755,root,root) %{_libdir}/libnifalcon.so.*.*.*
161 %attr(755,root,root) %{_libdir}/libnifalcon_cli_base.so.*.*.*
162 %attr(755,root,root) %{_libdir}/libnifalcon_device_thread.so.*.*.*
165 %defattr(644,root,root,755)
166 %attr(755,root,root) %{_libdir}/libnifalcon.so
167 %attr(755,root,root) %{_libdir}/libnifalcon_cli_base.so
168 %attr(755,root,root) %{_libdir}/libnifalcon_device_thread.so
169 %{_includedir}/falcon
170 %{_pkgconfigdir}/libnifalcon.pc
173 %defattr(644,root,root,755)
174 %{_libdir}/libnifalcon.a
175 %{_libdir}/libnifalcon_cli_base.a
176 %{_libdir}/libnifalcon_device_thread.a
180 %defattr(644,root,root,755)
181 %doc doc/html/* doc/*.asciidoc
185 %files -n java-libnifalcon
186 %defattr(644,root,root,755)
187 %attr(755,root,root) %{_libdir}/libJNIFalcon.so
189 %files -n python-pynifalcon
190 %defattr(644,root,root,755)
191 %attr(755,root,root) %{py_sitedir}/_pynifalcon.so
192 %{py_sitedir}/pynifalcon.py[co]