diff --git a/pkgs/development/tools/xcbuild/developer.nix b/pkgs/development/tools/xcbuild/developer.nix index 05e05def2ac2..826571238de4 100644 --- a/pkgs/development/tools/xcbuild/developer.nix +++ b/pkgs/development/tools/xcbuild/developer.nix @@ -1,141 +1,5 @@ { stdenv, platform, toolchain, xcbuild, writeText }: -let - - Tools = [ - { - Identifier = "com.apple.build-tools.nmedit"; - Type = "Tool"; - Name = "Nmedit"; - } - { - Identifier = "com.apple.compilers.resource-copier"; - Type = "Tool"; - Name = "Resource Copier"; - } - { - Identifier = "com.apple.compilers.yacc"; - Type = "Tool"; - Name = "Yacc"; - InputFileTypes = [ "sourcecode.yacc" ]; - ExecDescription = "Yacc $(InputFile)"; - } - { - Identifier = "com.apple.compilers.lex"; - Type = "Tool"; - Name = "Lex"; - ExecDescription = "Lex $(InputFile)"; - InputFileTypes = [ "sourcecode.lex" ]; - } - ]; - - Architectures = [ - { - Identifier = "Standard"; - Type = "Architecture"; - Name = "Standard Architectures (64-bit Intel)"; - RealArchitectures = [ "x86_64" ]; - ArchitectureSetting = "ARCHS_STANDARD"; - } - { - Identifier = "Universal"; - Type = "Architecture"; - Name = "Universal (64-bit Intel)"; - RealArchitectures = [ "x86_64" ]; - ArchitectureSetting = "ARCHS_STANDARD_32_64_BIT"; - } - { - Identifier = "Native"; - Type = "Architecture"; - Name = "Native Architecture of Build Machine"; - ArchitectureSetting = "NATIVE_ARCH_ACTUAL"; - } - { - Identifier = "Standard64bit"; - Type = "Architecture"; - Name = "64-bit Intel"; - RealArchitectures = [ "x86_64" ]; - ArchitectureSetting = "ARCHS_STANDARD_64_BIT"; - } - { - Identifier = "x86_64"; - Type = "Architecture"; - Name = "Intel 64-bit"; - } - { - Identifier = "Standard_Including_64_bit"; - Type = "Architecture"; - Name = "Standard Architectures (including 64-bit)"; - RealArchitectures = [ "x86_64" ]; - ArchitectureSetting = "ARCHS_STANDARD_INCLUDING_64_BIT"; - } - ]; - - PackageTypes = [ - { - Identifier = "com.apple.package-type.mach-o-executable"; - Type = "PackageType"; - Name = "Mach-O Executable"; - DefaultBuildSettings = { - EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_VARIANT_SUFFIX)$(EXECUTABLE_SUFFIX)"; - EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; - }; - ProductReference = { - FileType = "compiled.mach-o.executable"; - Name = "$(EXECUTABLE_NAME)"; - }; - } - { - Identifier = "com.apple.package-type.mach-o-objfile"; - Type = "PackageType"; - Name = "Mach-O Object File"; - DefaultBuildSettings = { - EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_VARIANT_SUFFIX)$(EXECUTABLE_SUFFIX)"; - EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; - }; - ProductReference = { - FileType = "compiled.mach-o.objfile"; - Name = "$(EXECUTABLE_NAME)"; - }; - } - { - Identifier = "com.apple.package-type.mach-o-dylib"; - Type = "PackageType"; - Name = "Mach-O Dynamic Library"; - DefaultBuildSettings = { - EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_VARIANT_SUFFIX)$(EXECUTABLE_SUFFIX)"; - EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; - }; - ProductReference = { - FileType = "compiled.mach-o.dylib"; - Name = "$(EXECUTABLE_NAME)"; - }; - } - ]; - - ProductTypes = [ - { - Identifier = "com.apple.product-type.tool"; - Type = "ProductType"; - Name = "Command-line Tool"; - PackageTypes = [ "com.apple.package-type.mach-o-executable" ]; - } - { - Identifier = "com.apple.product-type.objfile"; - Type = "ProductType"; - Name = "Object File"; - PackageTypes = [ "com.apple.package-type.mach-o-objfile" ]; - } - { - Identifier = "com.apple.product-type.library.dynamic"; - Type = "ProductType"; - Name = "Dynamic Library"; - PackageTypes = [ "com.apple.package-type.mach-o-dylib" ]; - } - ]; - -in - stdenv.mkDerivation { name = "Xcode.app"; buildInputs = [ xcbuild ]; @@ -143,12 +7,6 @@ stdenv.mkDerivation { mkdir -p $out/Contents/Developer/Library/Xcode/Specifications/ cp ${xcbuild}/Library/Xcode/Specifications/* $out/Contents/Developer/Library/Xcode/Specifications/ - cd $out/Contents/Developer/Library/Xcode/Specifications/ - plutil -convert xml1 -o Tools.xcspec ${writeText "Tools.xcspec" (builtins.toJSON Tools)} - plutil -convert xml1 -o Architectures.xcspec ${writeText "Architectures.xcspec" (builtins.toJSON Architectures)} - plutil -convert xml1 -o PackageTypes.xcspec ${writeText "PackageTypes.xcspec" (builtins.toJSON PackageTypes)} - plutil -convert xml1 -o ProductTypes.xcspec ${writeText "ProductTypes.xcspec" (builtins.toJSON ProductTypes)} - mkdir -p $out/Contents/Developer/Platforms/ cd $out/Contents/Developer/Platforms/ ln -s ${platform} diff --git a/pkgs/development/tools/xcbuild/platform.nix b/pkgs/development/tools/xcbuild/platform.nix index eea8ea5f9ebd..c54f7f83e0ee 100644 --- a/pkgs/development/tools/xcbuild/platform.nix +++ b/pkgs/development/tools/xcbuild/platform.nix @@ -12,6 +12,138 @@ let ProjectName = "OSXPlatformSupport"; }; + Tools = [ + { + Identifier = "com.apple.build-tools.nmedit"; + Type = "Tool"; + Name = "Nmedit"; + } + { + Identifier = "com.apple.compilers.resource-copier"; + Type = "Tool"; + Name = "Resource Copier"; + } + { + Identifier = "com.apple.compilers.yacc"; + Type = "Tool"; + Name = "Yacc"; + InputFileTypes = [ "sourcecode.yacc" ]; + ExecDescription = "Yacc $(InputFile)"; + } + { + Identifier = "com.apple.compilers.lex"; + Type = "Tool"; + Name = "Lex"; + ExecDescription = "Lex $(InputFile)"; + InputFileTypes = [ "sourcecode.lex" ]; + } + ]; + + Architectures = [ + { + Identifier = "Standard"; + Type = "Architecture"; + Name = "Standard Architectures (64-bit Intel)"; + RealArchitectures = [ "x86_64" ]; + ArchitectureSetting = "ARCHS_STANDARD"; + } + { + Identifier = "Universal"; + Type = "Architecture"; + Name = "Universal (64-bit Intel)"; + RealArchitectures = [ "x86_64" ]; + ArchitectureSetting = "ARCHS_STANDARD_32_64_BIT"; + } + { + Identifier = "Native"; + Type = "Architecture"; + Name = "Native Architecture of Build Machine"; + ArchitectureSetting = "NATIVE_ARCH_ACTUAL"; + } + { + Identifier = "Standard64bit"; + Type = "Architecture"; + Name = "64-bit Intel"; + RealArchitectures = [ "x86_64" ]; + ArchitectureSetting = "ARCHS_STANDARD_64_BIT"; + } + { + Identifier = "x86_64"; + Type = "Architecture"; + Name = "Intel 64-bit"; + } + { + Identifier = "Standard_Including_64_bit"; + Type = "Architecture"; + Name = "Standard Architectures (including 64-bit)"; + RealArchitectures = [ "x86_64" ]; + ArchitectureSetting = "ARCHS_STANDARD_INCLUDING_64_BIT"; + } + ]; + + PackageTypes = [ + { + Identifier = "com.apple.package-type.mach-o-executable"; + Type = "PackageType"; + Name = "Mach-O Executable"; + DefaultBuildSettings = { + EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_VARIANT_SUFFIX)$(EXECUTABLE_SUFFIX)"; + EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; + }; + ProductReference = { + FileType = "compiled.mach-o.executable"; + Name = "$(EXECUTABLE_NAME)"; + }; + } + { + Identifier = "com.apple.package-type.mach-o-objfile"; + Type = "PackageType"; + Name = "Mach-O Object File"; + DefaultBuildSettings = { + EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_VARIANT_SUFFIX)$(EXECUTABLE_SUFFIX)"; + EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; + }; + ProductReference = { + FileType = "compiled.mach-o.objfile"; + Name = "$(EXECUTABLE_NAME)"; + }; + } + { + Identifier = "com.apple.package-type.mach-o-dylib"; + Type = "PackageType"; + Name = "Mach-O Dynamic Library"; + DefaultBuildSettings = { + EXECUTABLE_NAME = "$(EXECUTABLE_PREFIX)$(PRODUCT_NAME)$(EXECUTABLE_VARIANT_SUFFIX)$(EXECUTABLE_SUFFIX)"; + EXECUTABLE_PATH = "$(EXECUTABLE_NAME)"; + }; + ProductReference = { + FileType = "compiled.mach-o.dylib"; + Name = "$(EXECUTABLE_NAME)"; + }; + } + ]; + + ProductTypes = [ + { + Identifier = "com.apple.product-type.tool"; + Type = "ProductType"; + Name = "Command-line Tool"; + PackageTypes = [ "com.apple.package-type.mach-o-executable" ]; + } + { + Identifier = "com.apple.product-type.objfile"; + Type = "ProductType"; + Name = "Object File"; + PackageTypes = [ "com.apple.package-type.mach-o-objfile" ]; + } + { + Identifier = "com.apple.product-type.library.dynamic"; + Type = "ProductType"; + Name = "Dynamic Library"; + PackageTypes = [ "com.apple.package-type.mach-o-dylib" ]; + } + ]; + in stdenv.mkDerivation { @@ -24,6 +156,13 @@ stdenv.mkDerivation { plutil -convert xml1 -o Info.plist ${writeText "Info.plist" (builtins.toJSON Info)} plutil -convert xml1 -o version.plist ${writeText "version.plist" (builtins.toJSON Version)} + mkdir -p $out/Developer/Library/Xcode/Specifications/ + cd $out/Developer/Library/Xcode/Specifications/ + plutil -convert xml1 -o Tools.xcspec ${writeText "Tools.xcspec" (builtins.toJSON Tools)} + plutil -convert xml1 -o Architectures.xcspec ${writeText "Architectures.xcspec" (builtins.toJSON Architectures)} + plutil -convert xml1 -o PackageTypes.xcspec ${writeText "PackageTypes.xcspec" (builtins.toJSON PackageTypes)} + plutil -convert xml1 -o ProductTypes.xcspec ${writeText "ProductTypes.xcspec" (builtins.toJSON ProductTypes)} + mkdir -p $out/Developer/SDKs/ cd $out/Developer/SDKs/ ln -s ${sdk}