%undefine __cmake_in_source_build %global forgeurl https://github.com/bitcoin-cash-node/bitcoin-cash-node Name: bitcoin-cash-node Version: 27.0.0 Release: 1%{?dist} Summary: Bitcoin Cash Node License: MIT URL: https://bitcoincashnode.org/ %forgemeta Source: %{forgesource} Source1: https://gitlab.com/bitcoin-cash-node/bchn-sw/packaging/-/raw/master/debian/examples/bitcoin.conf Source3: https://gitlab.com/bitcoin-cash-node/bchn-sw/packaging/-/raw/master/debian/bitcoin-qt.desktop #Minimal build requirements BuildRequires: boost-devel cmake gcc-c++ libevent-devel miniupnpc-devel ninja-build openssl-devel python3 zeromq-devel #Wallet BuildRequires: libdb-cxx-devel libdb-devel #Qt BuildRequires: qt5-qttools-devel qt5-qtbase-devel protobuf-devel qrencode-devel BuildRequires: desktop-file-utils BuildRequires: git BuildRequires: help2man BuildRequires: systemd-rpm-macros %package qt Summary: GUI wallet %package libs Summary: Bitcoin Cash Node library %package devel Summary: A Peer-to-Peer Electronic Cash System Requires: bitcoin-cash-node-libs%{?_isa} = %{version}-%{release} %package utils Summary: A Peer-to-Peer Electronic Cash System %package seeder Summary: A Peer-to-Peer Electronic Cash System %package server Summary: A Peer-to-Peer Electronic Cash System Requires(pre): shadow-utils Requires: openssl-libs Requires: bitcoin-cash-node-utils%{_isa} = %{version} %description Bitcoin Cash is a digital cryptographic currency that uses peer-to-peer technology to operate with no central authority or banks; managing transactions and the issuing of bitcoins is carried out collectively by the network. %description qt This package contains the Qt based graphical client and node. If you are looking to run a Bitcoin Cash Node wallet, this is probably the package you want. %description libs This package provides the bitcoinconsensus shared libraries. These libraries may be used by third party software to provide consensus verification functionality. Unless you know need this package, you probably do not. %description devel This package contains the header files and static library for the bitcoinconsensus shared library. If you are developing or compiling software that wants to link against that library, then you need this package installed. Most people do not need this package installed. %description utils Bitcoin is an experimental new digital currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. This package provides bitcoin-cli, a utility to communicate with and control a Bitcoin server via its RPC protocol, and bitcoin-tx, a utility to create custom Bitcoin transactions. %description seeder Bitcoin-seeder is a crawler for the Bitcoin network, which exposes a list of reliable nodes via a built-in DNS server. %description server This package provides a stand-alone Bitcoin Cash Node daemon. For most users, this package is only needed if they need a full-node without the graphical client. Some third party wallet software will want this package to provide the actual Bitcoin Cash Node node they use to connect to the network. If you use the graphical Bitcoin Cash Node client then you almost certainly do not need this package. %prep %forgesetup %build %cmake -DBUILD_SHARED_LIBS:BOOL=OFF -GNinja %ninja_build -C "%{_vpath_builddir}" %check #%{__ninja} -C "%{_vpath_builddir}" check %{__ninja_common_opts} %install %ninja_install -C "%{_vpath_builddir}" install -D -m640 -p %{SOURCE1} %{buildroot}%{_sysconfdir}/bitcoin/bitcoin.conf install -D -m644 -p contrib/init/bitcoind.service %{buildroot}%{_unitdir}/bitcoind.service install -dm 750 %{buildroot}/%{_sharedstatedir}/bitcoind install -d -m750 -p %{buildroot}%{_localstatedir}/lib/bitcoind #qt install -Dm644 share/pixmaps/bitcoin128.xpm %{buildroot}%{_datadir}/pixmaps/bitcoin128.xpm desktop-file-install -m 644 --dir=%{buildroot}%{_datadir}/applications %{SOURCE3} %pre server getent group bitcoin >/dev/null || groupadd -r bitcoin getent passwd bitcoin >/dev/null || useradd -r -g bitcoin -d %{_sharedstatedir}/bitcoind -s /sbin/nologin \ -c "Bitcoin node" bitcoin exit 0 %post server %systemd_post bitcoind.service %preun server %systemd_preun bitcoind.service %postun server %systemd_postun_with_restart bitcoind.service %files qt %license COPYING %doc doc/README.md doc/files.md doc/reduce-traffic.md doc/release-notes.md doc/tor.md %{_bindir}/bitcoin-qt %{_datadir}/applications/bitcoin-qt.desktop %{_datadir}/pixmaps/bitcoin128.xpm %{_mandir}/man1/bitcoin-qt.1* %files libs %license COPYING %doc doc/README.md doc/shared-libraries.md %{_libdir}/libbitcoinconsensus.so* %{_libdir}/libsecp256k1.a %files devel %license COPYING %doc doc/README.md doc/developer-notes.md doc/shared-libraries.md %{_includedir}/bitcoinconsensus.h %{_includedir}/secp256k1*.h %files utils %license COPYING %doc doc/README.md %{_bindir}/bitcoin-cli %{_bindir}/bitcoin-tx %{_bindir}/bitcoin-wallet %{_mandir}/man1/bitcoin-cli.1* %{_mandir}/man1/bitcoin-tx.1* %files seeder %license COPYING %{_bindir}/bitcoin-seeder %{_mandir}/man1/bitcoin-seeder.1* %files server %license COPYING %doc doc/README.md doc/files.md doc/reduce-traffic.md doc/release-notes.md doc/tor.md %dir %attr(750,bitcoin,bitcoin) %{_sharedstatedir}/bitcoind %dir %attr(750,bitcoin,bitcoin) %{_sysconfdir}/bitcoin %config %attr(640,bitcoin,bitcoin) %{_sysconfdir}/bitcoin/bitcoin.conf %{_bindir}/bitcoind %{_unitdir}/bitcoind.service %{_mandir}/man1/bitcoind.1* %changelog * Thu Dec 14 2023 Jonny Heggheim - 27.0.0-1 - Updated to version 27.0.0 * Sat Jun 10 2023 Jonny Heggheim - 26.1.0-1 - Updated to version 26.1.0 * Wed Feb 15 2023 Jonny Heggheim - 26.0.0-1 - Updated to version 26.0.0 * Mon May 30 2022 Jonny Heggheim - 24.1.0-1 - Updated to version 24.1.0 * Wed Nov 24 2021 Jonny Heggheim - 24.0.0-3 - Restart server on upgrade * Wed Nov 24 2021 Jonny Heggheim - 24.0.0-2 - Fixed s390 build error * Tue Nov 23 2021 Jonny Heggheim - 24.0.0-1 - Updated to version 24.0.0 * Tue Aug 17 2021 Jonny Heggheim - 23.1.0-1 - Updated to version 23.1.0 * Thu Apr 15 2021 Jonny Heggheim - 23.0.0-1 - Updated to version 23.0.0 * Wed Dec 02 2020 Jonny Heggheim - 22.2.0-1 - Updated to version 22.2.0 * Sun Oct 18 2020 Jonny Heggheim - 22.1.0-2 - Include fix ODR violation leading to subtle build error * Fri Oct 16 2020 Jonny Heggheim - 22.1.0-1 - Updated to version 22.1.0 * Tue Aug 18 2020 Jonny Heggheim - 22.0.0-1 - Updated to version 22.0.0 * Sun Jul 19 2020 Jonny Heggheim - 0.21.2-1 - Initial package