]> git.pld-linux.org Git - SPECS.git/blob - vrpn.spec
SPECS updated Sun 1 Aug 20:28:02 CEST 2021
[SPECS.git] / vrpn.spec
1 # TODO: intersense, nidaqmx, viewpoint, phasespace, libfreespace
2 # proprietary: openhaptics, ghost,
3 # NATIONAL_INSTRUMENTS, NIDAQ, USDIGITAL, MICROSCRIBE, MONITONNODE, TRIVISIOCOLIBRI ???
4 #
5 # Conditional build:
6 %bcond_without  apidocs         # do not build and package API docs
7 %bcond_without  gpm             # GPM Linux mouse interface support (GPL v2+)
8 %bcond_without  modbus          # Modbus support
9 %bcond_without  nifalcon        # NI Falcon support via libnifalcon
10 %bcond_with     mpi             # MPI support
11 %bcond_without  wiiuse          # Wii support via wiiuse library (GPL v3+)
12 %bcond_without  java            # Java binding
13 #
14 %define with_gpl        0%{?with_gpm:1}%{?with_wiiuse:1}
15 Summary:        Virtual Reality Peripheral Network
16 Summary(pl.UTF-8):      Sieć peryferiów do rzeczywistości wirtualnej (VR)
17 Name:           vrpn
18 Version:        07.32
19 %define fver    %(echo %{version} | tr . _)
20 Release:        1
21 License:        Boost v1.0 (VRPN)%{?with_gpl:, depends on GPL libraries}
22 Group:          Libraries
23 Source0:        http://www.cs.unc.edu/Research/vrpn/downloads/%{name}_%{fver}.zip
24 # Source0-md5:  6cb32e51e6420385f2006f1aae58b457
25 Patch0:         %{name}-install.patch
26 Patch1:         %{name}-jsoncpp.patch
27 Patch2:         %{name}-modbus.patch
28 Patch3:         %{name}-wiiuse.patch
29 URL:            http://www.cs.unc.edu/Research/vrpn/
30 BuildRequires:  cmake >= 2.8.3
31 %{?with_apidocs:BuildRequires:  doxygen}
32 %{?with_gpm:BuildRequires:      gpm-devel}
33 BuildRequires:  hidapi-devel >= 0.7.0
34 BuildRequires:  jdk
35 BuildRequires:  jsoncpp-devel >= 0.7.0
36 %{?with_modbus:BuildRequires:   libmodbus-devel}
37 %{?with_nifalcon:BuildRequires: libnifalcon-devel}
38 BuildRequires:  libstdc++-devel
39 BuildRequires:  libusb-devel >= 1.0
40 %{?with_mpi:BuildRequires:      mpi-devel}
41 BuildRequires:  perl-Parse-RecDescent
42 BuildRequires:  perl-base
43 BuildRequires:  python-devel >= 1:2.7
44 BuildRequires:  swig-python
45 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46
47 %description
48 The Virtual-Reality Peripheral Network (VRPN) is a set of classes
49 within a library and a set of servers that are designed to implement a
50 network-transparent interface between application programs and the set
51 of physical devices (tracker, etc.) used in a virtual-reality (VR)
52 system. The idea is to have a PC or other host at each VR station that
53 controls the peripherals (tracker, button device, haptic device,
54 analog inputs, sound, etc). VRPN provides connections between the
55 application and all of the devices using the appropriate
56 class-of-service for each type of device sharing this link. The
57 application remains unaware of the network topology. Note that it is
58 possible to use VRPN with devices that are directly connected to the
59 machine that the application is running on, either using separate
60 control programs or running all as a single program.
61
62 %description -l pl.UTF-8
63 VRPN (Virtual-Reality Peripheral Network) to biblioteka klas i zestaw
64 serwerów zaprojektowanych jako implementacja przezroczystego sieciowo
65 interfejsu między aplikacjami a zbiorem urządzeń fizycznych (takich
66 jak tracker), używanych w systemie wirtualnej rzeczywistości (VR).
67 Idea polega na umieszczeniu komputera PC lub innego na każdej stacji
68 kontrolującej urządzenia peryferyjne (tracker, przyciski, urządzenie
69 haptyczne, wejścia analogowe, dźwiękowe itp.). VRPN zapewnia
70 połączenia między aplikacją a wszystkimi urządzeniami używającymi
71 odpowiedniej klasy usług dla każdego typu urządzeń współdzielących to
72 połączenie. Dla aplikacji topologia sieci nie ma znaczenia. Należy
73 zauważyć, że można używać oprogramowania VRPN z urządzeniami
74 podłączonymi bezpośrednio do maszyny, na której działa aplikacja -
75 albo przy użyciu osobnych programów sterujących, albo w ramach
76 jednego programu.
77
78 %package devel
79 Summary:        Header files for VRPN library
80 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki VRPN
81 Group:          Development/Libraries
82 Requires:       %{name} = %{version}-%{release}
83
84 %description devel
85 Header files for VRPN library.
86
87 %description devel -l pl.UTF-8
88 Pliki nagłówkowe biblioteki VRPN.
89
90 %package apidocs
91 Summary:        VRPN API documentation
92 Summary(pl.UTF-8):      Dokumentacja API biblioteki VRPN
93 Group:          Documentation
94
95 %description apidocs
96 API documentation for VRPN library.
97
98 %description apidocs -l pl.UTF-8
99 Dokumentacja API biblioteki VRPN.
100
101 %package -n java-vrpn
102 Summary:        Java binding to VRPN
103 Summary(pl.UTF-8):      Wiązanie Javy do bibliotek VRPN
104 Group:          Libraries/Java
105 Requires:       %{name} = %{version}-%{release}
106
107 %description -n java-vrpn
108 Java binding to VRPN.
109
110 %description -n java-vrpn -l pl.UTF-8
111 Wiązanie Javy do bibliotek VRPN.
112
113 %package -n python-vrpn
114 Summary:        Python binding to VRPN
115 Summary(pl.UTF-8):      Wiązania Pythona do bibliotek VRPN
116 Group:          Libraries/Java
117 Requires:       %{name} = %{version}-%{release}
118
119 %description -n python-vrpn
120 Python binding to VRPN.
121
122 %description -n python-vrpn -l pl.UTF-8
123 Wiązania Pythona do bibliotek VRPN.
124
125 %prep
126 %setup -q -n %{name}
127 %patch0 -p1
128 %patch1 -p1
129 %patch2 -p1
130 %patch3 -p1
131
132 %build
133 install -d build
134 cd build
135 %cmake .. \
136         -DSYSCONF_INSTALL_DIR=%{_sysconfdir}/vrpn \
137         -DVRPN_BUILD_PYTHON=ON \
138         %{?with_gpl:-DVRPN_GPL_SERVER=ON} \
139         -DVRPN_USE_GPM_MOUSE=%{?with_gpm:ON}%{!?with_gpm:OFF} \
140         %{!?with_nifalcon:-DVRPN_USE_LIBNIFALCON=OFF} \
141         -DVRPN_USE_LOCAL_HIDAPI=OFF \
142         -DVRPN_USE_LOCAL_JSONCPP=OFF \
143         %{?with_modbus:-DVRPN_USE_MODBUS=ON} \
144         -DVRPN_USE_MPI=%{?with_mpi:ON}%{!?with_mpi:OFF} \
145         %{!?with_wiiuse:-DVRPN_USE_WIIUSE=OFF}
146
147 %{__make}
148
149 %if %{with apidocs}
150 %{__make} doc
151 %endif
152
153 %install
154 rm -rf $RPM_BUILD_ROOT
155
156 %{__make} -C build install \
157         DESTDIR=$RPM_BUILD_ROOT
158
159 %{__rm} $RPM_BUILD_ROOT%{_bindir}/{c_interface_example,checklogfile,client_and_server,clock_drift_estimator,forcedevice_test_client,forward,forwarderClient,last_of_sequence,logfilesenders,logfiletypes,printcereal,printvals,run_auxiliary_logger,sample_analog,sample_server,test*,text,textServer,tracker_to_poser}
160
161 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/source-docs
162
163 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
164 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
165 %py_postclean
166
167 %clean
168 rm -rf $RPM_BUILD_ROOT
169
170 %post   -p /sbin/ldconfig
171 %postun -p /sbin/ldconfig
172
173 %files
174 %defattr(644,root,root,755)
175 %doc ChangeLog Format README README.Legal
176 %attr(755,root,root) %{_bindir}/add_vrpn_cookie
177 %attr(755,root,root) %{_bindir}/bdbox_client
178 %attr(755,root,root) %{_bindir}/ff_client
179 %attr(755,root,root) %{_bindir}/phan_client
180 %attr(755,root,root) %{_bindir}/sound_client
181 %attr(755,root,root) %{_bindir}/sphere_client
182 %attr(755,root,root) %{_bindir}/vrpn_HID_device_watcher
183 %attr(755,root,root) %{_bindir}/vrpn_LamportClock
184 %attr(755,root,root) %{_bindir}/vrpn_ping
185 %attr(755,root,root) %{_bindir}/vrpn_print_devices
186 %attr(755,root,root) %{_bindir}/vrpn_print_messages
187 %attr(755,root,root) %{_bindir}/vrpn_print_performance
188 %attr(755,root,root) %{_bindir}/vrpn_server
189 %attr(755,root,root) %{_bindir}/vrpn_streamPrint
190 %dir %{_sysconfdir}/vrpn
191 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vrpn/vrpn.cfg
192 %attr(755,root,root) %{_libdir}/libgpsnmea.so
193 %attr(755,root,root) %{_libdir}/libquat.so
194 %attr(755,root,root) %{_libdir}/libvrpn.so
195 %attr(755,root,root) %{_libdir}/libvrpn_atmel.so
196 %attr(755,root,root) %{_libdir}/libvrpn_timecode_generator.so
197 %attr(755,root,root) %{_libdir}/libvrpnserver.so
198
199 %files devel
200 %defattr(644,root,root,755)
201 %{_includedir}/latLonCoord.h
202 %{_includedir}/nmeaParser.h
203 %{_includedir}/quat.h
204 %{_includedir}/utmCoord.h
205 %{_includedir}/vrpn_*.h
206
207 %if %{with java}
208 %files -n java-vrpn
209 %defattr(644,root,root,755)
210 %attr(755,root,root) %{_libdir}/libjava_vrpn.so
211 %{_javadir}/vrpn-%{version}.jar
212 %endif
213
214 %files -n python-vrpn
215 %defattr(644,root,root,755)
216 # swig bindings
217 %attr(755,root,root) %{py_sitedir}/_vrpn_*.so
218 %attr(755,root,root) %{py_sitedir}/vrpn_*.py[co]
219 # "handwritten" binding
220 %attr(755,root,root) %{py_sitedir}/vrpn.so
221
222 %if %{with apidocs}
223 %files apidocs
224 %defattr(644,root,root,755)
225 %doc build/doxygen/docs-generated/html/*
226 %endif
This page took 1.41277 seconds and 3 git commands to generate.