]> Nutra Git (v2) - gamesguru/feather.git/commitdiff
guix: use llvm17 toolchain for macos
authortobtoht <tob@featherwallet.org>
Sat, 2 Nov 2024 16:33:59 +0000 (17:33 +0100)
committertobtoht <tob@featherwallet.org>
Sat, 2 Nov 2024 17:55:52 +0000 (18:55 +0100)
26 files changed:
contrib/depends/hosts/darwin.mk
contrib/depends/packages/boost.mk
contrib/depends/packages/darwin_sdk.mk
contrib/depends/packages/libgcrypt.mk
contrib/depends/packages/libgpg-error.mk
contrib/depends/packages/libusb.mk
contrib/depends/packages/native_cctools.mk [deleted file]
contrib/depends/packages/native_libtapi.mk [deleted file]
contrib/depends/packages/openssl.mk
contrib/depends/packages/packages.mk
contrib/depends/packages/qt.mk
contrib/depends/packages/zlib.mk
contrib/depends/patches/boost/filesystem_macos_sdk.patch [new file with mode: 0644]
contrib/depends/patches/libgcrypt/no-programs.patch [new file with mode: 0644]
contrib/depends/patches/libgpg-error/no-programs.patch [new file with mode: 0644]
contrib/depends/patches/libusb/fix-c11-check.patch [new file with mode: 0644]
contrib/depends/patches/native_cctools/no-build-date.patch [deleted file]
contrib/depends/patches/native_libtapi/no_embed_git_rev.patch [deleted file]
contrib/depends/patches/qt/macos-available-qtbase.patch [new file with mode: 0644]
contrib/depends/patches/qt/macos-available-qtmultimedia.patch [new file with mode: 0644]
contrib/depends/patches/qt/toolchain.cmake
contrib/depends/toolchain.cmake.in
contrib/guix/libexec/build.sh
contrib/guix/manifest.scm
contrib/macdeploy/Info.plist.in
src/CMakeLists.txt

index ff1514a71634214d612855f66c2c716334887434..7517dcc58921ad99268d9fcdb950a54449d87654 100644 (file)
@@ -1,36 +1,27 @@
-OSX_MIN_VERSION=10.14
+OSX_MIN_VERSION=11.0
 OSX_SDK_VERSION=11.0
 XCODE_VERSION=12.2
 XCODE_BUILD_ID=12B45b
-LD64_VERSION=609
+LD64_VERSION=711
 
 OSX_SDK=$(host_prefix)/native/SDK
 
-darwin_native_binutils=native_cctools
-
 darwin_native_toolchain=darwin_sdk
 
-# We can't just use $(shell command -v clang) because GNU Make handles builtins
-# in a special way and doesn't know that `command` is a POSIX-standard builtin
-# prior to 1af314465e5dfe3e8baa839a32a72e83c04f26ef, first released in v4.2.90.
-# At the time of writing, GNU Make v4.2.1 is still being used in supported
-# distro releases.
-#
-# Source: https://lists.gnu.org/archive/html/bug-make/2017-11/msg00017.html
-clang_prog=$(shell $(SHELL) $(.SHELLFLAGS) "command -v clang")
-clangxx_prog=$(shell $(SHELL) $(.SHELLFLAGS) "command -v clang++")
-
-clang_resource_dir=$(shell clang -print-resource-dir)
 
-cctools_TOOLS=AR RANLIB STRIP NM LIBTOOL OTOOL INSTALL_NAME_TOOL DSYMUTIL
+clang_prog=clang
+clangxx_prog=clang++
+llvm_config_prog=llvm-config
 
-# Make-only lowercase function
-lc = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$1))))))))))))))))))))))))))
+llvm_lib_dir=$(shell $(llvm_config_prog) --libdir)
 
-# For well-known tools provided by cctools, make sure that their well-known
-# variable is set to the full path of the tool, just like how AC_PATH_{TOO,PROG}
-# would.
-$(foreach TOOL,$(cctools_TOOLS),$(eval darwin_$(TOOL) = $$(build_prefix)/bin/$$(host)-$(call lc,$(TOOL))))
+darwin_AR=llvm-ar
+darwin_DSYMUTIL=dsymutil
+darwin_NM=llvm-nm
+darwin_OBJDUMP=llvm-objdump
+darwin_RANLIB=llvm-ranlib
+darwin_STRIP=llvm-strip
+darwin_LIBTOOL=llvm-libtool-darwin
 
 # Flag explanations:
 #
@@ -55,9 +46,7 @@ $(foreach TOOL,$(cctools_TOOLS),$(eval darwin_$(TOOL) = $$(build_prefix)/bin/$$(
 #         Adds the desired paths from the SDK
 #
 
-darwin_CC_=--target=$(host) -mmacosx-version-min=$(OSX_MIN_VERSION) \
-           -B$(build_prefix)/bin -mlinker-version=$(LD64_VERSION) \
-           -isysroot$(OSX_SDK) \
+darwin_CC_=--target=$(host) \
            -isysroot$(OSX_SDK) -nostdlibinc \
            -iwithsysroot/usr/include -iframeworkwithsysroot/System/Library/Frameworks
 darwin_CC=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
@@ -65,18 +54,18 @@ darwin_CC=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
               -u LIBRARY_PATH \
             $(clang_prog) $(darwin_CC_)
 
-darwin_CXX_=--target=$(host) -mmacosx-version-min=$(OSX_MIN_VERSION) \
-            -B$(build_prefix)/bin -mlinker-version=$(LD64_VERSION) \
-            -isysroot$(OSX_SDK) -nostdlibinc \
-            -iwithsysroot/usr/include/c++/v1 \
-            -iwithsysroot/usr/include -iframeworkwithsysroot/System/Library/Frameworks
+darwin_CXX_=--target=$(host) \
+                   -isysroot$(OSX_SDK) -nostdlibinc \
+                   -iwithsysroot/usr/include/c++/v1 \
+                   -iwithsysroot/usr/include -iframeworkwithsysroot/System/Library/Frameworks
 darwin_CXX=env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH \
                -u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH \
                -u LIBRARY_PATH \
              $(clangxx_prog) $(darwin_CXX_)
 
-darwin_CFLAGS=-pipe
-darwin_CXXFLAGS=-pipe -std=$(CXX_STANDARD)
+darwin_CFLAGS=-pipe -mmacosx-version-min=$(OSX_MIN_VERSION) -mlinker-version=$(LD64_VERSION)
+darwin_CXXFLAGS=-pipe -mmacosx-version-min=$(OSX_MIN_VERSION) -mlinker-version=$(LD64_VERSION)
+darwin_LDFLAGS=-Wl,-platform_version,macos,$(OSX_MIN_VERSION),$(OSX_SDK_VERSION) -fuse-ld=lld
 darwin_ARFLAGS=cr
 
 darwin_release_CFLAGS=-O2
index 5e08c3096149047618f35ab30f2e609aa5f09041..b6b97112d21d12b7125b6a85cdeb565fd22c8100 100644 (file)
@@ -3,7 +3,7 @@ $(package)_version=1.85.0
 $(package)_download_path=https://boostorg.jfrog.io/artifactory/main/release/$($(package)_version)/source/
 $(package)_file_name=$(package)_$(subst .,_,$($(package)_version)).tar.gz
 $(package)_sha256_hash=be0d91732d5b0cc6fbb275c7939974457e79b54d6f07ce2e3dfdd68bef883b0b
-$(package)_patches=disable_addr2line.patch
+$(package)_patches=disable_addr2line.patch filesystem_macos_sdk.patch
 
 define $(package)_set_vars
 $(package)_config_opts=variant=release
@@ -29,6 +29,7 @@ endef
 
 define $(package)_preprocess_cmds
   patch -p1 -i $($(package)_patch_dir)/disable_addr2line.patch && \
+  patch -p1 -i $($(package)_patch_dir)/filesystem_macos_sdk.patch && \
   echo "using $(boost_toolset_$(host_os)) : : $($(package)_cxx) : <cxxflags>\"$($(package)_cxxflags) $($(package)_cppflags)\" <linkflags>\"$($(package)_ldflags)\" <archiver>\"$(boost_archiver_$(host_os))\" <arflags>\"$($(package)_arflags)\" <striper>\"$(host_STRIP)\"  <ranlib>\"$(host_RANLIB)\" <rc>\"$(host_WINDRES)\" : ;" > user-config.jam
 endef
 
index 0e82fa53a969904b03fb1d26293345eea14f058d..1bedd61fd0c900e6a7e1c101431622b557e96f85 100644 (file)
@@ -1,8 +1,8 @@
 package=darwin_sdk
-$(package)_version=12.2
-$(package)_download_path=https://featherwallet.org/files/sources/
-$(package)_file_name=Xcode-12.2-12B45b-extracted-SDK-with-libcxx-headers.tar.gz
-$(package)_sha256_hash=332477876917786b26dd7c3fc1665d2c5cdca81c72755e6a9754f308de77d33b
+$(package)_version=15.0
+$(package)_download_path=https://bitcoincore.org/depends-sources/sdks
+$(package)_file_name=Xcode-15.0-15A240d-extracted-SDK-with-libcxx-headers.tar.gz
+$(package)_sha256_hash=c0c2e7bb92c1fee0c4e9f3a485e4530786732d6c6dd9e9f418c282aa6892f55d
 
 define $(package)_stage_cmds
   mkdir -p $($(package)_staging_dir)/$(host_prefix)/native/SDK &&\
index 1912cd18382a39e1931628b67c17f89ef66c48c9..9b452d5ba0aa3626592193396895022cd2351f7b 100644 (file)
@@ -4,17 +4,19 @@ $(package)_download_path=https://www.gnupg.org/ftp/gcrypt/libgcrypt/
 $(package)_file_name=libgcrypt-$($(package)_version).tar.gz
 $(package)_sha256_hash=2382891207d3b000b20c81dbf2036516a535d31abd80f57d455e711e1dde5ff5
 $(package)_dependencies=libgpg-error
+$(package)_patches=no-programs.patch
 
 define $(package)_set_vars
    $(package)_build_opts=CFLAGS="-fPIE"
 endef
 
 define $(package)_preprocess_cmds
+    patch -p1 < $($(package)_patch_dir)/no-programs.patch && \
     cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub build-aux
 endef
 
 define $(package)_config_cmds
-    $($(package)_autoconf) --disable-shared --enable-static --disable-doc --disable-asm --with-libgpg-error-prefix=$(host_prefix)
+    $($(package)_autoconf) --disable-shared --enable-static --disable-tests --disable-doc --disable-asm --with-libgpg-error-prefix=$(host_prefix)
 endef
 
 define $(package)_build_cmds
index d5cf9b2ae0e8fed99e1a18dbc37a8a2842a71925..f7365ae6f50fdfc52222b1278112f316523ea4b1 100644 (file)
@@ -3,7 +3,7 @@ $(package)_version=1.50
 $(package)_download_path=https://www.gnupg.org/ftp/gcrypt/libgpg-error/
 $(package)_file_name=libgpg-error-$($(package)_version).tar.gz
 $(package)_sha256_hash=34a3b36ec8ad830f8f3ceb5db583d1f6dc8ae4c31d04f6da18ea18dd95396ab0
-$(package)_patches=declare_environ_macos.patch
+$(package)_patches=declare_environ_macos.patch no-programs.patch
 
 define $(package)_set_vars
   $(package)_config_opts := --enable-static --disable-shared
@@ -14,6 +14,7 @@ endef
 
 define $(package)_preprocess_cmds
   patch -p1 < $($(package)_patch_dir)/declare_environ_macos.patch && \
+  patch -p1 < $($(package)_patch_dir)/no-programs.patch && \
   cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub build-aux
 endef
 
index fde34ec90499125ae1e318609a253a554585eb1a..444a5ebb4aa76661f2c4740c964cd7bf073f5829 100644 (file)
@@ -3,8 +3,10 @@ $(package)_version=1.0.27
 $(package)_download_path=https://github.com/libusb/libusb/releases/download/v$($(package)_version)
 $(package)_file_name=$(package)-$($(package)_version).tar.bz2
 $(package)_sha256_hash=ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575
+$(package)_patches=fix-c11-check.patch
 
 define $(package)_preprocess_cmds
+  patch -p1 < $($(package)_patch_dir)/fix-c11-check.patch && \
   cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub . && \
   autoreconf -i
 endef
diff --git a/contrib/depends/packages/native_cctools.mk b/contrib/depends/packages/native_cctools.mk
deleted file mode 100644 (file)
index 18699a4..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-package=native_cctools
-$(package)_version=2ef2e931cf641547eb8a68cfebde61003587c9fd
-$(package)_download_path=https://github.com/tpoechtrager/cctools-port/archive
-$(package)_file_name=$($(package)_version).tar.gz
-$(package)_sha256_hash=6b73269efdf5c58a070e7357b66ee760501388549d6a12b423723f45888b074b
-$(package)_build_subdir=cctools
-$(package)_dependencies=native_libtapi
-$(package)_patches=no-build-date.patch
-
-define $(package)_set_vars
-  $(package)_config_opts=--target=$(host)
-  $(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib
-  $(package)_cc=$(clang_prog)
-  $(package)_cxx=$(clangxx_prog)
-endef
-
-define $(package)_preprocess_cmds
-  patch -p1 < $($(package)_patch_dir)/no-build-date.patch && \
-  cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub cctools
-endef
-
-define $(package)_config_cmds
-  $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
-  $(MAKE)
-endef
-
-define $(package)_stage_cmds
-  $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
-
-define $(package)_postprocess_cmds
-  rm -rf share
-endef
\ No newline at end of file
diff --git a/contrib/depends/packages/native_libtapi.mk b/contrib/depends/packages/native_libtapi.mk
deleted file mode 100644 (file)
index e512c16..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-package=native_libtapi
-$(package)_version=664b8414f89612f2dfd35a9b679c345aa5389026
-$(package)_download_path=https://github.com/tpoechtrager/apple-libtapi/archive
-$(package)_file_name=$($(package)_version).tar.gz
-$(package)_sha256_hash=62e419c12d1c9fad67cc1cd523132bc00db050998337c734c15bc8d73cc02b61
-$(package)_patches=no_embed_git_rev.patch
-
-define $(package)_preprocess_cmds
-  patch -p1 -i $($(package)_patch_dir)/no_embed_git_rev.patch
-endef
-
-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
\ No newline at end of file
index a7a77712ac7c93174e0bf5fcba7159b61341ebac..58a659cfbe26dbd1745dcdb979beb6219ce10dd3 100644 (file)
@@ -9,6 +9,7 @@ $(package)_config_env=AR="$($(package)_ar)" ARFLAGS=$($(package)_arflags) RANLIB
 $(package)_config_env_android=ANDROID_NDK_ROOT="$(host_prefix)/native" PATH="$(host_prefix)/native/bin" CC=clang AR=ar RANLIB=ranlib
 $(package)_build_env_android=ANDROID_NDK_ROOT="$(host_prefix)/native"
 $(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl --libdir=$(host_prefix)/lib
+$(package)_config_opts+=no-apps
 $(package)_config_opts+=no-capieng
 $(package)_config_opts+=no-dso
 $(package)_config_opts+=no-dtls1
index 174a3b914c36f80401b0788ee138ccf077e07f56..431a98cc4a8bc01d77be96af817d7a316bf4ec51 100644 (file)
@@ -7,7 +7,7 @@ linux_native_packages =
 x86_64_linux_packages := flatstart
 
 darwin_packages :=
-darwin_native_packages = darwin_sdk native_cctools native_libtapi
+darwin_native_packages = darwin_sdk
 
 mingw32_packages =
 mingw32_native_packages =
@@ -18,4 +18,4 @@ qt_mingw32_packages := qt
 
 tor_linux_packages := libevent tor_linux
 tor_darwin_packages := tor_darwin
-tor_mingw32_packages := tor_mingw32
\ No newline at end of file
+tor_mingw32_packages := tor_mingw32
index 47fb50c2d8bdf82ed5b63c30795e01f2b3195ff5..4f5c7249bd9901838d6359903b8e29999018ccfc 100644 (file)
@@ -4,7 +4,7 @@ $(package)_download_path=https://download.qt.io/official_releases/qt/6.7/$($(pac
 $(package)_suffix=everywhere-src-$($(package)_version).tar.xz
 $(package)_file_name=qtbase-$($(package)_suffix)
 $(package)_sha256_hash=8ccbb9ab055205ac76632c9eeddd1ed6fc66936fc56afc2ed0fd5d9e23da3097
-$(package)_darwin_dependencies=native_cctools native_qt openssl
+$(package)_darwin_dependencies=openssl native_qt
 $(package)_mingw32_dependencies=openssl native_qt
 $(package)_linux_dependencies=openssl native_qt freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm libxcb_util_cursor dbus
 $(package)_patches += fast_fixed_dtoa_no_optimize.patch
@@ -22,6 +22,8 @@ $(package)_patches += revert-macOS-Silence-warning-about-supporting-secure.patch
 $(package)_patches += no-resonance-audio.patch
 $(package)_patches += fix_static_qt_darwin_camera_permissions.patch
 $(package)_patches += revert-f67ee7c39.patch
+$(package)_patches += macos-available-qtbase.patch
+$(package)_patches += macos-available-qtmultimedia.patch
 #$(package)_patches += fix-static-fontconfig-static-linking.patch
 
 $(package)_qttools_file_name=qttools-$($(package)_suffix)
@@ -191,6 +193,7 @@ define $(package)_preprocess_cmds
             -e 's|@host_prefix@|$(host_prefix)|' \
             -e 's|@cmake_c_flags@|$(darwin_CC_)|' \
             -e 's|@cmake_cxx_flags@|$(darwin_CXX_)|' \
+            -e 's|@cmake_ld_flags@|$(darwin_LDFLAGS)|'\
             -e 's|@wmf_libs@|$(WMF_LIBS)|' \
       toolchain.cmake && \
   cd qtbase && \
@@ -198,11 +201,13 @@ define $(package)_preprocess_cmds
   patch -p1 -i $($(package)_patch_dir)/libxau-fix.patch && \
   patch -p1 -i $($(package)_patch_dir)/revert-macOS-Silence-warning-about-supporting-secure.patch && \
   patch -p1 -i $($(package)_patch_dir)/fix_static_qt_darwin_camera_permissions.patch && \
+  patch -p1 -i $($(package)_patch_dir)/macos-available-qtbase.patch && \
   cd ../qtmultimedia && \
   patch -p1 -i $($(package)_patch_dir)/qtmultimedia-fixes.patch && \
   patch -p1 -i $($(package)_patch_dir)/v4l2.patch && \
   patch -p1 -i $($(package)_patch_dir)/no-resonance-audio.patch && \
-  patch -p1 -i $($(package)_patch_dir)/revert-f67ee7c39.patch
+  patch -p1 -i $($(package)_patch_dir)/revert-f67ee7c39.patch && \
+  patch -p1 -i $($(package)_patch_dir)/macos-available-qtmultimedia.patch
 endef
 
 define $(package)_config_cmds
@@ -210,7 +215,7 @@ define $(package)_config_cmds
   export PKG_CONFIG_SYSROOT_DIR=/ && \
   export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
   export QT_MAC_SDK_NO_VERSION_CHECK=1 && \
-  env -u C_INCLUDE_PATH -u CPLUS_INCLUDE_PATH -u OBJC_INCLUDE_PATH -u OBJCPLUS_INCLUDE_PATH -u CPATH -u LIBRARY_PATH cmake $($(package)_config_opts)
+  $($(package)_cmake)
 endef
 
 define $(package)_build_cmds
index 76495a0d0848d986c3a88544b7e1c56d3e4493af..f85a0d28c28e0aab225ea1facb6b590c6941ebf6 100644 (file)
@@ -5,21 +5,13 @@ $(package)_file_name=$(package)-$($(package)_version).tar.xz
 $(package)_sha256_hash=38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32
 
 define $(package)_config_cmds
-    CC="$($(package)_cc)" \
-    CXX="$($(package)_cxx)" \
-    AR="$($(package)_ar)" \
-    RANLIB="$($(package)_ranlib)" \
-    LIBTOOL="$($(package)_libtool)" \
-    LDLAGS="$($(package)_ldflags)" \
-    CFLAGS="-fPIE" \
-    CXXFLAGS="-fPIE" \
-       ./configure --static --prefix=$(host_prefix)
+  $($(package)_cmake)
 endef
 
 define $(package)_build_cmds
-    $(MAKE)
+  $(MAKE)
 endef
 
 define $(package)_stage_cmds
-    $(MAKE) DESTDIR=$($(package)_staging_dir) install
+  $(MAKE) DESTDIR=$($(package)_staging_dir) install
 endef
diff --git a/contrib/depends/patches/boost/filesystem_macos_sdk.patch b/contrib/depends/patches/boost/filesystem_macos_sdk.patch
new file mode 100644 (file)
index 0000000..a502c06
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/libs/filesystem/src/directory.cpp b/libs/filesystem/src/directory.cpp
+index 0cf5025..cd38e1b 100644
+--- a/libs/filesystem/src/directory.cpp
++++ b/libs/filesystem/src/directory.cpp
+@@ -279,7 +279,7 @@ inline system::error_code dir_itr_close(dir_itr_imp& imp) noexcept
+ // Obtains a file descriptor from the directory iterator
+ inline int dir_itr_fd(dir_itr_imp const& imp, system::error_code& ec)
+ {
+-    int fd = ::dirfd(static_cast< DIR* >(imp.handle));
++    int fd = dirfd(static_cast< DIR* >(imp.handle));
+     if (BOOST_UNLIKELY(fd < 0))
+     {
+         int err = errno;
diff --git a/contrib/depends/patches/libgcrypt/no-programs.patch b/contrib/depends/patches/libgcrypt/no-programs.patch
new file mode 100644 (file)
index 0000000..fa4e636
--- /dev/null
@@ -0,0 +1,37 @@
+diff --git a/src/Makefile.in b/src/Makefile.in
+index 48f08f0..92170ef 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -132,7 +132,7 @@ CONFIG_CLEAN_VPATH_FILES =
+ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" \
+       "$(DESTDIR)$(bindir)" "$(DESTDIR)$(m4datadir)" \
+       "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"
+-PROGRAMS = $(bin_PROGRAMS)
++PROGRAMS = 
+ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+ am__vpath_adj = case $$p in \
+     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+diff --git a/tests/Makefile.in b/tests/Makefile.in
+index 27900c3..c9503dc 100644
+--- a/tests/Makefile.in
++++ b/tests/Makefile.in
+@@ -110,8 +110,8 @@ host_triplet = @host@
+ @USE_RSA_TRUE@am__append_1 = pkcs1v2 t-rsa-pss t-rsa-15 t-rsa-testparm
+ @USE_DSA_TRUE@am__append_2 = fips186-dsa dsa-rfc6979 t-dsa
+ @USE_ECC_TRUE@am__append_3 = curves t-ecdsa t-ed25519 t-cv25519 t-x448 t-ed448
+-TESTS = $(am__EXEEXT_4) $(tests_sh) $(am__EXEEXT_5) $(tests_sh_last)
+-EXTRA_PROGRAMS = testapi$(EXEEXT) pkbench$(EXEEXT)
++TESTS = 
++EXTRA_PROGRAMS = 
+ noinst_PROGRAMS = testdrv$(EXEEXT) $(am__EXEEXT_4) $(am__EXEEXT_5) \
+       fipsdrv$(EXEEXT) rsacvt$(EXEEXT) genhashdata$(EXEEXT) \
+       gchash$(EXEEXT)
+@@ -147,7 +147,7 @@ am__EXEEXT_4 = version$(EXEEXT) t-secmem$(EXEEXT) mpitests$(EXEEXT) \
+       t-mlkem$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \
+       $(am__EXEEXT_3)
+ am__EXEEXT_5 = benchmark$(EXEEXT) bench-slope$(EXEEXT)
+-PROGRAMS = $(noinst_PROGRAMS)
++PROGRAMS = 
+ aeswrap_SOURCES = aeswrap.c
+ aeswrap_OBJECTS = aeswrap.$(OBJEXT)
+ aeswrap_LDADD = $(LDADD)
diff --git a/contrib/depends/patches/libgpg-error/no-programs.patch b/contrib/depends/patches/libgpg-error/no-programs.patch
new file mode 100644 (file)
index 0000000..38c89a6
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/src/Makefile.in b/src/Makefile.in
+index 882f4ad..4c99ddc 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -154,7 +154,7 @@ CONFIG_CLEAN_VPATH_FILES =
+ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" \
+       "$(DESTDIR)$(bindir)" "$(DESTDIR)$(m4datadir)" \
+       "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"
+-PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
++PROGRAMS = 
+ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+ am__vpath_adj = case $$p in \
+     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
diff --git a/contrib/depends/patches/libusb/fix-c11-check.patch b/contrib/depends/patches/libusb/fix-c11-check.patch
new file mode 100644 (file)
index 0000000..93b0057
--- /dev/null
@@ -0,0 +1,22 @@
+diff --git a/configure.ac b/configure.ac
+index 6dc7c698..eebe10a1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -46,7 +46,7 @@ dnl note that we don't just check if the compiler accepts '-std=x11'
+ dnl but also that it supports the _Thread_local keyword because some compilers
+ dnl (e.g. gcc 4.8) accept the command line option but do not implement TLS
+ saved_CFLAGS="${CFLAGS}"
+-CFLAGS="-std=gnu11"
++CFLAGS="${saved_CFLAGS} -std=gnu11"
+ AC_MSG_CHECKING([if $CC supports -std=gnu11])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_Thread_local int x;], [x = 42;])],
+       [AC_MSG_RESULT([yes])
+@@ -55,7 +55,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_Thread_local int x;], [x = 42;])],
+        c_dialect=])
+ if test "x$c_dialect" != xgnu; then
+       dnl fallback check for -std=c11 compiler support (required)
+-      CFLAGS="-std=c11"
++      CFLAGS="${saved_CFLAGS} -std=c11"
+       AC_MSG_CHECKING([if $CC supports -std=c11])
+       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_Thread_local int x;], [x = 42;])],
+               [AC_MSG_RESULT([yes])],
diff --git a/contrib/depends/patches/native_cctools/no-build-date.patch b/contrib/depends/patches/native_cctools/no-build-date.patch
deleted file mode 100644 (file)
index 8b7d1e1..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/cctools/ld64/src/ld/Options.cpp b/cctools/ld64/src/ld/Options.cpp
-index 3bb8324..033760d 100644
---- a/cctools/ld64/src/ld/Options.cpp
-+++ b/cctools/ld64/src/ld/Options.cpp
-@@ -4279,7 +4279,6 @@ void Options::buildSearchPaths(int argc, const char* argv[])
-                       fVerbose = true;
-                       extern const char ldVersionString[];
-                       fprintf(stderr, "%s", ldVersionString);
--                      fprintf(stderr, "BUILD "  __TIME__ " "  __DATE__"\n");
-                       fprintf(stderr, "configured to support archs: %s\n", ALL_SUPPORTED_ARCHS);
-                        // if only -v specified, exit cleanly
-                        if ( argc == 2 ) {
diff --git a/contrib/depends/patches/native_libtapi/no_embed_git_rev.patch b/contrib/depends/patches/native_libtapi/no_embed_git_rev.patch
deleted file mode 100644 (file)
index 5c83618..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/src/llvm/CMakeLists.txt b/src/llvm/CMakeLists.txt
-index ab92717c8..dff3a292a 100644
---- a/src/llvm/CMakeLists.txt
-+++ b/src/llvm/CMakeLists.txt
-@@ -754,7 +754,6 @@ set(LLVM_SRPM_DIR "${CMAKE_CURRENT_BINARY_DIR}/srpm")
- # SVN_REVISION and GIT_COMMIT get set by the call to add_version_info_from_vcs.
- # DUMMY_VAR contains a version string which we don't care about.
--add_version_info_from_vcs(DUMMY_VAR)
- if ( SVN_REVISION )
-   set(LLVM_RPM_SPEC_REVISION "r${SVN_REVISION}")
- elseif ( GIT_COMMIT )
-diff --git a/src/llvm/cmake/modules/GenerateVersionFromCVS.cmake b/src/llvm/cmake/modules/GenerateVersionFromCVS.cmake
-index 6b1c71983..e16326ed6 100644
---- a/src/llvm/cmake/modules/GenerateVersionFromCVS.cmake
-+++ b/src/llvm/cmake/modules/GenerateVersionFromCVS.cmake
-@@ -24,7 +24,7 @@ include(VersionFromVCS)
- set(ENV{TERM} "dumb")
- function(append_info name path)
--  add_version_info_from_vcs(REVISION ${path})
-+  set(REVISION "git-0000000")
-   string(STRIP "${REVISION}" REVISION)
-   file(APPEND "${HEADER_FILE}.txt"
-     "#define ${name} \"${REVISION}\"\n")
diff --git a/contrib/depends/patches/qt/macos-available-qtbase.patch b/contrib/depends/patches/qt/macos-available-qtbase.patch
new file mode 100644 (file)
index 0000000..a85db9b
--- /dev/null
@@ -0,0 +1,35 @@
+diff --git a/src/gui/platform/darwin/qappleiconengine.mm b/src/gui/platform/darwin/qappleiconengine.mm
+index a346c4d1f1..a1d02a97cb 100644
+--- a/src/gui/platform/darwin/qappleiconengine.mm
++++ b/src/gui/platform/darwin/qappleiconengine.mm
+@@ -362,15 +362,6 @@ auto *configuredImage(const NSImage *image, const QColor &color)
+     auto *config = [NSImageSymbolConfiguration configurationWithPointSize:48
+                                                weight:NSFontWeightRegular
+                                                scale:NSImageSymbolScaleLarge];
+-    if (@available(macOS 12, *)) {
+-        auto *primaryColor = [NSColor colorWithSRGBRed:color.redF()
+-                                                 green:color.greenF()
+-                                                  blue:color.blueF()
+-                                                 alpha:color.alphaF()];
+-
+-        auto *colorConfig = [NSImageSymbolConfiguration configurationWithHierarchicalColor:primaryColor];
+-        config = [config configurationByApplyingConfiguration:colorConfig];
+-    }
+     return [image imageWithSymbolConfiguration:config];
+ }
+diff --git a/src/gui/rhi/qrhimetal.mm b/src/gui/rhi/qrhimetal.mm
+index 232b2374b3..d28d966ad1 100644
+--- a/src/gui/rhi/qrhimetal.mm
++++ b/src/gui/rhi/qrhimetal.mm
+@@ -4685,10 +4685,6 @@ id<MTLLibrary> QRhiMetalData::createMetalLib(const QShader &shader, QShader::Var
+                                              QString *error, QByteArray *entryPoint, QShaderKey *activeKey)
+ {
+     QVarLengthArray<int, 8> versions;
+-    if (@available(macOS 13, iOS 16, *))
+-        versions << 30;
+-    if (@available(macOS 12, iOS 15, *))
+-        versions << 24;
+     if (@available(macOS 11, iOS 14, *))
+         versions << 23;
+     if (@available(macOS 10.15, iOS 13, *))
diff --git a/contrib/depends/patches/qt/macos-available-qtmultimedia.patch b/contrib/depends/patches/qt/macos-available-qtmultimedia.patch
new file mode 100644 (file)
index 0000000..8700b71
--- /dev/null
@@ -0,0 +1,19 @@
+diff --git a/src/plugins/multimedia/darwin/camera/qavfcamerabase.mm b/src/plugins/multimedia/darwin/camera/qavfcamerabase.mm
+index 940a964b7..bab2cebe0 100644
+--- a/src/plugins/multimedia/darwin/camera/qavfcamerabase.mm
++++ b/src/plugins/multimedia/darwin/camera/qavfcamerabase.mm
+@@ -176,14 +176,6 @@ void QAVFVideoDevices::updateCameraDevices()
+ #endif
+     ];
+-#if QT_DARWIN_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_14_0, __IPHONE_17_0, __TVOS_NA, __WATCHOS_NA)
+-    if (@available(macOS 14, iOS 17, *)) {
+-      discoveryDevices = [discoveryDevices arrayByAddingObjectsFromArray: @[
+-        AVCaptureDeviceTypeExternal,
+-        AVCaptureDeviceTypeContinuityCamera
+-      ]];
+-    } else
+-#endif
+     {
+ #ifdef Q_OS_MACOS
+     QT_WARNING_PUSH
index 116af0bdfb8e08404b5e473edbab0ede6ec51351..73e9602795e74c5e059323e09507eb874e653347 100644 (file)
@@ -25,6 +25,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
     set(CMAKE_CXX_FLAGS "@cmake_cxx_flags@")
     set(CMAKE_OBJC_FLAGS "@cmake_c_flags@")
     set(CMAKE_OBJCXX_FLAGS "@cmake_cxx_flags@")
+    set(CMAKE_EXE_LINKER_FLAGS "@cmake_ld_flags@")
+    set(CMAKE_MODULE_LINKER_FLAGS "@cmake_ld_flags@")
+    set(CMAKE_SHARED_LINKER_FLAGS "@cmake_ld_flags@")
+    SET(CMAKE_OSX_DEPLOYMENT_TARGET "11.0")
 
     set(CMAKE_INSTALL_NAME_TOOL @target@-install_name_tool)
 endif()
\ No newline at end of file
index 4b998913f408db7ebe3dcce76490c4e30d5924d9..3a6eb11b34cc641948e95fa70c1bde1df9bc12d3 100644 (file)
@@ -94,28 +94,30 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
     SET(BUILD_TAG "mac-x64")
     SET(CMAKE_OSX_ARCHITECTURES "x86_64")
   endif()
+  SET(CMAKE_SYSTEM_VERSION 20.1)
   SET(_CMAKE_TOOLCHAIN_PREFIX @prefix@/native/bin/${CONF_TRIPLE}-)
   SET(CMAKE_C_COMPILER @CC@)
   SET(CMAKE_C_COMPILER_TARGET ${CLANG_TARGET})
-  SET(CMAKE_C_FLAGS_INIT -B${_CMAKE_TOOLCHAIN_PREFIX})
-  SET(CMAKE_CXX_COMPILER @CXX@ -stdlib=libc++ )
-  SET(CMAKE_CXX_COMPILER_TARGET ${CLANG_TARGET})
-  SET(CMAKE_CXX_FLAGS_INIT -B${_CMAKE_TOOLCHAIN_PREFIX})
+  SET(CMAKE_C_FLAGS "@CFLAGS@")
+  SET(CMAKE_CXX_COMPILER @CXX@ -stdlib=libc++)
+  SET(CMAKE_CXX_FLAGS "@CXXFLAGS@")
+  SET(CMAKE_EXE_LINKER_FLAGS "@LDFLAGS@")
+  SET(CMAKE_MODULE_LINKER_FLAGS "@LDFLAGS@")
+  SET(CMAKE_SHARED_LINKER_FLAGS "@LDFLAGS@")
+  SET(CMAKE_INSTALL_NAME_TOOL llvm-install-name-tool)
   SET(CMAKE_ASM_COMPILER clang)
-  SET(CMAKE_ASM-ATT_COMPILER as)
+  SET(CMAKE_ASM-ATT_COMPILER llvm-as)
   SET(CMAKE_ASM_COMPILER_TARGET ${CLANG_TARGET})
   SET(CMAKE_ASM-ATT_COMPILER_TARGET ${CLANG_TARGET})
-  SET(CMAKE_AR @prefix@/native/bin/${CLANG_TARGET}-ar)
-  SET(CMAKE_RANLIB @prefix@/native/bin/${CLANG_TARGET}-ranlib)
+  SET(CMAKE_AR llvm-ar)
+  SET(CMAKE_RANLIB llvm-ranlib)
   SET(APPLE True)
   SET(BUILD_64 ON)
   SET(BREW OFF)
   SET(PORT OFF)
   SET(CMAKE_OSX_SYSROOT "@prefix@/native/SDK")
-  SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.14")
+  SET(CMAKE_OSX_DEPLOYMENT_TARGET "11.0")
   SET(CMAKE_CXX_STANDARD 17)
-  SET(LLVM_ENABLE_PIC OFF)
-  SET(LLVM_ENABLE_PIE OFF)
 else()
   SET(CMAKE_C_COMPILER @CC@)
   SET(CMAKE_CXX_COMPILER @CXX@)
index c4342080ba9db11191a33c07a881c2ca762d72df..3156986dfb91e9924662879fbfe8e52568c5a96c 100755 (executable)
@@ -153,18 +153,7 @@ for p in "${PATHS[@]}"; do
 done
 
 # Disable Guix ld auto-rpath behavior
-case "$HOST" in
-    *darwin*)
-        # The auto-rpath behavior is necessary for darwin builds as some native
-        # tools built by depends refer to and depend on Guix-built native
-        # libraries
-        #
-        # After the native packages in depends are built, the ld wrapper should
-        # no longer affect our build, as clang would instead reach for
-        # x86_64-apple-darwin-ld from cctools
-        ;;
-    *) export GUIX_LD_WRAPPER_DISABLE_RPATH=yes ;;
-esac
+export GUIX_LD_WRAPPER_DISABLE_RPATH=yes
 
 # Make /usr/bin if it doesn't exist
 [ -e /usr/bin ] || mkdir -p /usr/bin
@@ -196,16 +185,6 @@ export GLIBC_DYNAMIC_LINKER=${glibc_dynamic_linker}
 # Environment variables for determinism
 export TAR_OPTIONS="--owner=0 --group=0 --numeric-owner --mtime='@${SOURCE_DATE_EPOCH}' --sort=name"
 export TZ="UTC"
-case "$HOST" in
-    *darwin*)
-        # cctools AR, unlike GNU binutils AR, does not have a deterministic mode
-        # or a configure flag to enable determinism by default, it only
-        # understands if this env-var is set or not. See:
-        #
-        # https://github.com/tpoechtrager/cctools-port/blob/55562e4073dea0fbfd0b20e0bf69ffe6390c7f97/cctools/ar/archive.c#L334
-        export ZERO_AR_DATE=yes
-        ;;
-esac
 
 ####################
 # Depends Building #
index 682c7eb7ec4b5c308cac183328df06791d4b883e..6ec92a69da3767f87c9e6e3b3ff21542b6aa3384 100644 (file)
@@ -353,7 +353,8 @@ thus should be able to compile on most platforms where these exist.")
            (list
              gcc-toolchain-11
              (list gcc-toolchain-11 "static")
-             binutils
-             clang-toolchain-10
-             ldid))
+             ldid
+             clang-toolchain-17
+             lld-17
+             (make-lld-wrapper lld-17 #:lld-as-ld? #t)))
           (else '())))))
index f069b89c12dd36aea9134b2db7ebbcb0d9d08a22..5677797127f09f9650e08819eeb3fa85aa27e9d0 100644 (file)
@@ -3,7 +3,7 @@
 <plist version="0.9">
 <dict>
   <key>LSMinimumSystemVersion</key>
-  <string>10.14</string>
+  <string>11</string>
 
   <key>LSArchitecturePriority</key>
   <array>
index 8ca40be085bea5bdac4d70e55b685ddfef9dc9ba..245d62a54b32cfa06ba545d98b1185738bf82e9a 100644 (file)
@@ -300,12 +300,6 @@ if(STATIC AND UNIX AND NOT APPLE)
     target_link_libraries(feather PRIVATE Qt6::QComposePlatformInputContextPlugin)
 endif()
 
-if(DEPENDS AND APPLE)
-    # TODO: Needed for ___isOSVersionAtLeast
-    target_link_libraries(feather PRIVATE
-            ${CMAKE_OSX_SYSROOT}/lib/darwin/libclang_rt.osx.a)
-endif()
-
 if(DEPENDS AND UNIX AND NOT APPLE)
     target_link_libraries(XCB::XCB INTERFACE ${LIBXAU_LIBRARY})
 endif()