mirror of
				https://github.com/bensuperpc/dockcross.git
				synced 2025-10-31 16:16:23 +01:00 
			
		
		
		
	 cfcc7d6700
			
		
	
	cfcc7d6700
	
	
	
		
			
			This commit build each images with the following arguments: * IMAGE: Name of the image (e.g dockcross/base, dockcross/manylinux-x64, ...) * VCS_REF: dockcross/dockcross commit from which this image is built * VCS_URL: this repository obtained reading remote.origin.url * BUILD_DATE: Date and time when the build was initiated Then, within the Dockerfile, the metadata are associated with the image using the "LABEL" instruction. See https://docs.docker.com/engine/reference/builder/#/label The corresponding labels can be found here: http://label-schema.org/rc1/#build-time-labels See #28
		
			
				
	
	
		
			62 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM dockcross/base
 | |
| MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
 | |
| 
 | |
| # The cross-compiling emulator
 | |
| RUN curl -sL https://deb.nodesource.com/setup_4.x | bash - && \
 | |
|   apt-get install -y --no-install-recommends \
 | |
|     default-jre \
 | |
|     nodejs \
 | |
|     python2.7
 | |
| 
 | |
| ENV EMSCRIPTEN_VERSION 1.36.7
 | |
| RUN cd /usr && \
 | |
|   curl -L https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz | tar xz && \
 | |
|   cd ./emsdk_portable && \
 | |
|   ./emsdk update && \
 | |
|   ./emsdk install -j$(nproc) --build=Release sdk-tag-${EMSCRIPTEN_VERSION}-32bit && \
 | |
|   ./emsdk activate --build=Release sdk-tag-${EMSCRIPTEN_VERSION}-32bit && \
 | |
|   ./emsdk install node-4.1.1-64bit && \
 | |
|   ./emsdk activate node-4.1.1-64bit && \
 | |
|   ./emsdk uninstall node-4.1.1-32bit && \
 | |
|   find . -name "*.o" -exec rm {} \; && \
 | |
|   find . -name "*.a" -exec rm {} \; && \
 | |
|   find . -name "*.tmp" -exec rm {} \;
 | |
| 
 | |
| ENV PATH /usr/emsdk_portable:/usr/emsdk_portable/clang/tag-e${EMSCRIPTEN_VERSION}/build_tag-e${EMSCRIPTEN_VERSION}_32/bin:/usr/emsdk_portable/emscripten/tag-${EMSCRIPTEN_VERSION}:${PATH}
 | |
| ENV CC=/usr/emsdk_portable/emscripten/tag-${EMSCRIPTEN_VERSION}/emcc \
 | |
|   CXX=/usr/emsdk_portable/emscripten/tag-${EMSCRIPTEN_VERSION}/em++ \
 | |
|   AR=/usr/emsdk_portable/emscripten/tag-${EMSCRIPTEN_VERSION}/emar
 | |
| 
 | |
| # Emscripten generates system libraries the firsts time it runs
 | |
| ADD test/ /tmp/test/
 | |
| RUN cd /tmp && \
 | |
|   /bin/echo -e "#include <iostream>\nint main() { std::cout << \"first run\"; return 0; }" > /tmp/first_run.cxx && \
 | |
|   $CXX /tmp/first_run.cxx -o a.out.js && \
 | |
|   rm /tmp/first_run.* && \
 | |
|   /bin/echo -e "#include <stdio.h>\nint main() { printf(\"first run\"); return 0; }" > /tmp/first_run.c && \
 | |
|   $CC /tmp/first_run.c -o a.out.js && \
 | |
|   rm /tmp/first_run.* a.out.js && \
 | |
|   cd /tmp/test && \
 | |
|   python /tmp/test/run.py; python /tmp/test/run.py && \
 | |
|   cd && rm -rf /tmp/test
 | |
| 
 | |
| ENV DEFAULT_DOCKCROSS_IMAGE dockcross/browser-asmjs
 | |
| 
 | |
| ENV CMAKE_TOOLCHAIN_FILE /usr/emsdk_portable/emscripten/tag-${EMSCRIPTEN_VERSION}/cmake/Modules/Platform/Emscripten.cmake
 | |
| # CMakeForceCompiler was marked deprecated in CMake 3.6.0. It emits many
 | |
| # warnings when using Emscripten. These changes can be removed in a future
 | |
| # version of Emscripten when it is disabled or removed per:
 | |
| # https://github.com/kripken/emscripten/pull/4477
 | |
| RUN sed -i -e '/CMakeForceCompiler/d' -e '/CMAKE_FORCE_C/d' $CMAKE_TOOLCHAIN_FILE
 | |
| 
 | |
| # Build-time metadata as defined at http://label-schema.org
 | |
| ARG BUILD_DATE
 | |
| ARG IMAGE
 | |
| ARG VCS_REF
 | |
| ARG VCS_URL
 | |
| LABEL org.label-schema.build-date=$BUILD_DATE \
 | |
|       org.label-schema.name=$IMAGE \
 | |
|       org.label-schema.vcs-ref=$VCS_REF \
 | |
|       org.label-schema.vcs-url=$VCS_URL \
 | |
|       org.label-schema.schema-version="1.0"
 |