Blob Blame History Raw
%global appname         com.github.tkashkin.%{name}
%global short_version   0.16.0
%global dev_version     %{short_version}-1-master

# Upstream recommendation disabling all optimizations due to known bugs
# * https://github.com/tkashkin/GameHub/pull/169
%global optflags %{optflags} -O0

Name:           gamehub
Version:        %{short_version}.1
Release:        1%{?dist}
Summary:        All your games in one place

License:        GPLv3+
URL:            https://github.com/tkashkin/GameHub
Source0:        %{url}/archive/%{dev_version}/%{name}-%{version}.tar.gz

BuildRequires:  desktop-file-utils
BuildRequires:  intltool
BuildRequires:  libappstream-glib
BuildRequires:  meson
BuildRequires:  vala
BuildRequires:  pkgconfig(gdk-3.0)
BuildRequires:  pkgconfig(gee-0.8)
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(gtk+-3.0)
BuildRequires:  pkgconfig(json-glib-1.0)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(polkit-gobject-1)
BuildRequires:  pkgconfig(sqlite3)
BuildRequires:  pkgconfig(unity)
BuildRequires:  pkgconfig(webkit2gtk-4.0)
%if 0%{?fedora} >= 30
BuildRequires:  pkgconfig(manette-0.2)
%endif
Requires:       hicolor-icon-theme
Requires:       polkit%{?_isa}

Recommends:     dosbox%{?_isa}
Recommends:     file-roller%{?_isa}
Recommends:     innoextract%{?_isa}
Recommends:     wine%{?_isa}

# Requires for GOG DOSBox games
Suggests:       libcaca%{?_isa}

# Interpreter for several adventure games
Suggests:       scummvm%{?_isa}

%description
Unified library for all your games, written in Vala using GTK+3, designed for
elementary OS.
GameHub allows to view, download, install, run and uninstall games from
supported sources.
GameHub supports non-native games as well as native games for Linux.
It supports multiple compatibility layers for non-native games:

• Wine/Proton
• DOSBox
• RetroArch
• ScummVM

It also allows to add custom emulators.
GameHub supports WineWrap — a set of preconfigured wrappers for supported games.
GameHub supports multiple game sources and services:

• Steam
• GOG
• Humble Bundle
• Humble Trove

Locally installed games can also be added to GameHub.
GameHub makes storing and managing your DRM-free game collection easier.
Download installers, DLCs and bonus content and GameHub will save your downloads
according to settings.


%prep
%autosetup -p1 -n GameHub-%{dev_version}


%build
branch=master
commit=8a88b0796857fa6c30bca4eabd7da44e192cf1ad
commit_short="$(c=${commit}; echo ${c:0:7})"
%meson                                      \
    --buildtype=debug                       \
    -Dgit_branch="${branch}"                \
    -Dgit_commit="${commit}"                \
    -Dgit_commit_short="${commit_short}"
%meson_build


%install
%meson_install
%find_lang %{appname}

# No HiDPI icons version yet
rm -r %{buildroot}%{_datadir}/icons/hicolor/*@2/


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


%files -f %{appname}.lang
%license COPYING
%doc README.md
%{_bindir}/%{appname}
%{_bindir}/%{appname}-overlayfs-helper
%{_bindir}/%{name}
%{_datadir}/%{appname}/
%{_datadir}/applications/*.desktop
%{_datadir}/glib-2.0/schemas/*.gschema.xml
%{_datadir}/icons/hicolor/*/*/*
%{_datadir}/polkit-1/actions/*.policy
%{_metainfodir}/*.appdata.xml


%changelog
* Thu Apr 16 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.16.0.1-1
- Update to 0.16.0-1-master

* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Tue Jan 21 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.15.0.1-1
- Update to 0.15.0-1-master

* Sun Jul 28 2019 Artem Polishchuk <ego.cordatus@gmail.com> - 0.14.2.1-3
- Disable all compiler optimizations due to bugs
- Enable debug build

* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Tue Jul 23 2019 Artem Polishchuk <ego.cordatus@gmail.com> - 0.14.2.1-1
- Update to 0.14.2-1-master

* Sat Jun 29 2019 Artem Polishchuk <ego.cordatus@gmail.com> - 0.14.1.4-1
- Update to 0.14.1-4-dev
- Remove 'granite' dependency

* Sun Jun 16 2019 Artem Polishchuk <ego.cordatus@gmail.com> - 0.14.0.19-1
- Update to 0.14.0.19-dev

* Mon Jun 03 2019 Artem Polishchuk <ego.cordatus@gmail.com> - 0.13.1.107-1
- Update to 0.13.1-107-dev

* Fri May 24 2019 Artem Polishchuk <ego.cordatus@gmail.com> - 0.13.1.96-1
- Update to 0.13.1-96-dev
- Add more description
- Suggests libcaca package

* Sat Apr 13 2019 Artem Polishchuk <ego.cordatus@gmail.com> - 0.13.1.80-3
- Update to latest snapshot
- Add recommended packages as weak dependencies
- Add libmanette-devel as BR for gamepad support
- Enable symbolic icons by default

* Tue Apr 09 2019 Artem Polishchuk <ego.cordatus@gmail.com> - 0.13.1.77-1
- Initial Package