[packages/qt5-qtbase] - prevent qt5-build/mc from polluting CXXFLAGS, rel 2

baggins baggins at pld-linux.org
Sun Dec 22 17:49:48 CET 2024


commit 272dd519da0970a1ac8e4e381d174c0ad9c793ad
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sun Dec 22 18:18:47 2024 +0100

    - prevent qt5-build/mc from polluting CXXFLAGS, rel 2
    
    Qt5 force-setting -stdc=??++11 breaks anyting that needs boost,
    because boost needs c++14.

 no-stdc-pollution.patch | 116 ++++++++++++++++++++++++++++++++++++++++++++++++
 qt5-qtbase.spec         |  24 +++++-----
 2 files changed, 129 insertions(+), 11 deletions(-)
---
diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec
index dc146fe..f7c76e7 100644
--- a/qt5-qtbase.spec
+++ b/qt5-qtbase.spec
@@ -71,7 +71,7 @@ Summary:	Qt5 - base components
 Summary(pl.UTF-8):	Biblioteka Qt5 - podstawowe komponenty
 Name:		qt5-%{orgname}
 Version:	5.15.16
-Release:	1
+Release:	2
 License:	LGPL v3 or GPL v2 or GPL v3 or commercial
 Group:		X11/Libraries
 Source0:	https://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-opensource-src-%{version}.tar.xz
@@ -81,8 +81,9 @@ Source1:	https://download.qt.io/official_releases/qt/5.15/%{version}/submodules/
 Patch0:		%{name}-system_cacerts.patch
 Patch1:		parallel-install.patch
 Patch2:		egl-x11.patch
-Patch4:		CVE-2024-39936-qtbase-5.15.patch
-Patch10:	CVE-2023-51714.patch
+Patch3:		CVE-2024-39936-qtbase-5.15.patch
+Patch4:		CVE-2023-51714.patch
+Patch5:		no-stdc-pollution.patch
 URL:		https://www.qt.io/
 %{?with_directfb:BuildRequires:	DirectFB-devel}
 BuildRequires:	EGL-devel
@@ -121,8 +122,8 @@ BuildRequires:	pcre2-16-devel >= 10.20
 BuildRequires:	perl-base
 BuildRequires:	pkgconfig
 %{?with_pgsql:BuildRequires:	postgresql-devel}
-%{?with_qm:BuildRequires:	qt5-linguist >= 5.2}
 %{?with_doc:BuildRequires:	qt5-assistant >= 5.9}
+%{?with_qm:BuildRequires:	qt5-linguist >= 5.2}
 BuildRequires:	rpm-build >= 4.6
 BuildRequires:	rpmbuild(macros) >= 1.752
 BuildRequires:	sed >= 4.0
@@ -652,8 +653,8 @@ Group:		Development/Libraries
 Requires:	OpenGL-devel
 Requires:	Qt5Core-devel = %{version}-%{release}
 Requires:	Qt5Gui = %{version}-%{release}
-Requires:	libpng-devel
 Requires:	Vulkan-Loader-devel
+Requires:	libpng-devel
 
 %description -n Qt5Gui-devel
 Header files for Qt5 Gui library.
@@ -710,7 +711,7 @@ Summary(pl.UTF-8):	Biblioteka Qt5 Network - pliki programistyczne
 Group:		Development/Libraries
 Requires:	Qt5Core-devel = %{version}-%{release}
 Requires:	Qt5Network = %{version}-%{release}
-%requires_ge	openssl-devel
+%requires_ge openssl-devel
 
 %description -n Qt5Network-devel
 Header files for Qt5 Network library.
@@ -1177,11 +1178,12 @@ Generator plików makefile dla aplikacji Qt5.
 
 %prep
 %setup -q -n %{orgname}-everywhere-src-%{version} %{?with_qm:-a1}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch4 -p1
-%patch10 -p1
+%patch -P 0 -p1
+%patch -P 1 -p1
+%patch -P 2 -p1
+%patch -P 3 -p1
+%patch -P 4 -p1
+%patch -P 5 -p1
 
 %{__sed} -i -e 's,usr/X11R6/,usr/,g' mkspecs/linux-g++-64/qmake.conf
 
diff --git a/no-stdc-pollution.patch b/no-stdc-pollution.patch
new file mode 100644
index 0000000..c1c0a73
--- /dev/null
+++ b/no-stdc-pollution.patch
@@ -0,0 +1,116 @@
+--- qtbase-everywhere-src-5.15.16/mkspecs/common/g++-base.conf~	2024-12-22 17:22:10.000000000 +0100
++++ qtbase-everywhere-src-5.15.16/mkspecs/common/g++-base.conf	2024-12-22 17:24:01.979999818 +0100
+@@ -26,19 +26,3 @@
+ QMAKE_CFLAGS_USE_PRECOMPILE   = -include ${QMAKE_PCH_OUTPUT_BASE}
+ QMAKE_CXXFLAGS_PRECOMPILE     = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+ QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+-
+-QMAKE_CFLAGS_GNUC99     = -std=gnu99
+-QMAKE_CFLAGS_GNUC11     = -std=gnu11
+-QMAKE_CXXFLAGS_CXX11    = -std=c++11
+-QMAKE_CXXFLAGS_CXX14    = -std=c++1y
+-QMAKE_CXXFLAGS_CXX1Z    = -std=c++1z
+-QMAKE_CXXFLAGS_CXX2A    = -std=c++2a
+-QMAKE_CXXFLAGS_CXX2B    = -std=c++2b
+-QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11
+-QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++1y
+-QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z
+-QMAKE_CXXFLAGS_GNUCXX2A = -std=gnu++2a
+-QMAKE_CXXFLAGS_GNUCXX2B = -std=gnu++2b
+-QMAKE_LFLAGS_CXX11      =
+-QMAKE_LFLAGS_CXX14      =
+-QMAKE_LFLAGS_CXX1Z      =
+--- qtbase-everywhere-src-5.15.16/mkspecs/common/clang.conf~	2024-11-08 14:36:08.000000000 +0100
++++ qtbase-everywhere-src-5.15.16/mkspecs/common/clang.conf	2024-12-22 17:51:18.819999729 +0100
+@@ -23,28 +23,13 @@
+ QMAKE_CFLAGS_LTCG                = -flto=thin
+ QMAKE_CFLAGS_LTCG_FATOBJECTS     = -flto
+ QMAKE_CFLAGS_DISABLE_LTCG        = -fno-lto
+-QMAKE_CFLAGS_GNUC99              = -std=gnu99
+-QMAKE_CFLAGS_GNUC11              = -std=gnu11
+ 
+ QMAKE_CXXFLAGS_PRECOMPILE        = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+ QMAKE_CXXFLAGS_USE_PRECOMPILE    = $$QMAKE_CFLAGS_USE_PRECOMPILE
+ QMAKE_CXXFLAGS_LTCG              = $$QMAKE_CFLAGS_LTCG
+ QMAKE_CXXFLAGS_LTCG_FATOBJECTS   = $$QMAKE_CFLAGS_LTCG_FATOBJECTS
+ QMAKE_CXXFLAGS_DISABLE_LTCG      = $$QMAKE_CFLAGS_DISABLE_LTCG
+-QMAKE_CXXFLAGS_CXX11             = -std=c++11
+-QMAKE_CXXFLAGS_CXX14             = -std=c++1y
+-QMAKE_CXXFLAGS_CXX1Z             = -std=c++1z
+-QMAKE_CXXFLAGS_CXX2A             = -std=c++2a
+-QMAKE_CXXFLAGS_CXX2B             = -std=c++2b
+-QMAKE_CXXFLAGS_GNUCXX11          = -std=gnu++11
+-QMAKE_CXXFLAGS_GNUCXX14          = -std=gnu++1y
+-QMAKE_CXXFLAGS_GNUCXX1Z          = -std=gnu++1z
+-QMAKE_CXXFLAGS_GNUCXX2A          = -std=gnu++2a
+-QMAKE_CXXFLAGS_GNUCXX2B          = -std=gnu++2b
+ 
+-QMAKE_LFLAGS_CXX11      =
+-QMAKE_LFLAGS_CXX14      =
+-QMAKE_LFLAGS_CXX1Z      =
+ QMAKE_LFLAGS_LTCG       = $$QMAKE_CFLAGS_LTCG
+ 
+ # Wrapper tools that understand .o/.a files with LLVM bytecode instead of machine code
+--- qtbase-everywhere-src-5.15.16/mkspecs/common/gcc-base.conf~	2024-12-22 17:26:19.000000000 +0100
++++ qtbase-everywhere-src-5.15.16/mkspecs/common/gcc-base.conf	2024-12-22 17:51:45.133333053 +0100
+@@ -84,10 +84,6 @@
+ QMAKE_LFLAGS_EXCEPTIONS_OFF +=
+ QMAKE_LFLAGS_LTCG       = $$QMAKE_CFLAGS_LTCG -fuse-linker-plugin
+ 
+-QMAKE_CFLAGS_C99       = -std=c99
+-QMAKE_CFLAGS_C11       = -std=c11
+-QMAKE_CFLAGS_C17       = -std=c17
+-
+ QMAKE_CFLAGS_SSE2      += -msse2
+ QMAKE_CFLAGS_SSE3      += -msse3
+ QMAKE_CFLAGS_SSSE3     += -mssse3
+--- qtbase-everywhere-src-5.15.16/mkspecs/common/icc-base-unix.conf~	2024-11-08 14:36:08.000000000 +0100
++++ qtbase-everywhere-src-5.15.16/mkspecs/common/icc-base-unix.conf	2024-12-22 17:52:27.813333040 +0100
+@@ -73,12 +73,6 @@
+ QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
+ QMAKE_CXXFLAGS_SPLIT_SECTIONS = $$QMAKE_CFLAGS_SPLIT_SECTIONS
+ QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
+-QMAKE_CXXFLAGS_CXX11    = -std=c++11
+-QMAKE_CXXFLAGS_CXX14    = -std=c++1y
+-QMAKE_CXXFLAGS_CXX1Z    = -std=c++1z
+-QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11
+-QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++1y
+-QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z
+ QMAKE_CXXFLAGS_LTCG     = $$QMAKE_CFLAGS_LTCG
+ QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG
+ 
+@@ -99,9 +93,6 @@
+ QMAKE_LFLAGS_DEBUG      =
+ QMAKE_LFLAGS_THREAD     =
+ QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
+-QMAKE_LFLAGS_CXX11      =
+-QMAKE_LFLAGS_CXX14      =
+-QMAKE_LFLAGS_CXX1Z      =
+ QMAKE_LFLAGS_LTCG       = $$QMAKE_CFLAGS_LTCG
+ 
+ QMAKE_INCDIR            =
+--- qtbase-everywhere-src-5.15.16/mkspecs/features/qt_module_headers.prf~	2024-11-08 14:36:08.000000000 +0100
++++ qtbase-everywhere-src-5.15.16/mkspecs/features/qt_module_headers.prf	2024-12-22 17:54:31.896666353 +0100
+@@ -256,22 +256,6 @@
+             }
+         }
+ 
+-        # Use strict mode C++11 or C++98, with no GNU extensions (see -pedantic-errors above).
+-        # The module might set CONFIG += c++11, but it might also change QMAKE_CXXFLAGS_CXX11
+-        # or the module (or the mkspec) can set the C++11 flag on QMAKE_CXXFLAGS
+-        # (or QMAKE_CXXFLAGS_{RELEASE,DEBUG} but that's unlikely).
+-        c++11:contains(QMAKE_CXXFLAGS_CXX11, -std=gnu++11) {
+-            hcleanFLAGS += -std=c++11
+-        } else: contains(QMAKE_CXXFLAGS, -std=gnu++11) {
+-            hcleanFLAGS += -std=c++11
+-        } else: c++11:contains(QMAKE_CXXFLAGS_CXX11, -std=gnu++0x) {
+-            hcleanFLAGS += -std=c++0x
+-        } else: contains(QMAKE_CXXFLAGS, -std=gnu++0x) {
+-            hcleanFLAGS += -std=c++0x
+-        } else: !c++11:!contains(QMAKE_CXXFLAGS, -std=c++0x):!contains(QMAKE_CXXFLAGS, -std=c++11) {
+-            hcleanFLAGS += -std=c++98
+-        }
+-
+         hcleanCOMMAND = $(CXX) -c $(CXXFLAGS) $$hcleanFLAGS $(INCPATH) $$hcleanDEFS -xc++ ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
+     } else: msvc:!intel_icl {
+         # 4180: qualifier applied to function type has no meaning; ignored
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/qt5-qtbase.git/commitdiff/272dd519da0970a1ac8e4e381d174c0ad9c793ad



More information about the pld-cvs-commit mailing list