qt build environment for static assembling
452
docker run \
--rm -i \
-v $$(pwd):/passedDir --workdir /passedDir \
--user $$(id -u):$$(id -g) \
--entrypoint /usr/bin/make \
--device /dev/bus/usb:/dev/bus/usb \
noogadev/qt_static_linux64:5_14_v_0.9.1 build NPROC=8
NPROC?=5
PWD=$(shell pwd)
BUILD_DIR=${PWD}/build_linux64
.PHONY: build
build:
mkdir -p ${BUILD_DIR}
cd ${BUILD_DIR} && \
qmake -config release .. && \
make -j ${NPROC} TARGET=exhaust_exe_file_name
packer {
required_version = ">= 1.6.5"
}
source "docker" "main" {
image = "ubuntu:22.04"
commit = true
exec_user = "root"
changes = [
"ENTRYPOINT [\"\"]",
"CMD [\"/bin/bash\"]",
"ENV PATH=${var.qt_install_path}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
]
}
build {
sources = ["source.docker.main"]
provisioner "shell" {
inline = [
"echo 'deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted' >> /etc/apt/sources.list",
"apt-get update",
"apt-get install -y apt-utils",
"apt-get install -y make cmake build-essential libclang-dev ninja-build gcc git bison python3 gperf pkg-config libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util-dev libxcb-xinerama0-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libatspi2.0-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev libfontconfig-dev",
"apt-get install -y xxd binutils-arm-none-eabi python3-pip sudo",
"apt-get clean",
"pip install cogapp",
]
}
provisioner "shell" {
inline = [
"export LLVM_INSTALL_DIR=/usr/llvm",
"mkdir -p /home/user && cd /home/user",
"git clone git://git.openssl.org/openssl.git",
"mkdir -p openssl/build",
"cd openssl",
"git checkout OpenSSL_1_1_1t",
"cd build",
"../config -fPIC -static",
"make -j${var.n_proc}",
"make install",
"cd /home/user/ && rm -rf openssl"
]
}
provisioner "shell" {
inline = [
"mkdir -p ${var.qt_install_path}",
"cd /home/user",
"git clone git://code.qt.io/qt/qt5.git qt6",
"cd qt6 && git switch 6.2.4",
"./init-repository --module-subset=qtbase",
"mkdir -p build && cd build",
"../configure -release -static -openssl -prefix ${var.qt_install_path} -DOPENSSL_USE_STATIC_LIBS=ON -openssl-linked -qt-zlib -qt-libjpeg -qt-libpng -system-freetype -fontconfig -qt-pcre -qt-harfbuzz -nomake tests -nomake examples -nomake tools -skip qtremoteobjects -skip qtdoc -skip qtcharts -skip qt3d -skip qtquick3d -skip qtsensors -skip qtwayland -skip qtwebview -skip qtwebengine -skip qtmqtt -skip qtopcua -skip qtscxml -skip qtvirtualkeyboard -skip qtshadertools -skip qtmultimedia -skip qtquicktimeline -skip qtlottie -skip qtcoap -skip qtdatavis3d -skip qtpositioning -skip qtsvg -skip qtserialbus -skip qtserialport -opensource -confirm-license 2>&1 | tee ${var.qt_install_path}/Qt_config.log"
]
}
provisioner "shell" {
inline = [
"cd /home/user/qt6/build/",
"cmake --build . --parallel ${var.n_proc}",
]
}
provisioner "shell" {
inline = [
"cd /home/user/qt6/build/",
"cmake --install ."
]
}
provisioner "shell" {
inline = [
"rm -rf /home/user/qt6",
"rm -rf /var/lib/apt/lists/*"
]
}
provisioner "file"{
source = "files/aksusbd_8.15-1_amd64.deb"
destination = "/tmp/aksusbd_8.15-1_amd64.deb"
}
}
packer {
required_version = ">= 1.6.5"
}
source "docker" "main" {
image = "ubuntu:bionic-20210512"
commit = true
exec_user = "root"
changes = [
"ENTRYPOINT [\"\"]",
"CMD [\"/bin/bash\"]",
"ENV PATH=/home/user/qt514static/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
]
}
build {
sources = ["source.docker.main"]
provisioner "shell" {
inline = [
"echo 'deb-src http://archive.ubuntu.com/ubuntu/ bionic main restricted' >> /etc/apt/sources.list",
"apt-get update",
"apt-get install -y apt-utils",
"apt-get install -y git build-essential perl python '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxcb-xinerama0-dev flex bison gperf libicu-dev libxslt-dev ruby libclang-6.0-dev llvm-6.0",
"apt-get install -y xxd binutils-arm-none-eabi python-pip openssl sudo",
"apt-get build-dep -y qt5-default",
"apt-get clean",
"pip install cogapp",
"export LLVM_INSTALL_DIR=/usr/llvm",
"mkdir -p /home/user && cd /home/user",
"git clone git://code.qt.io/qt/qt5.git",
"cd qt5 && git checkout 5.14",
"./init-repository --module-subset=default,-qtwebengine",
"mkdir -p static/install && cd static",
"../configure -static -prefix /home/user/qt5/static/install -skip webengine -nomake tests -nomake examples -nomake tools -opensource -confirm-license -qt-xcb"
]
}
provisioner "shell" {
inline = [
"cd /home/user/qt5/static/",
"make -j${var.n_proc}",
]
valid_exit_codes = [0, 2]
inline_shebang = "/bin/sh +e"
}
provisioner "shell" {
inline = [
"cd /home/user/qt5/static/",
"make install -j${var.n_proc}"
]
valid_exit_codes = [0, 2]
inline_shebang = "/bin/sh +e"
}
provisioner "shell" {
inline = [
"mv /home/user/qt5/static/install /home/user/qt514static",
"rm -rf /home/user/qt5",
"rm -rf /var/lib/apt/lists/*"
]
}
}
Content type
Image
Digest
sha256:96e20d2e5…
Size
795.2 MB
Last updated
about 1 year ago
docker pull noogadev/qt_static_linux64:ub_24.04_qt_6.8.3_v_0.5.0