mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-21 22:43:01 +00:00
darwin: set the minimum version to macOS 11.3; nixos/doc/rl-2505: announce macOS version support policy (#352129)
This commit is contained in:
commit
f23067f508
@ -87,31 +87,24 @@ When that happens, the one with the highest version is always used.
|
||||
|
||||
The following is a list of Xcode versions, the SDK version in Nixpkgs, and the attribute to use to add it.
|
||||
Check your package’s documentation (platform support or installation instructions) to find which Xcode or SDK version to use.
|
||||
Generally, only the last SDK release for a major version is packaged (each _x_ in 10._x_ until 10.15 is considered a major version).
|
||||
Generally, only the last SDK release for a major version is packaged.
|
||||
|
||||
| Xcode version | SDK version | Nixpkgs attribute |
|
||||
|--------------------|---------------------------------------------------|-------------------|
|
||||
| Varies by platform | 10.12.2 (x86_64-darwin)<br/>11.3 (aarch64-darwin) | `apple-sdk` |
|
||||
| 8.0–8.3.3 | 10.12.2 | `apple-sdk_10_12` |
|
||||
| 9.0–9.4.1 | 10.13.2 | `apple-sdk_10_13` |
|
||||
| 10.0–10.3 | 10.14.6 | `apple-sdk_10_14` |
|
||||
| 11.0–11.7 | 10.15.6 | `apple-sdk_10_15` |
|
||||
| 12.0–12.5.1 | 11.3 | `apple-sdk_11` |
|
||||
| 13.0–13.4.1 | 12.3 | `apple-sdk_12` |
|
||||
| 14.0–14.3.1 | 13.3 | `apple-sdk_13` |
|
||||
| 15.0–15.4 | 14.4 | `apple-sdk_14` |
|
||||
| 16.0 | 15.0 | `apple-sdk_15` |
|
||||
| Xcode version | SDK version | Nixpkgs attribute |
|
||||
|--------------------|--------------------|------------------------------|
|
||||
| 12.0–12.5.1 | 11.3 | `apple-sdk_11` / `apple-sdk` |
|
||||
| 13.0–13.4.1 | 12.3 | `apple-sdk_12` |
|
||||
| 14.0–14.3.1 | 13.3 | `apple-sdk_13` |
|
||||
| 15.0–15.4 | 14.4 | `apple-sdk_14` |
|
||||
| 16.0 | 15.0 | `apple-sdk_15` |
|
||||
|
||||
|
||||
#### Darwin Default SDK versions {#sec-darwin-troubleshooting-darwin-defaults}
|
||||
|
||||
The current default versions of the deployment target (minimum version) and SDK are indicated by Darwin-specific attributes on the platform. Because of the ways that minimum version and SDK can be changed that are not visible to Nix, they should be treated as lower bounds.
|
||||
The current default version of the SDK and deployment target (minimum supported version) are indicated by the Darwin-specific platform attributes `darwinSdkVersion` and `darwinMinVersion`.
|
||||
Because of the ways that minimum version and SDK can be changed that are not visible to Nix, they should be treated as lower bounds.
|
||||
If you need to parameterize over a specific version, create a function that takes the version as a parameter instead of relying on these attributes.
|
||||
|
||||
- `darwinMinVersion` defaults to 10.12 on x86_64-darwin and 11.0 on aarch64-darwin.
|
||||
It sets the default deployment target.
|
||||
- `darwinSdkVersion` defaults to 10.12 on x86-64-darwin and 11.0 on aarch64-darwin.
|
||||
Only the major version determines the SDK version, resulting in the 10.12.2 and 11.3 SDKs being used on these platforms respectively.
|
||||
On macOS, the `darwinMinVersion` and `darwinSdkVersion` are always the same, and are currently set to 11.3.
|
||||
|
||||
|
||||
#### `xcrun` cannot find a binary {#sec-darwin-troubleshooting-xcrun}
|
||||
@ -264,10 +257,10 @@ The legacy SDK provided two ways of overriding the default SDK.
|
||||
These are both being phased out along with the legacy SDKs.
|
||||
They have been updated to set up the new SDK for you, but you should replace them with doing that directly.
|
||||
|
||||
- `pkgs.darwin.apple_sdk_11_0.callPackage` - this pattern was used to provide frameworks from the 11.0 SDK.
|
||||
It now adds the `apple-sdk_11` package to your derivation’s build inputs.
|
||||
- `pkgs.darwin.apple_sdk_11_0.callPackage` - this pattern was used to provide frameworks from the macOS 11 SDK.
|
||||
It is now the same as `callPackage`.
|
||||
- `overrideSDK` - this stdenv adapter would try to replace the frameworks used by your derivation and its transitive dependencies.
|
||||
It now adds the `apple-sdk_11` package for `11.0` or the `apple-sdk_12` package for `12.3`.
|
||||
It now adds the `apple-sdk_12` package for `12.3` and does nothing for `11.0`.
|
||||
If `darwinMinVersion` is specified, it will add `darwinMinVersionHook` with the specified minimum version.
|
||||
No other SDK versions are supported.
|
||||
|
||||
|
@ -251,7 +251,7 @@ let
|
||||
else null;
|
||||
# The canonical name for this attribute is darwinSdkVersion, but some
|
||||
# platforms define the old name "sdkVer".
|
||||
darwinSdkVersion = final.sdkVer or (if final.isAarch64 then "11.0" else "10.12");
|
||||
darwinSdkVersion = final.sdkVer or "11.3";
|
||||
darwinMinVersion = final.darwinSdkVersion;
|
||||
darwinMinVersionVariable =
|
||||
if final.isMacOS then "MACOSX_DEPLOYMENT_TARGET"
|
||||
|
@ -4,7 +4,11 @@
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Create the first release note entry in this section!
|
||||
- **This release of Nixpkgs requires macOS Big Sur 11.3 or newer, as announced in the 24.11 release notes.**
|
||||
We cannot guarantee that packages will continue to work on older versions of macOS.
|
||||
Future Nixpkgs releases will only support [macOS versions supported by Apple](https://endoflife.date/macos); this means that **Nixpkgs 25.11 will require macOS Sonoma 14 or newer**.
|
||||
Users on old macOS versions should consider upgrading to a supported version (potentially using [OpenCore Legacy Patcher](https://dortania.github.io/OpenCore-Legacy-Patcher/) for old hardware) or installing NixOS.
|
||||
If neither of those options are viable and you require new versions of software, [MacPorts](https://www.macports.org/) supports versions back to Mac OS X Snow Leopard 10.6.
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
|
@ -31,7 +31,6 @@
|
||||
, gtk3
|
||||
, gdk-pixbuf
|
||||
, argp-standalone
|
||||
, memorymappingHook
|
||||
, withGui ? true
|
||||
, withBitshuffle ? true
|
||||
}:
|
||||
@ -211,8 +210,6 @@ stdenv.mkDerivation rec {
|
||||
] ++ lib.optionals withGui [ gtk3 gdk-pixbuf ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
argp-standalone
|
||||
] ++ lib.optionals (stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isAarch64) [
|
||||
memorymappingHook
|
||||
]
|
||||
++ lib.optionals withBitshuffle [ hdf5-external-filter-plugins ];
|
||||
|
||||
|
@ -27,11 +27,7 @@ fetchurl {
|
||||
mv "$downloadedFile" "$renamed"
|
||||
pbzx "$renamed" | cpio -idm
|
||||
|
||||
# SDKs are inconsistent about whether MacOSX.sdk or MacOSX<version>.sdk is a symlink.
|
||||
src=Library/Developer/CommandLineTools/SDKs/MacOSX${lib.versions.majorMinor version}.sdk
|
||||
if [ ! -d $src ]; then
|
||||
src=Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
|
||||
fi
|
||||
|
||||
# Remove unwanted binaries, man pages, and folders from the SDK.
|
||||
rm -rf $src/usr/bin $src/usr/share $src/System/Library/Perl
|
||||
|
@ -24,7 +24,6 @@ self: super: {
|
||||
+ ''
|
||||
echo "Removing the following dylibs from the libSystem reexported libraries list: ${lib.escapeShellArg (lib.concatStringsSep ", " removedDylibs)}"
|
||||
for libSystem in libSystem.B.tbd libSystem.B_asan.tbd; do
|
||||
test ! -e usr/lib/$libSystem && continue # TODO: remove once the minimum SDK is 10.14 or newer.
|
||||
tapi stubify --filetype=tbd-v5 usr/lib/$libSystem -o usr/lib/$libSystem # tbd-v5 is a JSON-based format.
|
||||
jq --argjson libs ${lib.escapeShellArg (builtins.toJSON removedDylibs)} '
|
||||
if .libraries then
|
||||
|
@ -1,18 +0,0 @@
|
||||
{ lib, sdkVersion }:
|
||||
|
||||
let
|
||||
name = "MacOSX${lib.versions.majorMinor sdkVersion}.sdk";
|
||||
in
|
||||
self: super: {
|
||||
# Rewrite the stubs to point to dylibs in the SDK instead of at system locations. This is needed for umbrella
|
||||
# frameworks in older SDKs, which don’t also embed their stubs.
|
||||
buildPhase =
|
||||
super.buildPhase or ""
|
||||
+ ''
|
||||
echo "Rewriting stubs to reference the SDK location in the store"
|
||||
find . -name '*.tbd' -type f -exec sed -E \
|
||||
-e "/^install-name/n; s|( \\|'\\|\"\\|\\[)/usr/|\1$sdkpath/${name}/usr/|g" \
|
||||
-e "/^install-name/n; s|( \\|'\\|\"\\|\\[)/System/|\1$sdkpath/${name}/System/|g" \
|
||||
-i {} \;
|
||||
'';
|
||||
}
|
@ -1,716 +1,4 @@
|
||||
{
|
||||
"10.12.2": {
|
||||
"CarbonHeaders": {
|
||||
"hash": "sha256-nIPXnLr21yVnpBhx9K5q3l/nPARA6JL/dED08MeyhP8=",
|
||||
"version": "18.1"
|
||||
},
|
||||
"CommonCrypto": {
|
||||
"hash": "sha256-1mCJjZLBMIftcsKC7Ihhzi6LRS3u7kJzh9/dy6MY1Hg=",
|
||||
"version": "60092.30.2"
|
||||
},
|
||||
"IOAudioFamily": {
|
||||
"hash": "sha256-5t3D44H/h0cUZqAjMi56BTbJD4o+R0xVdHJ1sZLYgNM=",
|
||||
"version": "205.11"
|
||||
},
|
||||
"IOBDStorageFamily": {
|
||||
"hash": "sha256-4NpWcqfkp3UxhKKAwomDK3zxQ9DagyYFUVoUcrHo1Rg=",
|
||||
"version": "18"
|
||||
},
|
||||
"IOCDStorageFamily": {
|
||||
"hash": "sha256-XOwdBFunLbwyasnTKQC6MRlXxGns07JvcAQc6AQ1Zt4=",
|
||||
"version": "56"
|
||||
},
|
||||
"IODVDStorageFamily": {
|
||||
"hash": "sha256-bbGzqJnenEL9hRyKMBif/381/ETO+yNYHhlnXXWLne0=",
|
||||
"version": "41.1"
|
||||
},
|
||||
"IOFWDVComponents": {
|
||||
"hash": "sha256-WkfkWnzRupEh20U7vjsTta89clhus6GTkOpXQWXw/bM=",
|
||||
"version": "208"
|
||||
},
|
||||
"IOFireWireAVC": {
|
||||
"hash": "sha256-rhZdjNoZ3OuHVLClhe9tMQU6qJs3IOHEqJ5TaNRJRnM=",
|
||||
"version": "424"
|
||||
},
|
||||
"IOFireWireFamily": {
|
||||
"hash": "sha256-adOI5uhd6QL4zpo4MK4ttmS1lcKseqmr68C1D/juGo0=",
|
||||
"version": "465"
|
||||
},
|
||||
"IOFireWireSBP2": {
|
||||
"hash": "sha256-5UWldDuSyAnRYjgIKllY4VNbxtAUawrlRS46+8FnbPs=",
|
||||
"version": "427"
|
||||
},
|
||||
"IOFireWireSerialBusProtocolTransport": {
|
||||
"hash": "sha256-a/xnnR2dUSWVMyTlkxJPa7cWk20RHl0Zh2Ot2pSEkF0=",
|
||||
"version": "252"
|
||||
},
|
||||
"IOGraphics": {
|
||||
"hash": "sha256-63XDVmEHu+KUdr06S7+RPi1BgLcAl4GZZRy+K96CvA0=",
|
||||
"version": "513.1"
|
||||
},
|
||||
"IOHIDFamily": {
|
||||
"hash": "sha256-BUDj89w4DrnsIxJZNIx3ZJ85c22HMchIVhJI7xREWTM=",
|
||||
"version": "870.31.1"
|
||||
},
|
||||
"IOKitUser": {
|
||||
"hash": "sha256-XJnOp5AtStXUim19GLev8MSM8iS5U8rRSnm7cNp/B80=",
|
||||
"version": "1324.30.13"
|
||||
},
|
||||
"IONetworkingFamily": {
|
||||
"hash": "sha256-dL1wSu72uzAAoMdgSjitXgHviioVIGdkDXqwY6HT5/g=",
|
||||
"version": "116.1.1"
|
||||
},
|
||||
"IOSerialFamily": {
|
||||
"hash": "sha256-ZcZ5F+a4u2AHThO5WyLn3/o42DR+YDBZKTy4P2EhHhk=",
|
||||
"version": "91"
|
||||
},
|
||||
"IOStorageFamily": {
|
||||
"hash": "sha256-IjsG/lgdtW04WH/5rb1QAT563Oy4O5fUrTGuA1kBrkY=",
|
||||
"version": "210.30.1"
|
||||
},
|
||||
"IOUSBFamily": {
|
||||
"hash": "sha256-Z0E3TfKP49toYo1Fo9kElRap8CZ+mVDHy5RIexgJTpA=",
|
||||
"version": "630.4.5"
|
||||
},
|
||||
"Libc": {
|
||||
"hash": "sha256-wyt5CJnNzk0MPC6pg2JAdiwIPxWFJsO9Yqa83vY+hLc=",
|
||||
"version": "1158.30.7"
|
||||
},
|
||||
"Libinfo": {
|
||||
"hash": "sha256-3Mu9lOkaQx5gmNPXzr67FnZvKWmQhryIPsN6k95TU18=",
|
||||
"version": "503.30.1"
|
||||
},
|
||||
"Libm": {
|
||||
"hash": "sha256-p4BndAag9d0XSMYWQ+c4myGv5qXbKx5E1VghudSbpTk=",
|
||||
"version": "2026"
|
||||
},
|
||||
"Libnotify": {
|
||||
"hash": "sha256-msGtbR53SHXjYN8i74gmkYWGkmqg+TcRO7TY/23XSFQ=",
|
||||
"version": "165.20.1"
|
||||
},
|
||||
"Librpcsvc": {
|
||||
"hash": "sha256-8e8E9TkRTAep3/miyqhF/mSkNdlym12W+AVhXF94+Bg=",
|
||||
"version": "26"
|
||||
},
|
||||
"Libsystem": {
|
||||
"hash": "sha256-FwI2aD3wSwES/sKkr014BdFLfsKeEefgS0Pne1FGOp0=",
|
||||
"version": "1238"
|
||||
},
|
||||
"OpenDirectory": {
|
||||
"hash": "sha256-6fSl8PasCZSBfe0ftaePcBuSEO3syb6kK+mfDI6iR7A=",
|
||||
"version": "146"
|
||||
},
|
||||
"Security": {
|
||||
"hash": "sha256-Ya+ZO3bHNhQ+vZZx/lE7x+uMROHYWYKvm2ZZ1vClu3Q=",
|
||||
"version": "57740.31.2"
|
||||
},
|
||||
"architecture": {
|
||||
"hash": "sha256-gHUfKWc1uahI/IATafY1ppPAWnYUghOEXWK2lknAfrQ=",
|
||||
"version": "268"
|
||||
},
|
||||
"configd": {
|
||||
"hash": "sha256-i1UjnU7xBh7jCrGZxWMGrldzDrk2dDvjpthp/kq9OKo=",
|
||||
"version": "888.30.2"
|
||||
},
|
||||
"copyfile": {
|
||||
"hash": "sha256-pth+37uTfuFY94HuA4b/5GleDjidAuXVsBEQBUa3xCE=",
|
||||
"version": "138"
|
||||
},
|
||||
"dtrace": {
|
||||
"hash": "sha256-dK0N3l02241A5S1uvxZhqArHrTxd5Sd4JoAl6RBa8/8=",
|
||||
"version": "209.20.4"
|
||||
},
|
||||
"dyld": {
|
||||
"hash": "sha256-wyVsmqYgKLdMKZsLOHzOLag+mBnH0kNS6XAv4zuNTT4=",
|
||||
"version": "421.2"
|
||||
},
|
||||
"eap8021x": {
|
||||
"hash": "sha256-XSbzuNXyDJAADcnZed4Akmg1SK8P1IGrZitmhV3wzlo=",
|
||||
"version": "246.30.1"
|
||||
},
|
||||
"hfs": {
|
||||
"hash": "sha256-7ByUP59FXmmrxC5yJYUQxrkgt/vY7vZMl5JPQ0HfoS8=",
|
||||
"version": "366.30.3"
|
||||
},
|
||||
"launchd": {
|
||||
"hash": "sha256-8mW9bnuHmRXCx9py8Wy28C5b2QPICW0rlAps5njYa00=",
|
||||
"version": "842.1.4"
|
||||
},
|
||||
"libclosure": {
|
||||
"hash": "sha256-hfXKQDRdgEDVyT+3v/EuQZyXNd0abD2tICYdQNfhtwY=",
|
||||
"version": "67"
|
||||
},
|
||||
"libdispatch": {
|
||||
"hash": "sha256-tj4+6V4FL/XVON13UH71schElTm4/IKtPJH/yoUgRY0=",
|
||||
"version": "703.30.5"
|
||||
},
|
||||
"libmalloc": {
|
||||
"hash": "sha256-q9zcUy8YTsRds6RYJMIUIY/MULQ19uKiNduMXP3D7hA=",
|
||||
"version": "116.30.3"
|
||||
},
|
||||
"libplatform": {
|
||||
"hash": "sha256-k9Pd+TJCrNS7K100og+6bLAZjV/0VUTy8SIOsc+SE6Q=",
|
||||
"version": "126.1.2"
|
||||
},
|
||||
"libpthread": {
|
||||
"hash": "sha256-FJaJO4lXIMAIwEmVF6mHE4ZZZoPI8ZIVuMKLojEsESE=",
|
||||
"version": "218.30.1"
|
||||
},
|
||||
"mDNSResponder": {
|
||||
"hash": "sha256-LYDkkmgyfWKK6AMINXyrXo5kw7+lxUcz+4Ckq9175vA=",
|
||||
"version": "765.30.11"
|
||||
},
|
||||
"objc4": {
|
||||
"hash": "sha256-WfhJo+/KPGr3/OuV5Kg2no48UR7VVVarh9TB3VFSCQ4=",
|
||||
"version": "706"
|
||||
},
|
||||
"ppp": {
|
||||
"hash": "sha256-eW62wL8C1GZ2+5aN0dTPsdoEu6FWf+6XEYv8OiEeMfY=",
|
||||
"version": "838"
|
||||
},
|
||||
"removefile": {
|
||||
"hash": "sha256-EJYU6eHggyRsezClEWkGJmgePIdtyF4rpFD4kSK5Czw=",
|
||||
"version": "45"
|
||||
},
|
||||
"xnu": {
|
||||
"hash": "sha256-pkELzbsWPtm9H31LaRkaVjkQpPDxG9E93TNS+K9nqhE=",
|
||||
"version": "3789.31.2"
|
||||
}
|
||||
},
|
||||
"10.13.2": {
|
||||
"CarbonHeaders": {
|
||||
"hash": "sha256-nIPXnLr21yVnpBhx9K5q3l/nPARA6JL/dED08MeyhP8=",
|
||||
"version": "18.1"
|
||||
},
|
||||
"CommonCrypto": {
|
||||
"hash": "sha256-3vx4HPlHP8PNi1GodeRh2iOEhyRBct3vX0Guc8060+I=",
|
||||
"version": "60118.30.2"
|
||||
},
|
||||
"IOAudioFamily": {
|
||||
"hash": "sha256-UG09Dc+up5cJKDHPpCmo11IsBchqZ72hVBPx8y+1klw=",
|
||||
"version": "206.5"
|
||||
},
|
||||
"IOBDStorageFamily": {
|
||||
"hash": "sha256-aaS5jWPRX4be8d3Rigq+kXzi9Zwbr8dHcNgcIz0n66o=",
|
||||
"version": "19"
|
||||
},
|
||||
"IOCDStorageFamily": {
|
||||
"hash": "sha256-U6v+Gj+IumU8Aha5+uf3yOU0Z4KMuBh7aXnJqiZ/abY=",
|
||||
"version": "58"
|
||||
},
|
||||
"IODVDStorageFamily": {
|
||||
"hash": "sha256-JLp4xN0Rdb2VpuXtVTODYNqQthDEZk+g/lvHRwJHQB4=",
|
||||
"version": "42"
|
||||
},
|
||||
"IOFWDVComponents": {
|
||||
"hash": "sha256-WkfkWnzRupEh20U7vjsTta89clhus6GTkOpXQWXw/bM=",
|
||||
"version": "208"
|
||||
},
|
||||
"IOFireWireAVC": {
|
||||
"hash": "sha256-4JS+oezknezxud2E2ojYdSx7A8Z9Q4rddetAoUMU1es=",
|
||||
"version": "425"
|
||||
},
|
||||
"IOFireWireFamily": {
|
||||
"hash": "sha256-+FPlhMN2h1iCg1GAqH8+MwHG3GIs4DvvE3QGABX+3Rg=",
|
||||
"version": "468"
|
||||
},
|
||||
"IOFireWireSBP2": {
|
||||
"hash": "sha256-5UWldDuSyAnRYjgIKllY4VNbxtAUawrlRS46+8FnbPs=",
|
||||
"version": "427"
|
||||
},
|
||||
"IOFireWireSerialBusProtocolTransport": {
|
||||
"hash": "sha256-a/xnnR2dUSWVMyTlkxJPa7cWk20RHl0Zh2Ot2pSEkF0=",
|
||||
"version": "252"
|
||||
},
|
||||
"IOGraphics": {
|
||||
"hash": "sha256-E0wDkVmSeEcyO6L6OeWEQuZ0Ggh7MUkfqeQ9uLUEK/g=",
|
||||
"version": "517.22"
|
||||
},
|
||||
"IOHIDFamily": {
|
||||
"hash": "sha256-9FhH53LyP1Yv2/afmr/lpNhl/GNFb/Yg+VpG5Ycg300=",
|
||||
"version": "1035.30.15"
|
||||
},
|
||||
"IOKitUser": {
|
||||
"hash": "sha256-LebulFJ4KJ5Vbcjj6SC70cmed/0vhCVYo5qDxCw85SE=",
|
||||
"version": "1445.31.1"
|
||||
},
|
||||
"IONetworkingFamily": {
|
||||
"hash": "sha256-gXGFCSn6JnHOVaRKhGXFYdvJBo/AGBMDrUdIcw/CwqI=",
|
||||
"version": "124.30.1"
|
||||
},
|
||||
"IOSerialFamily": {
|
||||
"hash": "sha256-wVS4QTx6MBOS0VrwyCZ3s5Usezwaf8rWzmNnfdDTXTU=",
|
||||
"version": "93"
|
||||
},
|
||||
"IOStorageFamily": {
|
||||
"hash": "sha256-Jo+0XlNi82KGksyrvUGyVPfmPMlTrDmZ75DT2lH66TY=",
|
||||
"version": "218.30.1"
|
||||
},
|
||||
"IOUSBFamily": {
|
||||
"hash": "sha256-Z0E3TfKP49toYo1Fo9kElRap8CZ+mVDHy5RIexgJTpA=",
|
||||
"version": "630.4.5"
|
||||
},
|
||||
"Libc": {
|
||||
"hash": "sha256-js2xU5dMF5j209F9Cufuq5WzqcyNusbJDyuPpMgYEZU=",
|
||||
"version": "1244.30.3"
|
||||
},
|
||||
"Libinfo": {
|
||||
"hash": "sha256-pVVLb8eOuLVc4HHGcgpl7dqT+Tg2xqKQIQroyLj5OEg=",
|
||||
"version": "517.30.1"
|
||||
},
|
||||
"Libm": {
|
||||
"hash": "sha256-p4BndAag9d0XSMYWQ+c4myGv5qXbKx5E1VghudSbpTk=",
|
||||
"version": "2026"
|
||||
},
|
||||
"Libnotify": {
|
||||
"hash": "sha256-nsWWqelTEP4nPJI3vG897zpSOxYOgpm8TUVJ04MrWU4=",
|
||||
"version": "172"
|
||||
},
|
||||
"Librpcsvc": {
|
||||
"hash": "sha256-8e8E9TkRTAep3/miyqhF/mSkNdlym12W+AVhXF94+Bg=",
|
||||
"version": "26"
|
||||
},
|
||||
"Libsystem": {
|
||||
"hash": "sha256-+VFJoiqEtXUcP8ERUxtrKwTWZmgdppr+0oPUxSgIF+c=",
|
||||
"version": "1252"
|
||||
},
|
||||
"OpenDirectory": {
|
||||
"hash": "sha256-6fSl8PasCZSBfe0ftaePcBuSEO3syb6kK+mfDI6iR7A=",
|
||||
"version": "146"
|
||||
},
|
||||
"Security": {
|
||||
"hash": "sha256-W3bSTDCjj2ftq0wbDp+Z8QfD6TpF4p0fLrVjx2AmvfY=",
|
||||
"version": "58286.31.2"
|
||||
},
|
||||
"architecture": {
|
||||
"hash": "sha256-gHUfKWc1uahI/IATafY1ppPAWnYUghOEXWK2lknAfrQ=",
|
||||
"version": "268"
|
||||
},
|
||||
"configd": {
|
||||
"hash": "sha256-1YGIbAES4OONFtC2xxXWbM7Htlz2kKtFUULWqBB6fz0=",
|
||||
"version": "963.30.1"
|
||||
},
|
||||
"copyfile": {
|
||||
"hash": "sha256-CYTZwieSu1Fm9TLaaevfxDngAPRkEfewY+TgJrREed8=",
|
||||
"version": "146.30.2"
|
||||
},
|
||||
"dtrace": {
|
||||
"hash": "sha256-sgLSbCp9tYZ7ws2jgxB3NaAk+ijsIbmybsi0gkbZjFQ=",
|
||||
"version": "262"
|
||||
},
|
||||
"dyld": {
|
||||
"hash": "sha256-b1hM+iQl7ihRjHRL4Rcg5AHv5HSyKErVkTb+5KFF2P4=",
|
||||
"version": "519.2.2"
|
||||
},
|
||||
"eap8021x": {
|
||||
"hash": "sha256-KZsnzH5JiLfzY3zjMAlJRPCGY5EioW6aDJnMAemZJUY=",
|
||||
"version": "264.30.3"
|
||||
},
|
||||
"hfs": {
|
||||
"hash": "sha256-Ine8EFpW1kuNDn/r66abGyvYm+NSGI5TV3v/OlgyIME=",
|
||||
"version": "407.30.1"
|
||||
},
|
||||
"launchd": {
|
||||
"hash": "sha256-8mW9bnuHmRXCx9py8Wy28C5b2QPICW0rlAps5njYa00=",
|
||||
"version": "842.1.4"
|
||||
},
|
||||
"libclosure": {
|
||||
"hash": "sha256-hfXKQDRdgEDVyT+3v/EuQZyXNd0abD2tICYdQNfhtwY=",
|
||||
"version": "67"
|
||||
},
|
||||
"libdispatch": {
|
||||
"hash": "sha256-rvsvtv9VncLxQHoURBBczrTaSgbw5827Qf2TxAPopqA=",
|
||||
"version": "913.30.4"
|
||||
},
|
||||
"libmalloc": {
|
||||
"hash": "sha256-VM5jHQYqDkoGmrQ2UugTu+XOLjd1YPqdfddzQkKfhiY=",
|
||||
"version": "140.1.1"
|
||||
},
|
||||
"libplatform": {
|
||||
"hash": "sha256-zQ3MYqQoMCsfgG6frwnG3LfKWwauTzgwhoADXVUiGR0=",
|
||||
"version": "161.20.1"
|
||||
},
|
||||
"libpthread": {
|
||||
"hash": "sha256-6NLKbnBXikSfqz0ZWF6MOIq/bQK/CmfQNvkNXCU6lcw=",
|
||||
"version": "301.30.1"
|
||||
},
|
||||
"mDNSResponder": {
|
||||
"hash": "sha256-anzilyXeGh8LL3cYvuLRdqGzhHUvSp9eILJWAltL18M=",
|
||||
"version": "878.30.4"
|
||||
},
|
||||
"objc4": {
|
||||
"hash": "sha256-+4o+EzD0YQhgfTg/W9SbVDol7wWUIFxVAVTGg4OVfHQ=",
|
||||
"version": "723"
|
||||
},
|
||||
"ppp": {
|
||||
"hash": "sha256-eUIFlYHsAPRrBS0TpTP1/TacaK8h/5QM2Xl1T46MdWc=",
|
||||
"version": "847"
|
||||
},
|
||||
"removefile": {
|
||||
"hash": "sha256-EJYU6eHggyRsezClEWkGJmgePIdtyF4rpFD4kSK5Czw=",
|
||||
"version": "45"
|
||||
},
|
||||
"xnu": {
|
||||
"hash": "sha256-x2k0KyNk4mIodXfYDHjaCKR1CsiE3HYBNN6p5SfGIMU=",
|
||||
"version": "4570.31.3"
|
||||
}
|
||||
},
|
||||
"10.14.6": {
|
||||
"CarbonHeaders": {
|
||||
"hash": "sha256-nIPXnLr21yVnpBhx9K5q3l/nPARA6JL/dED08MeyhP8=",
|
||||
"version": "18.1"
|
||||
},
|
||||
"CommonCrypto": {
|
||||
"hash": "sha256-hqsLaS7LEPu8t/bNuV4VUUbMteCetf3/o8e2X0iQvOo=",
|
||||
"version": "60118.250.2"
|
||||
},
|
||||
"IOAudioFamily": {
|
||||
"hash": "sha256-UG09Dc+up5cJKDHPpCmo11IsBchqZ72hVBPx8y+1klw=",
|
||||
"version": "206.5"
|
||||
},
|
||||
"IOBDStorageFamily": {
|
||||
"hash": "sha256-aaS5jWPRX4be8d3Rigq+kXzi9Zwbr8dHcNgcIz0n66o=",
|
||||
"version": "19"
|
||||
},
|
||||
"IOCDStorageFamily": {
|
||||
"hash": "sha256-U6v+Gj+IumU8Aha5+uf3yOU0Z4KMuBh7aXnJqiZ/abY=",
|
||||
"version": "58"
|
||||
},
|
||||
"IODVDStorageFamily": {
|
||||
"hash": "sha256-JLp4xN0Rdb2VpuXtVTODYNqQthDEZk+g/lvHRwJHQB4=",
|
||||
"version": "42"
|
||||
},
|
||||
"IOFWDVComponents": {
|
||||
"hash": "sha256-WkfkWnzRupEh20U7vjsTta89clhus6GTkOpXQWXw/bM=",
|
||||
"version": "208"
|
||||
},
|
||||
"IOFireWireAVC": {
|
||||
"hash": "sha256-EXGpObJVC0b9X3xxEXJScDlM6xygmK3MoCbng21XCmg=",
|
||||
"version": "426"
|
||||
},
|
||||
"IOFireWireFamily": {
|
||||
"hash": "sha256-a8zEWhwQTzgGKg75RBmDXb1pgJr602IxnPBTFkKEqSM=",
|
||||
"version": "473"
|
||||
},
|
||||
"IOFireWireSBP2": {
|
||||
"hash": "sha256-lpYBTL9TzreyxJn4J3vfuXoWMH/4y8FnNKk5YiuDgHI=",
|
||||
"version": "433"
|
||||
},
|
||||
"IOFireWireSerialBusProtocolTransport": {
|
||||
"hash": "sha256-4Y+5+5cJtolSrM3AUnnhSBS3RrKXbg9Kh1ynmllOA2E=",
|
||||
"version": "252.250.2"
|
||||
},
|
||||
"IOGraphics": {
|
||||
"hash": "sha256-QFT+h0gtc7SUf0HNciknG0aMOQXnsWCR25C04dgK1/A=",
|
||||
"version": "530.66"
|
||||
},
|
||||
"IOHIDFamily": {
|
||||
"hash": "sha256-DpYcxGLvk10iz5TG2SO8R+5obEJv+zLK56RzA/pH0KA=",
|
||||
"version": "1090.270.6"
|
||||
},
|
||||
"IOKitUser": {
|
||||
"hash": "sha256-QH2m6BCYtO2JDksH0TebrEldjjZdC4U9otVu/uUoyWY=",
|
||||
"version": "1483.260.4"
|
||||
},
|
||||
"IONetworkingFamily": {
|
||||
"hash": "sha256-M01+Bhf7CTJMA7StjSRFW6ffq7Qf/IOh7aM+JI3ONe8=",
|
||||
"version": "129.200.1"
|
||||
},
|
||||
"IOSerialFamily": {
|
||||
"hash": "sha256-wVS4QTx6MBOS0VrwyCZ3s5Usezwaf8rWzmNnfdDTXTU=",
|
||||
"version": "93"
|
||||
},
|
||||
"IOStorageFamily": {
|
||||
"hash": "sha256-X6s/IyApMQ7zo1wO7IpIk1e94tSsmvvT+fZHThMWv5Y=",
|
||||
"version": "218.260.1"
|
||||
},
|
||||
"IOUSBFamily": {
|
||||
"hash": "sha256-Z0E3TfKP49toYo1Fo9kElRap8CZ+mVDHy5RIexgJTpA=",
|
||||
"version": "630.4.5"
|
||||
},
|
||||
"Libc": {
|
||||
"hash": "sha256-mhhs8U/oZku9o2kqzLW4K8Xv9QbnKNBbBr+Q6NqC1vQ=",
|
||||
"version": "1272.250.1"
|
||||
},
|
||||
"Libinfo": {
|
||||
"hash": "sha256-DUbyWZI+n3WvftlI7aj60CoEHb9y18H1+FYiYQroVEE=",
|
||||
"version": "517.200.9"
|
||||
},
|
||||
"Libm": {
|
||||
"hash": "sha256-p4BndAag9d0XSMYWQ+c4myGv5qXbKx5E1VghudSbpTk=",
|
||||
"version": "2026"
|
||||
},
|
||||
"Libnotify": {
|
||||
"hash": "sha256-q0ns85I9Zwo5bZPN5JqjrJofY8/XLl+mbsRhyF1kx+o=",
|
||||
"version": "172.200.21"
|
||||
},
|
||||
"Librpcsvc": {
|
||||
"hash": "sha256-8e8E9TkRTAep3/miyqhF/mSkNdlym12W+AVhXF94+Bg=",
|
||||
"version": "26"
|
||||
},
|
||||
"Libsystem": {
|
||||
"hash": "sha256-Lo4S7fsepuYlRtXGcVvNTAlx/soabjvKEUuiO09htNs=",
|
||||
"version": "1252.250.1"
|
||||
},
|
||||
"OpenDirectory": {
|
||||
"hash": "sha256-6fSl8PasCZSBfe0ftaePcBuSEO3syb6kK+mfDI6iR7A=",
|
||||
"version": "146"
|
||||
},
|
||||
"Security": {
|
||||
"hash": "sha256-uqSRU4Ft7+zMQ59FBS+Mu2JcWdbbuWP9/dFfo+Vkr5s=",
|
||||
"version": "58286.270.3.0.1"
|
||||
},
|
||||
"architecture": {
|
||||
"hash": "sha256-WGUNtFSBu9AuefHVEO3uB/JpKEGAgGFX/zRaaW4eYbI=",
|
||||
"version": "272.230.1"
|
||||
},
|
||||
"configd": {
|
||||
"hash": "sha256-Pg58INpZfdKXn1EPut2Kzghfjwxaz1Ex+u5KACA2O7g=",
|
||||
"version": "963.270.3"
|
||||
},
|
||||
"copyfile": {
|
||||
"hash": "sha256-gbxGQ8Wjt20++Bf+BkZT/R5dpsCnRo8+qUcerv5m7V8=",
|
||||
"version": "146.250.1"
|
||||
},
|
||||
"dtrace": {
|
||||
"hash": "sha256-ZbAaH2wmYlgLKtq0bpDoEInZiHMe5Bx84iUQC67ia0E=",
|
||||
"version": "284.250.4"
|
||||
},
|
||||
"dyld": {
|
||||
"hash": "sha256-5wtx+4pSAcNEwcE024XwIRorS3ZW/qmvfkY7UGe75ho=",
|
||||
"version": "655.1.1"
|
||||
},
|
||||
"eap8021x": {
|
||||
"hash": "sha256-9j+6Hw7w9wdLZxjdRwTACws2obg2/VCgl9ed4+Y4pPg=",
|
||||
"version": "264.250.6"
|
||||
},
|
||||
"hfs": {
|
||||
"hash": "sha256-/yf6z0VJkw2pPnVst2qgnSZfO6x9ot/cWT7Aewo3IZ4=",
|
||||
"version": "407.200.4"
|
||||
},
|
||||
"launchd": {
|
||||
"hash": "sha256-8mW9bnuHmRXCx9py8Wy28C5b2QPICW0rlAps5njYa00=",
|
||||
"version": "842.1.4"
|
||||
},
|
||||
"libclosure": {
|
||||
"hash": "sha256-NHK+yc7M/wc6Sbk24LDejNjBrbcWIg9zrYHlnPXC/Yc=",
|
||||
"version": "73"
|
||||
},
|
||||
"libdispatch": {
|
||||
"hash": "sha256-b0WqX3qX/qhUi2l63BrNvaVq167SuIgYGPid92MJ32U=",
|
||||
"version": "1008.270.1"
|
||||
},
|
||||
"libmalloc": {
|
||||
"hash": "sha256-1ZvO0LGV4AkDSdtwqfPFgCUbpAVzfKS0msa58tL2WLA=",
|
||||
"version": "166.251.2"
|
||||
},
|
||||
"libplatform": {
|
||||
"hash": "sha256-xQqCf+/DpHu/JMbmOpy6jl3np0H7/m1NKWZ21YWaerE=",
|
||||
"version": "177.270.1"
|
||||
},
|
||||
"libpthread": {
|
||||
"hash": "sha256-+AuYgLTM5RO3+MbxeE86rPh9WbiTiAl2gHZOAaQRkec=",
|
||||
"version": "330.250.2"
|
||||
},
|
||||
"mDNSResponder": {
|
||||
"hash": "sha256-SlrC3LIOndY1DVJ26bnuYQwpLhkV1PHAMJeaE3bMDI4=",
|
||||
"version": "878.270.2"
|
||||
},
|
||||
"objc4": {
|
||||
"hash": "sha256-rzDiOE//rUnRyCHM/XUQs9IImKGIFN/0D0IZ7SeGp2s=",
|
||||
"version": "756.2"
|
||||
},
|
||||
"ppp": {
|
||||
"hash": "sha256-a0zTwevtC+AAyLV/0+rX9VN5BXc2vaZGArz83VZtiWs=",
|
||||
"version": "847.200.5"
|
||||
},
|
||||
"removefile": {
|
||||
"hash": "sha256-23+ivRTPKId9Is5NAwYmVgN7TX2+7v9NONs9u7DrGH4=",
|
||||
"version": "45.200.2"
|
||||
},
|
||||
"xnu": {
|
||||
"hash": "sha256-ZRgj214Mmvvcji4OdzRjK/7Xtpz7r69SFmzSvtZNhNU=",
|
||||
"version": "4903.270.47"
|
||||
}
|
||||
},
|
||||
"10.15.6": {
|
||||
"CarbonHeaders": {
|
||||
"hash": "sha256-nIPXnLr21yVnpBhx9K5q3l/nPARA6JL/dED08MeyhP8=",
|
||||
"version": "18.1"
|
||||
},
|
||||
"CommonCrypto": {
|
||||
"hash": "sha256-HKSRtTnJ6dH5j6Y+PRDQUcPyjwR70PEbRQu3hTM4G0A=",
|
||||
"version": "60165.120.1"
|
||||
},
|
||||
"IOAudioFamily": {
|
||||
"hash": "sha256-5lcK8nyjayLBw9j4PPVs8TWwOWcpggKkSXefVGl2rfA=",
|
||||
"version": "300.2"
|
||||
},
|
||||
"IOBDStorageFamily": {
|
||||
"hash": "sha256-aaS5jWPRX4be8d3Rigq+kXzi9Zwbr8dHcNgcIz0n66o=",
|
||||
"version": "19"
|
||||
},
|
||||
"IOCDStorageFamily": {
|
||||
"hash": "sha256-U6v+Gj+IumU8Aha5+uf3yOU0Z4KMuBh7aXnJqiZ/abY=",
|
||||
"version": "58"
|
||||
},
|
||||
"IODVDStorageFamily": {
|
||||
"hash": "sha256-JLp4xN0Rdb2VpuXtVTODYNqQthDEZk+g/lvHRwJHQB4=",
|
||||
"version": "42"
|
||||
},
|
||||
"IOFWDVComponents": {
|
||||
"hash": "sha256-WkfkWnzRupEh20U7vjsTta89clhus6GTkOpXQWXw/bM=",
|
||||
"version": "208"
|
||||
},
|
||||
"IOFireWireAVC": {
|
||||
"hash": "sha256-7H3WcZC/HuS9xsTNDWRqt+1JzUNK4ndvd4u2ru0GGRE=",
|
||||
"version": "428"
|
||||
},
|
||||
"IOFireWireFamily": {
|
||||
"hash": "sha256-hLtd3d5qOsYdnGpMaTSipu9bOIYEHz2rKzNAoJai4dI=",
|
||||
"version": "475"
|
||||
},
|
||||
"IOFireWireSBP2": {
|
||||
"hash": "sha256-pHY6okHHotfFjdNsLwRjQX7dWGolBelpD7MEDz4lafY=",
|
||||
"version": "434"
|
||||
},
|
||||
"IOFireWireSerialBusProtocolTransport": {
|
||||
"hash": "sha256-Jb70fanuJTNV4IVoKMtMA66oVDR0I/h3JSIymhlKTQU=",
|
||||
"version": "257"
|
||||
},
|
||||
"IOGraphics": {
|
||||
"hash": "sha256-sKnJ0MOhT+dFfmMD2gqYmySufh0I9vBI/swjqoCbSHc=",
|
||||
"version": "576.1"
|
||||
},
|
||||
"IOHIDFamily": {
|
||||
"hash": "sha256-esiEGEiggFMR7rha6+dYaqiwGM+TlZtLBe8LF/PF0D8=",
|
||||
"version": "1446.140.2"
|
||||
},
|
||||
"IOKitUser": {
|
||||
"hash": "sha256-rB5zfJwoBPMpqW5PDM6ppWW07Y2AGS3f0UzXdfPGYYE=",
|
||||
"version": "1726.140.1"
|
||||
},
|
||||
"IONetworkingFamily": {
|
||||
"hash": "sha256-T+aDA++nubTHdPpfdAEm6077eJuzsQXHUDEbdlthVBQ=",
|
||||
"version": "139.140.2"
|
||||
},
|
||||
"IOSerialFamily": {
|
||||
"hash": "sha256-wVS4QTx6MBOS0VrwyCZ3s5Usezwaf8rWzmNnfdDTXTU=",
|
||||
"version": "93"
|
||||
},
|
||||
"IOStorageFamily": {
|
||||
"hash": "sha256-vyIN7oru2PN7C4a6RBJomlYs4NaYzmCTBEuWiSXG41M=",
|
||||
"version": "238.120.1"
|
||||
},
|
||||
"IOUSBFamily": {
|
||||
"hash": "sha256-Z0E3TfKP49toYo1Fo9kElRap8CZ+mVDHy5RIexgJTpA=",
|
||||
"version": "630.4.5"
|
||||
},
|
||||
"Libc": {
|
||||
"hash": "sha256-FAifkHs2Kls2ym9/M56o4u2UZfdTKCnqxRbTXOIHyz8=",
|
||||
"version": "1353.100.2"
|
||||
},
|
||||
"Libinfo": {
|
||||
"hash": "sha256-syTH8dhWkSPgqRG7p528L7Xx1+ymmqHrCyhUykGhK9s=",
|
||||
"version": "538"
|
||||
},
|
||||
"Libm": {
|
||||
"hash": "sha256-p4BndAag9d0XSMYWQ+c4myGv5qXbKx5E1VghudSbpTk=",
|
||||
"version": "2026"
|
||||
},
|
||||
"Libnotify": {
|
||||
"hash": "sha256-7o4GNZde3MkCks2NJdNIXvvtMAOqGEA05M7S8o7j0XQ=",
|
||||
"version": "241.100.2"
|
||||
},
|
||||
"Librpcsvc": {
|
||||
"hash": "sha256-8e8E9TkRTAep3/miyqhF/mSkNdlym12W+AVhXF94+Bg=",
|
||||
"version": "26"
|
||||
},
|
||||
"Libsystem": {
|
||||
"hash": "sha256-RNkaoaRl6akbrgjagLd+ncZ2EAdjegIdy7Z/MINoTpc=",
|
||||
"version": "1281.100.1"
|
||||
},
|
||||
"OpenDirectory": {
|
||||
"hash": "sha256-6fSl8PasCZSBfe0ftaePcBuSEO3syb6kK+mfDI6iR7A=",
|
||||
"version": "146"
|
||||
},
|
||||
"Security": {
|
||||
"hash": "sha256-dlNTEVkgTl3po7ty2wjatGTANBwegpZxBX1ByneqKRU=",
|
||||
"version": "59306.140.5"
|
||||
},
|
||||
"architecture": {
|
||||
"hash": "sha256-pIX9pEXE1Xjll9qwiWrMRwqw6G4g0isto/ALHsmkUSc=",
|
||||
"version": "279"
|
||||
},
|
||||
"configd": {
|
||||
"hash": "sha256-nKFDfyH1gQtFyda6HBq3E7Tp5EI4O5n/9GYQEFhMIdE=",
|
||||
"version": "1061.141.1"
|
||||
},
|
||||
"copyfile": {
|
||||
"hash": "sha256-nEfD/KUk7e32tw9buQYrsy/BAdAfgE9IObdV4nCm37M=",
|
||||
"version": "166.40.1"
|
||||
},
|
||||
"dtrace": {
|
||||
"hash": "sha256-dgJ7om5efUQyc9tP6cBeSpahORqV5bzEDcxcVu4TaDg=",
|
||||
"version": "338.100.1"
|
||||
},
|
||||
"dyld": {
|
||||
"hash": "sha256-YkFazM/cviJMwPVXHXP2irfgHtOueI2RNrMedWvkH0A=",
|
||||
"version": "750.6"
|
||||
},
|
||||
"eap8021x": {
|
||||
"hash": "sha256-/FsmD4mk/kwsocK8x8Gsk3yOBW3pZLcGHxnNcogqjhY=",
|
||||
"version": "292.40.2"
|
||||
},
|
||||
"hfs": {
|
||||
"hash": "sha256-vNo2Wd0n6tjG+xtA3OrwB/TOXvLxaLehEY/l9ZBS5Sw=",
|
||||
"version": "522.100.5"
|
||||
},
|
||||
"launchd": {
|
||||
"hash": "sha256-8mW9bnuHmRXCx9py8Wy28C5b2QPICW0rlAps5njYa00=",
|
||||
"version": "842.1.4"
|
||||
},
|
||||
"libclosure": {
|
||||
"hash": "sha256-A3QTD6bqUy8ahH/XlMuidYNvT92ufeVpwPsZh4ZzQdk=",
|
||||
"version": "74"
|
||||
},
|
||||
"libdispatch": {
|
||||
"hash": "sha256-gd56s0C2dKbZoaGNXt3LBfXaEl5A744djFq3G9uoWws=",
|
||||
"version": "1173.100.2"
|
||||
},
|
||||
"libmalloc": {
|
||||
"hash": "sha256-1VhkXY8m6vVQ4aaxICtHVQtXDHNV2CsY9UUst0AioMY=",
|
||||
"version": "283.100.6"
|
||||
},
|
||||
"libplatform": {
|
||||
"hash": "sha256-Z4Lj9efT1bt6HMAMQvgMc33QdYzrBvieBjmw4W6H9YI=",
|
||||
"version": "220.100.1"
|
||||
},
|
||||
"libpthread": {
|
||||
"hash": "sha256-ZHxqq1qVRXPL0psAX+5bcuA5D/FjJnIcm+ctTkTGBJA=",
|
||||
"version": "416.100.3"
|
||||
},
|
||||
"mDNSResponder": {
|
||||
"hash": "sha256-CV3GBeO4Ly8/PbZ7Fq55diRzB00VsB2uTvjGo/tqf10=",
|
||||
"version": "1096.100.3"
|
||||
},
|
||||
"objc4": {
|
||||
"hash": "sha256-AJwPTnjJMBbSFDppvKyx92RdfmbmwQOvPnU0E0mU+jU=",
|
||||
"version": "787.1"
|
||||
},
|
||||
"ppp": {
|
||||
"hash": "sha256-DNmDigQqDKR1ghcn6GaKeDldp6thH2C6+uZKjC3EfkU=",
|
||||
"version": "862.140.2"
|
||||
},
|
||||
"removefile": {
|
||||
"hash": "sha256-bkxiq7OEFtEFPwSBi4OxmpRyKWYgeMhnokFfS7RPUnU=",
|
||||
"version": "48"
|
||||
},
|
||||
"xnu": {
|
||||
"hash": "sha256-Y/DTtpnT8JQZO5Ijr+tW0IrIOuECcJ+ZvFLCgwrFt2M=",
|
||||
"version": "6153.141.1"
|
||||
}
|
||||
},
|
||||
"11.3": {
|
||||
"CarbonHeaders": {
|
||||
"hash": "sha256-nIPXnLr21yVnpBhx9K5q3l/nPARA6JL/dED08MeyhP8=",
|
||||
|
@ -1,24 +1,4 @@
|
||||
{
|
||||
"10.12": {
|
||||
"url": "http://swcdn.apple.com/content/downloads/22/62/041-88607/wg8avdk0jo75k9a13gentz9stwqgrqmcv6/CLTools_SDK_OSX1012.pkg",
|
||||
"version": "10.12.2",
|
||||
"hash": "sha256-Jf2WIB9bY/rPwe0AOW3YWJY/6EqVe41yhezdTGOO3M8="
|
||||
},
|
||||
"10.13": {
|
||||
"url": "http://swcdn.apple.com/content/downloads/33/36/041-90419-A_7JJ4H9ZHO2/xs88ob5wjz6riz7g6764twblnvksusg4ps/CLTools_SDK_macOS1013.pkg",
|
||||
"version": "10.13.2",
|
||||
"hash": "sha256-8nd55fiJLfRWABAbMaHXjp6i20RqupmKedwmhb3S0/A="
|
||||
},
|
||||
"10.14": {
|
||||
"url": "http://swcdn.apple.com/content/downloads/41/57/061-26573-A_JMOA8GZGDR/lj8yrtu8dgs40fw9k8f5fkoviwkp0og6vs/CLTools_SDK_macOS1014.pkg",
|
||||
"version": "10.14.6",
|
||||
"hash": "sha256-NMNkycIl3AVZCw0ZpHNkaeYVS9LAZVSddHw5loL9dhk="
|
||||
},
|
||||
"10.15": {
|
||||
"url": "https://swcdn.apple.com/content/downloads/50/51/071-29699-A_YC8SX0OHH3/7479xojqghsvgtnt3dxjpnxuz9sjpmbmds/CLTools_macOSLMOS_SDK.pkg",
|
||||
"version": "10.15.6",
|
||||
"hash": "sha256-mPJQC+v4yNiOCKLQfhidB2WH2MMclSCP1odvOoGdVPw="
|
||||
},
|
||||
"11": {
|
||||
"url": "https://swcdn.apple.com/content/downloads/02/62/071-54303-A_EU2CL1YVT7/943i95dpeyi2ghlnj2mgyq3t202t5gf18b/CLTools_macOSNMOS_SDK.pkg",
|
||||
"version": "11.3",
|
||||
|
@ -9,12 +9,8 @@ in
|
||||
substitute,
|
||||
|
||||
# Specifies the major version used for the SDK. Uses `hostPlatform.darwinSdkVersion` by default.
|
||||
darwinSdkMajorVersion ? (
|
||||
if lib.versionOlder stdenv.hostPlatform.darwinSdkVersion "11" then
|
||||
lib.versions.majorMinor stdenv.hostPlatform.darwinSdkVersion
|
||||
else
|
||||
lib.versions.major stdenv.hostPlatform.darwinSdkVersion
|
||||
),
|
||||
darwinSdkMajorVersion ? lib.versions.major stdenv.hostPlatform.darwinSdkVersion,
|
||||
|
||||
# Enabling bootstrap disables propagation. Defaults to `false` (meaning to propagate certain packages and `xcrun`)
|
||||
# except in stage0 of the Darwin stdenv bootstrap.
|
||||
enableBootstrap ? stdenv.name == "bootstrap-stage0-stdenv-darwin",
|
||||
@ -48,11 +44,6 @@ let
|
||||
(callPackage ./common/propagate-inputs.nix { })
|
||||
(callPackage ./common/propagate-xcrun.nix { })
|
||||
]
|
||||
# Older SDKs do not include the libraries re-exported from umbrella frameworks in the umbrellas’ stubs, which causes
|
||||
# link failures for those libraries unless their paths have been rewritten to point to the store.
|
||||
++ lib.optionals (lib.versionOlder sdkVersion "11.0") [
|
||||
(callPackage ./common/rewrite-sdk-paths.nix { inherit sdkVersion; })
|
||||
]
|
||||
# This has to happen last.
|
||||
++ [
|
||||
(callPackage ./common/run-build-phase-hooks.nix { })
|
||||
@ -97,9 +88,7 @@ stdenvNoCC.mkDerivation (
|
||||
mkdir -p "$sdkpath"
|
||||
|
||||
cp -rd . "$sdkpath/${sdkName}"
|
||||
${lib.optionalString (lib.versionAtLeast finalAttrs.version "11.0") ''
|
||||
ln -s "${sdkName}" "$sdkpath/MacOSX${sdkMajor}.sdk"
|
||||
''}
|
||||
ln -s "${sdkName}" "$sdkpath/MacOSX${sdkMajor}.sdk"
|
||||
ln -s "${sdkName}" "$sdkpath/MacOSX.sdk"
|
||||
|
||||
runHook postInstall
|
||||
@ -116,9 +105,7 @@ stdenvNoCC.mkDerivation (
|
||||
homepage = "https://developer.apple.com";
|
||||
maintainers = lib.teams.darwin.members;
|
||||
platforms = lib.platforms.darwin;
|
||||
badPlatforms =
|
||||
lib.optionals (lib.versionAtLeast sdkVersion "10.15") [ lib.systems.inspect.patterns.is32bit ]
|
||||
++ lib.optionals (lib.versionOlder sdkVersion "11.0") [ lib.systems.inspect.patterns.isAarch ];
|
||||
badPlatforms = [ lib.systems.inspect.patterns.is32bit ];
|
||||
};
|
||||
})
|
||||
)
|
||||
|
@ -1,50 +0,0 @@
|
||||
From 989ba5e30cefa0dd8990da158661713c4a21c0fe Mon Sep 17 00:00:00 2001
|
||||
From: Randy Eckenrode <randy@largeandhighquality.com>
|
||||
Date: Thu, 11 Apr 2024 18:05:34 -0400
|
||||
Subject: [PATCH 3/6] Fix utimensat compatability with the 10.12 SDK
|
||||
|
||||
---
|
||||
include/compat.h | 3 +++
|
||||
libstuff/writeout.c | 2 +-
|
||||
misc/lipo.c | 2 +-
|
||||
3 files changed, 5 insertions(+), 2 deletions(-)
|
||||
create mode 100644 include/compat.h
|
||||
|
||||
diff --git a/include/compat.h b/include/compat.h
|
||||
new file mode 100644
|
||||
index 0000000..8b1b866
|
||||
--- /dev/null
|
||||
+++ b/include/compat.h
|
||||
@@ -0,0 +1,3 @@
|
||||
+#pragma once
|
||||
+#include <time.h>
|
||||
+extern int utimensat(int dirfd, const char* pathname, const struct timespec times[_Nullable 2], int flags);
|
||||
diff --git a/libstuff/writeout.c b/libstuff/writeout.c
|
||||
index f904caa..03fa535 100644
|
||||
--- a/libstuff/writeout.c
|
||||
+++ b/libstuff/writeout.c
|
||||
@@ -297,7 +297,7 @@ no_throttle:
|
||||
* have been zeroed out when the library was created. writeout
|
||||
* will not zero out the modification time in the filesystem.
|
||||
*/
|
||||
- if (__builtin_available(macOS 10.12, *)) {
|
||||
+ if (__builtin_available(macOS 10.13, *)) {
|
||||
struct timespec times[2] = {0};
|
||||
memcpy(×[0], &toc_timespec, sizeof(struct timespec));
|
||||
memcpy(×[1], &toc_timespec, sizeof(struct timespec));
|
||||
diff --git a/misc/lipo.c b/misc/lipo.c
|
||||
index 04a3eca..887c049 100644
|
||||
--- a/misc/lipo.c
|
||||
+++ b/misc/lipo.c
|
||||
@@ -607,7 +607,7 @@ unknown_flag:
|
||||
if(close(fd) == -1)
|
||||
system_fatal("can't close output file: %s",output_file);
|
||||
#ifndef __OPENSTEP__
|
||||
- if (__builtin_available(macOS 10.12, *)) {
|
||||
+ if (__builtin_available(macOS 10.13, *)) {
|
||||
time_result = utimensat(AT_FDCWD, output_file,
|
||||
output_times, 0);
|
||||
}
|
||||
--
|
||||
2.45.2
|
||||
|
@ -28,26 +28,11 @@ target_prefix = get_option('target_prefix')
|
||||
# Dependencies
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
libcxx = cc.find_library('c++')
|
||||
libcodedirectory = cc.find_library('codedirectory')
|
||||
libprunetrie = cc.find_library('prunetrie')
|
||||
|
||||
|
||||
# Feature tests
|
||||
# Add compatibility header for Darwin SDKs that don’t define `utimensat`.
|
||||
utimensat_test = '''
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
int main(int argc, char* argv[]) {
|
||||
utimensat(AT_FDCWD, NULL, NULL, 0);
|
||||
return 0;
|
||||
}
|
||||
'''
|
||||
if host_machine.system() == 'darwin' and not cc.compiles(utimensat_test, name : 'supports utimensat')
|
||||
add_project_arguments('-include', 'compat.h', language : 'c')
|
||||
add_project_link_arguments('-undefined', 'dynamic_lookup', language : 'c')
|
||||
endif
|
||||
|
||||
|
||||
incdirs = include_directories('include')
|
||||
|
||||
# Static libraries
|
||||
@ -454,6 +439,7 @@ install_man('man/nmedit.1')
|
||||
otool = executable(
|
||||
f'@target_prefix@otool',
|
||||
c_args : ['-DEFI_SUPPORT'],
|
||||
dependencies : [libcxx],
|
||||
include_directories : incdirs,
|
||||
install : true,
|
||||
link_with : [libstuff],
|
||||
@ -553,7 +539,7 @@ install_man('man/strings.1')
|
||||
strip = executable(
|
||||
f'@target_prefix@strip',
|
||||
c_args : ['-DTRIE_SUPPORT'],
|
||||
dependencies : [libcodedirectory, libprunetrie],
|
||||
dependencies : [libcxx, libcodedirectory, libprunetrie],
|
||||
include_directories : incdirs,
|
||||
install : true,
|
||||
link_with : [libstuff],
|
||||
|
@ -5,7 +5,6 @@
|
||||
buildPackages,
|
||||
ld64,
|
||||
llvm,
|
||||
memstreamHook,
|
||||
meson,
|
||||
ninja,
|
||||
openssl,
|
||||
@ -73,9 +72,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
./0001-Fix-build-issues-with-misc-redo_prebinding.c.patch
|
||||
# Use libcd_is_blob_a_linker_signature as defined in the libcodedirectory.h header
|
||||
./0002-Rely-on-libcd_is_blob_a_linker_signature.patch
|
||||
# cctools uses availability checks for `utimensat`, but it checks the wrong version.
|
||||
# Also, provide a definition to avoid implicit function definition errors.
|
||||
./0003-Fix-utimensat-compatability-with-the-10.12-SDK.patch
|
||||
# Use the nixpkgs clang’s path as the prefix.
|
||||
./0004-Use-nixpkgs-clang-with-the-assembler-driver.patch
|
||||
# Make sure cctools can find ld64 in the store
|
||||
@ -102,9 +98,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
substituteInPlace misc/libtool.c \
|
||||
--subst-var-by targetPrefix '${targetPrefix}'
|
||||
|
||||
# The version of this file distributed with cctools defines several CPU types missing from the 10.12 SDK.
|
||||
ln -s machine-cctools.h include/mach/machine.h
|
||||
|
||||
# Use libxar from nixpkgs
|
||||
for cctool_src in misc/nm.c otool/print_bitcode.c; do
|
||||
substituteInPlace $cctool_src \
|
||||
@ -130,7 +123,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildInputs = [
|
||||
ld64
|
||||
llvm
|
||||
] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ memstreamHook ];
|
||||
];
|
||||
|
||||
mesonBuildType = "release";
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchurl, memstreamHook }:
|
||||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hyx";
|
||||
@ -14,8 +14,6 @@ stdenv.mkDerivation rec {
|
||||
--replace "-Wl,-z,relro,-z,now -fpic -pie" ""
|
||||
'';
|
||||
|
||||
buildInputs = lib.optional (stdenv.system == "x86_64-darwin") memstreamHook;
|
||||
|
||||
installPhase = ''
|
||||
install -vD hyx $out/bin/hyx
|
||||
'';
|
||||
|
@ -25,48 +25,6 @@ openssl = dependency('openssl', version : '>=3.0')
|
||||
xar = cc.find_library('xar')
|
||||
|
||||
|
||||
# Feature tests
|
||||
|
||||
# macOS 10.12 does not support `DISPATCH_APPLY_AUTO`. Fortunately, `DISPATCH_APPLY_CURRENT_ROOT_QUEUE` has the
|
||||
# same value and was repurposed in subsequent releases as `DISPATCH_APPLY_AUTO`.
|
||||
dispatch_apply_auto_test = '''
|
||||
#include <dispatch/dispatch.h>
|
||||
int main(int argc, char* argv[]) {
|
||||
dispatch_queue_t queue = DISPATCH_APPLY_AUTO;
|
||||
return 0;
|
||||
}
|
||||
'''
|
||||
if not cc.compiles(
|
||||
dispatch_apply_auto_test,
|
||||
args : '-Wno-unused-command-line-argument',
|
||||
name : 'supports DISPATCH_APPLY_AUTO',
|
||||
)
|
||||
add_project_arguments(
|
||||
'-include', 'dispatch/private.h',
|
||||
'-DDISPATCH_APPLY_AUTO=DISPATCH_APPLY_CURRENT_ROOT_QUEUE',
|
||||
'-DPRIVATE', # The required API is private on the 10.12 SDK.
|
||||
language: ['c', 'cpp'],
|
||||
)
|
||||
endif
|
||||
|
||||
# The return type of `dispatch_get_global_queue` was changed in 10.14.
|
||||
# Use the older type if the SDK does not support it.
|
||||
dispatch_queue_global_test = '''
|
||||
#include <dispatch/dispatch.h>
|
||||
int main(int argc, char* argv[]) {
|
||||
dispatch_queue_global_t queue = dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0);
|
||||
return 0;
|
||||
}
|
||||
'''
|
||||
if not cc.compiles(
|
||||
dispatch_queue_global_test,
|
||||
args : '-Wno-unused-command-line-argument',
|
||||
name : 'supports dispatch_queue_global_t',
|
||||
)
|
||||
add_project_arguments('-Ddispatch_queue_global_t=dispatch_queue_t', language : ['c', 'cpp'])
|
||||
endif
|
||||
|
||||
|
||||
# Generated files
|
||||
|
||||
compile_stubs_h = custom_target(
|
||||
@ -143,6 +101,11 @@ ld64 = executable(
|
||||
dependencies : [libtapi, openssl, xar],
|
||||
include_directories : incdirs,
|
||||
install : true,
|
||||
cpp_args : [
|
||||
# Required for `_COMM_PAGE_CPU_CAPABILITIES64` in
|
||||
# <System/machine/cpu_capabilities.h> on `x86_64-darwin`
|
||||
'-DPRIVATE',
|
||||
],
|
||||
# These linker flags mirror those used in a release build of the Xcode project.
|
||||
# See: https://github.com/apple-oss-distributions/ld64/blob/47f477cb721755419018f7530038b272e9d0cdea/ld64.xcodeproj/project.pbxproj#L1292-L1299.
|
||||
link_args : [
|
||||
|
@ -5,6 +5,7 @@
|
||||
fetchFromGitHub,
|
||||
fetchurl,
|
||||
apple-sdk,
|
||||
apple-sdk_14,
|
||||
cctools,
|
||||
darwin,
|
||||
libtapi,
|
||||
@ -32,23 +33,11 @@ let
|
||||
hash = "sha256-0ybVcwHuGEdThv0PPjYQc3SW0YVOyrM3/L9zG/l1Vtk=";
|
||||
};
|
||||
|
||||
dyld = fetchFromGitHub {
|
||||
owner = "apple-oss-distributions";
|
||||
repo = "dyld";
|
||||
rev = "dyld-1162";
|
||||
hash = "sha256-uyFg8QnnP6NWv5lAOTCiFZ0SnFOA/aO/kpjkyvILVsk=";
|
||||
};
|
||||
dyld = apple-sdk_14.sourceRelease "dyld";
|
||||
|
||||
libdispatchPrivate = apple-sdk.sourceRelease "libdispatch";
|
||||
|
||||
# First version with all the required definitions. This is used in preference to darwin.xnu to make it easier
|
||||
# to support Linux and because the version of darwin.xnu available on x86_64-darwin in the 10.12 SDK is too old.
|
||||
xnu = fetchFromGitHub {
|
||||
owner = "apple-oss-distributions";
|
||||
repo = "xnu";
|
||||
rev = "xnu-6153.11.26";
|
||||
hash = "sha256-dcnGcp7bIjQxeAn5pXt+mHSYEXb2Ad9Smhd/WUG4kb4=";
|
||||
};
|
||||
xnu = apple-sdk.sourceRelease "xnu";
|
||||
|
||||
privateHeaders = stdenvNoCC.mkDerivation {
|
||||
name = "ld64-deps-private-headers";
|
||||
@ -167,15 +156,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
libtapi
|
||||
llvm
|
||||
openssl
|
||||
xar
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.dyld ]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ libdispatch ];
|
||||
buildInputs = [
|
||||
libtapi
|
||||
llvm
|
||||
openssl
|
||||
xar
|
||||
] ++ lib.optionals stdenv.hostPlatform.isLinux [ libdispatch ];
|
||||
|
||||
# Note for overrides: ld64 cannot be built as a debug build because of UB in its iteration implementations,
|
||||
# which trigger libc++ debug assertions due to trying to take the address of the first element of an emtpy vector.
|
||||
|
@ -3,7 +3,6 @@
|
||||
, fetchzip
|
||||
, pkg-config
|
||||
, libressl
|
||||
, memstreamHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -21,8 +20,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
libressl
|
||||
] ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [
|
||||
memstreamHook
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
@ -9,7 +9,6 @@
|
||||
, ncurses
|
||||
, autoreconfHook
|
||||
, buildPackages
|
||||
, memstreamHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -39,7 +38,7 @@ stdenv.mkDerivation rec {
|
||||
libgrapheme
|
||||
libressl
|
||||
ncurses
|
||||
] ++ lib.optional stdenv.hostPlatform.isDarwin memstreamHook;
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"HOSTCC=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc"
|
||||
|
@ -1,5 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, lib, zlib, pcre
|
||||
, memorymappingHook, memstreamHook
|
||||
, gnutls
|
||||
}:
|
||||
|
||||
@ -14,8 +13,7 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-AfWw9CMBAzTTsrZXDEoOdpvUofIQfLCW7hRgSb7LB00=";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib pcre gnutls ]
|
||||
++ lib.optionals (stdenv.system == "x86_64-darwin") [ memorymappingHook memstreamHook ];
|
||||
buildInputs = [ zlib pcre gnutls ];
|
||||
|
||||
preConfigure = ''
|
||||
cd src
|
||||
|
@ -14,7 +14,6 @@
|
||||
, installShellFiles
|
||||
, writeSupport ? stdenv.hostPlatform.isLinux
|
||||
, shadowSupport ? stdenv.hostPlatform.isLinux
|
||||
, memstreamHook
|
||||
, gitUpdater
|
||||
}:
|
||||
|
||||
@ -90,8 +89,7 @@ stdenv.mkDerivation rec {
|
||||
++ lib.optionals pamSupport [ pam ]
|
||||
++ lib.optionals capabilitiesSupport [ libcap_ng ]
|
||||
++ lib.optionals ncursesSupport [ ncurses ]
|
||||
++ lib.optionals systemdSupport [ systemd ]
|
||||
++ lib.optionals (stdenv.system == "x86_64-darwin") [ memstreamHook ];
|
||||
++ lib.optionals systemdSupport [ systemd ];
|
||||
|
||||
doCheck = false; # "For development purpose only. Don't execute on production system!"
|
||||
|
||||
|
@ -18,7 +18,6 @@
|
||||
, qcdnum
|
||||
, root
|
||||
, zlib
|
||||
, memorymappingHook, memstreamHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -40,7 +39,6 @@ stdenv.mkDerivation rec {
|
||||
buildInputs =
|
||||
[ apfel blas ceres-solver lhapdf lapack libyaml root qcdnum gsl yaml-cpp zlib ]
|
||||
++ lib.optionals ("5" == lib.versions.major root.version) [ apfelgrid applgrid ]
|
||||
++ lib.optionals (stdenv.system == "x86_64-darwin") [ memorymappingHook memstreamHook ]
|
||||
++ lib.optional (stdenv.hostPlatform.libc == "glibc") libtirpc
|
||||
;
|
||||
|
||||
|
@ -106,9 +106,7 @@ in
|
||||
plot = addToBuildInputs pkgs.plotutils;
|
||||
postgresql = addToBuildInputsWithPkgConfig pkgs.postgresql;
|
||||
rocksdb = addToBuildInputs pkgs.rocksdb_8_3;
|
||||
scheme2c-compatibility = old:
|
||||
addToNativeBuildInputs (lib.optionals (stdenv.system == "x86_64-darwin") [ pkgs.memorymappingHook ])
|
||||
(addPkgConfig old);
|
||||
scheme2c-compatibility = addPkgConfig;
|
||||
sdl-base = old:
|
||||
((addToPropagatedBuildInputsWithPkgConfig pkgs.SDL old) //
|
||||
# needed for sdl-config to be in PATH
|
||||
|
@ -32,42 +32,6 @@ lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
|
||||
export GFORTRAN_FOR_TARGET=${pkgsBuildTarget.gfortran}/bin/${stdenv.targetPlatform.config}-gfortran
|
||||
''
|
||||
|
||||
# NOTE 2020/3/18: This environment variable prevents configure scripts from
|
||||
# detecting the presence of aligned_alloc on Darwin. There are many facts that
|
||||
# collectively make this fix necessary:
|
||||
# - Nix uses a fixed set of standard library headers on all MacOS systems,
|
||||
# regardless of their actual version. (Nix uses version 10.12 headers.)
|
||||
# - Nix uses the native standard library binaries for the build system. That
|
||||
# means the standard library binaries may not exactly match the standard
|
||||
# library headers.
|
||||
# - The aligned_alloc procedure is present in MacOS 10.15 (Catalina), but not
|
||||
# in earlier versions. Therefore on Catalina systems, aligned_alloc is
|
||||
# linkable (i.e. present in the binary libraries) but not present in the
|
||||
# headers.
|
||||
# - Configure scripts detect a procedure's existence by checking whether it is
|
||||
# linkable. They do not check whether it is present in the headers.
|
||||
# - GCC throws an error during compilation because aligned_alloc is not
|
||||
# defined in the headers---even though the linker can see it.
|
||||
#
|
||||
# This fix would not be necessary if ANY of the above were false:
|
||||
# - If Nix used native headers for each different MacOS version, aligned_alloc
|
||||
# would be in the headers on Catalina.
|
||||
# - If Nix used the same library binaries for each MacOS version, aligned_alloc
|
||||
# would not be in the library binaries.
|
||||
# - If Catalina did not include aligned_alloc, this wouldn't be a problem.
|
||||
# - If the configure scripts looked for header presence as well as
|
||||
# linkability, they would see that aligned_alloc is missing.
|
||||
# - If GCC allowed implicit declaration of symbols, it would not fail during
|
||||
# compilation even if the configure scripts did not check header presence.
|
||||
#
|
||||
+ lib.optionalString (buildPlatform.isDarwin) ''
|
||||
export build_configargs=ac_cv_func_aligned_alloc=no
|
||||
'' + lib.optionalString (hostPlatform.isDarwin) ''
|
||||
export host_configargs=ac_cv_func_aligned_alloc=no
|
||||
'' + lib.optionalString (targetPlatform.isDarwin) ''
|
||||
export target_configargs=ac_cv_func_aligned_alloc=no
|
||||
''
|
||||
|
||||
# In order to properly install libgccjit on macOS Catalina, strip(1)
|
||||
# upon installation must not remove external symbols, otherwise the
|
||||
# install step errors with "symbols referenced by indirect symbol
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff --git a/source/Host/macosx/objcxx/HostInfoMacOSX.mm b/source/Host/macosx/objcxx/HostInfoMacOSX.mm
|
||||
--- a/source/Host/macosx/objcxx/HostInfoMacOSX.mm
|
||||
+++ b/source/Host/macosx/objcxx/HostInfoMacOSX.mm
|
||||
@@ -233,7 +233,7 @@ void HostInfoMacOSX::ComputeHostArchitectureSupport(ArchSpec &arch_32,
|
||||
len = sizeof(is_64_bit_capable);
|
||||
::sysctlbyname("hw.cpu64bit_capable", &is_64_bit_capable, &len, NULL, 0);
|
||||
|
||||
- if (cputype == CPU_TYPE_ARM64 && cpusubtype == CPU_SUBTYPE_ARM64E) {
|
||||
+ if (cputype == CPU_TYPE_ARM64 && cpusubtype == ((cpu_subtype_t) 2)) { // CPU_SUBTYPE_ARM64E is not available in the macOS 10.12 headers
|
||||
// The arm64e architecture is a preview. Pretend the host architecture
|
||||
// is arm64.
|
||||
cpusubtype = CPU_SUBTYPE_ARM64_ALL;
|
@ -1,31 +0,0 @@
|
||||
From 9c1cb26c1dd3f92d1c1177e548107d2cd3c5e616 Mon Sep 17 00:00:00 2001
|
||||
From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
|
||||
Date: Fri, 23 Feb 2024 22:58:58 +0000
|
||||
Subject: [PATCH] darwin 10.12 mbstate_t fix
|
||||
|
||||
https://github.com/llvm/llvm-project/issues/64226
|
||||
|
||||
removes space from
|
||||
https://github.com/macports/macports-ports/raw/acd8acb171f1658596ed1cf25da48d5b932e2d19/lang/llvm-17/files/0042-mbstate_t-not-defined.patch
|
||||
so it applies cleanly
|
||||
---
|
||||
libcxx/include/__mbstate_t.h | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/libcxx/include/__mbstate_t.h b/libcxx/include/__mbstate_t.h
|
||||
index bfa6d61..5f51112 100644
|
||||
--- a/libcxx/include/__mbstate_t.h
|
||||
+++ b/libcxx/include/__mbstate_t.h
|
||||
@@ -42,6 +42,9 @@
|
||||
#elif __has_include(<bits/types/mbstate_t.h>)
|
||||
# include <bits/types/mbstate_t.h> // works on most Unixes
|
||||
#elif __has_include(<sys/_types/_mbstate_t.h>)
|
||||
+# if __has_include(<machine/_types.h>)
|
||||
+# include <machine/_types.h>
|
||||
+# endif
|
||||
# include <sys/_types/_mbstate_t.h> // works on Darwin
|
||||
#elif !defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS) && __has_include_next(<wchar.h>)
|
||||
# include_next <wchar.h> // fall back to the C standard provider of mbstate_t
|
||||
--
|
||||
2.43.0
|
||||
|
@ -8,7 +8,6 @@
|
||||
, monorepoSrc ? null
|
||||
, runCommand
|
||||
, apple-sdk
|
||||
, apple-sdk_10_13
|
||||
, cmake
|
||||
, ninja
|
||||
, python3
|
||||
@ -47,14 +46,6 @@ let
|
||||
baseName = "compiler-rt";
|
||||
pname = baseName + lib.optionalString (haveLibc) "-libc";
|
||||
|
||||
# Sanitizers require 10.13 or newer. Instead of disabling them for most x86_64-darwin users,
|
||||
# build them with a newer SDK and the default (10.12) deployment target.
|
||||
apple-sdk' =
|
||||
if lib.versionOlder (lib.getVersion apple-sdk) "10.13" then
|
||||
apple-sdk_10_13.override { enableBootstrap = true; }
|
||||
else
|
||||
apple-sdk.override { enableBootstrap = true; };
|
||||
|
||||
src' = if monorepoSrc != null then
|
||||
runCommand "${baseName}-src-${version}" {} (''
|
||||
mkdir -p "$out"
|
||||
@ -80,10 +71,7 @@ stdenv.mkDerivation ({
|
||||
++ [ python3 libllvm.dev ];
|
||||
buildInputs =
|
||||
lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isRiscV) linuxHeaders
|
||||
++ lib.optional (stdenv.hostPlatform.isFreeBSD) freebsd.include
|
||||
# Adding the bootstrap SDK to `buildInputs` on static builds propagates it, breaking `xcrun`.
|
||||
# This can be removed once the minimum SDK >10.12 on x86_64-darwin.
|
||||
++ lib.optionals (stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isStatic) [ apple-sdk' ];
|
||||
++ lib.optional (stdenv.hostPlatform.isFreeBSD) freebsd.include;
|
||||
|
||||
env = {
|
||||
NIX_CFLAGS_COMPILE = toString ([
|
||||
@ -148,7 +136,7 @@ stdenv.mkDerivation ({
|
||||
# Darwin support, so force it to be enabled during the first stage of the compiler-rt bootstrap.
|
||||
"-DCOMPILER_RT_HAS_G_FLAG=ON"
|
||||
] ++ [
|
||||
"-DDARWIN_macosx_CACHED_SYSROOT=${apple-sdk'.sdkroot}"
|
||||
"-DDARWIN_macosx_CACHED_SYSROOT=${apple-sdk.sdkroot}"
|
||||
"-DDARWIN_macosx_OVERRIDE_SDK_VERSION=${lib.versions.majorMinor (lib.getVersion apple-sdk)}"
|
||||
"-DDARWIN_osx_ARCHS=${stdenv.hostPlatform.darwinArch}"
|
||||
"-DDARWIN_osx_BUILTIN_ARCHS=${stdenv.hostPlatform.darwinArch}"
|
||||
|
@ -167,12 +167,6 @@ let
|
||||
path = ../15;
|
||||
}
|
||||
];
|
||||
"libcxx/0001-darwin-10.12-mbstate_t-fix.patch" = [
|
||||
{
|
||||
after = "18";
|
||||
path = ../18;
|
||||
}
|
||||
];
|
||||
"libunwind/gnu-install-dirs.patch" = [
|
||||
{
|
||||
before = "17";
|
||||
@ -264,12 +258,6 @@ let
|
||||
path = ../12;
|
||||
}
|
||||
];
|
||||
"lldb/cpu_subtype_arm64e_replacement.patch" = [
|
||||
{
|
||||
after = "13";
|
||||
path = ../13;
|
||||
}
|
||||
];
|
||||
"lldb/resource-dir.patch" = [
|
||||
{
|
||||
before = "16";
|
||||
@ -697,23 +685,7 @@ let
|
||||
++ lib.optional (lib.versionOlder metadata.release_version "14") (
|
||||
metadata.getVersionFile "lldb/gnu-install-dirs.patch"
|
||||
)
|
||||
++ lib.optional (lib.versionAtLeast metadata.release_version "14") ./lldb/gnu-install-dirs.patch
|
||||
# This is a stopgap solution if/until the macOS SDK used for x86_64 is
|
||||
# updated.
|
||||
#
|
||||
# The older 10.12 SDK used on x86_64 as of this writing has a `mach/machine.h`
|
||||
# header that does not define `CPU_SUBTYPE_ARM64E` so we replace the one use
|
||||
# of this preprocessor symbol in `lldb` with its expansion.
|
||||
#
|
||||
# See here for some context:
|
||||
# https://github.com/NixOS/nixpkgs/pull/194634#issuecomment-1272129132
|
||||
#
|
||||
# Patch is applied for >= 14 as the versions below are broken anyways.
|
||||
++ lib.optional (
|
||||
lib.versionAtLeast metadata.release_version "14"
|
||||
&& stdenv.targetPlatform.isDarwin
|
||||
&& lib.versionOlder stdenv.targetPlatform.darwinSdkVersion "11.0"
|
||||
) (metadata.getVersionFile "lldb/cpu_subtype_arm64e_replacement.patch");
|
||||
++ lib.optional (lib.versionAtLeast metadata.release_version "14") ./lldb/gnu-install-dirs.patch;
|
||||
}
|
||||
// lib.optionalAttrs (lib.versions.major metadata.release_version == "16") {
|
||||
src = callPackage (
|
||||
@ -1105,62 +1077,37 @@ let
|
||||
|
||||
libcxx = callPackage ./libcxx (
|
||||
{
|
||||
patches =
|
||||
lib.optionals (lib.versionOlder metadata.release_version "16") (
|
||||
lib.optional (lib.versions.major metadata.release_version == "15")
|
||||
# See:
|
||||
# - https://reviews.llvm.org/D133566
|
||||
# - https://github.com/NixOS/nixpkgs/issues/214524#issuecomment-1429146432
|
||||
# !!! Drop in LLVM 16+
|
||||
(
|
||||
fetchpatch {
|
||||
url = "https://github.com/llvm/llvm-project/commit/57c7bb3ec89565c68f858d316504668f9d214d59.patch";
|
||||
hash = "sha256-B07vHmSjy5BhhkGSj3e1E0XmMv5/9+mvC/k70Z29VwY=";
|
||||
}
|
||||
)
|
||||
++ [
|
||||
(substitute {
|
||||
src = ./libcxxabi/wasm.patch;
|
||||
substitutions = [
|
||||
"--replace-fail"
|
||||
"/cmake/"
|
||||
"/llvm/cmake/"
|
||||
];
|
||||
})
|
||||
]
|
||||
++ lib.optional stdenv.hostPlatform.isMusl (substitute {
|
||||
src = ./libcxx/libcxx-0001-musl-hacks.patch;
|
||||
patches = lib.optionals (lib.versionOlder metadata.release_version "16") (
|
||||
lib.optional (lib.versions.major metadata.release_version == "15")
|
||||
# See:
|
||||
# - https://reviews.llvm.org/D133566
|
||||
# - https://github.com/NixOS/nixpkgs/issues/214524#issuecomment-1429146432
|
||||
# !!! Drop in LLVM 16+
|
||||
(
|
||||
fetchpatch {
|
||||
url = "https://github.com/llvm/llvm-project/commit/57c7bb3ec89565c68f858d316504668f9d214d59.patch";
|
||||
hash = "sha256-B07vHmSjy5BhhkGSj3e1E0XmMv5/9+mvC/k70Z29VwY=";
|
||||
}
|
||||
)
|
||||
++ [
|
||||
(substitute {
|
||||
src = ./libcxxabi/wasm.patch;
|
||||
substitutions = [
|
||||
"--replace-fail"
|
||||
"/include/"
|
||||
"/libcxx/include/"
|
||||
"/cmake/"
|
||||
"/llvm/cmake/"
|
||||
];
|
||||
})
|
||||
)
|
||||
++
|
||||
lib.optional
|
||||
(
|
||||
lib.versions.major metadata.release_version == "17"
|
||||
&& stdenv.hostPlatform.isDarwin
|
||||
&& lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13"
|
||||
)
|
||||
# https://github.com/llvm/llvm-project/issues/64226
|
||||
(
|
||||
fetchpatch {
|
||||
name = "0042-mbstate_t-not-defined.patch";
|
||||
url = "https://github.com/macports/macports-ports/raw/acd8acb171f1658596ed1cf25da48d5b932e2d19/lang/llvm-17/files/0042-mbstate_t-not-defined.patch";
|
||||
hash = "sha256-jo+DYA6zuSv9OH3A0bYwY5TlkWprup4OKQ7rfK1WHBI=";
|
||||
}
|
||||
)
|
||||
++
|
||||
lib.optional
|
||||
(
|
||||
lib.versionAtLeast metadata.release_version "18"
|
||||
&& stdenv.hostPlatform.isDarwin
|
||||
&& lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13"
|
||||
)
|
||||
# https://github.com/llvm/llvm-project/issues/64226
|
||||
(metadata.getVersionFile "libcxx/0001-darwin-10.12-mbstate_t-fix.patch");
|
||||
]
|
||||
++ lib.optional stdenv.hostPlatform.isMusl (substitute {
|
||||
src = ./libcxx/libcxx-0001-musl-hacks.patch;
|
||||
substitutions = [
|
||||
"--replace-fail"
|
||||
"/include/"
|
||||
"/libcxx/include/"
|
||||
];
|
||||
})
|
||||
);
|
||||
stdenv =
|
||||
if stdenv.hostPlatform.isDarwin then
|
||||
overrideCC darwin.bootstrapStdenv buildLlvmTools.clangWithLibcAndBasicRt
|
||||
|
@ -24,8 +24,6 @@
|
||||
, patches ? [ ]
|
||||
, enableManpages ? false
|
||||
, devExtraCmakeFlags ? [ ]
|
||||
, apple-sdk_11
|
||||
, darwinMinVersionHook
|
||||
, ...
|
||||
}:
|
||||
|
||||
@ -93,14 +91,6 @@ stdenv.mkDerivation (rec {
|
||||
(lib.getLib libclang)
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
darwin.bootstrap_cmds
|
||||
]
|
||||
++ lib.optionals
|
||||
(
|
||||
stdenv.targetPlatform.isDarwin
|
||||
&& lib.versionOlder stdenv.targetPlatform.darwinSdkVersion "11.0"
|
||||
) [
|
||||
apple-sdk_11
|
||||
(darwinMinVersionHook "10.15")
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
@ -306,13 +306,6 @@ self: super: ({
|
||||
__darwinAllowLocalNetworking = true;
|
||||
});
|
||||
|
||||
# network requires `IP_RECVTOS`, which was added in 10.15.
|
||||
network =
|
||||
if lib.versionOlder (lib.getVersion pkgs.apple-sdk) "10.15" then
|
||||
addBuildDepend pkgs.apple-sdk_10_15 super.network
|
||||
else
|
||||
super.network;
|
||||
|
||||
foldl = overrideCabal (drv: {
|
||||
postPatch = ''
|
||||
# This comment has been inserted, so the derivation hash changes, forcing
|
||||
|
@ -25,7 +25,6 @@
|
||||
|
||||
# platform-specific dependencies
|
||||
, bash
|
||||
, apple-sdk_11
|
||||
, darwin
|
||||
, windows
|
||||
|
||||
@ -178,9 +177,6 @@ let
|
||||
bluez
|
||||
] ++ optionals enableFramework [
|
||||
darwin.apple_sdk.frameworks.Cocoa
|
||||
] ++ optionals stdenv.hostPlatform.isDarwin [
|
||||
# Work around for ld64 crashes on x86_64-darwin. Remove once 11.0 becomes the default.
|
||||
apple-sdk_11
|
||||
] ++ optionals stdenv.hostPlatform.isMinGW [
|
||||
windows.dlfcn
|
||||
windows.mingw_w64_pthreads
|
||||
|
@ -53,8 +53,6 @@
|
||||
, libexecinfo
|
||||
, broadwaySupport ? true
|
||||
, testers
|
||||
, apple-sdk
|
||||
, apple-sdk_10_15
|
||||
, darwinMinVersionHook
|
||||
}:
|
||||
|
||||
@ -162,11 +160,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# Required for GSettings schemas at runtime.
|
||||
# Will be picked up by wrapGAppsHook4.
|
||||
gsettings-desktop-schemas
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
(darwinMinVersionHook "10.15")
|
||||
] ++ lib.optionals (stdenv.hostPlatform.isDarwin
|
||||
&& lib.versionOlder apple-sdk.version "10.15") [
|
||||
apple-sdk_10_15
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
|
@ -1,48 +0,0 @@
|
||||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "memstream";
|
||||
version = "0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://piumarta.com/software/memstream/memstream-${version}.tar.gz";
|
||||
sha256 = "0kvdb897g7nyviaz72arbqijk2g2wa61cmi3l5yh48rzr49r3a3a";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace-fail 'cc' '$(CC)'
|
||||
'';
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
postBuild = ''
|
||||
$AR rcs libmemstream.a memstream.o
|
||||
'';
|
||||
|
||||
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
./test | grep "This is a test of memstream"
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -D libmemstream.a "$out"/lib/libmemstream.a
|
||||
install -D memstream.h "$out"/include/memstream.h
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.piumarta.com/software/memstream/";
|
||||
description = "memstream.c is an implementation of the POSIX function open_memstream() for BSD and BSD-like operating systems";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ veprbl ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
useMemstream () {
|
||||
export NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE-}${NIX_CFLAGS_COMPILE:+ }-include memstream.h";
|
||||
export NIX_LDFLAGS="${NIX_LDFLAGS-}${NIX_LDFLAGS:+ }-lmemstream";
|
||||
}
|
||||
|
||||
postHooks+=(useMemstream)
|
@ -4,7 +4,7 @@
|
||||
, coreutils, bison, flex, gdb, gperf, lndir, perl, pkg-config, python3
|
||||
, which
|
||||
# darwin support
|
||||
, apple-sdk_13, darwinMinVersionHook, xcbuild
|
||||
, apple-sdk_13, xcbuild
|
||||
|
||||
, dbus, fontconfig, freetype, glib, harfbuzz, icu, libdrm, libX11, libXcomposite
|
||||
, libXcursor, libXext, libXi, libXrender, libjpeg, libpng , libxcb
|
||||
@ -39,13 +39,12 @@ let
|
||||
then "linux-generic-g++"
|
||||
else throw "Please add a qtPlatformCross entry for ${plat.config}";
|
||||
|
||||
# Per https://doc.qt.io/qt-5/macos.html#supported-versions: deployment target = 10.13, build SDK = 13.x or 14.x.
|
||||
# Per https://doc.qt.io/qt-5/macos.html#supported-versions: build SDK = 13.x or 14.x.
|
||||
# Despite advertising support for the macOS 14 SDK, the build system sets the maximum to 13 and complains
|
||||
# about 14, so we just use that.
|
||||
deploymentTarget = "10.13";
|
||||
darwinVersionInputs = [
|
||||
apple-sdk_13
|
||||
(darwinMinVersionHook deploymentTarget)
|
||||
];
|
||||
in
|
||||
|
||||
@ -166,7 +165,7 @@ stdenv.mkDerivation (finalAttrs: ({
|
||||
--replace-fail 'CONFIG += ' 'CONFIG += no_default_rpath ' \
|
||||
--replace-fail \
|
||||
'QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13' \
|
||||
'QMAKE_MACOSX_DEPLOYMENT_TARGET = ${deploymentTarget}'
|
||||
"QMAKE_MACOSX_DEPLOYMENT_TARGET = $MACOSX_DEPLOYMENT_TARGET"
|
||||
'' else lib.optionalString libGLSupported ''
|
||||
sed -i mkspecs/common/linux.conf \
|
||||
-e "/^QMAKE_INCDIR_OPENGL/ s|$|${lib.getDev libGL}/include|" \
|
||||
@ -235,10 +234,6 @@ stdenv.mkDerivation (finalAttrs: ({
|
||||
''-DNIXPKGS_LIBXCURSOR="${libXcursor.out}/lib/libXcursor"''
|
||||
] ++ lib.optional libGLSupported ''-DNIXPKGS_MESA_GL="${libGL.out}/lib/libGL"''
|
||||
++ lib.optional stdenv.hostPlatform.isLinux "-DUSE_X11"
|
||||
++ lib.optionals (stdenv.hostPlatform.system == "x86_64-darwin") [
|
||||
# ignore "is only available on macOS 10.12.2 or newer" in obj-c code
|
||||
"-Wno-error=unguarded-availability"
|
||||
]
|
||||
++ lib.optionals withGtk3 [
|
||||
''-DNIXPKGS_QGTK3_XDG_DATA_DIRS="${gtk3}/share/gsettings-schemas/${gtk3.name}"''
|
||||
''-DNIXPKGS_QGTK3_GIO_EXTRA_MODULES="${dconf.lib}/lib/gio/modules"''
|
||||
|
@ -19,7 +19,6 @@
|
||||
jbig2dec,
|
||||
libjpeg_turbo,
|
||||
gumbo,
|
||||
memstreamHook,
|
||||
|
||||
# dependencies
|
||||
mupdf,
|
||||
@ -75,7 +74,7 @@ buildPythonPackage rec {
|
||||
jbig2dec
|
||||
libjpeg_turbo
|
||||
gumbo
|
||||
] ++ lib.optionals (stdenv.system == "x86_64-darwin") [ memstreamHook ];
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ mupdf-cxx ];
|
||||
|
||||
|
@ -17,7 +17,6 @@
|
||||
numpy,
|
||||
pandas,
|
||||
pillow,
|
||||
memorymappingHook,
|
||||
}:
|
||||
let
|
||||
external = {
|
||||
@ -96,7 +95,7 @@ buildPythonPackage rec {
|
||||
eigen
|
||||
inchi
|
||||
maeparser
|
||||
] ++ lib.optionals (stdenv.system == "x86_64-darwin") [ memorymappingHook ];
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
numpy
|
||||
|
@ -12,30 +12,8 @@
|
||||
|
||||
let
|
||||
mkStub = callPackage ../apple-sdk/mk-stub.nix { } "11.0";
|
||||
|
||||
stdenvs =
|
||||
{
|
||||
stdenv = overrideSDK stdenv "11.0";
|
||||
}
|
||||
// builtins.listToAttrs (
|
||||
map
|
||||
(v: {
|
||||
name = "llvmPackages_${v}";
|
||||
value = pkgs."llvmPackages_${v}" // {
|
||||
stdenv = overrideSDK pkgs."llvmPackages_${v}".stdenv "11.0";
|
||||
};
|
||||
})
|
||||
[
|
||||
"12"
|
||||
"13"
|
||||
"14"
|
||||
"15"
|
||||
"16"
|
||||
]
|
||||
);
|
||||
in
|
||||
stdenvs
|
||||
// lib.genAttrs [
|
||||
lib.genAttrs [
|
||||
"CLTools_Executables"
|
||||
"IOKit"
|
||||
"Libsystem"
|
||||
@ -276,30 +254,17 @@ stdenvs
|
||||
"simd"
|
||||
] mkStub;
|
||||
|
||||
callPackage = newScope (
|
||||
lib.optionalAttrs stdenv.hostPlatform.isDarwin (
|
||||
stdenvs // { inherit (pkgs.darwin.apple_sdk_11_0) rustPlatform; }
|
||||
)
|
||||
);
|
||||
|
||||
rustPlatform =
|
||||
pkgs.makeRustPlatform {
|
||||
inherit (pkgs.darwin.apple_sdk_11_0) stdenv;
|
||||
inherit (pkgs) rustc cargo;
|
||||
}
|
||||
// {
|
||||
inherit
|
||||
(pkgs.callPackage ../../../build-support/rust/hooks {
|
||||
inherit (pkgs.darwin.apple_sdk_11_0) stdenv;
|
||||
inherit (pkgs) cargo rustc;
|
||||
})
|
||||
bindgenHook
|
||||
;
|
||||
};
|
||||
|
||||
stdenv = overrideSDK stdenv "11.0";
|
||||
|
||||
xcodebuild = pkgs.xcodebuild;
|
||||
inherit (pkgs)
|
||||
callPackage
|
||||
stdenv
|
||||
llvmPackages_12
|
||||
llvmPackages_13
|
||||
llvmPackages_14
|
||||
llvmPackages_15
|
||||
llvmPackages_16
|
||||
rustPlatform
|
||||
xcodebuild
|
||||
;
|
||||
|
||||
version = "11.0";
|
||||
}
|
||||
|
@ -1,272 +0,0 @@
|
||||
# Compatibility stubs for packages that used the old SDK frameworks.
|
||||
# TODO(@reckenrode) Make these stubs warn after framework usage has been cleaned up in nixpkgs.
|
||||
{ lib, callPackage }:
|
||||
|
||||
let
|
||||
mkStub = callPackage ./mk-stub.nix { } "10.12";
|
||||
|
||||
frameworks = lib.genAttrs [
|
||||
"AGL"
|
||||
"AVFoundation"
|
||||
"AVKit"
|
||||
"Accelerate"
|
||||
"Accounts"
|
||||
"AddressBook"
|
||||
"AppKit"
|
||||
"AppKitScripting"
|
||||
"AppleScriptKit"
|
||||
"AppleScriptObjC"
|
||||
"ApplicationServices"
|
||||
"AudioToolbox"
|
||||
"AudioUnit"
|
||||
"AudioVideoBridging"
|
||||
"Automator"
|
||||
"CFNetwork"
|
||||
"CalendarStore"
|
||||
"Carbon"
|
||||
"Cocoa"
|
||||
"Collaboration"
|
||||
"ContactsPersistence"
|
||||
"CoreAudio"
|
||||
"CoreAudioKit"
|
||||
"CoreBluetooth"
|
||||
"CoreData"
|
||||
"CoreFoundation"
|
||||
"CoreGraphics"
|
||||
"CoreImage"
|
||||
"CoreLocation"
|
||||
"CoreMIDI"
|
||||
"CoreMIDIServer"
|
||||
"CoreMedia"
|
||||
"CoreMediaIO"
|
||||
"CoreServices"
|
||||
"CoreSymbolication"
|
||||
"CoreText"
|
||||
"CoreVideo"
|
||||
"CoreWLAN"
|
||||
"DVDPlayback"
|
||||
"DebugSymbols"
|
||||
"DirectoryService"
|
||||
"DiscRecording"
|
||||
"DiscRecordingUI"
|
||||
"DiskArbitration"
|
||||
"DisplayServices"
|
||||
"EventKit"
|
||||
"ExceptionHandling"
|
||||
"FWAUserLib"
|
||||
"ForceFeedback"
|
||||
"Foundation"
|
||||
"GLKit"
|
||||
"GLUT"
|
||||
"GSS"
|
||||
"GameCenter"
|
||||
"GameController"
|
||||
"GameKit"
|
||||
"GameplayKit"
|
||||
"Hypervisor"
|
||||
"ICADevices"
|
||||
"IMServicePlugIn"
|
||||
"IOBluetooth"
|
||||
"IOBluetoothUI"
|
||||
"IOKit"
|
||||
"IOSurface"
|
||||
"ImageCaptureCore"
|
||||
"ImageIO"
|
||||
"InputMethodKit"
|
||||
"InstallerPlugins"
|
||||
"InstantMessage"
|
||||
"JavaFrameEmbedding"
|
||||
"JavaNativeFoundation"
|
||||
"JavaRuntimeSupport"
|
||||
"JavaScriptCore"
|
||||
"JavaVM"
|
||||
"Kerberos"
|
||||
"Kernel"
|
||||
"LDAP"
|
||||
"LatentSemanticMapping"
|
||||
"LocalAuthentication"
|
||||
"MapKit"
|
||||
"MediaAccessibility"
|
||||
"MediaPlayer"
|
||||
"MediaToolbox"
|
||||
"Metal"
|
||||
"MetalKit"
|
||||
"ModelIO"
|
||||
"MultitouchSupport"
|
||||
"NetFS"
|
||||
"OSAKit"
|
||||
"OpenAL"
|
||||
"OpenCL"
|
||||
"OpenDirectory"
|
||||
"OpenGL"
|
||||
"PCSC"
|
||||
"PreferencePanes"
|
||||
"PubSub"
|
||||
"QTKit"
|
||||
"Quartz"
|
||||
"QuartzCore"
|
||||
"QuickLook"
|
||||
"QuickTime"
|
||||
"SceneKit"
|
||||
"ScreenSaver"
|
||||
"Scripting"
|
||||
"ScriptingBridge"
|
||||
"Security"
|
||||
"SecurityFoundation"
|
||||
"SecurityInterface"
|
||||
"ServiceManagement"
|
||||
"SkyLight"
|
||||
"Social"
|
||||
"SpriteKit"
|
||||
"StoreKit"
|
||||
"SyncServices"
|
||||
"System"
|
||||
"SystemConfiguration"
|
||||
"TWAIN"
|
||||
"Tcl"
|
||||
"UIFoundation"
|
||||
"VideoDecodeAcceleration"
|
||||
"VideoToolbox"
|
||||
"WebKit"
|
||||
"vmnet"
|
||||
] mkStub;
|
||||
|
||||
bareFrameworks = lib.genAttrs [
|
||||
"AGL"
|
||||
"AVFoundation"
|
||||
"AVKit"
|
||||
"Accelerate"
|
||||
"Accounts"
|
||||
"AddressBook"
|
||||
"AppKit"
|
||||
"AppKitScripting"
|
||||
"AppleScriptKit"
|
||||
"AppleScriptObjC"
|
||||
"ApplicationServices"
|
||||
"AudioToolbox"
|
||||
"AudioUnit"
|
||||
"AudioVideoBridging"
|
||||
"Automator"
|
||||
"CFNetwork"
|
||||
"CalendarStore"
|
||||
"Carbon"
|
||||
"Cocoa"
|
||||
"Collaboration"
|
||||
"CoreAudio"
|
||||
"CoreAudioKit"
|
||||
"CoreBluetooth"
|
||||
"CoreData"
|
||||
"CoreFoundation"
|
||||
"CoreGraphics"
|
||||
"CoreImage"
|
||||
"CoreLocation"
|
||||
"CoreMIDI"
|
||||
"CoreMIDIServer"
|
||||
"CoreMedia"
|
||||
"CoreMediaIO"
|
||||
"CoreServices"
|
||||
"CoreText"
|
||||
"CoreVideo"
|
||||
"CoreWLAN"
|
||||
"DVDPlayback"
|
||||
"DirectoryService"
|
||||
"DiscRecording"
|
||||
"DiscRecordingUI"
|
||||
"DiskArbitration"
|
||||
"EventKit"
|
||||
"ExceptionHandling"
|
||||
"FWAUserLib"
|
||||
"ForceFeedback"
|
||||
"Foundation"
|
||||
"GLKit"
|
||||
"GLUT"
|
||||
"GSS"
|
||||
"GameCenter"
|
||||
"GameController"
|
||||
"GameKit"
|
||||
"GameplayKit"
|
||||
"Hypervisor"
|
||||
"ICADevices"
|
||||
"IMServicePlugIn"
|
||||
"IOBluetooth"
|
||||
"IOBluetoothUI"
|
||||
"IOKit"
|
||||
"IOSurface"
|
||||
"ImageCaptureCore"
|
||||
"ImageIO"
|
||||
"InputMethodKit"
|
||||
"InstallerPlugins"
|
||||
"InstantMessage"
|
||||
"JavaFrameEmbedding"
|
||||
"JavaNativeFoundation"
|
||||
"JavaRuntimeSupport"
|
||||
"JavaScriptCore"
|
||||
"JavaVM"
|
||||
"Kerberos"
|
||||
"Kernel"
|
||||
"LDAP"
|
||||
"LatentSemanticMapping"
|
||||
"LocalAuthentication"
|
||||
"MapKit"
|
||||
"MediaAccessibility"
|
||||
"MediaPlayer"
|
||||
"MediaToolbox"
|
||||
"Metal"
|
||||
"MetalKit"
|
||||
"ModelIO"
|
||||
"NetFS"
|
||||
"OSAKit"
|
||||
"OpenAL"
|
||||
"OpenCL"
|
||||
"OpenDirectory"
|
||||
"OpenGL"
|
||||
"PCSC"
|
||||
"PreferencePanes"
|
||||
"PubSub"
|
||||
"QTKit"
|
||||
"Quartz"
|
||||
"QuartzCore"
|
||||
"QuickLook"
|
||||
"QuickTime"
|
||||
"SceneKit"
|
||||
"ScreenSaver"
|
||||
"Scripting"
|
||||
"ScriptingBridge"
|
||||
"Security"
|
||||
"SecurityFoundation"
|
||||
"SecurityInterface"
|
||||
"ServiceManagement"
|
||||
"Social"
|
||||
"SpriteKit"
|
||||
"StoreKit"
|
||||
"SyncServices"
|
||||
"System"
|
||||
"SystemConfiguration"
|
||||
"TWAIN"
|
||||
"Tcl"
|
||||
"VideoDecodeAcceleration"
|
||||
"VideoToolbox"
|
||||
"WebKit"
|
||||
"vmnet"
|
||||
] mkStub;
|
||||
in
|
||||
{
|
||||
inherit bareFrameworks frameworks;
|
||||
|
||||
libs = lib.genAttrs [
|
||||
"Xplugin"
|
||||
"sandbox"
|
||||
"simd"
|
||||
"utmp"
|
||||
"xpc"
|
||||
] mkStub;
|
||||
|
||||
version = "10.12";
|
||||
}
|
||||
// lib.genAttrs [
|
||||
"darwin-stubs"
|
||||
"Libsystem"
|
||||
"objc4"
|
||||
"sdk"
|
||||
"sdkRoot"
|
||||
] mkStub
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
apple-sdk_11,
|
||||
darwinMinVersionHook,
|
||||
apple-sdk,
|
||||
mkAppleDerivation,
|
||||
ncurses,
|
||||
pkg-config,
|
||||
@ -9,8 +8,8 @@
|
||||
}:
|
||||
|
||||
let
|
||||
iokitUser = apple-sdk_11.sourceRelease "IOKitUser";
|
||||
xnu = apple-sdk_11.sourceRelease "xnu";
|
||||
iokitUser = apple-sdk.sourceRelease "IOKitUser";
|
||||
xnu = apple-sdk.sourceRelease "xnu";
|
||||
|
||||
privateHeaders = stdenvNoCC.mkDerivation {
|
||||
name = "IOKitTools-deps-private-headers";
|
||||
@ -52,9 +51,7 @@ mkAppleDerivation {
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
apple-sdk_11
|
||||
apple-sdk_11.privateFrameworksHook
|
||||
(darwinMinVersionHook "11.0")
|
||||
apple-sdk.privateFrameworksHook
|
||||
ncurses
|
||||
];
|
||||
|
||||
|
@ -4,8 +4,6 @@
|
||||
# Project settings
|
||||
project('adv_cmds', 'c', 'cpp', version : '@version@')
|
||||
|
||||
sdk_version = get_option('sdk_version')
|
||||
|
||||
|
||||
# Dependencies
|
||||
cc = meson.get_compiler('c')
|
||||
@ -190,8 +188,7 @@ install_man('ps/ps.1')
|
||||
|
||||
executable(
|
||||
'stty',
|
||||
build_by_default : sdk_version.version_compare('>=11.3'),
|
||||
install : sdk_version.version_compare('>=11.3'),
|
||||
install : true,
|
||||
sources : [
|
||||
'stty/cchar.c',
|
||||
'stty/gfmt.c',
|
||||
@ -202,9 +199,7 @@ executable(
|
||||
'stty/util.c',
|
||||
],
|
||||
)
|
||||
if sdk_version.version_compare('>=11.3')
|
||||
install_man('stty/stty.1')
|
||||
endif
|
||||
install_man('stty/stty.1')
|
||||
|
||||
executable(
|
||||
'tabs',
|
||||
|
@ -1 +0,0 @@
|
||||
option('sdk_version', type : 'string')
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
apple-sdk,
|
||||
apple-sdk_11,
|
||||
bison,
|
||||
flex,
|
||||
libxo,
|
||||
@ -12,9 +11,9 @@
|
||||
}:
|
||||
|
||||
let
|
||||
Libc = apple-sdk_11.sourceRelease "Libc";
|
||||
libplatform = apple-sdk_11.sourceRelease "libplatform";
|
||||
xnu = apple-sdk_11.sourceRelease "xnu";
|
||||
Libc = apple-sdk.sourceRelease "Libc";
|
||||
libplatform = apple-sdk.sourceRelease "libplatform";
|
||||
xnu = apple-sdk.sourceRelease "xnu";
|
||||
|
||||
privateHeaders = stdenvNoCC.mkDerivation {
|
||||
name = "adv_cmds-deps-private-headers";
|
||||
@ -41,11 +40,6 @@ mkAppleDerivation {
|
||||
|
||||
xcodeHash = "sha256-2p/JyMPw6acHphvzkaJXPXGwxCUEoxryCejww5kPHvQ=";
|
||||
|
||||
patches = [
|
||||
# Use older API when running on systems prior to 11.3.
|
||||
./patches/0001-Fall-back-to-task_read_pid-on-older-systems.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Meson generators require using @BASENAME@ in the output.
|
||||
substituteInPlace mklocale/lex.l \
|
||||
@ -67,8 +61,6 @@ mkAppleDerivation {
|
||||
env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include";
|
||||
|
||||
buildInputs = [
|
||||
# Use the 11.3 SDK because CMake depends on adv_cmds.ps, so it can’t simply be omitted when using an older SDK.
|
||||
apple-sdk_11
|
||||
libxo
|
||||
ncurses
|
||||
];
|
||||
@ -79,12 +71,6 @@ mkAppleDerivation {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
# Even though adv_cmds is built with a newer SDK, the default SDK is still the deployment target.
|
||||
# Don’t build packages that use newer APIs unnecessarily.
|
||||
(lib.mesonOption "sdk_version" (lib.getVersion apple-sdk))
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
moveToOutput bin/ps "$ps"
|
||||
ln -s "$ps/bin/ps" "$out/bin/ps"
|
||||
|
@ -1,38 +0,0 @@
|
||||
From c05a83d29349c6ae2fd8084a48ea51c8e8bf23f2 Mon Sep 17 00:00:00 2001
|
||||
From: Randy Eckenrode <randy@largeandhighquality.com>
|
||||
Date: Sun, 18 Aug 2024 10:29:16 -0400
|
||||
Subject: [PATCH] Fall back to `task_read_pid` on older systems
|
||||
|
||||
---
|
||||
ps/tasks.c | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/ps/tasks.c b/ps/tasks.c
|
||||
index d2fcb07..068c985 100644
|
||||
--- a/ps/tasks.c
|
||||
+++ b/ps/tasks.c
|
||||
@@ -25,8 +25,6 @@
|
||||
#include <mach/shared_memory_server.h>
|
||||
#include <mach/mach_vm.h>
|
||||
|
||||
-extern kern_return_t task_read_for_pid(task_port_t task, pid_t pid, task_port_t *target);
|
||||
-
|
||||
#define STATE_MAX 7
|
||||
|
||||
int
|
||||
@@ -98,7 +96,11 @@ int get_task_info (KINFO *ki)
|
||||
ki->state = STATE_MAX;
|
||||
|
||||
pid = KI_PROC(ki)->p_pid;
|
||||
- error = task_read_for_pid(mach_task_self(), pid, &ki->task);
|
||||
+ if (__builtin_available(macos 11.3, *)) {
|
||||
+ error = task_read_for_pid(mach_task_self(), pid, &ki->task);
|
||||
+ } else {
|
||||
+ error = task_for_pid(mach_task_self(), pid, &ki->task);
|
||||
+ }
|
||||
if (error != KERN_SUCCESS) {
|
||||
#ifdef DEBUG
|
||||
mach_error("Error calling task_read_for_pid()", error);
|
||||
--
|
||||
2.44.1
|
||||
|
@ -1,16 +1,12 @@
|
||||
{
|
||||
lib,
|
||||
apple-sdk,
|
||||
apple-sdk_10_13,
|
||||
apple-sdk_11,
|
||||
mkAppleDerivation,
|
||||
stdenvNoCC,
|
||||
}:
|
||||
|
||||
let
|
||||
# The 10.12 SDK doesn’t have the files needed in the same places or possibly at all.
|
||||
# Just use the 11.x SDK to make things easier.
|
||||
xnu = apple-sdk_11.sourceRelease "xnu";
|
||||
xnu = apple-sdk.sourceRelease "xnu";
|
||||
|
||||
privateHeaders = stdenvNoCC.mkDerivation {
|
||||
name = "copyfile-deps-private-headers";
|
||||
@ -90,9 +86,5 @@ mkAppleDerivation {
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include";
|
||||
|
||||
buildInputs = lib.optionals (lib.versionOlder (lib.getVersion apple-sdk) "10.13") [
|
||||
(apple-sdk_10_13.override { enableBootstrap = true; })
|
||||
];
|
||||
|
||||
meta.description = "Darwin file copying library";
|
||||
}
|
||||
|
@ -110,7 +110,6 @@ executable(
|
||||
'-DMNT_STRICTATIME=0x80000000',
|
||||
# https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/attr.h#L300
|
||||
'-DVOL_CAP_FMT_SEALED=0x02000000',
|
||||
'-D_DARWIN_USE_64_BIT_INODE=1', # Needed with older SDKs to ensure 64-bit `struct statfs`.
|
||||
],
|
||||
dependencies : [ apfs, libdisk ],
|
||||
include_directories : [ 'edt_fstab', 'fsck.tproj', 'mount_flags_dir' ],
|
||||
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
apple-sdk,
|
||||
apple-sdk_11,
|
||||
libutil,
|
||||
mkAppleDerivation,
|
||||
removefile,
|
||||
@ -9,8 +8,8 @@
|
||||
}:
|
||||
|
||||
let
|
||||
Libc = apple-sdk_11.sourceRelease "Libc";
|
||||
xnu = apple-sdk_11.sourceRelease "xnu";
|
||||
Libc = apple-sdk.sourceRelease "Libc";
|
||||
xnu = apple-sdk.sourceRelease "xnu";
|
||||
|
||||
privateHeaders = stdenvNoCC.mkDerivation {
|
||||
name = "diskdev_cmds-deps-private-headers";
|
||||
@ -55,13 +54,6 @@ mkAppleDerivation {
|
||||
''
|
||||
substituteInPlace mount.tproj/mount.c \
|
||||
--replace-fail 'sysctlbyname ("vfs.generic.apfs.rosp", &is_rosp, &rospsize, NULL, NULL);' 'sysctlbyname ("vfs.generic.apfs.rosp", &is_rosp, &rospsize, NULL, 0);'
|
||||
''
|
||||
# The first reserved uint32 is used for the extended flags on 11.0 and newer, and
|
||||
# only use sysexit_np when the version is 10.14 or newer.
|
||||
+ lib.optionalString (lib.versionOlder (lib.getVersion apple-sdk) "11.0") ''
|
||||
substituteInPlace mount.tproj/mount.c \
|
||||
--replace-fail 'sfp->f_flags_ext' 'sfp->f_reserved[0]' \
|
||||
--replace-fail 'sysexit == -1' '__builtin_available(macOS 10.14, *) && sysexit == -1'
|
||||
'';
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include";
|
||||
|
@ -13,7 +13,6 @@ cc = meson.get_compiler('c')
|
||||
|
||||
core_foundation = dependency('appleframeworks', modules : 'CoreFoundation')
|
||||
|
||||
libbsd = dependency('libbsd-overlay', required : false)
|
||||
bzip2 = dependency('bzip2')
|
||||
xz = dependency('liblzma')
|
||||
libxo = dependency('libxo')
|
||||
@ -24,34 +23,6 @@ removefile = cc.find_library('removefile')
|
||||
libutil = cc.find_library('util')
|
||||
|
||||
|
||||
# Compatibility tests
|
||||
utimensat_test = '''
|
||||
#include <stdlib.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
int main(int argc, char* argv[]) {
|
||||
return utimensat(AT_FDCWD, NULL, NULL, 0);
|
||||
}
|
||||
'''
|
||||
|
||||
rpmatch_test = '''
|
||||
#include <stdlib.h>
|
||||
int main(int argc, char* argv[]) {
|
||||
return rpmatch("NO");
|
||||
}
|
||||
'''
|
||||
|
||||
has_utimensat = cc.compiles(utimensat_test, name : 'supports utimensat')
|
||||
utimensat_c_args = has_utimensat ? [ ] : [ '-include', 'time_compat.h', '-I' + meson.source_root() + '/compat' ]
|
||||
utimensat_sources = has_utimensat ? [ ] : [ 'compat/time_compat.c' ]
|
||||
|
||||
has_rpmatch = cc.compiles(rpmatch_test, name : 'supports rpmatch')
|
||||
rpmatch_c_args = has_rpmatch ? [ ] : [ '-include', 'rpmatch_compat.h', '-I' + meson.source_root() + '/compat' ]
|
||||
rpmatch_sources = has_rpmatch ? [ ] : [ 'compat/rpmatch_compat.c' ]
|
||||
|
||||
compat_link_args = not (has_utimensat and has_rpmatch) ? [ '-Wl,-undefined,dynamic_lookup' ] : [ ]
|
||||
|
||||
|
||||
# Binaries
|
||||
executable(
|
||||
'chflags',
|
||||
@ -107,14 +78,10 @@ install_man('cksum/sum.1')
|
||||
|
||||
executable(
|
||||
'compress',
|
||||
c_args : [ utimensat_c_args, rpmatch_c_args ],
|
||||
install : true,
|
||||
link_args : compat_link_args,
|
||||
sources: [
|
||||
'compress/compress.c',
|
||||
'compress/zopen.c',
|
||||
utimensat_sources,
|
||||
rpmatch_sources,
|
||||
]
|
||||
)
|
||||
install_man('compress/compress.1')
|
||||
@ -130,18 +97,11 @@ install_man('compress/zopen.3')
|
||||
|
||||
executable(
|
||||
'cp',
|
||||
c_args : [
|
||||
utimensat_c_args,
|
||||
rpmatch_c_args,
|
||||
],
|
||||
dependencies : [ copyfile ],
|
||||
install : true,
|
||||
link_args : compat_link_args,
|
||||
sources: [
|
||||
'cp/cp.c',
|
||||
'cp/utils.c',
|
||||
utimensat_sources,
|
||||
rpmatch_sources,
|
||||
]
|
||||
)
|
||||
install_man('cp/cp.1')
|
||||
@ -213,13 +173,10 @@ install_symlink(
|
||||
|
||||
executable(
|
||||
'install-bin', # Meson reserves the name “install”, so use a different name and rename in install phase.
|
||||
c_args : utimensat_c_args,
|
||||
dependencies : [ copyfile ],
|
||||
install : true,
|
||||
link_args : compat_link_args,
|
||||
sources: [
|
||||
'install/xinstall.c',
|
||||
utimensat_sources,
|
||||
],
|
||||
)
|
||||
install_man('install/install.1')
|
||||
@ -260,7 +217,7 @@ executable(
|
||||
# https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/stat.h#L520
|
||||
'-DSF_DATALESS=0x40000000',
|
||||
],
|
||||
dependencies : [ libbsd, libutil ],
|
||||
dependencies : [ libutil ],
|
||||
install : true,
|
||||
sources: [
|
||||
'ls/cmp.c',
|
||||
@ -297,17 +254,6 @@ install_man('mknod/mknod.8')
|
||||
|
||||
executable(
|
||||
'mtree',
|
||||
# Define these flags for the 10.12 SDK assuming that users on older systems can’t encounter dataless files.
|
||||
c_args : [
|
||||
# https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/stat.h#L520
|
||||
'-DSF_DATALESS=0x40000000',
|
||||
# https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/resource.h#L598
|
||||
'-DIOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES=3',
|
||||
# https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/resource.h#L640
|
||||
'-DIOPOL_MATERIALIZE_DATALESS_FILES_OFF=1',
|
||||
# https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/attr.h#L562
|
||||
'-DATTR_CMNEXT_LINKID=0x00000010',
|
||||
],
|
||||
dependencies : [ core_foundation, removefile ],
|
||||
install : true,
|
||||
sources: [
|
||||
@ -328,14 +274,10 @@ install_man('mtree/mtree.8')
|
||||
|
||||
executable(
|
||||
'mv',
|
||||
c_args : [ utimensat_c_args, rpmatch_c_args ],
|
||||
dependencies : [ copyfile ],
|
||||
install : true,
|
||||
link_args : compat_link_args,
|
||||
sources: [
|
||||
'mv/mv.c',
|
||||
utimensat_sources,
|
||||
rpmatch_sources,
|
||||
],
|
||||
)
|
||||
install_man('mv/mv.1')
|
||||
@ -375,13 +317,10 @@ install_man('pax/pax.1')
|
||||
|
||||
executable(
|
||||
'rm',
|
||||
c_args : rpmatch_c_args,
|
||||
dependencies : [ removefile ],
|
||||
install : true,
|
||||
link_args : compat_link_args,
|
||||
sources: [
|
||||
'rm/rm.c',
|
||||
rpmatch_sources,
|
||||
],
|
||||
)
|
||||
install_man('rm/rm.1')
|
||||
@ -424,12 +363,9 @@ install_man('stat/readlink.1')
|
||||
|
||||
executable(
|
||||
'touch',
|
||||
c_args : utimensat_c_args,
|
||||
install : true,
|
||||
link_args : compat_link_args,
|
||||
sources: [
|
||||
'touch/touch.c',
|
||||
utimensat_sources,
|
||||
],
|
||||
)
|
||||
install_man('touch/touch.1')
|
||||
|
@ -1,11 +1,9 @@
|
||||
{
|
||||
lib,
|
||||
apple-sdk,
|
||||
apple-sdk_11,
|
||||
bzip2,
|
||||
copyfile,
|
||||
less,
|
||||
libbsd,
|
||||
libutil,
|
||||
libxo,
|
||||
mkAppleDerivation,
|
||||
@ -20,12 +18,9 @@
|
||||
let
|
||||
Libc = apple-sdk.sourceRelease "Libc";
|
||||
Libinfo = apple-sdk.sourceRelease "Libinfo";
|
||||
|
||||
# The 10.12 SDK doesn’t have the files needed in the same places or possibly at all.
|
||||
# Just use the 11.0 SDK to make things easier.
|
||||
CommonCrypto = apple-sdk_11.sourceRelease "CommonCrypto";
|
||||
libplatform = apple-sdk_11.sourceRelease "libplatform";
|
||||
xnu = apple-sdk_11.sourceRelease "xnu";
|
||||
CommonCrypto = apple-sdk.sourceRelease "CommonCrypto";
|
||||
libplatform = apple-sdk.sourceRelease "libplatform";
|
||||
xnu = apple-sdk.sourceRelease "xnu";
|
||||
|
||||
privateHeaders = stdenvNoCC.mkDerivation {
|
||||
name = "file_cmds-deps-private-headers";
|
||||
@ -46,9 +41,6 @@ let
|
||||
install -D -t "$out/include/System/sys" \
|
||||
'${xnu}/bsd/sys/fsctl.h'
|
||||
|
||||
# Needed by older private headers.
|
||||
touch "$out/include/CrashReporterClient.h"
|
||||
|
||||
mkdir -p "$out/include/apfs"
|
||||
# APFS group is 'J' per https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/vfs/vfs_fsevents.c#L1054
|
||||
cat <<EOF > "$out/include/apfs/apfs_fsctl.h"
|
||||
@ -64,11 +56,6 @@ let
|
||||
#define APFSIOC_XDSTREAM_OBJ_ID _IOWR('J', 53, struct xdstream_obj_id)
|
||||
EOF
|
||||
|
||||
# Prevent an error when using the old availability headers from the 10.12 SDK.
|
||||
substituteInPlace "$out/include/CommonCrypto/CommonDigestSPI.h" \
|
||||
--replace-fail 'API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.13), ios(5.0, 11.0))' "" \
|
||||
--replace-fail 'API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(5.0, 13.0))' ""
|
||||
|
||||
cat <<EOF > "$out/include/sys/types.h"
|
||||
#pragma once
|
||||
#include <stdint.h>
|
||||
@ -108,26 +95,21 @@ mkAppleDerivation {
|
||||
./patches/0001-Add-missing-extern-unix2003_compat-to-ls.patch
|
||||
# Add missing conditional to avoid using private APFS APIs that we lack headers for using.
|
||||
./patches/0002-Add-missing-ifdef-for-private-APFS-APIs.patch
|
||||
# Add implementations of missing functions for older SDKs
|
||||
./patches/0003-Add-implementations-of-missing-APIs-for-older-SDKs.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-I${privateHeaders}/include";
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
bzip2
|
||||
copyfile
|
||||
libutil
|
||||
libxo
|
||||
removefile
|
||||
xz
|
||||
zlib
|
||||
]
|
||||
# ls needs strtonum, which requires the 11.0 SDK.
|
||||
++ lib.optionals (lib.versionOlder (lib.getVersion apple-sdk) "11.0") [ libbsd ];
|
||||
buildInputs = [
|
||||
bzip2
|
||||
copyfile
|
||||
libutil
|
||||
libxo
|
||||
removefile
|
||||
xz
|
||||
zlib
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
HOST_PATH='${lib.getBin shell_cmds}/bin' patchShebangs --host "$out/bin"
|
||||
|
@ -1,113 +0,0 @@
|
||||
From 9d21ed4cb6b56966a7962227a33c0e1986996cb1 Mon Sep 17 00:00:00 2001
|
||||
From: Randy Eckenrode <randy@largeandhighquality.com>
|
||||
Date: Sun, 8 Sep 2024 09:46:49 -0400
|
||||
Subject: [PATCH 3/3] Add implementations of missing APIs for older SDKs
|
||||
|
||||
---
|
||||
compat/rpmatch_compat.c | 10 ++++++++++
|
||||
compat/rpmatch_compat.h | 6 ++++++
|
||||
compat/time_compat.c | 38 ++++++++++++++++++++++++++++++++++++++
|
||||
compat/time_compat.h | 16 ++++++++++++++++
|
||||
4 files changed, 70 insertions(+)
|
||||
create mode 100644 compat/rpmatch_compat.c
|
||||
create mode 100644 compat/rpmatch_compat.h
|
||||
create mode 100644 compat/time_compat.c
|
||||
create mode 100644 compat/time_compat.h
|
||||
|
||||
diff --git a/compat/rpmatch_compat.c b/compat/rpmatch_compat.c
|
||||
new file mode 100644
|
||||
index 0000000..8eb99c3
|
||||
--- /dev/null
|
||||
+++ b/compat/rpmatch_compat.c
|
||||
@@ -0,0 +1,10 @@
|
||||
+// SPDX-License-Identifier: APSL-2.0
|
||||
+// utimensat written by Randy Eckenrode © 2024
|
||||
+
|
||||
+#include "rpmatch_compat.h"
|
||||
+
|
||||
+#include <stdlib.h>
|
||||
+
|
||||
+int rpmatch(const char *response) {
|
||||
+ return response != NULL && (response[0] == 'y' || response[0] == 'Y');
|
||||
+}
|
||||
diff --git a/compat/rpmatch_compat.h b/compat/rpmatch_compat.h
|
||||
new file mode 100644
|
||||
index 0000000..a13b64b
|
||||
--- /dev/null
|
||||
+++ b/compat/rpmatch_compat.h
|
||||
@@ -0,0 +1,6 @@
|
||||
+// SPDX-License-Identifier: APSL-2.0
|
||||
+// utimensat written by Randy Eckenrode © 2024
|
||||
+
|
||||
+#pragma once
|
||||
+
|
||||
+extern int rpmatch(const char *response);
|
||||
diff --git a/compat/time_compat.c b/compat/time_compat.c
|
||||
new file mode 100644
|
||||
index 0000000..becf778
|
||||
--- /dev/null
|
||||
+++ b/compat/time_compat.c
|
||||
@@ -0,0 +1,38 @@
|
||||
+// SPDX-License-Identifier: APSL-2.0
|
||||
+// utimensat written by Randy Eckenrode © 2024
|
||||
+
|
||||
+#include "time_compat.h"
|
||||
+
|
||||
+#define futimens gzip_futimens
|
||||
+#include "gzip/futimens.c"
|
||||
+#undef futimens
|
||||
+
|
||||
+#include <sys/fcntl.h>
|
||||
+#include <unistd.h>
|
||||
+
|
||||
+#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
|
||||
+extern int utimensat(int dirfd, const char* pathname, const struct timespec times[_Nullable 2], int flags);
|
||||
+extern int futimens(int fd, const struct timespec times[_Nullable 2]);
|
||||
+#endif
|
||||
+
|
||||
+int compat_utimensat(int dirfd, const char* pathname, const struct timespec times[_Nullable 2], int flags) {
|
||||
+ if (__builtin_available(macOS 10.13, *)) {
|
||||
+ return utimensat(dirfd, pathname, times, flags);
|
||||
+ } else {
|
||||
+ int fd = openat(dirfd, pathname, flags);
|
||||
+ if (fd == -1) { return -1; }
|
||||
+
|
||||
+ int retval = compat_futimens(fd, times);
|
||||
+ if (close(fd) == -1) { return -1; }
|
||||
+
|
||||
+ return retval;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+int compat_futimens(int fd, const struct timespec times[_Nullable 2]) {
|
||||
+ if (__builtin_available(macOS 10.13, *)) {
|
||||
+ return futimens(fd, times);
|
||||
+ } else {
|
||||
+ return gzip_futimens(fd, times);
|
||||
+ }
|
||||
+}
|
||||
diff --git a/compat/time_compat.h b/compat/time_compat.h
|
||||
new file mode 100644
|
||||
index 0000000..f07a7ed
|
||||
--- /dev/null
|
||||
+++ b/compat/time_compat.h
|
||||
@@ -0,0 +1,16 @@
|
||||
+// SPDX-License-Identifier: APSL-2.0
|
||||
+// utimensat written by Randy Eckenrode © 2024
|
||||
+
|
||||
+#pragma once
|
||||
+
|
||||
+#include <time.h>
|
||||
+
|
||||
+// https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/stat.h#L578-L579
|
||||
+#define UTIME_NOW -1
|
||||
+#define UTIME_OMIT -2
|
||||
+
|
||||
+#define utimensat compat_utimensat
|
||||
+#define futimens compat_futimens
|
||||
+
|
||||
+extern int compat_utimensat(int dirfd, const char* pathname, const struct timespec times[_Nullable 2], int flags);
|
||||
+extern int compat_futimens(int fd, const struct timespec times[_Nullable 2]);
|
||||
--
|
||||
2.46.0
|
||||
|
@ -1,6 +1,5 @@
|
||||
{
|
||||
lib,
|
||||
apple-sdk_11,
|
||||
apple-sdk_15,
|
||||
bison,
|
||||
bluez,
|
||||
@ -110,8 +109,6 @@ mkAppleDerivation {
|
||||
flex
|
||||
] ++ lib.optionals withBluez [ bluez.dev ];
|
||||
|
||||
buildInputs = [ apple-sdk_11 ];
|
||||
|
||||
meta = {
|
||||
description = "Packet Capture Library (with Apple modifications)";
|
||||
mainProgram = "pcap-config";
|
||||
|
@ -1,15 +1,15 @@
|
||||
{
|
||||
lib,
|
||||
apple-sdk_11,
|
||||
apple-sdk,
|
||||
mkAppleDerivation,
|
||||
}:
|
||||
|
||||
let
|
||||
configd = apple-sdk_11.sourceRelease "configd";
|
||||
Libinfo = apple-sdk_11.sourceRelease "Libinfo";
|
||||
configd = apple-sdk.sourceRelease "configd";
|
||||
Libinfo = apple-sdk.sourceRelease "Libinfo";
|
||||
|
||||
# `arpa/nameser_compat.h` is included in the Libc source release instead of libresolv.
|
||||
Libc = apple-sdk_11.sourceRelease "Libc";
|
||||
Libc = apple-sdk.sourceRelease "Libc";
|
||||
in
|
||||
mkAppleDerivation {
|
||||
releaseName = "libresolv";
|
||||
@ -27,13 +27,6 @@ mkAppleDerivation {
|
||||
ln -s "$NIX_BUILD_TOP/$sourceRoot/nameser.h" "$sourceRoot/arpa/nameser.h"
|
||||
'';
|
||||
|
||||
# Remove unsupported availability annotations to support SDK without updated availability headers.
|
||||
postPatch = ''
|
||||
substituteInPlace dns_util.h \
|
||||
--replace-fail 'API_DEPRECATED_BEGIN("dns_util is deprecated.", macos(10.0, 13.0), ios(1.0, 16.0), watchos(1.0, 9.0), tvos(1.0, 16.0))' "" \
|
||||
--replace-fail API_DEPRECATED_END ""
|
||||
'';
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-I${configd}/dnsinfo -I${Libinfo}/lookup.subproj";
|
||||
|
||||
postInstall = ''
|
||||
|
@ -9,28 +9,10 @@ project('mail_cmds', 'c', version : '@version@')
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
|
||||
# Compatibility tests
|
||||
utimensat_test = '''
|
||||
#include <stdlib.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
int main(int argc, char* argv[]) {
|
||||
return utimensat(AT_FDCWD, NULL, NULL, 0);
|
||||
}
|
||||
'''
|
||||
|
||||
has_utimensat = cc.compiles(utimensat_test, name : 'supports utimensat')
|
||||
utimensat_c_args = has_utimensat ? [ ] : [ '-include', 'time_compat.h', '-I' + meson.source_root() + '/compat' ]
|
||||
utimensat_sources = has_utimensat ? [ ] : [ 'compat/time_compat.c' ]
|
||||
|
||||
compat_link_args = not has_utimensat ? [ '-Wl,-undefined,dynamic_lookup' ] : [ ]
|
||||
|
||||
# Binaries
|
||||
executable(
|
||||
'mail',
|
||||
c_args : utimensat_c_args,
|
||||
install : true,
|
||||
link_args : compat_link_args,
|
||||
sources : [
|
||||
'mail/cmd1.c',
|
||||
'mail/cmd2.c',
|
||||
@ -55,7 +37,6 @@ executable(
|
||||
'mail/v7.local.c',
|
||||
'mail/vars.c',
|
||||
'mail/version.c',
|
||||
utimensat_sources,
|
||||
],
|
||||
)
|
||||
install_man('mail/mail.1')
|
||||
|
@ -16,14 +16,5 @@ mkAppleDerivation {
|
||||
|
||||
xcodeHash = "sha256-6rBflDgQkqWDc8XPLgKIO703bMamg2QlhUnP71hBX3I=";
|
||||
|
||||
patches = [
|
||||
# Add implementations of missing functions for older SDKs
|
||||
./patches/0003-Add-implementations-of-missing-APIs-for-older-SDKs.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
cp '${file_cmds.src}/gzip/futimens.c' compat/futimens.c
|
||||
'';
|
||||
|
||||
meta.description = "Traditional mail command for Darwin";
|
||||
}
|
||||
|
@ -1,113 +0,0 @@
|
||||
From 9d21ed4cb6b56966a7962227a33c0e1986996cb1 Mon Sep 17 00:00:00 2001
|
||||
From: Randy Eckenrode <randy@largeandhighquality.com>
|
||||
Date: Sun, 8 Sep 2024 09:46:49 -0400
|
||||
Subject: [PATCH 3/3] Add implementations of missing APIs for older SDKs
|
||||
|
||||
---
|
||||
compat/rpmatch_compat.c | 10 ++++++++++
|
||||
compat/rpmatch_compat.h | 6 ++++++
|
||||
compat/time_compat.c | 38 ++++++++++++++++++++++++++++++++++++++
|
||||
compat/time_compat.h | 16 ++++++++++++++++
|
||||
4 files changed, 70 insertions(+)
|
||||
create mode 100644 compat/rpmatch_compat.c
|
||||
create mode 100644 compat/rpmatch_compat.h
|
||||
create mode 100644 compat/time_compat.c
|
||||
create mode 100644 compat/time_compat.h
|
||||
|
||||
diff --git a/compat/rpmatch_compat.c b/compat/rpmatch_compat.c
|
||||
new file mode 100644
|
||||
index 0000000..8eb99c3
|
||||
--- /dev/null
|
||||
+++ b/compat/rpmatch_compat.c
|
||||
@@ -0,0 +1,10 @@
|
||||
+// SPDX-License-Identifier: APSL-2.0
|
||||
+// utimensat written by Randy Eckenrode © 2024
|
||||
+
|
||||
+#include "rpmatch_compat.h"
|
||||
+
|
||||
+#include <stdlib.h>
|
||||
+
|
||||
+int rpmatch(const char *response) {
|
||||
+ return response != NULL && (response[0] == 'y' || response[0] == 'Y');
|
||||
+}
|
||||
diff --git a/compat/rpmatch_compat.h b/compat/rpmatch_compat.h
|
||||
new file mode 100644
|
||||
index 0000000..a13b64b
|
||||
--- /dev/null
|
||||
+++ b/compat/rpmatch_compat.h
|
||||
@@ -0,0 +1,6 @@
|
||||
+// SPDX-License-Identifier: APSL-2.0
|
||||
+// utimensat written by Randy Eckenrode © 2024
|
||||
+
|
||||
+#pragma once
|
||||
+
|
||||
+extern int rpmatch(const char *response);
|
||||
diff --git a/compat/time_compat.c b/compat/time_compat.c
|
||||
new file mode 100644
|
||||
index 0000000..becf778
|
||||
--- /dev/null
|
||||
+++ b/compat/time_compat.c
|
||||
@@ -0,0 +1,38 @@
|
||||
+// SPDX-License-Identifier: APSL-2.0
|
||||
+// utimensat written by Randy Eckenrode © 2024
|
||||
+
|
||||
+#include "time_compat.h"
|
||||
+
|
||||
+#define futimens gzip_futimens
|
||||
+#include "compat/futimens.c"
|
||||
+#undef futimens
|
||||
+
|
||||
+#include <sys/fcntl.h>
|
||||
+#include <unistd.h>
|
||||
+
|
||||
+#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101300
|
||||
+extern int utimensat(int dirfd, const char* pathname, const struct timespec times[_Nullable 2], int flags);
|
||||
+extern int futimens(int fd, const struct timespec times[_Nullable 2]);
|
||||
+#endif
|
||||
+
|
||||
+int compat_utimensat(int dirfd, const char* pathname, const struct timespec times[_Nullable 2], int flags) {
|
||||
+ if (__builtin_available(macOS 10.13, *)) {
|
||||
+ return utimensat(dirfd, pathname, times, flags);
|
||||
+ } else {
|
||||
+ int fd = openat(dirfd, pathname, flags);
|
||||
+ if (fd == -1) { return -1; }
|
||||
+
|
||||
+ int retval = compat_futimens(fd, times);
|
||||
+ if (close(fd) == -1) { return -1; }
|
||||
+
|
||||
+ return retval;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+int compat_futimens(int fd, const struct timespec times[_Nullable 2]) {
|
||||
+ if (__builtin_available(macOS 10.13, *)) {
|
||||
+ return futimens(fd, times);
|
||||
+ } else {
|
||||
+ return gzip_futimens(fd, times);
|
||||
+ }
|
||||
+}
|
||||
diff --git a/compat/time_compat.h b/compat/time_compat.h
|
||||
new file mode 100644
|
||||
index 0000000..f07a7ed
|
||||
--- /dev/null
|
||||
+++ b/compat/time_compat.h
|
||||
@@ -0,0 +1,16 @@
|
||||
+// SPDX-License-Identifier: APSL-2.0
|
||||
+// utimensat written by Randy Eckenrode © 2024
|
||||
+
|
||||
+#pragma once
|
||||
+
|
||||
+#include <time.h>
|
||||
+
|
||||
+// https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/stat.h#L578-L579
|
||||
+#define UTIME_NOW -1
|
||||
+#define UTIME_OMIT -2
|
||||
+
|
||||
+#define utimensat compat_utimensat
|
||||
+#define futimens compat_futimens
|
||||
+
|
||||
+extern int compat_utimensat(int dirfd, const char* pathname, const struct timespec times[_Nullable 2], int flags);
|
||||
+extern int compat_futimens(int fd, const struct timespec times[_Nullable 2]);
|
||||
--
|
||||
2.46.0
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
apple-sdk_11,
|
||||
apple-sdk,
|
||||
developer_cmds,
|
||||
fetchurl,
|
||||
libpcap,
|
||||
@ -67,7 +67,7 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
xnu = apple-sdk_11.sourceRelease "xnu";
|
||||
xnu = apple-sdk.sourceRelease "xnu";
|
||||
|
||||
privateHeaders = stdenvNoCC.mkDerivation {
|
||||
name = "network_cmds-deps-private-headers";
|
||||
@ -449,7 +449,6 @@ mkAppleDerivation {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
apple-sdk_11
|
||||
libpcap
|
||||
libresolv
|
||||
openssl
|
||||
|
@ -8,7 +8,6 @@ project('patch_cmds', 'c', version : '@version@')
|
||||
# Dependencies
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
libbsd = dependency('libbsd-overlay', required : false)
|
||||
libutil = cc.find_library('util')
|
||||
|
||||
|
||||
@ -30,7 +29,6 @@ install_man('cmp/cmp.1')
|
||||
|
||||
executable(
|
||||
'diff',
|
||||
dependencies : [ libbsd ],
|
||||
include_directories : 'diff',
|
||||
install : true,
|
||||
sources : [
|
||||
@ -79,7 +77,6 @@ install_man('diffstat/diffstat.1')
|
||||
|
||||
executable(
|
||||
'patch',
|
||||
dependencies : [ libbsd ],
|
||||
include_directories : 'patch',
|
||||
install : true,
|
||||
sources : [
|
||||
@ -96,7 +93,6 @@ install_man('patch/patch.1')
|
||||
|
||||
executable(
|
||||
'sdiff',
|
||||
dependencies : [ libbsd ],
|
||||
include_directories : 'sdiff',
|
||||
install : true,
|
||||
sources : [
|
||||
|
@ -1,7 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
apple-sdk,
|
||||
libbsd,
|
||||
libutil,
|
||||
mkAppleDerivation,
|
||||
pkg-config,
|
||||
@ -19,10 +18,7 @@ mkAppleDerivation {
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs =
|
||||
[ libutil ]
|
||||
# diff, patch, and sdiff need `strtonum`, which requires the 11.0 SDK.
|
||||
++ lib.optionals (lib.versionOlder (lib.getVersion apple-sdk) "11.0") [ libbsd ];
|
||||
buildInputs = [ libutil ];
|
||||
|
||||
meta = {
|
||||
description = "BSD patch commands for Darwin";
|
||||
|
@ -14,15 +14,6 @@ library(
|
||||
'removefile',
|
||||
c_args : [
|
||||
'-D__DARWIN_NOW_CANCELABLE=1',
|
||||
# Define these flags for the 10.12 SDK assuming that users on older systems can’t encounter dataless files.
|
||||
# https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/stat.h#L520
|
||||
'-DSF_DATALESS=0x40000000',
|
||||
# https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/resource.h#L598
|
||||
'-DIOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES=3',
|
||||
# https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/resource.h#L640
|
||||
'-DIOPOL_MATERIALIZE_DATALESS_FILES_OFF=1',
|
||||
# https://github.com/apple-oss-distributions/xnu/blob/94d3b452840153a99b38a3a9659680b2a006908e/bsd/sys/attr.h#L562
|
||||
# '-DATTR_CMNEXT_LINKID=0x00000010',
|
||||
],
|
||||
install : true,
|
||||
sources : [
|
||||
|
@ -1,15 +1,11 @@
|
||||
{
|
||||
apple-sdk,
|
||||
apple-sdk_10_13,
|
||||
apple-sdk_11,
|
||||
mkAppleDerivation,
|
||||
stdenvNoCC,
|
||||
}:
|
||||
|
||||
let
|
||||
# The 10.12 SDK doesn’t have the files needed in the same places or possibly at all.
|
||||
# Just use the 11.x SDK to make things easier.
|
||||
xnu = apple-sdk_11.sourceRelease "xnu";
|
||||
xnu = apple-sdk.sourceRelease "xnu";
|
||||
|
||||
privateHeaders = stdenvNoCC.mkDerivation {
|
||||
name = "removefile-deps-private-headers";
|
||||
|
@ -15,7 +15,6 @@ host_cxx = meson.get_compiler('cpp')
|
||||
|
||||
|
||||
# pam = cc.find_library('pam')
|
||||
libbsd = dependency('libbsd-overlay', required : false)
|
||||
libedit = dependency('libedit')
|
||||
libresolv = host_cc.find_library('resolv')
|
||||
libsbuf = host_cc.find_library('sbuf')
|
||||
@ -259,7 +258,6 @@ endforeach
|
||||
|
||||
executable(
|
||||
'lockf',
|
||||
dependencies : [ libbsd ],
|
||||
install : true,
|
||||
sources : [ 'lockf/lockf.c' ],
|
||||
)
|
||||
@ -415,7 +413,6 @@ install_man('who/who.1')
|
||||
|
||||
executable(
|
||||
'xargs',
|
||||
dependencies : [ libbsd ],
|
||||
include_directories : 'xargs',
|
||||
install : true,
|
||||
sources : [
|
||||
|
@ -4,7 +4,6 @@
|
||||
bison,
|
||||
clang,
|
||||
fetchurl,
|
||||
libbsd,
|
||||
libedit,
|
||||
libresolv,
|
||||
libsbuf,
|
||||
@ -17,15 +16,6 @@
|
||||
let
|
||||
# nohup requires vproc_priv.h from launchd
|
||||
launchd = apple-sdk.sourceRelease "launchd";
|
||||
|
||||
oldTime_c = fetchurl {
|
||||
url = "https://github.com/apple-oss-distributions/shell_cmds/raw/shell_cmds-207.11.1/time/time.c";
|
||||
hash = "sha256-f7aRwIaKq6r37jpw0V+1Z/sZs5Rm7vy2S774HNBnwmY=";
|
||||
};
|
||||
oldTime_1 = fetchurl {
|
||||
url = "https://github.com/apple-oss-distributions/shell_cmds/raw/shell_cmds-207.11.1/time/time.1";
|
||||
hash = "sha256-ZIbNJPHLQVGq2tdUB6j0DEp9Hie+XUZkfuQm676Vpwc=";
|
||||
};
|
||||
in
|
||||
mkAppleDerivation {
|
||||
releaseName = "shell_cmds";
|
||||
@ -37,31 +27,18 @@ mkAppleDerivation {
|
||||
|
||||
xcodeHash = "sha256-26N7AZV/G+ryc2Nu1v91rEdb1a6jDpnj6t5rzEG2YA4=";
|
||||
|
||||
postPatch =
|
||||
''
|
||||
# Fix `mktemp` templates
|
||||
substituteInPlace sh/mkbuiltins \
|
||||
--replace-fail '-t ka' '-t ka.XXXXXX'
|
||||
substituteInPlace sh/mktokens \
|
||||
--replace-fail '-t ka' '-t ka.XXXXXX'
|
||||
postPatch = ''
|
||||
# Fix `mktemp` templates
|
||||
substituteInPlace sh/mkbuiltins \
|
||||
--replace-fail '-t ka' '-t ka.XXXXXX'
|
||||
substituteInPlace sh/mktokens \
|
||||
--replace-fail '-t ka' '-t ka.XXXXXX'
|
||||
|
||||
# Update `/etc/locate.rc` paths to point to the store.
|
||||
for path in locate/locate/locate.updatedb.8 locate/locate/locate.rc locate/locate/updatedb.sh; do
|
||||
substituteInPlace $path --replace-fail '/etc/locate.rc' "$out/etc/locate.rc"
|
||||
done
|
||||
''
|
||||
# Use an older version of `time.c` that’s compatible with the 10.12 SDK.
|
||||
+ lib.optionalString (lib.versionOlder (lib.getVersion apple-sdk) "10.13") ''
|
||||
cp '${oldTime_c}' time/time.c
|
||||
cp '${oldTime_1}' time/time.1
|
||||
''
|
||||
+ lib.optionalString (lib.versionOlder (lib.getVersion apple-sdk) "11.0") ''
|
||||
# `rpmatch` was added in 11.0, so revert it to a simpler check on older SDKs.
|
||||
substituteInPlace find/misc.c \
|
||||
--replace-fail 'return (rpmatch(resp) == 1);' "return (resp[0] == 'y');"
|
||||
# Add missing header for older SDKs.
|
||||
sed -e '1i #include <sys/time.h>' -i w/proc_compare.c
|
||||
'';
|
||||
# Update `/etc/locate.rc` paths to point to the store.
|
||||
for path in locate/locate/locate.updatedb.8 locate/locate/locate.rc locate/locate/updatedb.sh; do
|
||||
substituteInPlace $path --replace-fail '/etc/locate.rc' "$out/etc/locate.rc"
|
||||
done
|
||||
'';
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-I${launchd}/liblaunch";
|
||||
|
||||
@ -72,16 +49,13 @@ mkAppleDerivation {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
libedit
|
||||
libresolv
|
||||
libsbuf
|
||||
libutil
|
||||
libxo
|
||||
]
|
||||
# xargs needs `strtonum`, which was added in 11.0.
|
||||
++ lib.optionals (lib.versionOlder (lib.getVersion apple-sdk) "11.0") [ libbsd ];
|
||||
buildInputs = [
|
||||
libedit
|
||||
libresolv
|
||||
libsbuf
|
||||
libutil
|
||||
libxo
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
# Patch the shebangs to use `sh` from shell_cmds.
|
||||
|
@ -76,17 +76,14 @@ install_man('accton/accton.8')
|
||||
|
||||
executable(
|
||||
'arch',
|
||||
build_by_default : sdk_version.version_compare('>=11'),
|
||||
dependencies : [ core_foundation ],
|
||||
install : sdk_version.version_compare('>=11'),
|
||||
install : true,
|
||||
sources : 'arch/arch.c',
|
||||
)
|
||||
if sdk_version.version_compare('>=11')
|
||||
install_man(
|
||||
'arch/arch.1',
|
||||
'arch/machine.1',
|
||||
)
|
||||
endif
|
||||
install_man(
|
||||
'arch/arch.1',
|
||||
'arch/machine.1',
|
||||
)
|
||||
|
||||
executable(
|
||||
'at',
|
||||
@ -192,8 +189,8 @@ install_man('fs_usage/fs_usage.1')
|
||||
executable(
|
||||
'gcore',
|
||||
# Requires XPC private APIs
|
||||
build_by_default : false and sdk_version.version_compare('>=11'),
|
||||
install : false and sdk_version.version_compare('>=11'),
|
||||
build_by_default : false,
|
||||
install : false,
|
||||
sources : [
|
||||
'gcore/convert.c',
|
||||
'gcore/corefile.c',
|
||||
@ -359,13 +356,10 @@ install_man('mkfile/mkfile.8')
|
||||
|
||||
executable(
|
||||
'mslutil',
|
||||
build_by_default : sdk_version.version_compare('>=10.13'),
|
||||
install : sdk_version.version_compare('>=10.13'),
|
||||
install : true,
|
||||
sources : 'mslutil/mslutil.c',
|
||||
)
|
||||
if sdk_version.version_compare('>=10.13')
|
||||
install_man('mslutil/mslutil.1')
|
||||
endif
|
||||
install_man('mslutil/mslutil.1')
|
||||
|
||||
executable(
|
||||
'newgrp',
|
||||
@ -495,8 +489,8 @@ executable('shutdown',
|
||||
executable(
|
||||
'stackshot',
|
||||
# Requires private entitlements
|
||||
build_by_default : false and sdk_version.version_compare('>=10.13'),
|
||||
install : false and sdk_version.version_compare('>=10.13'),
|
||||
build_by_default : false,
|
||||
install : false,
|
||||
sources : 'stackshot/stackshot.c',
|
||||
)
|
||||
# No man pages for `stackshot`.
|
||||
@ -520,13 +514,10 @@ install_man(
|
||||
|
||||
executable(
|
||||
'taskpolicy',
|
||||
build_by_default : sdk_version.version_compare('>=11'),
|
||||
install : sdk_version.version_compare('>=11'),
|
||||
install : true,
|
||||
sources : 'taskpolicy/taskpolicy.c',
|
||||
)
|
||||
if sdk_version.version_compare('>=11')
|
||||
install_man('taskpolicy/taskpolicy.8')
|
||||
endif
|
||||
install_man('taskpolicy/taskpolicy.8')
|
||||
|
||||
executable(
|
||||
'vifs',
|
||||
@ -546,13 +537,10 @@ executable(
|
||||
install_man('vipw/vipw.8')
|
||||
|
||||
executable('vm_purgeable_stat',
|
||||
build_by_default : sdk_version.version_compare('>=11'),
|
||||
install : sdk_version.version_compare('>=11'),
|
||||
install : true,
|
||||
sources : 'vm_purgeable_stat/vm_purgeable_stat.c',
|
||||
)
|
||||
if sdk_version.version_compare('>=11')
|
||||
install_man('vm_purgeable_stat/vm_purgeable_stat.1')
|
||||
endif
|
||||
install_man('vm_purgeable_stat/vm_purgeable_stat.1')
|
||||
|
||||
executable(
|
||||
'vm_stat',
|
||||
@ -593,18 +581,15 @@ install_man('zic/zic.8')
|
||||
|
||||
executable(
|
||||
'zlog',
|
||||
build_by_default : sdk_version.version_compare('>=11'),
|
||||
c_args : '-DKERN_NOT_FOUND=56',
|
||||
dependencies : [ core_foundation, core_symbolication ],
|
||||
install : sdk_version.version_compare('>=11'),
|
||||
install : true,
|
||||
sources : [
|
||||
'zlog/SymbolicationHelper.c',
|
||||
'zlog/zlog.c',
|
||||
],
|
||||
)
|
||||
if sdk_version.version_compare('>=11')
|
||||
install_man('zlog/zlog.1')
|
||||
endif
|
||||
install_man('zlog/zlog.1')
|
||||
|
||||
executable(
|
||||
'zprint',
|
||||
|
@ -51,6 +51,9 @@ let
|
||||
chmod -R u+w "$out/include/dispatch"
|
||||
find "$out/include/dispatch" -name '*.h' -exec sed -i {} -e 's/, bridgeos([^)]*)//g' \;
|
||||
|
||||
install -D -t "$out/include/System/i386" \
|
||||
'${xnu}/osfmk/i386/cpu_capabilities.h'
|
||||
|
||||
install -D -t "$out/include/kern" \
|
||||
'${xnu}/osfmk/kern/debug.h'
|
||||
|
||||
@ -81,11 +84,6 @@ mkAppleDerivation {
|
||||
|
||||
xcodeHash = "sha256-gdtn3zNIneZKy6+X0mQ51CFVLNM6JQYLbd/lotG5/Tw=";
|
||||
|
||||
patches = [
|
||||
# Use availability checks to fall back to older APIs on older macOS versions.
|
||||
./patches/0001-Add-availability-checks-to-vm_purgeable_stat.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Replace hard-coded, impure system paths with the output path in the store.
|
||||
sed -e "s|PATH=[^;]*|PATH='$out/bin'|" -i "pagesize/pagesize.sh"
|
||||
|
@ -1,42 +0,0 @@
|
||||
From 18a676bc44a8bc24374ab35a258a18049b56b6d4 Mon Sep 17 00:00:00 2001
|
||||
From: Randy Eckenrode <randy@largeandhighquality.com>
|
||||
Date: Mon, 2 Sep 2024 21:46:34 -0400
|
||||
Subject: [PATCH] Add availability checks to vm_purgeable_stat
|
||||
|
||||
---
|
||||
vm_purgeable_stat/vm_purgeable_stat.c | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/vm_purgeable_stat/vm_purgeable_stat.c b/vm_purgeable_stat/vm_purgeable_stat.c
|
||||
index 330704d..9d9041b 100644
|
||||
--- a/vm_purgeable_stat/vm_purgeable_stat.c
|
||||
+++ b/vm_purgeable_stat/vm_purgeable_stat.c
|
||||
@@ -88,7 +88,11 @@ int get_task_from_pid(int pid, task_t *task)
|
||||
fprintf(stderr, "%s\n", PRIV_ERR_MSG);
|
||||
return -1;
|
||||
}
|
||||
- kr = task_inspect_for_pid(mach_task_self(), pid, task);
|
||||
+ if (__builtin_available(macOS 11.3, *)) {
|
||||
+ kr = task_inspect_for_pid(mach_task_self(), pid, task);
|
||||
+ } else {
|
||||
+ kr = task_for_pid(mach_task_self(), pid, task);
|
||||
+ }
|
||||
if (kr != KERN_SUCCESS) {
|
||||
fprintf(stderr, "Failed to get task port for pid: %d\n", pid);
|
||||
return -1;
|
||||
@@ -128,7 +132,11 @@ int get_system_tasks(task_array_t *tasks, mach_msg_type_number_t *count)
|
||||
vm_deallocate(mach_task_self(), (vm_address_t)psets, (vm_size_t)psetCount * sizeof(mach_port_t));
|
||||
|
||||
/* convert the processor-set-priv to a list of tasks for the processor set */
|
||||
- ret = processor_set_tasks_with_flavor(pset_priv, TASK_FLAVOR_INSPECT, tasks, count);
|
||||
+ if (__builtin_available(macOS 11.0, *)) {
|
||||
+ ret = processor_set_tasks_with_flavor(pset_priv, TASK_FLAVOR_INSPECT, tasks, count);
|
||||
+ } else {
|
||||
+ ret = processor_set_tasks(pset_priv, tasks, count);
|
||||
+ }
|
||||
if (ret != KERN_SUCCESS) {
|
||||
fprintf(stderr, "processor_set_tasks_with_flavor() failed: %s\n", mach_error_string(ret));
|
||||
return -1;
|
||||
--
|
||||
2.44.1
|
||||
|
@ -18,7 +18,6 @@ fs = import('fs')
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
bzip2 = dependency('bzip2')
|
||||
libbsd = dependency('libbsd-overlay', required : false)
|
||||
libmd = dependency('libmd')
|
||||
libresolv = cc.find_library('resolv')
|
||||
libutil = cc.find_library('util')
|
||||
@ -81,7 +80,6 @@ install_man('cat/cat.1')
|
||||
|
||||
executable(
|
||||
'col',
|
||||
dependencies : [ libbsd ],
|
||||
install : true,
|
||||
sources : [
|
||||
'col/col.c',
|
||||
@ -316,7 +314,7 @@ executable(
|
||||
|
||||
executable(
|
||||
'split',
|
||||
dependencies : [ libbsd, libutil ],
|
||||
dependencies : [ libutil ],
|
||||
install : true,
|
||||
sources : [ 'split/split.c' ],
|
||||
)
|
||||
@ -366,7 +364,6 @@ executable(
|
||||
|
||||
executable(
|
||||
'uniq',
|
||||
dependencies : [ libbsd ],
|
||||
install : true,
|
||||
sources : [ 'uniq/uniq.c' ],
|
||||
)
|
||||
|
@ -1,10 +1,8 @@
|
||||
{
|
||||
lib,
|
||||
apple-sdk,
|
||||
apple-sdk_11,
|
||||
apple-sdk_13,
|
||||
bzip2,
|
||||
libbsd,
|
||||
libmd,
|
||||
libresolv,
|
||||
libutil,
|
||||
@ -22,11 +20,9 @@ let
|
||||
Libc = apple-sdk.sourceRelease "Libc";
|
||||
Libc_13 = apple-sdk_13.sourceRelease "Libc";
|
||||
|
||||
# The 10.12 SDK doesn’t have the files needed in the same places or possibly at all.
|
||||
# Just use the 11.0 SDK to make things easier.
|
||||
CommonCrypto = apple-sdk_11.sourceRelease "CommonCrypto";
|
||||
libplatform = apple-sdk_11.sourceRelease "libplatform";
|
||||
xnu = apple-sdk_11.sourceRelease "xnu";
|
||||
CommonCrypto = apple-sdk.sourceRelease "CommonCrypto";
|
||||
libplatform = apple-sdk.sourceRelease "libplatform";
|
||||
xnu = apple-sdk.sourceRelease "xnu";
|
||||
|
||||
privateHeaders = stdenvNoCC.mkDerivation {
|
||||
name = "text_cmds-deps-private-headers";
|
||||
@ -40,12 +36,6 @@ let
|
||||
'${xnu}/libkern/os/base_private.h'
|
||||
install -D -t "$out/include/CommonCrypto" \
|
||||
'${CommonCrypto}/include/Private/CommonDigestSPI.h'
|
||||
|
||||
# Prevent an error when using the old availability headers from the 10.12 SDK.
|
||||
substituteInPlace "$out/include/CommonCrypto/CommonDigestSPI.h" \
|
||||
--replace-fail 'API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.13), ios(5.0, 11.0))' "" \
|
||||
--replace-fail 'API_DEPRECATED(CC_DIGEST_DEPRECATION_WARNING, macos(10.4, 10.15), ios(5.0, 13.0))' ""
|
||||
touch "$out/include/CrashReporterClient.h" # Needed by older SDK `os/assumes.h`
|
||||
'';
|
||||
};
|
||||
in
|
||||
@ -59,10 +49,6 @@ mkAppleDerivation {
|
||||
|
||||
xcodeHash = "sha256-dZ+yJyfflhmUyx3gitRXC115QxS87SGC4/HjMa199Ts=";
|
||||
|
||||
patches = lib.optionals (lib.versionOlder (lib.getVersion apple-sdk) "11.0") [
|
||||
./patches/0001-Use-availability-check-for-__collate_lookup_l.patch
|
||||
];
|
||||
|
||||
postPatch =
|
||||
''
|
||||
# Improve compatiblity with libmd in nixpkgs.
|
||||
@ -102,7 +88,7 @@ mkAppleDerivation {
|
||||
ncurses
|
||||
xz
|
||||
zlib
|
||||
] ++ lib.optionals (lib.versionOlder (lib.getVersion apple-sdk) "11.0") [ libbsd ];
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
# Patch the shebangs to use `sh` from shell_cmds.
|
||||
|
@ -1,54 +0,0 @@
|
||||
From 11ad41c2d3af88b5cf85d4bc2f5388b65e5ff347 Mon Sep 17 00:00:00 2001
|
||||
From: Randy Eckenrode <randy@largeandhighquality.com>
|
||||
Date: Mon, 16 Sep 2024 12:42:59 -0400
|
||||
Subject: [PATCH] Use availability check for __collate_lookup_l
|
||||
|
||||
---
|
||||
tr/str.c | 17 +++++++++++++++--
|
||||
1 file changed, 15 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tr/str.c b/tr/str.c
|
||||
index 6a79df2..8226abe 100644
|
||||
--- a/tr/str.c
|
||||
+++ b/tr/str.c
|
||||
@@ -69,6 +69,7 @@ static void genseq(STR *);
|
||||
* Using libc internal function __collate_lookup_l for character
|
||||
* equivalence
|
||||
*/
|
||||
+void __collate_lookup(const __darwin_wchar_t *, int *, int *, int *);
|
||||
void __collate_lookup_l(const __darwin_wchar_t *, int *, int *, int *,
|
||||
locale_t);
|
||||
/*
|
||||
@@ -255,7 +256,13 @@ genequiv(STR *s)
|
||||
*/
|
||||
int tprim, tsec;
|
||||
int len;
|
||||
- __collate_lookup_l(s->equiv, &len, &tprim, &tsec, LC_GLOBAL_LOCALE);
|
||||
+ if (__builtin_available(macOS 11.0, *)) {
|
||||
+ __collate_lookup_l(s->equiv, &len, &tprim, &tsec, LC_GLOBAL_LOCALE);
|
||||
+ } else {
|
||||
+ locale_t old = uselocale(LC_GLOBAL_LOCALE);
|
||||
+ __collate_lookup(s->equiv, &len, &tprim, &tsec);
|
||||
+ uselocale(old);
|
||||
+ }
|
||||
|
||||
if (tprim != -1) {
|
||||
for (p = 1, i = 1; i < NCHARS_SB; i++) {
|
||||
@@ -270,7 +277,13 @@ genequiv(STR *s)
|
||||
* perform lookup of primary weight and fill cache
|
||||
*/
|
||||
int csec;
|
||||
- __collate_lookup_l((__darwin_wchar_t *)&i, &len, &cprim, &csec, LC_GLOBAL_LOCALE);
|
||||
+ if (__builtin_available(macOS 11.0, *)) {
|
||||
+ __collate_lookup_l((__darwin_wchar_t *)&i, &len, &cprim, &csec, LC_GLOBAL_LOCALE);
|
||||
+ } else {
|
||||
+ locale_t old = uselocale(LC_GLOBAL_LOCALE);
|
||||
+ __collate_lookup((__darwin_wchar_t *)&i, &len, &cprim, &csec);
|
||||
+ uselocale(old);
|
||||
+ }
|
||||
collation_weight_cache[i] = cprim;
|
||||
}
|
||||
|
||||
--
|
||||
2.46.0
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
apple-sdk_11,
|
||||
apple-sdk,
|
||||
fetchpatch2,
|
||||
libutil,
|
||||
mkAppleDerivation,
|
||||
@ -8,7 +8,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
xnu = apple-sdk_11.sourceRelease "xnu";
|
||||
xnu = apple-sdk.sourceRelease "xnu";
|
||||
in
|
||||
mkAppleDerivation {
|
||||
releaseName = "top";
|
||||
@ -33,7 +33,6 @@ mkAppleDerivation {
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
apple-sdk_11
|
||||
libutil
|
||||
ncurses
|
||||
];
|
||||
|
@ -28,14 +28,7 @@ assert crossSystem == localSystem;
|
||||
let
|
||||
inherit (localSystem) system;
|
||||
|
||||
sdkMajorVersion =
|
||||
let
|
||||
inherit (localSystem) darwinSdkVersion;
|
||||
in
|
||||
if lib.versionOlder darwinSdkVersion "11" then
|
||||
lib.versions.majorMinor darwinSdkVersion
|
||||
else
|
||||
lib.versions.major darwinSdkVersion;
|
||||
sdkMajorVersion = lib.versions.major localSystem.darwinSdkVersion;
|
||||
|
||||
commonImpureHostDeps = [
|
||||
"/bin/sh"
|
||||
@ -676,8 +669,6 @@ assert bootstrapTools.passthru.isFromBootstrapFiles or false; # sanity check
|
||||
self = self.python3-bootstrap;
|
||||
pythonAttr = "python3-bootstrap";
|
||||
enableLTO = false;
|
||||
# Workaround for ld64 crashes on x86_64-darwin. Remove after 11.0 is made the default.
|
||||
inherit (prevStage) apple-sdk_11;
|
||||
};
|
||||
|
||||
scons = super.scons.override { python3Packages = self.python3.pkgs; };
|
||||
@ -690,12 +681,6 @@ assert bootstrapTools.passthru.isFromBootstrapFiles or false; # sanity check
|
||||
|
||||
postLinkSignHook = prevStage.darwin.postLinkSignHook.override { inherit (selfDarwin) sigtool; };
|
||||
|
||||
adv_cmds = superDarwin.adv_cmds.override {
|
||||
# Break an infinite recursion between CMake and libtapi. CMake requires adv_cmds.ps, and adv_cmds
|
||||
# requires a newer SDK that requires libtapi to build, which requires CMake.
|
||||
inherit (prevStage) apple-sdk_11;
|
||||
};
|
||||
|
||||
# Rewrap binutils with the real libSystem
|
||||
binutils = superDarwin.binutils.override {
|
||||
inherit (self) coreutils;
|
||||
|
@ -9,33 +9,23 @@
|
||||
|
||||
stdenv: sdkVersion:
|
||||
let
|
||||
newVersion = {
|
||||
inherit (stdenv.hostPlatform) darwinMinVersion darwinSdkVersion;
|
||||
} // (if lib.isAttrs sdkVersion then sdkVersion else { darwinSdkVersion = sdkVersion; });
|
||||
|
||||
inherit (newVersion) darwinMinVersion darwinSdkVersion;
|
||||
|
||||
sdkMapping = {
|
||||
"11.0" = pkgsHostTarget.apple-sdk_11;
|
||||
"12.3" = pkgsHostTarget.apple-sdk_12;
|
||||
};
|
||||
|
||||
minVersionHook = pkgsHostTarget.darwinMinVersionHook darwinMinVersion;
|
||||
|
||||
resolvedSdk =
|
||||
sdkMapping.${darwinSdkVersion} or (lib.throw ''
|
||||
`overrideSDK` and `darwin.apple_sdk_11_0.callPackage` are deprecated.
|
||||
Only the 11.0 and 12.3 SDKs are supported using them. Please use
|
||||
the versioned `apple-sdk` variants to use other SDK versions.
|
||||
|
||||
See the stdenv documentation for how to use `apple-sdk`.
|
||||
'');
|
||||
darwinSdkVersion =
|
||||
if lib.isAttrs sdkVersion then sdkVersion.darwinSdkVersion or "11.0" else sdkVersion;
|
||||
in
|
||||
assert lib.assertMsg (darwinSdkVersion == "11.0" || darwinSdkVersion == "12.3") ''
|
||||
`overrideSDK` and `darwin.apple_sdk_11_0.callPackage` are deprecated.
|
||||
Only the 11.0 and 12.3 SDKs are supported using them. Please use
|
||||
the versioned `apple-sdk` variants to use other SDK versions.
|
||||
|
||||
See the stdenv documentation for how to use `apple-sdk`.
|
||||
'';
|
||||
stdenv.override (old: {
|
||||
mkDerivationFromStdenv = extendMkDerivationArgs old (args: {
|
||||
buildInputs =
|
||||
args.buildInputs or [ ]
|
||||
++ lib.optional (stdenv.hostPlatform.darwinMinVersion != darwinMinVersion) minVersionHook
|
||||
++ lib.optional (stdenv.hostPlatform.darwinSdkVersion != darwinSdkVersion) resolvedSdk;
|
||||
++ lib.optional (darwinSdkVersion == "12.3") pkgsHostTarget.apple-sdk_12
|
||||
++ lib.optional (sdkVersion ? darwinMinVersion) (
|
||||
pkgsHostTarget.darwinMinVersionHook sdkVersion.darwinMinVersion
|
||||
);
|
||||
});
|
||||
})
|
||||
|
@ -3,7 +3,6 @@
|
||||
, fetchurl
|
||||
, nixosTests
|
||||
, pkg-config
|
||||
, memstreamHook
|
||||
, CoreAudio
|
||||
, libobjc
|
||||
, libjack2
|
||||
@ -31,9 +30,7 @@ stdenv.mkDerivation rec {
|
||||
./configure-compat.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ]
|
||||
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ memstreamHook ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
libjack2
|
||||
ncurses
|
||||
|
@ -9,7 +9,6 @@
|
||||
, fetchpatch
|
||||
, fetchpatch2
|
||||
, runCommand
|
||||
, overrideSDK
|
||||
, buildPackages
|
||||
, Security
|
||||
|
||||
@ -210,22 +209,13 @@ in lib.makeExtensible (self: ({
|
||||
self_attribute_name = "nix_2_23";
|
||||
};
|
||||
|
||||
nix_2_24 = (common {
|
||||
nix_2_24 = common {
|
||||
version = "2.24.10";
|
||||
hash = "sha256-XdeVy1/d6DEIYb3nOA6JIYF4fwMKNxtwJMgT3pHi+ko=";
|
||||
self_attribute_name = "nix_2_24";
|
||||
}).override (lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) {
|
||||
# Fix the following error with the default x86_64-darwin SDK:
|
||||
#
|
||||
# error: aligned allocation function of type 'void *(std::size_t, std::align_val_t)' is only available on macOS 10.13 or newer
|
||||
#
|
||||
# Despite the use of the 10.13 deployment target here, the aligned
|
||||
# allocation function Clang uses with this setting actually works
|
||||
# all the way back to 10.6.
|
||||
stdenv = overrideSDK stdenv { darwinMinVersion = "10.13"; };
|
||||
});
|
||||
};
|
||||
|
||||
git = (common rec {
|
||||
git = common rec {
|
||||
version = "2.25.0";
|
||||
suffix = "pre20241101_${lib.substring 0 8 src.rev}";
|
||||
src = fetchFromGitHub {
|
||||
@ -235,16 +225,7 @@ in lib.makeExtensible (self: ({
|
||||
hash = "sha256-E1Sp0JHtbD1CaGO3UbBH6QajCtOGqcrVfPSKL0n63yo=";
|
||||
};
|
||||
self_attribute_name = "git";
|
||||
}).override (lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) {
|
||||
# Fix the following error with the default x86_64-darwin SDK:
|
||||
#
|
||||
# error: aligned allocation function of type 'void *(std::size_t, std::align_val_t)' is only available on macOS 10.13 or newer
|
||||
#
|
||||
# Despite the use of the 10.13 deployment target here, the aligned
|
||||
# allocation function Clang uses with this setting actually works
|
||||
# all the way back to 10.6.
|
||||
stdenv = overrideSDK stdenv { darwinMinVersion = "10.13"; };
|
||||
});
|
||||
};
|
||||
|
||||
latest = self.nix_2_24;
|
||||
|
||||
|
@ -110,6 +110,10 @@ mapAliases {
|
||||
ao = libfive; # Added 2024-10-11
|
||||
apacheKafka_3_5 = throw "apacheKafka_2_8 through _3_5 have been removed from nixpkgs as outdated"; # Added 2024-06-13
|
||||
antimicroX = throw "'antimicroX' has been renamed to/replaced by 'antimicrox'"; # Converted to throw 2024-10-17
|
||||
apple-sdk_10_12 = throw "apple-sdk_10_12 was removed as Nixpkgs no longer supports macOS 10.12; see the 25.05 release notes"; # Added 2024-10-27
|
||||
apple-sdk_10_13 = throw "apple-sdk_10_13 was removed as Nixpkgs no longer supports macOS 10.13; see the 25.05 release notes"; # Added 2024-10-27
|
||||
apple-sdk_10_14 = throw "apple-sdk_10_14 was removed as Nixpkgs no longer supprots macOS 10.14; see the 25.05 release notes"; # Added 2024-10-27
|
||||
apple-sdk_10_15 = throw "apple-sdk_10_15 was removed as Nixpkgs no longer supports macOS 10.15; see the 25.05 release notes"; # Added 2024-10-27
|
||||
appthreat-depscan = dep-scan; # Added 2024-04-10
|
||||
arcanist = throw "arcanist was removed as phabricator is not supported and does not accept fixes"; # Added 2024-06-07
|
||||
aria = aria2; # Added 2024-03-26
|
||||
@ -761,6 +765,10 @@ mapAliases {
|
||||
mcomix3 = mcomix; # Added 2022-06-05
|
||||
mdt = md-tui; # Added 2024-09-03
|
||||
meme = throw "'meme' has been renamed to/replaced by 'meme-image-generator'"; # Converted to throw 2024-10-17
|
||||
memorymapping = throw "memorymapping has been removed, as it was only useful on old macOS versions that are no longer supported"; # Added 2024-10-05
|
||||
memorymappingHook = throw "memorymapping has been removed, as it was only useful on old macOS versions that are no longer supported"; # Added 2024-10-05
|
||||
memstream = throw "memstream has been removed, as it was only useful on old macOS versions that are no longer supported"; # Added 2024-10-05
|
||||
memstreamHook = throw "memstream has been removed, as it was only useful on old macOS versions that are no longer supported"; # Added 2024-10-05
|
||||
mhwaveedit = throw "'mkwaveedit' has been removed due to lack of maintenance upstream. Consider using 'audacity' or 'tenacity' instead";
|
||||
microcodeAmd = microcode-amd; # Added 2024-09-08
|
||||
microcodeIntel = microcode-intel; # Added 2024-09-08
|
||||
|
@ -10354,18 +10354,6 @@ with pkgs;
|
||||
|
||||
mediastreamer-openh264 = callPackage ../development/libraries/mediastreamer/msopenh264.nix { };
|
||||
|
||||
memorymapping = callPackage ../development/libraries/memorymapping { };
|
||||
memorymappingHook = makeSetupHook {
|
||||
name = "memorymapping-hook";
|
||||
propagatedBuildInputs = [ memorymapping ];
|
||||
} ../development/libraries/memorymapping/setup-hook.sh;
|
||||
|
||||
memstream = callPackage ../development/libraries/memstream { };
|
||||
memstreamHook = makeSetupHook {
|
||||
name = "memstream-hook";
|
||||
propagatedBuildInputs = [ memstream ];
|
||||
} ../development/libraries/memstream/setup-hook.sh;
|
||||
|
||||
mergerfs = callPackage ../tools/filesystems/mergerfs { };
|
||||
|
||||
mergerfs-tools = callPackage ../tools/filesystems/mergerfs/tools.nix { };
|
||||
@ -11342,10 +11330,6 @@ with pkgs;
|
||||
|
||||
### DEVELOPMENT / LIBRARIES / DARWIN SDKS
|
||||
|
||||
apple-sdk_10_12 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "10.12"; };
|
||||
apple-sdk_10_13 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "10.13"; };
|
||||
apple-sdk_10_14 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "10.14"; };
|
||||
apple-sdk_10_15 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "10.15"; };
|
||||
apple-sdk_11 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "11"; };
|
||||
apple-sdk_12 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "12"; };
|
||||
apple-sdk_13 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "13"; };
|
||||
|
@ -47,6 +47,10 @@ let
|
||||
in
|
||||
|
||||
mapAliases ({
|
||||
### A ###
|
||||
|
||||
apple_sdk_10_12 = throw "darwin.apple_sdk_10_12 was removed as Nixpkgs no longer supports macOS 10.12; see the 25.05 release notes"; # Added 2024-10-27
|
||||
|
||||
### B ###
|
||||
|
||||
builder = throw "'darwin.builder' has been changed and renamed to 'darwin.linux-builder'. The default ssh port is now 31022. Please update your configuration or override the port back to 22. See https://nixos.org/manual/nixpkgs/unstable/#sec-darwin-builder"; # added 2023-07-06
|
||||
|
@ -57,24 +57,16 @@ makeScopeWithSplicing' {
|
||||
# Must use pkgs.callPackage to avoid infinite recursion.
|
||||
impure-cmds = pkgs.callPackage ../os-specific/darwin/impure-cmds { };
|
||||
|
||||
# macOS 10.12 SDK
|
||||
apple_sdk_10_12 = pkgs.callPackage ../os-specific/darwin/apple-sdk { };
|
||||
|
||||
# macOS 11.0 SDK
|
||||
apple_sdk_11_0 = pkgs.callPackage ../os-specific/darwin/apple-sdk-11.0 { };
|
||||
|
||||
# macOS 12.3 SDK
|
||||
apple_sdk_12_3 = pkgs.callPackage ../os-specific/darwin/apple-sdk-12.3 { };
|
||||
|
||||
# Pick an SDK
|
||||
apple_sdk = {
|
||||
"10.12" = apple_sdk_10_12;
|
||||
"11.0" = apple_sdk_11_0;
|
||||
}.${stdenv.hostPlatform.darwinSdkVersion}
|
||||
or (throw "Unsupported sdk: ${stdenv.hostPlatform.darwinSdkVersion}");
|
||||
apple_sdk = apple_sdk_11_0;
|
||||
|
||||
stubs = {
|
||||
inherit apple_sdk apple_sdk_10_12 apple_sdk_11_0 apple_sdk_12_3;
|
||||
inherit apple_sdk apple_sdk_11_0 apple_sdk_12_3;
|
||||
libobjc = self.objc4;
|
||||
} // lib.genAttrs [
|
||||
"CF"
|
||||
|
Loading…
Reference in New Issue
Block a user