about summary refs log tree commit diff
path: root/pkgs/os-specific/darwin/apple-sdk-12.3/libobjc.nix
blob: 14d7e92c8a540d296f0ba0bf11aabb73b4132c3d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{ stdenvNoCC, darwin-stubs }:

let
  self = stdenvNoCC.mkDerivation {
    pname = "libobjc";
    inherit (darwin-stubs) version;

    buildCommand = ''
      mkdir -p $out/{include,lib/swift}
      cp -r ${darwin-stubs}/usr/include/objc $out/include
      cp ${darwin-stubs}/usr/lib/libobjc* $out/lib
      cp -r ${darwin-stubs}/usr/lib/swift/ObjectiveC.swiftmodule $out/lib/swift
      cp ${darwin-stubs}/usr/lib/swift/libswiftObjectiveC.tbd $out/lib/swift
    '';

    passthru.tbdRewrites = {
      const."/usr/lib/libobjc.A.dylib" = "${self}/lib/libobjc.A.dylib";
      const."/usr/lib/swift/libswiftObjectiveC.dylib" = "${self}/lib/swift/libswiftObjectiveC.dylib";
    };
  };
in
self