File cloudlogoffline.spec of Package cloudlogoffline
#
# spec file for package cloudlogoffline
#
# Copyright (c) 2024 Kai Pastor
#
# This file is geared towards Open Build Service usage.
# - The version is set from obs_service-set_version.
# - Build features are enabled depending on the "branch".
# - Dependency names for Fedora packages are substituted via OBS project config.
# Unless using OBS/osc for building, the resulting spec file in the SRPMS
# provides the best starting point for individual RPM builds.
Name: cloudlogoffline
Version: git-HEAD
Release: 0
Summary: An offline frontend for CloudLog
License: LGPL-3.0
Group: Productivity/Hamradio/Other
Url: https://github.com/myzinsky/cloudLogOffline
Source0: %{name}-dg0yt-git-%{version}.tar.gz
#Source99: %%{name}-rpmlintrc
#Patch0: prefix.diff
# Substitution for distribution particularities via OBS project configuration
BuildRequires: distribution-release
BuildRequires: qt6-base-devel
BuildRequires: qt6-declarative-devel
BuildRequires: qt6-location-devel
BuildRequires: qt6-qt5compat-devel
BuildRequires: qt6-svg-devel
BuildRequires: qt6-tools-linguist
%if 0%{?suse_version}
BuildRequires: qt6-gui-private-devel
BuildRequires: update-desktop-files
%endif
%if 0%{?fedora_version}
%if 0%{?fedora_version} > 30
BuildRequires: qt6-qtbase-private-devel
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%endif
Requires: qt6-translations
%description
CloudLogOffline is an app interface for Cloudlog, the cloud logbook for
HAM radio OMs and YLs by 2M0SQL. The main purpose of CloudLogOffline is
the portable operating mode where no Wifi or 3G/LTE is availabe, e.g.
SOTA, IOTA or COTA. The logs can be stored in the app, and when back to
an internet connection, the log can be uploaded to a selfhosted Cloudlog
instance. This app is developed as cross-platform tool for macOS, iOS,
iPadOS, Android, Windows, Linux using the Qt framework.
%prep
export LANG=C.UTF-8
%setup -n %{name}-dg0yt-git-%{version}
#%%patch0 -p1
%build
export LANG=C.UTF-8
%if 0%{?branch:1}
if [ -z "${SOURCE_DATE_EPOCH}" ] ; then
export SOURCE_DATE_EPOCH=$(date +%s --date "${RPM_PACKAGE_VERSION##*.} 0000Z")
fi
%else
if [ -z "${SOURCE_DATE_EPOCH}" ] ; then
export SOURCE_DATE_EPOCH=$(date +%s --reference "%SOURCE0")
fi
%endif
$(which qmake6 || echo qmake-qt5) \
QMAKE_CFLAGS+="%optflags" \
QMAKE_CXXFLAGS+="%optflags" \
QMAKE_STRIP="/bin/true" \
PREFIX="/usr" \
CloudLogOffline.pro
make %{?_smp_mflags}
%install
export LANG=C.UTF-8
make 'INSTALL_ROOT=%{buildroot}' install
mkdir -p '%{buildroot}%{_datadir}/applications'
cp '%{_sourcedir}/debian.CloudLogOffline.desktop' '%{buildroot}%{_datadir}/applications/CloudLogOffline.desktop'
# 16, 24, 32, 48, 96, 128, 256, 512
mkdir -p '%{buildroot}%{_datadir}/icons/hicolor/32x32/apps'
cp android/res/drawable-ldpi/icon.png '%{buildroot}%{_datadir}/icons/hicolor/32x32/apps/CloudLogOffline.png'
mkdir -p '%{buildroot}%{_datadir}/icons/hicolor/48x48/apps'
cp android/res/drawable-mdpi/icon.png '%{buildroot}%{_datadir}/icons/hicolor/48x48/apps/CloudLogOffline.png'
mkdir -p '%{buildroot}%{_datadir}/icons/hicolor/96x96/apps'
cp android/res/drawable-xhdpi/icon.png '%{buildroot}%{_datadir}/icons/hicolor/96x96/apps/CloudLogOffline.png'
mkdir -p '%{buildroot}%{_docdir}/%{name}'
cp Readme.md '%{buildroot}%{_docdir}/%{name}/'
cp LICENSE '%{buildroot}%{_docdir}/%{name}/'
%post
# https://docs.fedoraproject.org/en-US/epel/epel-packaging/
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
%postun
if [ $1 -eq 0 ] ; then
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi
%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%files
%defattr(-,root,root)
%{_bindir}/CloudLogOffline
%{_datadir}/applications/CloudLogOffline.desktop
%{_datadir}/icons/hicolor/
%docdir %{_docdir}/%{name}
%dir %{_docdir}/%{name}
%doc %{_docdir}/%{name}/Readme.md
%license %{_docdir}/%{name}/LICENSE
%changelog