summaryrefslogtreecommitdiff
path: root/dev-cpp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-30 11:49:23 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-30 11:49:23 +0000
commit840a65e2af3f2cc7527e723a28f6e627a9592fb7 (patch)
tree66e124d9e55317fe43e1af9984e75c156df5cb29 /dev-cpp
parent73e3b099187df1c4f2df056e45f345a56d2535aa (diff)
gentoo auto-resync : 30:01:2024 - 11:49:23
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/Manifest.gzbin14586 -> 14590 bytes
-rw-r--r--dev-cpp/jwt-cpp/Manifest2
-rw-r--r--dev-cpp/jwt-cpp/jwt-cpp-0.7.0.ebuild80
-rw-r--r--dev-cpp/scitokens-cpp/Manifest3
-rw-r--r--dev-cpp/scitokens-cpp/files/scitokens-cpp-1.1.0-invalid-vector-access.patch24
-rw-r--r--dev-cpp/scitokens-cpp/scitokens-cpp-1.0.2-r2.ebuild61
-rw-r--r--dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild61
7 files changed, 231 insertions, 0 deletions
diff --git a/dev-cpp/Manifest.gz b/dev-cpp/Manifest.gz
index c1d33ede35ee..d29940760eed 100644
--- a/dev-cpp/Manifest.gz
+++ b/dev-cpp/Manifest.gz
Binary files differ
diff --git a/dev-cpp/jwt-cpp/Manifest b/dev-cpp/jwt-cpp/Manifest
index 97f4918cf7ba..b94981dd9481 100644
--- a/dev-cpp/jwt-cpp/Manifest
+++ b/dev-cpp/jwt-cpp/Manifest
@@ -1,4 +1,6 @@
AUX jwt-cpp-0.6.0-gcc13.patch 284 BLAKE2B e7ed4329fe924206433c0e6e44136f8e06ded871f7e6fe85c3506901a58b316e9f79690776840ec826ff0f211b5ff72b9c2e68b946e34512afb8deefc99b331c SHA512 8311df0a0c46f5b422acdbb789600c0c1e26a2f87ffe80eb6b968da6a1b62cebe427b8c09ffb5586d48bb26afb1308af6c9524d6d2eb36dafc6849372cab3979
DIST jwt-cpp-0.6.0.tar.gz 275126 BLAKE2B 4bf9bed9b2aa9584b497b2ab4d1d2582d9b5e4ded402200ea3f70b0e6752338fd4e2ef9c5836c728a6907a0190209c7baeaecd26032ce64dc6bf12a23594f27b SHA512 b6d5ebb3a7eeb6fef9a1d41c707251d1ab05bf47920c280d5203f1b9ee5bf6f8e914cd2ffaed66550cfa6d78c34465d4cf86517a759d5f8739b429faf1c2c0ef
+DIST jwt-cpp-0.7.0.tar.gz 133925 BLAKE2B 7f6ff1d23f60c555382e4ae4e9633954db638a93bb4f183efe057da8cc751be6f5a545e94cd8976e8b0260a6775a1ed82c7b2445401ba01fb46869489f289f38 SHA512 b6fdb93e3f2f065a2eb45fe16cb076a932b8d4bfad2251bd66d2be40d8afaf5c27a9cf17aaea61d8bfa3f5ff9ed3b45f90962dc14d72704ac5b9d717c12cc79f
EBUILD jwt-cpp-0.6.0.ebuild 1987 BLAKE2B 043be060736d6d5c8a179b7896e509c34aeaea804d4593dd6b01dab969060079f9ac6541db30326c90aceb9a74dc9b83eaf49391afd70c2f8613a621d16617aa SHA512 a315e18832845730f68cd12be9132169ec50615e3be75237adeccd4de830887bc20a641000b020e3d144c93f19f19c65d304458a51353880234d2b5822698af5
+EBUILD jwt-cpp-0.7.0.ebuild 1937 BLAKE2B 736c7bedd07ad17f37e0c392ac23dc188bbd3229e3a4dea4a9390c2a2350aba528998da28dd4310c49956ef210c30566ee70251a0c7d49602fb4c33628eb7372 SHA512 eebabc7e1982ecc47893a6ef6837609d665e3813ba128411cf28adbda3439534259fe2031fe8fcbbe2c800ec249adb2c6df9dd2290ac914cbbd3940aecf1f043
MISC metadata.xml 783 BLAKE2B 6c1156aa5c7466acf0dc97db88e228d0dd1a15e9938df61c9ca4d1b4d80fa38aacbc2e3034c91deb4a4b7a4076c61511a34f8f72d4d077987577666c393a7fcc SHA512 3ca38fd435697019e10b292019355786d92e258ba8deb37f035a2d767c0bab9450560a03619b660f383cce794c24bc7bbd6ac23a0a902ca7654afccc432b8121
diff --git a/dev-cpp/jwt-cpp/jwt-cpp-0.7.0.ebuild b/dev-cpp/jwt-cpp/jwt-cpp-0.7.0.ebuild
new file mode 100644
index 000000000000..64f36db0f7dd
--- /dev/null
+++ b/dev-cpp/jwt-cpp/jwt-cpp-0.7.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Thalhammer/jwt-cpp.git"
+else
+ SRC_URI="https://github.com/Thalhammer/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="header only library for creating and validating JSON Web Tokens in C++11"
+HOMEPAGE="https://thalhammer.github.io/jwt-cpp/"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="doc +picojson test"
+
+DEPEND="
+ dev-cpp/nlohmann_json
+ dev-libs/openssl
+ picojson? ( dev-cpp/picojson )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ doc? ( app-text/doxygen[dot] )
+ test? ( dev-cpp/gtest )
+"
+RESTRICT="
+ !picojson? ( test )
+ !test? ( test )
+"
+
+DOCS=( README.md docs/{faqs,ssl,traits}.md )
+
+src_prepare() {
+ # Unbundle dev-cpp/nlohmann_json.
+ rm -vrf include/nhlomann || die
+ # Unbundle dev-cpp/picojson and fix include paths.
+ # See also: https://github.com/Thalhammer/jwt-cpp/issues/213
+ rm -vrf include/picojson || die
+ find -name '*.h' -type f -print0 | xargs -0 sed -r -e "s:picojson/picojson\.h:picojson.h:g" -i || die
+ # Prevent installation of bundled dev-cpp/picojson.
+ sed -i -e 's:^\s*install.*picojson/picojson\.h.*$::' CMakeLists.txt || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DJWT_DISABLE_PICOJSON="$(usex !picojson)"
+ # Not useful for now, asks for non-existent CMake module.
+ #-DJWT_EXTERNAL_PICOJSON="$(usex picojson)"
+ # Examples are not installed and for development only.
+ -DJWT_BUILD_EXAMPLES=NO
+ -DJWT_BUILD_TESTS="$(usex test)"
+ -DJWT_CMAKE_FILES_INSTALL_DIR="${EPREFIX}"/usr/share/cmake
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use doc; then
+ doxygen || die
+ fi
+}
+
+src_test() {
+ "${BUILD_DIR}"/tests/jwt-cpp-test || die
+}
+
+src_install() {
+ cmake_src_install
+ use doc && local HTML_DOCS=(doxy/html/.)
+ einstalldocs
+}
diff --git a/dev-cpp/scitokens-cpp/Manifest b/dev-cpp/scitokens-cpp/Manifest
index 460049c638ba..89288820122a 100644
--- a/dev-cpp/scitokens-cpp/Manifest
+++ b/dev-cpp/scitokens-cpp/Manifest
@@ -1,5 +1,8 @@
+AUX scitokens-cpp-1.1.0-invalid-vector-access.patch 904 BLAKE2B a2bdf20f09ed3e44ce46a4a253a9a24da2a5a549b480653863dadf650df12ee30301d6dec1731f7cc1e292eb14279b1c369ba7990fceccbeed291a2e5e14c08f SHA512 f5bb785c1eb59f0509aac70efd162079c286a8142045bc9856ec92d197bfdafb0ba743618ddd9708b6dcaadbb73f77a4162c0d9823ff19d5a90d7c77af69421b
DIST scitokens-cpp-1.0.2.tar.gz 311221 BLAKE2B 8f77f4f5ded34f7c572567c980ef0dabaf7e36d4395d41046a1bd8e1343299309ea81efb23b0120532cba365463a9ad2c5ff857f85be5df922830541513c11cd SHA512 c15784342eb70eb0ec1cd87d5a1e89446b8aa3bb070bfdef58960c2d94739b05d186ee33807ebc066a450a0211b3dd7c04ea613fd4870d7a2d0f8fe30e8a7453
DIST scitokens-cpp-1.1.0.tar.gz 311446 BLAKE2B a515d834df04125ae9167cb4656def7df43c9f1ba6d701379257cdd0fd51b61a119e6222591fbe9c1d7ac7000b1b4590d12e9f9238810c0791397a9d9846f6f7 SHA512 e71474afbde45149fbd642918e802f7430603a14add7171525fd08fdfbfb9dc4ae5b151341d2c11b294f352cdf76315e5c1f089daca12a1c9db304f6b2c89276
EBUILD scitokens-cpp-1.0.2-r1.ebuild 1404 BLAKE2B 4330cd02e728052d6656af16e63b8f7449573088c2d4b4b6a3dfc0ed6560c0887f58fe1fd595b7b220627e3b2c45b9ea8d4271e767ce141e008fc0fb26dcef10 SHA512 6c56e37ec5bf5f1385f50e69492fd39b0974fbd8fed7aa2990a9c3d417fc15fcb2021d466be49144702037c8158e3b6a07acd88a923c13bb56c8297d4d134df7
+EBUILD scitokens-cpp-1.0.2-r2.ebuild 1475 BLAKE2B 687b039f53fbef9634a6e70c268c51dd4e86a202843f50037965abc16a3f0b0cefc5a37404b3f635522fc0c2f8aa68900f2c19084cba3c61838953faddcc8040 SHA512 65c29af2a00206baf002b75f3fc79d23a715cbbb0b2eb18aa1b6fd4ce9bf54227a51f2434c6ba26df6bd5eb945ae60f2b09bb1f6957ad5800ce85b66e50af69a
+EBUILD scitokens-cpp-1.1.0-r1.ebuild 1475 BLAKE2B 687b039f53fbef9634a6e70c268c51dd4e86a202843f50037965abc16a3f0b0cefc5a37404b3f635522fc0c2f8aa68900f2c19084cba3c61838953faddcc8040 SHA512 65c29af2a00206baf002b75f3fc79d23a715cbbb0b2eb18aa1b6fd4ce9bf54227a51f2434c6ba26df6bd5eb945ae60f2b09bb1f6957ad5800ce85b66e50af69a
EBUILD scitokens-cpp-1.1.0.ebuild 1406 BLAKE2B ece69ad335c397ec20a477dbe848ea1f86b7ab9b7a87e19550a37b53d77c1fa2f6ef33eb6d6078bde3725beb2a0fb7a3e766f78ce4486c90d54961066bed677a SHA512 8092a3fe73e5431ae80f18eaa0efc7077003f0f57da7ea658a83575c7bc35f48cdbf61e82be09d2e88c1b5d1b3d719d079ad62602ec702cb7e608f75eb60d40f
MISC metadata.xml 1067 BLAKE2B a3af60b824b07a0db1f2497b7a8d8dea6a4c5a0a225be98e0bd2c35e701197210d0905c213fda060536cacf68e7b0181bad0f849c3dc9eac709af8c1c1df9169 SHA512 e87768329cb90205fb98cba59ddb911414c202cf03de358030aca79766b9834b3a3be4f00ba1a50f5171281852b85b5dc0211a6b7943c4cf0de94e794dd4827a
diff --git a/dev-cpp/scitokens-cpp/files/scitokens-cpp-1.1.0-invalid-vector-access.patch b/dev-cpp/scitokens-cpp/files/scitokens-cpp-1.1.0-invalid-vector-access.patch
new file mode 100644
index 000000000000..db524b4245d5
--- /dev/null
+++ b/dev-cpp/scitokens-cpp/files/scitokens-cpp-1.1.0-invalid-vector-access.patch
@@ -0,0 +1,24 @@
+Fix invalid std::vector access (visible with tests on hardened systems)
+
+From: Mattias Ellert <mattias.ellert@physics.uu.se>
+Bug: https://github.com/scitokens/scitokens-cpp/pull/126
+Bug: https://bugs.gentoo.org/922679
+
+---
+ src/scitokens_internal.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/src/scitokens_internal.cpp
++++ b/src/scitokens_internal.cpp
+@@ -978,9 +978,9 @@ bool scitokens::Validator::store_public_ec_key(const std::string &issuer,
+ auto x_num = BN_num_bytes(x_bignum.get());
+ auto y_num = BN_num_bytes(y_bignum.get());
+ std::vector<unsigned char> x_bin;
+- x_bin.reserve(x_num);
++ x_bin.resize(x_num);
+ std::vector<unsigned char> y_bin;
+- y_bin.reserve(y_num);
++ y_bin.resize(y_num);
+ BN_bn2bin(x_bignum.get(), &x_bin[0]);
+ BN_bn2bin(y_bignum.get(), &y_bin[0]);
+ std::string x_str(reinterpret_cast<char *>(&x_bin[0]), x_num);
diff --git a/dev-cpp/scitokens-cpp/scitokens-cpp-1.0.2-r2.ebuild b/dev-cpp/scitokens-cpp/scitokens-cpp-1.0.2-r2.ebuild
new file mode 100644
index 000000000000..9cc0a0384407
--- /dev/null
+++ b/dev-cpp/scitokens-cpp/scitokens-cpp-1.0.2-r2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/scitokens/scitokens-cpp"
+else
+ SRC_URI="https://github.com/scitokens/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="C++ implementation of the SciTokens library with a C library interface"
+HOMEPAGE="https://scitokens.org/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="test"
+
+DEPEND="
+ dev-cpp/jwt-cpp[picojson]
+ dev-db/sqlite
+ dev-libs/openssl:0=
+ net-misc/curl:0=
+ kernel_linux? ( sys-apps/util-linux )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( dev-cpp/gtest )
+"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1.0-invalid-vector-access.patch
+)
+
+src_prepare() {
+ # Unbundle dev-cpp/gtest, dev-cpp/jwt-cpp
+ rm -r vendor || die
+ # Fix include path for picojson.
+ find src/ \( -name '*.cpp' -o -name '*.h' \) -type f -print0 | \
+ xargs -0 sed -r -e "s:picojson/picojson\.h:picojson.h:g" -i || die
+ # Disable network-based tests relying on external services.
+ if use test; then
+ sed -i -e '/^TEST_F/s#RefreshTest#DISABLED_RefreshTest#' \
+ -e '/^TEST_F/s#RefreshExpiredTest#DISABLED_RefreshExpiredTest#' test/main.cpp || die
+ fi
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSCITOKENS_BUILD_UNITTESTS="$(usex test)"
+ -DSCITOKENS_EXTERNAL_GTEST=YES
+ )
+ cmake_src_configure
+}
diff --git a/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild b/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..9cc0a0384407
--- /dev/null
+++ b/dev-cpp/scitokens-cpp/scitokens-cpp-1.1.0-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/scitokens/scitokens-cpp"
+else
+ SRC_URI="https://github.com/scitokens/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="C++ implementation of the SciTokens library with a C library interface"
+HOMEPAGE="https://scitokens.org/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="test"
+
+DEPEND="
+ dev-cpp/jwt-cpp[picojson]
+ dev-db/sqlite
+ dev-libs/openssl:0=
+ net-misc/curl:0=
+ kernel_linux? ( sys-apps/util-linux )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( dev-cpp/gtest )
+"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1.0-invalid-vector-access.patch
+)
+
+src_prepare() {
+ # Unbundle dev-cpp/gtest, dev-cpp/jwt-cpp
+ rm -r vendor || die
+ # Fix include path for picojson.
+ find src/ \( -name '*.cpp' -o -name '*.h' \) -type f -print0 | \
+ xargs -0 sed -r -e "s:picojson/picojson\.h:picojson.h:g" -i || die
+ # Disable network-based tests relying on external services.
+ if use test; then
+ sed -i -e '/^TEST_F/s#RefreshTest#DISABLED_RefreshTest#' \
+ -e '/^TEST_F/s#RefreshExpiredTest#DISABLED_RefreshExpiredTest#' test/main.cpp || die
+ fi
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSCITOKENS_BUILD_UNITTESTS="$(usex test)"
+ -DSCITOKENS_EXTERNAL_GTEST=YES
+ )
+ cmake_src_configure
+}