Name: libkni3 Version: 3.9.2 Release: 18%{?dist} Summary: C++ KNI library v3 for the Katana 300 robot arm Group: System Environment/Libraries License: GPLv2+ URL: http://www.neuronics.ch/cms_de/web/index.php?id=386 Source0: http://www.neuronics.ch/cms_de/mediabase/KNI_3.9.2.tar.gz Patch0: kni-3.9.2-gcc43.patch Patch1: kni-3.9.2-sofixes.patch Patch2: kni-3.9.2-ctor.patch Patch3: kni-3.9.2-noexit.patch Patch4: kni-3.9.2-gcc47.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: doxygen, graphviz %if 0%{?fedora} >= 9 BuildRequires: texlive-utils %else BuildRequires: tetex %endif BuildRequires: boost-devel %description Katana Native Interface is a C++ library for programmers who would like to write their own programs, but don't want to implement the protocol and device stuff katana is using. This package contains the library for the Katana 300 series of the arm. For newer robots use libkni (version 4 and above). %package devel Summary: Development files for %{name} Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: pkgconfig %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package static Summary: Static libraries for %{name} Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} %description static This package contains static libraries that can be used to compile static binaries using %{name}. %package doc Summary: Documentation for %{name} Group: Documentation %description doc This package contains the documentation for developing with %{name}. %package examples Summary: Example applications for %{name} Group: Applications/System Requires: %{name} = %{version}-%{release} %description examples This package contains demo applications for %{name}. %prep %setup -q -n KNI_%{version} %patch0 -p1 -b .gcc43 %patch1 -p1 -b .sofixes %patch2 -p1 -b .ctor %patch3 -p1 -b .noexit %patch4 -p1 -b .gcc47 %build make CFLAGS="%{optflags}" make doc echo "prefix=%{prefix} exec_prefix=%{prefix} libdir=%{_libdir} includedir=%{_includedir} Name: %{name} Description: %{summary} Version: %{version} Libs: -L\${libdir} -lKNIBase3 -lKNI_InvKin3 -lKNI_LM3 Cflags: -I\${includedir}/kni3" > libkni3.pc %install rm -rf %{buildroot} mkdir -p %{buildroot} mkdir -p %{buildroot}%{_libdir} install -m 0644 -p lib/linux/*.a %{buildroot}%{_libdir} install -p lib/linux/*.so.* %{buildroot}%{_libdir} for f in `find %{buildroot}%{_libdir} -name '*.so.*.*.*'`; do ln -s `basename $f` %{buildroot}%{_libdir}/`echo \`basename $f\` | sed -e 's/\(\(.*\).so\)\(.*\)/\1/'` ln -s `basename $f` %{buildroot}%{_libdir}/`objdump --private-headers $f | grep SONAME | awk '{print $2}'` done mkdir -p %{buildroot}%{_bindir} for f in `find demo/ -perm /a+x -type f`; do install -p $f %{buildroot}%{_bindir}/kni_`basename $f` done mkdir -p %{buildroot}%{_sysconfdir}/kni3 mkdir -p %{buildroot}%{_sysconfdir}/kni3/hd300 mkdir -p %{buildroot}%{_sysconfdir}/kni3/hd400 install -p -m 0644 configfiles300/*.cfg %{buildroot}%{_sysconfdir}/kni3/hd300 install -p -m 0644 configfiles400/*.cfg %{buildroot}%{_sysconfdir}/kni3/hd400 mkdir -p %{buildroot}%{_includedir}/kni3 cp -a include/* %{buildroot}%{_includedir}/kni3 mkdir -p %{buildroot}%{_docdir}/%{name}-doc-%{version} cp -a doc/html %{buildroot}%{_docdir}/%{name}-doc-%{version} install -p -m 0644 doc/*.pdf %{buildroot}%{_docdir}/%{name}-doc-%{version} find %{buildroot} -name '.svn' | xargs rm -rf mkdir -p %{buildroot}%{_libdir}/pkgconfig install -p -m 0644 libkni3.pc %{buildroot}%{_libdir}/pkgconfig %clean rm -rf %{buildroot} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root,-) %doc LICENSE.txt readme.txt AUTHORS.txt %{_libdir}/*.so.* %dir %{_sysconfdir}/kni3 %dir %{_sysconfdir}/kni3/hd300 %dir %{_sysconfdir}/kni3/hd400 %config(noreplace)%{_sysconfdir}/kni3/*/*.cfg %files devel %defattr(-,root,root,-) %{_includedir}/* %{_libdir}/*.so %{_libdir}/pkgconfig/* %files static %defattr(-,root,root,-) %{_libdir}/*.a %files doc %defattr(-, root, root, 0755) %{_docdir}/%{name}-doc-%{version} %files examples %defattr(-, root, root, 0755) %{_bindir}/kni_* %changelog * Thu Feb 14 2013 Fedora Release Engineering - 3.9.2-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Thu Jul 19 2012 Fedora Release Engineering - 3.9.2-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Thu Mar 8 2012 Tom Callaway - 3.9.2-16 - fix build with gcc 4.7 * Tue Feb 28 2012 Fedora Release Engineering - 3.9.2-15 - Rebuilt for c++ ABI breakage * Fri Jan 13 2012 Fedora Release Engineering - 3.9.2-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Tue Feb 08 2011 Fedora Release Engineering - 3.9.2-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Mon Sep 14 2009 Tim Niemueller - 3.9.2-12 - doc package contains doc dir, not docs * Fri Aug 28 2009 Tim Niemueller - 3.9.2-11 - Rename shared libs to allow parallel installation for libkni - Merge all shared lib related patches to one sofixes patch * Sat Jun 13 2009 Tim Niemueller - 3.9.2-10 - Update ctor and gcc43 patch for F11 * Tue Jun 09 2009 Tim Niemueller - 3.9.2-9 - Rename to libkni3, libkni will be the most up2date version (v4), but this version is still required for older Katana 300 arms - Add patch to fix library building, did work on my machin only because libs were installed on the system * Wed Dec 03 2008 Tim Niemueller - 3.9.2-8 - Fix noexit patch * Mon Dec 01 2008 Tim Niemueller - 3.9.2-7 - Make patch 3 apply with fuzz=0 - Added patch that removes calls to exit() but throws exceptions * Sun Nov 09 2008 Tim Niemueller - 3.9.2-6 - Updated license tag - Consistent (non-)macro usage * Tue Jul 15 2008 Tim Niemueller - 3.9.2-5 - Added ctor patch which adds an optional argument to the ctor to allow for accessing an arbitrary device, for example a usb2ser converter (RoboCup 2008) * Mon Jun 23 2008 Tim Niemueller - 3.9.2-4 - More .so fixes, link libs against base lib to get rid of undefined-non-weak-symbol rpmlint warnings * Mon Jun 16 2008 Tim Niemueller - 3.9.2-3 - Fixed summary * Thu Jun 12 2008 Tim Niemueller - 3.9.2-2 - Upgraded BR to support building on Fedora version < 9 * Sat Jun 07 2008 Tim Niemueller - 3.9.2-1 - Initial package