Skip to content

Commit 9113138

Browse files
Merge branch 'develop' of https://github.com/dashpay/dash into develop
2 parents ee0a9a8 + ce8dffc commit 9113138

File tree

239 files changed

+7201
-2078
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

239 files changed

+7201
-2078
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ libconftest.dylib*
7575

7676
*.log
7777
*.trs
78-
*.dmg
78+
*.zip
7979

8080
*.json.h
8181
*.raw.h

.gitlab-ci.yml

+9
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,15 @@ linux64_multiprocess-test:
377377
variables:
378378
BUILD_TARGET: linux64_multiprocess
379379

380+
linux64_nowallet-test:
381+
extends:
382+
- .test-template
383+
- .skip-in-fast-mode-template
384+
needs:
385+
- linux64_nowallet-build
386+
variables:
387+
BUILD_TARGET: linux64_nowallet
388+
380389
#linux64_valgrind-test:
381390
# extends:
382391
# - .test-template

Makefile.am

+9-10
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ endif
1515
.PHONY: deploy FORCE
1616
.INTERMEDIATE: $(COVERAGE_INFO)
1717

18-
export PYTHONPATH
19-
2018
if BUILD_BITCOIN_LIBS
2119
pkgconfigdir = $(libdir)/pkgconfig
2220
pkgconfig_DATA = libdashconsensus.pc
@@ -36,7 +34,7 @@ space := $(empty) $(empty)
3634

3735
OSX_APP=Dash-Qt.app
3836
OSX_VOLNAME = $(subst $(space),-,$(PACKAGE_NAME))
39-
OSX_DMG = $(OSX_VOLNAME).dmg
37+
OSX_ZIP = $(OSX_VOLNAME).zip
4038
OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus
4139
OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/dash.icns
4240
OSX_PLIST=$(top_builddir)/share/qt/Info.plist #not installed
@@ -119,23 +117,24 @@ OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lp
119117
$(OSX_APP)/Contents/MacOS/Dash-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings
120118

121119
if BUILD_DARWIN
122-
$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING)
123-
$(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) $(OSX_VOLNAME) -translations-dir=$(QT_TRANSLATION_DIR) -dmg
120+
$(OSX_ZIP): $(OSX_APP_BUILT) $(OSX_PACKAGING)
121+
$(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) $(OSX_VOLNAME) -translations-dir=$(QT_TRANSLATION_DIR) -zip
124122

125-
deploydir: $(OSX_DMG)
123+
deploydir: $(OSX_ZIP)
126124
else !BUILD_DARWIN
127125
APP_DIST_DIR=$(top_builddir)/dist
128126

129-
$(OSX_DMG): deploydir
130-
$(XORRISOFS) -D -l -V "$(OSX_VOLNAME)" -no-pad -r -dir-mode 0755 -o $@ $(APP_DIST_DIR) -- $(if $(SOURCE_DATE_EPOCH),-volume_date all_file_dates =$(SOURCE_DATE_EPOCH))
127+
$(OSX_ZIP): deploydir
128+
if [ -n "$(SOURCE_DATE_EPOCH)" ]; then find $(APP_DIST_DIR) -exec touch -d @$(SOURCE_DATE_EPOCH) {} +; fi
129+
cd $(APP_DIST_DIR) && find . | sort | $(ZIP) -X@ $@
131130

132131
$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Dash-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
133132
OBJDUMP=$(OBJDUMP) $(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) $(OSX_VOLNAME) -translations-dir=$(QT_TRANSLATION_DIR)
134133

135134
deploydir: $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Dash-Qt
136135
endif !BUILD_DARWIN
137136

138-
deploy: $(OSX_DMG)
137+
deploy: $(OSX_ZIP)
139138
endif
140139

141140
$(BITCOIN_QT_BIN): FORCE
@@ -294,7 +293,7 @@ EXTRA_DIST += \
294293
test/util/data/txcreatesignv2.hex \
295294
test/util/rpcauth-test.py
296295

297-
CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER)
296+
CLEANFILES = $(OSX_ZIP) $(BITCOIN_WIN_INSTALLER)
298297

299298
DISTCHECK_CONFIGURE_FLAGS = --enable-man
300299

ci/test/00_setup_env_mac.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export LC_ALL=C.UTF-8
88

99
export CONTAINER_NAME=ci_macos_cross
1010
export HOST=x86_64-apple-darwin
11-
export PACKAGES="cmake libz-dev python3-setuptools xorriso"
11+
export PACKAGES="clang cmake lld llvm zip"
1212
export XCODE_VERSION=15.0
1313
export XCODE_BUILD_ID=15A240d
1414
export RUN_UNIT_TESTS=false

ci/test/00_setup_env_native_fuzz.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ export RUN_UNIT_TESTS=false
1616
export RUN_FUNCTIONAL_TESTS=false
1717
export RUN_FUZZ_TESTS=true
1818
export GOAL="install"
19-
export BITCOIN_CONFIG="--enable-zmq --disable-ccache --enable-fuzz --with-sanitizers=fuzzer,address,undefined,integer --enable-suppress-external-warnings CC=clang-16 CXX=clang++-16 --with-boost-process"
19+
export BITCOIN_CONFIG="--enable-zmq --disable-ccache --enable-fuzz --with-sanitizers=fuzzer,address,undefined,integer --enable-suppress-external-warnings CC=clang-18 CXX=clang++-18 --with-boost-process"

ci/test/00_setup_env_native_fuzz_with_valgrind.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ export RUN_FUNCTIONAL_TESTS=false
1414
export RUN_FUZZ_TESTS=true
1515
export FUZZ_TESTS_CONFIG="--valgrind"
1616
export GOAL="install"
17-
export BITCOIN_CONFIG="--enable-fuzz --with-sanitizers=fuzzer --enable-suppress-external-warnings CC=clang-16 CXX=clang++-16"
17+
export BITCOIN_CONFIG="--enable-fuzz --with-sanitizers=fuzzer --enable-suppress-external-warnings CC=clang-18 CXX=clang++-18"

ci/test/00_setup_env_native_multiprocess.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ export PACKAGES="cmake python3 llvm clang"
1111
export DEP_OPTS="DEBUG=1 MULTIPROCESS=1"
1212
export GOAL="install"
1313
export TEST_RUNNER_EXTRA="--v2transport"
14-
export BITCOIN_CONFIG="--with-boost-process --enable-debug CC=clang-16 CXX=clang++-16" # Use clang to avoid OOM
14+
export BITCOIN_CONFIG="--with-boost-process --enable-debug CC=clang-18 CXX=clang++-18" # Use clang to avoid OOM
1515
export BITCOIND=dash-node # Used in functional tests

ci/test/00_setup_env_native_tsan.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
export LC_ALL=C.UTF-8
88

99
export CONTAINER_NAME=ci_native_tsan
10-
export PACKAGES="clang-16 llvm-16 libclang-rt-16-dev libc++abi-16-dev libc++-16-dev python3-zmq"
11-
export DEP_OPTS="CC=clang-16 CXX='clang++-16 -stdlib=libc++'"
10+
export PACKAGES="clang-18 llvm-18 libclang-rt-18-dev libc++abi-18-dev libc++-18-dev python3-zmq"
11+
export DEP_OPTS="CC=clang-18 CXX='clang++-18 -stdlib=libc++'"
1212
export TEST_RUNNER_EXTRA="--extended --exclude feature_pruning,feature_dbcrash,wallet_multiwallet.py" # Temporarily suppress ASan heap-use-after-free (see issue #14163)
1313
export TEST_RUNNER_EXTRA="${TEST_RUNNER_EXTRA} --timeout-factor=4" # Increase timeout because sanitizers slow down
1414
export GOAL="install"
15-
export BITCOIN_CONFIG="--enable-zmq --with-gui=no --with-sanitizers=thread CC=clang-16 CXX=clang++-16 CXXFLAGS='-g' --with-boost-process"
15+
export BITCOIN_CONFIG="--enable-zmq --with-gui=no --with-sanitizers=thread CC=clang-18 CXX=clang++-18 CXXFLAGS='-g' --with-boost-process"
1616
export CPPFLAGS="-DARENA_DEBUG -DDEBUG_LOCKORDER -DDEBUG_LOCKCONTENTION"
1717
export PYZMQ=true

ci/test/00_setup_env_native_ubsan.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
export LC_ALL=C.UTF-8
99

1010
export CONTAINER_NAME=ci_native_ubsan
11-
export PACKAGES="clang-16 llvm-16 python3-zmq qtbase5-dev qttools5-dev-tools libevent-dev bsdmainutils libboost-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev"
11+
export PACKAGES="clang-18 llvm-18 python3-zmq qtbase5-dev qttools5-dev-tools libevent-dev bsdmainutils libboost-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev"
1212
export DEP_OPTS="NO_UPNP=1 DEBUG=1"
1313
export GOAL="install"
14-
export BITCOIN_CONFIG="--enable-zmq --enable-reduce-exports --enable-crash-hooks --with-sanitizers=undefined CC=clang-16 CXX=clang++-16"
14+
export BITCOIN_CONFIG="--enable-zmq --enable-reduce-exports --enable-crash-hooks --with-sanitizers=undefined CC=clang-18 CXX=clang++-18"
1515
export PYZMQ=true

ci/test/00_setup_env_native_valgrind.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ export USE_VALGRIND=1
1111
export NO_DEPENDS=1
1212
export TEST_RUNNER_EXTRA="--exclude rpc_bind --timeout-factor=4" # Excluded for now, see https://github.com/bitcoin/bitcoin/issues/17765#issuecomment-602068547
1313
export GOAL="install"
14-
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=no --enable-suppress-external-warnings CC=clang-16 CXX=clang++-16" # TODO enable GUI
14+
export BITCOIN_CONFIG="--enable-zmq --with-incompatible-bdb --with-gui=no --enable-suppress-external-warnings CC=clang-18 CXX=clang++-18" # TODO enable GUI

configure.ac

+2-4
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,6 @@ AC_PATH_TOOL(DSYMUTIL, dsymutil)
127127
AC_PATH_PROG(DOXYGEN, doxygen)
128128
AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"])
129129

130-
AC_ARG_VAR(PYTHONPATH, Augments the default search path for python module files)
131-
132130
AC_ARG_ENABLE([wallet],
133131
[AS_HELP_STRING([--disable-wallet],
134132
[disable wallet (enabled by default)])],
@@ -843,7 +841,7 @@ case $host in
843841
;;
844842
*)
845843
AC_PATH_TOOL([DSYMUTIL], [dsymutil], dsymutil)
846-
AC_PATH_PROGS([XORRISOFS], [xorrisofs], xorrisofs)
844+
AC_PATH_PROG([ZIP], [zip], [zip])
847845

848846
dnl libtool will try to strip the static lib, which is a problem for
849847
dnl cross-builds because strip attempts to call a hard-coded ld,
@@ -1934,7 +1932,6 @@ AC_CONFIG_LINKS([contrib/devtools/test-security-check.py:contrib/devtools/test-s
19341932
AC_CONFIG_LINKS([contrib/devtools/symbol-check.py:contrib/devtools/symbol-check.py])
19351933
AC_CONFIG_LINKS([contrib/devtools/test-symbol-check.py:contrib/devtools/test-symbol-check.py])
19361934
AC_CONFIG_LINKS([contrib/filter-lcov.py:contrib/filter-lcov.py])
1937-
AC_CONFIG_LINKS([contrib/macdeploy/background.tiff:contrib/macdeploy/background.tiff])
19381935
AC_CONFIG_LINKS([test/functional/test_runner.py:test/functional/test_runner.py])
19391936
AC_CONFIG_LINKS([test/fuzz/test_runner.py:test/fuzz/test_runner.py])
19401937
AC_CONFIG_LINKS([test/util/test_runner.py:test/util/test_runner.py])
@@ -2014,5 +2011,6 @@ echo " CPPFLAGS = $DEBUG_CPPFLAGS $HARDENED_CPPFLAGS $CORE_CPPFLAGS
20142011
echo " CXX = $CXX"
20152012
echo " CXXFLAGS = $DEBUG_CXXFLAGS $HARDENED_CXXFLAGS $WARN_CXXFLAGS $NOWARN_CXXFLAGS $ERROR_CXXFLAGS $GPROF_CXXFLAGS $CORE_CXXFLAGS $CXXFLAGS"
20162013
echo " LDFLAGS = $PTHREAD_LIBS $HARDENED_LDFLAGS $GPROF_LDFLAGS $CORE_LDFLAGS $LDFLAGS"
2014+
echo " AR = $AR"
20172015
echo " ARFLAGS = $ARFLAGS"
20182016
echo

contrib/containers/ci/Dockerfile

+9-5
Original file line numberDiff line numberDiff line change
@@ -55,23 +55,27 @@ RUN set -ex; \
5555
# Install Clang+LLVM and set it as default
5656
# We don't need all packages but the default set doesn't include some
5757
# packages we want so we will need to install some of them manually.
58-
ARG LLVM_VERSION=16
58+
ARG LLVM_VERSION=18
5959
RUN set -ex; \
6060
echo "Installing LLVM and Clang ${LLVM_VERSION}..."; \
61-
curl -sL https://apt.llvm.org/llvm.sh | bash -s "${LLVM_VERSION}"; \
61+
curl -sL https://apt.llvm.org/llvm.sh | bash -s -- "${LLVM_VERSION}"; \
6262
echo "Installing additional packages..."; \
6363
apt-get update && apt-get install $APT_ARGS \
6464
"clang-format-${LLVM_VERSION}" \
6565
"clang-tidy-${LLVM_VERSION}" \
6666
"libc++-${LLVM_VERSION}-dev" \
6767
"libc++abi-${LLVM_VERSION}-dev" \
68-
"libclang-rt-${LLVM_VERSION}-dev"; \
68+
"libclang-rt-${LLVM_VERSION}-dev" \
69+
"lld-${LLVM_VERSION}"; \
6970
rm -rf /var/lib/apt/lists/*; \
7071
echo "Setting defaults..."; \
7172
lldbUpdAltArgs="update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-${LLVM_VERSION} 100"; \
72-
for binName in clang clang++ clang-format clang-tidy clangd ld.lld lldb lldb-server; do \
73+
for binName in clang clang++ clang-format clang-tidy clangd dsymutil lld lldb lldb-server llvm-ar llvm-cov llvm-nm llvm-objdump llvm-ranlib llvm-strip; do \
7374
lldbUpdAltArgs="${lldbUpdAltArgs} --slave /usr/bin/${binName} ${binName} /usr/bin/${binName}-${LLVM_VERSION}"; \
7475
done; \
76+
for binName in ld64.lld ld.lld lld-link wasm-ld; do \
77+
lldbUpdAltArgs="${lldbUpdAltArgs} --slave /usr/bin/${binName} ${binName} /usr/bin/lld-${LLVM_VERSION}"; \
78+
done; \
7579
sh -c "${lldbUpdAltArgs}";
7680
# LD_LIBRARY_PATH is empty by default, this is the first entry
7781
ENV LD_LIBRARY_PATH="/usr/lib/llvm-${LLVM_VERSION}/lib"
@@ -159,7 +163,7 @@ RUN apt-get update && apt-get install $APT_ARGS \
159163
valgrind \
160164
wine-stable \
161165
wine64 \
162-
xorriso \
166+
zip \
163167
&& rm -rf /var/lib/apt/lists/*
164168

165169
# This is a hack. It is needed because gcc-multilib and g++-multilib are conflicting with g++-arm-linux-gnueabihf. This is

contrib/devtools/symbol-check.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,8 @@ def check_MACHO_sdk(binary) -> bool:
251251
return True
252252
return False
253253

254-
def check_MACHO_ld64(binary) -> bool:
255-
if binary.build_version.tools[0].version == [711, 0, 0]:
254+
def check_MACHO_lld(binary) -> bool:
255+
if binary.build_version.tools[0].version == [18, 1, 6]:
256256
return True
257257
return False
258258

@@ -295,7 +295,7 @@ def check_ELF_ABI(binary) -> bool:
295295
('DYNAMIC_LIBRARIES', check_MACHO_libraries),
296296
('MIN_OS', check_MACHO_min_os),
297297
('SDK', check_MACHO_sdk),
298-
('LD64', check_MACHO_ld64),
298+
('LLD', check_MACHO_lld),
299299
],
300300
lief.EXE_FORMATS.PE: [
301301
('DYNAMIC_LIBRARIES', check_PE_libraries),

contrib/devtools/test-security-check.py

+9-15
Original file line numberDiff line numberDiff line change
@@ -121,21 +121,15 @@ def test_MACHO(self):
121121
arch = get_arch(cc, source, executable)
122122

123123
if arch == lief.ARCHITECTURES.X86:
124-
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-no_pie','-Wl,-flat_namespace','-Wl,-allow_stack_execute','-fno-stack-protector', '-Wl,-no_fixup_chains']),
125-
(1, executable+': failed NOUNDEFS Canary FIXUP_CHAINS PIE NX CONTROL_FLOW'))
126-
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-no_pie','-Wl,-flat_namespace','-Wl,-allow_stack_execute','-fno-stack-protector', '-Wl,-fixup_chains']),
127-
(1, executable+': failed NOUNDEFS Canary PIE NX CONTROL_FLOW'))
128-
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-no_pie','-Wl,-flat_namespace','-Wl,-allow_stack_execute','-fstack-protector-all', '-Wl,-fixup_chains']),
129-
(1, executable+': failed NOUNDEFS PIE NX CONTROL_FLOW'))
130-
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-no_pie','-Wl,-flat_namespace','-fstack-protector-all', '-Wl,-fixup_chains']),
131-
(1, executable+': failed NOUNDEFS PIE CONTROL_FLOW'))
132-
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-no_pie','-fstack-protector-all', '-Wl,-fixup_chains']),
133-
(1, executable+': failed PIE CONTROL_FLOW'))
134-
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-no_pie','-fstack-protector-all', '-Wl,-fixup_chains']),
135-
(1, executable+': failed PIE CONTROL_FLOW'))
136-
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-no_pie','-fstack-protector-all', '-fcf-protection=full', '-Wl,-fixup_chains']),
137-
(1, executable+': failed PIE'))
138-
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-pie','-fstack-protector-all', '-fcf-protection=full', '-Wl,-fixup_chains']),
124+
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-no_pie','-Wl,-flat_namespace','-fno-stack-protector', '-Wl,-no_fixup_chains']),
125+
(1, executable+': failed NOUNDEFS Canary FIXUP_CHAINS PIE CONTROL_FLOW'))
126+
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-flat_namespace','-fno-stack-protector', '-Wl,-fixup_chains']),
127+
(1, executable+': failed NOUNDEFS Canary CONTROL_FLOW'))
128+
self.assertEqual(call_security_check(cc, source, executable, ['-Wl,-flat_namespace','-fstack-protector-all', '-Wl,-fixup_chains']),
129+
(1, executable+': failed NOUNDEFS CONTROL_FLOW'))
130+
self.assertEqual(call_security_check(cc, source, executable, ['-fstack-protector-all', '-Wl,-fixup_chains']),
131+
(1, executable+': failed CONTROL_FLOW'))
132+
self.assertEqual(call_security_check(cc, source, executable, ['-fstack-protector-all', '-fcf-protection=full', '-Wl,-fixup_chains']),
139133
(0, ''))
140134
else:
141135
# arm64 darwin doesn't support non-PIE binaries, control flow or executable stacks

contrib/guix/guix-build

+1-1
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ fi
194194

195195
if ! getent services http https ftp > /dev/null 2>&1; then
196196
cat << EOF
197-
ERR: Your system's C library can not find service database entries for at least
197+
ERR: Your system's C library cannot find service database entries for at least
198198
one of the following services: http, https, ftp.
199199
200200
Hint: Most likely, /etc/services does not exist yet (common for docker images

contrib/guix/libexec/build.sh

+3-25
Original file line numberDiff line numberDiff line change
@@ -135,18 +135,7 @@ for p in "${PATHS[@]}"; do
135135
done
136136

137137
# Disable Guix ld auto-rpath behavior
138-
case "$HOST" in
139-
*darwin*)
140-
# The auto-rpath behavior is necessary for darwin builds as some native
141-
# tools built by depends refer to and depend on Guix-built native
142-
# libraries
143-
#
144-
# After the native packages in depends are built, the ld wrapper should
145-
# no longer affect our build, as clang would instead reach for
146-
# x86_64-apple-darwin-ld from cctools
147-
;;
148-
*) export GUIX_LD_WRAPPER_DISABLE_RPATH=yes ;;
149-
esac
138+
export GUIX_LD_WRAPPER_DISABLE_RPATH=yes
150139

151140
# Make /usr/bin if it doesn't exist
152141
[ -e /usr/bin ] || mkdir -p /usr/bin
@@ -175,16 +164,6 @@ esac
175164
# Environment variables for determinism
176165
export TAR_OPTIONS="--owner=0 --group=0 --numeric-owner --mtime='@${SOURCE_DATE_EPOCH}' --sort=name"
177166
export TZ="UTC"
178-
case "$HOST" in
179-
*darwin*)
180-
# cctools AR, unlike GNU binutils AR, does not have a deterministic mode
181-
# or a configure flag to enable determinism by default, it only
182-
# understands if this env-var is set or not. See:
183-
#
184-
# https://github.com/tpoechtrager/cctools-port/blob/55562e4073dea0fbfd0b20e0bf69ffe6390c7f97/cctools/ar/archive.c#L334
185-
export ZERO_AR_DATE=yes
186-
;;
187-
esac
188167

189168
####################
190169
# Depends Building #
@@ -201,8 +180,7 @@ make -C depends --jobs="$JOBS" HOST="$HOST" \
201180
x86_64_linux_AR=x86_64-linux-gnu-gcc-ar \
202181
x86_64_linux_RANLIB=x86_64-linux-gnu-gcc-ranlib \
203182
x86_64_linux_NM=x86_64-linux-gnu-gcc-nm \
204-
x86_64_linux_STRIP=x86_64-linux-gnu-strip \
205-
FORCE_USE_SYSTEM_CLANG=1
183+
x86_64_linux_STRIP=x86_64-linux-gnu-strip
206184

207185

208186
###########################
@@ -326,7 +304,7 @@ mkdir -p "$DISTSRC"
326304
| gzip -9n > "${OUTDIR}/${DISTNAME}-${HOST}-unsigned.tar.gz" \
327305
|| ( rm -f "${OUTDIR}/${DISTNAME}-${HOST}-unsigned.tar.gz" && exit 1 )
328306
)
329-
make deploy ${V:+V=1} OSX_DMG="${OUTDIR}/${DISTNAME}-${HOST}-unsigned.dmg"
307+
make deploy ${V:+V=1} OSX_ZIP="${OUTDIR}/${DISTNAME}-${HOST}-unsigned.zip"
330308
;;
331309
esac
332310
(

contrib/guix/libexec/codesign.sh

+6-5
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,12 @@ mkdir -p "$DISTSRC"
7878
# Apply detached codesignatures to dist/ (in-place)
7979
signapple apply dist/Dash-Qt.app codesignatures/osx/dist
8080

81-
# Make a DMG from dist/
82-
xorrisofs -D -l -V "$(< osx_volname)" -no-pad -r -dir-mode 0755 \
83-
-o "${OUTDIR}/${DISTNAME}-${HOST}.dmg" \
84-
dist \
85-
-- -volume_date all_file_dates ="$SOURCE_DATE_EPOCH"
81+
# Make a .zip from dist/
82+
cd dist/
83+
find . -print0 \
84+
| xargs -0r touch --no-dereference --date="@${SOURCE_DATE_EPOCH}"
85+
find . | sort \
86+
| zip -X@ "${OUTDIR}/${DISTNAME}-${HOST}.zip"
8687
;;
8788
*)
8889
exit 1

contrib/guix/manifest.scm

+7-12
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
((gnu packages bash) #:select (bash-minimal))
44
(gnu packages bison)
55
((gnu packages certs) #:select (nss-certs))
6-
((gnu packages cdrom) #:select (xorriso))
76
((gnu packages cmake) #:select (cmake-minimal))
87
(gnu packages commencement)
98
(gnu packages compression)
@@ -578,6 +577,7 @@ inspecting signatures in Mach-O binaries.")
578577
gzip
579578
xz
580579
;; Build tools
580+
gcc-toolchain-12
581581
cmake-minimal
582582
gnu-make
583583
libtool
@@ -593,23 +593,18 @@ inspecting signatures in Mach-O binaries.")
593593
python-lief)
594594
(let ((target (getenv "HOST")))
595595
(cond ((string-suffix? "-mingw32" target)
596-
(list ;; Native GCC 12 toolchain
597-
gcc-toolchain-12
598-
zip
596+
(list zip
599597
(make-mingw-pthreads-cross-toolchain "x86_64-w64-mingw32")
600598
nsis-x86_64
601599
nss-certs
602600
osslsigncode))
603601
((string-contains target "-linux-")
604-
(list ;; Native GCC 12 toolchain
605-
gcc-toolchain-12
606-
(list gcc-toolchain-12 "static")
602+
(list (list gcc-toolchain-12 "static")
607603
(make-bitcoin-cross-toolchain target)))
608604
((string-contains target "darwin")
609-
(list ;; Native GCC 11 toolchain
610-
gcc-toolchain-11
611-
binutils
612-
clang-toolchain-17
605+
(list clang-toolchain-18
606+
lld-18
607+
(make-lld-wrapper lld-18 #:lld-as-ld? #t)
613608
python-signapple
614-
xorriso))
609+
zip))
615610
(else '())))))

0 commit comments

Comments
 (0)