summaryrefslogtreecommitdiff
path: root/dev-cpp/libcmis
diff options
context:
space:
mode:
authorCrucible <crucible@localhost>2026-09-24 16:55:33 -0500
committerCrucible <crucible@localhost>2026-09-24 16:55:33 -0500
commit6295f37a70d50a32011b5a1ee7793fea329cd5f2 (patch)
tree11a38d28475be98b7cf8226e8aa2a95aeb7d771e /dev-cpp/libcmis
parent2c54208beece2b6a1243a50c850e195d1a42d716 (diff)
downloadsrcux-6295f37a70d50a32011b5a1ee7793fea329cd5f2.tar.gz
srcux-6295f37a70d50a32011b5a1ee7793fea329cd5f2.tar.xz
srcux-6295f37a70d50a32011b5a1ee7793fea329cd5f2.zip
Publish srcux candidate 0000000383-20260924-165302
Diffstat (limited to 'dev-cpp/libcmis')
-rw-r--r--dev-cpp/libcmis/Manifest1
-rw-r--r--dev-cpp/libcmis/files/libcmis-0.6.2-boost-1.86.patch47
-rw-r--r--dev-cpp/libcmis/files/libcmis-0.6.2-fix-sha1-test.patch45
-rw-r--r--dev-cpp/libcmis/files/libcmis-0.6.2-libxml2-2.12.patch26
-rw-r--r--dev-cpp/libcmis/libcmis-0.6.2-r2.ebuild73
-rw-r--r--dev-cpp/libcmis/libcmis-0.6.3.ebuild2
6 files changed, 193 insertions, 1 deletions
diff --git a/dev-cpp/libcmis/Manifest b/dev-cpp/libcmis/Manifest
index bd4d8d991931..5782264ca687 100644
--- a/dev-cpp/libcmis/Manifest
+++ b/dev-cpp/libcmis/Manifest
@@ -1 +1,2 @@
+DIST libcmis-0.6.2.tar.gz 296218 BLAKE2B faad99e09b2721cd56b0d47d2a9589e06222ee7881006e936d0943d5e8afc588fcda721ef282ad7d55c785407a9885c90cbce1d172ca012c4a13cc51da0c15b6 SHA512 a75a69623f34149c39c382c357396b8dd719d589a78424fc3b5d9de84ffbf3f889bcaaed9a01f91b491a507c189347d3d9252db238fddbb522ff8ba9ce7b5ade
DIST libcmis-0.6.3.tar.gz 302198 BLAKE2B f5772991c06ce728c728b6e7d670eaf36ee5fb42e6e655cd1b40a6385d4896076346f499b4e6a8278a0b6f4d065da6ef48a6e720b7a4f5ebbb7d9782952acfba SHA512 28f9fdc51ff87496ad827289ab86f124d79d832176e63e2e92eb21e55294720e6a3a2ba847ebf9a81c7db4ef19e0defe03edf5d181e2386920f8d7451287f9e1
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/files/libcmis-0.6.2-fix-sha1-test.patch b/dev-cpp/libcmis/files/libcmis-0.6.2-fix-sha1-test.patch
new file mode 100644
index 000000000000..d098f80212c3
--- /dev/null
+++ b/dev-cpp/libcmis/files/libcmis-0.6.2-fix-sha1-test.patch
@@ -0,0 +1,45 @@
+https://github.com/tdf/libcmis/pull/69
+https://github.com/tdf/libcmis/commit/0753091be57edae28655e43a9bae9e4c4e414117
+
+From 0753091be57edae28655e43a9bae9e4c4e414117 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
+Date: Fri, 13 Sep 2024 16:02:13 +0100
+Subject: [PATCH] sha1 test fails with older boost
+
+<fridrich> 1) test: XmlTest::sha1Test (F) line: 588 test-xmlutils.cxx
+<fridrich> equality assertion failed
+<fridrich> - Expected: f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
+<fridrich> - Actual : 8b9efff79be0b27b5d5a9370c50c5e78f0abd0d9
+---
+ src/libcmis/xml-utils.cxx | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/src/libcmis/xml-utils.cxx b/src/libcmis/xml-utils.cxx
+index cdf088f..3568ec6 100644
+--- a/src/libcmis/xml-utils.cxx
++++ b/src/libcmis/xml-utils.cxx
+@@ -536,17 +536,19 @@ namespace libcmis
+ 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 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 < sizeof( digest ); ++ptr, ++i )
++#if BOOST_VERSION < 108600
++ for ( int i = 0; i < 5; ++i )
++ out << setw(8) << digest[i];
++#else
++ const unsigned char* ptr = reinterpret_cast<const unsigned char*>( digest );
++ for ( size_t i = 0; i < sizeof( digest ); ++ptr, ++i )
+ out << setw(2) << static_cast<int>( *ptr );
++#endif
+ return out.str();
+ }
+
diff --git a/dev-cpp/libcmis/files/libcmis-0.6.2-libxml2-2.12.patch b/dev-cpp/libcmis/files/libcmis-0.6.2-libxml2-2.12.patch
new file mode 100644
index 000000000000..a00fb863dcb5
--- /dev/null
+++ b/dev-cpp/libcmis/files/libcmis-0.6.2-libxml2-2.12.patch
@@ -0,0 +1,26 @@
+From 72618e63433c7243e4d9e79a638f19a09402eecc Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Tue, 21 Nov 2023 23:10:07 +0100
+Subject: [PATCH] Fix build with libxml2-2.12 (missing include)
+
+See also: https://github.com/tdf/libcmis/issues/51
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ inc/libcmis/xml-utils.hxx | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/inc/libcmis/xml-utils.hxx b/inc/libcmis/xml-utils.hxx
+index 929385e..9bd99ae 100644
+--- a/inc/libcmis/xml-utils.hxx
++++ b/inc/libcmis/xml-utils.hxx
+@@ -34,6 +34,7 @@
+ #include <string>
+
+ #include <boost/date_time.hpp>
++#include <libxml/parser.h>
+ #include <libxml/tree.h>
+ #include <libxml/xpathInternals.h>
+ #include <libxml/xmlwriter.h>
+--
+2.43.0
+
diff --git a/dev-cpp/libcmis/libcmis-0.6.2-r2.ebuild b/dev-cpp/libcmis/libcmis-0.6.2-r2.ebuild
new file mode 100644
index 000000000000..7b096ee60f1b
--- /dev/null
+++ b/dev-cpp/libcmis/libcmis-0.6.2-r2.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/tdf/libcmis.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/tdf/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86"
+fi
+inherit autotools flag-o-matic
+
+DESCRIPTION="C++ client library for the CMIS interface"
+HOMEPAGE="https://github.com/tdf/libcmis"
+
+LICENSE="|| ( GPL-2 LGPL-2 MPL-1.1 )"
+SLOT="0/0.6"
+IUSE="man test tools"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/boost:=
+ dev-libs/libxml2:=
+ net-misc/curl
+"
+RDEPEND="
+ ${DEPEND}
+ !dev-cpp/libcmis:0.5
+"
+BDEPEND="
+ virtual/pkgconfig
+ man? (
+ app-text/docbook2X
+ dev-libs/libxslt
+ )
+ test? (
+ dev-util/cppunit
+ )
+"
+
+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
+ # https://github.com/tdf/libcmis/pull/69
+ "${FILESDIR}"/${P}-fix-sha1-test.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # ODR issues in tests w/ curl
+ filter-lto
+
+ local myeconfargs=(
+ --disable-werror
+ $(use_with man)
+ $(use_enable test tests)
+ $(use_enable tools client)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-cpp/libcmis/libcmis-0.6.3.ebuild b/dev-cpp/libcmis/libcmis-0.6.3.ebuild
index 960196b4cef2..72873b0204b5 100644
--- a/dev-cpp/libcmis/libcmis-0.6.3.ebuild
+++ b/dev-cpp/libcmis/libcmis-0.6.3.ebuild
@@ -8,7 +8,7 @@ if [[ ${PV} == *9999* ]]; then
inherit git-r3
else
SRC_URI="https://github.com/tdf/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
fi
inherit autotools flag-o-matic