1 |
## NOTE Please read README_packaging.txt before updating this package. |
2 |
%define _disable_ld_no_undefined 1 |
3 |
%global __requires_exclude ^lib(S57ENC|GARMINHOST|TEXCMP|NMEA0183)\\.so.*$ |
4 |
%define tarname OpenCPN |
5 |
|
6 |
Name: opencpn |
7 |
Summary: A concise Chartplotter and Navigation software |
8 |
Version: 5.2.4 |
9 |
Release: %mkrel 3 |
10 |
License: GPLv2+ |
11 |
Group: Geography |
12 |
URL: http://opencpn.org/ocpn/ |
13 |
Source0: https://github.com/%{tarname}/%{tarname}/archive/v%{version}/%{tarname}-%{version}.tar.gz |
14 |
Source1: README_packaging.txt |
15 |
Source2: README.urpmi |
16 |
|
17 |
Patch1: opencpn-5.0.0-mga-missing_glx_include.patch |
18 |
Patch2: opencpn-5.2.4-mga-cmakelists.txt_wxgtk_test.patch |
19 |
|
20 |
BuildRequires: git |
21 |
BuildRequires: bzip2-devel |
22 |
BuildRequires: cmake |
23 |
BuildRequires: gettext |
24 |
BuildRequires: pkgconfig(gl) |
25 |
BuildRequires: pkgconfig(glu) |
26 |
BuildRequires: pkgconfig(jasper) |
27 |
BuildRequires: pkgconfig(libarchive) |
28 |
BuildRequires: pkgconfig(libcurl) |
29 |
BuildRequires: pkgconfig(libexif) |
30 |
BuildRequires: pkgconfig(libgps) |
31 |
BuildRequires: pkgconfig(portaudio-2.0) |
32 |
BuildRequires: pkgconfig(sndfile) |
33 |
BuildRequires: pkgconfig(sqlite3) |
34 |
BuildRequires: pkgconfig(tinyxml) |
35 |
BuildRequires: pkgconfig(zlib) |
36 |
BuildRequires: wxgtku3.0-devel < 3.1 |
37 |
|
38 |
Requires: gpsd-clients |
39 |
Obsoletes: opencpn-chartdldr-plugin < 1.2-13 |
40 |
|
41 |
Provides: opencpn-chartdldr-plugin = %{version}-%{release} |
42 |
Provides: opencpn-dashboard-plugin = %{version}-%{release} |
43 |
Provides: opencpn-grib-plugin = %{version}-%{release} |
44 |
Provides: opencpn-wmm-plugin = %{version}-%{release} |
45 |
|
46 |
Recommends: opencpn-ais-radar-plugin |
47 |
Recommends: opencpn-celestial-navigation-plugin |
48 |
Recommends: opencpn-climatology-plugin |
49 |
Recommends: opencpn-iacfleet-plugin |
50 |
Recommends: opencpn-logbookkonni-plugin |
51 |
Recommends: opencpn-objsearch-plugin |
52 |
Recommends: opencpn-oernc-plugin |
53 |
Recommends: opencpn-oesenc-plugin |
54 |
Recommends: opencpn-polar-plugin |
55 |
Recommends: opencpn-radar-plugin |
56 |
Recommends: opencpn-route-plugin |
57 |
Recommends: opencpn-s63-plugin |
58 |
Recommends: opencpn-sar-plugin |
59 |
Recommends: opencpn-squiddio-plugin |
60 |
Recommends: opencpn-statusbar-plugin |
61 |
Recommends: opencpn-watchdog-plugin |
62 |
Recommends: opencpn-weather-routing-plugin |
63 |
Recommends: opencpn-weatherfax-plugin |
64 |
|
65 |
%description |
66 |
A cross-platform ship-borne GUI application supporting |
67 |
* GPS/GPDS Position Input |
68 |
* BSB Raster Chart display |
69 |
* S57 Vector ENC chart display |
70 |
* CM93 Vector chart display |
71 |
* AIS Input Decoding |
72 |
* Waypoint Autopilot Navigation |
73 |
|
74 |
Some extra useful plugins can be found in the Mageia core repository |
75 |
Pilot charts can be downloaded from: |
76 |
http://opencpn.org/ocpn/pilotcharts |
77 |
|
78 |
Nautical charts sources can be found here: |
79 |
https://opencpn.org/OpenCPN/info/chartsource.html |
80 |
|
81 |
NB The commercial charts need the three opencpn plugins |
82 |
from Mageia nonfree repository |
83 |
|
84 |
%prep |
85 |
%autosetup -p1 -n %{tarname}-%{version} |
86 |
|
87 |
# Be sure to use system tinyxml headers and not bundled ones |
88 |
rm -f src/tinyxml*.cpp include/tinyxml.h |
89 |
|
90 |
cp %{SOURCE2} README.urpmi |
91 |
|
92 |
%build |
93 |
%cmake \ |
94 |
-DBUNDLE_DOCS=ON \ |
95 |
-DBUNDLE_TCDATA=ON \ |
96 |
-DBUNDLE_GSHHS=CRUDE \ |
97 |
-DBUILD_SHARED_LIBS=OFF \ |
98 |
-DNDEBUG=ON \ |
99 |
-DOCPN_FORCE_GTK3=ON |
100 |
|
101 |
%cmake_build |
102 |
|
103 |
%install |
104 |
|
105 |
%cmake_install |
106 |
|
107 |
mkdir -p %{buildroot}%{_udevrulesdir} |
108 |
cp %{_builddir}/%{tarname}-%{version}/buildlinux/98-sglock-ocpn.rules %{buildroot}%{_udevrulesdir}/ |
109 |
|
110 |
%find_lang %{name} |
111 |
%find_lang %{name}-chartdldr_pi |
112 |
%find_lang %{name}-grib_pi |
113 |
%find_lang %{name}-dashboard_pi |
114 |
%find_lang %{name}-wmm_pi |
115 |
|
116 |
desktop-file-install \ |
117 |
--dir=%{buildroot}%{_datadir}/applications \ |
118 |
--remove-category='Science' \ |
119 |
%{buildroot}%{_datadir}/applications/%{name}.desktop |
120 |
|
121 |
# Remove Debian-only docs |
122 |
rm -rf %{buildroot}%{_datadir}/doc/%{name} |
123 |
|
124 |
%files -f %{name}.lang -f %{name}-dashboard_pi.lang -f %{name}-grib_pi.lang -f %{name}-wmm_pi.lang -f %{name}-chartdldr_pi.lang |
125 |
%doc README.urpmi |
126 |
%{_bindir}/* |
127 |
%{_libdir}/%{name}/ |
128 |
%{_udevrulesdir}/* |
129 |
%{_datadir}/%{name}/ |
130 |
%{_datadir}/applications/%{name}.desktop |
131 |
%{_datadir}/metainfo/%{name}.appdata.xml |
132 |
%{_iconsdir}/hicolor/*/apps/%{name}.* |
133 |
%{_mandir}/man1/%{name}.1* |