946 lines
30 KiB
Plaintext
946 lines
30 KiB
Plaintext
# comment
|
|
FROM alpine:edge
|
|
|
|
WORKDIR /mnt
|
|
ENV MY_WORKDIR=/mnt
|
|
|
|
ARG MINGW=/mingw64
|
|
ENV MY_MINGW=${MINGW}
|
|
|
|
ARG MINGW_PREFIX=x86_64-w64-mingw32
|
|
ENV MY_MINGW_PREFIX=${MINGW_PREFIX}
|
|
|
|
ARG NUM_JOBS=2
|
|
ENV MY_NUM_JOBS=${NUM_JOBS}
|
|
|
|
ARG TOOLCHAIN_FILE_CMAKE=/cmake_toolchain.cmake
|
|
ENV MY_TOOLCHAIN_FILE_CMAKE=${TOOLCHAIN_FILE_CMAKE}
|
|
RUN echo -e \
|
|
"set(CMAKE_SYSTEM_NAME Windows)\n"\
|
|
"set(CMAKE_CXX_COMPILER ${MY_MINGW_PREFIX}-g++)\n"\
|
|
"set(CMAKE_C_COMPILER ${MY_MINGW_PREFIX}-gcc)\n"\
|
|
"set(CMAKE_FIND_ROOT_PATH ${MY_MINGW})\n"\
|
|
"set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\n"\
|
|
"set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\n"\
|
|
"set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\n"\
|
|
"set(CMAKE_Fortran_COMPILER ${MY_MINGW_PREFIX}-gfortran)\n"\
|
|
"set(CMAKE_INSTALL_PREFIX ${MY_MINGW})\n"\
|
|
"set(CMAKE_RC_COMPILER ${MY_MINGW_PREFIX}-windres)\n"\
|
|
> ${MY_TOOLCHAIN_FILE_CMAKE}
|
|
|
|
ARG TOOLCHAIN_FILE_MESON=/meson_cross_file.txt
|
|
ENV MY_TOOLCHAIN_FILE_MESON=${TOOLCHAIN_FILE_MESON}
|
|
RUN echo -e \
|
|
"[binaries]\n"\
|
|
"ar = '${MY_MINGW_PREFIX}-ar'\n"\
|
|
"c = '${MY_MINGW_PREFIX}-gcc'\n"\
|
|
"cpp = '${MY_MINGW_PREFIX}-g++'\n"\
|
|
"ld = '${MY_MINGW_PREFIX}-ld'\n"\
|
|
"objcopy = '${MY_MINGW_PREFIX}-objcopy'\n"\
|
|
"pkg-config = 'pkg-config'\n"\
|
|
"strip = '${MY_MINGW_PREFIX}-strip'\n"\
|
|
"windres = '${MY_MINGW_PREFIX}-windres'\n"\
|
|
"exe_wrapper = 'wine64'\n"\
|
|
"[properties]\n"\
|
|
"c_args = []\n"\
|
|
"c_link_args = []\n"\
|
|
"[host_machine]\n"\
|
|
"cpu = 'x86_64'\n"\
|
|
"cpu_family = 'x86_64'\n"\
|
|
"endian = 'little'\n"\
|
|
"system = 'windows'\n"\
|
|
> ${MY_TOOLCHAIN_FILE_MESON}
|
|
|
|
RUN apk add \
|
|
autoconf \
|
|
automake \
|
|
bash \
|
|
binutils \
|
|
bison \
|
|
bzip2 \
|
|
cmake \
|
|
flex \
|
|
g++ \
|
|
gcc \
|
|
gettext \
|
|
git \
|
|
gmp \
|
|
gmp-dev \
|
|
gperf \
|
|
gtkmm3-dev \
|
|
intltool \
|
|
libtool \
|
|
linux-headers \
|
|
make \
|
|
mpc1 \
|
|
mpc1-dev \
|
|
mpfr \
|
|
mpfr-dev \
|
|
ninja \
|
|
openssl \
|
|
p7zip \
|
|
patch \
|
|
perl \
|
|
py3-pip \
|
|
python3 \
|
|
ruby \
|
|
unzip \
|
|
wine \
|
|
wget \
|
|
xz \
|
|
zlib \
|
|
zlib-dev
|
|
|
|
SHELL [ "/bin/bash", "-c" ]
|
|
|
|
RUN set -ex \
|
|
\
|
|
&& mkdir -p \
|
|
${MY_MINGW}/bin \
|
|
${MY_MINGW}/include \
|
|
${MY_MINGW}/lib/pkgconfig \
|
|
${MY_MINGW}/lib64/pkgconfig
|
|
|
|
ENV LDFLAGS="-L${MY_MINGW}/lib -L${MY_MINGW}/lib64"
|
|
ENV PATH="${MY_MINGW}/bin:/usr/local/bin:${PATH}"
|
|
ENV PKG_CONFIG_PATH="${MY_MINGW}/lib/pkgconfig:${MY_MINGW}/lib64/pkgconfig"
|
|
|
|
ARG BINUTILS_VERSION=2.41
|
|
ENV MY_BINUTILS_VERSION=${BINUTILS_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://ftp.gnu.org/gnu/binutils/binutils-${MY_BINUTILS_VERSION}.tar.xz -O - | tar -xJ \
|
|
&& cd binutils-${MY_BINUTILS_VERSION} \
|
|
&& ./configure \
|
|
--disable-lto \
|
|
--disable-multilib \
|
|
--disable-nls \
|
|
--disable-plugins \
|
|
--disable-shared \
|
|
--disable-werror \
|
|
--enable-static \
|
|
--prefix=/usr/local \
|
|
--target=${MY_MINGW_PREFIX} \
|
|
--with-system-zlib \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r binutils-${MY_BINUTILS_VERSION}
|
|
|
|
ARG MINGW_VERSION=11.0.1
|
|
ENV MY_MINGW_VERSION=${MINGW_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/mingw-w64/mingw-w64/archive/refs/tags/v${MINGW_VERSION}.tar.gz -O - | tar -xz \
|
|
&& mkdir mingw-w64 \
|
|
&& cd mingw-w64 \
|
|
&& ../mingw-w64-${MY_MINGW_VERSION}/mingw-w64-headers/configure \
|
|
--enable-sdk=all \
|
|
--host=${MY_MINGW_PREFIX} \
|
|
--prefix=/usr/local/${MY_MINGW_PREFIX} \
|
|
&& make install
|
|
|
|
ARG GCC_VERSION=13.2.0
|
|
ENV MY_GCC_VERSION=${GCC_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://ftp.gnu.org/gnu/gcc/gcc-${MY_GCC_VERSION}/gcc-${MY_GCC_VERSION}.tar.xz -O - | tar -xJ \
|
|
&& mkdir gcc \
|
|
&& cd gcc \
|
|
&& ../gcc-${MY_GCC_VERSION}/configure \
|
|
--disable-libstdcxx-debug \
|
|
--disable-libstdcxx-pch \
|
|
--disable-lto \
|
|
--disable-multilib \
|
|
--disable-nls \
|
|
--disable-werror \
|
|
--enable-graphite \
|
|
--enable-languages=c,c++ \
|
|
--enable-libatomic \
|
|
--enable-libgomp \
|
|
--enable-shared \
|
|
--enable-static \
|
|
--enable-threads=posix \
|
|
--prefix=/usr/local \
|
|
--target=${MY_MINGW_PREFIX} \
|
|
--with-system-zlib \
|
|
&& make -j${MY_NUM_JOBS} all-gcc \
|
|
&& make install-gcc
|
|
|
|
RUN set -ex \
|
|
\
|
|
&& cd mingw-w64 \
|
|
&& ../mingw-w64-${MY_MINGW_VERSION}/mingw-w64-crt/configure \
|
|
--disable-lib32 \
|
|
--enable-lib64 \
|
|
--enable-wildcard \
|
|
--host=${MY_MINGW_PREFIX} \
|
|
--prefix=/usr/local/${MY_MINGW_PREFIX} \
|
|
&& (make || make || make || make) \
|
|
&& make install
|
|
|
|
RUN set -ex \
|
|
\
|
|
&& cd mingw-w64 \
|
|
&& ../mingw-w64-${MY_MINGW_VERSION}/mingw-w64-libraries/winpthreads/configure \
|
|
--enable-shared \
|
|
--enable-static \
|
|
--host=${MY_MINGW_PREFIX} \
|
|
--prefix=/usr/local/${MY_MINGW_PREFIX} \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install
|
|
|
|
RUN set -ex \
|
|
\
|
|
&& cd gcc \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install
|
|
|
|
RUN set -ex \
|
|
\
|
|
&& cp /usr/local/${MY_MINGW_PREFIX}/lib/*.dll ${MY_MINGW}/bin \
|
|
&& cp /usr/local/${MY_MINGW_PREFIX}/bin/*.dll ${MY_MINGW}/bin \
|
|
&& rm -r gcc gcc-${MY_GCC_VERSION} \
|
|
&& rm -r mingw-w64 mingw-w64-${MY_MINGW_VERSION}
|
|
|
|
ARG PKG_CONFIG_VERSION=0.29.2
|
|
ENV MY_PKG_CONFIG_VERSION=${PKG_CONFIG_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://pkg-config.freedesktop.org/releases/pkg-config-${MY_PKG_CONFIG_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd pkg-config-${MY_PKG_CONFIG_VERSION} \
|
|
&& ./configure \
|
|
--disable-nls \
|
|
--disable-shared \
|
|
--prefix=/usr/local \
|
|
--with-internal-glib \
|
|
--with-pc-path=${MINGW}/lib/pkgconfig \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r pkg-config-${MY_PKG_CONFIG_VERSION}
|
|
|
|
RUN python3 -m pip install --break-system-packages -U mako
|
|
RUN python3 -m pip install --break-system-packages -U meson
|
|
RUN python3 -m pip install --break-system-packages -U packaging
|
|
|
|
ARG ZLIB_VERSION=1.3
|
|
ENV MY_ZLIB_VERSION=${ZLIB_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://zlib.net/zlib-${MY_ZLIB_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd zlib-${MY_ZLIB_VERSION} \
|
|
&& mkdir build \
|
|
&& cd build \
|
|
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DBUILD_STATIC_LIBS=ON \
|
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW} \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r zlib-${MY_ZLIB_VERSION}
|
|
|
|
ARG OPENSSL_VERSION=3.2.0
|
|
ENV MY_OPENSSL_VERSION=${OPENSSL_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/openssl/openssl/releases/download/openssl-${MY_OPENSSL_VERSION}/openssl-${MY_OPENSSL_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd openssl-${MY_OPENSSL_VERSION} \
|
|
&& ./Configure \
|
|
--cross-compile-prefix=${MY_MINGW_PREFIX}- \
|
|
--prefix=${MY_MINGW} \
|
|
mingw64 \
|
|
no-apps \
|
|
no-docs \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r openssl-${MY_OPENSSL_VERSION}
|
|
|
|
ARG CURL_VERSION=8.5.0
|
|
ENV MY_CURL_VERSION=${CURL_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://curl.se/download/curl-${MY_CURL_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd curl-${MY_CURL_VERSION} \
|
|
&& mkdir build \
|
|
&& cd build \
|
|
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
|
-DBUILD_CURL_EXE=ON \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DBUILD_STATIC_LIBS=ON \
|
|
-DBUILD_TESTING=OFF \
|
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW} \
|
|
-DCURL_CA_BUNDLE=./cacert.pem \
|
|
-DCURL_CA_FALLBACK=ON \
|
|
-DCURL_DISABLE_LDAP=ON \
|
|
-DCURL_USE_LIBPSL=OFF \
|
|
-DCURL_USE_LIBSSH2=OFF \
|
|
-DCURL_USE_OPENSSL=ON \
|
|
-DCURL_ZLIB=ON \
|
|
-DENABLE_THREADED_RESOLVER=ON \
|
|
-DOPENSSL_USE_STATIC_LIBS=ON \
|
|
-DUSE_LIBIDN2=OFF \
|
|
-DUSE_WIN32_CRYPTO=OFF \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r curl-${MY_CURL_VERSION}
|
|
|
|
ARG LIBPCRE2_VERSION=10.43-RC1
|
|
ENV MY_LIBPCRE2_VERSION=${LIBPCRE2_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/PCRE2Project/pcre2/releases/download/pcre2-${MY_LIBPCRE2_VERSION}/pcre2-${MY_LIBPCRE2_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd pcre2-${MY_LIBPCRE2_VERSION} \
|
|
&& mkdir build \
|
|
&& cd build \
|
|
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DBUILD_STATIC_LIBS=ON \
|
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW} \
|
|
-DPCRE2_BUILD_PCRE2_16=ON \
|
|
-DPCRE2_SUPPORT_LIBBZ2=OFF \
|
|
-DPCRE2_SUPPORT_LIBEDIT=OFF \
|
|
-DPCRE2_SUPPORT_LIBZ=OFF \
|
|
-DPCRE2_SUPPORT_UNICODE=ON \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r pcre2-${MY_LIBPCRE2_VERSION}
|
|
|
|
ARG EXPAT_VERSION=2.5.0
|
|
ENV MY_EXPAT_VERSION=${EXPAT_VERSION}
|
|
ARG EXPAT_VERSION2=2_5_0
|
|
ENV MY_EXPAT_VERSION2=${EXPAT_VERSION2}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/libexpat/libexpat/releases/download/R_${MY_EXPAT_VERSION2}/expat-${MY_EXPAT_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd expat-${MY_EXPAT_VERSION} \
|
|
&& mkdir build \
|
|
&& cd build \
|
|
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DBUILD_STATIC_LIBS=ON \
|
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW} \
|
|
-DEXPAT_BUILD_DOCS=OFF \
|
|
-DEXPAT_BUILD_EXAMPLES=OFF \
|
|
-DEXPAT_BUILD_TESTS=OFF \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r expat-${MY_EXPAT_VERSION}
|
|
|
|
ARG LIBXML2_VERSION=2.12.4
|
|
ENV MY_LIBXML2_VERSION=${LIBXML2_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/GNOME/libxml2/archive/refs/tags/v${MY_LIBXML2_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd libxml2-${MY_LIBXML2_VERSION} \
|
|
&& mkdir build \
|
|
&& cd build \
|
|
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW} \
|
|
-DLIBXML2_WITH_ICONV=OFF \
|
|
-DLIBXML2_WITH_LZMA=OFF \
|
|
-DLIBXML2_WITH_PYTHON=OFF \
|
|
-DLIBXML2_WITH_TESTS=OFF \
|
|
-DLIBXML2_WITH_ZLIB=OFF \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r libxml2-${MY_LIBXML2_VERSION}
|
|
|
|
ARG FREETYPE2_VERSION=2.13.2
|
|
ENV MY_FREETYPE2_VERSION=${FREETYPE2_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://download.savannah.gnu.org/releases/freetype/freetype-${MY_FREETYPE2_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd freetype-${MY_FREETYPE2_VERSION} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r freetype-${MY_FREETYPE2_VERSION}
|
|
|
|
ARG FONTCONFIG_VERSION=2.15.0
|
|
ENV MY_FONTCONFIG_VERSION=${FONTCONFIG_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://gitlab.freedesktop.org/fontconfig/fontconfig/-/archive/${MY_FONTCONFIG_VERSION}/fontconfig-${MY_FONTCONFIG_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd fontconfig-${MY_FONTCONFIG_VERSION} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Ddoc=disabled \
|
|
-Dtests=disabled \
|
|
-Dtools=disabled \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r fontconfig-${MY_FONTCONFIG_VERSION}
|
|
|
|
ARG OPENAL_VERSION=1.23.1
|
|
ENV MY_OPENAL_VERSION=${OPENAL_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/kcat/openal-soft/archive/refs/tags/${MY_OPENAL_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd openal-soft-${MY_OPENAL_VERSION} \
|
|
&& mkdir _build \
|
|
&& cd _build \
|
|
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW} \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& mv ${MY_MINGW}/bin/OpenAL32.dll ${MY_MINGW}/bin/openal32.dll \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r openal-soft-${MY_OPENAL_VERSION}
|
|
|
|
ARG PIXMAN_VERSION=0.43.0
|
|
ENV MY_PIXMAN_VERSION=${PIXMAN_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://gitlab.freedesktop.org/pixman/pixman/-/archive/pixman-${MY_PIXMAN_VERSION}/pixman-pixman-${MY_PIXMAN_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd pixman-pixman-${MY_PIXMAN_VERSION} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Dtests=disabled \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r pixman-pixman-${MY_PIXMAN_VERSION}
|
|
|
|
ARG GLIB_VERSION=2.79.0
|
|
ENV MY_GLIB_VERSION=${GLIB_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://gitlab.gnome.org/GNOME/glib/-/archive/${MY_GLIB_VERSION}/glib-${MY_GLIB_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd glib-${MY_GLIB_VERSION} \
|
|
&& rmdir subprojects/gvdb \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Ddocumentation=false \
|
|
-Dforce_posix_threads=true \
|
|
-Dinstalled_tests=false \
|
|
-Dintrospection=disabled \
|
|
-Dman-pages=disabled \
|
|
-Dtests=false \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r glib-${MY_GLIB_VERSION}
|
|
|
|
RUN set -ex \
|
|
\
|
|
&& ln -sf /usr/bin/glib-compile-resources /mingw64/bin/ \
|
|
&& ln -sf /usr/bin/glib-compile-schemas /mingw64/bin/
|
|
|
|
ARG MESA_VERSION=23.3.3
|
|
ENV MY_MESA_VERSION=${MESA_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-${MY_MESA_VERSION}/mesa-mesa-${MY_MESA_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd mesa-mesa-${MY_MESA_VERSION} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Degl=enabled \
|
|
-Dgles1=enabled \
|
|
-Dgles2=enabled \
|
|
-Dopengl=true \
|
|
-Dshared-glapi=true \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r mesa-mesa-${MY_MESA_VERSION}
|
|
|
|
ARG CAIRO_VERSION=1.18.0
|
|
ENV MY_CAIRO_VERSION=${CAIRO_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://gitlab.freedesktop.org/cairo/cairo/-/archive/1.18.0/cairo-${MY_CAIRO_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd cairo-${MY_CAIRO_VERSION} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Ddwrite=enabled \
|
|
-Dfontconfig=enabled \
|
|
-Dfreetype=enabled \
|
|
-Dglib=enabled \
|
|
-Dgtk_doc=false \
|
|
-Dpng=enabled \
|
|
-Dquartz=disabled \
|
|
-Dtee=disabled \
|
|
-Dtests=disabled \
|
|
-Dxlib-xcb=disabled \
|
|
-Dxlib=disabled \
|
|
-Dzlib=enabled \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r cairo-${MY_CAIRO_VERSION}
|
|
|
|
ARG PANGO_VERSION=1.50.1
|
|
ENV MY_PANGO_VERSION=${PANGO_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://gitlab.gnome.org/GNOME/pango/-/archive/${MY_PANGO_VERSION}/pango-${MY_PANGO_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd pango-${MY_PANGO_VERSION} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Dcairo=enabled \
|
|
-Dfontconfig=enabled \
|
|
-Dfreetype=enabled \
|
|
-Dgtk_doc=false \
|
|
-Dharfbuzz:cairo=enabled \
|
|
-Dharfbuzz:directwrite=enabled \
|
|
-Dharfbuzz:freetype=enabled \
|
|
-Dharfbuzz:gdi=enabled \
|
|
-Dharfbuzz:glib=enabled \
|
|
-Dharfbuzz:gobject=enabled \
|
|
-Dharfbuzz:graphite2=disabled \
|
|
-Dharfbuzz:introspection=disabled \
|
|
-Dharfbuzz:tests=disabled \
|
|
-Dinstall-tests=false \
|
|
-Dxft=disabled \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r pango-${MY_PANGO_VERSION}
|
|
|
|
ARG ATK_VERSION=2.38.0
|
|
ENV MY_ATK_VERSION=${ATK_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://gitlab.gnome.org/GNOME/atk/-/archive/${MY_ATK_VERSION}/atk-${MY_ATK_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd atk-${MY_ATK_VERSION} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Ddocs=false \
|
|
-Dintrospection=false \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r atk-${MY_ATK_VERSION}
|
|
|
|
ARG LIBEPOXY_VERSION=1.5.10
|
|
ENV MY_LIBEPOXY_VERSION=${LIBEPOXY_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/anholt/libepoxy/archive/refs/tags/${MY_LIBEPOXY_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd libepoxy-${MY_LIBEPOXY_VERSION} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Ddocs=false \
|
|
-Dtests=false \
|
|
-Dx11=false \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r libepoxy-${MY_LIBEPOXY_VERSION}
|
|
|
|
ARG GDK_PIXBUF_VERSION=2.42.10
|
|
ENV MY_GDK_PIXBUF_VERSION=${GDK_PIXBUF_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/archive/${MY_GDK_PIXBUF_VERSION}/gdk-pixbuf-${MY_GDK_PIXBUF_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd gdk-pixbuf-${MY_GDK_PIXBUF_VERSION} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Dbuiltin_loaders=all \
|
|
-Ddocs=false \
|
|
-Dgtk_doc=false \
|
|
-Dinstalled_tests=false \
|
|
-Dintrospection=disabled \
|
|
-Dman=false \
|
|
-Dtests=false \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r gdk-pixbuf-${MY_GDK_PIXBUF_VERSION}
|
|
|
|
ARG GTK3_VERSION=3.24.40
|
|
ENV MY_GTK3_VERSION=${GTK3_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://gitlab.gnome.org/GNOME/gtk/-/archive/${MY_GTK3_VERSION}/gtk-${MY_GTK3_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd gtk-${MY_GTK3_VERSION} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Dbroadway_backend=false \
|
|
-Dbuiltin_immodules=all \
|
|
-Ddemos=false \
|
|
-Dexamples=false \
|
|
-Dgtk_doc=false \
|
|
-Dinstalled_tests=false \
|
|
-Dintrospection=false \
|
|
-Dman=false \
|
|
-Dquartz_backend=false \
|
|
-Dtests=false \
|
|
-Dwayland_backend=false \
|
|
-Dwin32_backend=true \
|
|
-Dx11_backend=false \
|
|
-Dxinerama=no \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r gtk-${MY_GTK3_VERSION}
|
|
|
|
ARG LIBSIGCPP_VERSION=2.12
|
|
ENV MY_LIBSIGCPP_VERSION=${LIBSIGCPP_VERSION}
|
|
ARG LIBSIGCPP_VERSION2=${LIBSIGCPP_VERSION}.1
|
|
ENV MY_LIBSIGCPP_VERSION2=${LIBSIGCPP_VERSION2}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q "https://download.gnome.org/sources/libsigc++/${MY_LIBSIGCPP_VERSION}/libsigc%2B%2B-${MY_LIBSIGCPP_VERSION2}.tar.xz" -O - | tar -xJ \
|
|
&& cd libsigc++-${MY_LIBSIGCPP_VERSION2} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Dbuild-documentation=false \
|
|
-Dbuild-examples=false \
|
|
-Dbuild-tests=false \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r libsigc++-${MY_LIBSIGCPP_VERSION2}
|
|
|
|
ARG GLIBMM_VERSION=2.66
|
|
ENV MY_GLIBMM_VERSION=${GLIBMM_VERSION}
|
|
ARG GLIBMM_VERSION2=${GLIBMM_VERSION}.6
|
|
ENV MY_GLIBMM_VERSION2=${GLIBMM_VERSION2}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://download.gnome.org/sources/glibmm/${MY_GLIBMM_VERSION}/glibmm-${MY_GLIBMM_VERSION2}.tar.xz -O - | tar -xJ \
|
|
&& cd glibmm-${MY_GLIBMM_VERSION2} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Dbuild-examples=false \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r glibmm-${MY_GLIBMM_VERSION2}
|
|
|
|
ARG CAIROMM_VERSION=1.14.5
|
|
ENV MY_CAIROMM_VERSION=${CAIROMM_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://www.cairographics.org/releases/cairomm-${MY_CAIROMM_VERSION}.tar.xz -O - | tar -xJ \
|
|
&& cd cairomm-${MY_CAIROMM_VERSION} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Dbuild-documentation=false \
|
|
-Dbuild-examples=false \
|
|
-Dbuild-tests=false \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r cairomm-${MY_CAIROMM_VERSION}
|
|
|
|
ARG PANGOMM_VERSION=2.46
|
|
ENV MY_PANGOMM_VERSION=${PANGOMM_VERSION}
|
|
ARG PANGOMM_VERSION2=${PANGOMM_VERSION}.3
|
|
ENV MY_PANGOMM_VERSION2=${PANGOMM_VERSION2}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://download.gnome.org/sources/pangomm/${MY_PANGOMM_VERSION}/pangomm-${MY_PANGOMM_VERSION2}.tar.xz -O - | tar -xJ \
|
|
&& cd pangomm-${MY_PANGOMM_VERSION2} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Dbuild-documentation=false \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r pangomm-${MY_PANGOMM_VERSION2}
|
|
|
|
ARG ATKMM_VERSION=2.28
|
|
ENV MY_ATKMM_VERSION=${ATKMM_VERSION}
|
|
ARG ATKMM_VERSION2=${ATKMM_VERSION}.1
|
|
ENV MY_ATKMM_VERSION2=${ATKMM_VERSION2}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://download.gnome.org/sources/atkmm/${MY_ATKMM_VERSION}/atkmm-${MY_ATKMM_VERSION2}.tar.xz -O - | tar -xJ \
|
|
&& cd atkmm-${MY_ATKMM_VERSION2} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Dbuild-documentation=false \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r atkmm-${MY_ATKMM_VERSION2}
|
|
|
|
ARG GTKMM_VERSION=3.24
|
|
ENV MY_GTKMM_VERSION=${GTKMM_VERSION}
|
|
ARG GTKMM_VERSION2=${GTKMM_VERSION}.8
|
|
ENV MY_GTKMM_VERSION2=${GTKMM_VERSION2}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://download.gnome.org/sources/gtkmm/${MY_GTKMM_VERSION}/gtkmm-${MY_GTKMM_VERSION2}.tar.xz -O - | tar -xJ \
|
|
&& cd gtkmm-${MY_GTKMM_VERSION2} \
|
|
&& meson setup \
|
|
--cross-file ${MY_TOOLCHAIN_FILE_MESON} \
|
|
--prefix=${MY_MINGW} \
|
|
-Dbuild-demos=false \
|
|
-Dbuild-documentation=false \
|
|
-Dbuild-tests=false \
|
|
_build \
|
|
&& meson compile \
|
|
-C _build \
|
|
&& meson install \
|
|
-C _build \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r gtkmm-${MY_GTKMM_VERSION2}
|
|
|
|
ARG FMT_VERSION=10.2.1
|
|
ENV MY_FMT_VERSION=${FMT_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/fmtlib/fmt/archive/refs/tags/${MY_FMT_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd fmt-${MY_FMT_VERSION} \
|
|
&& mkdir build \
|
|
&& cd build \
|
|
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW} \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DBUILD_STATIC_LIBS=ON \
|
|
-DFMT_DOC=OFF \
|
|
-DFMT_TEST=OFF \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r fmt-${MY_FMT_VERSION}
|
|
|
|
ARG SPDLOG_VERSION=1.13.0
|
|
ENV MY_SPDLOG_VERSION=${SPDLOG_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/gabime/spdlog/archive/refs/tags/v${MY_SPDLOG_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd spdlog-${MY_SPDLOG_VERSION} \
|
|
&& mkdir build \
|
|
&& cd build \
|
|
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW} \
|
|
-DSPDLOG_BUILD_EXAMPLE=OFF \
|
|
-DSPDLOG_BUILD_SHARED=ON \
|
|
-DSPDLOG_BUILD_STATIC=ON \
|
|
-DSPDLOG_BUILD_TESTS=OFF \
|
|
-DSPDLOG_FMT_EXTERNAL=ON \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r spdlog-${MY_SPDLOG_VERSION}
|
|
|
|
ARG OGG_VERSION=1.3.5
|
|
ENV MY_OGG_VERSION=${OGG_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/xiph/ogg/archive/refs/tags/v${MY_OGG_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd ogg-${MY_OGG_VERSION} \
|
|
&& mkdir build \
|
|
&& cd build \
|
|
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DBUILD_STATIC_LIBS=ON \
|
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW} \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r ogg-${MY_OGG_VERSION}
|
|
|
|
ARG VORBIS_VERSION=1.3.7
|
|
ENV MY_VORBIS_VERSION=${VORBIS_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/xiph/vorbis/archive/refs/tags/v${MY_VORBIS_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd vorbis-${MY_VORBIS_VERSION} \
|
|
&& mkdir build \
|
|
&& cd build \
|
|
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
|
-DBUILD_SHARED_LIBS=OFF \
|
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW} \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r vorbis-${MY_VORBIS_VERSION}
|
|
|
|
ARG FLAC_VERSION=1.4.3
|
|
ENV MY_FLAC_VERSION=${FLAC_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/xiph/flac/archive/refs/tags/${MY_FLAC_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd flac-${MY_FLAC_VERSION} \
|
|
&& mkdir build \
|
|
&& cd build \
|
|
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DBUILD_STATIC_LIBS=ON \
|
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW} \
|
|
-DINSTALL_MANPAGES=OFF \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r flac-${MY_FLAC_VERSION}
|
|
|
|
ARG SFML_VERSION=2.6.1
|
|
ENV MY_SFML_VERSION=${SFML_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/SFML/SFML/archive/refs/tags/${MY_SFML_VERSION}.tar.gz -O - | tar -xz \
|
|
&& cd SFML-${MY_SFML_VERSION} \
|
|
&& sed -i s/set_target_properties\(\$\{target\}\ PROPERTIES\ PREFIX\ \"\"\)// \
|
|
cmake/Macros.cmake \
|
|
&& sed -i s/set_target_properties\(\$\{target\}\ PROPERTIES\ IMPORT_SUFFIX\ \"\.a\"\)// \
|
|
cmake/Macros.cmake \
|
|
&& mkdir build \
|
|
&& cd build \
|
|
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DBUILD_STATIC_LIBS=ON \
|
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW} \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r SFML-${MY_SFML_VERSION}
|
|
|
|
ARG LIBSODIUM_VERSION=1.0.19
|
|
ENV MY_LIBSODIUM_VERSION=${LIBSODIUM_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/jedisct1/libsodium/archive/refs/tags/${MY_LIBSODIUM_VERSION}-RELEASE.tar.gz -O - | tar -xz \
|
|
&& cd libsodium-${MY_LIBSODIUM_VERSION}-RELEASE \
|
|
&& CFLAGS="-Ofast -fomit-frame-pointer -m64 -mtune=westmere" ./configure \
|
|
--enable-shared \
|
|
--enable-static \
|
|
--host=${MY_MINGW_PREFIX} \
|
|
--prefix=${MY_MINGW} \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r libsodium-${MY_LIBSODIUM_VERSION}-RELEASE
|
|
|
|
ARG BOOST_MAJOR_VERSION=1
|
|
ENV MY_BOOST_MAJOR_VERSION=${BOOST_MAJOR_VERSION}
|
|
ARG BOOST_MINOR_VERSION=84
|
|
ENV MY_BOOST_MINOR_VERSION=${BOOST_MINOR_VERSION}
|
|
ARG BOOST_PATCH_VERSION=0
|
|
ENV MY_BOOST_PATCH_VERSION=${BOOST_PATCH_VERSION}
|
|
ENV MY_BOOST_VERSION=${MY_BOOST_MAJOR_VERSION}.${MY_BOOST_MINOR_VERSION}.${MY_BOOST_PATCH_VERSION}
|
|
ENV MY_BOOST_VERSION2=${MY_BOOST_MAJOR_VERSION}_${MY_BOOST_MINOR_VERSION}_${MY_BOOST_PATCH_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://boostorg.jfrog.io/artifactory/main/release/${MY_BOOST_VERSION}/source/boost_${MY_BOOST_VERSION2}.tar.gz -O - | tar -xz \
|
|
&& cd boost_${MY_BOOST_VERSION2} \
|
|
&& echo "using gcc : gcc : ${MY_MINGW_PREFIX}-g++ ;" \
|
|
>./user-config.jam \
|
|
&& ./bootstrap.sh \
|
|
--prefix=${MY_MINGW} \
|
|
--with-libraries=atomic,chrono,date_time,filesystem,random,regex,serialization,system,thread \
|
|
address-model=64 \
|
|
architecture=x86 \
|
|
link=static,shared \
|
|
target-os=windows \
|
|
threading=multi \
|
|
variant=release \
|
|
&& ./b2 \
|
|
--prefix=${MY_MINGW} \
|
|
--user-config=./user-config.jam \
|
|
address-model=64 \
|
|
architecture=x86 \
|
|
link=static,shared \
|
|
target-os=windows \
|
|
threading=multi \
|
|
variant=release \
|
|
install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r boost_${MY_BOOST_VERSION2}
|
|
|
|
ARG WXWIDGETS_VERSION=3.2.4
|
|
ENV MY_WXWIDGETS_VERSION=${WXWIDGETS_VERSION}
|
|
RUN set -ex \
|
|
\
|
|
&& wget -q https://github.com/wxWidgets/wxWidgets/releases/download/v${MY_WXWIDGETS_VERSION}/wxWidgets-${MY_WXWIDGETS_VERSION}.tar.bz2 -O - | tar -xj \
|
|
&& cd wxWidgets-${MY_WXWIDGETS_VERSION} \
|
|
&& mkdir _build \
|
|
&& cd _build \
|
|
&& cmake .. -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE_CMAKE} \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DBUILD_SHARED_LIBS=ON \
|
|
-DBUILD_STATIC_LIBS=ON \
|
|
-DCMAKE_INSTALL_PREFIX=${MY_MINGW} \
|
|
-DwxBUILD_MONOLITHIC=ON \
|
|
-DwxUSE_OPENGL=ON \
|
|
-DwxUSE_UNICODE_UTF8=ON \
|
|
&& make -j${MY_NUM_JOBS} \
|
|
&& make install \
|
|
&& cd ${MY_WORKDIR} \
|
|
&& rm -r wxWidgets-${MY_WXWIDGETS_VERSION}
|
|
|
|
RUN set -ex \
|
|
\
|
|
&& mv ${MY_MINGW}/lib/*.dll ${MY_MINGW}/bin \
|
|
&& chmod 0777 -R ${MY_MINGW}
|
|
|