File XyGrib.spec of Package XyGrib

#
# spec file for package XyGrib
#
# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2018-2021 Dr. Axel Braun <DocB@opensuse.org>
# Copyright (c) 2018 Dominig ar Foll (Intel Open Source)
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           XyGrib
Version:        1.2.6.1
Release:        0
Summary:        A weather visualization package
License:        GPL-3.0-only
Group:          Productivity/Other
URL:            https://opengribs.org/en/
Source0:        https://github.com/opengribs/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1:        %{name}.png
Source2:        %{name}.desktop
Patch0:         QPainter.patch
Patch1:         libjpeg24.diff
Patch2:         proj8.diff
Patch3:         projection.diff
BuildRequires:  cmake
BuildRequires:  libnova-devel
BuildRequires:  libpng-devel
BuildRequires:  libqt5-linguist-devel
BuildRequires:  libqt5-qtbase-devel
BuildRequires:  pkgconfig
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(Qt5Core)
BuildRequires:  pkgconfig(Qt5Gui)
BuildRequires:  pkgconfig(Qt5Network)
BuildRequires:  pkgconfig(Qt5PrintSupport)
BuildRequires:  pkgconfig(Qt5Widgets)
BuildRequires:  pkgconfig(Qt5Xml)
BuildRequires:  pkgconfig(bzip2)
BuildRequires:  pkgconfig(libopenjp2)
BuildRequires:  pkgconfig(proj)
BuildRequires:  pkgconfig(zlib)
%if 0%{?suse_version} < 1500
Requires(post): update-desktop-files
Requires(postun):update-desktop-files
%endif

%description
XyGrib is a weather visualization package that interacts with
OpenGribs's Grib server providing a choice of global and large area
atmospheric and wave models.

XyGrib also uses pre-cut Gribs of high-resolution regional models
found on OpenSkiron.org.

%prep
%setup -q
%patch0 -p1
%patch1 -p1
cp %{S:1} %{S:2} .

%patch2 -p1
%patch3 -p1

%build
# -DNO_UPDATE=1 deactivates XyGrib internal SW update
# -DOPENSUSE=1  macro for optional openSUSE friendly options in the source code
%cmake \
    -DCMAKE_INSTALL_PREFIX=%{_datadir}/openGribs \
	-DCMAKE_CXX_FLAGS="%{optflags} -DNO_UPDATE=1 -DOPENSUSE=1"
%cmake_build

%install
%cmake_install

# xygrib Makefile install is not very Linux
mkdir %{buildroot}/%{_bindir}
mv %{buildroot}/%{_datadir}/openGribs/XyGrib/XyGrib %{buildroot}/%{_bindir}/XyGrib

# Uses handmade xygrib.desktop file from OSB
%suse_update_desktop_file -i %{name}

# Starting with openSUSE 15.0 this is automatic
%if 0%{?suse_version} < 1500
%post
%desktop_database_post

%postun
%desktop_database_postun
%endif

%files
%doc README.md
%license LICENSE
%dir %attr(0755, root, root) %{_datadir}/openGribs
%{_bindir}/%{name}
%{_datadir}/openGribs/%{name}
%{_datadir}/applications/XyGrib.desktop
%{_datadir}/pixmaps/XyGrib.png

%changelog
openSUSE Build Service is sponsored by