## NOTE Please read README_packaging.txt before updating this package. %define _disable_ld_no_undefined 1 %global __requires_exclude ^lib(S57ENC|GARMINHOST|TEXCMP|NMEA0183)\\.so.*$ %define tarname OpenCPN Name: opencpn Summary: A concise Chartplotter and Navigation software Version: 4.8.2 Release: %mkrel 2 License: GPLv2+ Group: Geography URL: http://opencpn.org/ocpn/ Source0: https://github.com/%{tarname}/%{tarname}/archive/v%{version}/%{tarname}-%{version}.tar.gz Source1: README_packaging.txt Source2: get-plugins Patch0: OpenCPN-4.8.2-aarch64-plugindir.patch BuildRequires: bzip2-devel BuildRequires: cmake BuildRequires: gettext BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libgps) BuildRequires: pkgconfig(portaudio-2.0) BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(tinyxml) BuildRequires: wxgtku3.0-devel Requires: gpsd-clients Recommends: opencpn-ais-radar-plugin Recommends: opencpn-br24radar-plugin Recommends: opencpn-celestial-navigation-plugin Recommends: opencpn-chartdldr-plugin Recommends: opencpn-climatology-plugin Recommends: opencpn-iacfleet-plugin Recommends: opencpn-logbookkonni-plugin Recommends: opencpn-objsearch-plugin Recommends: opencpn-polar-plugin Recommends: opencpn-route-plugin Recommends: opencpn-s63-plugin Recommends: opencpn-sar-plugin Recommends: opencpn-squiddio-plugin Recommends: opencpn-statusbar-plugin Recommends: opencpn-watchdog-plugin Recommends: opencpn-weather-routing-plugin Recommends: opencpn-weatherfax-plugin %description A cross-platform ship-borne GUI application supporting * GPS/GPDS Position Input * BSB Raster Chart display * S57 Vector ENC chart display * CM93 Vector chart display * AIS Input Decoding * Waypoint Autopilot Navigation Pilot charts can be downloaded from http://opencpn.org/ocpn/pilotcharts Other useful add-ons may be found inside the "Download" link at http://opencpn.org/ocpn %prep %setup -q -n %{tarname}-%{version} %autopatch -p1 rm -rf plugins/chartdldr_pi # Be sure to use system tinyxml headers and not bundled ones rm -f src/tinyxml*.cpp include/tinyxml.h %build %cmake -DBUNDLE_DOCS=ON \ -DBUNDLE_TCDATA=ON \ -DBUNDLE_GSHHS=CRUDE \ -DBUILD_SHARED_LIBS=OFF %make_build %install %make_install -C build %find_lang %{name} %find_lang %{name}-grib_pi %find_lang %{name}-dashboard_pi %find_lang %{name}-wmm_pi desktop-file-install \ --dir=%{buildroot}%{_datadir}/applications \ --remove-category='Science' \ %{buildroot}%{_datadir}/applications/%{name}.desktop cp -f data/license.txt %{buildroot}%{_datadir}/%{name}/doc cp -f data/doc/help_en_US.html %{buildroot}%{_datadir}/%{name}/doc # Remove Debian-only docs rm -rf %{buildroot}%{_datadir}/doc/%{name} %files -f %{name}.lang -f %{name}-dashboard_pi.lang -f %{name}-grib_pi.lang -f %{name}-wmm_pi.lang %doc README %{_bindir}/* %dir %{_libdir}/%{name} %{_libdir}/%{name}/* %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/plugins %{_datadir}/%{name}/* %{_datadir}/applications/%{name}.desktop %{_iconsdir}/hicolor/*/apps/%{name}.*