-
Notifications
You must be signed in to change notification settings - Fork 11
Description
Coming from ghdl/ghdl#883
I've been reworking the images in ghdl/docker (see the README and the repository list at dockerhub). Here are some notes which are still to be properly documented, and which are related to the conversation in ghdl/ghdl#883:
- All the
ghdl/run:*gcc
images includelcov
now. As a result, allghdl/ghdl:*gcc*
images should be ready-to-use for coverage analysis now. - A new repository has been added,
ghdl/vunit:*
, which includes six images:mcode
,mcode-master
,llvm
,llvm-master
,gcc
andgcc-master
. These are built on top ofghdl/ghdl:buster-mcode
,ghdl/ghdl:buster-llvm-7
andghdl/ghdl:buster-gcc-8.3.0
, respectively.*-master
variants include latest VUnit (master
branch), while others include the latest stable release (installed through pip). - In case GtkWave is needed, it is available in images
ghdl/ext:gtkwave
,ghdl/ext:broadway
orghdl/ext:latest
. All of them include VUnit too. The first two of them are based onghdl/vunit:llvm-master
, and the last one is based onghdl/ext:ls-debian
(which includes GHDL with LLVM backend too).
@sjaeckel, these changes should allow you to rewrite your dockerfile as:
FROM ghdl/vunit:gcc
RUN apt-get update -qq \
&& apt-get -y install git vim \
&& apt-get autoclean -y && apt-get clean -y && apt-get autoremove -y
RUN mkdir /work && chmod 777 /work
Which makes me wonder: do you really need git and vim inside the container? You might have a good reason to do so. I'm just asking so I can help you rethink your workflow to get rid of those dependencies, should you want to do so.
[@sjaeckel]
and btw. I'd happily also test it!
I'd really appreciate if you could test this, since I have never used the coverage feature. There are five ghdl/ghdl:*gcc*
tags and six tags in ghdl/vunit
. I'm not going to ask you to test all of them! Should you want to try a few, I think the priority for your use case is:
- ghdl/vunit:gcc
- ghdl/vunit:gcc-master
- ghdl/ghdl:ghdl/ghdl:buster-gcc-8.3.0 (if any of the two previous do work, this will work for sure)
- ghdl/ghdl:ghdl/ghdl:sid-gcc-9.1.0 (might still fail, that's why we didn't close this issue yet)
- ...
Overall, please do not hesitate to request changes/features, such as including lcov
in images with GCC (this was, honestly, so stupid of me) or providing images with VUnit and coverage support (i.e. GCC bakend).