## NOTE Please read README_packaging.txt before updating this package. %define _disable_ld_no_undefined 1 %global __requires_exclude ^lib(GARMINHOST|TEXCMP)\\.so.*$ %define tarname OpenCPN Name: opencpn Summary: A concise Chartplotter and Navigation software Version: 5.6.2 Release: %mkrel 4 License: GPLv2+ Group: Geography URL: http://opencpn.org/ocpn/ Source0: https://github.com/%{tarname}/%{tarname}/archive/refs/tags/%{tarname}-Release_%{version}.tar.gz Source1: README_packaging.txt Source2: README.urpmi Patch1: opencpn-5.6.2-mga-cmakelists.txt_wxgtk_test.patch BuildRequires: git BuildRequires: bzip2-devel BuildRequires: cmake BuildRequires: gettext BuildRequires: ffmpeg-devel BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(jasper) BuildRequires: pkgconfig(libarchive) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libexif) BuildRequires: pkgconfig(libgps) BuildRequires: pkgconfig(libusb) BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(pixman-1) BuildRequires: pkgconfig(portaudio-2.0) BuildRequires: pkgconfig(sndfile) BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(tinyxml) BuildRequires: pkgconfig(libzstd) BuildRequires: wxgtku3.0-devel < 3.1 Requires: gpsd-clients Obsoletes: opencpn-chartdldr-plugin < 1.2-13 Obsoletes: opencpn-oernc-plugin < 1.2.5-4 Obsoletes: opencpn-oesenc-plugin < 4.2.17-2 Obsoletes: opencpn-route-plugin < 1.2 Provides: opencpn-chartdldr-plugin = %{version}-%{release} Provides: opencpn-dashboard-plugin = %{version}-%{release} Provides: opencpn-grib-plugin = %{version}-%{release} Provides: opencpn-wmm-plugin = %{version}-%{release} Recommends: opencpn-ais-radar-plugin Recommends: opencpn-celestial-navigation-plugin Recommends: opencpn-climatology-plugin Recommends: opencpn-iacfleet-plugin Recommends: opencpn-logbookkonni-plugin Recommends: opencpn-objsearch-plugin Recommends: opencpn-polar-plugin Recommends: opencpn-radar-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 %ifarch armv7hl aarch64 x86_64 Recommends: opencpn-o-charts-plugin %endif %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 Some extra useful plugins can be found in the Mageia core repository Pilot charts can be downloaded from: http://opencpn.org/ocpn/pilotcharts Nautical charts sources can be found here: https://opencpn.org/OpenCPN/info/chartsource.html NB The commercial charts need the three opencpn plugins from Mageia nonfree/backport repository %prep %autosetup -p1 -n %{tarname}-Release_%{version} # Be sure to use system tinyxml headers and not bundled ones rm -f src/tinyxml*.cpp include/tinyxml.h cp %{SOURCE2} README.urpmi %build %cmake \ -DBUNDLE_DOCS=ON \ -DBUNDLE_TCDATA=ON \ -DBUNDLE_GSHHS=CRUDE \ -DBUILD_SHARED_LIBS=OFF \ -DNDEBUG=ON \ -DOCPN_FORCE_GTK3=ON \ -DOCPN_USE_WEBVIEW=ON %cmake_build %install %cmake_install mkdir -p %{buildroot}%{_udevrulesdir} cp %{_builddir}/%{tarname}-Release_%{version}/buildlinux/98-sglock-ocpn.rules %{buildroot}%{_udevrulesdir}/ %find_lang %{name} %find_lang %{name}-chartdldr_pi %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 # 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 -f %{name}-chartdldr_pi.lang %doc README.urpmi %{_bindir}/* %{_libdir}/%{name}/ %{_udevrulesdir}/* %{_datadir}/%{name}/ %{_datadir}/applications/%{name}.desktop %{_datadir}/metainfo/%{name}.appdata.xml %{_iconsdir}/hicolor/*/apps/%{name}.* %{_mandir}/man1/%{name}.1*