File qt6.spec of Package qt6-6.9.0

%global __brp_check_rpaths %{nil}
%if 0%{?fedora_version}
%global debug_package %{nil}
%endif
%define executable qt6
%define pkgname %{executable}-desktop
%define install_prefix /opt/%{executable}
# Problem: executable cannot find its libraries
# Alternative one creates a launcher with LD_LIBRARY_PATH=%%{install_prefix}/lib64
# set 1 if true 0 if false
%define alternative_one 1
# Alternative one creates /etc/ld.so.conf.d/%%{pkgname}.conf
# containing %%{install_prefix}/lib64 which /sbin/ldconfig reads.
# This alternative loads %%{install_prefix}/lib64 first for ALL apps on system
# causing issues with libxml2.so.2 crashing other apps (emacs etc.)
# libxml2 has to be removed. Maybe other libraries cause similar problem.
# set 1 if true 0 if false
%define alternative_two 0
%define enable_post_quantum_crypto_engine 1
%define temporary_compilation_fix_opensuse 0
# Problem: nothing provides 'libopenh264.so.6()(64bit)' 
# needed by the to be installed %%{pkgname}-5.x.y
# Solution 1: do not install %%{pkgname}-5.x.y
# Solution 2: break %%{pkgname}-5.x.y by ignoring some of its dependencies
# set 1 if true 0 if false
%define enable_openh264 0
# Problem: %%{install_prefix}/bin/%%{executable}: error while loading shared libraries:
# libQt5Keychain.so.1: cannot open shared object file: No such file or directory
# even though it exists in %%{install_prefix}/lib64/
# set 1 if true 0 if false
%define enable_qt_keychain 1
# openSUSE Tumbleweed has libvpx8 instead of libvpx7.
# libvpx7 has to be provided where missing.
# set 1 if true 0 if false
%define enable_vpx_opensuse 1
%define THISMONTHSHORT %(LC_TIME='en_US.UTF-8' date +%%b)
%define THISMONTHLONG %(LC_TIME='en_US.UTF-8' date +%%B)
%define THISYEAR %(date +%%Y)
%define DAYNUMBER %(LC_TIME='en_US.UTF-8' date +%%d)
%define DAYNAMESHORT %(LC_TIME='en_US.UTF-8' date +%%a)
#today format: Mon Jan 1 2024
%define today %{DAYNAMESHORT} %{THISMONTHSHORT} %{DAYNUMBER} %{THISYEAR}
#TODO: add manpage if missing
#manpage_date format: January 2024
%define manpage_date "%{THISMONTHLONG} %{THISYEAR}"
%define packager Kimi
%define packager_lowercase %(echo %{packager} | tr '[:upper:]' '[:lower:]')
%define packagerEmail noreply@nodomain.org
%define numberOfProcessorsOnMachine %(nproc)
%define wantedJobs %(echo "1.1*%{numberOfProcessorsOnMachine}" | bc -l)
%define jobsIget %(echo %{wantedJobs} | awk '{print int(\$1+0.5)}')
Name:           qt6
Version:        6.9.0
Release:        0
Summary:        qt6
License:        GPL-3.0-or-later
Group:          Development/Libraries/C and C++
URL:            https://qt.org
Source:         qt-everywhere-src-%{version}.tar.xz
#AutoReq:        no
#AutoProv:       no
#AutoReqProv:    no
BuildRequires:  bc
BuildRequires:  git
BuildRequires:  chrpath
BuildRequires:  fdupes
BuildRequires:  ccache
BuildRequires:  gcc
BuildRequires:  gcc-c++
BuildRequires:  glibc-devel
BuildRequires:  libvpx-devel
BuildRequires:  hicolor-icon-theme
BuildRequires:  libv4l-devel
BuildRequires:  glew-devel
BuildRequires:  libxcb-devel
BuildRequires:  gdb
BuildRequires:  dbus-1-devel
BuildRequires:  systemd-devel
BuildRequires:  libzstd-devel
BuildRequires:  glib2-devel
BuildRequires:  icu.691-devel
BuildRequires:  syslog-ng-devel
BuildRequires:  pcre2-devel
BuildRequires:  libproxy-devel
BuildRequires:  lksctp-tools-devel
BuildRequires:  cyrus-sasl-gssapi
BuildRequires:  freetype-devel
BuildRequires:  harfbuzz-devel
BuildRequires:  libjpeg62-devel
BuildRequires:  fontconfig-devel
BuildRequires:  libpng16-devel
BuildRequires:  libglfw-devel
BuildRequires:  glfw2-devel
BuildRequires:  glslang-devel
#BuildRequires:  libglpng-devel
BuildRequires:  Mesa-libVulkan-devel
BuildRequires:  libinput-devel
BuildRequires:  libhidapi-devel
BuildRequires:  mtdev-devel
BuildRequires:  tslib-devel
BuildRequires:  libxkbcommon-devel
BuildRequires:  libxkbcommon-x11-devel
BuildRequires:  gdk-pixbuf-xlib-devel
BuildRequires:  xcb-util-devel
BuildRequires:  Mesa-libEGL-devel
#BuildRequires:  DirectFB-devel
BuildRequires:  cups-devel
BuildRequires:  libjasper-devel
BuildRequires:  libmng-devel
BuildRequires:  libtiff-devel
BuildRequires:  libwebp-devel
BuildRequires:  SDL2-devel
BuildRequires:  libglfw3-wayland
BuildRequires:  libnvidia-egl-wayland-devel
BuildRequires:  wayland-devel
BuildRequires:  xwayland-devel
BuildRequires:  bluez-devel
BuildRequires:  gstreamer-devel
BuildRequires:  openal-soft-devel
BuildRequires:  libpulse-devel
BuildRequires:  libasound2
BuildRequires:  espeak-devel
BuildRequires:  espeak-ng
BuildRequires:  libespeak-ng1
BuildRequires:  libspeechd-devel
BuildRequires:  speech-dispatcher-module-espeak
BuildRequires:  speech-dispatcher
BuildRequires:  mozilla-nss-devel
BuildRequires:  libwebpmux2
BuildRequires:  libwebpdemux2
BuildRequires:  libopus-devel
BuildRequires:  ffmpeg-4-libavcodec-devel
BuildRequires:  ffmpeg-4-libavdevice-devel
BuildRequires:  ffmpeg-4-libavfilter-devel
BuildRequires:  ffmpeg-4-libavformat-devel
BuildRequires:  ffmpeg-4-libavresample-devel
BuildRequires:  ffmpeg-4-libavutil-devel
BuildRequires:  ffmpeg-4-libpostproc-devel
BuildRequires:  ffmpeg-4-libswresample-devel
BuildRequires:  ffmpeg-4-libswscale-devel
BuildRequires:  ffmpeg-4-private-devel
BuildRequires:  libvpx-devel
BuildRequires:  snappy-devel
BuildRequires:  minizip-devel
BuildRequires:  libevent-devel
BuildRequires:  libxml2-devel
BuildRequires:  libxslt-devel
BuildRequires:  liblcms2-devel
BuildRequires:  clang-devel
BuildRequires:  libIccXML-devel
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(openssl)
%if 0%{?fedora_version}
#BuildRequires:  fedora-release-common # seems to create problem
BuildRequires:  generic-release-common
BuildRequires:  procps-ng
BuildRequires:  alsa-lib-devel
#BuildRequires:  openssl-devel
%endif
%if 0%{?suse_version}
BuildRequires:  openSUSE-release
BuildRequires:  procps
BuildRequires:  Mesa-libGLESv2-devel
BuildRequires:  alsa-devel
BuildRequires:  update-desktop-files
#BuildRequires:  libopenssl-1_1-devel
#BuildRequires:  libopenssl-3-devel
#BuildRequires:  libopenssl-devel
BuildRequires:  glu-devel
%endif
%if 0%{?suse_version} > 1600
# openSUSE Tumbleweed
BuildRequires:  python311
%endif
%if 0%{?suse_version} == 1600
# openSUSE Leap 16.0
BuildRequires:  python311
%endif
%if 0%{?sle_version} == 150500 || 0%{?sle_version} == 150600 || 0%{?sle_version} == 160000 && 0%{?is_opensuse}
# openSUSE Leap 15.5 15.6 16.0
BuildRequires:  python3
%endif
Provides:       %{pkgname} = %{version}-%{release}
#%%if 0%%{?sle_version} == 150500
# AppImage: linuxdeploy does not grab these packages:
#Requires:       libxml2-2
#Requires:       libz1
#Requires:       libjpeg62
#Requires:       libpulse0
#%%endif

%description
qt5

%package devel
Summary:        Header files for %{pkgname}
Group:          Development/Libraries/C and C++
#BuildArch:      noarch
Provides:       %{name}-devel = %{version}-%{release}

%description devel
Header files for for %{pkgname}.

%prep
%autosetup -n qt-everywhere-src-%{version}

%build
echo "--- Listing rpmbuild variables ---"
#find /usr/lib64 -name libQt5Quick.so* -exec bash -c "strings {} | grep Qt.*API" \;
echo %%_prefix=%{_prefix}
echo %%_exec_prefix=%{_exec_prefix}
echo %%_bindir=%{_bindir}
echo %%_sbindir=%{_sbindir}
echo %%_libexecdir=%{_libexecdir}
echo %%_datadir=%{_datadir}
echo %%_sysconfdir=%{_sysconfdir}
echo %%_sharedstatedir=%{_sharedstatedir}
echo %%_localstatedir=%{_localstatedir}
echo %%_libdir=%{_libdir}
echo %%_includedir=%{_includedir}
echo %%_oldincludedir==%{_oldincludedir}
echo %%_infodir=%{_infodir}
echo %%_mandir=%{_mandir}
echo %%buildroot=%{buildroot}
echo %%_topdir=%{_topdir}
echo %%_builddir=%{_builddir}
echo %%_rpmdir=%{_rpmdir}
echo %%_sourcedir=%{_sourcedir}
echo %%_specdir=%{_specdir}
echo %%_srcrpmdir=%{_srcrpmdir}
echo %%_%global __brp_check_rpaths %{nil}
%if 0%{?fedora_version}
%global debug_package %{nil}
%endif
%define executable qt6
%define pkgname %{executable}-desktop
%define install_prefix /opt/%{executable}
# Problem: executable cannot find its libraries
# Alternative one creates a launcher with LD_LIBRARY_PATH=%%{install_prefix}/lib64
# set 1 if true 0 if false
%define alternative_one 1
# Alternative one creates /etc/ld.so.conf.d/%%{pkgname}.conf
# containing %%{install_prefix}/lib64 which /sbin/ldconfig reads.
# This alternative loads %%{install_prefix}/lib64 first for ALL apps on system
# causing issues with libxml2.so.2 crashing other apps (emacs etc.)
# libxml2 has to be removed. Maybe other libraries cause similar problem.
# set 1 if true 0 if false
%define alternative_two 0
%define enable_post_quantum_crypto_engine 1
%define temporary_compilation_fix_opensuse 0
# Problem: nothing provides 'libopenh264.so.6()(64bit)' 
# needed by the to be installed %%{pkgname}-5.x.y
# Solution 1: do not install %%{pkgname}-5.x.y
# Solution 2: break %%{pkgname}-5.x.y by ignoring some of its dependencies
# set 1 if true 0 if false
%define enable_openh264 0
# Problem: %%{install_prefix}/bin/%%{executable}: error while loading shared libraries:
# libQt5Keychain.so.1: cannot open shared object file: No such file or directory
# even though it exists in %%{install_prefix}/lib64/
# set 1 if true 0 if false
%define enable_qt_keychain 1
# openSUSE Tumbleweed has libvpx8 instead of libvpx7.
# libvpx7 has to be provided where missing.
# set 1 if true 0 if false
%define enable_vpx_opensuse 1
%define THISMONTHSHORT %(LC_TIME='en_US.UTF-8' date +%%b)
%define THISMONTHLONG %(LC_TIME='en_US.UTF-8' date +%%B)
%define THISYEAR %(date +%%Y)
%define DAYNUMBER %(LC_TIME='en_US.UTF-8' date +%%d)
%define DAYNAMESHORT %(LC_TIME='en_US.UTF-8' date +%%a)
#today format: Mon Jan 1 2024
%define today %{DAYNAMESHORT} %{THISMONTHSHORT} %{DAYNUMBER} %{THISYEAR}
#TODO: add manpage if missing
#manpage_date format: January 2024
%define manpage_date "%{THISMONTHLONG} %{THISYEAR}"
%define packager Kimi
%define packager_lowercase %(echo %{packager} | tr '[:upper:]' '[:lower:]')
%define packagerEmail noreply@nodomain.org
%define numberOfProcessorsOnMachine %(nproc)
%define wantedJobs %(echo "1.1*%{numberOfProcessorsOnMachine}" | bc -l)
%define jobsIget %(echo %{wantedJobs} | awk '{print int(\$1+0.5)}')
Name:           qt6
Version:        6.8.2
Release:        0
Summary:        qt6
License:        GPL-3.0-or-later
Group:          Development/Libraries/C and C++
URL:            https://qt.org
Source:         qt-everywhere-src-%{version}.tar.xz
#AutoReq:        no
#AutoProv:       no
#AutoReqProv:    no
BuildRequires:  bc
BuildRequires:  git
BuildRequires:  chrpath
BuildRequires:  fdupes
BuildRequires:  ccache
BuildRequires:  gcc
BuildRequires:  gcc-c++
BuildRequires:  glibc-devel
BuildRequires:  libvpx-devel
BuildRequires:  hicolor-icon-theme
BuildRequires:  libv4l-devel
BuildRequires:  glew-devel
BuildRequires:  libxcb-devel
BuildRequires:  gdb
BuildRequires:  dbus-1-devel
BuildRequires:  systemd-devel
BuildRequires:  libzstd-devel
BuildRequires:  glib2-devel
BuildRequires:  icu.691-devel
BuildRequires:  syslog-ng-devel
BuildRequires:  pcre2-devel
BuildRequires:  libproxy-devel
BuildRequires:  lksctp-tools-devel
BuildRequires:  cyrus-sasl-gssapi
BuildRequires:  freetype-devel
BuildRequires:  harfbuzz-devel
BuildRequires:  libjpeg62-devel
BuildRequires:  fontconfig-devel
BuildRequires:  libpng16-devel
BuildRequires:  libglfw-devel
BuildRequires:  glfw2-devel
BuildRequires:  glslang-devel
#BuildRequires:  libglpng-devel
BuildRequires:  Mesa-libVulkan-devel
BuildRequires:  libinput-devel
BuildRequires:  libhidapi-devel
BuildRequires:  mtdev-devel
BuildRequires:  tslib-devel
BuildRequires:  libxkbcommon-devel
BuildRequires:  libxkbcommon-x11-devel
BuildRequires:  gdk-pixbuf-xlib-devel
BuildRequires:  xcb-util-devel
BuildRequires:  Mesa-libEGL-devel
#BuildRequires:  DirectFB-devel
BuildRequires:  cups-devel
BuildRequires:  libjasper-devel
BuildRequires:  libmng-devel
BuildRequires:  libtiff-devel
BuildRequires:  libwebp-devel
BuildRequires:  SDL2-devel
BuildRequires:  libglfw3-wayland
BuildRequires:  libnvidia-egl-wayland-devel
BuildRequires:  wayland-devel
BuildRequires:  xwayland-devel
BuildRequires:  bluez-devel
BuildRequires:  gstreamer-devel
BuildRequires:  openal-soft-devel
BuildRequires:  libpulse-devel
BuildRequires:  libasound2
BuildRequires:  espeak-devel
BuildRequires:  espeak-ng
BuildRequires:  libespeak-ng1
BuildRequires:  libspeechd-devel
BuildRequires:  speech-dispatcher-module-espeak
BuildRequires:  speech-dispatcher
BuildRequires:  mozilla-nss-devel
BuildRequires:  libwebpmux2
BuildRequires:  libwebpdemux2
BuildRequires:  libopus-devel
BuildRequires:  ffmpeg-4-libavcodec-devel
BuildRequires:  ffmpeg-4-libavdevice-devel
BuildRequires:  ffmpeg-4-libavfilter-devel
BuildRequires:  ffmpeg-4-libavformat-devel
BuildRequires:  ffmpeg-4-libavresample-devel
BuildRequires:  ffmpeg-4-libavutil-devel
BuildRequires:  ffmpeg-4-libpostproc-devel
BuildRequires:  ffmpeg-4-libswresample-devel
BuildRequires:  ffmpeg-4-libswscale-devel
BuildRequires:  ffmpeg-4-private-devel
BuildRequires:  libvpx-devel
BuildRequires:  snappy-devel
BuildRequires:  minizip-devel
BuildRequires:  libevent-devel
BuildRequires:  libxml2-devel
BuildRequires:  libxslt-devel
BuildRequires:  liblcms2-devel
BuildRequires:  clang-devel
BuildRequires:  libIccXML-devel
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(openssl)
%if 0%{?fedora_version}
#BuildRequires:  fedora-release-common # seems to create problem
BuildRequires:  generic-release-common
BuildRequires:  procps-ng
BuildRequires:  alsa-lib-devel
#BuildRequires:  openssl-devel
%endif
%if 0%{?suse_version}
BuildRequires:  openSUSE-release
BuildRequires:  procps
BuildRequires:  Mesa-libGLESv2-devel
BuildRequires:  alsa-devel
BuildRequires:  update-desktop-files
#BuildRequires:  libopenssl-1_1-devel
#BuildRequires:  libopenssl-3-devel
#BuildRequires:  libopenssl-devel
BuildRequires:  glu-devel
%endif
%if 0%{?suse_version} > 1600
# openSUSE Tumbleweed
BuildRequires:  python311
%endif
%if 0%{?suse_version} == 1600
# openSUSE Leap 16.0
BuildRequires:  python311
%endif
%if 0%{?sle_version} == 150500 || 0%{?sle_version} == 150600 || 0%{?sle_version} == 160000 && 0%{?is_opensuse}
# openSUSE Leap 15.5 15.6 16.0
BuildRequires:  python3
%endif
Provides:       %{pkgname} = %{version}-%{release}
#%%if 0%%{?sle_version} == 150500
# AppImage: linuxdeploy does not grab these packages:
#Requires:       libxml2-2
#Requires:       libz1
#Requires:       libjpeg62
#Requires:       libpulse0
#%%endif

%description
qt5

%package devel
Summary:        Header files for %{pkgname}
Group:          Development/Libraries/C and C++
#BuildArch:      noarch
Provides:       %{name}-devel = %{version}-%{release}

%description devel
Header files for for %{pkgname}.

%prep
%autosetup -n qt-everywhere-src-%{version}

%build
echo "--- Listing rpmbuild variables ---"
#find /usr/lib64 -name libQt5Quick.so* -exec bash -c "strings {} | grep Qt.*API" \;
echo %%_prefix=%{_prefix}
echo %%_exec_prefix=%{_exec_prefix}
echo %%_bindir=%{_bindir}
echo %%_sbindir=%{_sbindir}
echo %%_libexecdir=%{_libexecdir}
echo %%_datadir=%{_datadir}
echo %%_sysconfdir=%{_sysconfdir}
echo %%_sharedstatedir=%{_sharedstatedir}
echo %%_localstatedir=%{_localstatedir}
echo %%_libdir=%{_libdir}
echo %%_includedir=%{_includedir}
echo %%_oldincludedir==%{_oldincludedir}
echo %%_infodir=%{_infodir}
echo %%_mandir=%{_mandir}
echo %%buildroot=%{buildroot}
echo %%_topdir=%{_topdir}
echo %%_builddir=%{_builddir}
echo %%_rpmdir=%{_rpmdir}
echo %%_sourcedir=%{_sourcedir}
echo %%_specdir=%{_specdir}
echo %%_srcrpmdir=%{_srcrpmdir}
echo %%_buildrootdir=%{_buildrootdir}
echo %%sourcefile=%{sourcefile}
echo %%source_root_directory=%{source_root_directory}
echo "--- Ported variables ---"
echo %%{builddir}=%{builddir}
echo %%{_builddir}=%{_builddir}
echo %%{_srcdir}=%{_srcdir}
echo %%{sourcedir}=%{sourcedir}
echo %%{_sourcedir}=%{_sourcedir}
echo numberOfProcessorsOnMachine=%{numberOfProcessorsOnMachine}
echo wantedJobs=%{wantedJobs}
echo jobsIget=%{jobsIget}
echo 0%%{?fedora}=0%{?fedora}
echo 0%%{?fedora_version}=0%{?fedora_version}
echo 0%%{?rhel_version}=0%{?rhel_version}
echo 0%%{?centos_version}=0%{?centos_version}
echo 0%%{?openeuler_version}=0%{?openeuler_version}
echo 0%%{?sle_version}=0%{?sle_version} 
echo 0%%{?is_opensuse}=0%{?is_opensuse}
echo %%{dist}=%{dist}
echo "--- End ported variables ---"
TOP_DIR=$(pwd)
echo "TOP_DIR=$TOP_DIR"
ls -al
echo "Top level git version:"
echo "Current dir: $(pwd)"
export LLVM_INSTALL_DIR=/usr/lib64
#export CFLAGS=$(echo "$CFLAGS -Wno-error=maybe-uninitialized -Wno-error=unused-parameter -Wno-error=return-type -Wno-error=implicit-function-declaration")
#export CXXFLAGS=$(echo "$CXXFLAGS -Wno-error=maybe-uninitialized -Wno-error=unused-parameter -Wno-error=return-type -Wno-error=implicit-function-declaration")
install_prefix=$HOME/Qt%{version}
mkdir build ; mkdir -p $install_prefix
cd build
../configure -prefix $install_prefix -optimized-qmake -developer-build -opensource -nomake examples -nomake tests
echo "Configuration should have completed here."
make -j$(nproc)
echo "Build should have completed here."

%install
install_prefix=$HOME/Qt%{version}
echo HOME=$HOME
ls -al $HOME 2>/dev/null
echo %%{_sourcedir}=%{_sourcedir}
ls -al %{_sourcedir} 2>/dev/null
srcdir=%{_sourcedir}
pkgdir_head=%{buildroot}
pkgdir=%{buildroot}
#export QA_RPATHS=$(( 0x0001|0x0002 ))
DESTDIR=$install_prefix make -C build install
mkdir -pv $pkgdir/opt
mv $install_prefix $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."
echo "--- List files that will be packaged ---"
find %{buildroot} | sed "s|%{buildroot}||g"
echo "--- End list files that will be packaged ---"

# Also possible:
# /sbin/ldconfig %{install_prefix}/lib64
# if not using /etc/ld.so.conf.d/%{pkgname}.conf
%post -n %{name}
/sbin/ldconfig

%postun -n %{name}
/sbin/ldconfig

%files
#%%license LICENSE.txt
#%%doc CHANGELOG.md README.md
#%%exclude %%{install_prefix}/lib64/cmake
#%%exclude %{_libdir}
/opt

%files devel

%changelog
* %{today} %{packager} <%{packagerEmail}> - %{version}
- New build.buildrootdir=%{_buildrootdir}
echo %%sourcefile=%{sourcefile}
echo %%source_root_directory=%{source_root_directory}
echo "--- Ported variables ---"
echo %%{builddir}=%{builddir}
echo %%{_builddir}=%{_builddir}
echo %%{_srcdir}=%{_srcdir}
echo %%{sourcedir}=%{sourcedir}
echo %%{_sourcedir}=%{_sourcedir}
echo numberOfProcessorsOnMachine=%{numberOfProcessorsOnMachine}
echo wantedJobs=%{wantedJobs}
echo jobsIget=%{jobsIget}
echo 0%%{?fedora}=0%{?fedora}
echo 0%%{?fedora_version}=0%{?fedora_version}
echo 0%%{?rhel_version}=0%{?rhel_version}
echo 0%%{?centos_version}=0%{?centos_version}
echo 0%%{?openeuler_version}=0%{?openeuler_version}
echo 0%%{?sle_version}=0%{?sle_version} 
echo 0%%{?is_opensuse}=0%{?is_opensuse}
echo %%{dist}=%{dist}
echo "--- End ported variables ---"
TOP_DIR=$(pwd)
echo "TOP_DIR=$TOP_DIR"
ls -al
echo "Top level git version:"
echo "Current dir: $(pwd)"
export LLVM_INSTALL_DIR=/usr/lib64
#export CFLAGS=$(echo "$CFLAGS -Wno-error=maybe-uninitialized -Wno-error=unused-parameter -Wno-error=return-type -Wno-error=implicit-function-declaration")
#export CXXFLAGS=$(echo "$CXXFLAGS -Wno-error=maybe-uninitialized -Wno-error=unused-parameter -Wno-error=return-type -Wno-error=implicit-function-declaration")
install_prefix=$HOME/Qt%{version}
mkdir build ; mkdir -p $install_prefix
cd build
../configure -prefix $install_prefix -optimized-qmake -developer-build -opensource -nomake examples -nomake tests
echo "Configuration should have completed here."
make -j$(nproc)
echo "Build should have completed here."

%install
install_prefix=$HOME/Qt%{version}
echo HOME=$HOME
ls -al $HOME 2>/dev/null
echo %%{_sourcedir}=%{_sourcedir}
ls -al %{_sourcedir} 2>/dev/null
srcdir=%{_sourcedir}
pkgdir_head=%{buildroot}
pkgdir=%{buildroot}
#export QA_RPATHS=$(( 0x0001|0x0002 ))
DESTDIR=$install_prefix make -C build install
mkdir -pv $pkgdir/opt
mv $install_prefix $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."
echo "--- List files that will be packaged ---"
find %{buildroot} | sed "s|%{buildroot}||g"
echo "--- End list files that will be packaged ---"

# Also possible:
# /sbin/ldconfig %{install_prefix}/lib64
# if not using /etc/ld.so.conf.d/%{pkgname}.conf
%post -n %{name}
/sbin/ldconfig

%postun -n %{name}
/sbin/ldconfig

%files
#%%license LICENSE.txt
#%%doc CHANGELOG.md README.md
#%%exclude %%{install_prefix}/lib64/cmake
#%%exclude %{_libdir}
/opt

%files devel

%changelog
* %{today} %{packager} <%{packagerEmail}> - %{version}
- New build.
openSUSE Build Service is sponsored by