aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2021-12-31 16:08:55 +0800
committerfanquake <fanquake@gmail.com>2022-04-11 10:34:30 +0100
commit1dd8cbfbc6318308b5e75023568f818ef6a9c7e4 (patch)
tree92fe972f2664bb1a1afbd4fd5bfd00c883fbc174
parentcd110cdd0e55d6f68551f13383a1391bbe1017cb (diff)
downloadbitcoin-1dd8cbfbc6318308b5e75023568f818ef6a9c7e4.tar.xz
build: don't compress macOS DMG
-rw-r--r--.gitignore1
-rw-r--r--Makefile.am9
-rw-r--r--configure.ac1
-rwxr-xr-xcontrib/guix/libexec/build.sh16
-rwxr-xr-xcontrib/guix/libexec/codesign.sh7
-rw-r--r--contrib/guix/manifest.scm2
-rw-r--r--contrib/macdeploy/README.md11
-rw-r--r--depends/packages/native_libdmg-hfsplus.mk24
-rw-r--r--depends/packages/packages.mk2
-rw-r--r--depends/patches/native_libdmg-hfsplus/remove-libcrypto-dependency.patch45
10 files changed, 7 insertions, 111 deletions
diff --git a/.gitignore b/.gitignore
index cde517c986..6c888bfdc4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -77,7 +77,6 @@ src/qt/bitcoin-qt.includes
*.log
*.trs
*.dmg
-*.iso
*.json.h
*.raw.h
diff --git a/Makefile.am b/Makefile.am
index 54e9a6865f..eec7da7d86 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,7 +12,7 @@ if ENABLE_MAN
SUBDIRS += doc/man
endif
.PHONY: deploy FORCE
-.INTERMEDIATE: $(OSX_TEMP_ISO) $(COVERAGE_INFO)
+.INTERMEDIATE: $(COVERAGE_INFO)
export PYTHONPATH
@@ -37,7 +37,6 @@ space := $(empty) $(empty)
OSX_APP=Bitcoin-Qt.app
OSX_VOLNAME = $(subst $(space),-,$(PACKAGE_NAME))
OSX_DMG = $(OSX_VOLNAME).dmg
-OSX_TEMP_ISO = $(OSX_DMG:.dmg=).temp.iso
OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus
OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns
OSX_PLIST=$(top_builddir)/share/qt/Info.plist #not installed
@@ -129,19 +128,15 @@ deploydir: $(OSX_DMG)
else !BUILD_DARWIN
APP_DIST_DIR=$(top_builddir)/dist
-$(OSX_TEMP_ISO): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt
+$(OSX_DMG): deploydir
$(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))
-$(OSX_DMG): $(OSX_TEMP_ISO)
- $(DMG) dmg "$<" "$@"
-
$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) $(OSX_VOLNAME) -translations-dir=$(QT_TRANSLATION_DIR)
deploydir: $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt
endif !BUILD_DARWIN
-appbundle: $(OSX_APP_BUILT)
deploy: $(OSX_DMG)
endif
diff --git a/configure.ac b/configure.ac
index c6ece881ac..c3e7657515 100644
--- a/configure.ac
+++ b/configure.ac
@@ -778,7 +778,6 @@ case $host in
AC_PATH_TOOL([INSTALLNAMETOOL], [install_name_tool], [install_name_tool])
AC_PATH_TOOL([OTOOL], [otool], [otool])
AC_PATH_PROGS([XORRISOFS], [xorrisofs], [xorrisofs])
- AC_PATH_PROGS([DMG], [dmg], [dmg])
dnl libtool will try to strip the static lib, which is a problem for
dnl cross-builds because strip attempts to call a hard-coded ld,
diff --git a/contrib/guix/libexec/build.sh b/contrib/guix/libexec/build.sh
index 4eeb360603..2757d10a7c 100755
--- a/contrib/guix/libexec/build.sh
+++ b/contrib/guix/libexec/build.sh
@@ -79,19 +79,6 @@ prepend_to_search_env_var() {
export "${1}=${2}${!1:+:}${!1}"
}
-case "$HOST" in
- *darwin*)
- # When targeting darwin, zlib is required by native_libdmg-hfsplus.
- zlib_store_path=$(store_path "zlib")
- zlib_static_store_path=$(store_path "zlib" static)
-
- prepend_to_search_env_var LIBRARY_PATH "${zlib_static_store_path}/lib:${zlib_store_path}/lib"
- prepend_to_search_env_var C_INCLUDE_PATH "${zlib_store_path}/include"
- prepend_to_search_env_var CPLUS_INCLUDE_PATH "${zlib_store_path}/include"
- prepend_to_search_env_var OBJC_INCLUDE_PATH "${zlib_store_path}/include"
- prepend_to_search_env_var OBJCPLUS_INCLUDE_PATH "${zlib_store_path}/include"
-esac
-
# Set environment variables to point the CROSS toolchain to the right
# includes/libs for $HOST
case "$HOST" in
@@ -332,8 +319,7 @@ mkdir -p "$DISTSRC"
mkdir -p "unsigned-app-${HOST}"
cp --target-directory="unsigned-app-${HOST}" \
osx_volname \
- contrib/macdeploy/detached-sig-create.sh \
- "${BASEPREFIX}/${HOST}"/native/bin/dmg
+ contrib/macdeploy/detached-sig-create.sh
mv --target-directory="unsigned-app-${HOST}" dist
(
cd "unsigned-app-${HOST}"
diff --git a/contrib/guix/libexec/codesign.sh b/contrib/guix/libexec/codesign.sh
index 6ede95f42b..9a5d3a1ce5 100755
--- a/contrib/guix/libexec/codesign.sh
+++ b/contrib/guix/libexec/codesign.sh
@@ -84,14 +84,11 @@ mkdir -p "$DISTSRC"
# Apply detached codesignatures to dist/ (in-place)
signapple apply dist/Bitcoin-Qt.app codesignatures/osx/dist
- # Make an uncompressed DMG from dist/
+ # Make a DMG from dist/
xorrisofs -D -l -V "$(< osx_volname)" -no-pad -r -dir-mode 0755 \
- -o uncompressed.dmg \
+ -o "${OUTDIR}/${DISTNAME}-${HOST}.dmg" \
dist \
-- -volume_date all_file_dates ="$SOURCE_DATE_EPOCH"
-
- # Compress uncompressed.dmg and output to OUTDIR
- ./dmg dmg uncompressed.dmg "${OUTDIR}/${DISTNAME}-${HOST}.dmg"
;;
*)
exit 1
diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm
index fcec592c2c..95fd178b55 100644
--- a/contrib/guix/manifest.scm
+++ b/contrib/guix/manifest.scm
@@ -572,8 +572,6 @@ inspecting signatures in Mach-O binaries.")
bzip2
gzip
xz
- zlib
- (list zlib "static")
;; Build tools
gnu-make
libtool
diff --git a/contrib/macdeploy/README.md b/contrib/macdeploy/README.md
index ce69079e29..71f0cbfab6 100644
--- a/contrib/macdeploy/README.md
+++ b/contrib/macdeploy/README.md
@@ -89,16 +89,7 @@ redistributed.
[`xorrisofs`](https://www.gnu.org/software/xorriso/) is used to create the DMG.
-`xorrisofs` cannot compress DMGs, so afterwards, the DMG tool from the
-`libdmg-hfsplus` project is used to compress it. There are several bugs in this
-tool and its maintainer has seemingly abandoned the project.
-
-The DMG tool has the ability to create DMGs from scratch as well, but this functionality is
-broken. Only the compression feature is currently used. Ideally, the creation could be fixed
-and `xorrisofs` would no longer be necessary.
-
-Background images and other features can be added to DMG files by inserting a
-`.DS_Store` during creation.
+A background image is added to DMG files by inserting a `.DS_Store` during creation.
As of OS X 10.9 Mavericks, using an Apple-blessed key to sign binaries is a requirement in
order to satisfy the new Gatekeeper requirements. Because this private key cannot be
diff --git a/depends/packages/native_libdmg-hfsplus.mk b/depends/packages/native_libdmg-hfsplus.mk
deleted file mode 100644
index c7c8adef41..0000000000
--- a/depends/packages/native_libdmg-hfsplus.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-package=native_libdmg-hfsplus
-$(package)_version=7ac55ec64c96f7800d9818ce64c79670e7f02b67
-$(package)_download_path=https://github.com/planetbeing/libdmg-hfsplus/archive
-$(package)_file_name=$($(package)_version).tar.gz
-$(package)_sha256_hash=56fbdc48ec110966342f0ecddd6f8f89202f4143ed2a3336e42bbf88f940850c
-$(package)_build_subdir=build
-$(package)_patches=remove-libcrypto-dependency.patch
-
-define $(package)_preprocess_cmds
- patch -p1 < $($(package)_patch_dir)/remove-libcrypto-dependency.patch && \
- mkdir build
-endef
-
-define $(package)_config_cmds
- $($(package)_cmake) -DCMAKE_C_FLAGS="$$($(1)_cflags) -Wl,--build-id=none" -DCMAKE_SKIP_RPATH="ON" -DCMAKE_EXE_LINKER_FLAGS="-static" -DCMAKE_FIND_LIBRARY_SUFFIXES=".a" ..
-endef
-
-define $(package)_build_cmds
- $(MAKE) -C dmg
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) -C dmg install
-endef
diff --git a/depends/packages/packages.mk b/depends/packages/packages.mk
index 991db7f46e..998cc0221c 100644
--- a/depends/packages/packages.mk
+++ b/depends/packages/packages.mk
@@ -26,7 +26,7 @@ usdt_linux_packages=systemtap
darwin_native_packages = native_ds_store native_mac_alias
ifneq ($(build_os),darwin)
-darwin_native_packages += native_cctools native_libtapi native_libdmg-hfsplus
+darwin_native_packages += native_cctools native_libtapi
ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),)
darwin_native_packages+= native_clang
diff --git a/depends/patches/native_libdmg-hfsplus/remove-libcrypto-dependency.patch b/depends/patches/native_libdmg-hfsplus/remove-libcrypto-dependency.patch
deleted file mode 100644
index f346c8f2cf..0000000000
--- a/depends/patches/native_libdmg-hfsplus/remove-libcrypto-dependency.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 3e5fd3fb56bc9ff03beb535979e33dcf83fe1f70 Mon Sep 17 00:00:00 2001
-From: Cory Fields <cory-nospam-@coryfields.com>
-Date: Thu, 8 May 2014 12:39:42 -0400
-Subject: [PATCH] dmg: remove libcrypto dependency
-
----
- dmg/CMakeLists.txt | 16 ----------------
- 1 file changed, 16 deletions(-)
-
-diff --git a/dmg/CMakeLists.txt b/dmg/CMakeLists.txt
-index eec62d6..3969f64 100644
---- a/dmg/CMakeLists.txt
-+++ b/dmg/CMakeLists.txt
-@@ -1,12 +1,5 @@
--INCLUDE(FindOpenSSL)
- INCLUDE(FindZLIB)
-
--FIND_LIBRARY(CRYPTO_LIBRARIES crypto
-- PATHS
-- /usr/lib
-- /usr/local/lib
-- )
--
- IF(NOT ZLIB_FOUND)
- message(FATAL_ERROR "zlib is required for dmg!")
- ENDIF(NOT ZLIB_FOUND)
-@@ -18,15 +11,6 @@ link_directories(${PROJECT_BINARY_DIR}/common ${PROJECT_BINARY_DIR}/hfs)
-
- add_library(dmg adc.c base64.c checksum.c dmgfile.c dmglib.c filevault.c io.c partition.c resources.c udif.c)
-
--IF(OPENSSL_FOUND)
-- add_definitions(-DHAVE_CRYPT)
-- include_directories(${OPENSSL_INCLUDE_DIR})
-- target_link_libraries(dmg ${CRYPTO_LIBRARIES})
-- IF(WIN32)
-- TARGET_LINK_LIBRARIES(dmg gdi32)
-- ENDIF(WIN32)
--ENDIF(OPENSSL_FOUND)
--
- target_link_libraries(dmg common hfs z)
-
- add_executable(dmg-bin dmg.c)
---
-2.22.0
-