Building DMD on OpenBSD

Thomas Mader thomas.mader at gmail.com
Wed Jan 2 21:38:19 UTC 2019


On Friday, 28 December 2018 at 21:52:30 UTC, Ryan wrote:
> ugh, I can see that sort of setup becoming cumbersome to 
> maintain overtime in the OpenBSD ports world.  Maybe using 
> 2.068 as the bootstrapper isn't the best approach after all.

I decided against a multi level bootstrap process in NixOS 
because it increases the build time immensely.
In NixOS every dependent package is automatically rebuild if only 
the slightest change is happening in the base package.
The more levels the more complex it gets.

> I looked around a bit more and I found some initial work 
> porting ldc to OpenBSD.  It's old and doesn't look like it has 
> been touched in a while but it is a start.  There are some 
> patches in there as well.  They may need some updating but it's 
> good to know what is needed.

I don't know nothing about OpenBSD. What is the problem with 
packaging LDC? What makes the packaging in OpenBSD so special?

> Using LDC as the bootstrapper may be best approach after all, 
> if it can bootstrap dmd.  If so, we could potentially use LDC 
> 0.17.6 not only to boot strap dmd but the main version of LDC 
> as well.  Thus killing two birds with one stone.  Unless there 
> are other thoughts or considerations, I think I will try the 
> ldc bootstrap route.

In NixOS I use LDC 0.17.6 to bootstrap the latest LDC version and 
then the latest LDC version to bootstrap dmd.
For now it seems that the LDC maintainers find it important to 
keep the bootstrapping version 0.17.x working as there are new 
versions every now and then.
If you want to have LDC and dmd, which is not a bad idea anyway, 
you are probably spending your time the most effective way 
possible currently.
Bootstrapping dmd with dmd doesn't have a fixed N as nobody cares 
really hard about the version required to build the latest 
version. Because of this it's quite obvious that N will grow in 
the near future as people might want/need newer features to 
implement stuff in the dmd frontend or backend.


More information about the Digitalmars-d mailing list