]> git.street.me.uk Git - andy/viking.git/blob - mingw64-viking.spec.in
[WINDOWS] Enable Windows 64bit cross build
[andy/viking.git] / mingw64-viking.spec.in
1 # Public Domain CC0
2 %{?mingw_package_header}
3 %define _pkg_name viking
4 Name:           mingw64-%{_pkg_name}
5 Version:        @VERSION@
6 Release:        1
7 Summary:        GPS data editor and analyzer
8 Group:          Applications/Productivity
9 License:        GPLv2
10 URL:            http://sourceforge.net/projects/viking/
11 Source0:        %{_pkg_name}-%{version}.tar.gz
12 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
13 BuildArch:      noarch
14
15 # 64bit version only in this file. See mingw-viking.spec for the 32bit version
16
17 # Programs to enable the cross build
18 BuildRequires:  mingw64-filesystem
19 BuildRequires:  mingw64-binutils
20 BuildRequires:  mingw64-runtime
21 BuildRequires:  mingw64-cross-binutils
22 BuildRequires:  mingw64-cross-gcc
23 BuildRequires:  mingw64-cross-pkg-config
24 BuildRequires:  mingw64-gettext-tools
25 BuildRequires:  mingw64-gnome-doc-utils-devel
26 BuildRequires:  intltool
27 BuildRequires:  gdk-pixbuf-devel
28 # ^For gdk-pixbuf-csource
29
30 # Code
31 # Not worried about versions ATM
32 BuildRequires:  mingw64-gtk2-devel
33 # ATM gtk2-devel auto includes at least devel versions of glib2, gobject, zlib and more
34
35 # Mandatory libraries
36 BuildRequires:  mingw64-libexpat-devel
37 BuildRequires:  mingw64-libcurl-devel
38 # Optional libraries
39 BuildRequires:  mingw64-libgexiv2-devel
40 BuildRequires:  mingw64-libbz2-devel
41 BuildRequires:  mingw64-file-devel
42 BuildRequires:  mingw64-libmagic1
43 BuildRequires:  mingw64-libbz2-1
44 BuildRequires:  mingw64-sqlite-devel
45 BuildRequires:  mingw64-libzip-devel
46
47 # Libs for runtime (and thus also available for the NSIS installer to include the dependencies)
48 Requires:       mingw64-gtk2
49 Requires:       mingw64-libexpat1
50 Requires:       mingw64-libcurl4
51 Requires:       mingw64-libgexiv2
52 Requires:       mingw64-libstdc++6
53 Requires:       mingw64-libsqlite3-0
54 Requires:       mingw64-libzip4
55 # Currently running makensis in seperate script - so you will need it then
56 # NB No 64bit version available
57 #Requires:      mingw32-cross-nsis
58
59 %description
60 Viking is a free/open source program to manage GPS data.
61 You can import, plot and create tracks, routes and waypoints, show OSM and other maps, see real-time GPS position, control items, etc.
62 Other advanced capabilities include Geotagging Images, generate Maps (using Mapnik), Upload and Download tracks from OSM, Routing from OSRM or Google, Name Searches from OSM Nominatim or Google and more.
63 It is written in mainly in C with some C++ and uses the GTK+2 toolkit.
64
65 %prep
66 %setup -q -n %{_pkg_name}-%{version}
67
68 %build
69 # Create Icon
70 pushd win32/installer/pixmaps
71 %{_mingw64_windres} viking_icon.rc -o viking_icon.o
72 popd
73
74 #
75 # Specifics for Windows build - i.e. no Mapnik & no GPSD
76 %{_mingw64_configure}\
77   --disable-realtime-gps-tracking \
78   --disable-mapnik \
79   --disable-scrollkeeper \
80   --enable-windows \
81   CFLAGS="-DWINDOWS -DWIN32 -mwindows"
82 # NB not sure if '-DWIN32' is necessary/applicable for a 64bit build...
83
84 %{_mingw64_make} %{?_smp_mflags}
85  
86 %install
87 pushd src
88 %{_mingw64_strip} -g %{_pkg_name}.exe
89 popd
90
91 %make_install
92
93 %find_lang %{_pkg_name}
94
95 %clean
96 rm -rf %{buildroot}
97
98 %files -f %{_pkg_name}.lang
99 %defattr(-,root,root)
100 %doc AUTHORS ChangeLog COPYING NEWS README doc/
101 %{_mingw64_bindir}/*%{_pkg_name}.exe
102 %{_mingw64_datadir}/applications/%{_pkg_name}.desktop
103 %{_mingw64_datadir}/%{_pkg_name}
104 %{_mingw64_datadir}/icons/hicolor/*/apps/%{_pkg_name}.*
105 %exclude %{_mingw64_datadir}/icons/hicolor/icon-theme.cache
106
107 %changelog