From 47387880bb271e43cda61a78a7b5874d55ef7e69 Mon Sep 17 00:00:00 2001 From: Edric Milaret <edric.ladent-milaret@savoirfairelinux.com> Date: Wed, 27 May 2015 11:06:56 -0400 Subject: [PATCH] build: add docker file Refs #74016 Change-Id: Ic452911a842fc056c2890b04e22740f0abead09f --- docker/Dockerfile | 72 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 docker/Dockerfile diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..1c7fd0e --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,72 @@ + +FROM nfnty/arch-mini + +#the ugliest hack on earth +VOLUME /tmp + +#Update system and add archlinuxfr repo for yaourt +RUN pacman -Syu --noconfirm +RUN echo "[archlinuxfr]" >> /etc/pacman.conf +RUN echo "SigLevel = Never" >> /etc/pacman.conf +RUN echo "Server = http://repo.archlinux.fr/\$arch" >> /etc/pacman.conf +RUN cat /etc/pacman.conf + +RUN pacman -Syu reflector rsync --noconfirm --needed +RUN reflector --verbose --country 'Canada' -l 200 --sort rate --save /etc/pacman.d/mirrorlist +RUN cat /etc/pacman.d/mirrorlist + +#ensure that base and base-devel are installed and up to date +RUN pacman -Syu base base-devel --noconfirm --needed + +#install some needed package +RUN pacman -Syu yaourt wget git yasm cmake --noconfirm --needed + +#add user +RUN useradd joulupukki -m +RUN echo "joulupukki ALL= NOPASSWD: ALL" >> /etc/sudoers + +USER joulupukki +WORKDIR /home/joulupukki + +#init the key and add those used for aur packages we need +RUN sudo pacman-key --init && sudo pacman-key --populate archlinux +RUN gpg --keyserver hkp://keys.gnupg.net --recv-key D605848ED7E69871 9766E084FB0F43D8 4DE8FF2A63C7CC90 D9C4D26D0E604491 BB5869F064EA74AB + +#install cross compil tool +RUN yaourt -S mingw-w64-toolchain mingw-w64-pkg-config --noconfirm --needed + +#downgrade mingw-gcc as ring-daemon is not yet compatible with v5 +RUN wget http://seblu.net/a/arm/2015/05/01/community/os/x86_64/mingw-w64-gcc-4.9.2-2-x86_64.pkg.tar.xz +RUN sudo pacman -U mingw-w64-gcc-4.9.2-2-x86_64.pkg.tar.xz --noconfirm + +#set env to include perl package (pod2man needed for doc) +ENV PATH=$PATH:/usr/bin/core_perl +RUN env + +#install Qt deps +RUN yaourt -S mingw-w64-harfbuzz --noconfirm --needed +RUN yaourt -S mingw-w64-libdbus --noconfirm --needed +RUN yaourt -S mingw-w64-libjpeg-turbo --noconfirm --needed +RUN yaourt -S mingw-w64-libpng --noconfirm --needed +RUN yaourt -S mingw-w64-openssl --noconfirm --needed +RUN yaourt -S mingw-w64-pcre --noconfirm --needed +RUN yaourt -S mingw-w64-sqlite --noconfirm --needed +RUN yaourt -S mingw-w64-zlib --noconfirm --needed +RUN yaourt -S mingw-w64-mariadb-connector-c --noconfirm --needed +RUN yaourt -S mingw-w64-postgresql-libs --noconfirm --needed +RUN yaourt -S mingw-w64-mariadb-connector-c --noconfirm --needed +RUN yaourt -S mingw-w64-postgresql-libs --noconfirm --needed + + +#install Qt +RUN yaourt -S mingw-w64-qt5-base-opengl --noconfirm + +#install the Qt plugins used in the client +RUN yaourt -S mingw-w64-qt5-svg --noconfirm +RUN yaourt -S mingw-w64-qt5-imageformats --noconfirm + +#install the packager +RUN yaourt -S nsis --noconfirm --needed + +#make sure pkg-config choose our custom path before any lib that may have been installed by Qt (e.g pcre) +RUN sudo sed -i s/\$PKG_CONFIG_LIBDIR:\$PKG_CONFIG_PATH_CUSTOM/\$PKG_CONFIG_PATH_CUSTOM:\$PKG_CONFIG_LIBDIR/ /usr/bin/i686-w64-mingw32-pkg-config \ No newline at end of file -- GitLab