mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 20:12:57 +01:00
Merge pull request #4379 from kittywhiskers/darwinqol_3
build: gitian, linting and macOS-specific QoL improvements (part 3)
This commit is contained in:
commit
8aaa270a33
@ -60,7 +60,7 @@ Working macOS DMGs are created in Linux by combining a recent `clang`, the Apple
|
||||
|
||||
Apple uses `clang` extensively for development and has upstreamed the necessary
|
||||
functionality so that a vanilla clang can take advantage. It supports the use of `-F`,
|
||||
`-target`, `-mmacosx-version-min`, and `--sysroot`, which are all necessary when
|
||||
`-target`, `-mmacosx-version-min`, and `-isysroot`, which are all necessary when
|
||||
building for macOS.
|
||||
|
||||
Apple's version of `binutils` (called `cctools`) contains lots of functionality missing in the
|
||||
|
@ -1,34 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (c) 2016 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
export LC_ALL=C
|
||||
set -e
|
||||
|
||||
INPUTFILE="Xcode_7.3.1.dmg"
|
||||
HFSFILENAME="5.hfs"
|
||||
SDKDIR="Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/Xcode-11.3.1-11C505-extracted-SDK-with-libcxx-headers.tar.gz"
|
||||
|
||||
7z x "${INPUTFILE}" "${HFSFILENAME}"
|
||||
SDKNAME="$(basename "${SDKDIR}")"
|
||||
SDKDIRINODE=$(ifind -n "${SDKDIR}" "${HFSFILENAME}")
|
||||
fls "${HFSFILENAME}" -rpF ${SDKDIRINODE} |
|
||||
while read type inode filename; do
|
||||
inode="${inode::-1}"
|
||||
if [ "${filename:0:14}" = "usr/share/man/" ]; then
|
||||
continue
|
||||
fi
|
||||
filename="${SDKNAME}/$filename"
|
||||
echo "Extracting $filename ..."
|
||||
mkdir -p "$(dirname "$filename")"
|
||||
if [ "$type" = "l/l" ]; then
|
||||
ln -s "$(icat "${HFSFILENAME}" $inode)" "$filename"
|
||||
else
|
||||
icat "${HFSFILENAME}" $inode >"$filename"
|
||||
fi
|
||||
done
|
||||
echo "Building ${SDKNAME}.tar.gz ..."
|
||||
MTIME="$(istat "${HFSFILENAME}" "${SDKDIRINODE}" | perl -nle 'm/Content Modified:\s+(.*?)\s\(/ && print $1')"
|
||||
find "${SDKNAME}" | sort | tar --no-recursion --mtime="${MTIME}" --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > "${SDKNAME}.tar.gz"
|
||||
echo 'All done!'
|
@ -34,7 +34,7 @@ Install the required dependencies: Ubuntu & Debian
|
||||
|
||||
For macOS cross compilation:
|
||||
|
||||
sudo apt-get install curl librsvg2-bin libtiff-tools bsdmainutils imagemagick libcap-dev libz-dev libbz2-dev python3-setuptools
|
||||
sudo apt-get install curl librsvg2-bin libtiff-tools bsdmainutils imagemagick libcap-dev libz-dev libbz2-dev python3-setuptools libtinfo5
|
||||
|
||||
For Win64 cross compilation:
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
build_darwin_CC:=$(shell xcrun -f clang) --sysroot $(shell xcrun --show-sdk-path)
|
||||
build_darwin_CXX:=$(shell xcrun -f clang++) --sysroot $(shell xcrun --show-sdk-path)
|
||||
build_darwin_CC:=$(shell xcrun -f clang) -isysroot$(shell xcrun --show-sdk-path)
|
||||
build_darwin_CXX:=$(shell xcrun -f clang++) -isysroot$(shell xcrun --show-sdk-path)
|
||||
build_darwin_AR:=$(shell xcrun -f ar)
|
||||
build_darwin_RANLIB:=$(shell xcrun -f ranlib)
|
||||
build_darwin_STRIP:=$(shell xcrun -f strip)
|
||||
@ -10,8 +10,8 @@ build_darwin_SHA256SUM=shasum -a 256
|
||||
build_darwin_DOWNLOAD=curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) -o
|
||||
|
||||
#darwin host on darwin builder. overrides darwin host preferences.
|
||||
darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(shell xcrun --show-sdk-path)
|
||||
darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION) -stdlib=libc++ -fvisibility=hidden --sysroot $(shell xcrun --show-sdk-path)
|
||||
darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION) -isysroot$(shell xcrun --show-sdk-path)
|
||||
darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION) -stdlib=libc++ -fvisibility=hidden -isysroot$(shell xcrun --show-sdk-path)
|
||||
darwin_AR:=$(shell xcrun -f ar)
|
||||
darwin_RANLIB:=$(shell xcrun -f ranlib)
|
||||
darwin_STRIP:=$(shell xcrun -f strip)
|
||||
|
@ -12,14 +12,13 @@ ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),)
|
||||
# FORCE_USE_SYSTEM_CLANG is empty, so we use our depends-managed, pinned clang
|
||||
# from llvm.org
|
||||
|
||||
# The native_cctools package is what provides clang when FORCE_USE_SYSTEM_CLANG
|
||||
# is empty
|
||||
# Clang is a dependency of native_cctools when FORCE_USE_SYSTEM_CLANG is empty
|
||||
darwin_native_toolchain=native_cctools
|
||||
|
||||
clang_prog=$(build_prefix)/bin/clang
|
||||
clangxx_prog=$(clang_prog)++
|
||||
|
||||
clang_resource_dir=$(build_prefix)/lib/clang/$(native_cctools_clang_version)
|
||||
clang_resource_dir=$(build_prefix)/lib/clang/$(native_clang_version)
|
||||
else
|
||||
# FORCE_USE_SYSTEM_CLANG is non-empty, so we use the clang from the user's
|
||||
# system
|
||||
@ -101,7 +100,7 @@ darwin_CC=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
|
||||
-u LIBRARY_PATH \
|
||||
$(clang_prog) --target=$(host) -mmacosx-version-min=$(OSX_MIN_VERSION) \
|
||||
-B$(build_prefix)/bin -mlinker-version=$(LD64_VERSION) \
|
||||
--sysroot=$(OSX_SDK) \
|
||||
-isysroot$(OSX_SDK) \
|
||||
-Xclang -internal-externc-isystem$(clang_resource_dir)/include \
|
||||
-Xclang -internal-externc-isystem$(OSX_SDK)/usr/include
|
||||
darwin_CXX=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
|
||||
@ -109,7 +108,7 @@ darwin_CXX=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
|
||||
-u LIBRARY_PATH \
|
||||
$(clangxx_prog) --target=$(host) -mmacosx-version-min=$(OSX_MIN_VERSION) \
|
||||
-B$(build_prefix)/bin -mlinker-version=$(LD64_VERSION) \
|
||||
--sysroot=$(OSX_SDK) \
|
||||
-isysroot$(OSX_SDK) \
|
||||
-stdlib=libc++ -nostdinc++ \
|
||||
-Xclang -cxx-isystem$(OSX_SDK)/usr/include/c++/v1 \
|
||||
-Xclang -internal-externc-isystem$(clang_resource_dir)/include \
|
||||
|
@ -4,6 +4,7 @@ $(package)_download_path=http://download.oracle.com/berkeley-db
|
||||
$(package)_file_name=db-$($(package)_version).NC.tar.gz
|
||||
$(package)_sha256_hash=12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef
|
||||
$(package)_build_subdir=build_unix
|
||||
$(package)_patches=clang_cxx_11.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-shared --enable-cxx --disable-replication
|
||||
@ -16,8 +17,7 @@ $(package)_cppflags_mingw32=-DUNICODE -D_UNICODE
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
sed -i.old 's/__atomic_compare_exchange/__atomic_compare_exchange_db/' dbinc/atomic.h && \
|
||||
sed -i.old 's/atomic_init/atomic_init_db/' dbinc/atomic.h mp/mp_region.c mp/mp_mvcc.c mp/mp_fget.c mutex/mut_method.c mutex/mut_tas.c && \
|
||||
patch -p1 < $($(package)_patch_dir)/clang_cxx_11.patch && \
|
||||
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub dist
|
||||
endef
|
||||
|
||||
|
@ -27,7 +27,9 @@ $(package)_cxxflags=-std=c++11 -fvisibility=hidden
|
||||
$(package)_cxxflags_linux=-fPIC
|
||||
endef
|
||||
|
||||
# Fix unused variable in boost_process, can be removed after upgrading to 1.72
|
||||
define $(package)_preprocess_cmds
|
||||
sed -i.old "s/int ret_sig = 0;//" boost/process/detail/posix/wait_group.hpp && \
|
||||
echo "using $($(package)_toolset_$(host_os)) : : $($(package)_cxx) : <cflags>\"$($(package)_cflags)\" <cxxflags>\"$($(package)_cxxflags)\" <compileflags>\"$($(package)_cppflags)\" <linkflags>\"$($(package)_ldflags)\" <archiver>\"$($(package)_ar)\" <striper>\"$(host_STRIP)\" <ranlib>\"$(host_RANLIB)\" <rc>\"$(host_WINDRES)\" : ;" > user-config.jam
|
||||
endef
|
||||
|
||||
|
@ -4,22 +4,22 @@ $(package)_download_path=http://www.freedesktop.org/software/fontconfig/release/
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
|
||||
$(package)_sha256_hash=b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3
|
||||
$(package)_dependencies=freetype expat
|
||||
$(package)_patches=remove_char_width_usage.patch gperf_header_regen.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--disable-docs --disable-static --disable-libxml2 --disable-iconv
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
patch -p1 < $($(package)_patch_dir)/remove_char_width_usage.patch && \
|
||||
patch -p1 < $($(package)_patch_dir)/gperf_header_regen.patch
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
$($(package)_autoconf)
|
||||
endef
|
||||
|
||||
# 2.12.1 uses CHAR_WIDTH which is reserved and clashes with some glibc versions, but newer versions of fontconfig
|
||||
# have broken makefiles which needlessly attempt to re-generate headers with gperf.
|
||||
# Instead, change all uses of CHAR_WIDTH, and disable the rule that forces header re-generation.
|
||||
# This can be removed once the upstream build is fixed.
|
||||
define $(package)_build_cmds
|
||||
sed -i 's/CHAR_WIDTH/CHARWIDTH/g' fontconfig/fontconfig.h src/fcobjshash.gperf src/fcobjs.h src/fcobjshash.h && \
|
||||
sed -i 's/fcobjshash.h: fcobjshash.gperf/fcobjshash.h:/' src/Makefile && \
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
|
@ -3,6 +3,7 @@ $(package)_version=2.0.20180203
|
||||
$(package)_download_path=https://miniupnp.tuxfamily.org/files
|
||||
$(package)_file_name=$(package)-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=90dda8c7563ca6cd4a83e23b3c66dbbea89603a1675bfdb852897c2c9cc220b7
|
||||
$(package)_patches=dont_use_wingen.patch
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_build_opts=CC="$($(package)_cc)"
|
||||
@ -14,7 +15,7 @@ endef
|
||||
define $(package)_preprocess_cmds
|
||||
mkdir dll && \
|
||||
sed -e 's|MINIUPNPC_VERSION_STRING \"version\"|MINIUPNPC_VERSION_STRING \"$($(package)_version)\"|' -e 's|OS/version|$(host)|' miniupnpcstrings.h.in > miniupnpcstrings.h && \
|
||||
sed -i.old "s|miniupnpcstrings.h: miniupnpcstrings.h.in wingenminiupnpcstrings|miniupnpcstrings.h: miniupnpcstrings.h.in|" Makefile.mingw
|
||||
patch -p1 < $($(package)_patch_dir)/dont_use_wingen.patch
|
||||
endef
|
||||
|
||||
define $(package)_build_cmds
|
||||
|
@ -1,83 +1,24 @@
|
||||
package=native_cctools
|
||||
$(package)_version=4da2f3b485bcf4cef526f30c0b8c0bcda99cdbb4
|
||||
$(package)_version=55562e4073dea0fbfd0b20e0bf69ffe6390c7f97
|
||||
$(package)_download_path=https://github.com/tpoechtrager/cctools-port/archive
|
||||
$(package)_file_name=$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=a2d491c0981cef72fee2b833598f20f42a6c44a7614a61c439bda93d56446fec
|
||||
$(package)_sha256_hash=e51995a843533a3dac155dd0c71362dd471597a2d23f13dff194c6285362f875
|
||||
$(package)_build_subdir=cctools
|
||||
ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),)
|
||||
$(package)_clang_version=8.0.0
|
||||
$(package)_clang_download_path=https://releases.llvm.org/$($(package)_clang_version)
|
||||
$(package)_clang_download_file=clang+llvm-$($(package)_clang_version)-x86_64-linux-gnu-ubuntu-14.04.tar.xz
|
||||
$(package)_clang_file_name=clang-llvm-$($(package)_clang_version)-x86_64-linux-gnu-ubuntu-14.04.tar.xz
|
||||
$(package)_clang_sha256_hash=9ef854b71949f825362a119bf2597f744836cb571131ae6b721cd102ffea8cd0
|
||||
endif
|
||||
|
||||
$(package)_libtapi_version=3efb201881e7a76a21e0554906cf306432539cef
|
||||
$(package)_libtapi_download_path=https://github.com/tpoechtrager/apple-libtapi/archive
|
||||
$(package)_libtapi_download_file=$($(package)_libtapi_version).tar.gz
|
||||
$(package)_libtapi_file_name=$($(package)_libtapi_version).tar.gz
|
||||
$(package)_libtapi_sha256_hash=380c1ca37cfa04a8699d0887a8d3ee1ad27f3d08baba78887c73b09485c0fbd3
|
||||
|
||||
$(package)_extra_sources=$($(package)_libtapi_file_name)
|
||||
ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),)
|
||||
$(package)_extra_sources += $($(package)_clang_file_name)
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),)
|
||||
define $(package)_fetch_cmds
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_clang_download_path),$($(package)_clang_download_file),$($(package)_clang_file_name),$($(package)_clang_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_libtapi_download_path),$($(package)_libtapi_download_file),$($(package)_libtapi_file_name),$($(package)_libtapi_sha256_hash))
|
||||
endef
|
||||
else
|
||||
define $(package)_fetch_cmds
|
||||
$(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \
|
||||
$(call fetch_file,$(package),$($(package)_libtapi_download_path),$($(package)_libtapi_download_file),$($(package)_libtapi_file_name),$($(package)_libtapi_sha256_hash))
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),)
|
||||
define $(package)_extract_cmds
|
||||
mkdir -p $($(package)_extract_dir) && \
|
||||
echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_clang_sha256_hash) $($(package)_source_dir)/$($(package)_clang_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_libtapi_sha256_hash) $($(package)_source_dir)/$($(package)_libtapi_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
$(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
mkdir -p toolchain/bin toolchain/lib/clang/$($(package)_clang_version)/include && \
|
||||
mkdir -p libtapi && \
|
||||
tar --no-same-owner --strip-components=1 -C libtapi -xf $($(package)_source_dir)/$($(package)_libtapi_file_name) && \
|
||||
tar --no-same-owner --strip-components=1 -C toolchain -xf $($(package)_source_dir)/$($(package)_clang_file_name) && \
|
||||
rm -f toolchain/lib/libc++abi.so* && \
|
||||
tar --no-same-owner --strip-components=1 -xf $($(package)_source)
|
||||
endef
|
||||
else
|
||||
define $(package)_extract_cmds
|
||||
mkdir -p $($(package)_extract_dir) && \
|
||||
echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
echo "$($(package)_libtapi_sha256_hash) $($(package)_source_dir)/$($(package)_libtapi_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
$(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \
|
||||
mkdir -p libtapi && \
|
||||
tar --no-same-owner --strip-components=1 -C libtapi -xf $($(package)_source_dir)/$($(package)_libtapi_file_name) && \
|
||||
tar --no-same-owner --strip-components=1 -xf $($(package)_source)
|
||||
endef
|
||||
endif
|
||||
$(package)_patches=ld64_disable_threading.patch
|
||||
$(package)_dependencies=native_libtapi
|
||||
|
||||
define $(package)_set_vars
|
||||
$(package)_config_opts=--target=$(host) --disable-lto-support --with-libtapi=$($(package)_extract_dir)
|
||||
$(package)_config_opts=--target=$(host)
|
||||
$(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib
|
||||
ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),)
|
||||
$(package)_cc=$($(package)_extract_dir)/toolchain/bin/clang
|
||||
$(package)_cxx=$($(package)_extract_dir)/toolchain/bin/clang++
|
||||
else
|
||||
$(package)_cc=clang
|
||||
$(package)_cxx=clang++
|
||||
$(package)_config_opts+=--enable-lto-support --with-llvm-config=$(build_prefix)/bin/llvm-config
|
||||
endif
|
||||
$(package)_cc=$(clang_prog)
|
||||
$(package)_cxx=$(clangxx_prog)
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
CC=$($(package)_cc) CXX=$($(package)_cxx) INSTALLPREFIX=$($(package)_extract_dir) ./libtapi/build.sh && \
|
||||
CC=$($(package)_cc) CXX=$($(package)_cxx) INSTALLPREFIX=$($(package)_extract_dir) ./libtapi/install.sh && \
|
||||
sed -i.old "/define HAVE_PTHREADS/d" $($(package)_build_subdir)/ld64/src/ld/InputFiles.h
|
||||
patch -p1 < $($(package)_patch_dir)/ld64_disable_threading.patch
|
||||
endef
|
||||
|
||||
define $(package)_config_cmds
|
||||
@ -88,26 +29,10 @@ define $(package)_build_cmds
|
||||
$(MAKE)
|
||||
endef
|
||||
|
||||
ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),)
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install && \
|
||||
mkdir -p $($(package)_staging_prefix_dir)/lib/ && \
|
||||
cd $($(package)_extract_dir) && \
|
||||
cp lib/libtapi.so.6 $($(package)_staging_prefix_dir)/lib/ && \
|
||||
cd $($(package)_extract_dir)/toolchain && \
|
||||
mkdir -p $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include && \
|
||||
mkdir -p $($(package)_staging_prefix_dir)/bin $($(package)_staging_prefix_dir)/include && \
|
||||
cp bin/clang $($(package)_staging_prefix_dir)/bin/ &&\
|
||||
cp -P bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\
|
||||
cp lib/libLTO.so $($(package)_staging_prefix_dir)/lib/ && \
|
||||
cp -rf lib/clang/$($(package)_clang_version)/include/* $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include/ && \
|
||||
cp bin/dsymutil $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install
|
||||
endef
|
||||
else
|
||||
define $(package)_stage_cmds
|
||||
$(MAKE) DESTDIR=$($(package)_staging_dir) install && \
|
||||
mkdir -p $($(package)_staging_prefix_dir)/lib/ && \
|
||||
cd $($(package)_extract_dir) && \
|
||||
cp lib/libtapi.so.6 $($(package)_staging_prefix_dir)/lib/
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rm -rf share
|
||||
endef
|
||||
endif
|
||||
|
26
depends/packages/native_clang.mk
Normal file
26
depends/packages/native_clang.mk
Normal file
@ -0,0 +1,26 @@
|
||||
package=native_clang
|
||||
$(package)_version=10.0.1
|
||||
$(package)_download_path=https://github.com/llvm/llvm-project/releases/download/llvmorg-$($(package)_version)
|
||||
$(package)_download_file=clang+llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-16.04.tar.xz
|
||||
$(package)_file_name=clang+llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-16.04.tar.xz
|
||||
$(package)_sha256_hash=48b83ef827ac2c213d5b64f5ad7ed082c8bcb712b46644e0dc5045c6f462c231
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
rm -f $($(package)_extract_dir)/lib/libc++abi.so*
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
mkdir -p $($(package)_staging_prefix_dir)/lib/clang/$($(package)_version)/include && \
|
||||
mkdir -p $($(package)_staging_prefix_dir)/bin && \
|
||||
mkdir -p $($(package)_staging_prefix_dir)/include && \
|
||||
cp bin/clang $($(package)_staging_prefix_dir)/bin/ && \
|
||||
cp -P bin/clang++ $($(package)_staging_prefix_dir)/bin/ && \
|
||||
cp bin/dsymutil $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \
|
||||
cp bin/llvm-config $($(package)_staging_prefix_dir)/bin/ && \
|
||||
cp lib/libLTO.so $($(package)_staging_prefix_dir)/lib/ && \
|
||||
cp -rf lib/clang/$($(package)_version)/include/* $($(package)_staging_prefix_dir)/lib/clang/$($(package)_version)/include/
|
||||
endef
|
||||
|
||||
define $(package)_postprocess_cmds
|
||||
rmdir include
|
||||
endef
|
20
depends/packages/native_libtapi.mk
Normal file
20
depends/packages/native_libtapi.mk
Normal file
@ -0,0 +1,20 @@
|
||||
package=native_libtapi
|
||||
$(package)_version=3efb201881e7a76a21e0554906cf306432539cef
|
||||
$(package)_download_path=https://github.com/tpoechtrager/apple-libtapi/archive
|
||||
$(package)_download_file=$($(package)_version).tar.gz
|
||||
$(package)_file_name=$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=380c1ca37cfa04a8699d0887a8d3ee1ad27f3d08baba78887c73b09485c0fbd3
|
||||
|
||||
ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),)
|
||||
$(package)_dependencies=native_clang
|
||||
endif
|
||||
|
||||
define $(package)_build_cmds
|
||||
CC=$(clang_prog) CXX=$(clangxx_prog) INSTALLPREFIX=$($(package)_staging_prefix_dir) ./build.sh
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
./install.sh && \
|
||||
mkdir -p $($(package)_staging_prefix_dir)/include/llvm-c && \
|
||||
cp src/llvm/include/llvm-c/lto.h $($(package)_staging_prefix_dir)/include/llvm-c
|
||||
endef
|
@ -17,5 +17,10 @@ darwin_native_packages = native_biplist native_ds_store native_mac_alias
|
||||
$(host_arch)_$(host_os)_native_packages += native_b2
|
||||
|
||||
ifneq ($(build_os),darwin)
|
||||
darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus
|
||||
darwin_native_packages += native_cctools native_cdrkit native_libtapi native_libdmg-hfsplus
|
||||
|
||||
ifeq ($(strip $(FORCE_USE_SYSTEM_CLANG)),)
|
||||
darwin_native_packages+= native_clang
|
||||
endif
|
||||
|
||||
endif
|
||||
|
@ -7,7 +7,11 @@ $(package)_sha256_hash=36dd9574f006eaa1e5af780e4b33d11fe39d09fd7c12f3b9d83294174
|
||||
$(package)_dependencies=openssl zlib
|
||||
$(package)_linux_dependencies=freetype fontconfig libxcb
|
||||
$(package)_qt_libs=corelib network widgets gui plugins testlib
|
||||
$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch fix_no_printer.patch fix_rcc_determinism.patch xkb-default.patch no-xlib.patch fix_limits_header.patch
|
||||
$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch fix_no_printer.patch
|
||||
$(package)_patches+= fix_rcc_determinism.patch xkb-default.patch no-xlib.patch
|
||||
$(package)_patches+= dont_hardcode_pwd.patch
|
||||
$(package)_patches+= freetype_back_compat.patch drop_lrelease_dependency.patch
|
||||
$(package)_patches+= fix_limits_header.patch
|
||||
|
||||
# Update OSX_QT_TRANSLATIONS when this is updated
|
||||
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
|
||||
@ -136,11 +140,10 @@ define $(package)_extract_cmds
|
||||
endef
|
||||
|
||||
define $(package)_preprocess_cmds
|
||||
sed -i.old "s|FT_Get_Font_Format|FT_Get_X11_Font_Format|" qtbase/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp && \
|
||||
patch -p1 -i $($(package)_patch_dir)/freetype_back_compat.patch && \
|
||||
sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
|
||||
sed -i.old "/updateqm.depends =/d" qttranslations/translations/translations.pro && \
|
||||
sed -i.old "s/src_plugins.depends = src_sql src_network/src_plugins.depends = src_network/" qtbase/src/src.pro && \
|
||||
sed -i.old -e 's/if \[ "$$$$XPLATFORM_MAC" = "yes" \]; then xspecvals=$$$$(macSDKify/if \[ "$$$$BUILD_ON_MAC" = "yes" \]; then xspecvals=$$$$(macSDKify/' -e 's|/bin/pwd|pwd|' qtbase/configure && \
|
||||
patch -p1 -i $($(package)_patch_dir)/drop_lrelease_dependency.patch && \
|
||||
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch &&\
|
||||
mkdir -p qtbase/mkspecs/macx-clang-linux &&\
|
||||
cp -f qtbase/mkspecs/macx-clang/Info.plist.lib qtbase/mkspecs/macx-clang-linux/ &&\
|
||||
cp -f qtbase/mkspecs/macx-clang/Info.plist.app qtbase/mkspecs/macx-clang-linux/ &&\
|
||||
|
147
depends/patches/bdb/clang_cxx_11.patch
Normal file
147
depends/patches/bdb/clang_cxx_11.patch
Normal file
@ -0,0 +1,147 @@
|
||||
commit 3311d68f11d1697565401eee6efc85c34f022ea7
|
||||
Author: fanquake <fanquake@gmail.com>
|
||||
Date: Mon Aug 17 20:03:56 2020 +0800
|
||||
|
||||
Fix C++11 compatibility
|
||||
|
||||
diff --git a/dbinc/atomic.h b/dbinc/atomic.h
|
||||
index 0034dcc..7c11d4a 100644
|
||||
--- a/dbinc/atomic.h
|
||||
+++ b/dbinc/atomic.h
|
||||
@@ -70,7 +70,7 @@ typedef struct {
|
||||
* These have no memory barriers; the caller must include them when necessary.
|
||||
*/
|
||||
#define atomic_read(p) ((p)->value)
|
||||
-#define atomic_init(p, val) ((p)->value = (val))
|
||||
+#define atomic_init_db(p, val) ((p)->value = (val))
|
||||
|
||||
#ifdef HAVE_ATOMIC_SUPPORT
|
||||
|
||||
@@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val;
|
||||
#define atomic_inc(env, p) __atomic_inc(p)
|
||||
#define atomic_dec(env, p) __atomic_dec(p)
|
||||
#define atomic_compare_exchange(env, p, o, n) \
|
||||
- __atomic_compare_exchange((p), (o), (n))
|
||||
+ __atomic_compare_exchange_db((p), (o), (n))
|
||||
static inline int __atomic_inc(db_atomic_t *p)
|
||||
{
|
||||
int temp;
|
||||
@@ -176,7 +176,7 @@ static inline int __atomic_dec(db_atomic_t *p)
|
||||
* http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
|
||||
* which configure could be changed to use.
|
||||
*/
|
||||
-static inline int __atomic_compare_exchange(
|
||||
+static inline int __atomic_compare_exchange_db(
|
||||
db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
|
||||
{
|
||||
atomic_value_t was;
|
||||
@@ -206,7 +206,7 @@ static inline int __atomic_compare_exchange(
|
||||
#define atomic_dec(env, p) (--(p)->value)
|
||||
#define atomic_compare_exchange(env, p, oldval, newval) \
|
||||
(DB_ASSERT(env, atomic_read(p) == (oldval)), \
|
||||
- atomic_init(p, (newval)), 1)
|
||||
+ atomic_init_db(p, (newval)), 1)
|
||||
#else
|
||||
#define atomic_inc(env, p) __atomic_inc(env, p)
|
||||
#define atomic_dec(env, p) __atomic_dec(env, p)
|
||||
diff --git a/mp/mp_fget.c b/mp/mp_fget.c
|
||||
index 5fdee5a..0b75f57 100644
|
||||
--- a/mp/mp_fget.c
|
||||
+++ b/mp/mp_fget.c
|
||||
@@ -617,7 +617,7 @@ alloc: /* Allocate a new buffer header and data space. */
|
||||
|
||||
/* Initialize enough so we can call __memp_bhfree. */
|
||||
alloc_bhp->flags = 0;
|
||||
- atomic_init(&alloc_bhp->ref, 1);
|
||||
+ atomic_init_db(&alloc_bhp->ref, 1);
|
||||
#ifdef DIAGNOSTIC
|
||||
if ((uintptr_t)alloc_bhp->buf & (sizeof(size_t) - 1)) {
|
||||
__db_errx(env,
|
||||
@@ -911,7 +911,7 @@ alloc: /* Allocate a new buffer header and data space. */
|
||||
MVCC_MPROTECT(bhp->buf, mfp->stat.st_pagesize,
|
||||
PROT_READ);
|
||||
|
||||
- atomic_init(&alloc_bhp->ref, 1);
|
||||
+ atomic_init_db(&alloc_bhp->ref, 1);
|
||||
MUTEX_LOCK(env, alloc_bhp->mtx_buf);
|
||||
alloc_bhp->priority = bhp->priority;
|
||||
alloc_bhp->pgno = bhp->pgno;
|
||||
diff --git a/mp/mp_mvcc.c b/mp/mp_mvcc.c
|
||||
index 34467d2..f05aa0c 100644
|
||||
--- a/mp/mp_mvcc.c
|
||||
+++ b/mp/mp_mvcc.c
|
||||
@@ -276,7 +276,7 @@ __memp_bh_freeze(dbmp, infop, hp, bhp, need_frozenp)
|
||||
#else
|
||||
memcpy(frozen_bhp, bhp, SSZA(BH, buf));
|
||||
#endif
|
||||
- atomic_init(&frozen_bhp->ref, 0);
|
||||
+ atomic_init_db(&frozen_bhp->ref, 0);
|
||||
if (mutex != MUTEX_INVALID)
|
||||
frozen_bhp->mtx_buf = mutex;
|
||||
else if ((ret = __mutex_alloc(env, MTX_MPOOL_BH,
|
||||
@@ -428,7 +428,7 @@ __memp_bh_thaw(dbmp, infop, hp, frozen_bhp, alloc_bhp)
|
||||
#endif
|
||||
alloc_bhp->mtx_buf = mutex;
|
||||
MUTEX_LOCK(env, alloc_bhp->mtx_buf);
|
||||
- atomic_init(&alloc_bhp->ref, 1);
|
||||
+ atomic_init_db(&alloc_bhp->ref, 1);
|
||||
F_CLR(alloc_bhp, BH_FROZEN);
|
||||
}
|
||||
|
||||
diff --git a/mp/mp_region.c b/mp/mp_region.c
|
||||
index e6cece9..ddbe906 100644
|
||||
--- a/mp/mp_region.c
|
||||
+++ b/mp/mp_region.c
|
||||
@@ -224,7 +224,7 @@ __memp_init(env, dbmp, reginfo_off, htab_buckets, max_nreg)
|
||||
MTX_MPOOL_FILE_BUCKET, 0, &htab[i].mtx_hash)) != 0)
|
||||
return (ret);
|
||||
SH_TAILQ_INIT(&htab[i].hash_bucket);
|
||||
- atomic_init(&htab[i].hash_page_dirty, 0);
|
||||
+ atomic_init_db(&htab[i].hash_page_dirty, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -269,7 +269,7 @@ __memp_init(env, dbmp, reginfo_off, htab_buckets, max_nreg)
|
||||
hp->mtx_hash = (mtx_base == MUTEX_INVALID) ? MUTEX_INVALID :
|
||||
mtx_base + i;
|
||||
SH_TAILQ_INIT(&hp->hash_bucket);
|
||||
- atomic_init(&hp->hash_page_dirty, 0);
|
||||
+ atomic_init_db(&hp->hash_page_dirty, 0);
|
||||
#ifdef HAVE_STATISTICS
|
||||
hp->hash_io_wait = 0;
|
||||
hp->hash_frozen = hp->hash_thawed = hp->hash_frozen_freed = 0;
|
||||
diff --git a/mutex/mut_method.c b/mutex/mut_method.c
|
||||
index 2588763..5c6d516 100644
|
||||
--- a/mutex/mut_method.c
|
||||
+++ b/mutex/mut_method.c
|
||||
@@ -426,7 +426,7 @@ atomic_compare_exchange(env, v, oldval, newval)
|
||||
MUTEX_LOCK(env, mtx);
|
||||
ret = atomic_read(v) == oldval;
|
||||
if (ret)
|
||||
- atomic_init(v, newval);
|
||||
+ atomic_init_db(v, newval);
|
||||
MUTEX_UNLOCK(env, mtx);
|
||||
|
||||
return (ret);
|
||||
diff --git a/mutex/mut_tas.c b/mutex/mut_tas.c
|
||||
index f3922e0..e40fcdf 100644
|
||||
--- a/mutex/mut_tas.c
|
||||
+++ b/mutex/mut_tas.c
|
||||
@@ -46,7 +46,7 @@ __db_tas_mutex_init(env, mutex, flags)
|
||||
|
||||
#ifdef HAVE_SHARED_LATCHES
|
||||
if (F_ISSET(mutexp, DB_MUTEX_SHARED))
|
||||
- atomic_init(&mutexp->sharecount, 0);
|
||||
+ atomic_init_db(&mutexp->sharecount, 0);
|
||||
else
|
||||
#endif
|
||||
if (MUTEX_INIT(&mutexp->tas)) {
|
||||
@@ -486,7 +486,7 @@ __db_tas_mutex_unlock(env, mutex)
|
||||
F_CLR(mutexp, DB_MUTEX_LOCKED);
|
||||
/* Flush flag update before zeroing count */
|
||||
MEMBAR_EXIT();
|
||||
- atomic_init(&mutexp->sharecount, 0);
|
||||
+ atomic_init_db(&mutexp->sharecount, 0);
|
||||
} else {
|
||||
DB_ASSERT(env, sharecount > 0);
|
||||
MEMBAR_EXIT();
|
24
depends/patches/fontconfig/gperf_header_regen.patch
Normal file
24
depends/patches/fontconfig/gperf_header_regen.patch
Normal file
@ -0,0 +1,24 @@
|
||||
commit 7b6eb33ecd88768b28c67ce5d2d68a7eed5936b6
|
||||
Author: fanquake <fanquake@gmail.com>
|
||||
Date: Tue Aug 25 14:34:53 2020 +0800
|
||||
|
||||
Remove rule that causes inadvertant header regeneration
|
||||
|
||||
Otherwise the makefile will needlessly attempt to re-generate the
|
||||
headers with gperf. This can be dropped once the upstream build is fixed.
|
||||
|
||||
See #10851.
|
||||
|
||||
diff --git a/src/Makefile.in b/src/Makefile.in
|
||||
index f4626ad..4ae1b00 100644
|
||||
--- a/src/Makefile.in
|
||||
+++ b/src/Makefile.in
|
||||
@@ -903,7 +903,7 @@ fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h
|
||||
' - > $@.tmp && \
|
||||
mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
|
||||
|
||||
-fcobjshash.h: fcobjshash.gperf
|
||||
+fcobjshash.h:
|
||||
$(AM_V_GEN) $(GPERF) -m 100 $< > $@.tmp && \
|
||||
mv -f $@.tmp $@ || ( $(RM) $@.tmp && false )
|
||||
|
62
depends/patches/fontconfig/remove_char_width_usage.patch
Normal file
62
depends/patches/fontconfig/remove_char_width_usage.patch
Normal file
@ -0,0 +1,62 @@
|
||||
commit 28165a9b078583dc8e9e5c344510e37582284cef
|
||||
Author: fanquake <fanquake@gmail.com>
|
||||
Date: Mon Aug 17 20:35:42 2020 +0800
|
||||
|
||||
Remove usage of CHAR_WIDTH
|
||||
|
||||
CHAR_WIDTH which is reserved and clashes with glibc 2.25+
|
||||
|
||||
See #10851.
|
||||
|
||||
diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h
|
||||
index 5c72b22..843c532 100644
|
||||
--- a/fontconfig/fontconfig.h
|
||||
+++ b/fontconfig/fontconfig.h
|
||||
@@ -128,7 +128,7 @@ typedef int FcBool;
|
||||
#define FC_USER_CACHE_FILE ".fonts.cache-" FC_CACHE_VERSION
|
||||
|
||||
/* Adjust outline rasterizer */
|
||||
-#define FC_CHAR_WIDTH "charwidth" /* Int */
|
||||
+#define FC_CHARWIDTH "charwidth" /* Int */
|
||||
#define FC_CHAR_HEIGHT "charheight"/* Int */
|
||||
#define FC_MATRIX "matrix" /* FcMatrix */
|
||||
|
||||
diff --git a/src/fcobjs.h b/src/fcobjs.h
|
||||
index 1fc4f65..d27864b 100644
|
||||
--- a/src/fcobjs.h
|
||||
+++ b/src/fcobjs.h
|
||||
@@ -51,7 +51,7 @@ FC_OBJECT (DPI, FcTypeDouble, NULL)
|
||||
FC_OBJECT (RGBA, FcTypeInteger, NULL)
|
||||
FC_OBJECT (SCALE, FcTypeDouble, NULL)
|
||||
FC_OBJECT (MINSPACE, FcTypeBool, NULL)
|
||||
-FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL)
|
||||
+FC_OBJECT (CHARWIDTH, FcTypeInteger, NULL)
|
||||
FC_OBJECT (CHAR_HEIGHT, FcTypeInteger, NULL)
|
||||
FC_OBJECT (MATRIX, FcTypeMatrix, NULL)
|
||||
FC_OBJECT (CHARSET, FcTypeCharSet, FcCompareCharSet)
|
||||
diff --git a/src/fcobjshash.gperf b/src/fcobjshash.gperf
|
||||
index 80a0237..eb4ad84 100644
|
||||
--- a/src/fcobjshash.gperf
|
||||
+++ b/src/fcobjshash.gperf
|
||||
@@ -44,7 +44,7 @@ int id;
|
||||
"rgba",FC_RGBA_OBJECT
|
||||
"scale",FC_SCALE_OBJECT
|
||||
"minspace",FC_MINSPACE_OBJECT
|
||||
-"charwidth",FC_CHAR_WIDTH_OBJECT
|
||||
+"charwidth",FC_CHARWIDTH_OBJECT
|
||||
"charheight",FC_CHAR_HEIGHT_OBJECT
|
||||
"matrix",FC_MATRIX_OBJECT
|
||||
"charset",FC_CHARSET_OBJECT
|
||||
diff --git a/src/fcobjshash.h b/src/fcobjshash.h
|
||||
index 5a4d1ea..4e66bb0 100644
|
||||
--- a/src/fcobjshash.h
|
||||
+++ b/src/fcobjshash.h
|
||||
@@ -284,7 +284,7 @@ FcObjectTypeLookup (register const char *str, register unsigned int len)
|
||||
{(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT},
|
||||
{-1},
|
||||
#line 47 "fcobjshash.gperf"
|
||||
- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT},
|
||||
+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHARWIDTH_OBJECT},
|
||||
#line 48 "fcobjshash.gperf"
|
||||
{(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT},
|
||||
#line 55 "fcobjshash.gperf"
|
26
depends/patches/miniupnpc/dont_use_wingen.patch
Normal file
26
depends/patches/miniupnpc/dont_use_wingen.patch
Normal file
@ -0,0 +1,26 @@
|
||||
commit e8077044df239bcf0d9e9980b0e1afb9f1f5c446
|
||||
Author: fanquake <fanquake@gmail.com>
|
||||
Date: Tue Aug 18 20:50:19 2020 +0800
|
||||
|
||||
Don't use wingenminiupnpcstrings when generating miniupnpcstrings.h
|
||||
|
||||
The wingenminiupnpcstrings tool is used on Windows to generate version
|
||||
information. This information is irrelevant for us, and trying to use
|
||||
wingenminiupnpcstrings would cause builds to fail, so just don't use it.
|
||||
|
||||
We should be able to drop this once we are using 2.1 or later. See
|
||||
upstream commit: 9663c55c61408fdcc39a82987d2243f816b22932.
|
||||
|
||||
diff --git a/Makefile.mingw b/Makefile.mingw
|
||||
index 574720e..fcc17bb 100644
|
||||
--- a/Makefile.mingw
|
||||
+++ b/Makefile.mingw
|
||||
@@ -74,7 +74,7 @@ wingenminiupnpcstrings: wingenminiupnpcstrings.o
|
||||
|
||||
wingenminiupnpcstrings.o: wingenminiupnpcstrings.c
|
||||
|
||||
-miniupnpcstrings.h: miniupnpcstrings.h.in wingenminiupnpcstrings
|
||||
+miniupnpcstrings.h: miniupnpcstrings.h.in
|
||||
wingenminiupnpcstrings $< $@
|
||||
|
||||
minixml.o: minixml.c minixml.h
|
26
depends/patches/native_cctools/ld64_disable_threading.patch
Normal file
26
depends/patches/native_cctools/ld64_disable_threading.patch
Normal file
@ -0,0 +1,26 @@
|
||||
commit 584668415039adeed073decee7e04de28248afd3
|
||||
Author: fanquake <fanquake@gmail.com>
|
||||
Date: Tue Aug 18 01:20:24 2020 +0000
|
||||
|
||||
Disable threading to fix non-determinism
|
||||
|
||||
A bug in the file parser can cause dependencies to be calculated
|
||||
differently based on which files have already been parsed. This is more
|
||||
likely to occur on systems with more CPUs.
|
||||
|
||||
Just disable threading for now. There is no noticable slowdown.
|
||||
|
||||
See #9891.
|
||||
|
||||
diff --git a/cctools/ld64/src/ld/InputFiles.h b/cctools/ld64/src/ld/InputFiles.h
|
||||
index ef9c756..90a70b6 100644
|
||||
--- a/cctools/ld64/src/ld/InputFiles.h
|
||||
+++ b/cctools/ld64/src/ld/InputFiles.h
|
||||
@@ -25,7 +25,6 @@
|
||||
#ifndef __INPUT_FILES_H__
|
||||
#define __INPUT_FILES_H__
|
||||
|
||||
-#define HAVE_PTHREADS 1
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <sys/types.h>
|
27
depends/patches/qt/dont_hardcode_pwd.patch
Normal file
27
depends/patches/qt/dont_hardcode_pwd.patch
Normal file
@ -0,0 +1,27 @@
|
||||
commit 0e953866fc4672486e29e1ba6d83b4207e7b2f0b
|
||||
Author: fanquake <fanquake@gmail.com>
|
||||
Date: Tue Aug 18 15:09:06 2020 +0800
|
||||
|
||||
Don't hardcode pwd path
|
||||
|
||||
Let a man use his builtins if he wants to! Also, removes the unnecessary
|
||||
assumption that pwd lives under /bin/pwd.
|
||||
|
||||
See #15581.
|
||||
|
||||
diff --git a/qtbase/configure b/qtbase/configure
|
||||
index 08b49a8d..faea5b55 100755
|
||||
--- a/qtbase/configure
|
||||
+++ b/qtbase/configure
|
||||
@@ -36,9 +36,9 @@
|
||||
relconf=`basename $0`
|
||||
# the directory of this script is the "source tree"
|
||||
relpath=`dirname $0`
|
||||
-relpath=`(cd "$relpath"; /bin/pwd)`
|
||||
+relpath=`(cd "$relpath"; pwd)`
|
||||
# the current directory is the "build tree" or "object tree"
|
||||
-outpath=`/bin/pwd`
|
||||
+outpath=`pwd`
|
||||
|
||||
WHICH="which"
|
||||
|
20
depends/patches/qt/drop_lrelease_dependency.patch
Normal file
20
depends/patches/qt/drop_lrelease_dependency.patch
Normal file
@ -0,0 +1,20 @@
|
||||
commit 67b3ed7406e1d0762188dbad2c44a06824ba0778
|
||||
Author: fanquake <fanquake@gmail.com>
|
||||
Date: Tue Aug 18 15:24:01 2020 +0800
|
||||
|
||||
Drop dependency on lrelease
|
||||
|
||||
Qts buildsystem insists on using the installed lrelease, but gets
|
||||
confused about how to find it. Since we manually control the build
|
||||
order, just drop the dependency.
|
||||
|
||||
See #9469
|
||||
|
||||
diff --git a/qttranslations/translations/translations.pro b/qttranslations/translations/translations.pro
|
||||
index 694544c..eff339d 100644
|
||||
--- a/qttranslations/translations/translations.pro
|
||||
+++ b/qttranslations/translations/translations.pro
|
||||
@@ -109,3 +109,2 @@ updateqm.commands = $$LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT}
|
||||
silent:updateqm.commands = @echo lrelease ${QMAKE_FILE_IN} && $$updateqm.commands
|
||||
-updateqm.depends = $$LRELEASE_EXE
|
||||
updateqm.name = LRELEASE ${QMAKE_FILE_IN}
|
28
depends/patches/qt/freetype_back_compat.patch
Normal file
28
depends/patches/qt/freetype_back_compat.patch
Normal file
@ -0,0 +1,28 @@
|
||||
commit 14bc77db61bf9d56f9b6c8b84aa02573605c19c6
|
||||
Author: fanquake <fanquake@gmail.com>
|
||||
Date: Tue Aug 18 15:15:08 2020 +0800
|
||||
|
||||
Fix backwards compatibility with older Freetype versions at runtime
|
||||
|
||||
A few years ago, libfreetype introduced FT_Get_Font_Format() as an alias
|
||||
for FT_Get_X11_Font_Format(), but FT_Get_X11_Font_Format() was kept for abi
|
||||
backwards-compatibility.
|
||||
|
||||
Qt 5.9 introduced a call to FT_Get_Font_Format(). Replace it with FT_Get_X11_Font_Format()
|
||||
in order to remain compatibile with older freetype, which is still used by e.g. Ubuntu Trusty.
|
||||
|
||||
See #14348.
|
||||
|
||||
diff --git a/qtbase/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp b/qtbase/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp
|
||||
index 3f543755..8ecc1c8c 100644
|
||||
--- a/qtbase/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp
|
||||
+++ b/qtbase/src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp
|
||||
@@ -898,7 +898,7 @@ bool QFontEngineFT::init(FaceId faceId, bool antialias, GlyphFormat format,
|
||||
}
|
||||
}
|
||||
#if defined(FT_FONT_FORMATS_H)
|
||||
- const char *fmt = FT_Get_Font_Format(face);
|
||||
+ const char *fmt = FT_Get_X11_Font_Format(face);
|
||||
if (fmt && qstrncmp(fmt, "CFF", 4) == 0) {
|
||||
FT_Bool no_stem_darkening = true;
|
||||
FT_Error err = FT_Property_Get(qt_getFreetype(), "cff", "no-stem-darkening", &no_stem_darkening);
|
Loading…
Reference in New Issue
Block a user