-
Notifications
You must be signed in to change notification settings - Fork 55
/
mingw64-viking.spec.in
105 lines (87 loc) · 3.19 KB
/
mingw64-viking.spec.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# Public Domain CC0
%define _pkg_name viking
Name: mingw64-%{_pkg_name}
Version: @VERSION@
Release: 1
Summary: GPS data editor and analyzer
Group: Applications/Productivity
License: GPL-2.0-or-later
URL: https://sourceforge.net/projects/viking/
Source0: %{_pkg_name}-%{version}.tar.gz
# 64bit version only in this file. See mingw32-viking.spec for the 32bit version
# Programs to enable the cross build
BuildRequires: mingw64-cross-gcc
BuildRequires: mingw64-gettext-tools
BuildRequires: intltool
BuildRequires: libxslt-tools
BuildRequires: glib2-devel
#^ For glib-compile-resources
BuildRequires: vim
#^ Contains xxd command
# Code
# Not worried about versions ATM - latest is 3.22 which is what we need
BuildRequires: mingw64-gtk3-devel
# ATM gtk3-devel auto includes at least devel versions of glib2, gobject, zlib and more
# Mandatory libraries
BuildRequires: mingw64-json-glib-devel
BuildRequires: mingw64-libexpat-devel
BuildRequires: mingw64-libcurl-devel
# Optional libraries
BuildRequires: mingw64-libgexiv2-devel
BuildRequires: mingw64-libbz2-devel
BuildRequires: mingw64-file-devel
BuildRequires: mingw64-sqlite-devel
BuildRequires: mingw64-libzip-devel
BuildRequires: mingw64-libnettle-devel
BuildRequires: mingw64-libgps-devel
BuildRequires: mingw64-liboauth-devel
BuildRequires: mingw64-libnova-devel
BuildRequires: mingw64-xz-devel
# Libs for runtime (and thus also available for the NSIS installer to include the dependencies)
# Should be auto detected
#Requires: mingw64-gtk3
# mingw64-libcurl4, mingw64-libgexiv2, etc...
# Currently running makensis in seperate script - so you will need it then
# NB No 64bit version available
#Requires: mingw32-cross-nsis
# GTK3 theming
Requires: adwaita-icon-theme
%_mingw64_package_header_debug
BuildArch: noarch
%description
Viking is a free/open source program to manage GPS data.
You can import, plot and create tracks, routes and waypoints, show OSM and other maps, see real-time GPS position, control items, etc.
Other advanced capabilities include Geotagging Images, generate Maps (using Mapnik), Upload and Download tracks from OSM, Routing from OSRM, Name Searches from OSM Nominatim or Geonames and more.
It is written in mainly in C with some C++ and uses the GTK+3 toolkit.
%_mingw64_debug_package
%prep
%setup -q -n %{_pkg_name}-%{version}
%build
# Create Icon
pushd windows/installer/pixmaps
%{_mingw64_windres} viking_icon.rc -o viking_icon.o
popd
#
# Specifics for Windows build - i.e. no Mapnik yet
%{_mingw64_configure}\
--disable-mapnik \
--disable-geoclue \
--enable-windows \
CFLAGS="-DWINDOWS -DWIN32 -mwindows -DCURL_NO_SSL_VERIFYPEER"
# NB not sure if '-DWIN32' is necessary/applicable for a 64bit build...
%{_mingw64_make} %{?_smp_mflags}
%install
pushd src
%{_mingw64_strip} -g %{_pkg_name}.exe
popd
%make_install
%find_lang %{_pkg_name}
%files -f %{_pkg_name}.lang
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING NEWS README.md doc/
%{_mingw64_bindir}/*%{_pkg_name}.exe
%{_mingw64_datadir}/applications/%{_pkg_name}.desktop
%{_mingw64_datadir}/%{_pkg_name}
%{_mingw64_datadir}/icons/hicolor/*/apps/%{_pkg_name}.*
%exclude %{_mingw64_datadir}/icons/hicolor/icon-theme.cache
%changelog