I've had a local build of the monero repo outside ports for a while now.
Didn't think anyone would be interested but here is my WIP of a port
that would include all the monero binaries using BSD make. Currently
running into an issue with the release tar.gz not including the .git*
directories. This is preventing a submodule update causing the build to
fail. Working through my options and would be open to suggestions.
Eventually I would like to break out the individual binaries into
FLAVORS. Happy to work on this with you if your interested.


On Thu, Aug 15, 2024 at 02:47:23PM +0200, David Uhden Collado wrote:
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



--
All desire is the desire to be desired by the subject presumed to know.

Attachment: monero.tar.gz
Description: application/tar-gz

Reply via email to