Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New and working linux_static deployment dockerfile #1296

Open
pygrum opened this issue Jul 13, 2024 · 0 comments
Open

New and working linux_static deployment dockerfile #1296

pygrum opened this issue Jul 13, 2024 · 0 comments

Comments

@pygrum
Copy link

pygrum commented Jul 13, 2024

FROM ubuntu:16.04 as base

ENV USER=user
ENV HOME=/home/$USER
ENV GOPATH=$HOME/work
ENV PATH=/usr/local/go/bin:$PATH

RUN apt-get -qq update && apt-get --no-install-recommends -qq -y install ca-certificates curl git
RUN GO=go1.21.10.linux-amd64.tar.gz && curl -sL --retry 10 --retry-delay 60 -O https://dl.google.com/go/$GO && tar -xzf $GO -C /usr/local
RUN GO111MODULE=off /usr/local/go/bin/go get -tags=no_env github.com/therecipe/qt/cmd/...
RUN $GOPATH/bin/qtsetup prep

FROM therecipe/qt:linux_static_base as fcitx

ENV CMAKE_PREFIX_PATH=/opt/Qt/5.13.0/gcc_64/lib/cmake/Qt5/

RUN apt-get -qq update && apt-get --no-install-recommends -qq -y install build-essential libglib2.0-dev libglu1-mesa-dev \
	&& apt-get --no-install-recommends -qq -y install ca-certificates cmake git libxkbcommon-dev
RUN git clone -q --depth 1 https://github.com/fcitx/fcitx-qt5.git /fcitx-qt5
RUN FILE=/fcitx-qt5/qt5/platforminputcontext/CMakeLists.txt \
	&& echo "ADD_DEFINITIONS(-DQT_STATICPLUGIN)\n$(cat $FILE)" > $FILE \
	&& echo "find_package(Qt5 REQUIRED COMPONENTS Core Gui DBus)\n$(cat $FILE)" > $FILE \
	&& echo "$(head -n -5 $FILE)" > $FILE \
	&& sed -i -e 's/ MODULE / STATIC /g' $FILE
RUN cd /fcitx-qt5/qt5/platforminputcontext && cmake . &&  make -j $(grep -c ^processor /proc/cpuinfo)


FROM ubuntu:16.04
LABEL maintainer=therecipe

ENV USER=user
ENV HOME=/home/$USER
ENV GOPATH=$HOME/work
ENV PATH=/usr/local/go/bin:$PATH
ENV QT_API=5.13.0
ENV QT_DIR=/opt/Qt
ENV QT_DOCKER=true
ENV QT_STATIC=true
ENV GO111MODULE=off

COPY --from=base /usr/local/go /usr/local/go
COPY --from=base $GOPATH/bin $GOPATH/bin
COPY --from=base $GOPATH/src/github.com/therecipe/qt $GOPATH/src/github.com/therecipe/qt
COPY --from=therecipe/qt:linux_static_base /opt/Qt/5.13.0 /opt/Qt/5.13.0
COPY --from=fcitx /fcitx-qt5/qt5/platforminputcontext/libfcitxplatforminputcontextplugin.a /opt/Qt/5.13.0/gcc_64/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.a

RUN apt-get -qq update && apt-get --no-install-recommends -qq -y install build-essential libglib2.0-dev libglu1-mesa-dev libpulse-dev \
	&& apt-get --no-install-recommends -qq -y install fontconfig libasound2 libegl1-mesa libnss3 libpci3 libxcomposite1 libxcursor1 libxi6 libxrandr2 libxtst6 && apt-get -qq clean
RUN apt-get -qq update && apt-get --no-install-recommends -qq -y install libfontconfig1-dev libfreetype6-dev libxrender-dev libxkbcommon-dev && apt-get -qq clean

RUN $GOPATH/bin/qtsetup prep
RUN $GOPATH/bin/qtsetup check
RUN $GOPATH/bin/qtsetup generate
RUN cd $GOPATH/src/github.com/therecipe/qt/internal/examples/widgets/line_edits && $GOPATH/bin/qtdeploy build linux && rm -rf ./deploy

RUN apt-get -qq update && apt-get --no-install-recommends -qq -y install ca-certificates git pkg-config


#ENV PATH=$HOME/flutter/bin:$PATH
#
#RUN apt-get -qq update && apt-get --no-install-recommends -qq -y install curl unzip && apt-get -qq clean
#RUN git clone -q --depth 1 -b stable https://github.com/flutter/flutter.git $HOME/flutter
#RUN flutter config --no-analytics && flutter precache --linux --no-android
@pygrum pygrum changed the title New linux_static deployment dockerfile New and working linux_static deployment dockerfile Jul 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant