D for microservices: ldc, rdmd, dub now available on Alpine x86_64
Mathias Lang
pro.mathias.lang at gmail.com
Wed Jan 15 14:06:04 UTC 2020
On Wednesday, 15 January 2020 at 11:48:29 UTC, kinke wrote:
> On Wednesday, 15 January 2020 at 04:00:26 UTC, Mathias Lang
> wrote:
>> The LDC package is not going to be cross-architecture in the
>> near future, but it should be able to correctly cross-compile
>> once LDC a version matching 2.090.1 is released (most likely
>> LDC 1.20.0).
>
> What's the reason for that requirement? I'll soon release LDC
> v1.20.0-beta1, so is there something from DMD stable you'd need
> as prerequisite?
>
> While I've never fully understood the popularity of
> Alpine-based docker images (okay, the base image is tiny, but
> if all images are based on the same, say, Ubuntu image, the few
> hundred MB only need to be stored once on each host), it'd
> probably be nice to have the official prebuilt LDC Linux
> packages linked against musl, to get rid of the glibc
> dependency. I assume that would be enough to make it runnable
> on almost all Linux x64 hosts.
Nothing from DMD, but some fixes in Druntime.
The `stat` struct definition was broken (among other things), so
anything involving files was failing on other architecture. This
was fixed in https://github.com/dlang/druntime/pull/2899 .
Regarding Alpine's popularity: I think it's a matter of
convenience.
Just like distributing a single binary (or, like in your case, a
standalone package) is easier to deal with, being able to
distribute a tiny image packaging your application is great
(because the economy of scale argument only holds if you have
many images on the same host and don't wipe it frequently).
Also, the Ubuntu base image is much slower to build, and just I
like my compilation time to be low, I like my image build time to
be low.
I think the README of alpine covers it pretty well:
https://github.com/alpinelinux/docker-alpine#why .
More information about the Digitalmars-d-announce
mailing list