mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 14:59:39 -04:00
guix: Adjust for Qt 6
1. Do not set `C{PLUS}_INCLUDE_PATH` variables The build system for Qt 6 differs entirely from that of Qt 5. Building a set of native Qt 6 tools now forms a separate step when cross-compiling. Under these new circumstances, the `C{PLUS}_INCLUDE_PATH` environment variables may alter the default include directories for both native and cross compilers. Previously, we explicitly unset these variables when invoking clang for cross-compiling; however, that approach proved suboptimal (see #30451). This change sets the native toolchain for dependencies explicitly, rather than relying on the `C{PLUS}_INCLUDE_PATH` environment variables. Additionally, it facilitates the transition towards using clang for building native tools when cross-compiling for macOS. 2. Add `ninja` package. 3. Adjust allowed symbol lists.
This commit is contained in:
parent
c3e9bd086c
commit
551e13abf8
3 changed files with 22 additions and 5 deletions
|
@ -112,6 +112,7 @@ ELF_ALLOWED_LIBRARIES = {
|
|||
'libfontconfig.so.1', # font support
|
||||
'libfreetype.so.6', # font parsing
|
||||
'libdl.so.2', # programming interface to dynamic linker
|
||||
'libxcb-cursor.so.0',
|
||||
'libxcb-icccm.so.4',
|
||||
'libxcb-image.so.0',
|
||||
'libxcb-shm.so.0',
|
||||
|
@ -146,8 +147,9 @@ MACHO_ALLOWED_LIBRARIES = {
|
|||
'IOSurface', # cross process image/drawing buffers
|
||||
'libobjc.A.dylib', # Objective-C runtime library
|
||||
'Metal', # 3D graphics
|
||||
'Security', # access control and authentication
|
||||
'QuartzCore', # animation
|
||||
'Security', # access control and authentication
|
||||
'UniformTypeIdentifiers', # collection of types that map to MIME and file types
|
||||
}
|
||||
|
||||
PE_ALLOWED_LIBRARIES = {
|
||||
|
@ -158,7 +160,17 @@ PE_ALLOWED_LIBRARIES = {
|
|||
'SHELL32.dll', # shell API
|
||||
'WS2_32.dll', # sockets
|
||||
# bitcoin-qt only
|
||||
'api-ms-win-core-synch-l1-2-0.dll', # Synchronization Primitives API
|
||||
'api-ms-win-core-winrt-l1-1-0.dll', # Windows Runtime API
|
||||
'api-ms-win-core-winrt-string-l1-1-0.dll', # WinRT String API
|
||||
'AUTHZ.dll', # Windows Authorization Framework
|
||||
'comdlg32.dll', # Common Dialog Box Library
|
||||
'd3d11.dll', # Direct3D 11 API
|
||||
'd3d12.dll', # Direct3D 12 API
|
||||
'd3d9.dll', # Direct3D 9 API
|
||||
'dwmapi.dll', # desktop window manager
|
||||
'DWrite.dll', # DirectX Typography Services
|
||||
'dxgi.dll', # DirectX Graphics Infrastructure
|
||||
'GDI32.dll', # graphics device interface
|
||||
'IMM32.dll', # input method editor
|
||||
'NETAPI32.dll', # network management
|
||||
|
@ -171,6 +183,8 @@ PE_ALLOWED_LIBRARIES = {
|
|||
'VERSION.dll', # version checking
|
||||
'WINMM.dll', # WinMM audio API
|
||||
'WTSAPI32.dll', # Remote Desktop
|
||||
'SETUPAPI.dll', # Windows Setup API
|
||||
'SHCORE.dll', # Stream Handler Core
|
||||
}
|
||||
|
||||
def check_version(max_versions, version, arch) -> bool:
|
||||
|
|
|
@ -69,8 +69,9 @@ unset CPLUS_INCLUDE_PATH
|
|||
unset OBJC_INCLUDE_PATH
|
||||
unset OBJCPLUS_INCLUDE_PATH
|
||||
|
||||
export C_INCLUDE_PATH="${NATIVE_GCC}/include"
|
||||
export CPLUS_INCLUDE_PATH="${NATIVE_GCC}/include/c++:${NATIVE_GCC}/include"
|
||||
# Set native toolchain
|
||||
build_CC="${NATIVE_GCC}/bin/gcc -isystem ${NATIVE_GCC}/include"
|
||||
build_CXX="${NATIVE_GCC}/bin/g++ -isystem ${NATIVE_GCC}/include/c++ -isystem ${NATIVE_GCC}/include"
|
||||
|
||||
case "$HOST" in
|
||||
*darwin*) export LIBRARY_PATH="${NATIVE_GCC}/lib" ;; # Required for qt/qmake
|
||||
|
@ -171,6 +172,8 @@ make -C depends --jobs="$JOBS" HOST="$HOST" \
|
|||
${SOURCES_PATH+SOURCES_PATH="$SOURCES_PATH"} \
|
||||
${BASE_CACHE+BASE_CACHE="$BASE_CACHE"} \
|
||||
${SDK_PATH+SDK_PATH="$SDK_PATH"} \
|
||||
${build_CC+build_CC="$build_CC"} \
|
||||
${build_CXX+build_CXX="$build_CXX"} \
|
||||
x86_64_linux_CC=x86_64-linux-gnu-gcc \
|
||||
x86_64_linux_CXX=x86_64-linux-gnu-g++ \
|
||||
x86_64_linux_AR=x86_64-linux-gnu-gcc-ar \
|
||||
|
@ -181,8 +184,6 @@ make -C depends --jobs="$JOBS" HOST="$HOST" \
|
|||
case "$HOST" in
|
||||
*darwin*)
|
||||
# Unset now that Qt is built
|
||||
unset C_INCLUDE_PATH
|
||||
unset CPLUS_INCLUDE_PATH
|
||||
unset LIBRARY_PATH
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
((gnu packages linux) #:select (linux-libre-headers-6.1))
|
||||
(gnu packages llvm)
|
||||
(gnu packages mingw)
|
||||
(gnu packages ninja)
|
||||
(gnu packages pkg-config)
|
||||
((gnu packages python) #:select (python-minimal))
|
||||
((gnu packages python-build) #:select (python-tomli python-poetry-core))
|
||||
|
@ -547,6 +548,7 @@ inspecting signatures in Mach-O binaries.")
|
|||
gcc-toolchain-13
|
||||
cmake-minimal
|
||||
gnu-make
|
||||
ninja
|
||||
;; Scripting
|
||||
python-minimal ;; (3.10)
|
||||
;; Git
|
||||
|
|
Loading…
Add table
Reference in a new issue