Merge pull request #219431 from malob/apple_sdk_11_0-add-stdenvs
darwin.apple_sdk_11_0.clang{12-15}Stdenv: init
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
{ lib, stdenv, fetchFromGitHub, openssl, sqlite }:
|
||||
{ lib, stdenv, clang14Stdenv, fetchFromGitHub, openssl, sqlite }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
(if stdenv.isDarwin then clang14Stdenv else stdenv).mkDerivation rec {
|
||||
pname = "signalbackup-tools";
|
||||
version = "20230223-1";
|
||||
version = "20230304-3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bepaald";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-tBjMg+aYXmIhS2tw+D5NkBieWKiWwEVBWs6LA3rFaQQ=";
|
||||
hash = "sha256-y6ApImUkS25kUPih/hl1ngLAkeBAX+MhJ6XuiVU9aZQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -36,6 +36,5 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = [ maintainers.malo ];
|
||||
platforms = platforms.all;
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -56,28 +56,51 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
mkStdenv = stdenv:
|
||||
let
|
||||
cc = stdenv.cc.override {
|
||||
bintools = stdenv.cc.bintools.override { libc = packages.Libsystem; };
|
||||
libc = packages.Libsystem;
|
||||
};
|
||||
in
|
||||
if stdenv.isAarch64 then stdenv
|
||||
else
|
||||
(overrideCC stdenv cc).override {
|
||||
targetPlatform = stdenv.targetPlatform // {
|
||||
darwinMinVersion = "10.12";
|
||||
darwinSdkVersion = "11.0";
|
||||
};
|
||||
};
|
||||
|
||||
stdenvs = {
|
||||
stdenv = mkStdenv stdenv;
|
||||
} // builtins.listToAttrs (map
|
||||
(v: { name = "clang${v}Stdenv"; value = mkStdenv pkgs."llvmPackages_${v}".stdenv; })
|
||||
[ "12" "13" "14" "15" ]
|
||||
);
|
||||
|
||||
callPackage = newScope (packages // pkgs.darwin // { inherit MacOSX-SDK; });
|
||||
|
||||
packages = {
|
||||
inherit (callPackage ./apple_sdk.nix {}) frameworks libs;
|
||||
packages = stdenvs // {
|
||||
inherit (callPackage ./apple_sdk.nix { }) frameworks libs;
|
||||
|
||||
# TODO: this is nice to be private. is it worth the callPackage above?
|
||||
# Probably, I don't think that callPackage costs much at all.
|
||||
inherit MacOSX-SDK CLTools_Executables;
|
||||
|
||||
Libsystem = callPackage ./libSystem.nix {};
|
||||
Libsystem = callPackage ./libSystem.nix { };
|
||||
LibsystemCross = pkgs.darwin.Libsystem;
|
||||
libcharset = callPackage ./libcharset.nix {};
|
||||
libunwind = callPackage ./libunwind.nix {};
|
||||
libnetwork = callPackage ./libnetwork.nix {};
|
||||
libpm = callPackage ./libpm.nix {};
|
||||
libcharset = callPackage ./libcharset.nix { };
|
||||
libunwind = callPackage ./libunwind.nix { };
|
||||
libnetwork = callPackage ./libnetwork.nix { };
|
||||
libpm = callPackage ./libpm.nix { };
|
||||
# Avoid introducing a new objc4 if stdenv already has one, to prevent
|
||||
# conflicting LLVM modules.
|
||||
objc4 = if stdenv ? objc4 then stdenv.objc4 else callPackage ./libobjc.nix {};
|
||||
objc4 = stdenv.objc4 or (callPackage ./libobjc.nix { });
|
||||
|
||||
# questionable aliases
|
||||
configd = pkgs.darwin.apple_sdk.frameworks.SystemConfiguration;
|
||||
IOKit = pkgs.darwin.apple_sdk.frameworks.IOKit;
|
||||
inherit (pkgs.darwin.apple_sdk.frameworks) IOKit;
|
||||
|
||||
xcodebuild = pkgs.xcbuild.override {
|
||||
inherit (pkgs.darwin.apple_sdk_11_0) stdenv;
|
||||
@@ -89,30 +112,23 @@ let
|
||||
inherit (pkgs) rustc cargo;
|
||||
};
|
||||
|
||||
callPackage = newScope (lib.optionalAttrs stdenv.isDarwin rec {
|
||||
inherit (pkgs.darwin.apple_sdk_11_0) stdenv xcodebuild rustPlatform;
|
||||
callPackage = newScope (lib.optionalAttrs stdenv.isDarwin (stdenvs // rec {
|
||||
inherit (pkgs.darwin.apple_sdk_11_0) xcodebuild rustPlatform;
|
||||
darwin = pkgs.darwin.overrideScope (_: prev: {
|
||||
inherit (prev.darwin.apple_sdk_11_0) Libsystem LibsystemCross libcharset libunwind objc4 configd IOKit Security;
|
||||
inherit (prev.darwin.apple_sdk_11_0)
|
||||
IOKit
|
||||
Libsystem
|
||||
LibsystemCross
|
||||
Security
|
||||
configd
|
||||
libcharset
|
||||
libunwind
|
||||
objc4
|
||||
;
|
||||
apple_sdk = prev.darwin.apple_sdk_11_0;
|
||||
CF = prev.darwin.apple_sdk_11_0.CoreFoundation;
|
||||
});
|
||||
xcbuild = xcodebuild;
|
||||
});
|
||||
|
||||
stdenv =
|
||||
let
|
||||
clang = stdenv.cc.override {
|
||||
bintools = stdenv.cc.bintools.override { libc = packages.Libsystem; };
|
||||
libc = packages.Libsystem;
|
||||
};
|
||||
in
|
||||
if stdenv.isAarch64 then stdenv
|
||||
else
|
||||
(overrideCC stdenv clang).override {
|
||||
targetPlatform = stdenv.targetPlatform // {
|
||||
darwinMinVersion = "10.12";
|
||||
darwinSdkVersion = "11.0";
|
||||
};
|
||||
};
|
||||
}));
|
||||
};
|
||||
in packages
|
||||
|
||||
Reference in New Issue
Block a user