diff options
author | 2024-08-31 12:44:33 +0200 | |
---|---|---|
committer | 2024-08-31 12:44:33 +0200 | |
commit | 2b65a97f3126c54f74c706e2e16e81e83989bdd4 (patch) | |
tree | a2beb8191771208999849b453ea1f4c93203ba83 /dev-cpp | |
parent | kde-frameworks/kirigami: Explain lack of kirigami:5[examples] (diff) | |
download | gentoo-2b65a97f3126c54f74c706e2e16e81e83989bdd4.tar.gz gentoo-2b65a97f3126c54f74c706e2e16e81e83989bdd4.tar.bz2 gentoo-2b65a97f3126c54f74c706e2e16e81e83989bdd4.zip |
dev-cpp/libcmis: patch for boost 1.86
Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'dev-cpp')
-rw-r--r-- | dev-cpp/libcmis/files/libcmis-0.6.2-boost-1.86.patch | 47 | ||||
-rw-r--r-- | dev-cpp/libcmis/libcmis-0.6.2.ebuild | 8 |
2 files changed, 53 insertions, 2 deletions
diff --git a/dev-cpp/libcmis/files/libcmis-0.6.2-boost-1.86.patch b/dev-cpp/libcmis/files/libcmis-0.6.2-boost-1.86.patch new file mode 100644 index 000000000000..5d2a9ba404e3 --- /dev/null +++ b/dev-cpp/libcmis/files/libcmis-0.6.2-boost-1.86.patch @@ -0,0 +1,47 @@ +https://github.com/tdf/libcmis/issues/67 +https://github.com/tdf/libcmis/pull/68 + +From dfcb642a491f7ec2ae52e3e83d31bb6cdf3670c2 Mon Sep 17 00:00:00 2001 +From: David Seifert <soap@gentoo.org> +Date: Sat, 31 Aug 2024 12:39:39 +0200 +Subject: [PATCH] Fix boost 1.86 breakage + +The fix does not break building against <1.86 since we're now accessing the +object representation of the return value. + +Fixes #67 +--- + src/libcmis/xml-utils.cxx | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/src/libcmis/xml-utils.cxx b/src/libcmis/xml-utils.cxx +index e487d17..cdf088f 100644 +--- a/src/libcmis/xml-utils.cxx ++++ b/src/libcmis/xml-utils.cxx +@@ -531,16 +531,22 @@ namespace libcmis + boost::uuids::detail::sha1 sha1; + sha1.process_bytes( str.c_str(), str.size() ); + +- unsigned int digest[5]; ++ // on boost < 1.86.0, digest_type is typedef'd as unsigned int[5] ++ // on boost >= 1.86.0, digest_type is typedef'd as unsigned char[20] ++ boost::uuids::detail::sha1::digest_type digest; + sha1.get_digest( digest ); + ++ // by using a pointer to unsigned char, we can read the ++ // object representation of either typedef. ++ const unsigned char* ptr = reinterpret_cast<const unsigned char*>( digest ); ++ + stringstream out; +- // Setup writing mode. Every number must produce eight ++ // Setup writing mode. Every number must produce two + // hexadecimal digits, including possible leading 0s, or we get + // less than 40 digits as result. + out << hex << setfill('0') << right; +- for ( int i = 0; i < 5; ++i ) +- out << setw(8) << digest[i]; ++ for ( int i = 0; i < sizeof( digest ); ++ptr, ++i ) ++ out << setw(2) << static_cast<int>( *ptr ); + return out.str(); + } + diff --git a/dev-cpp/libcmis/libcmis-0.6.2.ebuild b/dev-cpp/libcmis/libcmis-0.6.2.ebuild index c20057c85432..5130a7ba2744 100644 --- a/dev-cpp/libcmis/libcmis-0.6.2.ebuild +++ b/dev-cpp/libcmis/libcmis-0.6.2.ebuild @@ -41,8 +41,12 @@ BDEPEND=" ) " -# https://github.com/tdf/libcmis/pull/52 -PATCHES=( "${FILESDIR}/${P}-libxml2-2.12.patch" ) # bug 917523 +PATCHES=( + # https://github.com/tdf/libcmis/pull/52 + "${FILESDIR}"/${P}-libxml2-2.12.patch # bug 917523 + # https://github.com/tdf/libcmis/pull/68 + "${FILESDIR}"/${P}-boost-1.86.patch +) src_prepare() { default |