File osgearth.spec of Package osgearth
%define soname 0
%define _osgplugdir %{_libdir}/osgPlugins-%(pkg-config openscenegraph --modversion)
Name: osgearth
Version: 3.7.2
Release: 0
Summary: Terrain on demand
Group: Productivity/Graphics/Other
License: LGPL-3.0-only
URL: http://osgearth.org/
Source0: osgearth-%{version}/osgearth-%{version}.tar.xz
BuildRequires: Mesa
BuildRequires: chrpath
BuildRequires: cmake
BuildRequires: glew-devel
BuildRequires: libOpenSceneGraph-devel
BuildRequires: libcurl-devel
BuildRequires: libexpat-devel
BuildRequires: libgdal-devel
BuildRequires: libgeos-devel
BuildRequires: libicu-devel
BuildRequires: libicu-devel > 4.0
BuildRequires: libnoise-devel
BuildRequires: libqt5-qtbase-devel
BuildRequires: libzip-devel
BuildRequires: minizip-devel
BuildRequires: pkg-config
BuildRequires: protobuf-devel
BuildRequires: sqlite3-devel
BuildRequires: tinyxml-devel
#BuildRequires: v8-devel
BuildRequires: zlib-devel
BuildRequires: libzip-tools
# the following is separate in Fedora:
%if 0%{?fedora_version}
BuildRequires: OpenSceneGraph-qt-devel
%endif
%description
osgEarth is a C++ terrain rendering SDK. Just create a simple XML
file, point it at your imagery, elevation, and vector data, load it
into your favorite OpenSceneGraph application, and go! osgEarth
supports all kinds of data and comes with lots of examples to help you
get up and running quickly and easily.
%package -n lib%{name}%{soname}
Summary: Shared libraries for %{name}
Group: System/Libraries
%description -n lib%{name}%{soname}
The lib%{name}%{soname} package contains libraries and header files for
applications that use %{name}.
%package devel
Summary: Development files for %{name}
Group: Development/Libraries/C and C++
Requires: lib%{name}%{soname} = %{version}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package data
Group: Productivity/Graphics/Other
Summary: Data files for %{name}
%description data
The %{name}-data package contains sample data for applications that
use %{name}.
%package examples
Summary: Examples using %{name}
Group: Productivity/Graphics/Other
Requires: %{name}-data
%description examples
The %{name}-examples package contains sample applications that
use %{name}.
%prep
%autosetup -p1
# modify data file paths to point to installed data
pushd src/applications
for f in `find . -name "*.cpp" -exec grep -q '\.\./data/' {} \; -print`; do
sed -i -e 's@\.\./data/@%{_datadir}/%{name}/data/@' $f
done
popd
%build
mkdir build
pushd build
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_SKIP_RPATH=TRUE \
-DINSTALL_TO_OSG_DIR=ON \
-DOSGEARTH_BUILD_ZIP_PLUGIN=OFF \
-DOSGEARTH_USE_QT=ON \
-DOSGEARTH_INSTALL_SHADERS=ON \
-DWITH_EXTERNAL_TINYXML=TRUE \
..
make %{?_smp_mflags} VERBOSE=1
%install
pushd build
make install DESTDIR=%{buildroot}
# install the example data
# if you ever want to run the examples with their original data,
# do so from the %%{buildroot}%%{_datadir}/%%{name}/tests dir
install -d %{buildroot}%{_datadir}/%{name}
for i in data tests; do
tar cf - $i | (cd %{buildroot}%{_datadir}/%{name} && tar xf -)
done
%post -n lib%{name}%{soname} -p /sbin/ldconfig
%postun -n lib%{name}%{soname} -p /sbin/ldconfig
%files -n lib%{name}%{soname}
%defattr(-,root,root,-)
%doc LICENSE.txt README.md
%{_libdir}/*.so.*
%dir %{_osgplugdir}
%{_osgplugdir}/osgdb_*.so
%files devel
%defattr(-,root,root,-)
%doc
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/cmake
%files data
%defattr(-,root,root,-)
%{_datadir}/%{name}
%files examples
%defattr(-,root,root,-)
%{_bindir}/*
%changelog