summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.devcontainer/Dockerfile6
-rw-r--r--.github/workflows/dependencies_matches.yaml65
-rw-r--r--.github/workflows/full_check.yaml8
-rw-r--r--README.md2
-rwxr-xr-xbuild_single.sh2
-rw-r--r--contrib/depends/Makefile8
-rw-r--r--contrib/depends/funcs.mk6
-rw-r--r--contrib/depends/packages/boost.mk4
-rw-r--r--contrib/depends/packages/eudev.mk4
-rw-r--r--contrib/depends/packages/expat.mk4
-rw-r--r--contrib/depends/packages/graphviz.mk4
-rw-r--r--contrib/depends/packages/hidapi.mk4
-rw-r--r--contrib/depends/packages/icu4c.mk4
-rw-r--r--contrib/depends/packages/libICE.mk4
-rw-r--r--contrib/depends/packages/libSM.mk4
-rw-r--r--contrib/depends/packages/libiconv.mk4
-rw-r--r--contrib/depends/packages/libusb.mk4
-rw-r--r--contrib/depends/packages/native_cctools.mk4
-rw-r--r--contrib/depends/packages/native_cdrkit.mk4
-rw-r--r--contrib/depends/packages/native_cmake-unused.mk4
-rw-r--r--contrib/depends/packages/native_libdmg-hfsplus.mk2
-rw-r--r--contrib/depends/packages/native_libtapi.mk4
-rw-r--r--contrib/depends/packages/native_protobuf.mk4
-rw-r--r--contrib/depends/packages/ncurses.mk4
-rw-r--r--contrib/depends/packages/openssl.mk4
-rw-r--r--contrib/depends/packages/polyseed.mk4
-rw-r--r--contrib/depends/packages/protobuf.mk6
-rw-r--r--contrib/depends/packages/readline.mk4
-rw-r--r--contrib/depends/packages/sodium.mk8
-rw-r--r--contrib/depends/packages/unbound.mk4
-rw-r--r--contrib/depends/packages/unwind.mk4
-rw-r--r--contrib/depends/packages/wownero_seed.mk4
-rw-r--r--contrib/depends/packages/xproto.mk4
-rw-r--r--contrib/depends/packages/zeromq.mk10
-rw-r--r--contrib/depends/toolchain.cmake.in14
-rw-r--r--patches/monero/0015-ledger-dummy-fix.patch157
36 files changed, 251 insertions, 135 deletions
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index adebed0..0185ff0 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -10,7 +10,7 @@ RUN wget http://mirrors.kernel.org/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-
&& rm libtinfo5.deb
RUN apt update \
- && apt install -y wget build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo6 gperf gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gcc-mingw-w64-i686 g++-mingw-w64-i686 build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo5 gperf unzip python-is-python3 build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo5 gperf gcc-aarch64-linux-gnu g++-aarch64-linux-gnu gcc-i686-linux-gnu g++-i686-linux-gnu pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo5 gperf python-is-python3 zsh llvm libclang1-18 libc++-18-dev clang
+ && apt install -y pigz wget build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo6 gperf gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gcc-mingw-w64-i686 g++-mingw-w64-i686 build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo5 gperf unzip python-is-python3 build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo5 gperf gcc-aarch64-linux-gnu g++-aarch64-linux-gnu gcc-i686-linux-gnu g++-i686-linux-gnu pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo5 gperf python-is-python3 zsh llvm libclang1-18 libc++-18-dev clang
RUN bash -c 'if [[ "$(uname -m)" == "aarch64" || "$(uname -m)" == "arm64" ]] then sudo rm -rf /opt/android-sdk-linux/platform-tools; fi'
@@ -22,4 +22,6 @@ USER ubuntu
RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v1.2.0/zsh-in-docker.sh)" \
-t robbyrussell
-RUN git config --global --add safe.directory '*' \ No newline at end of file
+RUN git config --global --add safe.directory '*'
+
+ENV SUDO=sudo \ No newline at end of file
diff --git a/.github/workflows/dependencies_matches.yaml b/.github/workflows/dependencies_matches.yaml
deleted file mode 100644
index 84b9ad5..0000000
--- a/.github/workflows/dependencies_matches.yaml
+++ /dev/null
@@ -1,65 +0,0 @@
-name: Check if dependencies match
-# Sometimes we have the libraries in two (or more) places
-# at the same time, this check makes sure that we do use
-# the same version of said libraries.
-on: [push]
-
-jobs:
- wownero-seed:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- with:
- fetch-depth: 0
- submodules: recursive
- - name: Patch sources
- run: |
- git config --global --add safe.directory '*'
- git config --global user.email "ci@mrcyjanek.net"
- git config --global user.name "CI mrcyjanek.net"
- ./apply_patches.sh monero
- ./apply_patches.sh wownero
- - name: obtain hashes
- run: |
- set -x
- pushd external/wownero-seed
- echo "EXTERNAL_WOWNEROSEED=$(git rev-parse HEAD)" >> $GITHUB_ENV
- popd
- echo "WOWNERO_WOWNEROSEED=$(cat wownero/contrib/depends/packages/wownero_seed.mk | grep _download_file | tr '=.' '\n' | head -2 | tail -1)" >> $GITHUB_ENV
- - name: compare hashes
- run: |
- if [[ "x$WOWNERO_WOWNEROSEED" == "x" ]];
- then
- echo "Unable to obtain wownero seed from wownero repo"
- exit 1
- fi
- if [[ ! "x$EXTERNAL_WOWNEROSEED" == "x$WOWNERO_WOWNEROSEED" ]];
- then
- echo "external/wownero-seed doesn't match wownero/contrib/depends/packages/wownero_seed.mk checksum"
- exit 1
- fi
- polyseed:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- with:
- fetch-depth: 0
- submodules: recursive
- - name: prepare
- run: |
- set -x
- pushd contrib/depends
- make download # sorry, this is the easiest way
- mkdir sources/polyseed
- pushd sources/polyseed
- tar xzf ../polyseed*.tar.gz
- popd
- popd
- - name: diff
- run: |
- OUTPUT=$(diff -ra external/polyseed contrib/depends/sources/polyseed/* | grep -v .git | wc -l)
- if [[ ! "x$OUTPUT" == "x0" ]];
- then
- diff -ra external/polyseed contrib/depends/sources/polyseed/*
- exit 1
- fi
diff --git a/.github/workflows/full_check.yaml b/.github/workflows/full_check.yaml
index ac3091d..d30121c 100644
--- a/.github/workflows/full_check.yaml
+++ b/.github/workflows/full_check.yaml
@@ -16,7 +16,7 @@ jobs:
- name: Install dependencies
run: |
apt update
- apt install -y build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 gperf gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gcc-mingw-w64-i686 g++-mingw-w64-i686
+ apt install -y pigz build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 gperf gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 gcc-mingw-w64-i686 g++-mingw-w64-i686
- uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -83,7 +83,7 @@ jobs:
- name: Install dependencies
run: |
sudo apt update
- sudo apt install -y build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo5 gperf unzip python-is-python3
+ sudo apt install -y pigz build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo5 gperf unzip python-is-python3
- uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -145,7 +145,7 @@ jobs:
- name: Install dependencies
run: |
apt update
- apt install -y build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo5 gperf gcc-aarch64-linux-gnu g++-aarch64-linux-gnu gcc-i686-linux-gnu g++-i686-linux-gnu
+ apt install -y pigz build-essential pkg-config autoconf libtool ccache make cmake gcc g++ git curl lbzip2 libtinfo5 gperf gcc-aarch64-linux-gnu g++-aarch64-linux-gnu gcc-i686-linux-gnu g++-i686-linux-gnu
- uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -315,7 +315,7 @@ jobs:
xcode-version: '15.4'
- name: install dependencies
run: |
- brew install ccache binutils
+ brew install ccache binutils pigz
- name: Patch sources
run: |
git config --global --add safe.directory '*'
diff --git a/README.md b/README.md
index 63f3fce..4036888 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ TL;DR:
```bash
$ rm -rf monero wownero release
$ git submodule update --init --recursive --force
-$ for coin in monero wownero; do ./apply_patches $coin; done
+$ for coin in monero wownero; do ./apply_patches.sh $coin; done
$ ./build_single monero $(gcc -dumpmachine) -j$(nproc)
```
diff --git a/build_single.sh b/build_single.sh
index ef58bc6..98bac55 100755
--- a/build_single.sh
+++ b/build_single.sh
@@ -64,7 +64,7 @@ pushd ${repo}_libwallet2_api_c
rm -rf build/${HOST_ABI} || true
mkdir -p build/${HOST_ABI} -p
pushd build/${HOST_ABI}
- cmake -DCMAKE_TOOLCHAIN_FILE=$PWD/../../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -DUSE_DEVICE_TREZOR=OFF -DHIDAPI_DUMMY=ON -DMONERO_FLAVOR=$repo -DCMAKE_BUILD_TYPE=Debug -DHOST_ABI=${HOST_ABI} ../..
+ cmake -DCMAKE_TOOLCHAIN_FILE=$PWD/../../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -DUSE_DEVICE_TREZOR=OFF -DMONERO_FLAVOR=$repo -DCMAKE_BUILD_TYPE=Debug -DHOST_ABI=${HOST_ABI} ../..
make $NPROC
popd
popd
diff --git a/contrib/depends/Makefile b/contrib/depends/Makefile
index 0cf6086..7474dcf 100644
--- a/contrib/depends/Makefile
+++ b/contrib/depends/Makefile
@@ -13,6 +13,14 @@ DOWNLOAD_CONNECT_TIMEOUT:=30
DOWNLOAD_RETRIES:=5
HOST_ID_SALT ?= salt
BUILD_ID_SALT ?= salt
+# Detect the number of CPU cores
+ifeq ($(shell uname), Darwin)
+ NUM_CORES := $(shell sysctl -n hw.ncpu)
+else ifeq ($(shell uname), Linux)
+ NUM_CORES := $(shell nproc)
+else
+ NUM_CORES := 1 # Default if the OS is not detected
+endif
host:=$(BUILD)
ifneq ($(HOST),)
diff --git a/contrib/depends/funcs.mk b/contrib/depends/funcs.mk
index 7312e92..493a96c 100644
--- a/contrib/depends/funcs.mk
+++ b/contrib/depends/funcs.mk
@@ -196,6 +196,10 @@ endef
COMPRESS_CMD := $(shell if command -v pigz >/dev/null 2>&1; then echo "pigz"; else echo "gzip"; fi)
+ifeq ($(COMPRESS_CMD),gzip)
+ $(AT)echo Slow compression used, you may want to install pigz
+endif
+
define int_add_cmds
$($(1)_fetched):
$(AT)mkdir -p $$(@D) $(SOURCES_PATH)
@@ -217,7 +221,7 @@ $($(1)_preprocessed): | $($(1)_dependencies) $($(1)_extracted)
$(AT)touch $$@
$($(1)_configured): | $($(1)_preprocessed)
$(AT)echo Configuring $(1)...
- $(AT)rm -rf $(host_prefix); mkdir -p $(host_prefix)/lib; cd $(host_prefix); $(foreach package,$($(1)_all_dependencies), tar xf $($(package)_cached); )
+ $(AT)rm -rf $(host_prefix); mkdir -p $(host_prefix)/lib; cd $(host_prefix); $(foreach package,$($(1)_all_dependencies), tar xf $($(package)_cached) -I '$(COMPRESS_CMD)'; )
$(AT)mkdir -p $$(@D)
$(AT)+cd $$(@D); $($(1)_config_env) $(call $(1)_config_cmds, $(1))
$(AT)touch $$@
diff --git a/contrib/depends/packages/boost.mk b/contrib/depends/packages/boost.mk
index 99b9b82..ea9ca6b 100644
--- a/contrib/depends/packages/boost.mk
+++ b/contrib/depends/packages/boost.mk
@@ -47,9 +47,9 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- ./b2 -d2 -j8 --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) $($(package)_config_opts_release) stage
+ ./b2 -d2 -j$(NUM_CORES) --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) $($(package)_config_opts_release) stage
endef
define $(package)_stage_cmds
- ./b2 -d0 -j8 --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) $($(package)_config_opts_release) install
+ ./b2 -d0 -j$(NUM_CORES) --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) $($(package)_config_opts_release) install
endef
diff --git a/contrib/depends/packages/eudev.mk b/contrib/depends/packages/eudev.mk
index 6b6887e..e0f8d00 100644
--- a/contrib/depends/packages/eudev.mk
+++ b/contrib/depends/packages/eudev.mk
@@ -14,7 +14,7 @@ define $(package)_config_cmds
endef
define $(package)_build_cmd
- $(MAKE)
+ $(MAKE) -j$(NUM_CORES)
endef
define $(package)_preprocess_cmds
@@ -22,7 +22,7 @@ define $(package)_preprocess_cmds
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
define $(package)_postprocess_cmds
diff --git a/contrib/depends/packages/expat.mk b/contrib/depends/packages/expat.mk
index 5902451..73c2e24 100644
--- a/contrib/depends/packages/expat.mk
+++ b/contrib/depends/packages/expat.mk
@@ -15,11 +15,11 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE)
+ $(MAKE) -j$(NUM_CORES)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
define $(package)_postprocess_cmds
diff --git a/contrib/depends/packages/graphviz.mk b/contrib/depends/packages/graphviz.mk
index 1c4bc1b..e9077b6 100644
--- a/contrib/depends/packages/graphviz.mk
+++ b/contrib/depends/packages/graphviz.mk
@@ -19,11 +19,11 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE)
+ $(MAKE) -j$(NUM_CORES)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
define $(package)_postprocess_cmds
diff --git a/contrib/depends/packages/hidapi.mk b/contrib/depends/packages/hidapi.mk
index 64935a3..2f04be1 100644
--- a/contrib/depends/packages/hidapi.mk
+++ b/contrib/depends/packages/hidapi.mk
@@ -25,11 +25,11 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE)
+ $(MAKE) -j$(NUM_CORES)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
define $(package)_postprocess_cmds
diff --git a/contrib/depends/packages/icu4c.mk b/contrib/depends/packages/icu4c.mk
index 58ae637..2de540b 100644
--- a/contrib/depends/packages/icu4c.mk
+++ b/contrib/depends/packages/icu4c.mk
@@ -18,10 +18,10 @@ define $(package)_config_cmds
make &&\
cd ../buildb &&\
sh ../source/runConfigureICU MinGW --enable-static=yes --disable-shared --disable-layout --disable-layoutex --disable-tests --disable-samples --prefix=$(host_prefix) --with-cross-build=`pwd`/../builda &&\
- $(MAKE) $($(package)_build_opts)
+ $(MAKE) -j$(NUM_CORES) $($(package)_build_opts)
endef
define $(package)_stage_cmds
cd buildb &&\
- $(MAKE) $($(package)_build_opts) DESTDIR=$($(package)_staging_dir) install lib/*
+ $(MAKE) -j$(NUM_CORES) $($(package)_build_opts) DESTDIR=$($(package)_staging_dir) install lib/*
endef
diff --git a/contrib/depends/packages/libICE.mk b/contrib/depends/packages/libICE.mk
index a897d9a..9c1a201 100644
--- a/contrib/depends/packages/libICE.mk
+++ b/contrib/depends/packages/libICE.mk
@@ -15,9 +15,9 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE)
+ $(MAKE) -j$(NUM_CORES)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
diff --git a/contrib/depends/packages/libSM.mk b/contrib/depends/packages/libSM.mk
index 83fcd4c..fc010ad 100644
--- a/contrib/depends/packages/libSM.mk
+++ b/contrib/depends/packages/libSM.mk
@@ -15,9 +15,9 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE)
+ $(MAKE) -j$(NUM_CORES)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
diff --git a/contrib/depends/packages/libiconv.mk b/contrib/depends/packages/libiconv.mk
index 6bec738..abd1b71 100644
--- a/contrib/depends/packages/libiconv.mk
+++ b/contrib/depends/packages/libiconv.mk
@@ -22,11 +22,11 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE)
+ $(MAKE) -j$(NUM_CORES)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
define $(package)_postprocess_cmds
diff --git a/contrib/depends/packages/libusb.mk b/contrib/depends/packages/libusb.mk
index c1d9fe6..f8ef7bc 100644
--- a/contrib/depends/packages/libusb.mk
+++ b/contrib/depends/packages/libusb.mk
@@ -28,11 +28,11 @@ else
endif
define $(package)_build_cmd
- $(MAKE)
+ $(MAKE) -j$(NUM_CORES)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
define $(package)_postprocess_cmds cp -f lib/libusb-1.0.a lib/libusb.a
diff --git a/contrib/depends/packages/native_cctools.mk b/contrib/depends/packages/native_cctools.mk
index 0324f7a..82079a6 100644
--- a/contrib/depends/packages/native_cctools.mk
+++ b/contrib/depends/packages/native_cctools.mk
@@ -19,10 +19,10 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE)
+ $(MAKE) -j$(NUM_CORES)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install && \
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install && \
cp $($(package)_extract_dir)/cctools/misc/install_name_tool $($(package)_staging_prefix_dir)/bin/
endef
diff --git a/contrib/depends/packages/native_cdrkit.mk b/contrib/depends/packages/native_cdrkit.mk
index 8243458..ea1cc59 100644
--- a/contrib/depends/packages/native_cdrkit.mk
+++ b/contrib/depends/packages/native_cdrkit.mk
@@ -14,11 +14,11 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE) genisoimage
+ $(MAKE) -j$(NUM_CORES) genisoimage
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) -C genisoimage install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) -C genisoimage install
endef
define $(package)_postprocess_cmds
diff --git a/contrib/depends/packages/native_cmake-unused.mk b/contrib/depends/packages/native_cmake-unused.mk
index c9ab757..2fb5874 100644
--- a/contrib/depends/packages/native_cmake-unused.mk
+++ b/contrib/depends/packages/native_cmake-unused.mk
@@ -15,9 +15,9 @@ define $(package)_config_cmds
endef
define $(package)_build_cmd
- $(MAKE)
+ $(MAKE) -j$(NUM_CORES)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
diff --git a/contrib/depends/packages/native_libdmg-hfsplus.mk b/contrib/depends/packages/native_libdmg-hfsplus.mk
index a4ffb60..839b065 100644
--- a/contrib/depends/packages/native_libdmg-hfsplus.mk
+++ b/contrib/depends/packages/native_libdmg-hfsplus.mk
@@ -14,7 +14,7 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE) -C dmg
+ $(MAKE) -j$(NUM_CORES) -C dmg -j$(NUM_CORES)
endef
define $(package)_stage_cmds
diff --git a/contrib/depends/packages/native_libtapi.mk b/contrib/depends/packages/native_libtapi.mk
index 56ee087..ba25ba2 100644
--- a/contrib/depends/packages/native_libtapi.mk
+++ b/contrib/depends/packages/native_libtapi.mk
@@ -20,9 +20,9 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE) clangBasic && $(MAKE) libtapi
+ $(MAKE) -j$(NUM_CORES) clangBasic && $(MAKE) -j$(NUM_CORES) libtapi
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install-libtapi install-tapi-headers
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install-libtapi install-tapi-headers
endef
diff --git a/contrib/depends/packages/native_protobuf.mk b/contrib/depends/packages/native_protobuf.mk
index 09f2344..2ef299c 100644
--- a/contrib/depends/packages/native_protobuf.mk
+++ b/contrib/depends/packages/native_protobuf.mk
@@ -15,11 +15,11 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE) -C src
+ $(MAKE) -j$(NUM_CORES) -C src
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) -C src install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) -C src install
endef
define $(package)_postprocess_cmds
diff --git a/contrib/depends/packages/ncurses.mk b/contrib/depends/packages/ncurses.mk
index 55dd219..62af976 100644
--- a/contrib/depends/packages/ncurses.mk
+++ b/contrib/depends/packages/ncurses.mk
@@ -54,10 +54,10 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE) $($(package)_build_opts) V=1
+ $(MAKE) -j$(NUM_CORES) $($(package)_build_opts) V=1
endef
define $(package)_stage_cmds
- $(MAKE) install.libs DESTDIR=$($(package)_staging_dir)
+ $(MAKE) -j$(NUM_CORES) install.libs DESTDIR=$($(package)_staging_dir)
endef
diff --git a/contrib/depends/packages/openssl.mk b/contrib/depends/packages/openssl.mk
index 2430f64..dc49a7e 100644
--- a/contrib/depends/packages/openssl.mk
+++ b/contrib/depends/packages/openssl.mk
@@ -56,11 +56,11 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE) build_libs
+ $(MAKE) -j$(NUM_CORES) build_libs
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install_sw
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install_sw
endef
define $(package)_postprocess_cmds
diff --git a/contrib/depends/packages/polyseed.mk b/contrib/depends/packages/polyseed.mk
index 3c0e9c5..9818563 100644
--- a/contrib/depends/packages/polyseed.mk
+++ b/contrib/depends/packages/polyseed.mk
@@ -14,9 +14,9 @@ define $(package)_set_vars
endef
define $(package)_build_cmds
- CC="$($(package)_cc)" $(MAKE)
+ CC="$($(package)_cc)" $(MAKE) -j$(NUM_CORES)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
diff --git a/contrib/depends/packages/protobuf.mk b/contrib/depends/packages/protobuf.mk
index 01793ea..5ee93ba 100644
--- a/contrib/depends/packages/protobuf.mk
+++ b/contrib/depends/packages/protobuf.mk
@@ -22,12 +22,12 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE) -C src libprotobuf.la
+ $(MAKE) -j$(NUM_CORES) -C src libprotobuf.la
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) -C src install-libLTLIBRARIES install-nobase_includeHEADERS &&\
- $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) -C src install-libLTLIBRARIES install-nobase_includeHEADERS &&\
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA
endef
define $(package)_postprocess_cmds
diff --git a/contrib/depends/packages/readline.mk b/contrib/depends/packages/readline.mk
index 957b645..4eb04f1 100644
--- a/contrib/depends/packages/readline.mk
+++ b/contrib/depends/packages/readline.mk
@@ -20,10 +20,10 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE) $($(package)_build_opts)
+ $(MAKE) -j$(NUM_CORES) $($(package)_build_opts)
endef
define $(package)_stage_cmds
- $(MAKE) install DESTDIR=$($(package)_staging_dir) prefix=$(host_prefix) exec-prefix=$(host_prefix)
+ $(MAKE) -j$(NUM_CORES) install DESTDIR=$($(package)_staging_dir) prefix=$(host_prefix) exec-prefix=$(host_prefix)
endef
diff --git a/contrib/depends/packages/sodium.mk b/contrib/depends/packages/sodium.mk
index 4af0590..1289c86 100644
--- a/contrib/depends/packages/sodium.mk
+++ b/contrib/depends/packages/sodium.mk
@@ -6,6 +6,7 @@ $(package)_sha256_hash=6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e
$(package)_patches=disable-glibc-getrandom-getentropy.patch fix-whitespace.patch
define $(package)_set_vars
+$(package)_config_env_android=ANDROID_NDK_ROOT="$(host_prefix)/native" PATH="$(host_prefix)/native/bin" CC=clang AR=ar RANLIB=ranlib
$(package)_config_opts=--enable-static --disable-shared --with-pic
$(package)_config_opts+=--prefix=$(host_prefix)
$(package)_ar_ios=$($(package)_ar) rcs
@@ -13,20 +14,19 @@ endef
define $(package)_preprocess_cmds
patch -p1 < $($(package)_patch_dir)/disable-glibc-getrandom-getentropy.patch &&\
- $($(package)_autoconf) &&\
patch -p1 < $($(package)_patch_dir)/fix-whitespace.patch
endef
define $(package)_config_cmds
- $($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
+ $($(package)_autoconf)
endef
define $(package)_build_cmds
- $(MAKE)
+ $(MAKE) -j$(NUM_CORES)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
define $(package)_postprocess_cmds
diff --git a/contrib/depends/packages/unbound.mk b/contrib/depends/packages/unbound.mk
index d9ef007..d5e5c0d 100644
--- a/contrib/depends/packages/unbound.mk
+++ b/contrib/depends/packages/unbound.mk
@@ -28,9 +28,9 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE) $($(package)_build_opts)
+ $(MAKE) -j$(NUM_CORES) $($(package)_build_opts)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
diff --git a/contrib/depends/packages/unwind.mk b/contrib/depends/packages/unwind.mk
index c3d190b..c6bec1f 100644
--- a/contrib/depends/packages/unwind.mk
+++ b/contrib/depends/packages/unwind.mk
@@ -16,11 +16,11 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE)
+ $(MAKE) -j$(NUM_CORES)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
define $(package)_postprocess_cmds
diff --git a/contrib/depends/packages/wownero_seed.mk b/contrib/depends/packages/wownero_seed.mk
index 644dc60..8ed3030 100644
--- a/contrib/depends/packages/wownero_seed.mk
+++ b/contrib/depends/packages/wownero_seed.mk
@@ -21,9 +21,9 @@ endef
define $(package)_build_cmds
- $(MAKE) VERBOSE=1
+ $(MAKE) -j$(NUM_CORES) VERBOSE=1
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
diff --git a/contrib/depends/packages/xproto.mk b/contrib/depends/packages/xproto.mk
index 52fe253..34acd4d 100644
--- a/contrib/depends/packages/xproto.mk
+++ b/contrib/depends/packages/xproto.mk
@@ -13,9 +13,9 @@ define $(package)_config_cmds
endef
define $(package)_build_cmds
- $(MAKE)
+ $(MAKE) -j$(NUM_CORES)
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install
endef
diff --git a/contrib/depends/packages/zeromq.mk b/contrib/depends/packages/zeromq.mk
index 1d63f65..3af263c 100644
--- a/contrib/depends/packages/zeromq.mk
+++ b/contrib/depends/packages/zeromq.mk
@@ -20,17 +20,17 @@ define $(package)_preprocess_cmds
endef
define $(package)_config_cmds
- ./configure $($(package)_autoconf_args)
+ $($(package)_autoconf)
endef
define $(package)_build_cmds
- $(MAKE) -j src/libzmq.la
+ $(MAKE) -j$(NUM_CORES) src/libzmq.la
endef
define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA VERBOSE=1 &&\
- $(MAKE) DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES VERBOSE=1 &&\
- $(MAKE) DESTDIR=$($(package)_staging_dir) install-includeHEADERS VERBOSE=1
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA VERBOSE=1 &&\
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES VERBOSE=1 &&\
+ $(MAKE) -j$(NUM_CORES) DESTDIR=$($(package)_staging_dir) install-includeHEADERS VERBOSE=1
endef
define $(package)_postprocess_cmds
diff --git a/contrib/depends/toolchain.cmake.in b/contrib/depends/toolchain.cmake.in
index 8a57e23..7c40918 100644
--- a/contrib/depends/toolchain.cmake.in
+++ b/contrib/depends/toolchain.cmake.in
@@ -10,6 +10,8 @@ OPTION(STATIC "Link libraries statically" ON)
OPTION(TREZOR_DEBUG "Main trezor debugging switch" OFF)
OPTION(BUILD_TESTS "Build tests." OFF)
+set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+
SET(STATIC ON)
SET(UNBOUND_STATIC ON)
SET(ARCH "default")
@@ -114,14 +116,22 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
elseif(ARCHITECTURE STREQUAL "aarch64")
SET(CMAKE_ANDROID_ARCH_ABI "arm64-v8a")
SET(CMAKE_SYSTEM_PROCESSOR "aarch64")
+ elseif(ARCHITECTURE STREQUAL "x86_64")
+ SET(MONERO_WALLET_CRYPTO_LIBRARY amd64-64-24k)
+ SET(CMAKE_ANDROID_ARCH_ABI x86_64)
+ SET(CMAKE_SYSTEM_PROCESSOR "x86_64")
+ else()
+ message(SEND_ERROR Unsupported android architecture)
endif()
- SET(CMAKE_ANDROID_STANDALONE_TOOLCHAIN @prefix@/native)
+ # SET(CMAKE_ANDROID_STANDALONE_TOOLCHAIN @prefix@/native)
SET(_ANDROID_STANDALONE_TOOLCHAIN_API 21)
+ SET(__ANDROID_API__ 21)
+ SET(CMAKE_SYSTEM_VERSION 1)
SET(CMAKE_C_COMPILER @CC@)
SET(CMAKE_CXX_COMPILER @CXX@)
elseif(CMAKE_SYSTEM_NAME STREQUAL "iOS")
set(USE_DEVICE_TREZOR OFF)
- set(DHIDAPI_DUMMY ON)
+ add_definitions(-DHIDAPI_DUMMY=ON)
SET(CMAKE_C_COMPILER @CC@)
SET(CMAKE_CXX_COMPILER @CXX@)
else()
diff --git a/patches/monero/0015-ledger-dummy-fix.patch b/patches/monero/0015-ledger-dummy-fix.patch
new file mode 100644
index 0000000..e8654b9
--- /dev/null
+++ b/patches/monero/0015-ledger-dummy-fix.patch
@@ -0,0 +1,157 @@
+From ebb4f7509127d1d442732da92aa96a1718b57698 Mon Sep 17 00:00:00 2001
+From: cyan <cyjan@mrcyjanek.net>
+Date: Tue, 26 Nov 2024 00:31:15 +0000
+Subject: [PATCH] ledger dummy fix
+
+---
+ src/device/device_io_dummy.cpp | 2 +-
+ src/device/device_io_dummy.hpp | 2 +-
+ src/device/device_ledger.hpp | 2 +-
+ src/wallet/api/wallet.cpp | 36 +++++++++++++++++-----------------
+ 4 files changed, 21 insertions(+), 21 deletions(-)
+
+diff --git a/src/device/device_io_dummy.cpp b/src/device/device_io_dummy.cpp
+index 9fe4040a7..edb4beea3 100644
+--- a/src/device/device_io_dummy.cpp
++++ b/src/device/device_io_dummy.cpp
+@@ -38,7 +38,7 @@
+ // Data transport is made available in wallet2_api.h, so wallet developers can easily plug their
+ // own USB/BLE/other transport layer.
+
+-#ifdef HIDAPI_DUMMY
++#if defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI)
+ #include <boost/scope_exit.hpp>
+ #include "log.hpp"
+ #include "device_io_dummy.hpp"
+diff --git a/src/device/device_io_dummy.hpp b/src/device/device_io_dummy.hpp
+index a1733616d..4a4807121 100644
+--- a/src/device/device_io_dummy.hpp
++++ b/src/device/device_io_dummy.hpp
+@@ -26,7 +26,7 @@
+ // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+ // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ //
+-#ifdef HIDAPI_DUMMY
++#if defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI)
+
+ #pragma once
+
+diff --git a/src/device/device_ledger.hpp b/src/device/device_ledger.hpp
+index 506f27c4a..39454ca6d 100644
+--- a/src/device/device_ledger.hpp
++++ b/src/device/device_ledger.hpp
+@@ -149,7 +149,7 @@ namespace hw {
+ mutable boost::mutex command_locker;
+
+ //IO
+-#ifdef HIDAPI_DUMMY
++#if defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI)
+ hw::io::device_io_dummy hw_device;
+ #else
+ hw::io::device_io_hid hw_device;
+diff --git a/src/wallet/api/wallet.cpp b/src/wallet/api/wallet.cpp
+index 995c45c1d..1cfeea619 100644
+--- a/src/wallet/api/wallet.cpp
++++ b/src/wallet/api/wallet.cpp
+@@ -3339,8 +3339,8 @@ uint64_t WalletImpl::getBytesSent()
+
+ // HIDAPI_DUMMY
+ bool WalletImpl::getStateIsConnected() {
+- #ifndef HIDAPI_DUMMY
+- setStatusError("MONERO compiled with -DHIDAPI_DUMMY");
++ #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))
++ setStatusError("MONERO compiled with #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))");
+ return false;
+ #else
+ return hw::io::device_io_dummy::stateIsConnected;
+@@ -3348,8 +3348,8 @@ bool WalletImpl::getStateIsConnected() {
+ }
+
+ unsigned char* WalletImpl::getSendToDevice() {
+- #ifndef HIDAPI_DUMMY
+- setStatusError("MONERO compiled with -DHIDAPI_DUMMY");
++ #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))
++ setStatusError("MONERO compiled with #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))");
+ return {};
+ #else
+ return hw::io::device_io_dummy::sendToDevice;
+@@ -3357,8 +3357,8 @@ unsigned char* WalletImpl::getSendToDevice() {
+ }
+
+ size_t WalletImpl::getSendToDeviceLength() {
+- #ifndef HIDAPI_DUMMY
+- setStatusError("MONERO compiled with -DHIDAPI_DUMMY");
++ #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))
++ setStatusError("MONERO compiled with #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))");
+ return -1;
+ #else
+ return hw::io::device_io_dummy::sendToDeviceLength;
+@@ -3366,8 +3366,8 @@ size_t WalletImpl::getSendToDeviceLength() {
+ }
+
+ unsigned char* WalletImpl::getReceivedFromDevice() {
+- #ifndef HIDAPI_DUMMY
+- setStatusError("MONERO compiled with -DHIDAPI_DUMMY");
++ #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))
++ setStatusError("MONERO compiled with #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))");
+ return {};
+ #else
+ return hw::io::device_io_dummy::receivedFromDevice;
+@@ -3375,8 +3375,8 @@ unsigned char* WalletImpl::getReceivedFromDevice() {
+ }
+
+ size_t WalletImpl::getReceivedFromDeviceLength() {
+- #ifndef HIDAPI_DUMMY
+- setStatusError("MONERO compiled with -DHIDAPI_DUMMY");
++ #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))
++ setStatusError("MONERO compiled with #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))");
+ return -1;
+ #else
+ return hw::io::device_io_dummy::receivedFromDeviceLength;
+@@ -3384,8 +3384,8 @@ size_t WalletImpl::getReceivedFromDeviceLength() {
+ }
+
+ bool WalletImpl::getWaitsForDeviceSend() {
+- #ifndef HIDAPI_DUMMY
+- setStatusError("MONERO compiled with -DHIDAPI_DUMMY");
++ #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))
++ setStatusError("MONERO compiled with #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))");
+ return false;
+ #else
+ return hw::io::device_io_dummy::receivedFromDeviceLength;
+@@ -3393,8 +3393,8 @@ bool WalletImpl::getWaitsForDeviceSend() {
+ }
+
+ bool WalletImpl::getWaitsForDeviceReceive() {
+- #ifndef HIDAPI_DUMMY
+- setStatusError("MONERO compiled with -DHIDAPI_DUMMY");
++ #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))
++ setStatusError("MONERO compiled with #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))");
+ return false;
+ #else
+ return hw::io::device_io_dummy::waitsForDeviceReceive;
+@@ -3402,8 +3402,8 @@ bool WalletImpl::getWaitsForDeviceReceive() {
+ }
+
+ void WalletImpl::setDeviceReceivedData(unsigned char* data, size_t len) {
+- #ifndef HIDAPI_DUMMY
+- setStatusError("MONERO compiled with -DHIDAPI_DUMMY");
++ #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))
++ setStatusError("MONERO compiled with #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))");
+ return;
+ #else
+ hw::io::device_io_dummy::receivedFromDevice = static_cast<unsigned char *>(malloc(len));
+@@ -3415,8 +3415,8 @@ void WalletImpl::setDeviceReceivedData(unsigned char* data, size_t len) {
+ }
+
+ void WalletImpl::setDeviceSendData(unsigned char* data, size_t len) {
+- #ifndef HIDAPI_DUMMY
+- setStatusError("MONERO compiled with -DHIDAPI_DUMMY");
++ #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))
++ setStatusError("MONERO compiled with #if !(defined(HIDAPI_DUMMY) && !defined(HAVE_HIDAPI))");
+ return;
+ #else
+ hw::io::device_io_dummy::sendToDevice = static_cast<unsigned char *>(malloc(len));
+--
+2.43.0
+