aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAisha Tammy <gentoo@aisha.cc>2022-09-03 04:33:13 +0000
committerAisha Tammy <gentoo@aisha.cc>2022-09-03 04:33:28 +0000
commit35d4b669edb6a86c9288f043e579003cd353a314 (patch)
treefe6a46467393373d091a6dcb34d31ab509f6a07d
parentapp-misc/ledger-live: update install phase (diff)
downloadguru-35d4b669.tar.gz
guru-35d4b669.tar.bz2
guru-35d4b669.zip
net-libs/picotls: new package, add 0_pre20220721, 9999
Signed-off-by: Aisha Tammy <gentoo@aisha.cc>
-rw-r--r--net-libs/picotls/Manifest2
-rw-r--r--net-libs/picotls/files/picotls-0_pre20220721-disable-e2e.patch22
-rw-r--r--net-libs/picotls/metadata.xml11
-rw-r--r--net-libs/picotls/picotls-0_pre20220721.ebuild59
-rw-r--r--net-libs/picotls/picotls-9999.ebuild59
5 files changed, 153 insertions, 0 deletions
diff --git a/net-libs/picotls/Manifest b/net-libs/picotls/Manifest
new file mode 100644
index 0000000000..ff48e25db6
--- /dev/null
+++ b/net-libs/picotls/Manifest
@@ -0,0 +1,2 @@
+DIST picotls-0_pre20220721-test.tar.gz 1564 BLAKE2B 1241a705efbdfdc470f5673ead6abb19c61f09524591c1be582dc03a9cc2e20f71a864a1af9bd0f8c0466ee8c731f8c7c5fdada3ef39fb7efb26e54249a47f69 SHA512 96e4c937b22da29ff60ea693fed73209e43dc05c399b6e819279da60d481fe75d4064b854b2a13b67991f085a434d6e812f0bee65546282b0fc81d11a0a38fa5
+DIST picotls-0_pre20220721.tar.gz 589468 BLAKE2B f3c11599b8f943b58b41a040904091094a694ba402703e2e831ac5a7d2f7609ec842462df2de6ddafd0acf62ada63e4aa88eb51a6e4260783dc41885d607e3b0 SHA512 af476ae078d6122f5bcac75e921229808b850c2d0706b09ac7d9bea50998a61b20243c1b547f151a42a0ccabdca04aa00b6c918275cc2f8fcf15a3710d5c805c
diff --git a/net-libs/picotls/files/picotls-0_pre20220721-disable-e2e.patch b/net-libs/picotls/files/picotls-0_pre20220721-disable-e2e.patch
new file mode 100644
index 0000000000..b8f6744f19
--- /dev/null
+++ b/net-libs/picotls/files/picotls-0_pre20220721-disable-e2e.patch
@@ -0,0 +1,22 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a309d7b..3160e89 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -31,7 +31,7 @@ IF (WITH_FUSION)
+ MESSAGE(STATUS "Enabling 'fusion' AES-GCM engine")
+ ENDIF ()
+
+-SET(CMAKE_C_FLAGS "-std=c99 -Wall -O2 -g ${CC_WARNING_FLAGS} ${CMAKE_C_FLAGS}")
++SET(CMAKE_C_FLAGS "-std=c99 -Wall -g ${CC_WARNING_FLAGS} ${CMAKE_C_FLAGS}")
+ INCLUDE_DIRECTORIES(
+ deps/cifra/src/ext
+ deps/cifra/src
+@@ -178,7 +178,7 @@ IF (NOT WITH_FUSION)
+ SET_TARGET_PROPERTIES(ptlsbench PROPERTIES EXCLUDE_FROM_ALL 1)
+ ENDIF ()
+
+-ADD_CUSTOM_TARGET(check env BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} prove --exec '' -v ${CMAKE_CURRENT_BINARY_DIR}/*.t t/*.t WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS ${TEST_EXES} cli)
++ADD_CUSTOM_TARGET(check env BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} prove --exec '' -v ${CMAKE_CURRENT_BINARY_DIR}/*.t WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS ${TEST_EXES} cli)
+
+ IF (CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ SET(CMAKE_C_FLAGS "-D_GNU_SOURCE -pthread ${CMAKE_C_FLAGS}")
diff --git a/net-libs/picotls/metadata.xml b/net-libs/picotls/metadata.xml
new file mode 100644
index 0000000000..5737fc3ce4
--- /dev/null
+++ b/net-libs/picotls/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gentoo@aisha.cc</email>
+ <name>Aisha Tammy</name>
+ </maintainer>
+ <use>
+ <flag name="fusion">"fusion" AES-GCM engine, optimized for QUIC and other protocols that use short AEAD blocks</flag>
+ </use>
+</pkgmetadata>
diff --git a/net-libs/picotls/picotls-0_pre20220721.ebuild b/net-libs/picotls/picotls-0_pre20220721.ebuild
new file mode 100644
index 0000000000..93feeeea7b
--- /dev/null
+++ b/net-libs/picotls/picotls-0_pre20220721.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="TLS 1.3 implementation in C"
+HOMEPAGE="https://github.com/h2o/picotls"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/h2o/picotls"
+else
+ PTLS_COMMIT="7970614ad049d194fe1691bdf0cc66c6930a3a2f"
+ PTLS_TEST_COMMIT="f390562fd4d6919807441721ec05b08f6d8c8d9c"
+ SRC_URI="
+ https://github.com/h2o/picotls/archive/${PTLS_COMMIT}.tar.gz -> ${P}.tar.gz
+ https://github.com/h2o/picotest/archive/${PTLS_TEST_COMMIT}.tar.gz -> ${P}-test.tar.gz
+ "
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/picotls-${PTLS_COMMIT}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+PTLS_FLAGS_X86_RAW=( avx2 aes pclmul )
+PTLS_FLAGS=( "${PTLS_FLAGS_X86_RAW[@]/#/cpu_flags_x86_}" )
+IUSE="fusion test ${PTLS_FLAGS[@]}"
+REQUIRED_USE="fusion? ( ${PTLS_FLAGS[@]} )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/brotli
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-0_pre20220721-disable-e2e.patch" )
+
+src_prepare() {
+ if [[ -d "${WORKDIR}/picotest-${PTLS_TEST_COMMIT}" ]] ; then
+ rmdir "${S}/deps/picotest" || die
+ mv "${WORKDIR}/picotest-${PTLS_TEST_COMMIT}/" "${S}/deps/picotest" || die
+ fi
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_DTRACE=OFF
+ -DWITH_FUSION=$(usex fusion ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_build check
+}
diff --git a/net-libs/picotls/picotls-9999.ebuild b/net-libs/picotls/picotls-9999.ebuild
new file mode 100644
index 0000000000..93feeeea7b
--- /dev/null
+++ b/net-libs/picotls/picotls-9999.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="TLS 1.3 implementation in C"
+HOMEPAGE="https://github.com/h2o/picotls"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/h2o/picotls"
+else
+ PTLS_COMMIT="7970614ad049d194fe1691bdf0cc66c6930a3a2f"
+ PTLS_TEST_COMMIT="f390562fd4d6919807441721ec05b08f6d8c8d9c"
+ SRC_URI="
+ https://github.com/h2o/picotls/archive/${PTLS_COMMIT}.tar.gz -> ${P}.tar.gz
+ https://github.com/h2o/picotest/archive/${PTLS_TEST_COMMIT}.tar.gz -> ${P}-test.tar.gz
+ "
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/picotls-${PTLS_COMMIT}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+PTLS_FLAGS_X86_RAW=( avx2 aes pclmul )
+PTLS_FLAGS=( "${PTLS_FLAGS_X86_RAW[@]/#/cpu_flags_x86_}" )
+IUSE="fusion test ${PTLS_FLAGS[@]}"
+REQUIRED_USE="fusion? ( ${PTLS_FLAGS[@]} )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/brotli
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-0_pre20220721-disable-e2e.patch" )
+
+src_prepare() {
+ if [[ -d "${WORKDIR}/picotest-${PTLS_TEST_COMMIT}" ]] ; then
+ rmdir "${S}/deps/picotest" || die
+ mv "${WORKDIR}/picotest-${PTLS_TEST_COMMIT}/" "${S}/deps/picotest" || die
+ fi
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_DTRACE=OFF
+ -DWITH_FUSION=$(usex fusion ON OFF)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cmake_build check
+}