From 65aec45c62d0b159470c2b00528ba24397caf6b0 Mon Sep 17 00:00:00 2001 From: Maschell Date: Sun, 23 Sep 2018 14:14:49 +0200 Subject: [PATCH] Add a Dockerfile, simplify the travis script using docker --- .travis.yml | 46 ++++++---------------------------------------- Dockerfile | 6 ++++++ README.md | 16 +++++++++++++++- 3 files changed, 27 insertions(+), 41 deletions(-) create mode 100644 Dockerfile diff --git a/.travis.yml b/.travis.yml index 3aa05ab..88f09d3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,51 +1,17 @@ -language: cpp -os: linux -sudo: false -dist: trusty +sudo: required branches: only: - - master -env: - global: - - DEVKITPRO=/opt/devkitpro - - WUT_ROOT=/opt/devkitpro/wut - - DEVKITPPC=/opt/devkitpro/devkitPPC - - PORTLIBREPOS=$HOME/portlibrepos -cache: - directories: - - "$HOME/.local" - - "$DEVKITPRO" + - master +services: +- docker addons: apt: packages: - p7zip-full -before_install: -- mkdir -p "${PORTLIBREPOS}" -- mkdir -p "${DEVKITPRO}" -- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then wget https://github.com/devkitPro/pacman/releases/download/devkitpro-pacman-1.0.1/devkitpro-pacman.deb - -O /tmp/devkitpro-pacman.deb; fi -- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo dpkg -i /tmp/devkitpro-pacman.deb; - fi -- yes | sudo dkp-pacman -Syu devkitPPC --needed -- yes | sudo dkp-pacman -Syu general-tools --needed -- wget https://github.com/decaf-emu/wut/releases/download/1.0.0-beta/wut.linux64.7z -install: -- 7z x -y $(ls | grep "linux") -o${WUT_ROOT} -- cd $PORTLIBREPOS -- git clone https://github.com/Maschell/WiiUPluginSystem.git -- git clone https://github.com/Maschell/libutils.git -b wut -- cd WiiUPluginSystem -- make && make install -- cd $PORTLIBREPOS -- cd libutils -- mkdir build && cd build -- cmake -DCMAKE_TOOLCHAIN_FILE=$WUT_ROOT/share/wut.toolchain.cmake -DCMAKE_INSTALL_PREFIX=$WUT_ROOT ../ -- make install -- cd $PORTLIBREPOS before_script: -- cd $TRAVIS_BUILD_DIR/ +- docker build . -t swipswapme-builder script: -- make -j8 +- docker run -it --rm -v ${PWD}:/project swipswapme-builder make before_deploy: - cd $TRAVIS_BUILD_DIR/ - mkdir -p "wiiu/plugins" diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bb39974 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,6 @@ +FROM wups/core-with-wut:0.1 + +# Get dependencies +COPY --from=wiiuwut/libutils:0.1 /artifacts $WUT_ROOT + +WORKDIR project diff --git a/README.md b/README.md index 4931ff6..cb93546 100644 --- a/README.md +++ b/README.md @@ -24,4 +24,18 @@ For building you need: - [wut](https://github.com/decaf-emu/wut) - [libutilswut](https://github.com/Maschell/libutils/tree/wut) (WUT version) for common functions. -Install them (in this order) according to their README's. Don't forget the dependencies of the libs itself. \ No newline at end of file +Install them (in this order) according to their README's. Don't forget the dependencies of the libs itself. + +### Building using the Dockerfile +It's possible to use a docker image for building. This way you don't need anything installed on your host system. + +``` +# Build docker image (only needed once +docker build . -t swipswapme-builder + +# make +docker run -it --rm -v ${PWD}:/project swipswapme-builder make + +# make clean +docker run -it --rm -v ${PWD}:/project swipswapme-builder make clean +``` \ No newline at end of file