Blob Blame History Raw
# https://github.com/GoldenCheetah/GoldenCheetah/commit/9138a2890e2b51ed928af42ed0604c7d6d424e23
%global commit0 9138a2890e2b51ed928af42ed0604c7d6d424e23
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
%global commitdate 20190127

Name:           GoldenCheetah
Version:        3.5
Release:        0.7.%{commitdate}git%{shortcommit0}%{?dist}
Summary:        Cycling Performance Software

License:        GPLv3
URL:            http://www.goldencheetah.org/
Source0:        https://github.com/GoldenCheetah/GoldenCheetah/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz
Source1:        %{name}.desktop
# https://github.com/GoldenCheetah/GoldenCheetah/issues/2690
Source2:        %{name}.appdata.xml
# Use system libraries 
Patch0:         %{name}_20180927git.patch
# Use system libraries 
Patch1:         %{name}_20180927git.fc29.patch
# Patch that adds qxt lmfit and levmar system library
Patch2:         %{name}-sys-path.patch

BuildRequires:  gcc-c++
BuildRequires:  flex
BuildRequires:  bison
BuildRequires:  ImageMagick
BuildRequires:  pkgconfig(libusb)
BuildRequires:  pkgconfig(glu)
BuildRequires:  pkgconfig(openssl)
BuildRequires:  pkgconfig(Qt5Core)
BuildRequires:  pkgconfig(Qt5Charts)
BuildRequires:  pkgconfig(Qt5QuickWidgets)
BuildRequires:  pkgconfig(Qt5Multimedia)
BuildRequires:  pkgconfig(Qt5Script)
BuildRequires:  pkgconfig(Qt5SerialPort)
BuildRequires:  pkgconfig(Qt5Svg)
BuildRequires:  pkgconfig(Qt5Help)
BuildRequires:  pkgconfig(Qt5WebKit)
BuildRequires:  pkgconfig(Qt5Bluetooth)
BuildRequires:  pkgconfig(Qt5WebEngine)
BuildRequires:  pkgconfig(Qt5WebChannel)
BuildRequires:  pkgconfig(Qt5Location)
BuildRequires:  pkgconfig(QxtCore-qt5)
BuildRequires:  pkgconfig(libical)
BuildRequires:  pkgconfig(samplerate)
BuildRequires:  pkgconfig(zlib)
BuildRequires:  pkgconfig(lmfit)
BuildRequires:  levmar-devel
BuildRequires:  desktop-file-utils
BuildRequires:  libappstream-glib
BuildRequires:  qt5-linguist
BuildRequires:  qt5-qttranslations
BuildRequires:  qwtplot3d-qt5-devel
BuildRequires:  libkml-devel
BuildRequires:  R-core-devel
BuildRequires:  R-Rcpp-devel
BuildRequires:  R-RInside-devel
BuildRequires:  python3-devel
BuildRequires:  python3-sip-devel
Requires:       hicolor-icon-theme

# qt5-qtwebengine-devel is missing on ppc64, ppc64le, s390x CPU architectures.
ExclusiveArch:  %{qt5_qtwebengine_arches}

%description
#Golden Cheetah is a program for cyclists: 
- download and import activities from most popular bike computers from CycleOps,
  SRM, Polar, Garmin and others;
- analyze, track and review performance data and metrics;
- train indoors with real-time monitoring supporting trainers from Racermate,
  Tacx and any ANT+ device; 
- Golden Cheetah is free software and distributed under the GPL.

%package data
Summary:       Icons and translation files for %{name}
BuildArch:     noarch
Requires:      %{name} = %{version}-%{release}

%description data
This package contains icons and translation files.

%package        doc
Summary:        Documentation files for %{name}
Group:          Documentation
BuildArch:      noarch

%description    doc
The %{name}-doc package contains html documentation
that use %{name}.

%prep
%setup -qn %{name}-%{commit0}
%if 0%{?fedora} >=29
%patch1 -p1
%else
%patch0 -p1
%endif
%patch2 -p1 -b .sys-path

# fixes W: spurious-executable-perm
find . -type f  \( -name "*.cpp" -o -name "*.h" \) -exec chmod a-x {} \;

sed -i -e 's|DEFINES += QXT_STATIC||' src/src.pro

%build
# Add system libraries to build
echo QXT_INSTALL = %{_prefix} >> src/gcconfig.pri
echo QXT_INCLUDE = %{_qt5_headerdir}/QxtWidgets >> src/gcconfig.pri
echo QXT_LIBS = -lQxtCore-qt5 -lQxtWidgets-qt5 -lQxtNetwork-qt5 -lQxtSql-qt5 -lQxtWeb-qt5 -lQxtZeroconf-qt5 >> src/gcconfig.pri
echo LMFIT_INSTALL = %{_prefix} >> src/gcconfig.pri
echo LMFIT_INCLUDE = %{_includedir} >> src/gcconfig.pri
echo LMFIT_LIBS = -L%{_libdir} -llmfit >> src/gcconfig.pri
echo LEVMAR_INSTALL = %{_prefix} >> src/gcconfig.pri
echo LEVMAR_INCLUDE = %{_includedir} >> src/gcconfig.pri
echo LEVMAR_LIBS = -L%{_libdir} -llevmar >> src/gcconfig.pri

# Create translation files.
lrelease-qt5 src/Resources/translations/*.ts
%{_qt5_qmake} %{_qt5_qmake_flags}
%make_build

%install
mkdir -p %{buildroot}%{_bindir}/
cp -p %{_builddir}/%{buildsubdir}/src/GoldenCheetah %{buildroot}%{_bindir}/

desktop-file-install                        \
--dir=%{buildroot}%{_datadir}/applications  \
%{SOURCE1}

install -Dm644 %{SOURCE2} %{buildroot}/%{_metainfodir}/%{name}.appdata.xml

install -d -m 0755 %{buildroot}%{_datadir}/%{name}/translations
install -m 0644 src/Resources/translations/gc_{es,nl,zh-tw,pt-br,pt,ru,it,cs,ja,de,sv,fr,zh-cn}.qm \
        %{buildroot}%{_datadir}/%{name}/translations

#icons
for size in 256 48 32 16; do
  install -d %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps
  convert doc/web/logo.jpg -resize ${size} %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/%{name}.png
done

%find_lang %{name} --all-name --with-qt

%check
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
appstream-util validate-relax --nonet %{buildroot}/%{_metainfodir}/%{name}.appdata.xml

%files -f %{name}.lang
%doc README.md
%license COPYING
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_metainfodir}/%{name}.appdata.xml
%{_datadir}/icons/hicolor/*/apps/%{name}.png

%files data
%{_datadir}/%{name}

%files doc
%doc doc/user/*.pdf

%changelog
* Mon Jan 28 2019 Martin Gansser <martinkg@fedoraproject.org> - 3.5-0.7.20190128git9138a28
- Update to 3.5-0.7.20190128git9138a28

* Thu Dec 13 2018 Martin Gansser <martinkg@fedoraproject.org> - 3.5-0.6.20181211gitf7d2431
- Update to 3.5-0.6.20181211gitf7d2431
- qwtplot3d is deprecated removed from sys-path.patch

* Wed Nov 28 2018 Martin Gansser <martinkg@fedoraproject.org> - 3.5-0.5.20181125gitea5c07d
- Merge qxt-sys.patch qwt3d-sys.patch and lmfit-levmar.patch to sys-path.patch
- Update to 3.5-0.5.20181125gitea5c07d

* Mon Nov 26 2018 Martin Gansser <martinkg@fedoraproject.org> - 3.5-0.4.20181125git0c668c0
- Add %%{name}-lmfit-levmar.patch
- Update to git0c668c0 

* Fri Nov 23 2018 Martin Gansser <martinkg@fedoraproject.org> - 3.5-0.3.20181120gitaae6243
- Add BR gcc-c++
- Add comments explaining what the patches do
- Correct version to 3.5 dev branch
- Remove obsolete scriptlets
- use %%find_lang macro for translation files
- Remove owned directories in the data subpackage

* Thu Nov 22 2018 Martin Gansser <martinkg@fedoraproject.org> - 3.5-0.2.20181120gitaae6243
- Add %%{name}-qxt-sys.patch
- Add %%{name}-qwt3d-sys.patch

* Tue Nov 20 2018 Martin Gansser <martinkg@fedoraproject.org> - 3.5-0.1.20181120gitaae6243
- initial build