wezterm: make it build with clang 19 (#366840)

This commit is contained in:
Vladimír Čunát
2024-12-23 08:33:19 +01:00
3 changed files with 41 additions and 19 deletions
@@ -20,15 +20,10 @@
xcbutilwm,
wayland,
zlib,
CoreGraphics,
Cocoa,
Foundation,
System,
libiconv,
UserNotifications,
nixosTests,
runCommand,
vulkan-loader,
fetchpatch2,
}:
rustPlatform.buildRustPackage rec {
@@ -43,6 +38,21 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-Az+HlnK/lRJpUSGm5UKyma1l2PaBKNCGFiaYnLECMX8=";
};
patches = [
# Remove unused `fdopen` in vendored zlib, which causes compilation failures with clang 19 on Darwin.
# Ref: https://github.com/madler/zlib/commit/4bd9a71f3539b5ce47f0c67ab5e01f3196dc8ef9
./zlib-fdopen.patch
# Fix platform check in vendored libpng with clang 19 on Darwin.
(fetchpatch2 {
url = "https://github.com/pnggroup/libpng/commit/893b8113f04d408cc6177c6de19c9889a48faa24.patch?full_index=1";
extraPrefix = "deps/freetype/libpng/";
stripLen = 1;
excludes = [ "deps/freetype/libpng/AUTHORS" ];
hash = "sha256-zW/oUo2EGcnsxAfbbbhTKGui/lwCqovyrvUnylfRQzc=";
})
];
postPatch = ''
cp ${./Cargo.lock} Cargo.lock
@@ -88,20 +98,10 @@ rustPlatform.buildRustPackage rec {
xcbutilimage
xcbutilkeysyms
xcbutilwm # contains xcb-ewmh among others
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
Cocoa
CoreGraphics
Foundation
libiconv
System
UserNotifications
];
buildFeatures = [ "distro-defaults" ];
env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-framework System";
postInstall = ''
mkdir -p $out/nix-support
echo "${passthru.terminfo}" >> $out/nix-support/propagated-user-env-packages
@@ -0,0 +1,24 @@
Submodule deps/freetype/zlib contains modified content
diff --git a/deps/freetype/zlib/zutil.h b/deps/freetype/zlib/zutil.h
index b079ea6..4e94f2f 100644
--- a/deps/freetype/zlib/zutil.h
+++ b/deps/freetype/zlib/zutil.h
@@ -130,17 +130,8 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
# endif
#endif
-#if defined(MACOS) || defined(TARGET_OS_MAC)
+#if defined(MACOS)
# define OS_CODE 7
-# ifndef Z_SOLO
-# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
-# include <unix.h> /* for fdopen */
-# else
-# ifndef fdopen
-# define fdopen(fd,mode) NULL /* No fdopen() */
-# endif
-# endif
-# endif
#endif
#ifdef __acorn
+1 -3
View File
@@ -1583,9 +1583,7 @@ with pkgs;
};
termite-unwrapped = callPackage ../applications/terminal-emulators/termite { };
wezterm = darwin.apple_sdk_11_0.callPackage ../applications/terminal-emulators/wezterm {
inherit (darwin.apple_sdk_11_0.frameworks) Cocoa CoreGraphics Foundation UserNotifications System;
};
wezterm = callPackage ../applications/terminal-emulators/wezterm { };
twine = with python3Packages; toPythonApplication twine;