-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This refactors the Vulkan dockerfiles into a new base image (#12)
* This refactors the Vulkan dockerfiles into a new base image, asciidoctor-spec.dockerfile, containing the entire toolchain with the exception of the old Roswell implementation of the chunker. The tag is changed since this will be useful for other Khronos spec repositories with similar needs, like glTF. It also supports a different naming convention, <tag>.dockerfile, as well as Dockerfile.tag, since I was tired of tedious tab completion :-) * Remove useless comments
- Loading branch information
Showing
9 changed files
with
85 additions
and
67 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,11 @@ | ||
# Copyright (c) 2019-2020 The Khronos Group Inc. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# Copyright 2019-2021 The Khronos Group Inc. | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
# This is a Docker container for Vulkan specification builds | ||
# This defines a Docker image for building a set of Khronos specifications | ||
# written using asciidoctor markup. | ||
# It contains the asciidoctor toolchain, and related plugins and tools. | ||
# Some projects may have additional toolchain requirements, and will use | ||
# Docker images layered on this one. | ||
|
||
from ruby:2.7 | ||
label maintainer="Jon Leech <[email protected]>" | ||
|
@@ -21,7 +14,7 @@ label maintainer="Jon Leech <[email protected]>" | |
# nodejs is actually installed in the next step | ||
run curl -sL https://deb.nodesource.com/setup_12.x | bash - | ||
|
||
# Install required Debian packages | ||
# Debian packages | ||
# pandoc is for potential use with Markdown | ||
# reuse is for repository license verification | ||
run apt-get update -qq && \ | ||
|
@@ -57,8 +50,10 @@ run apt-get update -qq && \ | |
python3-pytest \ | ||
python3-termcolor \ | ||
tcsh && \ | ||
apt-get clean && \ | ||
gem install -N \ | ||
apt-get clean | ||
|
||
# Ruby gems providing asciidoctor and related plugins | ||
run gem install -N \ | ||
asciidoctor \ | ||
asciidoctor-diagram \ | ||
asciidoctor-mathematical \ | ||
|
@@ -67,23 +62,17 @@ run apt-get update -qq && \ | |
json-schema \ | ||
i18n \ | ||
prawn-gmagick \ | ||
pygments.rb \ | ||
rouge \ | ||
text-hyphen && \ | ||
pip3 install pygments reuse | ||
text-hyphen | ||
|
||
# Install chunked index generation scripts and add lunr to node searchpath | ||
# Python packages | ||
run pip3 install pygments reuse | ||
|
||
# JavaScript packages | ||
run npm install -g escape-string-regexp he [email protected] | ||
env NODE_PATH /usr/lib/node_modules | ||
|
||
# Install Roswell and asciidoctor-chunker. Need at least this specific | ||
# version (later may be OK, too). There seems to be no roswell APT | ||
# repository. | ||
run curl -fsSL -o roswell.deb https://github.com/roswell/roswell/releases/download/v20.01.14.104/roswell_20.01.14.104-1_amd64.deb && \ | ||
dpkg -i roswell.deb && \ | ||
ros install alexandria lquery cl-fad && \ | ||
mkdir -p $HOME/common-lisp && \ | ||
(cd $HOME/common-lisp && git clone https://github.com/wshito/asciidoctor-chunker.git) | ||
|
||
# Ensure the proper locale is installed and used - not present in ruby image | ||
# See https://serverfault.com/questions/54591/how-to-install-change-locale-on-debian#54597 | ||
run apt-get install -y -qq locales && \ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# Copyright 2019-2021 The Khronos Group Inc. | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
# This is a Docker container for Vulkan specification builds. | ||
# It just layers the Roswell implementation of the asciidoctor chunker onto | ||
# the asciidoctor-spec base image. | ||
|
||
from khronosgroup/docker-images:asciidoctor-spec | ||
label maintainer="Jon Leech <[email protected]>" | ||
|
||
# Install Roswell and asciidoctor-chunker. | ||
# We need at least this specific version of Roswell. | ||
# A specific commit of the chunker is pulled because the old Common Lisp | ||
# version of the chunker was moved after this commit. | ||
run curl -fsSL -o roswell.deb https://github.com/roswell/roswell/releases/download/v20.01.14.104/roswell_20.01.14.104-1_amd64.deb && \ | ||
dpkg -i roswell.deb && \ | ||
ros install alexandria lquery cl-fad | ||
run mkdir -p $HOME/common-lisp && \ | ||
cd $HOME/common-lisp && \ | ||
git clone https://github.com/wshito/asciidoctor-chunker.git && \ | ||
cd asciidoctor-chunker && \ | ||
git checkout -q e01f15ede36346924cd11adfa6a966183dbab412 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Copyright 2019-2021 The Khronos Group Inc. | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
# This is a Docker container for Vulkan specification builds | ||
|
||
from khronosgroup/docker-images:vulkan-docs-base | ||
label maintainer="Jon Leech <[email protected]>" | ||
|
||
# Add the entrypoint to the image, and ensure files installed in root (under | ||
# .roswell/ and common-lisp/) are accessible by the entrypoint when run as | ||
# other users. | ||
COPY entrypoint.vulkan.sh /root/entrypoint.vulkan.sh | ||
RUN chmod +x /root/entrypoint.vulkan.sh ; chmod go+rx /root | ||
|
||
ENTRYPOINT ["/root/entrypoint.vulkan.sh"] |