## START: Set by rpmautospec ## (rpmautospec version 0.8.1) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 3; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global supercop_commit 633500ad8c8759995049ccd022107d1fa8a1bbc9 Name: monero Version: 0.18.4.1 Release: %autorelease Summary: Monero: the secure, private, untraceable cryptocurrency License: BSD-3-Clause URL: https://www.getmonero.org/ Source0: https://github.com/monero-project/monero/archive/v%{version}/monero-%{version}.tar.gz Source1: https://github.com/monero-project/supercop/archive/%{supercop_commit}/supercop-%{supercop_commit}.tar.gz Source2: %{name}.service Source3: %{name}d.conf Source4: %{name}-firewalld.xml # Fix miniupnpc headers Patch0: monero-miniupnpc-fix.patch # Install shared objects Patch1: monero-install-shared-objects.patch BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: pkgconf BuildRequires: boost-devel BuildRequires: openssl-devel BuildRequires: zeromq-devel BuildRequires: unbound-devel BuildRequires: libsodium-devel BuildRequires: libunwind-devel BuildRequires: xz-devel BuildRequires: readline-devel BuildRequires: expat-devel BuildRequires: gtest-devel BuildRequires: ccache BuildRequires: doxygen BuildRequires: graphviz BuildRequires: qt5-linguist BuildRequires: hidapi-devel %if 0%{?fedora} || 0%{?rhel} > 9 BuildRequires: libusb1-devel %else BuildRequires: libusb-devel %endif BuildRequires: protobuf-devel BuildRequires: protobuf-compiler BuildRequires: systemd-devel BuildRequires: libasan BuildRequires: python3-requests BuildRequires: python3-psutil BuildRequires: python3-monotonic BuildRequires: python3-pyzmq BuildRequires: python3-deepdiff BuildRequires: firewalld-filesystem # Bundled by the project BuildRequires: gtest-devel BuildRequires: miniupnpc-devel BuildRequires: randomx-devel BuildRequires: rapidjson-devel Provides: bundled(supercop) %description Monero is a private, secure, untraceable, decentralised digital currency. You are your bank, you control your funds, and nobody can trace your transfers unless you allow them to do so. %prep %autosetup -p1 # Unbundle external projects that are packaged rm -rf external/{gtest,miniupnp,randomx,rapidjson} sed -i '/libminiupnpc-static/d' external/CMakeLists.txt sed -i '/randomx/d' external/CMakeLists.txt sed -i '/miniupnp\/miniupnpc/d' external/CMakeLists.txt sed -i '/UPNPC_BUILD_SHARED/d' external/CMakeLists.txt sed -i '/UPNPC_NO_INSTALL/d' external/CMakeLists.txt sed -i '/in-tree miniupnpc/d' external/CMakeLists.txt # Unpack supercop rm -rf external/supercop tar -C external/ -xvf %{SOURCE1} mv external/supercop-%{supercop_commit} external/supercop %build %cmake \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DBUILD_TESTS=ON %cmake_build %install %cmake_install # Install systemd unit mkdir -p %{buildroot}%{_unitdir} install -m 0644 %{SOURCE2} %{buildroot}%{_unitdir} # Install default configuration mkdir -p %{buildroot}%{_sysconfdir}/%{name} install -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/%{name} # Install firewalld rules mkdir -p %{buildroot}%{_prefix}/lib/firewalld/services install -m 0644 %{SOURCE4} %{buildroot}%{_prefix}/lib/firewalld/services/%{name}.xml %pre getent group %{name} &>/dev/null || groupadd -r %{name} &>/dev/null getent passwd %{name} &>/dev/null || useradd -r -M -g %{name} %{name} &>/dev/null if [ ! -d %{_sharedstatedir}/%{name} ]; then mkdir -p %{_sharedstatedir}/%{name} chown %{name}:%{name} %{_sharedstatedir}/%{name} fi if [ ! -d %{_localstatedir}/log/%{name} ]; then mkdir -p %{_localstatedir}/log/%{name} chown %{name}:%{name} %{_localstatedir}/log/%{name} fi %post %systemd_post %{name}.service %preun %systemd_preun %{name}.service %postun %systemd_postun_with_restart %{name}.service %files %license LICENSE %{_bindir}/%{name}-blockchain-ancestry %{_bindir}/%{name}-blockchain-depth %{_bindir}/%{name}-blockchain-export %{_bindir}/%{name}-blockchain-import %{_bindir}/%{name}-blockchain-mark-spent-outputs %{_bindir}/%{name}-blockchain-prune %{_bindir}/%{name}-blockchain-prune-known-spent-data %{_bindir}/%{name}-blockchain-stats %{_bindir}/%{name}-blockchain-usage %{_bindir}/%{name}-gen-ssl-cert %{_bindir}/%{name}-gen-trusted-multisig %{_bindir}/%{name}-wallet-cli %{_bindir}/%{name}-wallet-rpc %{_bindir}/%{name}d %{_libdir}/%{name}/*.so %{_prefix}/lib/firewalld/services/%{name}.xml %{_unitdir}/%{name}.service %config(noreplace) %{_sysconfdir}/%{name}/%{name}d.conf %ghost %{_includedir}/wallet/api/wallet2_api.h %changelog ## START: Generated by rpmautospec * Wed Aug 06 2025 Luca Magrone - 0.18.4.1-2 - Fix install invocation and firewalld path * Wed Aug 06 2025 Luca Magrone - 0.18.4.1-1 - Initial package ## END: Generated by rpmautospec