Enhanced docs build system

Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
diff --git a/docs/Makefile b/docs/Makefile
index e0fbd13..1475281 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -20,6 +20,9 @@
 SOURCEDIR       = .
 BUILDDIR        = _build
 OSFLAG          =
+LIVEHTML_HOST   = 127.0.0.1
+LIVEHTML_PORT   = 8000
+
 UNAME_S := $(shell uname -s)
 ifneq (, $(findstring Linux, $(UNAME_S)))
 	OSFLAG := Linux
@@ -40,7 +43,7 @@
 	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
 
 livehtml:
-	@$(SPHINXAUTOBUILD) -b html --ignore \*.swp --ignore \*~ $(SPHINXOPTS) "$(SOURCEDIR)" "$(BUILDDIR)/html"
+	@$(SPHINXAUTOBUILD) -b html --host ${LIVEHTML_HOST} --port ${LIVEHTML_PORT} --ignore \*.swp --ignore \*~ $(SPHINXOPTS) "$(SOURCEDIR)" "$(BUILDDIR)/html"
 
 .PHONY: help livehtml Makefile
 
diff --git a/docs/conf.py b/docs/conf.py
index b2dd3cd..ec05997 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -58,9 +58,12 @@
     'sphinx.ext.todo',
     'sphinx_markdown_tables',
     'symbolator_sphinx',
-    'sphinxcontrib_verilog_diagrams'
+    'sphinxcontrib_hdl_diagrams'
 ]
 
+# Make sphinxcontrib_verilog_diagrams use Yosys installed in conda
+hdl_diagram_yosys = "system"
+
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
 
diff --git a/docs/environment.yml b/docs/environment.yml
index 794b84c..a30698b 100644
--- a/docs/environment.yml
+++ b/docs/environment.yml
@@ -11,10 +11,11 @@
 - pygobject
 - yosys
 - netlistsvg
-# ReadTheDoc dependencies
+# ReadTheDocs dependencies (installed here but also by the docs build CI)
 - mock
 - pillow
-- sphinx=2.4.4
+- sphinx
+- sphinx_rtd_theme
 # Packages installed from PyPI
 - pip:
   - -r file:requirements.txt
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 7d20d0d..7ed74ef 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -1,4 +1,4 @@
-git+http://github.com/SymbiFlow/sphinx_materialdesign_theme.git@master#egg=sphinx_symbiflow_theme
+git+http://github.com/SymbiFlow/sphinx_materialdesign_theme.git@66f78b9#egg=sphinx_symbiflow_theme
 
 docutils
 sphinx-autobuild
@@ -8,13 +8,13 @@
 sphinxcontrib-napoleon
 
 # Markdown cross-reference solver library
-git+https://github.com/SymbiFlow/sphinxcontrib-markdown-symlinks.git#egg=markdown_code_symlinks
+git+https://github.com/SymbiFlow/sphinxcontrib-markdown-symlinks.git@d912c75#egg=markdown_code_symlinks
 
-# Verilog diagrams using Yosys + netlistsvg
-sphinxcontrib-verilog-diagrams
+# HDL diagrams using Yosys + netlistsvg
+git+https://github.com/SymbiFlow/sphinxcontrib-hdl-diagrams.git@4bdbf70#egg=sphinxcontrib-hdl-diagrams
 
 # Module diagrams
-git+https://github.com/SymbiFlow/symbolator.git#egg=symbolator
+git+https://github.com/SymbiFlow/symbolator.git@a9b24e4#egg=symbolator
 
 pycairo
 # vext.gi
diff --git a/tox.ini b/tox.ini
index bfbc74c..7320ce1 100644
--- a/tox.ini
+++ b/tox.ini
@@ -23,7 +23,7 @@
     # `setup.py check` is not needed. If your project contains a README.rst,
     # use `python setup.py check -m -r -s` instead.
     python setup.py check -m -s
-    flake8 .
+    flake8 setup.py v2x
     pytest --doctest-modules -vv v2x
     pytest -vv
 [flake8]