File viral.spec of Package viral

#
# spec file for package viral
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#

Name:           viral
Version:        1.0.0.0
Release:        0
Summary:        P2P digital currency
License:        MIT
Group:          Productivity/Networking/Other
Url:            https://github.com/viraldev/%{name}/
Source0:        %{name}-%{version}.tar.xz
Patch0:         %{name}-boost1.patch
Patch1:         %{name}-boost2.patch
Patch2:         %{name}-chainparams.patch
Patch3:         %{name}-net.patch
Patch4:         %{name}-qt.patch
Patch5:         %{name}-rpcrawtransaction.patch
ExcludeArch:    aarch64
%if 0%{?suse_version} && 0%{?suse_version} > 1320
BuildRequires:  libboost_filesystem-devel
BuildRequires:  libboost_program_options-devel
BuildRequires:  libboost_system-devel
BuildRequires:  libboost_thread-devel
%else
BuildRequires:  boost-devel
%endif
BuildRequires:  libdb-4_8-devel
BuildRequires:  libminiupnpc-devel
BuildRequires:  qrencode-devel
%if 0%{?suse_version} && 0%{?suse_version} >= 1315
%if 0%{?suse_version} && 0%{?suse_version} > 1320
BuildRequires:  libopenssl-1_0_0-devel
%else
BuildRequires:  libopenssl-devel
%endif
BuildRequires:  libqt5-qtbase-devel
%else
BuildRequires:  libqt4-devel
%endif
BuildRequires:  update-desktop-files

%global qt4_version qt
%global qt5_version qt5

%if 0%{?suse_version} && 0%{?suse_version} >= 1315
%define qt_version %{qt5_version}
%define qt_version_obsolete %{qt4_version}
%define ___qmake qmake-%{qt_version}
%else
%define qt_version %{qt4_version}
%define qt_version_obsolete %{qt5_version}
%define ___qmake qmake
%endif

%if 0%{?suse_version} && 0%{?is_opensuse} && 0%{?suse_version} == 1315 && 0%{?sle_version} && 0%{?sle_version} >= 120200
%define ___qmake_cxxflags QMAKE_CXXFLAGS="${QMAKE_CXXFLAGS} -DBOOST_NO_CXX11_SCOPED_ENUMS"
%endif

%if 0%{?suse_version} && 0%{?suse_version} > 1320
%define ___qmake_cxxflags QMAKE_CXXFLAGS="${QMAKE_CXXFLAGS} -DBOOST_ASIO_ENABLE_OLD_SERVICES"
%endif

%if 0%{?suse_version} && 0%{?suse_version} > 1500
%define ___qmake_cxxflags QMAKE_CXXFLAGS="${QMAKE_CXXFLAGS} -std=c++14"
%endif

%define daemon_name %{name}d
%define display_name Viral
%define gui_name %{name}-qt

%define description_text Viral is the world’s first decentralized and fully native social advertising platform. Members in the Viral network allow high quality, targeted advertising into their social network feeds and receive 100% of the generated revenue. Earnings are weighted by the quality and reach of your social network - the more solid your network, the more you earn.

%description
%{description_text}

%package %{qt_version}
Summary:        GUI for the %{display_name} crypto-currency
Group:          Productivity/Networking/Other
Obsoletes:      %{name}-%{qt_version_obsolete}

%description %{qt_version}
%{description_text}

This package provides %{display_name}-Qt, a GUI for %{display_name} based on Qt.

%package -n %{daemon_name}
Summary:        Headless daemon for %{name} crypto-currency
Group:          Productivity/Networking/Other

%description -n %{daemon_name}
%{description_text}

This package provides %{daemon_name}, a headless %{name} daemon.

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

%description doc
%{description_text}

%prep
%setup -q
%if 0%{?suse_version} && 0%{?suse_version} > 1320
%patch0
%endif
%if 0%{?suse_version} && 0%{?suse_version} > 1500
%patch1
%patch4
%endif
%patch3
%if 0%{?suse_version} && ( 0%{?suse_version} > 1320 || ( 0%{?is_opensuse} && 0%{?suse_version} == 1315 && 0%{?sle_version} && 0%{?sle_version} >= 120200 ) )
%patch2
%patch5
%endif
%{__chmod} 0755 src/leveldb/build_detect_platform

# compress man pages
%{__gzip} contrib/debian/manpages/%{daemon_name}.1
%{__gzip} contrib/debian/manpages/%{name}.conf.5

%build
%{___qmake} USE_QRCODE=1 USE_DBUS=1 %{?___qmake_cxxflags}
%{__make} %{?_smp_mflags}
%{__strip} -s %{gui_name}
%if 0%{?suse_version} && 0%{?suse_version} > 1320
export CXXFLAGS="${CXXFLAGS} -DBOOST_ASIO_ENABLE_OLD_SERVICES"
%endif
%if 0%{?suse_version} && 0%{?suse_version} > 1500
export CXXFLAGS="${CXXFLAGS} -std=c++14"
%endif
%{__make} -C src -f makefile.unix %{?_smp_mflags}
%{__strip} -s src/%{daemon_name}

%install
%{__install} -dm 0755 %{buildroot}%{_bindir}
%{__install} -m 0755 %{gui_name} %{buildroot}%{_bindir}
%{__install} -m 0755 src/%{daemon_name} %{buildroot}%{_bindir}

# install desktop file
%{__install} -D -m 0644 src/qt/res/icons/novacoin.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
%suse_update_desktop_file -c %{gui_name} %{display_name} "%{display_name} Wallet" %{gui_name} %{name} Office Finance

# install man pages
%{__install} -D -m 0644 -p contrib/debian/manpages/%{daemon_name}.1%{?ext_man} %{buildroot}%{_mandir}/man1/%{daemon_name}.1%{?ext_man}
%{__install} -D -m 0644 -p contrib/debian/manpages/%{name}.conf.5%{?ext_man} %{buildroot}%{_mandir}/man5/%{name}.conf.5%{?ext_man}

# install documentation
%{__install} -d -m 0755 %{buildroot}%{_defaultdocdir}/%{name}
%{__install} -m 0644 -p -t %{buildroot}%{_defaultdocdir}/%{name} README.md
%{__install} -d -m 0755 %{buildroot}%{_defaultlicensedir}/%{name}
%{__install} -m 0644 -p -t %{buildroot}%{_defaultlicensedir}/%{name} COPYING
%{__cp} -a doc %{buildroot}%{_defaultdocdir}/%{name}/

%if 0%{?suse_version} && 0%{?suse_version} < 1500
%post %{qt_version}
%desktop_database_post

%postun %{qt_version}
%desktop_database_postun
%endif

%files %{qt_version}
%defattr(-,root,root,-)
%attr(755,root,root) %{_bindir}/%{gui_name}
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/applications/%{gui_name}.desktop

%files -n %{daemon_name}
%defattr(-,root,root,-)
%attr(755,root,root) %{_bindir}/%{daemon_name}
%{_mandir}/man1/%{daemon_name}.1%{?ext_man}
%{_mandir}/man5/%{name}.conf.5%{?ext_man}

%files doc
%defattr(-,root,root,-)
%{_defaultdocdir}/%{name}/
%{_defaultlicensedir}/%{name}/

%changelog
openSUSE Build Service is sponsored by