From: Stuart Henderson Subject: Re: UNBREAK/UPDATE: lang/dmd 2.106.0 => 2.108.1, and LTS bootstrap To: Brian Callahan Cc: OpenBSD Ports ML Date: Tue, 28 May 2024 12:44:02 +0100 On 2024/05/22 16:02, Brian Callahan wrote: > On 5/20/2024 9:20 PM, Brian Callahan wrote: > > Hi ports -- > > > > Attached is a diff to unbreak and update the reference D compiler. > > > > In addition, this update includes what I am hoping can serve as an LTS > > bootstrap compiler. Very old versions of the D compiler, all the way > > back to 2.076.1, can bootstrap the current D compiler. The bootstrap > > compiler was built with -static using GDC 14.1 and therefore doesn't > > have any library dependencies. I would like to be able to use this as an > > LTS bootstrap compiler until either it no longer builds modern versions > > of the D compiler or no longer runs on OpenBSD (or until I feel like > > giving it an update). Should make updating as easy as cranking version > > number, updating patches, and updating plist. > > > > OK? > > > > ~Brian > > Updated diff, now including i386 support using the same process to > create a bootstrap compiler. fwiw, since most incompatibilities are in the interface to the kernel, this is actually likely to last _less_ long than using shared libc with a hack to allow using (e.g. by copying) the most recent libc from /usr/lib over the top. libc rarely changes in a way which is _really_ backwards-incompatible way for most programs (when functions are removed from libc, obviously they are not going to be ones which are frequently used. and types of parameters for existing functions in libc don't change much). whereas kernel/userland interfaces change relatively often (but are often not noticed because a libc change, even one _without_ a bump, will fix them).