Dockerfile 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. FROM perl:5.39-bookworm
  2. RUN set -eux; \
  3. apt-get update; \
  4. apt-get install -y --no-install-recommends \
  5. vim \
  6. # https://bugs.debian.org/763056 - SVG rendering in ImageMagick looks awful unless it can use inkscape to render (or RSVG, which is explicitly not compiled into the Debian package??)
  7. inkscape \
  8. ; \
  9. rm -rf /var/lib/apt/lists/*
  10. # secure by default ♥ (thanks to sri!)
  11. ENV PERL_CPANM_OPT --verbose --mirror https://cpan.metacpan.org
  12. # TODO find a way to make --mirror-only / SSL work with backpan too :(
  13. RUN cpanm Digest::SHA Module::Signature
  14. # TODO find a way to make --verify work with backpan as well :'(
  15. #ENV PERL_CPANM_OPT $PERL_CPANM_OPT --verify
  16. # reinstall cpanm itself, for good measure
  17. RUN cpanm App::cpanminus
  18. RUN cpanm [email protected]
  19. RUN cpanm EV
  20. RUN cpanm IO::Socket::IP
  21. RUN cpanm --notest IO::Socket::SSL
  22. # the tests for IO::Socket::SSL like to hang... :(
  23. RUN cpanm Term::UI
  24. ENV LANG C.UTF-8
  25. RUN mkdir ~/.vim ~/.vim/bundle ~/.vim/autoload
  26. RUN set -x \
  27. && git clone https://github.com/tpope/vim-pathogen.git ~/.vim/bundle/pathogen \
  28. && ln -s ../bundle/pathogen/autoload/pathogen.vim ~/.vim/autoload/
  29. RUN git clone https://github.com/jtratner/vim-flavored-markdown.git ~/.vim/bundle/ghmarkdown
  30. RUN git clone https://github.com/nanotech/jellybeans.vim.git ~/.vim/bundle/jellybeans
  31. RUN { \
  32. echo 'scriptencoding utf-8'; \
  33. \
  34. echo 'execute pathogen#infect()'; \
  35. \
  36. echo 'syntax on'; \
  37. echo 'filetype plugin indent on'; \
  38. echo 'set list listchars=tab:»·,nbsp:_,extends:¬ noet ts=4 sw=4 nobackup noswapfile'; \
  39. \
  40. echo 'set background=dark'; \
  41. echo 'colorscheme jellybeans'; \
  42. \
  43. echo 'au FilterWritePre * if &diff | setlocal wrap< | endif'; \
  44. \
  45. echo 'au BufNewFile,BufRead *.md,*.markdown setlocal filetype=ghmarkdown'; \
  46. } > ~/.vimrc
  47. COPY . /usr/src/docker-library-docs
  48. WORKDIR /usr/src/docker-library-docs
  49. CMD ["./push.pl"]