Sign inSign up

noogadev/qt_static_linux64

By noogadev

Updated about 1 year ago

qt build environment for static assembling

Image
0

452

noogadev/qt_static_linux64 repository overview

How to use:

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

VERSIONS

6.2.4_v_0.1.1

assembled with packer instructions: (CLICKABLE)
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"
  }
}

5_14_v_0.9.1:

assembled with packer instructions: (CLICKABLE)
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/*"
    ]
  }
}

Tag summary

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