www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - docker images

reply Radu <void null.pt> writes:
Created a couple of docker images useful for dlang dev.

LDC cross compiler for ARM

- https://hub.docker.com/r/rracariu/ldc-linux-armhf/

This image allows one to easily cross compile to ARM. Main 
use-case is continuous integration servers.

- https://hub.docker.com/r/rracariu/dub-registry/

Allows easily running a private dub repository on cloud.
Jun 28
next sibling parent reply Joakim <dlang joakim.fea.st> writes:
On Thursday, 28 June 2018 at 17:54:45 UTC, Radu wrote:
 Created a couple of docker images useful for dlang dev.

 LDC cross compiler for ARM

 - https://hub.docker.com/r/rracariu/ldc-linux-armhf/

 This image allows one to easily cross compile to ARM. Main 
 use-case is continuous integration servers.

 - https://hub.docker.com/r/rracariu/dub-registry/

 Allows easily running a private dub repository on cloud.
Note that there is also an Alpine container with LDC, should be useful for building D microservices: https://hub.docker.com/r/andrewbenton/alpine-ldc/
Jun 28
parent reply Anton Fediushin <fediushin.anton yandex.com> writes:
On Friday, 29 June 2018 at 04:51:49 UTC, Joakim wrote:
 On Thursday, 28 June 2018 at 17:54:45 UTC, Radu wrote:
 Created a couple of docker images useful for dlang dev.

 LDC cross compiler for ARM

 - https://hub.docker.com/r/rracariu/ldc-linux-armhf/

 This image allows one to easily cross compile to ARM. Main 
 use-case is continuous integration servers.

 - https://hub.docker.com/r/rracariu/dub-registry/

 Allows easily running a private dub repository on cloud.
Note that there is also an Alpine container with LDC, should be useful for building D microservices: https://hub.docker.com/r/andrewbenton/alpine-ldc/
It would be so nice if I knew about this image earlier. I ended up making my own minimal image for LDC with OpenSSL 1.1 and goinsu for privilege lowering. https://hub.docker.com/r/ohboi/minildc/ It's 153MiB, which is just 53MiB bigger than alpine-based image. I think I did a pretty good job there, most importantly there aren't any problems with musl libc, since it's based on debian-slim. Yet still I don't really use this image - LDC has some problems compiling my vibe.d applications. For every CI build I use my other image: https://hub.docker.com/r/ohboi/minidmd/ Which is the same thing, but with DMD instead. It's even smaller, only 91MiB.
Jun 28
parent reply Joakim <dlang joakim.fea.st> writes:
On Friday, 29 June 2018 at 06:13:53 UTC, Anton Fediushin wrote:
 On Friday, 29 June 2018 at 04:51:49 UTC, Joakim wrote:
 On Thursday, 28 June 2018 at 17:54:45 UTC, Radu wrote:
 [...]
Note that there is also an Alpine container with LDC, should be useful for building D microservices: https://hub.docker.com/r/andrewbenton/alpine-ldc/
It would be so nice if I knew about this image earlier. I ended up making my own minimal image for LDC with OpenSSL 1.1 and goinsu for privilege lowering. https://hub.docker.com/r/ohboi/minildc/ It's 153MiB, which is just 53MiB bigger than alpine-based image. I think I did a pretty good job there, most importantly there aren't any problems with musl libc, since it's based on debian-slim. Yet still I don't really use this image - LDC has some problems compiling my vibe.d applications. For every CI build I use my other image: https://hub.docker.com/r/ohboi/minidmd/ Which is the same thing, but with DMD instead. It's even smaller, only 91MiB.
Try out the Alpine image and see if it doesn't have the same issue with vibe-d. Also, if you report your problem with ldc here, preferably with a reduced sample, someone will take a look: https://github.com/ldc-developers/ldc/issues
Jun 28
parent Anton Fediushin <fediushin.anton yandex.com> writes:
On Friday, 29 June 2018 at 06:30:30 UTC, Joakim wrote:
 Try out the Alpine image and see if it doesn't have the same 
 issue with vibe-d. Also, if you report your problem with ldc 
 here, preferably with a reduced sample, someone will take a 
 look:

 https://github.com/ldc-developers/ldc/issues
Compilation fails with alpine-based image too. I opened an issue here: https://github.com/vibe-d/vibe.d/issues/2177 What happens is that for some reason there are multiple function definitions with the same mangled name `OPENSSL_sk_num` even though there is only one definition I found in the code: https://github.com/D-Programming-Deimos/openssl/blob/master/deimos/openssl/stack.d#L94 Now I have no idea on what's going on, since it might be a problem of vibe.d, deimos-openssl or ldc.
Jun 29
prev sibling parent Seb <seb wilzba.ch> writes:
On Thursday, 28 June 2018 at 17:54:45 UTC, Radu wrote:
 Created a couple of docker images useful for dlang dev.

 LDC cross compiler for ARM

 - https://hub.docker.com/r/rracariu/ldc-linux-armhf/

 This image allows one to easily cross compile to ARM. Main 
 use-case is continuous integration servers.

 - https://hub.docker.com/r/rracariu/dub-registry/

 Allows easily running a private dub repository on cloud.
We now setup auto-deploy to DockerHub from the official dlang/dub-registry: https://github.com/dlang/dub-registry/pull/354 https://hub.docker.com/r/dlangcommunity/dub-registry/tags So your private Dub registry docker instance should be able to update itself automatically.
Jun 29