diff --git a/Makefile b/Makefile index 68aa909..b86e11a 100644 --- a/Makefile +++ b/Makefile @@ -26,18 +26,8 @@ clean: compile-on-debian-11: # builds repo2html compatible with systems running glibc-2.31 and higher. - # - # this will download a debian docker container that has glibc 2.31, then - # download chicken scheme, gcc compiler, and tons of related packages, then - # download all the dependency eggs, then compile them, then compile this - # project, then except for that one output executable it will delete - # *everything* it has done and downloaded including any caches meant to - # save you some time and bandwidth the next time you need to compile this - # - # what i'm saying is, if we need to run this frequently, we should find a - # better mechanism. providing a dockerfile would probably be sufficient... - docker run --rm -it -v "$(shell pwd)":/tmp/x -w /tmp/x debian:bullseye-slim sh -c '\ - apt update &&\ - apt install -y chicken-bin build-essential make &&\ - make dependencies &&\ - make compile' + docker build docker + docker run -v $(shell pwd):/tmp/x -w /tmp/x --rm repo2htmlbuilder make compile + # the docker image "repo2htmlbuilder:latest" now exists on your system. + # this will make the next time you run this command go faster. + # to delete it and reclaim the space run "docker image rm repo2htmlbuilder:latest" diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..85b2dda --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,8 @@ +FROM debian:bullseye-slim +RUN apt update && apt install -y \ + chicken-bin \ + gcc \ + make \ + ; +RUN chicken-install utf8 lowdown sxml-transforms clojurian symbol-utils scss srfi-1 srfi-13 srfi-14 ersatz +USER $UID