miqt/docker/genbindings.Dockerfile
2025-01-30 20:38:41 -08:00

61 lines
2.0 KiB
Docker

FROM debian:bookworm
ENV QT6_VERSION=6.2.4
ENV QT5_VERSION=5.15.2
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
apt-get install --no-install-recommends -qyy \
python3 \
python3-pip \
python3.11-venv \
golang-go \
libqscintilla2-qt6-dev \
clang \
git \
ca-certificates \
pkg-config \
build-essential && \
apt-get clean
RUN python3 -m venv /opt/virtualenvironment
ENV PATH="/opt/virtualenvironment/bin:$PATH"
RUN python3 -m pip install aqtinstall
RUN aqt install-qt linux desktop $QT5_VERSION gcc_64 --outputdir /opt/Qt
ENV PATH=/opt/Qt/$QT5_VERSION/gcc_64/bin:$PATH
ENV LD_LIBRARY_PATH=/opt/Qt/$QT5_VERSION/gcc_64/lib
ENV QT_PLUGIN_PATH=/opt/Qt/$QT5_VERSION/gcc_64/plugins
ENV QTDIR=/opt/Qt/$QT5_VERSION/gcc_64
ENV PKG_CONFIG_PATH=/opt/Qt/$QT5_VERSION/gcc_64/lib/pkgconfig:$PKG_CONFIG_PATH
RUN aqt install-qt linux desktop $QT6_VERSION gcc_64 --outputdir /opt/Qt
ENV PATH=/opt/Qt/$QT6_VERSION/gcc_64/bin:$PATH
ENV LD_LIBRARY_PATH=/opt/Qt/$QT6_VERSION/gcc_64/lib
ENV QT_PLUGIN_PATH=/opt/Qt/$QT6_VERSION/gcc_64/plugins
ENV QTDIR=/opt/Qt/$QT6_VERSION/gcc_64
ENV PKG_CONFIG_PATH=/opt/Qt/$QT6_VERSION/gcc_64/lib/pkgconfig:$PKG_CONFIG_PATH
RUN mkdir -p /usr/local/src/scintilla && \
git clone 'https://github.com/mirror/scintilla.git' /usr/local/src/scintilla && \
git -C /usr/local/src/scintilla checkout rel-5-5-2
RUN \
cd /usr/local/src/scintilla/qt/ScintillaEditBase && \
qmake && \
make && \
cd /usr/local/src/scintilla/qt/ScintillaEdit && \
python3 WidgetGen.py && \
qmake && \
make
RUN mkdir -p /usr/local/lib/pkgconfig
COPY pkg-config/QScintilla.pc.example /opt/Qt/$QT5_VERSION/gcc_64/lib/pkgconfig/QScintilla.pc
COPY pkg-config/ScintillaEdit.pc.example /opt/Qt/$QT5_VERSION/gcc_64/lib/pkgconfig/ScintillaEdit.pc
COPY pkg-config/QScintilla.pc.example /opt/Qt/$QT6_VERSION/gcc_64/lib/pkgconfig/QScintilla.pc
COPY pkg-config/ScintillaEdit.pc.example /opt/Qt/$QT6_VERSION/gcc_64/lib/pkgconfig/ScintillaEdit.pc
ENV GOFLAGS=-buildvcs=false