summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavol Rusnak <pavol@rusnak.io>2024-09-09 12:10:14 +0200
committerGitHub <noreply@github.com>2024-09-09 12:10:14 +0200
commit7c243eafac28da0833e5e581bc561d0d578b8840 (patch)
tree606696eb2f861d5fe41f3c2c72dd6897fdd3fe1b
parent[Backport release-24.05] exiftags: add CVE-2023-50671 & CVE-2024-42851 to `kn... (diff)
parentmonero-cli: fix build with miniupnpc (diff)
downloadnixpkgs-7c243eafac28da0833e5e581bc561d0d578b8840.tar.gz
[24.05] monero-{cli,gui}: 0.18.3.3 -> 0.18.3.4 (#340721)
-rw-r--r--pkgs/applications/blockchains/monero-cli/default.nix108
-rw-r--r--pkgs/applications/blockchains/monero-cli/use-system-libraries.patch24
-rw-r--r--pkgs/applications/blockchains/monero-gui/default.nix118
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 178 insertions, 74 deletions
diff --git a/pkgs/applications/blockchains/monero-cli/default.nix b/pkgs/applications/blockchains/monero-cli/default.nix
index 8f2f3b850125..7a1069357278 100644
--- a/pkgs/applications/blockchains/monero-cli/default.nix
+++ b/pkgs/applications/blockchains/monero-cli/default.nix
@@ -1,9 +1,30 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
-, boost, miniupnpc, openssl, unbound
-, zeromq, pcsclite, readline, libsodium, hidapi
-, randomx, rapidjson
-, CoreData, IOKit, PCSC
-, trezorSupport ? true, libusb1, protobuf, python3
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ cmake,
+ ninja,
+ pkg-config,
+ boost,
+ libsodium,
+ miniupnpc,
+ openssl,
+ python3,
+ randomx,
+ rapidjson,
+ readline,
+ unbound,
+ zeromq,
+
+ # darwin
+ CoreData,
+ IOKit,
+
+ trezorSupport ? true,
+ hidapi,
+ libusb1,
+ protobuf_21,
+ udev,
}:
let
@@ -25,18 +46,16 @@ in
stdenv.mkDerivation rec {
pname = "monero-cli";
- version = "0.18.3.3";
+ version = "0.18.3.4";
src = fetchFromGitHub {
owner = "monero-project";
repo = "monero";
rev = "v${version}";
- hash = "sha256-1LkKIrud317BEE+713t5wiJV6FcDlJdj4ypXPR0bKTs=";
+ hash = "sha256-nDiFJjhsISYM8kTgJUaPYL44iyccnz5+Pd5beBh+lsM=";
};
- patches = [
- ./use-system-libraries.patch
- ];
+ patches = [ ./use-system-libraries.patch ];
postPatch = ''
# manually install submodules
@@ -47,31 +66,60 @@ stdenv.mkDerivation rec {
cp -r . $source
'';
- nativeBuildInputs = [ cmake pkg-config ];
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ ];
- buildInputs = [
- boost miniupnpc openssl unbound
- zeromq pcsclite readline
- libsodium hidapi randomx rapidjson
- protobuf
- ] ++ lib.optionals stdenv.isDarwin [ IOKit CoreData PCSC ]
- ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ];
+ buildInputs =
+ [
+ boost
+ libsodium
+ miniupnpc
+ openssl
+ randomx
+ rapidjson
+ readline
+ unbound
+ zeromq
+ ]
+ ++ lib.optionals stdenv.isDarwin [
+ IOKit
+ CoreData
+ ]
+ ++ lib.optionals trezorSupport [
+ python3
+ hidapi
+ libusb1
+ protobuf_21
+ ]
+ ++ lib.optionals (trezorSupport && stdenv.isLinux) [
+ udev
+ ];
- cmakeFlags = [
- "-DUSE_DEVICE_TREZOR=ON"
- "-DBUILD_GUI_DEPS=ON"
- "-DReadline_ROOT_DIR=${readline.dev}"
- "-DRandomX_ROOT_DIR=${randomx}"
- ] ++ lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
+ cmakeFlags =
+ [
+ # skip submodules init
+ "-DMANUAL_SUBMODULES=ON"
+ # required by monero-gui
+ "-DBUILD_GUI_DEPS=ON"
+ "-DReadline_ROOT_DIR=${readline.dev}"
+ ]
+ ++ lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF"
+ ++ lib.optional trezorSupport [
+ "-DUSE_DEVICE_TREZOR=ON"
+ # fix build on recent gcc versions
+ "-DCMAKE_CXX_FLAGS=-fpermissive"
+ ];
outputs = [ "out" "source" ];
- meta = with lib; {
+ meta = {
description = "Private, secure, untraceable currency";
- homepage = "https://getmonero.org/";
- license = licenses.bsd3;
- platforms = platforms.all;
- maintainers = with maintainers; [ rnhmjoj ];
+ homepage = "https://getmonero.org/";
+ license = lib.licenses.bsd3;
+ platforms = lib.platforms.all;
+ maintainers = with lib.maintainers; [ rnhmjoj ];
mainProgram = "monero-wallet-cli";
};
}
diff --git a/pkgs/applications/blockchains/monero-cli/use-system-libraries.patch b/pkgs/applications/blockchains/monero-cli/use-system-libraries.patch
index 5d3e3561d554..900c5dcfedc4 100644
--- a/pkgs/applications/blockchains/monero-cli/use-system-libraries.patch
+++ b/pkgs/applications/blockchains/monero-cli/use-system-libraries.patch
@@ -1,11 +1,12 @@
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
-index 5b7f69a56..5536debe8 100644
+index 5b7f69a56..cc4b0a346 100644
--- a/external/CMakeLists.txt
+++ b/external/CMakeLists.txt
-@@ -36,22 +36,9 @@
+@@ -35,25 +35,14 @@
+ # ...except for FreeBSD, because FreeBSD is a special case that doesn't play well with
# others.
- find_package(Miniupnpc REQUIRED)
+-find_package(Miniupnpc REQUIRED)
-
-message(STATUS "Using in-tree miniupnpc")
-set(UPNPC_NO_INSTALL TRUE CACHE BOOL "Disable miniupnp installation" FORCE)
@@ -22,22 +23,27 @@ index 5b7f69a56..5536debe8 100644
-endif()
-
-set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE)
-+set(UPNP_STATIC false PARENT_SCOPE)
-+set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE)
-+set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE)
++find_package(PkgConfig REQUIRED)
++pkg_check_modules(MINIUPNPC REQUIRED miniupnpc)
++link_libraries(${MINIUPNPC_LIBRARIES})
++include_directories(${MINIUPNPC_INCLUDE_DIRS})
++find_package(RapidJSON)
find_package(Unbound)
++find_library(RANDOMX_LIBRARY randomx)
-@@ -69,4 +56,3 @@ endif()
+ if(NOT UNBOUND_INCLUDE_DIR)
+ die("Could not find libunbound")
+@@ -69,4 +58,3 @@ endif()
add_subdirectory(db_drivers)
add_subdirectory(easylogging++)
add_subdirectory(qrcodegen)
-add_subdirectory(randomx EXCLUDE_FROM_ALL)
diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
-index d4b39869c..13071d898 100644
+index 71f5393e8..bb48083d0 100644
--- a/src/p2p/net_node.inl
+++ b/src/p2p/net_node.inl
-@@ -61,9 +61,9 @@
+@@ -60,9 +60,9 @@
#include "cryptonote_core/cryptonote_core.h"
#include "net/parse.h"
diff --git a/pkgs/applications/blockchains/monero-gui/default.nix b/pkgs/applications/blockchains/monero-gui/default.nix
index d72cad5c5367..7a8f5d4c26cb 100644
--- a/pkgs/applications/blockchains/monero-gui/default.nix
+++ b/pkgs/applications/blockchains/monero-gui/default.nix
@@ -1,43 +1,88 @@
-{ lib, stdenv, wrapQtAppsHook, makeDesktopItem
-, fetchFromGitHub
-, cmake, qttools, pkg-config
-, qtbase, qtdeclarative, qtgraphicaleffects
-, qtmultimedia, qtxmlpatterns
-, qtquickcontrols, qtquickcontrols2
-, qtmacextras
-, monero-cli, miniupnpc, unbound, readline
-, boost, libunwind, libsodium, pcsclite
-, randomx, zeromq, libgcrypt, libgpg-error
-, hidapi, rapidjson, quirc
-, trezorSupport ? true, libusb1, protobuf, python3
+{
+ lib,
+ fetchFromGitHub,
+ makeDesktopItem,
+ boost,
+ cmake,
+ libgcrypt,
+ libgpg-error,
+ libsodium,
+ miniupnpc,
+ monero-cli,
+ pkg-config,
+ qtbase,
+ qtdeclarative,
+ qtgraphicaleffects,
+ qtmacextras,
+ qtmultimedia,
+ qtquickcontrols,
+ qtquickcontrols2,
+ qttools,
+ qtxmlpatterns,
+ quirc,
+ randomx,
+ rapidjson,
+ stdenv,
+ unbound,
+ wrapQtAppsHook,
+ zeromq,
+
+ trezorSupport ? true,
+ hidapi,
+ libusb1,
+ protobuf_21,
+ python3,
+ udev,
}:
stdenv.mkDerivation rec {
pname = "monero-gui";
- version = "0.18.3.3";
+ version = "0.18.3.4";
src = fetchFromGitHub {
owner = "monero-project";
repo = "monero-gui";
rev = "v${version}";
- hash = "sha256-6qadBm4bPui11OVY1tLFcHsfswXWBFiJvutIsF6EfX8=";
+ hash = "sha256-wnU24EmZig2W/psy4OhaQVy2WwR0CgljlyYwOg4bzwM=";
};
nativeBuildInputs = [
- cmake pkg-config wrapQtAppsHook
+ cmake
+ pkg-config
+ wrapQtAppsHook
(lib.getDev qttools)
];
- buildInputs = [
- qtbase qtdeclarative qtgraphicaleffects
- qtmultimedia qtquickcontrols qtquickcontrols2
- qtxmlpatterns
- monero-cli miniupnpc unbound readline
- randomx libgcrypt libgpg-error
- boost libunwind libsodium pcsclite
- zeromq hidapi rapidjson quirc
- ] ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ]
- ++ lib.optionals stdenv.isDarwin [ qtmacextras ];
+ buildInputs =
+ [
+ boost
+ libgcrypt
+ libgpg-error
+ libsodium
+ miniupnpc
+ qtbase
+ qtdeclarative
+ qtgraphicaleffects
+ qtmultimedia
+ qtquickcontrols
+ qtquickcontrols2
+ qtxmlpatterns
+ quirc
+ randomx
+ rapidjson
+ unbound
+ zeromq
+ ]
+ ++ lib.optionals stdenv.isDarwin [ qtmacextras ]
+ ++ lib.optionals trezorSupport [
+ hidapi
+ libusb1
+ protobuf_21
+ python3
+ ]
+ ++ lib.optionals (trezorSupport && stdenv.isLinux) [
+ udev
+ ];
postUnpack = ''
# copy monero sources here
@@ -68,7 +113,12 @@ stdenv.mkDerivation rec {
--replace 'add_subdirectory(external)' ""
'';
- cmakeFlags = [ "-DARCH=default" ];
+ cmakeFlags =
+ [ "-DARCH=default" ]
+ ++ lib.optional trezorSupport [
+ # fix build on recent gcc versions
+ "-DCMAKE_CXX_FLAGS=-fpermissive"
+ ];
desktopItem = makeDesktopItem {
name = "monero-wallet-gui";
@@ -76,7 +126,7 @@ stdenv.mkDerivation rec {
icon = "monero";
desktopName = "Monero";
genericName = "Wallet";
- categories = [ "Network" "Utility" ];
+ categories = [ "Network" "Utility" ];
};
postInstall = ''
@@ -93,12 +143,12 @@ stdenv.mkDerivation rec {
done;
'';
- meta = with lib; {
- description = "Private, secure, untraceable currency";
- homepage = "https://getmonero.org/";
- license = licenses.bsd3;
- platforms = platforms.all;
- maintainers = with maintainers; [ rnhmjoj ];
- mainProgram = "monero-wallet-gui";
+ meta = {
+ description = "Private, secure, untraceable currency";
+ homepage = "https://getmonero.org/";
+ license = lib.licenses.bsd3;
+ platforms = lib.platforms.all;
+ maintainers = with lib.maintainers; [ rnhmjoj ];
+ mainProgram = "monero-wallet-gui";
};
}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7e35acd75d2e..89e8daa4d46c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -36054,7 +36054,7 @@ with pkgs;
lndmanage = callPackage ../applications/blockchains/lndmanage { };
monero-cli = callPackage ../applications/blockchains/monero-cli {
- inherit (darwin.apple_sdk.frameworks) CoreData IOKit PCSC;
+ inherit (darwin.apple_sdk.frameworks) CoreData IOKit;
};
haven-cli = callPackage ../applications/blockchains/haven-cli {