Randy Eckenrode
0a3c487571
darwin.apple_sdk: convert frameworks and libs to stubs
2024-10-10 16:22:59 -04:00
Randy Eckenrode
d1c2539523
darwin: add mkStub for deprecating frameworks
2024-10-10 16:22:59 -04:00
Randy Eckenrode
2c54952847
darwin.apple_sdk.frameworks: remove NIX_COREFOUNDATION_RPATH hook
...
Darwin no longer supports switching between CoreFoundation implementations as of https://github.com/NixOS/nixpkgs/pull/265102 . The setup hook is vestigial and was mostly harmless until https://github.com/NixOS/nixpkgs/pull/329526 was necessitated to fix build failures on staging-next https://github.com/NixOS/nixpkgs/pull/328673 .
The correct fix is to remove the hook. It’s not used by the 11.0 or 12.3 SDKs. This makes the 10.12 SDK a bit more like the other SDKs.
2024-07-26 12:41:45 -04:00
Randy Eckenrode
91d8dd928f
darwin.apple_sdk_10_12.sdkRoot: specify exact SDK version
2024-07-13 10:59:42 -04:00
Randy Eckenrode
e125b70c8b
darwin.apple_sdk: add libs.simd stub
...
Making it fail at build time allows it to be used unversioned with `overrideSDK`. Unlike the QuickTime framework, which is present in the base SDK and was later removed, simd was added later.
2024-07-11 23:31:54 -04:00
Randy Eckenrode
39a5f4a6ee
darwin.apple_sdk.sdkRoot: init at 10.12 and 11.0
...
Based on the derivation from xcbuild.sdk. apple_sdk.sdkRoot provides
version plists and a hook that passes them automatically to the compiler
as `-isysroot`. This is needed to correctly set the SDK version in
compiled binaries. Otherwise, clang will infer the SDK version to be the
same as the deployment target, which is usually not what you want.
2024-03-29 08:47:41 -04:00
Randy Eckenrode
79db5b641e
darwin.apple_sdk_10_12: add objc4
2024-03-29 08:47:41 -04:00
Randy Eckenrode
2573f2c44a
darwin.apple_sdk_10_12: add Libsystem
2024-03-29 08:47:40 -04:00
Randy Eckenrode
0fb285678d
darwin.apple_sdk.darwin-stubs: add SDK-specific stubs
...
For the 11.0 SDK, base the stubs on the SDK for now.
2024-03-16 19:21:47 -04:00
Randy Eckenrode
448aed9e81
darwin.apple_sdk: drop unnecessary dependencies
2023-11-02 17:45:58 -04:00
Randy Eckenrode
8e56a2635f
CoreFoundation: specify the tbd explicitly
...
The current hook specifies the path to the framework library, but
nixpkgs does not actually provide the library when linking against the
system framework. It provides a text-based stub (`.tbd`) instead. ld64
will find the stub and use it, but lld will not when the full path is
specified. Both linkers work if the extension is included, so do that
for compatibility with both. This fixes using lld with CoreFoundation
(e.g., to support LTO on Darwin).
2023-08-12 09:17:13 -04:00
toonn
501dcc2d3e
Merge pull request #234857 from reckenrode/configd-fix
...
configd: fix build with newer LLVM and bootstrap
2023-06-05 19:26:06 +02:00
Randy Eckenrode
09799e8b80
apple_sdk: fix infinite recursion
...
The 10.12 SDK uses `xar`, which depends on Python indirectly, which
depends on configd by default. This causes an infinite recuresion when
building configd because it needs SDK headers to build with clang 16.
Fix the infinite recursion by disabling Python support in libxml2 when
building the SDK, and use a minimal Python in the SDK build itself.
2023-06-04 09:31:39 -04:00
Weijia Wang
ff4881996e
darwin.apple_sdk_10_12.frameworks.System: init
2023-05-23 21:01:23 +03:00
luxus
c40708f924
darwin.apple_sdk.frameworks.DisplayServices: init
...
Used by sketchybar
2023-01-10 23:14:00 +08:00
Weijia Wang
ac3c81faa1
darwin.apple_sdk: expose MultitouchSupport
2023-01-03 18:23:33 +01:00
Weijia Wang
198d522594
darwin.apple_sdk.frameworks.DebugSymbols: init
2023-01-02 23:05:36 -05:00
Kid
862c4f219a
apple-sdk: update comment about frameworks version
2022-04-21 19:44:28 -04:00
Jan Tojnar
b8c07facaa
Fix eval with nix-env -qas
...
At least on NixOS, it fails to evaluate as follows:
$ nix-env -qaPs -f .
error: attribute '__propagatedImpureHostDeps' missing
2021-11-17 16:28:55 +01:00
Andrew Childs
55dcd99859
root: use pure CoreSymbolication on Darwin
...
The current build works by linking against CoreSymbolication in
/System/Library/PrivateFrameworks. This is impure and doesn't work in
newer versions of macOS.
See https://github.com/NixOS/nixpkgs/issues/128576
2021-06-29 11:00:05 +09:00
Andrew Childs
257cb1c8e8
print-reexports: rehome, tbd4 support, cross compilation
2021-05-17 00:27:01 +09:00
Calum MacRae
2c82907da4
apple-sdk: generate SkyLight framework outputs
2021-04-16 17:19:17 +01:00
Calum MacRae
914c604a01
apple-sdk: fix PrivateFrameworks symlinks
...
With the absence of these symlinks, private frameworks aren't exposed
to the linker.
2021-04-16 17:19:17 +01:00
Andrew Childs
5268bf50d2
apple_sdk.libs.sandbox: init
2021-03-20 11:32:32 -04:00
Monson Shao
2467f5e4d2
darwin.apple-sdk: drop appleSdkVersion
...
In fact no one is using appleSdkVersion, and stdenv is decoupled with sdk.
2021-01-21 00:26:16 +08:00
Ben Siraphob
16d91ee628
pkgs/os-specific: stdenv.lib -> lib
2021-01-17 23:26:08 +07:00
Profpatsch
4a7f99d55d
treewide: with stdenv.lib; in meta -> with lib;
...
Part of: https://github.com/NixOS/nixpkgs/issues/108938
meta = with stdenv.lib;
is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.
This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.
The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00
Sandro Jäckel
848d1986b8
apple_sdk.frameworks.AVFoundation: Add missing MediaToolbox
...
This fixes:
/nix/store/7ckpydmlah3j86py3c4f27p0fbkxyzfi-apple-framework-AVFoundation/Library/Frameworks/AVFoundation.framework/Headers/AVAudioMix.h:15:9: fatal error: 'MediaToolbox/MTAudioProcessingTap.h' file not found
2020-12-09 20:10:59 +01:00
Sandro Jäckel
eb1d742813
apple_sdk.frameworks.AVFoundation: Add missing CoreMedia
...
This fixes apple-framework-AVFoundation/Library/Frameworks/AVFoundation.framework/Headers/AVAsset.h:17:9: fatal error: 'CoreMedia/CMTime.h' file not found
2020-12-09 20:10:59 +01:00
Andrew Childs
f2b81a021e
darwin/print-reexports: add an overview comment
2020-11-12 16:57:19 +09:00
Andrew Childs
7e49fb6592
darwin/apple-sdk: explain why Kernel.framework has no .tbd file
2020-11-12 16:57:19 +09:00
Andrew Childs
3456ef6f30
darwin/apple-sdk: use darwin stubs
2020-11-12 00:23:09 +09:00
Andrew Childs
fd33052999
darwin/print-reexports: nixpkgs-specific utility to inspect .tbd files
...
Used during bootstrap to check that re-exported libraries are not
dangling.
2020-11-12 00:23:09 +09:00
Daiderd Jordan
3987ea9a9d
mpv: add flag for swift on darwin
...
While we currently don't have a pure swift build on macOS it's possible
to build mpv using the swift compiler from CLT. eg.
self: super:
let
CommandLineTools = "/Library/Developer/CommandLineTools";
in
{
swift = super.stdenv.mkDerivation {
name = "swift-CommandLineTools-0.0.0";
phases = [ "installPhase" "fixupPhase" ];
propagatedBuildInputs = [ self.darwin.DarwinTools ];
installPhase = ''
mkdir -p $out/bin $out/lib
ln -s ${CommandLineTools}/usr/bin/swift $out/bin
ln -s ${CommandLineTools}/usr/lib/swift $out/lib
ln -s ${CommandLineTools}/SDKs $out
'';
setupHook = builtins.toFile "hook" ''
addCommandLineTools() {
echo >&2
echo "WARNING: this is impure and unreliable, make sure the CommandLineTools are installed!" >&2
echo " $ xcode-select --install" >&2
echo >&2
[ -d ${CommandLineTools} ]
export NIX_LDFLAGS+=" -L@out@/lib/swift/macosx"
export SWIFT=swift
export SWIFT_LIB_DYNAMIC=@out@/lib/swift/macosx
export MACOS_SDK_VERSION=$(sw_vers -productVersion | awk -F. '{print $1 "." $2}')
export MACOS_SDK=@out@/SDKs/MacOSX$MACOS_SDK_VERSION.sdk
}
prePhases+=" addCommandLineTools"
'';
__impureHostDeps = [ CommandLineTools ];
};
mpv = super.mpv.override { swiftSupport = true; };
}
2020-02-06 14:15:35 +01:00
Daiderd Jordan
6567823996
stdenv: introduce appleSdkVersion and macosVersionMin
2020-01-31 21:52:11 +01:00
hlolli
78b34b5e5b
graalvm8: 19.1.1 -> 19.2.1
...
- - nixpkgs now with full darwin support
2020-01-18 16:43:03 +01:00
Frederik Rietdijk
bc18cc72dd
Merge pull request #77610 from LnL7/darwin-stdenv-python3
...
darwin-stdenv: bootstrap with python3
2020-01-15 09:24:57 +01:00
Daiderd Jordan
73db5d8c38
darwin.apple_sdk: python2 -> python3
2020-01-13 11:13:57 +01:00
squalus
9314327dee
keepassxc: fix darwin build
...
- Removed the unnecessary libmicrohttpd dependency, which doesn't
build on macOS. KeepassXC removed this dependency in 2.1.2
- Fixed a compiler error related to the Touch ID feature by adding a
dependency on the LocalAuthentication framework
2020-01-08 16:44:14 +01:00
Robin Gloster
edfdd0f3e4
darwin: use dontUnpack instead of phases
2019-12-31 01:24:10 +01:00
Denis Redozubov
7233afc886
apple_sdk: broken link update ( #73984 )
2019-11-27 14:17:43 -05:00
John Ericson
f1481f2c90
apple-sdk setup hooks: NIX_CFLAGS_COMPILE may be undefined
2019-11-08 13:28:59 -05:00
John Ericson
beda0365a6
darwin private frameworks setup hook: NIX_CFLAGS_COMPILE may be undefined
2019-11-08 13:24:20 -05:00
volth
46420bbaa3
treewide: name -> pname (easy cases) ( #66585 )
...
treewide replacement of
stdenv.mkDerivation rec {
name = "*-${version}";
version = "*";
to pname
2019-08-15 13:41:18 +01:00
Daiderd Jordan
8ea702a484
darwin-frameworks: add import CoreFoundation to CoreServices
2019-07-03 22:20:09 +02:00
Daiderd Jordan
73d9cac377
darwin-frameworks: replace cf-private and move it's setup-hook
...
The only remaining use-case for cf-private are symbols that are not
available in the opensource build. This generally solved the problem
because of it's setup-hook.
2019-07-03 22:20:09 +02:00
Daiderd Jordan
c2b76fa13c
darwin-frameworks: remove CF
...
CoreFoundation is included by the stdenv, moving the decision of what
version should be used there makes it possible to override it entirely
rather then prepending flags like cf-private does which can be
unreliable.
2019-07-03 22:20:04 +02:00
Matthew Bauer
4e22fe4f63
apple-sdk: add MetalKit
2019-06-23 18:28:36 -04:00
Matthew Bauer
d1f988ca3c
darwin: correct framework dependency
...
AudioUnit depends on AudioToolbox now, so use that to keep
compatibility.
2019-04-26 21:55:03 -04:00
Matthew Bauer
43cda1b854
apple-sdk: add Metal framework for QuartzCore
2019-04-26 21:54:56 -04:00