Releases: PureDarwin/darwinbuild
darwinbuild-1650
This release of darwinbuild includes no new features, but is fully compatible with macOS Big Sur. In particular, it no longer uses the system copy of Tcl (which will be removed in a future version of macOS). Instead, Tcl is retrieved from Homebrew.
As always, this release is signed and notarized.
darwinbuild-1640.0.2
This release fixes a critical bug in darwinbuild that prevented compilation of the Libsyscall PureDarwin component.
darwinbuild-1640.0.1
This release includes one new feature:
-
You can now use arbitrary strings as the
version
key in darwinbuild plists.Previously, darwinbuild would pass the version given into the Xcode build, which would in turn trigger an undocumented feature in the macOS linker. This feature would require that the version matches the pattern
\d+(\.\d+){1,4}
, and if it doesn’t, the linker would emit an error. This has since been disabled.
This release is functionally identical to darwinbuild-1640; the only difference is that this version includes a fixe for a signing error that prevented me from notarizing the darwinbuild installer.
darwinbuild-1640
This release includes one new feature:
-
You can now use arbitrary strings as the
version
key in darwinbuild plists.Previously, darwinbuild would pass the version given into the Xcode build, which would in turn trigger an undocumented feature in the macOS linker. This feature would require that the version matches the pattern
\d+(\.\d+){1,4}
, and if it doesn’t, the linker would emit an error. This has since been disabled.
darwinbuild-1630
This release includes one new feature:
- You can pass multiple project names to
darwinbuild -recursive
. For example, if you run
darwinbuild -recursive libpthread libdispatch
, it will build both projects, and all of their required dependencies, without building any individual project more than once.
darwinbuild-1620
This release includes one bug-fix from the previous release:
- The automatically generated
darwinbuild.xcconfig
file again sets the default header, framework, and library search paths as they were before darwinbuild-1600. Their removal in that release caused a lot of pointless build breakage.
Again, this release is not fully backwards-compatible with prior versions of darwinbuild.
darwinbuild-1610
This release contains one bug-fix from the previous release:
- When fetching a tarball from GitHub, the tarball’s contents are now correctly renamed to match the darwinbuild project name. Previously, the renaming process would not overwrite the downloaded tarball correctly, resulting in build failures later.
Again, this release is not fully backwards-compatible with prior versions of darwinbuild.
darwinbuild-1605
This release includes one bug-fix from the previous release:
- When invoking xcodebuild, the code-signing identity is overridden to
-
(sign for this machine only). This feature was removed in darwinbuild-1600, but I have since found that Xcode cannot always find the signing certificates in the keychain when run by darwinbuild.
Please also see the release notes for darwibuild-1600, as that release (and, by extension, this one) is not fully backwards-compatible with prior versions of darwinbuild.
darwinbuild-1600
This release includes several new features:
- All support for building in the chroot has been removed. This feature was increasingly difficult to maintain as Apple continues to lock down macOS. Furthermore, it added a lot of time to build cycles for little gain. The
-nochroot
flag is now ignored; the-chroot
flag, if explicitly used, now emits an error. - Python 2 is no longer required to utilize all darwinbuild features; the support tools that required it have been rewritten in Swift.
Please note that you will need to recreate your build root disk images after installing this update, as it is not compatible with build roots created by older versions of darwinbuild.
darwinbuild-1540
This release includes one new feature:
- When using
darwinbuild -recursive
ordarwinbuild -group
, the-nochroot
flag is now honored by the child invocations of darwinbuild. (Previously, the child builds would always build in the chroot, which takes a lot of time to set up. This slowed down Travis CI builds significantly.)