Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:marec2000:cryptocoins:ports
yacoin
yacoin.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File yacoin.spec of Package yacoin
# # spec file for package yacoin # # Copyright (c) 2022 SUSE LLC # # 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: yacoin Version: 1.1.0 Release: 0 Summary: P2P digital currency License: MIT Group: Productivity/Networking/Other URL: https://%{name}.org/ Source0: %{name}-%{version}.tar.xz Patch0: %{name}-boost1.patch Patch1: %{name}-boost2.patch Patch2: %{name}-net.patch Patch3: %{name}-qt1.patch Patch4: %{name}-qt2.patch Patch5: %{name}-version.patch ExclusiveArch: i586 x86_64 BuildRequires: automake %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 %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 BuildRequires: libqt5-qttools-devel %else BuildRequires: libqt4-devel %endif BuildRequires: libtool BuildRequires: protobuf-devel BuildRequires: qrencode-devel BuildRequires: update-desktop-files %if ! %{defined _rundir} %define _rundir %{_localstatedir}/run %endif %global qt4_version qt %global qt5_version qt5 %global qt4c_version qt4 %if 0%{?suse_version} && 0%{?suse_version} >= 1315 %define qt_version %{qt5_version} %define qt_version_obsolete %{qt4_version} %define qt_config %{qt5_version} %else %define qt_version %{qt4_version} %define qt_version_obsolete %{qt5_version} %define qt_config %{qt4c_version} %endif # set binary names %define daemon_name %{name}d %define display_name YACoin %define gui_name %{name}-qt %define test_name %{name}_test # set ports %define p2p_port 7688 %define rpc_port 7687 %define description_text YACoin - a hybrid scrypt PoW + PoS based cryptocurrency that uses the scrypt + chacha20/8 (N,1,1) hashing algorithm, with N gradually rising over time to increase memory requirements. This, in theory, makes YACoin one of the very few alt coins that can be mined efficiently on a CPU. %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} This package contains the documentation for %{name}. %prep %setup -q %if 0%{?suse_version} && 0%{?suse_version} > 1320 %patch0 %endif %if 0%{?suse_version} && 0%{?suse_version} > 1500 %patch1 %patch4 %endif %patch2 %patch3 %patch5 # setup systemd service echo -e '[Unit]\nDescription=%{display_name} Daemon\nAfter=network.target\n' > %{daemon_name}.service echo -e '[Service]\nUser=%{name}\nGroup=%{name}\nType=forking\nPIDFile=%{_rundir}/%{name}/%{daemon_name}.pid\nExecStart=%{_bindir}/%{daemon_name} -daemon -pid=%{_rundir}/%{name}/%{daemon_name}.pid -conf=%{_sysconfdir}/%{name}.conf -datadir=%{_localstatedir}/lib/%{name} -disablewallet\nExecReload=/bin/kill -HUP $MAINPID\n' >> %{daemon_name}.service echo -e '[Install]\nWantedBy=multi-user.target' >> %{daemon_name}.service # setup default config file %{__sed} -i 's#Yacoin-Qt#%{gui_name}#g' contrib/debian/examples/%{name}.conf %{__sed} -i 's#yacoin#%{name}#g' contrib/debian/examples/%{name}.conf %{__sed} -i 's#Yacoin#%{name}#g' contrib/debian/examples/%{name}.conf # setup firewall config %if 0%{?suse_version} && ( 0%{?suse_version} < 1500 || ( 0%{?is_opensuse} && 0%{?suse_version} == 1500 && 0%{?sle_version} && 0%{?sle_version} <= 150200 ) ) echo "## Name: %{display_name} Daemon" > %{name}.firewall echo "## Description: Opens ports for %{daemon_name} in order to allow remote connections." >> %{name}.firewall echo -e "\nTCP=\"%{rpc_port}:%{p2p_port}\"" >> %{name}.firewall %endif # setup run folder echo "d %{_rundir}/%{name} 0770 root %{name}" > rundir.conf # compress man pages %{__gzip} contrib/debian/manpages/%{gui_name}.1 %{__gzip} contrib/debian/manpages/%{daemon_name}.1 %{__gzip} contrib/debian/manpages/%{name}.conf.5 %build %if 0%{?suse_version} && ( 0%{?suse_version} < 1500 || ( 0%{?is_opensuse} && 0%{?suse_version} == 1500 && 0%{?sle_version} && 0%{?sle_version} <= 150100 ) ) export CXXFLAGS="${CXXFLAGS} -fPIC" %endif %if 0%{?suse_version} && 0%{?suse_version} > 1500 export CXXFLAGS="${CXXFLAGS} -std=c++14" %endif ./autogen.sh %configure --docdir=%{_defaultdocdir}/%{name} --enable-silent-rules --enable-hardening --enable-reduce-exports --enable-wallet --enable-upnp-default --disable-tests --with-miniupnpc --with-qrencode --with-boost --without-utils --without-libs --with-daemon --with-gui=%{qt_config} --with-qtdbus --disable-static %if 0%{?suse_version} && 0%{?suse_version} >= 1500 %make_build %else %{__make} %{?_smp_mflags} %endif %{__strip} -s src/%{daemon_name} %{__strip} -s src/qt/%{gui_name} %install %if 0%{?suse_version} && 0%{?suse_version} >= 1500 %make_install %else %{__make} %{?_smp_mflags} install DESTDIR=%{buildroot} %endif # install daemon supplementary files %{__install} -D -m 0644 contrib/debian/examples/%{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf %{__install} -D -m 0644 %{daemon_name}.service %{buildroot}%{_unitdir}/%{daemon_name}.service %{__mkdir_p} %{buildroot}%{_localstatedir}/lib/%{name} %{__install} -d -m 0755 %{buildroot}%{_sbindir} %{__ln_s} %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{daemon_name} # install firewall config file %if 0%{?suse_version} && ( 0%{?suse_version} < 1500 || ( 0%{?is_opensuse} && 0%{?suse_version} == 1500 && 0%{?sle_version} && 0%{?sle_version} <= 150200 ) ) %{__install} -D -m 644 %{name}.firewall %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{daemon_name} %endif # install desktop file %{__install} -D -m 0644 src/qt/res/icons/yacoin-128.png %{buildroot}%{_datadir}/pixmaps/%{name}.png %suse_update_desktop_file -c %{gui_name} "%{display_name}" "%{display_name} Wallet" %{gui_name} %{name} Office Finance # install run folder configuration %{__install} -D -m 0644 rundir.conf %{buildroot}/%{_tmpfilesdir}/%{name}_rundir.conf # install man pages %{__install} -D -m 0644 -p contrib/debian/manpages/%{gui_name}.1%{?ext_man} %{buildroot}%{_mandir}/man1/%{gui_name}.1%{?ext_man} %{__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 %{__install} -d -m 0755 %{buildroot}%{_defaultdocdir}/%{name}/doc %{__cp} -a -t %{buildroot}%{_defaultdocdir}/%{name}/doc doc/*.md doc/[a-z]*.txt %pre -n %{daemon_name} getent group %{name} > /dev/null || groupadd -r %{name} getent passwd %{name} > /dev/null || useradd -r -g %{name} -d %{_localstatedir}/lib/%{name} -s /sbin/nologin -c "%{name} daemon" %{name} %service_add_pre %{daemon_name}.service %preun -n %{daemon_name} %service_del_preun %{daemon_name}.service %post -n %{daemon_name} %service_add_post %{daemon_name}.service %if 0%{?suse_version} && ( 0%{?suse_version} > 1320 || ( 0%{?is_opensuse} && 0%{?suse_version} == 1315 && 0%{?sle_version} && 0%{?sle_version} >= 120100 ) ) %tmpfiles_create %{_tmpfilesdir}/%{name}_rundir.conf %else systemd-tmpfiles --create %{_tmpfilesdir}/%{name}_rundir.conf >/dev/null 2>&1 || : %endif %postun -n %{daemon_name} %service_del_postun %{daemon_name}.service %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 %{_mandir}/man1/%{gui_name}.1%{?ext_man} %files -n %{daemon_name} %defattr(-,root,root,-) %attr(755,root,root) %{_bindir}/%{daemon_name} %{_sbindir}/rc%{daemon_name} %{_unitdir}/%{daemon_name}.service %config(noreplace) %{_sysconfdir}/%{name}.conf %if 0%{?suse_version} && ( 0%{?suse_version} < 1500 || ( 0%{?is_opensuse} && 0%{?suse_version} == 1500 && 0%{?sle_version} && 0%{?sle_version} <= 150200 ) ) %config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{daemon_name} %endif %dir %attr(700,%{name},%{name}) %{_localstatedir}/lib/%{name} %ghost %{_rundir}/%{name} %{_tmpfilesdir}/%{name}_rundir.conf %{_mandir}/man1/%{daemon_name}.1%{?ext_man} %{_mandir}/man5/%{name}.conf.5%{?ext_man} %files doc %defattr(-,root,root,-) %{_defaultdocdir}/%{name}/ %{_defaultlicensedir}/%{name}/ %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor