From 6a9b3389607f244ce3ff5ad1152446cd6dc81a7a Mon Sep 17 00:00:00 2001 From: Jonathan Carroll Otsuka Date: Wed, 19 Mar 2025 16:13:19 -0500 Subject: [PATCH] emacs: set `FD_SETSIZE` and `DARWIN_UNLIMITED_SELECT` on darwin This fixes the issue around macOS and `too many open files`. Prior work: https://github.com/d12frosted/homebrew-emacs-plus/commit/4b34ed7402a4f3e1f212b2c6fa0851f4b59e247c Context: https://en.liujiacai.net/2022/09/03/emacs-maxopenfiles/ --- pkgs/applications/editors/emacs/make-emacs.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/emacs/make-emacs.nix b/pkgs/applications/editors/emacs/make-emacs.nix index ef8a5d923822..e203a5fd3506 100644 --- a/pkgs/applications/editors/emacs/make-emacs.nix +++ b/pkgs/applications/editors/emacs/make-emacs.nix @@ -460,10 +460,13 @@ mkDerivation (finalAttrs: { NATIVE_FULL_AOT = "1"; LIBRARY_PATH = lib.concatStringsSep ":" libGccJitLibraryPaths; } - // lib.optionalAttrs (variant == "macport") { - # Fixes intermittent segfaults when compiled with LLVM >= 7.0. - # See https://github.com/NixOS/nixpkgs/issues/127902 - NIX_CFLAGS_COMPILE = "-include ${./macport_noescape_noop.h}"; + // { + NIX_CFLAGS_COMPILE = lib.concatStringsSep " " [ + # Fixes intermittent segfaults when compiled with LLVM >= 7.0. + # See https://github.com/NixOS/nixpkgs/issues/127902 + (lib.optionalString (variant == "macport") "-include ${./macport_noescape_noop.h}") + (lib.optionalString stdenv.hostPlatform.isDarwin "-DFD_SETSIZE=10000 -DDARWIN_UNLIMITED_SELECT") + ]; }; enableParallelBuilding = true;