# HG changeset patch # User Edouard Tisserant # Date 1512428890 -3600 # Node ID 07ad3ba42d39f636f9bee02f8fac6c7702bd4398 # Parent 5c0a6affeafaf7483e1a0f88fedd67f8bf21be5c Experimental docker based installer build, + update of mingw binaries - builds, untested diff -r 5c0a6affeafa -r 07ad3ba42d39 .dockerignore --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.dockerignore Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,4 @@ +.?* +Dockerfile +Vagrantfile +*.log diff -r 5c0a6affeafa -r 07ad3ba42d39 Dockerfile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Dockerfile Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,27 @@ +# Builds Beremiz windows installer + +# usage : +# docker build --build-arg UID=$(id -u) --build-arg GID=$(id -g) -t beremiz_builder . +# docker run -v ~/src:/home/devel/src -v ~/build/:/home/devel/build --rm beremiz_builder + +FROM ubuntu:xenial + +ENV TERM xterm-256color + +COPY provision_xenial64.sh . + +RUN ./provision_xenial64.sh + +ARG UNAME=devel +ENV UNAME ${UNAME} +ARG UID=1000 +ARG GID=1000 +RUN groupadd -g $GID $UNAME +RUN useradd -m -u $UID -g $GID -s /bin/bash $UNAME +USER $UNAME + +RUN mkdir /home/$UNAME/build /home/$UNAME/src +COPY . /home/$UNAME/src/beremiz_public_dist/ + +CMD xvfb-run make -C /home/$UNAME/build -f /home/$UNAME/src/beremiz_public_dist/Makefile + diff -r 5c0a6affeafa -r 07ad3ba42d39 Makefile --- a/Makefile Thu Oct 12 09:42:14 2017 +0300 +++ b/Makefile Tue Dec 05 00:08:10 2017 +0100 @@ -27,9 +27,9 @@ version = 1.2-rc1 -HGROOT := ~/src +HGREMOTE ?= https://hg.beremiz.org/ +HGROOT ?= $(abspath $(CURDIR)/..) GITROOT := $(HGROOT) -HGPULL = 0 DIST = CPUS = 8 BLKDEV=/dev/null @@ -50,20 +50,10 @@ sfmirror = downloads tmp := $(shell mktemp -d) -ifeq ("$(HGPULL)","1") define hg_get_archive -hg -R $(HGROOT)/`basename $(1)` pull -hg -R $(HGROOT)/`basename $(1)` update $(2) -hg -R $(HGROOT)/`basename $(1)` archive $(1) -endef -else -define hg_get_archive +test -d $(HGROOT)/`basename $(1)` || hg --cwd $(HGROOT) clone $(HGREMOTE)`basename $(1)` hg -R $(HGROOT)/`basename $(1)` archive $(2) $(1) -endef -endif - -define hg_get_rev_num -hg -R $(HGROOT)/`basename $(1)` id -i | sed 's/\+//' > $(2) +hg -R $(HGROOT)/`basename $(1)` id -i | sed 's/\+//' > $(1)/revision endef define get_src_hg @@ -82,11 +72,11 @@ endef define get_src_pypi -$(call get_src_http,http://pypi.python.org/packages/$(1),$(2)) +$(call get_src_http,https://pypi.python.org/packages/$(1),$(2)) endef define get_src_sf -$(call get_src_http,http://$(sfmirror).sourceforge.net/project/$(1),$(2)) +$(call get_src_http,https://$(sfmirror).sourceforge.net/project/$(1),$(2)) endef all: Beremiz-$(version).exe $(targets_add) @@ -109,41 +99,42 @@ mingwdir=build/mingw define get_mingw -$(call get_src_sf,mingw/MinGW/Base/$(1),$(2)) tar -C $(mingwdir) --lzma -xf $$dld +$(call get_src_sf,mingw/MinGW/Base/$(1),$(2)) tar -C $(mingwdir) -xf $$dld endef define get_msys -$(call get_src_sf,mingw/MSYS/Base/$(1),$(2)) tar -C $(mingwdir) --lzma -xf $$dld +$(call get_src_sf,mingw/MSYS/Base/$(1),$(2)) tar -C $(mingwdir) -xf $$dld endef mingw: |build rm -rf $(mingwdir) mkdir -p $(mingwdir) # windows.h - $(call get_mingw,w32api/w32api-3.17,w32api-3.17-2-mingw32-dev.tar.lzma) + $(call get_mingw,w32api/w32api-5.0.1,w32api-5.0.1-mingw32-dev.tar.xz) # mingw runtime - $(call get_mingw,mingwrt/mingwrt-3.20,mingwrt-3.20-2-mingw32-dll.tar.lzma) + $(call get_mingw,mingwrt/mingwrt-5.0.1,mingwrt-5.0.1-mingw32-dll.tar.xz) # mingw headers and lib - $(call get_mingw,mingwrt/mingwrt-3.20,mingwrt-3.20-2-mingw32-dev.tar.lzma) + $(call get_mingw,mingwrt/mingwrt-5.0.1,mingwrt-5.0.1-mingw32-dev.tar.xz) # binutils - $(call get_mingw,binutils/binutils-2.21.53,binutils-2.21.53-1-mingw32-bin.tar.lzma) + $(call get_mingw,binutils/binutils-2.28,binutils-2.28-1-mingw32-bin.tar.xz) # C compiler - $(call get_mingw,gcc/Version4/gcc-4.6.1-2,gcc-core-4.6.1-2-mingw32-bin.tar.lzma) + $(call get_mingw,gcc/Version6/gcc-6.3.0,gcc-core-6.3.0-1-mingw32-bin.tar.xz) # dependencies - $(call get_mingw,gmp/gmp-5.0.1-1,libgmp-5.0.1-1-mingw32-dll-10.tar.lzma) - $(call get_mingw,mpc/mpc-0.8.1-1,libmpc-0.8.1-1-mingw32-dll-2.tar.lzma) - $(call get_mingw,mpfr/mpfr-2.4.1-1,libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma) - $(call get_mingw,gettext/gettext-0.17-1,libintl-0.17-1-mingw32-dll-8.tar.lzma) - $(call get_mingw,gettext/gettext-0.17-1,libgettextpo-0.17-1-mingw32-dll-0.tar.lzma) - $(call get_mingw,libiconv/libiconv-1.13.1-1,libiconv-1.13.1-1-mingw32-dll-2.tar.lzma) + $(call get_mingw,gmp/gmp-6.1.2,libgmp-6.1.2-2-mingw32-dll-10.tar.xz) + $(call get_mingw,mpc/mpc-1.0.3,libmpc-1.0.3-1-mingw32-dll-3.tar.xz) + $(call get_mingw,mpfr/mpfr-3.1.5,libmpfr-3.1.5-1-mingw32-dll-4.tar.xz) + $(call get_mingw,gettext/gettext-0.18.3.2-2,libintl-0.18.3.2-2-mingw32-dll-8.tar.xz) + $(call get_mingw,gettext/gettext-0.18.3.2-2,libgettextpo-0.18.3.2-2-mingw32-dll-0.tar.xz) + $(call get_mingw,libiconv/libiconv-1.14-3,libiconv-1.14-3-mingw32-dll.tar.lzma) + # make, bash, and dependencies - $(call get_msys,bash/bash-3.1.17-3,bash-3.1.17-3-msys-1.0.13-bin.tar.lzma) + $(call get_msys,bash/bash-3.1.23-1,bash-3.1.23-1-msys-1.0.18-bin.tar.xz) $(call get_msys,coreutils/coreutils-5.97-3,coreutils-5.97-3-msys-1.0.13-bin.tar.lzma) - $(call get_msys,libiconv/libiconv-1.13.1-2,libiconv-1.13.1-2-msys-1.0.13-bin.tar.lzma) - $(call get_msys,libiconv/libiconv-1.13.1-2,libiconv-1.13.1-2-msys-1.0.13-dll-2.tar.lzma) - $(call get_msys,gettext/gettext-0.17-2,libintl-0.17-2-msys-dll-8.tar.lzma) + $(call get_msys,libiconv/libiconv-1.14-1,libiconv-1.14-1-msys-1.0.17-bin.tar.lzma) + $(call get_msys,libiconv/libiconv-1.14-1,libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma) + $(call get_msys,gettext/gettext-0.18.1.1-1,libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma) $(call get_msys,regex/regex-1.20090805-2,libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma) $(call get_msys,termcap/termcap-0.20050421_1-2,libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma) $(call get_msys,make/make-3.81-3,make-3.81-3-msys-1.0.13-bin.tar.lzma) - $(call get_msys,msys-core/msys-1.0.13-2,msysCORE-1.0.13-2-msys-1.0.13-bin.tar.lzma) + $(call get_msys,msys-core/msys-1.0.19-1,msysCORE-1.0.19-1-msys-1.0.19-bin.tar.xz) $(call get_msys,termcap/termcap-0.20050421_1-2,libtermcap-0.20050421_1-2-msys-1.0.13-dll-0.tar.lzma) touch $@ @@ -270,7 +261,6 @@ beremiz: | build examples $(call get_src_hg,build/beremiz) - $(call hg_get_rev_num,beremiz,build/beremiz/revision) $(call tweak_beremiz_targets) rm -rf examples/canopen_tests mkdir -p examples/canopen_tests diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/bash-3.1.23-1-msys-1.0.18-bin.tar.xz.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/bash-3.1.23-1-msys-1.0.18-bin.tar.xz.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +53043793a56815ee69d42f13e686502d bash-3.1.23-1-msys-1.0.18-bin.tar.xz diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/binutils-2.28-1-mingw32-bin.tar.xz.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/binutils-2.28-1-mingw32-bin.tar.xz.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +d9ede5b43ac380c342a95e68434d9957 binutils-2.28-1-mingw32-bin.tar.xz diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/gcc-core-6.3.0-1-mingw32-bin.tar.xz.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/gcc-core-6.3.0-1-mingw32-bin.tar.xz.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +1cfe1fdee114eef48fdd73152d86359f gcc-core-6.3.0-1-mingw32-bin.tar.xz diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/libgettextpo-0.18.3.2-2-mingw32-dll-0.tar.xz.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/libgettextpo-0.18.3.2-2-mingw32-dll-0.tar.xz.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +947791bab6222a5235d22eaa08abae02 libgettextpo-0.18.3.2-2-mingw32-dll-0.tar.xz diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/libgmp-6.1.2-2-mingw32-dll-10.tar.xz.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/libgmp-6.1.2-2-mingw32-dll-10.tar.xz.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +42272c91de90179a88d96a883c90fe6f libgmp-6.1.2-2-mingw32-dll-10.tar.xz diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/libiconv-1.14-1-msys-1.0.17-bin.tar.lzma.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/libiconv-1.14-1-msys-1.0.17-bin.tar.lzma.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +6b6f6d7d5b65bed9163324e73bdd6e28 libiconv-1.14-1-msys-1.0.17-bin.tar.lzma diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +6ffa2b9fdb3711582d6a99bab4389de6 libiconv-1.14-1-msys-1.0.17-dll-2.tar.lzma diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/libiconv-1.14-3-mingw32-dll.tar.lzma.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/libiconv-1.14-3-mingw32-dll.tar.lzma.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +8681a7ccae5834d9e1f81284de3fb29e libiconv-1.14-3-mingw32-dll.tar.lzma diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +8d3561e8f94acfe0b9139aa658bb5e34 libintl-0.18.1.1-1-msys-1.0.17-dll-8.tar.lzma diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/libintl-0.18.3.2-2-mingw32-dll-8.tar.xz.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/libintl-0.18.3.2-2-mingw32-dll-8.tar.xz.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +0721c923462f175edf6238ccbaa55978 libintl-0.18.3.2-2-mingw32-dll-8.tar.xz diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/libmpc-1.0.3-1-mingw32-dll-3.tar.xz.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/libmpc-1.0.3-1-mingw32-dll-3.tar.xz.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +6399bf33822bdc727c0b824918657610 libmpc-1.0.3-1-mingw32-dll-3.tar.xz diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/libmpfr-3.1.5-1-mingw32-dll-4.tar.xz.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/libmpfr-3.1.5-1-mingw32-dll-4.tar.xz.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +b749fb6c64e0853eb079c46dd277075b libmpfr-3.1.5-1-mingw32-dll-4.tar.xz diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/mingwrt-5.0.1-mingw32-dev.tar.xz.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/mingwrt-5.0.1-mingw32-dev.tar.xz.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +2c6dd5cfe83d415e6355a493ff8a5ab4 mingwrt-5.0.1-mingw32-dev.tar.xz diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/mingwrt-5.0.1-mingw32-dll.tar.xz.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/mingwrt-5.0.1-mingw32-dll.tar.xz.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +7ccecfda7883b0a3f78f154a0260001c mingwrt-5.0.1-mingw32-dll.tar.xz diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/msysCORE-1.0.19-1-msys-1.0.19-bin.tar.xz.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/msysCORE-1.0.19-1-msys-1.0.19-bin.tar.xz.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +07035115c5ea57c3aae81df1b676f2c0 msysCORE-1.0.19-1-msys-1.0.19-bin.tar.xz diff -r 5c0a6affeafa -r 07ad3ba42d39 distfiles/w32api-5.0.1-mingw32-dev.tar.xz.md5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distfiles/w32api-5.0.1-mingw32-dev.tar.xz.md5 Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,1 @@ +4cd1e3342a047dbc00cce21bc231f21a w32api-5.0.1-mingw32-dev.tar.xz diff -r 5c0a6affeafa -r 07ad3ba42d39 provision_xenial64.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/provision_xenial64.sh Tue Dec 05 00:08:10 2017 +0100 @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +# This script is to be executed as root to provision necessary stuff +# to run distribution build on a blank Ubuntu Xenial 64 image + +set -xe +dpkg --add-architecture i386 +apt-get update + +apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bison \ + build-essential \ + ca-certificates \ + flex \ + gettext \ + git \ + lzma \ + make \ + mercurial \ + mingw-w64 \ + nsis \ + texinfo \ + unrar \ + wget \ + xvfb \ + unzip + + echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections + echo ttf-mscorefonts-installer msttcorefonts/present-mscorefonts-eula note | debconf-set-selections + +apt-get install -y --install-recommends \ + wine + +apt-get clean -y