diff --git a/cmake/platforms/OSX.cmake b/cmake/platforms/OSX.cmake
--- a/cmake/platforms/OSX.cmake
+++ b/cmake/platforms/OSX.cmake
@@ -1,7 +1,7 @@
# Copyright (c) 2017 The Bitcoin developers
set(CMAKE_SYSTEM_NAME Darwin)
-set(TOOLCHAIN_PREFIX x86_64-apple-darwin11)
+set(TOOLCHAIN_PREFIX x86_64-apple-darwin14)
# On OSX, we use clang by default.
set(CMAKE_C_COMPILER clang)
@@ -10,7 +10,7 @@
# On OSX we use various stuff from Apple's SDK.
set(OSX_SDK_PATH "${CMAKE_CURRENT_SOURCE_DIR}/depends/SDKs/MacOSX10.11.sdk")
set(CMAKE_OSX_SYSROOT ${OSX_SDK_PATH})
-set(CMAKE_OSX_DEPLOYMENT_TARGET 10.8)
+set(CMAKE_OSX_DEPLOYMENT_TARGET 10.10)
# target environment on the build host system
# set 1st to dir with the cross compiler's C/C++ headers/libs
diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml
--- a/contrib/gitian-descriptors/gitian-osx.yml
+++ b/contrib/gitian-descriptors/gitian-osx.yml
@@ -36,7 +36,7 @@
- "MacOSX10.11.sdk.tar.gz"
script: |
WRAP_DIR=$HOME/wrapped
- HOSTS="x86_64-apple-darwin11"
+ HOSTS="x86_64-apple-darwin14"
CONFIGFLAGS="--enable-reduce-exports --disable-bench --disable-gui-tests GENISOIMAGE=$WRAP_DIR/genisoimage"
FAKETIME_HOST_PROGS=""
FAKETIME_PROGS="ar ranlib date dmg genisoimage"
diff --git a/depends/Makefile b/depends/Makefile
--- a/depends/Makefile
+++ b/depends/Makefile
@@ -170,7 +170,7 @@
download-one: check-sources $(all_sources)
download-osx:
- @$(MAKE) -s HOST=x86_64-apple-darwin11 download-one
+ @$(MAKE) -s HOST=x86_64-apple-darwin14 download-one
download-linux:
@$(MAKE) -s HOST=x86_64-unknown-linux-gnu download-one
download-win:
diff --git a/depends/README.md b/depends/README.md
--- a/depends/README.md
+++ b/depends/README.md
@@ -22,7 +22,7 @@
- `i686-w64-mingw32` for Win32
- `x86_64-w64-mingw32` for Win64
-- `x86_64-apple-darwin11` for macOS
+- `x86_64-apple-darwin14` for macOS
- `arm-linux-gnueabihf` for Linux ARM 32 bit
- `aarch64-linux-gnu` for Linux ARM 64 bit
diff --git a/depends/hosts/darwin.mk b/depends/hosts/darwin.mk
--- a/depends/hosts/darwin.mk
+++ b/depends/hosts/darwin.mk
@@ -1,4 +1,4 @@
-OSX_MIN_VERSION=10.8
+OSX_MIN_VERSION=10.10
OSX_SDK_VERSION=10.11
OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk
LD64_VERSION=253.9
diff --git a/doc/release-notes.md b/doc/release-notes.md
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -3,3 +3,6 @@
This release includes the following features and fixes:
+ - From 0.20.1 onwards macOS <10.10 is no longer supported.
+ 0.20.1 is built using Qt 5.9.6, which doesn't support
+ versions of macOS older than 10.10.
diff --git a/share/qt/Info.plist.in b/share/qt/Info.plist.in
--- a/share/qt/Info.plist.in
+++ b/share/qt/Info.plist.in
@@ -3,7 +3,7 @@
LSMinimumSystemVersion
- 10.8.0
+ 10.10.0
LSArchitecturePriority
diff --git a/src/compat/byteswap.h b/src/compat/byteswap.h
--- a/src/compat/byteswap.h
+++ b/src/compat/byteswap.h
@@ -15,7 +15,7 @@
#include
#endif
-#if defined(__APPLE__)
+#if defined(MAC_OSX)
#if !defined(bswap_16)
@@ -59,6 +59,6 @@
}
#endif // HAVE_DECL_BSWAP64
-#endif // defined(__APPLE__)
+#endif // defined(MAC_OSX)
#endif // BITCOIN_COMPAT_BYTESWAP_H
diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp
--- a/src/qt/bitcoin.cpp
+++ b/src/qt/bitcoin.cpp
@@ -698,7 +698,6 @@
// that set the app orgname and app name! If you move the above 3 lines
// to elsewhere, take this call with you!
MigrateSettings();
- GUIUtil::SubstituteFonts(GetLangTerritory());
/// 4. Initialization of translations, so that intro dialog is in user's
/// language. Now that QSettings are accessible, initialize translations.
diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h
--- a/src/qt/guiutil.h
+++ b/src/qt/guiutil.h
@@ -147,9 +147,6 @@
// Open the config file
bool openBitcoinConf();
-// Replace invalid default fonts with known good ones
-void SubstituteFonts(const QString &language);
-
/** Qt event filter that intercepts ToolTipChange events, and replaces the
* tooltip with a rich text representation if needed. This assures that Qt can
* word-wrap long tooltip messages. Tooltips longer than the provided size
@@ -262,20 +259,7 @@
void mouseReleaseEvent(QMouseEvent *event) override;
};
-#if defined(Q_OS_MAC)
-// workaround for Qt OSX Bug:
-// https://bugreports.qt-project.org/browse/QTBUG-15631
-// QProgressBar uses around 10% CPU even when app is in background
-class ProgressBar : public ClickableProgressBar {
- bool event(QEvent *e) override {
- return (e->type() != QEvent::StyleAnimationUpdate)
- ? QProgressBar::event(e)
- : false;
- }
-};
-#else
typedef ClickableProgressBar ProgressBar;
-#endif
} // namespace GUIUtil
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -65,14 +65,6 @@
// These Mac includes must be done in the global namespace
#include
#include
-
-extern double NSAppKitVersionNumber;
-#if !defined(NSAppKitVersionNumber10_8)
-#define NSAppKitVersionNumber10_8 1187
-#endif
-#if !defined(NSAppKitVersionNumber10_9)
-#define NSAppKitVersionNumber10_9 1265
-#endif
#endif
namespace GUIUtil {
@@ -414,48 +406,6 @@
QUrl::fromLocalFile(boostPathToQString(pathConfig)));
}
-void SubstituteFonts(const QString &language) {
-#if defined(Q_OS_MAC)
-// Background:
-// OSX's default font changed in 10.9 and Qt is unable to find it with its
-// usual fallback methods when building against the 10.7 sdk or lower.
-// The 10.8 SDK added a function to let it find the correct fallback font.
-// If this fallback is not properly loaded, some characters may fail to
-// render correctly.
-//
-// The same thing happened with 10.10. .Helvetica Neue DeskInterface is now
-// default.
-//
-// Solution: If building with the 10.7 SDK or lower and the user's platform
-// is 10.9 or higher at runtime, substitute the correct font. This needs to
-// happen before the QApplication is created.
-#if defined(MAC_OS_X_VERSION_MAX_ALLOWED) && \
- MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_8
- if (floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_8) {
- if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_9) {
- /* On a 10.9 - 10.9.x system */
- QFont::insertSubstitution(".Lucida Grande UI", "Lucida Grande");
- } else {
- /* 10.10 or later system */
- if (language == "zh_CN" || language == "zh_TW" ||
- language == "zh_HK") {
- // traditional or simplified Chinese
- QFont::insertSubstitution(".Helvetica Neue DeskInterface",
- "Heiti SC");
- } else if (language == "ja") {
- // Japanese
- QFont::insertSubstitution(".Helvetica Neue DeskInterface",
- "Songti SC");
- } else {
- QFont::insertSubstitution(".Helvetica Neue DeskInterface",
- "Lucida Grande");
- }
- }
- }
-#endif
-#endif
-}
-
ToolTipToRichTextFilter::ToolTipToRichTextFilter(int _size_threshold,
QObject *parent)
: QObject(parent), size_threshold(_size_threshold) {}
diff --git a/src/util.cpp b/src/util.cpp
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1108,7 +1108,7 @@
LogPrintf("%s: fdatasync failed: %d\n", __func__, errno);
return false;
}
-#elif defined(__APPLE__) && defined(F_FULLFSYNC)
+#elif defined(MAC_OSX) && defined(F_FULLFSYNC)
// Manpage says "value other than -1" is returned on success
if (fcntl(fileno(file), F_FULLFSYNC, 0) == -1) {
LogPrintf("%s: fcntl F_FULLFSYNC failed: %d\n", __func__, errno);