Skip to content

Commit 7d93c1c

Browse files
committed
bump to v0.18.3.3
1 parent 8b7cca9 commit 7d93c1c

File tree

11 files changed

+165
-46
lines changed

11 files changed

+165
-46
lines changed

Dockerfile

Lines changed: 63 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,52 @@
11
# Multistage docker build, requires docker 17.05
22

3+
ARG ALPINE_TAG=3.20
4+
35
# Builder stage
4-
FROM alpine:edge as builder
6+
FROM alpine:${ALPINE_TAG} as builder
57

68
ARG MONERO_TAG
79
RUN test -n "${MONERO_TAG}"
810

911
RUN set -ex && \
1012
apk update && \
11-
apk upgrade --no-cache && \
12-
apk add --no-cache \
13+
apk upgrade && \
14+
apk add \
1315
autoconf \
1416
automake \
17+
boost-dev \
18+
clang-dev \
1519
cmake \
20+
cppzmq \
1621
curl \
1722
doxygen \
1823
file \
19-
g++ \
2024
gettext \
2125
git \
2226
go \
2327
gperf \
28+
graphviz-dev \
29+
hidapi-dev \
30+
icu-data-full \
2431
libtool \
32+
libsodium-dev \
33+
libudev-zero-dev \
34+
libusb-dev \
2535
linux-headers \
36+
llvm-libunwind-dev \
2637
make \
38+
openssl-dev \
2739
patch \
2840
perl \
2941
python3 \
42+
qt5-qttools-dev \
43+
rapidjson-dev \
44+
readline-dev \
45+
samurai \
46+
unbound-dev \
47+
zeromq-dev \
3048
zlib-dev
3149

32-
# Alpine doesn't package this anymore, and it's been archived on github.
33-
# This is dirty and won't last forever. It might be worth embedding soon.
34-
RUN apk add --no-cache \
35-
--repository=http://dl-cdn.alpinelinux.org/alpine/v3.16/main \
36-
libexecinfo-dev
37-
3850
# Build the fixuid tool
3951
RUN set -ex && \
4052
go install github.com/boxboat/[email protected] && \
@@ -48,38 +60,59 @@ RUN git clone \
4860

4961
WORKDIR /usr/src/monero
5062

51-
# This is patched on master, but didn't make it into this release.
52-
COPY epee.stdint.patch epee.stdint.patch
53-
RUN patch -p1 < epee.stdint.patch
54-
55-
# Set flags that make it possible to compile against musl.
56-
ENV CFLAGS="-fPIC -DELPP_FEATURE_CRASH_LOG -DSTACK_TRACE=OFF"
57-
ENV CXXFLAGS="-fPIC -DELPP_FEATURE_CRASH_LOG -DSTACK_TRACE=OFF"
58-
ENV LDFLAGS="-Wl,-V"
63+
# patches needed to work with alpine
64+
COPY patches patches
65+
RUN set -ex && \
66+
patch -p1 < patches/easylogging.patch && \
67+
patch -p1 < patches/epee.patch && \
68+
patch -p1 < patches/miniupnpc.patch && \
69+
patch -p1 < patches/monero.patch
5970

60-
# Build dependencies and monero, but like, be nice about it.
61-
RUN nice -n 19 \
71+
# Build monero, but like, be nice about it.
72+
RUN set -ex && \
73+
cmake \
74+
-Wno-dev \
75+
-B build \
76+
-G Ninja \
77+
-D ARCH="x86-64" \
78+
-D BUILD_64=on \
79+
-D BUILD_TAG="linux-x64" \
80+
-D BUILD_TESTS=off \
81+
-D MANUAL_SUBMODULES=1 \
82+
-D STACK_TRACE=off \
83+
-D CMAKE_BUILD_TYPE=Release \
84+
-D CMAKE_C_COMPILER=clang \
85+
-D CMAKE_CXX_COMPILER=clang++ \
86+
-D CMAKE_INSTALL_PREFIX=/usr \
87+
&& \
88+
nice -n 19 \
6289
ionice -c2 -n7 \
63-
make -j${NPROC:-$(( $(nproc) - 1 ))} depends target=x86_64-linux-gnu
90+
cmake --build build
6491

6592

6693
# Runtime stage
67-
FROM alpine:edge as runtime
94+
FROM alpine:${ALPINE_TAG} as runtime
6895

6996
RUN set -ex && \
7097
apk update && \
7198
apk upgrade --no-cache && \
7299
apk add --no-cache \
73-
ca-certificates
74-
75-
# Alpine doesn't package this anymore, and it's been archived on github.
76-
# This is dirty and won't last forever. It might be worth embedding soon.
77-
RUN apk add --no-cache \
78-
--repository=http://dl-cdn.alpinelinux.org/alpine/v3.16/main \
79-
libexecinfo
100+
boost \
101+
ca-certificates \
102+
hidapi \
103+
libsodium-dev \
104+
libudev-zero \
105+
libusb \
106+
llvm-libunwind \
107+
openssl \
108+
rapidjson \
109+
readline \
110+
unbound \
111+
zeromq \
112+
zlib
80113

81114
COPY --from=builder /root/go/bin/fixuid /usr/local/bin/fixuid
82-
COPY --from=builder /usr/src/monero/build/x86_64-linux-gnu/release/bin/* /usr/local/bin/
115+
COPY --from=builder /usr/src/monero/build/bin/* /usr/local/bin/
83116

84117
# Create a dedicated user and configure fixuid
85118
ARG MONERO_USER="monero"

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
## TL;DR
99

1010
```bash
11-
UID="$(id -u)" GID="$(id -g)" docker-compose run wallet
11+
UID="$(id -u)" GID="$(id -g)" docker compose run wallet
1212
```
1313

1414
```bash
15-
docker-compose down
15+
docker compose down
1616
```
1717

1818
## Running the Daemon

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v0.18.3.2
1+
v0.18.3.3

build.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ docker_tag="${1:-${monero_tag}}"
1313
build_script=(
1414
docker
1515
build
16+
--progress=plain
1617
--build-arg="MONERO_TAG=${monero_tag}"
1718
--tag="cornfeedhobo/monero:${docker_tag}"
1819
.

docker-compose.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,5 @@ services:
3535
target: "/home/monero/.bitmonero"
3636
command: >
3737
monero-wallet-cli
38-
--wallet-file="${WALLET:-wallet}"
3938
--daemon-address="blockchain:18081"
4039
--trusted-daemon

epee.stdint.patch

Lines changed: 0 additions & 12 deletions
This file was deleted.

patches/easylogging.patch

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
diff --git a/external/easylogging++/easylogging++.h b/external/easylogging++/easylogging++.h
2+
index b983a79..6d51f00 100644
3+
--- a/external/easylogging++/easylogging++.h
4+
+++ b/external/easylogging++/easylogging++.h
5+
@@ -221,7 +221,7 @@ ELPP_INTERNAL_DEBUGGING_OUT_INFO << ELPP_INTERNAL_DEBUGGING_MSG(internalInfoStre
6+
# define ELPP_INTERNAL_INFO(lvl, msg)
7+
#endif // (defined(ELPP_DEBUG_INFO))
8+
#if (defined(ELPP_FEATURE_ALL)) || (defined(ELPP_FEATURE_CRASH_LOG))
9+
-# if (ELPP_COMPILER_GCC && !ELPP_MINGW && !ELPP_OS_OPENBSD && !ELPP_OS_NETBSD && !ELPP_OS_ANDROID && !ELPP_OS_EMSCRIPTEN)
10+
+# if (__has_include(<execinfo.h>) && ELPP_COMPILER_GCC && !ELPP_MINGW && !ELPP_OS_OPENBSD && !ELPP_OS_NETBSD && !ELPP_OS_ANDROID && !ELPP_OS_EMSCRIPTEN)
11+
# define ELPP_STACKTRACE 1
12+
# else
13+
# define ELPP_STACKTRACE 0

patches/epee.patch

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
diff --git a/contrib/epee/include/net/http_base.h b/contrib/epee/include/net/http_base.h
2+
index 4af4da7..ee49c6e 100644
3+
--- a/contrib/epee/include/net/http_base.h
4+
+++ b/contrib/epee/include/net/http_base.h
5+
@@ -34,6 +34,7 @@
6+
#include <string>
7+
#include <utility>
8+
#include <list>
9+
+#include <stdint.h>
10+
11+
#undef MONERO_DEFAULT_LOG_CATEGORY
12+
#define MONERO_DEFAULT_LOG_CATEGORY "net.http"
13+
diff --git a/contrib/epee/src/file_io_utils.cpp b/contrib/epee/src/file_io_utils.cpp
14+
index c0798a5..2fd3aa1 100644
15+
--- a/contrib/epee/src/file_io_utils.cpp
16+
+++ b/contrib/epee/src/file_io_utils.cpp
17+
@@ -26,6 +26,7 @@
18+
19+
#include "file_io_utils.h"
20+
21+
+#include <stdint.h>
22+
#include <fstream>
23+
#include <boost/filesystem/path.hpp>
24+
#include <boost/filesystem/operations.hpp>

patches/miniupnpc.2.patch

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
2+
index 30e3d31..1c6d1e2 100644
3+
--- a/src/p2p/net_node.inl
4+
+++ b/src/p2p/net_node.inl
5+
@@ -2989,7 +2989,7 @@ namespace nodetool
6+
UPNPUrls urls;
7+
IGDdatas igdData;
8+
char lanAddress[64];
9+
- result = UPNP_GetValidIGD(deviceList, &urls, &igdData, lanAddress, sizeof lanAddress);
10+
+ result = UPNP_GetValidIGD(deviceList, &urls, &igdData, lanAddress, sizeof lanAddress, nullptr, 0);
11+
freeUPNPDevlist(deviceList);
12+
if (result > 0) {
13+
if (result == 1) {
14+
@@ -3057,7 +3057,7 @@ namespace nodetool
15+
UPNPUrls urls;
16+
IGDdatas igdData;
17+
char lanAddress[64];
18+
- result = UPNP_GetValidIGD(deviceList, &urls, &igdData, lanAddress, sizeof lanAddress);
19+
+ result = UPNP_GetValidIGD(deviceList, &urls, &igdData, lanAddress, sizeof lanAddress, nullptr, 0);
20+
freeUPNPDevlist(deviceList);
21+
if (result > 0) {
22+
if (result == 1) {

patches/miniupnpc.patch

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
2+
index 5b7f69a..8f4a346 100644
3+
--- a/external/CMakeLists.txt
4+
+++ b/external/CMakeLists.txt
5+
@@ -36,6 +36,9 @@
6+
# others.
7+
8+
find_package(Miniupnpc REQUIRED)
9+
+if(NOT MSVC)
10+
+ add_compile_options(-D_GNU_SOURCE)
11+
+endif()
12+
13+
message(STATUS "Using in-tree miniupnpc")
14+
set(UPNPC_NO_INSTALL TRUE CACHE BOOL "Disable miniupnp installation" FORCE)

0 commit comments

Comments
 (0)