| |
@@ -0,0 +1,161 @@
|
| |
+ Name: ros-libg2o
|
| |
+ Version: melodic.2018.3.25
|
| |
+ Release: 1%{?dist}
|
| |
+ Summary: ROS package libg2o
|
| |
+
|
| |
+ License: BSD
|
| |
+ URL: http://www.ros.org/
|
| |
+
|
| |
+ Source0: https://github.com/ros-gbp/libg2o-release/archive/release/melodic/libg2o/2018.3.25-0.tar.gz#/ros-melodic-libg2o-2018.3.25-source0.tar.gz
|
| |
+
|
| |
+
|
| |
+
|
| |
+ # common BRs
|
| |
+ BuildRequires: boost-devel
|
| |
+ BuildRequires: console-bridge-devel
|
| |
+ BuildRequires: gtest-devel
|
| |
+ BuildRequires: log4cxx-devel
|
| |
+ BuildRequires: python3-devel
|
| |
+
|
| |
+ BuildRequires: boost-devel boost-python3-devel boost-python3-devel
|
| |
+ BuildRequires: cmake
|
| |
+ BuildRequires: eigen3-devel
|
| |
+ BuildRequires: lapack-devel
|
| |
+ BuildRequires: mesa-libGL-devel mesa-libGLU-devel
|
| |
+ BuildRequires: openblas-devel
|
| |
+ BuildRequires: suitesparse-devel
|
| |
+ BuildRequires: ros-melodic-catkin-devel
|
| |
+
|
| |
+ Requires: ros-melodic-catkin
|
| |
+
|
| |
+ Provides: ros-melodic-libg2o = 2018.3.25-3
|
| |
+ Obsoletes: ros-melodic-libg2o < 2018.3.25-3
|
| |
+ Obsoletes: ros-kinetic-libg2o
|
| |
+
|
| |
+
|
| |
+ %description
|
| |
+ The libg2o library from http://openslam.org/g2o.html
|
| |
+
|
| |
+ %package devel
|
| |
+ Summary: Development files for %{name}
|
| |
+ Requires: %{name}%{?_isa} = %{version}-%{release}
|
| |
+ Requires: cmake
|
| |
+ Requires: boost-devel boost-python3-devel boost-python3-devel
|
| |
+ Requires: eigen3-devel
|
| |
+ Requires: lapack-devel
|
| |
+ Requires: mesa-libGL-devel mesa-libGLU-devel
|
| |
+ Requires: openblas-devel
|
| |
+ Requires: suitesparse-devel
|
| |
+ Requires: ros-melodic-catkin-devel
|
| |
+
|
| |
+ Provides: ros-melodic-libg2o-devel = 2018.3.25-3
|
| |
+ Obsoletes: ros-melodic-libg2o-devel < 2018.3.25-3
|
| |
+ Obsoletes: ros-kinetic-libg2o-devel
|
| |
+
|
| |
+ %description devel
|
| |
+ The %{name}-devel package contains libraries and header files for developing
|
| |
+ applications that use %{name}.
|
| |
+
|
| |
+
|
| |
+
|
| |
+ %prep
|
| |
+
|
| |
+ %setup -c -T
|
| |
+ tar --strip-components=1 -xf %{SOURCE0}
|
| |
+
|
| |
+ %build
|
| |
+ # nothing to do here
|
| |
+
|
| |
+
|
| |
+ %install
|
| |
+
|
| |
+ PYTHONUNBUFFERED=1 ; export PYTHONUNBUFFERED
|
| |
+
|
| |
+ CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
|
| |
+ CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
|
| |
+ FFLAGS="${FFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FFLAGS ; \
|
| |
+ FCFLAGS="${FCFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FCFLAGS ; \
|
| |
+ %{?__global_ldflags:LDFLAGS="${LDFLAGS:-%__global_ldflags}" ; export LDFLAGS ;} \
|
| |
+
|
| |
+ source %{_libdir}/ros/setup.bash
|
| |
+
|
| |
+ # substitute shebang before install block because we run the local catkin script
|
| |
+ for f in $(grep -rl python .) ; do
|
| |
+ sed -i.orig '/^#!.*python\s*$/ { s/python/python3/ }' $f
|
| |
+ touch -r $f.orig $f
|
| |
+ rm $f.orig
|
| |
+ done
|
| |
+
|
| |
+ DESTDIR=%{buildroot} ; export DESTDIR
|
| |
+
|
| |
+
|
| |
+ catkin_make_isolated \
|
| |
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
| |
+ -DCATKIN_ENABLE_TESTING=OFF \
|
| |
+ -DPYTHON_VERSION=%{python3_version} \
|
| |
+ -DPYTHON_VERSION_NODOTS=%{python3_version_nodots} \
|
| |
+ --source . \
|
| |
+ --install \
|
| |
+ --install-space %{_libdir}/ros/ \
|
| |
+ --pkg libg2o
|
| |
+
|
| |
+
|
| |
+
|
| |
+
|
| |
+ rm -rf %{buildroot}/%{_libdir}/ros/{.catkin,.rosinstall,_setup*,local_setup*,setup*,env.sh}
|
| |
+
|
| |
+ touch files.list
|
| |
+ find %{buildroot}/%{_libdir}/ros/{bin,etc,lib64/python*,lib/python*/site-packages,share} \
|
| |
+ -mindepth 1 -maxdepth 1 | sed "s:%{buildroot}/::" > files.list
|
| |
+ find %{buildroot}/%{_libdir}/ros/lib*/ -mindepth 1 -maxdepth 1 \
|
| |
+ ! -name pkgconfig ! -name "python*" \
|
| |
+ | sed "s:%{buildroot}/::" >> files.list
|
| |
+
|
| |
+ touch files_devel.list
|
| |
+ find %{buildroot}/%{_libdir}/ros/{include,lib*/pkgconfig} \
|
| |
+ -mindepth 1 -maxdepth 1 | sed "s:%{buildroot}/::" > files_devel.list
|
| |
+
|
| |
+ find . -maxdepth 1 -type f -iname "*readme*" | sed "s:^:%%doc :" >> files.list
|
| |
+ find . -maxdepth 1 -type f -iname "*license*" | sed "s:^:%%license :" >> files.list
|
| |
+
|
| |
+
|
| |
+
|
| |
+ # replace cmake python macro in shebang
|
| |
+ for file in $(grep -rIl '^#!.*@PYTHON_EXECUTABLE@*$' %{buildroot}) ; do
|
| |
+ sed -i.orig 's:^#!\s*@PYTHON_EXECUTABLE@\s*:%{__python3}:' $file
|
| |
+ touch -r $file.orig $file
|
| |
+ rm $file.orig
|
| |
+ done
|
| |
+
|
| |
+ # replace unversioned python shebang
|
| |
+ for file in $(grep -rIl '^#!.*python\s*$' %{buildroot}) ; do
|
| |
+ sed -i.orig '/^#!.*python\s*$/ { s/python/python3/ }' $file
|
| |
+ touch -r $file.orig $file
|
| |
+ rm $file.orig
|
| |
+ done
|
| |
+
|
| |
+ # replace "/usr/bin/env $interpreter" with "/usr/bin/$interpreter"
|
| |
+ for interpreter in bash sh python2 python3 ; do
|
| |
+ for file in $(grep -rIl "^#\!.*${interpreter}" %{buildroot}) ; do
|
| |
+ sed -i.orig "s:^#\!\s*/usr/bin/env\s\+${interpreter}.*:#!/usr/bin/${interpreter}:" $file
|
| |
+ touch -r $file.orig $file
|
| |
+ rm $file.orig
|
| |
+ done
|
| |
+ done
|
| |
+
|
| |
+
|
| |
+ echo "This is a package automatically generated with rosfed." >> README_FEDORA
|
| |
+ echo "See https://pagure.io/ros for more information." >> README_FEDORA
|
| |
+ install -m 0644 -p -D -t %{buildroot}/%{_docdir}/%{name} README_FEDORA
|
| |
+ echo %{_docdir}/%{name} >> files.list
|
| |
+ install -m 0644 -p -D -t %{buildroot}/%{_docdir}/%{name}-devel README_FEDORA
|
| |
+ echo %{_docdir}/%{name}-devel >> files_devel.list
|
| |
+
|
| |
+
|
| |
+ %files -f files.list
|
| |
+ %files devel -f files_devel.list
|
| |
+
|
| |
+
|
| |
+ %changelog
|
| |
+ * Tue Feb 25 2020 Nicolas Limpert <limpert@fh-aachen.de> - melodic.2018.3.25-1
|
| |
+ - Initial package
|
| |
As per subject.