]>
Commit | Line | Data |
---|---|---|
9a269923 JB |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without apidocs # do not build and package API docs | |
4 | %bcond_without swig # SWIG based Java and Python bindings | |
7dc137f7 | 5 | |
9a269923 JB |
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 | |
8 | Name: libnifalcon | |
c21972a2 | 9 | Version: 1.1 |
ebd87ca8 | 10 | Release: 5 |
9a269923 JB |
11 | License: BSD |
12 | Group: Libraries | |
c21972a2 JB |
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 | |
9a269923 JB |
17 | URL: https://github.com/qdot/libnifalcon |
18 | BuildRequires: boost-devel | |
19 | BuildRequires: cmake >= 2.6.0 | |
20 | %{?with_apidocs:BuildRequires: doxygen} | |
c21972a2 | 21 | BuildRequires: libstdc++-devel |
9a269923 JB |
22 | BuildRequires: libusb-devel >= 1.0 |
23 | BuildRequires: pkgconfig | |
24 | BuildRequires: xorg-lib-libX11-devel | |
25 | BuildRequires: xorg-lib-libXtst-devel | |
26 | %if %{with swig} | |
27 | BuildRequires: jdk | |
28 | BuildRequires: python-devel >= 2 | |
29 | BuildRequires: rpmbuild(macros) >= 1.219 | |
30 | BuildRequires: swig | |
31 | BuildRequires: swig-python | |
32 | %endif | |
33 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
34 | ||
35 | %description | |
36 | libnifalcon is a development library for the NovInt Falcon haptic | |
37 | controller, and is an open source, crossplatform alternative to | |
7dc137f7 | 38 | NovInt's SDK. |
9a269923 JB |
39 | |
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. | |
44 | ||
45 | %package devel | |
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 | |
51 | ||
52 | %description devel | |
53 | Header files for libnifalcon library. | |
54 | ||
55 | %description devel -l pl.UTF-8 | |
56 | Pliki nagłówkowe biblioteki libnifalcon. | |
57 | ||
58 | %package static | |
59 | Summary: Static libnifalcon library | |
60 | Summary(pl.UTF-8): Statyczna biblioteka libnifalcon | |
61 | Group: Development/Libraries | |
62 | Requires: %{name}-devel = %{version}-%{release} | |
63 | ||
64 | %description static | |
65 | Static libnifalcon library. | |
66 | ||
67 | %description static -l pl.UTF-8 | |
68 | Statyczna biblioteka libnifalcon. | |
69 | ||
70 | %package apidocs | |
71 | Summary: libnifalcon API documentation | |
72 | Summary(pl.UTF-8): Dokumentacja API biblioteki libnifalcon | |
73 | Group: Documentation | |
7dc137f7 | 74 | BuildArch: noarch |
9a269923 JB |
75 | |
76 | %description apidocs | |
77 | API documentation for libnifalcon library. | |
78 | ||
79 | %description apidocs -l pl.UTF-8 | |
80 | Dokumentacja API biblioteki libnifalcon. | |
81 | ||
82 | %package -n java-libnifalcon | |
83 | Summary: JNI interface to libnifalcon library | |
84 | Summary(pl.UTF-8): Interfejs JNI do biblioteki libnifalcon | |
85 | Group: Libraries/Java | |
86 | Requires: %{name} = %{version}-%{release} | |
87 | Requires: jre | |
88 | ||
89 | %description -n java-libnifalcon | |
90 | JNI interface to libnifalcon library. | |
91 | ||
92 | %description -n java-libnifalcon -l pl.UTF-8 | |
93 | Interfejs JNI do biblioteki libnifalcon. | |
94 | ||
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 | |
101 | ||
102 | %description -n python-pynifalcon | |
103 | Python interface to libnifalcon library. | |
104 | ||
105 | %description -n python-pynifalcon -l pl.UTF-8 | |
106 | Interfejs Pythona do biblioteki libnifalcon. | |
107 | ||
108 | %prep | |
109 | %setup -q | |
110 | %patch0 -p1 | |
111 | ||
112 | %build | |
113 | install -d build | |
114 | cd build | |
115 | %cmake .. \ | |
16998fd2 JB |
116 | %{?with_swig:-DBUILD_SWIG_BINDINGS=ON} \ |
117 | -DLIBRARY_INSTALL_DIR:PATH=%{_libdir} | |
9a269923 | 118 | |
85bf867a | 119 | %{__make} -j1 |
9a269923 | 120 | |
c21972a2 JB |
121 | %if %{with apidocs} |
122 | cd ../doc | |
123 | doxygen | |
124 | %endif | |
125 | ||
9a269923 JB |
126 | %install |
127 | rm -rf $RPM_BUILD_ROOT | |
c21972a2 | 128 | |
9a269923 JB |
129 | %{__make} -C build install \ |
130 | DESTDIR=$RPM_BUILD_ROOT | |
131 | ||
132 | %if %{with swig} | |
133 | install -d $RPM_BUILD_ROOT%{py_sitedir} | |
7dc137f7 ER |
134 | install -p build/lib/libJNIFalcon.so $RPM_BUILD_ROOT%{_libdir} |
135 | install -p build/lib/_pynifalcon.so $RPM_BUILD_ROOT%{py_sitedir} | |
9a269923 JB |
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} | |
139 | %py_postclean | |
140 | %endif | |
141 | ||
142 | %clean | |
143 | rm -rf $RPM_BUILD_ROOT | |
144 | ||
145 | %post -p /sbin/ldconfig | |
146 | %postun -p /sbin/ldconfig | |
147 | ||
470d3c20 JB |
148 | %post -n java-libnifalcon -p /sbin/ldconfig |
149 | %postun -n java-libnifalcon -p /sbin/ldconfig | |
150 | ||
9a269923 JB |
151 | %files |
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.*.*.* | |
c21972a2 | 162 | %attr(755,root,root) %{_libdir}/libnifalcon_device_thread.so.*.*.* |
9a269923 JB |
163 | |
164 | %files devel | |
165 | %defattr(644,root,root,755) | |
166 | %attr(755,root,root) %{_libdir}/libnifalcon.so | |
167 | %attr(755,root,root) %{_libdir}/libnifalcon_cli_base.so | |
c21972a2 | 168 | %attr(755,root,root) %{_libdir}/libnifalcon_device_thread.so |
9a269923 JB |
169 | %{_includedir}/falcon |
170 | %{_pkgconfigdir}/libnifalcon.pc | |
171 | ||
172 | %files static | |
173 | %defattr(644,root,root,755) | |
174 | %{_libdir}/libnifalcon.a | |
175 | %{_libdir}/libnifalcon_cli_base.a | |
c21972a2 | 176 | %{_libdir}/libnifalcon_device_thread.a |
9a269923 JB |
177 | |
178 | %if %{with apidocs} | |
179 | %files apidocs | |
180 | %defattr(644,root,root,755) | |
c21972a2 | 181 | %doc doc/html/* doc/*.asciidoc |
9a269923 JB |
182 | %endif |
183 | ||
184 | %if %{with swig} | |
185 | %files -n java-libnifalcon | |
186 | %defattr(644,root,root,755) | |
187 | %attr(755,root,root) %{_libdir}/libJNIFalcon.so | |
188 | ||
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] | |
193 | %endif |