Ver Fonte

[ci fw-only C++/cpoll_cppsp C++/silicon C++/treefrog] remove TE deps (#3549)

Michael Hixson há 7 anos atrás
pai
commit
d4708b57f2

+ 0 - 24
frameworks/C++/cpoll_cppsp/cpoll_cppsp-base.dockerfile

@@ -1,24 +0,0 @@
-FROM techempower/gcc-4.8:0.1
-
-WORKDIR /installs
-
-ENV VERSION=0.2.3
-ENV CPPSP_HOME=/installs/cppsp_$VERSION
-
-RUN wget -q http://downloads.sourceforge.net/project/cpollcppsp/CPPSP%200.2%20%28testing%29/cppsp_$VERSION.tar.xz
-RUN tar xf cppsp_$VERSION.tar.xz
-
-RUN mv cppsp_rel$VERSION/ $CPPSP_HOME
-
-RUN sed -i 's|CXX := .*|CXX := g++-4.8|g' $CPPSP_HOME/makefile
-RUN sed -i 's|-Wall|-w|g' $CPPSP_HOME/makefile
-
-RUN apt install -yqq postgresql-server-dev-9.5
-ENV CPLUS_INCLUDE_PATH=/usr/include/postgresql:/usr/include/postgresql/9.5/server:${CPLUS_INCLUDE_PATH}
-
-ADD ./ /cpoll_cppsp
-WORKDIR /cpoll_cppsp
-
-RUN make clean && make
-
-WORKDIR $CPPSP_HOME

+ 51 - 1
frameworks/C++/cpoll_cppsp/cpoll_cppsp-postgres-raw-threadpool.dockerfile

@@ -1,3 +1,53 @@
-FROM techempower/cpoll_cppsp-base:0.1
+FROM ubuntu:16.04
+
+RUN apt-get update
+
+RUN apt-get install -qqy software-properties-common build-essential curl locales wget unzip git \
+    libmysqlclient-dev libpq-dev \
+    libpcre3 libpcre3-dev \
+    libssl-dev libcurl4-openssl-dev \
+    zlib1g-dev \
+    libreadline6-dev \
+    libbz2-dev \
+    libxslt-dev libgdbm-dev ncurses-dev  \
+    libffi-dev libtool bison libevent-dev \
+    libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
+    liborc-0.4-0 libgnutls-dev \
+    libjson0-dev libmcrypt-dev libicu-dev \
+    re2c libnuma-dev
+
+RUN locale-gen en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8
+ENV DEBIAN_FRONTEND noninteractive
+
+RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test
+RUN apt update -y
+RUN apt install -qqy g++-4.8
+RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
+
+WORKDIR /installs
+
+ENV VERSION=0.2.3
+ENV CPPSP_HOME=/installs/cppsp_$VERSION
+
+RUN wget -q http://downloads.sourceforge.net/project/cpollcppsp/CPPSP%200.2%20%28testing%29/cppsp_$VERSION.tar.xz
+RUN tar xf cppsp_$VERSION.tar.xz
+
+RUN mv cppsp_rel$VERSION/ $CPPSP_HOME
+
+RUN sed -i 's|CXX := .*|CXX := g++-4.8|g' $CPPSP_HOME/makefile
+RUN sed -i 's|-Wall|-w|g' $CPPSP_HOME/makefile
+
+RUN apt install -yqq postgresql-server-dev-9.5
+ENV CPLUS_INCLUDE_PATH=/usr/include/postgresql:/usr/include/postgresql/9.5/server:${CPLUS_INCLUDE_PATH}
+
+ADD ./ /cpoll_cppsp
+WORKDIR /cpoll_cppsp
+
+RUN make clean && make
+
+WORKDIR $CPPSP_HOME
 
 CMD ./run_application /cpoll_cppsp/www -g g++-4.8 -m /forcedynamic.cppsm

+ 51 - 1
frameworks/C++/cpoll_cppsp/cpoll_cppsp-postgres-raw.dockerfile

@@ -1,3 +1,53 @@
-FROM techempower/cpoll_cppsp-base:0.1
+FROM ubuntu:16.04
+
+RUN apt-get update
+
+RUN apt-get install -qqy software-properties-common build-essential curl locales wget unzip git \
+    libmysqlclient-dev libpq-dev \
+    libpcre3 libpcre3-dev \
+    libssl-dev libcurl4-openssl-dev \
+    zlib1g-dev \
+    libreadline6-dev \
+    libbz2-dev \
+    libxslt-dev libgdbm-dev ncurses-dev  \
+    libffi-dev libtool bison libevent-dev \
+    libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
+    liborc-0.4-0 libgnutls-dev \
+    libjson0-dev libmcrypt-dev libicu-dev \
+    re2c libnuma-dev
+
+RUN locale-gen en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8
+ENV DEBIAN_FRONTEND noninteractive
+
+RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test
+RUN apt update -y
+RUN apt install -qqy g++-4.8
+RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
+
+WORKDIR /installs
+
+ENV VERSION=0.2.3
+ENV CPPSP_HOME=/installs/cppsp_$VERSION
+
+RUN wget -q http://downloads.sourceforge.net/project/cpollcppsp/CPPSP%200.2%20%28testing%29/cppsp_$VERSION.tar.xz
+RUN tar xf cppsp_$VERSION.tar.xz
+
+RUN mv cppsp_rel$VERSION/ $CPPSP_HOME
+
+RUN sed -i 's|CXX := .*|CXX := g++-4.8|g' $CPPSP_HOME/makefile
+RUN sed -i 's|-Wall|-w|g' $CPPSP_HOME/makefile
+
+RUN apt install -yqq postgresql-server-dev-9.5
+ENV CPLUS_INCLUDE_PATH=/usr/include/postgresql:/usr/include/postgresql/9.5/server:${CPLUS_INCLUDE_PATH}
+
+ADD ./ /cpoll_cppsp
+WORKDIR /cpoll_cppsp
+
+RUN make clean && make
+
+WORKDIR $CPPSP_HOME
 
 CMD ./run_application /cpoll_cppsp/www -g g++-4.8 -m /forcedynamic.cppsm

+ 51 - 1
frameworks/C++/cpoll_cppsp/cpoll_cppsp-raw.dockerfile

@@ -1,3 +1,53 @@
-FROM techempower/cpoll_cppsp-base:0.1
+FROM ubuntu:16.04
+
+RUN apt-get update
+
+RUN apt-get install -qqy software-properties-common build-essential curl locales wget unzip git \
+    libmysqlclient-dev libpq-dev \
+    libpcre3 libpcre3-dev \
+    libssl-dev libcurl4-openssl-dev \
+    zlib1g-dev \
+    libreadline6-dev \
+    libbz2-dev \
+    libxslt-dev libgdbm-dev ncurses-dev  \
+    libffi-dev libtool bison libevent-dev \
+    libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
+    liborc-0.4-0 libgnutls-dev \
+    libjson0-dev libmcrypt-dev libicu-dev \
+    re2c libnuma-dev
+
+RUN locale-gen en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8
+ENV DEBIAN_FRONTEND noninteractive
+
+RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test
+RUN apt update -y
+RUN apt install -qqy g++-4.8
+RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
+
+WORKDIR /installs
+
+ENV VERSION=0.2.3
+ENV CPPSP_HOME=/installs/cppsp_$VERSION
+
+RUN wget -q http://downloads.sourceforge.net/project/cpollcppsp/CPPSP%200.2%20%28testing%29/cppsp_$VERSION.tar.xz
+RUN tar xf cppsp_$VERSION.tar.xz
+
+RUN mv cppsp_rel$VERSION/ $CPPSP_HOME
+
+RUN sed -i 's|CXX := .*|CXX := g++-4.8|g' $CPPSP_HOME/makefile
+RUN sed -i 's|-Wall|-w|g' $CPPSP_HOME/makefile
+
+RUN apt install -yqq postgresql-server-dev-9.5
+ENV CPLUS_INCLUDE_PATH=/usr/include/postgresql:/usr/include/postgresql/9.5/server:${CPLUS_INCLUDE_PATH}
+
+ADD ./ /cpoll_cppsp
+WORKDIR /cpoll_cppsp
+
+RUN make clean && make
+
+WORKDIR $CPPSP_HOME
 
 CMD ./run_application /cpoll_cppsp/www -g g++-4.8 -m /forcedynamic.cppsm

+ 51 - 1
frameworks/C++/cpoll_cppsp/cpoll_cppsp.dockerfile

@@ -1,3 +1,53 @@
-FROM techempower/cpoll_cppsp-base:0.1
+FROM ubuntu:16.04
+
+RUN apt-get update
+
+RUN apt-get install -qqy software-properties-common build-essential curl locales wget unzip git \
+    libmysqlclient-dev libpq-dev \
+    libpcre3 libpcre3-dev \
+    libssl-dev libcurl4-openssl-dev \
+    zlib1g-dev \
+    libreadline6-dev \
+    libbz2-dev \
+    libxslt-dev libgdbm-dev ncurses-dev  \
+    libffi-dev libtool bison libevent-dev \
+    libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
+    liborc-0.4-0 libgnutls-dev \
+    libjson0-dev libmcrypt-dev libicu-dev \
+    re2c libnuma-dev
+
+RUN locale-gen en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8
+ENV DEBIAN_FRONTEND noninteractive
+
+RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test
+RUN apt update -y
+RUN apt install -qqy g++-4.8
+RUN update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
+
+WORKDIR /installs
+
+ENV VERSION=0.2.3
+ENV CPPSP_HOME=/installs/cppsp_$VERSION
+
+RUN wget -q http://downloads.sourceforge.net/project/cpollcppsp/CPPSP%200.2%20%28testing%29/cppsp_$VERSION.tar.xz
+RUN tar xf cppsp_$VERSION.tar.xz
+
+RUN mv cppsp_rel$VERSION/ $CPPSP_HOME
+
+RUN sed -i 's|CXX := .*|CXX := g++-4.8|g' $CPPSP_HOME/makefile
+RUN sed -i 's|-Wall|-w|g' $CPPSP_HOME/makefile
+
+RUN apt install -yqq postgresql-server-dev-9.5
+ENV CPLUS_INCLUDE_PATH=/usr/include/postgresql:/usr/include/postgresql/9.5/server:${CPLUS_INCLUDE_PATH}
+
+ADD ./ /cpoll_cppsp
+WORKDIR /cpoll_cppsp
+
+RUN make clean && make
+
+WORKDIR $CPPSP_HOME
 
 CMD ./run_application /cpoll_cppsp/www -g g++-4.8 -m /forcedynamic.cppsm

+ 0 - 12
frameworks/C++/silicon/silicon-base.dockerfile

@@ -1,12 +0,0 @@
-FROM techempower/microhttpd:0.1
-
-RUN apt install -yqq libboost-dev cmake
-
-ENV SILICON=/silicon
-
-COPY ./ ./
-
-RUN git clone https://github.com/matt-42/silicon.git && \
-    cd silicon && \
-    git checkout ecaf04887c9dbbf0f457afab1f487268f6aeffab && \
-    CC=clang-3.9 CXX=clang++-3.9 ./install.sh /

+ 52 - 2
frameworks/C++/silicon/silicon.dockerfile

@@ -1,7 +1,57 @@
-FROM techempower/silicon-base:0.1
+FROM ubuntu:16.04
+
+RUN apt-get update
+
+RUN apt-get install -qqy software-properties-common build-essential curl locales wget unzip git \
+    libmysqlclient-dev libpq-dev \
+    libpcre3 libpcre3-dev \
+    libssl-dev libcurl4-openssl-dev \
+    zlib1g-dev \
+    libreadline6-dev \
+    libbz2-dev \
+    libxslt-dev libgdbm-dev ncurses-dev  \
+    libffi-dev libtool bison libevent-dev \
+    libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
+    liborc-0.4-0 libgnutls-dev \
+    libjson0-dev libmcrypt-dev libicu-dev \
+    re2c libnuma-dev
+
+RUN locale-gen en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8
+ENV DEBIAN_FRONTEND noninteractive
+
+RUN add-apt-repository -s "deb http://apt.llvm.org/`lsb_release -cs`/ llvm-toolchain-`lsb_release -cs`-3.9 main"
+RUN wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key| apt-key add -
+RUN apt -yq update
+RUN apt install -qqy clang-3.9 lldb-3.9
+
+ENV MICROHTTPD_VERSION=0.9.39
+ENV MICROHTTPD=/libmicrohttpd
+ENV MICROHTTPD_HOME=$MICROHTTPD-$VERSION
+
+RUN wget http://mirror.ibcp.fr/pub/gnu/libmicrohttpd/libmicrohttpd-$MICROHTTPD_VERSION.tar.gz
+RUN tar xf libmicrohttpd-$MICROHTTPD_VERSION.tar.gz
+RUN cd libmicrohttpd-$MICROHTTPD_VERSION && \
+    ./configure --prefix=$MICROHTTPD_HOME && \
+    make install
+
+ENV PATH=${MICROHTTPD_HOME}/bin:${PATH}
+
+RUN apt install -yqq libboost-dev cmake
+
+ENV SILICON=/silicon
+
+COPY ./ ./
+
+RUN git clone https://github.com/matt-42/silicon.git && \
+    cd silicon && \
+    git checkout ecaf04887c9dbbf0f457afab1f487268f6aeffab && \
+    CC=clang-3.9 CXX=clang++-3.9 ./install.sh /
 
 RUN cd build && \
     cmake .. -DCMAKE_CXX_COMPILER=clang++-3.9 && \
     make silicon_tpc_mysql
 
-CMD /build/silicon_tpc_mysql ${DBHOST} 8080 $(nproc)
+CMD /build/silicon_tpc_mysql tfb-database 8080 $(nproc)

+ 3 - 3
frameworks/C++/treefrog/config/database.ini

@@ -19,7 +19,7 @@
 [dev]
 DriverType=QMYSQL
 DatabaseName=hello_world
-HostName=localhost
+HostName=tfb-database
 Port=
 UserName=benchmarkdbuser
 Password=benchmarkdbpass
@@ -28,7 +28,7 @@ ConnectOptions=
 [test]
 DriverType=QMYSQL
 DatabaseName=hello_world
-HostName=localhost
+HostName=tfb-database
 Port=
 UserName=benchmarkdbuser
 Password=benchmarkdbpass
@@ -37,7 +37,7 @@ ConnectOptions=
 [product]
 DriverType=QMYSQL
 DatabaseName=hello_world
-HostName=localhost
+HostName=tfb-database
 Port=
 UserName=benchmarkdbuser
 Password=benchmarkdbpass

+ 4 - 4
frameworks/C++/treefrog/config/mongodb.ini

@@ -4,15 +4,15 @@
 
 [dev]
 DatabaseName=hello_world
-HostName=localhost
+HostName=tfb-database
 Port=
 UserName=
 Password=
 ConnectOptions=
 
 [test]
-DatabaseName=
-HostName=
+DatabaseName=hello_world
+HostName=tfb-database
 Port=
 UserName=
 Password=
@@ -20,7 +20,7 @@ ConnectOptions=
 
 [product]
 DatabaseName=hello_world
-HostName=localhost
+HostName=tfb-database
 Port=
 UserName=
 Password=

+ 0 - 24
frameworks/C++/treefrog/treefrog-base.dockerfile

@@ -1,24 +0,0 @@
-FROM techempower/base:0.1
-
-ENV TFVER=1.19.0
-
-RUN apt install -yqq g++ gcc libjemalloc-dev qt5-qmake qt5-default qtbase5-dev \
-    qtbase5-dev-tools libqt5sql5 libqt5sql5-mysql libqt5sql5-psql libqt5qml5 libqt5xml5 \
-    qtdeclarative5-dev libqt5quick5 libqt5quickparticles5 libqt5gui5 libqt5printsupport5 \
-    libqt5widgets5 libqt5opengl5-dev libqt5quicktest5
-
-RUN wget -q https://github.com/treefrogframework/treefrog-framework/archive/v${TFVER}.tar.gz
-RUN tar xf v${TFVER}.tar.gz
-RUN cd treefrog-framework-${TFVER} && \
-    ./configure && \
-    cd src && \
-    make -j4 && \
-    make install && \
-    cd ../tools && \
-    make -j4 && \
-    make install
-
-COPY ./ ./
-
-RUN sed -i 's|HostName=.*|HostName='"$DBHOST"'|g' config/database.ini
-RUN sed -i 's|HostName=.*|HostName='"$DBHOST"'|g' config/mongodb.ini

+ 44 - 1
frameworks/C++/treefrog/treefrog-hybrid.dockerfile

@@ -1,4 +1,47 @@
-FROM techempower/treefrog-base:0.1
+FROM ubuntu:16.04
+
+RUN apt-get update
+
+# Install some common development tools
+RUN apt-get install -y software-properties-common build-essential curl locales wget unzip git \
+    libmysqlclient-dev libpq-dev \
+    libpcre3 libpcre3-dev \
+    libssl-dev libcurl4-openssl-dev \
+    zlib1g-dev \
+    libreadline6-dev \
+    libbz2-dev \
+    libxslt-dev libgdbm-dev ncurses-dev  \
+    libffi-dev libtool bison libevent-dev \
+    libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
+    liborc-0.4-0 libgnutls-dev \
+    libjson0-dev libmcrypt-dev libicu-dev \
+    re2c libnuma-dev
+
+RUN locale-gen en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8
+ENV DEBIAN_FRONTEND noninteractive
+
+ENV TFVER=1.19.0
+
+RUN apt install -yqq g++ gcc libjemalloc-dev qt5-qmake qt5-default qtbase5-dev \
+    qtbase5-dev-tools libqt5sql5 libqt5sql5-mysql libqt5sql5-psql libqt5qml5 libqt5xml5 \
+    qtdeclarative5-dev libqt5quick5 libqt5quickparticles5 libqt5gui5 libqt5printsupport5 \
+    libqt5widgets5 libqt5opengl5-dev libqt5quicktest5
+
+RUN wget -q https://github.com/treefrogframework/treefrog-framework/archive/v${TFVER}.tar.gz
+RUN tar xf v${TFVER}.tar.gz
+RUN cd treefrog-framework-${TFVER} && \
+    ./configure && \
+    cd src && \
+    make -j4 && \
+    make install && \
+    cd ../tools && \
+    make -j4 && \
+    make install
+
+COPY ./ ./
 
 RUN sed -i 's|DriverType=.*|DriverType=QMYSQL|g' config/database.ini
 RUN sed -i 's|MultiProcessingModule=.*|MultiProcessingModule=hybrid|g' config/application.ini

+ 44 - 1
frameworks/C++/treefrog/treefrog-mongodb.dockerfile

@@ -1,4 +1,47 @@
-FROM techempower/treefrog-base:0.1
+FROM ubuntu:16.04
+
+RUN apt-get update
+
+# Install some common development tools
+RUN apt-get install -y software-properties-common build-essential curl locales wget unzip git \
+    libmysqlclient-dev libpq-dev \
+    libpcre3 libpcre3-dev \
+    libssl-dev libcurl4-openssl-dev \
+    zlib1g-dev \
+    libreadline6-dev \
+    libbz2-dev \
+    libxslt-dev libgdbm-dev ncurses-dev  \
+    libffi-dev libtool bison libevent-dev \
+    libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
+    liborc-0.4-0 libgnutls-dev \
+    libjson0-dev libmcrypt-dev libicu-dev \
+    re2c libnuma-dev
+
+RUN locale-gen en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8
+ENV DEBIAN_FRONTEND noninteractive
+
+ENV TFVER=1.19.0
+
+RUN apt install -yqq g++ gcc libjemalloc-dev qt5-qmake qt5-default qtbase5-dev \
+    qtbase5-dev-tools libqt5sql5 libqt5sql5-mysql libqt5sql5-psql libqt5qml5 libqt5xml5 \
+    qtdeclarative5-dev libqt5quick5 libqt5quickparticles5 libqt5gui5 libqt5printsupport5 \
+    libqt5widgets5 libqt5opengl5-dev libqt5quicktest5
+
+RUN wget -q https://github.com/treefrogframework/treefrog-framework/archive/v${TFVER}.tar.gz
+RUN tar xf v${TFVER}.tar.gz
+RUN cd treefrog-framework-${TFVER} && \
+    ./configure && \
+    cd src && \
+    make -j4 && \
+    make install && \
+    cd ../tools && \
+    make -j4 && \
+    make install
+
+COPY ./ ./
 
 RUN sed -i 's|DriverType=.*|DriverType=QMYSQL|g' config/database.ini
 RUN sed -i 's|MultiProcessingModule=.*|MultiProcessingModule=thread|g' config/application.ini

+ 44 - 1
frameworks/C++/treefrog/treefrog-postgres.dockerfile

@@ -1,4 +1,47 @@
-FROM techempower/treefrog-base:0.1
+FROM ubuntu:16.04
+
+RUN apt-get update
+
+# Install some common development tools
+RUN apt-get install -y software-properties-common build-essential curl locales wget unzip git \
+    libmysqlclient-dev libpq-dev \
+    libpcre3 libpcre3-dev \
+    libssl-dev libcurl4-openssl-dev \
+    zlib1g-dev \
+    libreadline6-dev \
+    libbz2-dev \
+    libxslt-dev libgdbm-dev ncurses-dev  \
+    libffi-dev libtool bison libevent-dev \
+    libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
+    liborc-0.4-0 libgnutls-dev \
+    libjson0-dev libmcrypt-dev libicu-dev \
+    re2c libnuma-dev
+
+RUN locale-gen en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8
+ENV DEBIAN_FRONTEND noninteractive
+
+ENV TFVER=1.19.0
+
+RUN apt install -yqq g++ gcc libjemalloc-dev qt5-qmake qt5-default qtbase5-dev \
+    qtbase5-dev-tools libqt5sql5 libqt5sql5-mysql libqt5sql5-psql libqt5qml5 libqt5xml5 \
+    qtdeclarative5-dev libqt5quick5 libqt5quickparticles5 libqt5gui5 libqt5printsupport5 \
+    libqt5widgets5 libqt5opengl5-dev libqt5quicktest5
+
+RUN wget -q https://github.com/treefrogframework/treefrog-framework/archive/v${TFVER}.tar.gz
+RUN tar xf v${TFVER}.tar.gz
+RUN cd treefrog-framework-${TFVER} && \
+    ./configure && \
+    cd src && \
+    make -j4 && \
+    make install && \
+    cd ../tools && \
+    make -j4 && \
+    make install
+
+COPY ./ ./
 
 RUN sed -i 's|DriverType=.*|DriverType=QPSQL|g' config/database.ini
 RUN sed -i 's|MultiProcessingModule=.*|MultiProcessingModule=thread|g' config/application.ini

+ 44 - 1
frameworks/C++/treefrog/treefrog.dockerfile

@@ -1,4 +1,47 @@
-FROM techempower/treefrog-base:0.1
+FROM ubuntu:16.04
+
+RUN apt-get update
+
+# Install some common development tools
+RUN apt-get install -y software-properties-common build-essential curl locales wget unzip git \
+    libmysqlclient-dev libpq-dev \
+    libpcre3 libpcre3-dev \
+    libssl-dev libcurl4-openssl-dev \
+    zlib1g-dev \
+    libreadline6-dev \
+    libbz2-dev \
+    libxslt-dev libgdbm-dev ncurses-dev  \
+    libffi-dev libtool bison libevent-dev \
+    libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 \
+    liborc-0.4-0 libgnutls-dev \
+    libjson0-dev libmcrypt-dev libicu-dev \
+    re2c libnuma-dev
+
+RUN locale-gen en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8
+ENV DEBIAN_FRONTEND noninteractive
+
+ENV TFVER=1.19.0
+
+RUN apt install -yqq g++ gcc libjemalloc-dev qt5-qmake qt5-default qtbase5-dev \
+    qtbase5-dev-tools libqt5sql5 libqt5sql5-mysql libqt5sql5-psql libqt5qml5 libqt5xml5 \
+    qtdeclarative5-dev libqt5quick5 libqt5quickparticles5 libqt5gui5 libqt5printsupport5 \
+    libqt5widgets5 libqt5opengl5-dev libqt5quicktest5
+
+RUN wget -q https://github.com/treefrogframework/treefrog-framework/archive/v${TFVER}.tar.gz
+RUN tar xf v${TFVER}.tar.gz
+RUN cd treefrog-framework-${TFVER} && \
+    ./configure && \
+    cd src && \
+    make -j4 && \
+    make install && \
+    cd ../tools && \
+    make -j4 && \
+    make install
+
+COPY ./ ./
 
 RUN sed -i 's|DriverType=.*|DriverType=QMYSQL|g' config/database.ini
 RUN sed -i 's|MultiProcessingModule=.*|MultiProcessingModule=thread|g' config/application.ini