libdnf: resolve cstdint inclusion for newer gcc versions

Depending on the host gcc version, libdnf fails to compile due to
missing cstdint inclusions. These issue have already been addressed
upstream, add the patches to resolve this for older versions of the
library.

These commits are taken directly from the libdnf project at
https://github.com/rpm-software-management/libdnf

(From OE-Core rev: e1d9bc1f88bd989bafc20063938d7a70e1da104f)

Signed-off-by: Abe Kohandel <abe.kohandel@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Abe Kohandel 2023-08-27 21:48:02 -07:00 committed by Steve Sakoman
parent b714a94ea7
commit 4bf9d11c4b
4 changed files with 128 additions and 0 deletions

View File

@ -0,0 +1,56 @@
From 779ea105564b6d717300af2fcb02a399737a536f Mon Sep 17 00:00:00 2001
From: ctxnop <ctxnop@gmail.com>
Date: Mon, 15 May 2023 19:30:16 +0200
Subject: [PATCH] Fix #1558: Don't assume inclusion of cstdint
With last versions of gcc, some headers don't include cstdint anymore,
but some sources assume that it is.
Upstream-Status: Backport [https://github.com/rpm-software-management/libdnf/commit/779ea105564b6d717300af2fcb02a399737a536f]
Signed-off-by: ctxnop <ctxnop@gmail.com>
---
libdnf/conf/ConfigMain.hpp | 1 +
libdnf/conf/ConfigRepo.hpp | 1 +
libdnf/conf/OptionSeconds.hpp | 2 ++
3 files changed, 4 insertions(+)
diff --git a/libdnf/conf/ConfigMain.hpp b/libdnf/conf/ConfigMain.hpp
index 19395c71..59f65c48 100644
--- a/libdnf/conf/ConfigMain.hpp
+++ b/libdnf/conf/ConfigMain.hpp
@@ -32,6 +32,7 @@
#include "OptionString.hpp"
#include "OptionStringList.hpp"
+#include <cstdint>
#include <memory>
namespace libdnf {
diff --git a/libdnf/conf/ConfigRepo.hpp b/libdnf/conf/ConfigRepo.hpp
index 2b198441..84cafbad 100644
--- a/libdnf/conf/ConfigRepo.hpp
+++ b/libdnf/conf/ConfigRepo.hpp
@@ -26,6 +26,7 @@
#include "ConfigMain.hpp"
#include "OptionChild.hpp"
+#include <cstdint>
#include <memory>
namespace libdnf {
diff --git a/libdnf/conf/OptionSeconds.hpp b/libdnf/conf/OptionSeconds.hpp
index dc714b23..a80a973f 100644
--- a/libdnf/conf/OptionSeconds.hpp
+++ b/libdnf/conf/OptionSeconds.hpp
@@ -25,6 +25,8 @@
#include "OptionNumber.hpp"
+#include <cstdint>
+
namespace libdnf {
/**
--
2.42.0

View File

@ -0,0 +1,33 @@
From f8af6399c4f6a65a35d33ecc191bb14094dc9e18 Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyich@gmail.com>
Date: Fri, 27 May 2022 22:13:48 +0100
Subject: [PATCH] libdnf/conf/OptionNumber.hpp: add missing <cstdint> include
Without the change libdnf build fails on this week's gcc-13 snapshot as:
In file included from /build/libdnf/libdnf/conf/ConfigMain.hpp:29,
from /build/libdnf/libdnf/conf/ConfigMain.cpp:21:
/build/libdnf/libdnf/conf/OptionNumber.hpp:94:41: error: 'int32_t' is not a member of 'std'; did you mean 'int32_t'?
94 | extern template class OptionNumber<std::int32_t>;
| ^~~~~~~
Upstream-Status: Backport [https://github.com/rpm-software-management/libdnf/commit/f8af6399c4f6a65a35d33ecc191bb14094dc9e18]
---
libdnf/conf/OptionNumber.hpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/libdnf/conf/OptionNumber.hpp b/libdnf/conf/OptionNumber.hpp
index f7a7b3d6..a3a4dea6 100644
--- a/libdnf/conf/OptionNumber.hpp
+++ b/libdnf/conf/OptionNumber.hpp
@@ -25,6 +25,7 @@
#include "Option.hpp"
+#include <cstdint>
#include <functional>
namespace libdnf {
--
2.42.0

View File

@ -0,0 +1,36 @@
From 24b5d7f154cac9e322dd3459f6d0a5016abbbb57 Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyich@gmail.com>
Date: Fri, 27 May 2022 22:12:07 +0100
Subject: [PATCH] libdnf/utils/sqlite3/Sqlite3.hpp: add missing <cstdint>
include
Without the change libdnf build fails on this week's gcc-13 snapshot as:
In file included from /build/libdnf/libdnf/sack/../transaction/Swdb.hpp:38,
from /build/libdnf/libdnf/sack/query.hpp:32,
from /build/libdnf/libdnf/dnf-sack-private.hpp:31,
from /build/libdnf/libdnf/hy-iutil.cpp:60:
/build/libdnf/libdnf/sack/../transaction/../utils/sqlite3/Sqlite3.hpp:100:33: error: 'std::int64_t' has not been declared
100 | void bind(int pos, std::int64_t val)
| ^~~~~~~
Upstream-Status: Backport [https://github.com/rpm-software-management/libdnf/commit/24b5d7f154cac9e322dd3459f6d0a5016abbbb57]
---
libdnf/utils/sqlite3/Sqlite3.hpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/libdnf/utils/sqlite3/Sqlite3.hpp b/libdnf/utils/sqlite3/Sqlite3.hpp
index 3a7da23c..0403bb33 100644
--- a/libdnf/utils/sqlite3/Sqlite3.hpp
+++ b/libdnf/utils/sqlite3/Sqlite3.hpp
@@ -27,6 +27,7 @@
#include <sqlite3.h>
+#include <cstdint>
#include <map>
#include <memory>
#include <stdexcept>
--
2.42.0

View File

@ -11,6 +11,9 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master;p
file://enable_test_data_dir_set.patch \
file://0001-drop-FindPythonInstDir.cmake.patch \
file://0001-libdnf-dnf-context.cpp-do-not-try-to-access-BDB-data.patch \
file://0001-Fix-1558-Don-t-assume-inclusion-of-cstdint.patch \
file://0001-libdnf-utils-sqlite3-Sqlite3.hpp-add-missing-cstdint.patch \
file://0001-libdnf-conf-OptionNumber.hpp-add-missing-cstdint-inc.patch \
"
SRCREV = "add5d5418b140a86d08667dd2b14793093984875"