mirror of
https://github.com/jimeh/build-emacs-for-macos.git
synced 2026-02-19 01:36:38 +00:00
chore(deps): add macOS SDK version 26
- Added support for macOS SDK version 26 to the list of supported SDKs. - Reformatted flake.nix with nixfmt.
This commit is contained in:
162
flake.nix
162
flake.nix
@@ -6,84 +6,100 @@
|
|||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, flake-utils }:
|
outputs =
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
{
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
flake-utils,
|
||||||
|
}:
|
||||||
|
flake-utils.lib.eachDefaultSystem (
|
||||||
|
system:
|
||||||
let
|
let
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
|
||||||
# List of supported macOS SDK versions.
|
# List of supported macOS SDK versions.
|
||||||
sdk_versions = [ "11" "12" "13" "14" "15" ];
|
sdk_versions = [
|
||||||
|
"11"
|
||||||
|
"12"
|
||||||
|
"13"
|
||||||
|
"14"
|
||||||
|
"15"
|
||||||
|
"26"
|
||||||
|
];
|
||||||
default_sdk_version = "11";
|
default_sdk_version = "11";
|
||||||
|
|
||||||
mkDevShell = { macos_version ? default_sdk_version }:
|
mkDevShell =
|
||||||
|
{
|
||||||
|
macos_version ? default_sdk_version,
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
apple_sdk = pkgs.${"apple-sdk_${macos_version}"};
|
apple_sdk = pkgs.${"apple-sdk_${macos_version}"};
|
||||||
in
|
in
|
||||||
pkgs.mkShell {
|
pkgs.mkShell {
|
||||||
# Package list specifically excludes ncurses, so that we link
|
# Package list specifically excludes ncurses, so that we link
|
||||||
# against the system version of ncurses. This ensures emacs' TUI
|
# against the system version of ncurses. This ensures emacs' TUI
|
||||||
# works out of the box without the user having to manually set
|
# works out of the box without the user having to manually set
|
||||||
# TERMINFO in the shell before launching emacs.
|
# TERMINFO in the shell before launching emacs.
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
apple_sdk
|
apple_sdk
|
||||||
autoconf
|
autoconf
|
||||||
bash
|
bash
|
||||||
cairo
|
cairo
|
||||||
clang
|
clang
|
||||||
coreutils
|
coreutils
|
||||||
curl
|
curl
|
||||||
darwin.DarwinTools # sw_vers
|
darwin.DarwinTools # sw_vers
|
||||||
dbus
|
dbus
|
||||||
expat
|
expat
|
||||||
findutils
|
findutils
|
||||||
gcc
|
gcc
|
||||||
gettext
|
gettext
|
||||||
giflib
|
giflib
|
||||||
git
|
git
|
||||||
gmp
|
gmp
|
||||||
gnumake
|
gnumake
|
||||||
gnupatch
|
gnupatch
|
||||||
gnused
|
gnused
|
||||||
gnutar
|
gnutar
|
||||||
gnutls
|
gnutls
|
||||||
harfbuzz
|
harfbuzz
|
||||||
jansson
|
jansson
|
||||||
jq
|
jq
|
||||||
lcms2
|
lcms2
|
||||||
libffi
|
libffi
|
||||||
libgccjit
|
libgccjit
|
||||||
libiconv
|
libiconv
|
||||||
libjpeg
|
libjpeg
|
||||||
libpng
|
libpng
|
||||||
librsvg
|
librsvg
|
||||||
libtasn1
|
libtasn1
|
||||||
libunistring
|
libunistring
|
||||||
libwebp
|
libwebp
|
||||||
libxml2
|
libxml2
|
||||||
mailutils
|
mailutils
|
||||||
nettle
|
nettle
|
||||||
pkg-config
|
pkg-config
|
||||||
python313Packages.dmgbuild
|
python313Packages.dmgbuild
|
||||||
rsync
|
rsync
|
||||||
ruby
|
ruby
|
||||||
sqlite
|
sqlite
|
||||||
texinfo
|
texinfo
|
||||||
time
|
time
|
||||||
tree-sitter
|
tree-sitter
|
||||||
which
|
which
|
||||||
xcbuild
|
xcbuild
|
||||||
zlib
|
zlib
|
||||||
];
|
];
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
export CC=clang
|
export CC=clang
|
||||||
export MACOSX_DEPLOYMENT_TARGET="${macos_version}.0"
|
export MACOSX_DEPLOYMENT_TARGET="${macos_version}.0"
|
||||||
export DEVELOPER_DIR="${apple_sdk}"
|
export DEVELOPER_DIR="${apple_sdk}"
|
||||||
export NIX_LIBGCCJIT_VERSION="${pkgs.libgccjit.version}"
|
export NIX_LIBGCCJIT_VERSION="${pkgs.libgccjit.version}"
|
||||||
export NIX_LIBGCCJIT_ROOT="${pkgs.libgccjit.outPath}"
|
export NIX_LIBGCCJIT_ROOT="${pkgs.libgccjit.outPath}"
|
||||||
export BUNDLE_WITHOUT=development
|
export BUNDLE_WITHOUT=development
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# Generate an attrset of shells for each macOS SDK version.
|
# Generate an attrset of shells for each macOS SDK version.
|
||||||
versionShells = builtins.listToAttrs (
|
versionShells = builtins.listToAttrs (
|
||||||
@@ -93,10 +109,10 @@
|
|||||||
}) sdk_versions
|
}) sdk_versions
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = versionShells // {
|
devShells = versionShells // {
|
||||||
default = mkDevShell {};
|
default = mkDevShell { };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user