freeglut's CMake used FIND_PACKAGE(OpenGL REQUIRED COMPONENTS OpenGL),
which demands the GLVND libOpenGL.so (OPENGL_opengl_LIBRARY). Without the
glvnd distro feature libglvnd is not built, so do_configure fails on the
X11, Wayland and GLES paths:
CMake Error: Could NOT find OpenGL (missing: OPENGL_opengl_LIBRARY)
CMake's FindOpenGL also couples the EGL component to GLVND: requesting EGL
without GLES2/GLES3 unconditionally adds OPENGL_opengl_LIBRARY, so dropping
the "OpenGL" component alone is not enough.
Extend the legacy-OpenGL patch to:
* X11/GLES: drop the unsatisfiable GLVND "OpenGL" component from
FIND_PACKAGE and link the legacy OpenGL::GL target.
* Wayland: find EGL via pkg-config (PkgConfig::EGL), which is independent
of GLVND, and link the legacy OpenGL::GL target.
Verified by building freeglut for qemux86-64 with x11+wayland and no glvnd
(configure, compile, install, package) and re-checking freeglut-gles
configures.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
apitrace's CLI bakes APITRACE_PYTHON_EXECUTABLE, defined unconditionally
to ${Python3_EXECUTABLE} - the absolute path of the python CMake found at
configure time.
On the autobuilder that resolves to the launching
venv python /srv/pokybuild/buildbot-venv/bin/python3, which lives under the
worker HOME, so /usr/bin/apitrace trips:
QA Issue: File /usr/bin/apitrace in package apitrace contains reference
to the build host HOME directory [buildpaths]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The Makefile bakes LD_RUN_PATH=...:$(HOME)/lib:/usr/local/lib:... into the
command binaries via LDENV, embedding the build host HOME directory in the
shipped binaries:
do_package_qa: QA Issue: File /usr/bin/tchmgr ... contains reference to the
build host HOME directory [buildpaths]
Strip the $(HOME)/lib and /usr/local/lib entries from the generated Makefile
after configure.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The bundled PEGTL parses __PRETTY_FUNCTION__ at compile time and trips a
static_assert under GCC 16:
src/ThirdParty/PEGTL/include/tao/pegtl/demangle.hpp:118:23:
error: static assertion failed
usbguard demangles PEGTL rules built from ascii::one<'\000', '\012'>,
i.e. types with a char non-type template parameter whose value is '\0'.
GCC 16 renders such a parameter as a literal NUL byte and truncates
__PRETTY_FUNCTION__ there:
constexpr std::string_view demangle() [with T = seq<one<'
so the trailing "; std::string_view = ...]" and even the closing ']' are
gone, and rfind(';')/rfind(']') both return npos.
Patch demangle() to fall back to the remainder of the string when no
';'/']' terminator survives, instead of failing the build; the demangled
name is only used for tracing diagnostics. Type names without a '\0' char
parameter are unaffected.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
GCC 16 / libstdc++ implements the C++20 deletion of
std::operator<<(std::ostream&, wchar_t). NCtext.cc and NCRichText.cc stream
a wchar_t directly into a narrow std::ostream for debug output:
NCtext.cc:348:34: error: use of deleted function
'std::basic_ostream<char, _Traits>& std::operator<<(...wchar_t)'
Add a patch casting both sites to char (the values are ASCII).
Signed-off-by: Khem Raj <raj.khem@gmail.com>
GCC 14 promotes -Wincompatible-pointer-types to an error by default. This
release passes a wrongly-typed GDestroyNotify to g_ptr_array_new_full:
telepathy-glib/protocol.c:1794:42: error: passing argument 2 of
'g_ptr_array_new_full' from incompatible pointer type
[-Wincompatible-pointer-types]
Add -Wno-error=incompatible-pointer-types so the build completes.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
GCC 16 emits a spurious -Wmaybe-uninitialized for the exception helper
constructors in reply.h, and the project builds with -Werror:
src/sw/redis++/reply.h:54:60: error: '<unknown>' may be used uninitialized
[-Werror=maybe-uninitialized]
cc1plus: all warnings being treated as errors
Add -Wno-error=maybe-uninitialized for the gcc toolchain.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
GCC 16 reports a set-but-unused variable in the JSON parser, and avro builds
with -Werror:
lang/c++/impl/json/JsonIO.cc:296:30: error: variable 'n' set but not used
[-Werror=unused-but-set-variable=]
Extend the existing toolchain-gcc -Wno-error workaround to cover it.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
GCC 16 flags a set-but-unused variable in MS3DLoader.cpp and assimp builds
with -Werror:
code/AssetLib/MS3D/MS3DLoader.cpp:633:28: error: variable 'qu' set but not
used [-Werror=unused-but-set-variable=]
cc1plus: all warnings being treated as errors
Pass -DASSIMP_WARNINGS_AS_ERRORS=OFF so upstream warnings do not break the
build.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
GCC 14 promotes -Wincompatible-pointer-types to an error by default. The
buffer_init*.c sources pass read()/write() directly where a typeless op
function pointer is expected:
buffer/buffer_init_read.c:6:18: error: passing argument 2 of 'buffer_init'
from incompatible pointer type [-Wincompatible-pointer-types]
The existing gcc-15 patch only fixes the BUFFER_INIT macro, not these call
sites. Add -Wno-error=incompatible-pointer-types so the build completes.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Two build failures occur with the default clang/lld toolchain (and with
gcc) when compiling android-tools 35.0.2:
1. The bundled fmtlib 10.2.0 validates FMT_STRING() inside a consteval
basic_format_string constructor whose parse path evaluates
"format_str_.remove_prefix(detail::to_unsigned(it - begin()))". Current
C++ frontends reject that iterator subtraction as a non-constant
subexpression:
error: call to consteval function
'fmt::basic_format_string<...>::basic_format_string<FMT_COMPILE_STRING,0>'
is not a constant expression
Define FMT_CONSTEVAL to empty so fmt drops the consteval qualifier and
validates format strings via its runtime path instead.
2. adb's IOVector::coalesce() static_asserts that its Block collection type
is standard-layout. Block holds a std::unique_ptr<char[]>, which is
standard-layout under LLVM libc++ (AOSP's runtime) but not under GNU
libstdc++, so the assertion fails for libstdc++ based toolchains:
packages/modules/adb/types.h:235:27: error: static assertion failed due
to requirement 'std::is_standard_layout<Block>()'
The assertion does not protect the memcpy it guards (which writes into
plain char storage), so drop it.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
do_configure generates autoconf.h by compiling and running a
small lock-feature probe with the build-host compiler.
The Makefile hardcodes the target networking libs
(-lnet -lnsl, from the libnet/libnsl2 DEPENDS)
into LDFLAGS, but those only exist in the target sysroot,
so the native link fails with
'cannot find -lnet/-lnsl'
The probe does not use them, so override LDFLAGS for this native
step with just what it needs.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The release tarball ships a pre-generated Makefile with
the maintainer's absolute build paths baked in (${SHELL} /sources/LIB/MNG/.../missing)
so the make clean run by autotools_preconfigure fails before autoreconf
regenerates the build system.
Set CLEANBROKEN to skip that pre-configure clean.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The shipped Makefile errors out
'You must run ./configure before make'
when Make.inc/src/config.h are missing, so the 'make clean' run by
autotools_preconfigure fails before configure has run.
Set CLEANBROKEN to skip that clean.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Clang errors on a direct include of <bmi2intrin.h>
'Never use <bmi2intrin.h> directly; include <immintrin.h> instead.'
hit whenever __BMI2__ is defined.
Backport the upstream fix to include the umbrella <immintrin.h>
header guarded by an x86 check.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The shipped Makefile does 'include config.mk' which is only created by
configure, so the 'make clean' run by autotools_preconfigure fails before
configure has run.
Set CLEANBROKEN to skip that pre-configure clean.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Newer libxfce4ui defines the XfceTitledDialog autoptr cleanup functions
the panel's guarded redefinition is redundant and breaks the build
under GCC 16. Drop it (backport of upstream 3ac941fc).
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
fmt renamed its default branch master -> main, so the SRCREV was
unreachable.
Also retarget 0001-Fix-build-with-gcc-16 to
minifi-api/include/minifi-cpp/core/RepositoryMetricsSource.h after
the source-tree restructure in 0.99.2.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
mbuffer's Makefile invokes 'bash mkversion.sh' with no path
which only works in the source tree so set B = S.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
configure cannot probe for a pipefail-capable shell when
cross compiling; pass --with-shell=/bin/bash and add bash
to runtime deps.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
clang does not recognise -Wmaybe-uninitialized and errors on
the -Wno-error form under -Werror,-Wunknown-warning-option
apply it only for the gcc toolchain.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
GCC 16 / libstdc++ no longer transitively pulls in cstdint
so reader.h fails to find uintmax_t/intmax_t.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The bundled jitter sub-configure runs a gnulib AC_RUN_IFELSE strcasecmp
test that aborts under cross compilation use the cached result.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
clang names this -Wno-incompatible-pointer-types-discards-qualifiers;
the GCC spelling is an unknown -W option under -Werror,
which broke every configure try_compile (including pthread detection).
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Inherit python3targetconfig
point CMake's FindPython at the target sysroot libpython/headers
so Embed component resolves when cross compiling.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The webkit2gtk pkg-config check was unconditional, but WEBKIT is only
used by the GNOME auth dialog. Move it under the with-gnome guard
add webkitgtk3 to the gnome PACKAGECONFIG deps
ship the D-Bus system policy file.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
License-Update: bundled GPL/Artistic license text reflowed; FSF postal address replaced with a URL (Perl licensing unchanged)
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
License-Update: bundled GPL/Artistic license text reflowed; FSF postal address replaced with a URL (Perl licensing unchanged)
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The Makefile now creates /run/lock/logcheck (was /var/lock/logcheck);
update the sed that comments out that install line so nothing is left
installed-but-not-shipped.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
License-Update: COPYING renamed to COPYING.rst; GPL-2.0-or-later unchanged
COPYING was renamed to COPYING.rst upstream; update LIC_FILES_CHKSUM.
Add a patch initializing time_start/time_end, which clang flags as
used-uninitialized.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
1.1.23 gained --enable-crossbuilddir, which uses the native mtp-hotplug
to generate udev rules. Use it and drop the local
0001-Use-native-mtp-hotplug and 0002-util-mtp-hotplug patches.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
License-Update: relicensed to NPSL (Nmap Public Source License)
fix bundled libdnet configure and static link
Add a patch fixing the libdnet PF_PACKET conftest, which used a
nested function definition clang rejects, making configure
wrongly conclude there is no Ethernet support.
Clear DISABLE_STATIC so the bundled libdnet libtool build also
produces libdnet.a (nmap links it statically), and serialize
the make since the top-level Makefile does not order the
link after the recursive libdnet build.
Also regenerate an existing patch to apply without fuzz.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>