From: Jakub Bogusz Date: Wed, 31 Dec 2014 16:55:07 +0000 (+0100) Subject: - new X-Git-Tag: auto/th/libnifalcon-1.0.2-1~3 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=9a269923a12a1ed1a3f9cf798dbc42ab56cb3cf6;p=packages%2Flibnifalcon.git - new --- 9a269923a12a1ed1a3f9cf798dbc42ab56cb3cf6 diff --git a/libnifalcon-boost.patch b/libnifalcon-boost.patch new file mode 100644 index 0000000..9771097 --- /dev/null +++ b/libnifalcon-boost.patch @@ -0,0 +1,29 @@ +--- libnifalcon-1.0.2/CMakeLists.txt.orig 2010-11-27 05:42:07.000000000 +0100 ++++ libnifalcon-1.0.2/CMakeLists.txt 2014-12-31 15:20:50.459408548 +0100 +@@ -81,14 +81,13 @@ + + #Find boost, used all over the place + SET(Boost_USE_MULTITHREADED ON) +-SET(Boost_USE_STATIC_LIBS ON) + + FIND_PACKAGE(Boost REQUIRED) + IF(NOT Boost_FOUND) + MESSAGE(FATAL_ERROR "libnifalcon requires a minimum of the Boost 1.33 headers to build") + ENDIF(NOT Boost_FOUND) + +-FIND_PACKAGE(Boost COMPONENTS program_options thread) ++FIND_PACKAGE(Boost COMPONENTS program_options thread system) + + ###################################################################################### + # Project specific globals +--- libnifalcon-1.0.2/examples/CMakeLists.txt.orig 2010-11-27 05:42:07.000000000 +0100 ++++ libnifalcon-1.0.2/examples/CMakeLists.txt 2014-12-31 15:58:29.952647059 +0100 +@@ -128,7 +128,7 @@ + IF(X11_FOUND AND X11_XTest_LIB) + INCLUDE_DIRECTORIES(${X11_INCLUDE_DIR}) + SET(MOUSE_SRCS falcon_mouse/falcon_mouse.cpp falcon_mouse/falcon_mouse_x11.cpp) +- SET(MOUSE_LINK_LIBS ${LIBNIFALCON_EXE_PO_LINK_LIBS} ${X11_LIBRARIES} ${X11_XTest_LIB}) ++ SET(MOUSE_LINK_LIBS ${LIBNIFALCON_EXE_PO_LINK_LIBS} ${X11_LIBRARIES} ${X11_XTest_LIB} boost_system) + ELSE(X11_FOUND AND X11_XTest_LIB) + MESSAGE(STATUS "Not compiling falcon_mouse example - X11 compiling requires the XTest library") + ENDIF(X11_FOUND AND X11_XTest_LIB) diff --git a/libnifalcon.spec b/libnifalcon.spec new file mode 100644 index 0000000..36b9bc0 --- /dev/null +++ b/libnifalcon.spec @@ -0,0 +1,182 @@ +# +# Conditional build: +%bcond_without apidocs # do not build and package API docs +%bcond_without swig # SWIG based Java and Python bindings +# +Summary: Open Source Driver for the Novint Falcon Haptic Controller +Summary(pl.UTF-8): Sterownik z otwartymi źródłami dla kontrolerów haptycznych Novint Falcon +Name: libnifalcon +Version: 1.0.2 +Release: 1 +License: BSD +Group: Libraries +# for new releases see https://github.com/qdot/libnifalcon +Source0: http://downloads.sourceforge.net/libnifalcon/%{name}-%{version}.tar.gz +# Source0-md5: d2d226dad44ad2c98343cca5523e9f16 +Patch0: %{name}-boost.patch +URL: https://github.com/qdot/libnifalcon +BuildRequires: boost-devel +BuildRequires: cmake >= 2.6.0 +%{?with_apidocs:BuildRequires: doxygen} +BuildRequires: libusb-devel >= 1.0 +BuildRequires: pkgconfig +BuildRequires: xorg-lib-libX11-devel +BuildRequires: xorg-lib-libXtst-devel +%if %{with swig} +BuildRequires: jdk +BuildRequires: python-devel >= 2 +BuildRequires: rpmbuild(macros) >= 1.219 +BuildRequires: swig +BuildRequires: swig-python +%endif +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +%description +libnifalcon is a development library for the NovInt Falcon haptic +controller, and is an open source, crossplatform alternative to +NovInt's SDK. + +%description -l pl.UTF-8 +libnifalcon to biblioteka programistyczna dla kontrolerów haptycznych +NovInt Falcon. Jest mającą otwarte źródła, wieloplatformową +alternatywą dla SDK firmy NovInt. + +%package devel +Summary: Header files for libnifalcon library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libnifalcon +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: libusb-devel >= 1.0 + +%description devel +Header files for libnifalcon library. + +%description devel -l pl.UTF-8 +Pliki nagłówkowe biblioteki libnifalcon. + +%package static +Summary: Static libnifalcon library +Summary(pl.UTF-8): Statyczna biblioteka libnifalcon +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} + +%description static +Static libnifalcon library. + +%description static -l pl.UTF-8 +Statyczna biblioteka libnifalcon. + +%package apidocs +Summary: libnifalcon API documentation +Summary(pl.UTF-8): Dokumentacja API biblioteki libnifalcon +Group: Documentation + +%description apidocs +API documentation for libnifalcon library. + +%description apidocs -l pl.UTF-8 +Dokumentacja API biblioteki libnifalcon. + +%package -n java-libnifalcon +Summary: JNI interface to libnifalcon library +Summary(pl.UTF-8): Interfejs JNI do biblioteki libnifalcon +Group: Libraries/Java +Requires: %{name} = %{version}-%{release} +Requires: jre + +%description -n java-libnifalcon +JNI interface to libnifalcon library. + +%description -n java-libnifalcon -l pl.UTF-8 +Interfejs JNI do biblioteki libnifalcon. + +%package -n python-pynifalcon +Summary: Python interface to libnifalcon library +Summary(pl.UTF-8): Interfejs Pythona do biblioteki libnifalcon +Group: Libraries/Python +Requires: %{name} = %{version}-%{release} +Requires: python-libs + +%description -n python-pynifalcon +Python interface to libnifalcon library. + +%description -n python-pynifalcon -l pl.UTF-8 +Interfejs Pythona do biblioteki libnifalcon. + +%prep +%setup -q +%patch0 -p1 + +%build +install -d build +cd build +%cmake .. \ + %{?with_swig:-DBUILD_SWIG_BINDINGS=ON} + +%{__make} + +%install +rm -rf $RPM_BUILD_ROOT + +%{__make} -C build install \ + DESTDIR=$RPM_BUILD_ROOT + +%if %{with swig} +install -d $RPM_BUILD_ROOT%{py_sitedir} +install build/lib/libJNIFalcon.so $RPM_BUILD_ROOT%{_libdir} +install build/lib/_pynifalcon.so $RPM_BUILD_ROOT%{py_sitedir} +cp -p build/lang/swig/pynifalcon.py $RPM_BUILD_ROOT%{py_sitedir} +%py_comp $RPM_BUILD_ROOT%{py_sitedir} +%py_ocomp $RPM_BUILD_ROOT%{py_sitedir} +%py_postclean +%endif + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(644,root,root,755) +%doc ChangeLog.txt README.asciidoc linux/40-novint-falcon-udev.rules license/{LICENSE_GMTL_ADDENDUM.txt,LICENSE_LIBNIF_BSD.txt,LICENSE_NOVINT.txt} +%attr(755,root,root) %{_bindir}/barrow_mechanics +%attr(755,root,root) %{_bindir}/falcon_led +%attr(755,root,root) %{_bindir}/falcon_mouse +%attr(755,root,root) %{_bindir}/falcon_test_cli +%attr(755,root,root) %{_bindir}/findfalcons +%attr(755,root,root) %{_bindir}/findfalcons_multi +%attr(755,root,root) %{_libdir}/libnifalcon.so.*.*.* +%attr(755,root,root) %{_libdir}/libnifalcon_cli_base.so.*.*.* +%attr(755,root,root) %{_libdir}/libnifalcon_device_boost_thread.so.*.*.* + +%files devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libnifalcon.so +%attr(755,root,root) %{_libdir}/libnifalcon_cli_base.so +%attr(755,root,root) %{_libdir}/libnifalcon_device_boost_thread.so +%{_includedir}/falcon +%{_pkgconfigdir}/libnifalcon.pc + +%files static +%defattr(644,root,root,755) +%{_libdir}/libnifalcon.a +%{_libdir}/libnifalcon_cli_base.a +%{_libdir}/libnifalcon_device_boost_thread.a + +%if %{with apidocs} +%files apidocs +%defattr(644,root,root,755) +%doc doc/html/* +%endif + +%if %{with swig} +%files -n java-libnifalcon +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libJNIFalcon.so + +%files -n python-pynifalcon +%defattr(644,root,root,755) +%attr(755,root,root) %{py_sitedir}/_pynifalcon.so +%{py_sitedir}/pynifalcon.py[co] +%endif