Index | Thread | Search

From:
David Uhden Collado <david@uhden.dev>
Subject:
[NEW WIP]: net/monero (help needed)
To:
ports@openbsd.org
Date:
Thu, 15 Aug 2024 14:47:23 +0200

Download raw body.

Thread
Dear all,

I am currently working on creating a port of the Monero CLI wallet for 
OpenBSD, the work I have done so far is attached in this email. This 
project is of personal interest to me, as well as to others who view 
privacy as an essential component of cybersecurity.

I am in the process of learning how to create ports for OpenBSD, which 
is why I have chosen to start with software that seems relatively 
straightforward to port. In this case, the original project officially 
supports OpenBSD [1] and other BSD operating systems. Any suggestions or 
corrections regarding my work would be greatly appreciated.

I think this port is complete. However, it is still a work in progress 
and I am hesitant to propose it for inclusion in the ports tree due to 
the following issue:

When building this software as a non-root user, the following error occurs:

LLVM ERROR: out of memory
c++: error: unable to execute command: Abort trap (core dumped)

This issue is documented in the original project, and the solution is to 
increase the ulimit size to 2 GB:

ulimit -d 2000000

I would like to know if it is possible to resolve this issue within the 
port itself, or if it would be acceptable to add this port to the tree 
despite the problem, perhaps by including a note in the README file.

Additionally, while working on this port and reading the documentation, 
I encountered several questions that I had to deduce based on how other 
OpenBSD ports handle them:

a. The directories pointed to by certain macros in bsd.port.mk, such as 
PREFIX and LOCALSTATEDIR.

b. How to configure a port to create a new user when needed, for 
instance, to run a daemon, as is the case with this port.

These have been the most challenging parts for me, and I find the 
documentation unclear on these points.

This port has been tested on an amd64 platform. Unfortunately, I do not 
have access to compatible machines with other architectures to conduct 
further testing. If anyone is able to test the port on different 
platforms, I would greatly appreciate it. I am currently using a virtual 
machine, as the only computer I own with sufficient resources to compile 
this software in a reasonable time frame is not compatible with OpenBSD.

Initially, I considered naming the port net/monero-cli since there is an 
official GUI wallet. However, I decided to leave it as net/monero, as I 
don't think the GUI wallet will be ported in the future due to the 
dependencies that would also need to be ported. If I ever attempt to 
port a GUI wallet, I would try with Feather Wallet, as it seems the most 
feasible option given that it uses QT.

While I have your attention, I would also like to remind that I am still 
awaiting a response to my proposal to update and add a flavor to the 
net/i2pd port [2].

Thank you in advance for your time and assistance.

Best regards,
David.

References:
1. https://github.com/monero-project/monero?tab=readme-ov-file#on-openbsd
2. https://marc.info/?t=172240177800002&r=1&w=2