File debian.rules of Package qt6-5compat

#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
export DIR_WHERE_FIRST_CMAKELISTS_DOT_TEXT_IS=buildstartshere
# Get some information about the machine we are building on:
# ARCHITECTURE can have values such as x86_64 aarch64
export ARCHITECTURE=$(shell uname -m)
export numberOfProcessorsOnMachine=$(shell nproc)
export wantedJobs=$(shell echo "1.25*$(numberOfProcessorsOnMachine)" | bc -l)
export jobsIget=$(shell echo $(wantedJobs) | awk '{print int($$1+0.5)}')
export TOTAL_DISK=$(shell df -h --total | awk 'END{print $$2}')
export FREEMEM=$(shell free --mega)
export TOTAL_MEM=$(shell free --total --mega | xargs | awk '{print $$19"MB"}')
export TOTAL_RAM=$(shell free --total --mega | xargs | awk '{print $$8"MB"}')
export TOTAL_SWAP=$(shell free --total --mega | xargs | awk '{print $$15"MB"}')
export DISTRO=$(shell awk -F= '/^NAME/{print $2}' /etc/os-release | cut -d'=' -f2)
export DISTROVERSION=$(shell awk -F= '/^VERSION_ID/{print $2}' /etc/os-release)
export THISMONTH=$(shell LC_TIME='en_US.UTF-8' date +%B)
export THISYEAR=$(shell date +%Y)
# Add support for different Debian based distributions
export VERSION_CODENAME=$(shell cat /etc/os-release | grep VERSION_CODENAME | awk -F= '{print $$2}')
export VERSION_ID=$(shell cat /etc/os-release | grep VERSION_ID | awk -F= '{print $$2}')
export PRETTY_NAME="$(shell cat /etc/*-release | egrep "PRETTY_NAME" | cut -d = -f 2)"
# Variables
export executable=qt6-5compat
export pkgname=$(executable)
# format manpage_date=January 2024
export manpage_date="$(THISMONTH) $(THISYEAR)"
export _topdir=/usr/src/packages
export _builddir=$(_topdir)/BUILD
#export _builddir=/usr/src/packages/BUILD
export _sourcedir=$(_topdir)/SOURCES
#export _sourcedir=/usr/src/packages/SOURCES
export _uploaddir=/usr/src/packages/SOURCES
export srcdir=/usr/src/packages/SOURCES
export pkgdir_head=$(_builddir)/debian
#export pkgdir_head=/usr/src/packages/BUILD/debian
export pkgdir=$(pkgdir_head)/$(pkgname)
#export pkgdir=$(pkgdir_head)/tmp
#export pkgdir=/usr/src/packages/BUILD/debian/tmp
#export buildroot=/usr/src/packages/BUILD/debian/tmp
#export buildroot=$(_builddir)/debian/$(pkgname)
export buildroot=$(_builddir)/debian/$(pkgname)
#export buildroot=$(pkgdir)
#export pkgver=6.9.1
export pkgver="$(shell grep Version $(_uploaddir)/$(pkgname).dsc | head -n 1 | awk '{print $$2}' | cut -d- -f1)"
#export install_prefix=$$HOME/Qt$(pkgver)
export install_prefix=$(pkgdir)/opt/Qt$(pkgver)
#export _installToDir=$(pkgdir)
#export _installToDir=/usr/src/packages/BUILD/debian/tmp
#export _installToDir=$(_builddir)/$(install_prefix)
export _installToDir=$(install_prefix)
ifeq ($(findstring Raspbian,$(PRETTY_NAME)),Raspbian)
    # Found
    export PLATFORM=Raspbian
    export BUILDDIR=obj-arm-linux-gnueabihf
    export LIBDIR=lib/arm-linux-gnueabihf
else
    # Not found
    export PLATFORM=DebianOrUbuntu
    export BUILDDIR=obj-x86_64-linux-gnu
    ifeq ($(findstring aarch64,$(ARCHITECTURE)),aarch64)
        export LIBDIR=lib/aarch64-linux-gnu
    else
        export LIBDIR=lib/x86_64-linux-gnu
    endif
endif
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND =
# To build qdoc and Qt documentation in future you should set
# LLVM_INSTALL_DIR environment variable pointing to directory
# where LLVM is installed:
# find / -name libLLVM* 2>/dev/null
# export LLVM_INSTALL_DIR=/usr/llvm
export LLVM_INSTALL_DIR=/usr/$(LIBDIR)

%:
	dh $@

# submodule 'qtbase'
# submodule 'qtimageformats'
# submodule 'qtlanguageserver'
# submodule 'qtshadertools'
# submodule 'qtsvg'
# submodule 'qtdeclarative'
# submodule 'qtquicktimeline'
# submodule 'qtquick3d'
# submodule 'qtmultimedia'
# submodule 'qt3d'
# submodule 'qt5compat'
# submodule 'qtactiveqt'
# submodule 'qtcharts'
# submodule 'qtcoap'
# submodule 'qtconnectivity'
# submodule 'qtdatavis3d'
# submodule 'qtgraphs'
# submodule 'qtwebsockets'
# submodule 'qthttpserver'
# submodule 'qtserialport'
# submodule 'qtpositioning'
# submodule 'qtlocation'
# submodule 'qttools'
# submodule 'qtwebchannel'
# submodule 'qtwebengine'
# submodule 'qtdoc'
# submodule 'qtgrpc'
# submodule 'qtlottie'
# submodule 'qtmqtt'
# submodule 'qtnetworkauth'
# submodule 'qtopcua'
# submodule 'qtquick3dphysics'
# submodule 'qtquickeffectmaker'
# submodule 'qtremoteobjects'
# submodule 'qtscxml'
# submodule 'qtsensors'
# submodule 'qtserialbus'
# submodule 'qtspeech'
# submodule 'qttranslations'
# submodule 'qtvirtualkeyboard'
# submodule 'qtwayland'
# submodule 'qtwebview'

override_dh_auto_configure:
	# Get some information about the machine we are building on:
	echo "--- Machine data we are building on ---"
	echo "Total disk: $$TOTAL_DISK"
	echo "Output of free -h:"
	echo "$$FREEMEM"
	echo "Total memory: $$TOTAL_MEM"
	echo "Total RAM: $$TOTAL_RAM"
	echo "Total SWAP: $$TOTAL_SWAP"
	echo "numberOfProcessorsOnMachine=$$numberOfProcessorsOnMachine"
	echo "wantedJobs=$$wantedJobs"
	echo "jobsIget=$$jobsIget"
	echo "--- End machine data we are building on ---"
	echo "--- List variables ---"
	echo "DH_VERBOSE=$(DH_VERBOSE)"
	echo "DISTRO_VERSION=$(DISTRO_VERSION)"
	echo "DISTRO=$(DISTRO)"
	echo "DISTROVERSION=$(DISTROVERSION)"
	echo "TOTAL_SWAP=$(TOTAL_SWAP)"
	echo "VERSION_CODENAME=$(VERSION_CODENAME)"
	echo "VERSION_ID=$(VERSION_ID)"
	echo "PRETTY_NAME=$(PRETTY_NAME)"
	echo "PLATFORM=$(PLATFORM)"
	echo "ARCHITECTURE=$(ARCHITECTURE)"
	echo "BUILDDIR=$(BUILDDIR)"
	echo "LIBDIR=$(LIBDIR)"
	echo "THISMONTH=$(THISMONTH)"
	echo "THISYEAR=$(THISYEAR)"
	echo "executable=$(executable)"
	echo "pkgname=$(pkgname)"
	echo "install_prefix=$(install_prefix)"
	echo "manpage_date=$(manpage_date)"
	echo "_topdir=$(_topdir)"
	echo "_builddir=$(_builddir)"
	echo "_sourcedir=$(_sourcedir)"
	echo "_uploaddir=$(_uploaddir)"
	echo "srcdir=$(srcdir)"
	echo "pkgdir_head=$(pkgdir_head)"
	echo "pkgdir=$(pkgdir)"
	echo "buildroot=$(buildroot)"
	echo "_installToDir=$(_installToDir)"
	echo "pkgver=$(pkgver)"
	echo "--- End list variables ---"
	mkdir build ; mkdir -p $(install_prefix)
	#export CFLAGS=$$(echo "$$CFLAGS -Wno-error -Wno-error=use-after-free -Wno-error=maybe-uninitialized -Wno-error=unused-parameter -Wno-error=return-type -Wno-error=implicit-function-declaration"); \
	#export CXXFLAGS=$$(echo "$$CXXFLAGS -Wno-error -Wno-error=use-after-free -Wno-error=maybe-uninitialized -Wno-error=unused-parameter -Wno-error=return-type -Wno-error=implicit-function-declaration"); \
	export CFLAGS=$$(echo "$$CFLAGS -Wno-error=array-bounds=1 -Wno-error=array-bounds=2"); \
	export CXXFLAGS=$$(echo "$$CXXFLAGS -Wno-error=array-bounds=1 -Wno-error=array-bounds=2"); \
	#cd build ; ../configure -prefix $(install_prefix) -optimized-qmake -opensource -nomake examples -nomake tests
	#cmake -B build -S $(_builddir) \
	cmake -B build -S $(_builddir) -G Ninja \
	  -DCMAKE_MESSAGE_LOG_LEVEL=STATUS
	#cd build ; ../configure -prefix $(install_prefix) -optimized-qmake -developer-build -opensource -nomake examples -nomake tests -xcb -xcb-xlib
	echo "Configuration should have completed here."

override_dh_auto_build:
	#make -C build -j$(jobsIget)
	export CFLAGS=$$(echo "$$CFLAGS -Wno-error=array-bounds=1 -Wno-error=array-bounds=2"); \
	echo setting CFLAGS=$$CFLAGS; \
	export CXXFLAGS=$$(echo "$$CXXFLAGS -Wno-error=array-bounds=1 -Wno-error=array-bounds=2"); \
	echo setting CXXFLAGS=$$CXXFLAGS; \
	cmake --build build --parallel $(jobsIget)
	#cmake --build build \
	#    -DCMAKE_C_FLAGS="-fpic -ffat-lto-objects -Wno-error -Wno-error=use-after-free -Wno-error=maybe-uninitialized -Wno-error=unused-parameter -Wno-error=return-type -Wno-error=implicit-function-declaration" \
	#    -DCMAKE_CXX_FLAGS="-fpic -ffat-lto-objects -fpermissive -Wno-error -Wno-error=use-after-free -Wno-error=maybe-uninitialized -Wno-error=unused-parameter -Wno-error=return-type -Wno-error=implicit-function-declaration" \
	#    -DCMAKE_BUILD_PARALLEL_LEVEL=$(jobsIget)
	echo "Build should have completed here."

override_dh_auto_install:
	mkdir -pv $(pkgdir)/opt
	#DESTDIR=$(_installToDir) make -C build install
	#cmake --install build
	DESTDIR="$(pkgdir)" cmake --install build
	#mv $(_installToDir) $(pkgdir)/opt/.
	#echo "--- Show what was installed ---"
	#find $(pkgdir) 2>/dev/null
	#echo "--- End show what was installed ---"
	echo
	echo "--- Show what will be packaged ---"
	find $(pkgdir) 2>/dev/null | sed "s|$(pkgdir)||g"
	echo "--- End show what will be packaged ---"
	echo
	echo "Install should have completed here."
openSUSE Build Service is sponsored by