commit:     35d4b669edb6a86c9288f043e579003cd353a314
Author:     Aisha Tammy <gentoo <AT> aisha <DOT> cc>
AuthorDate: Sat Sep  3 04:33:13 2022 +0000
Commit:     Ronny Gutbrod <gentoo <AT> tastytea <DOT> de>
CommitDate: Sat Sep  3 04:33:28 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=35d4b669

net-libs/picotls: new package, add 0_pre20220721, 9999

Signed-off-by: Aisha Tammy <gentoo <AT> aisha.cc>

 net-libs/picotls/Manifest                          |  2 +
 .../files/picotls-0_pre20220721-disable-e2e.patch  | 22 ++++++++
 net-libs/picotls/metadata.xml                      | 11 ++++
 net-libs/picotls/picotls-0_pre20220721.ebuild      | 59 ++++++++++++++++++++++
 net-libs/picotls/picotls-9999.ebuild               | 59 ++++++++++++++++++++++
 5 files changed, 153 insertions(+)

diff --git a/net-libs/picotls/Manifest b/net-libs/picotls/Manifest
new file mode 100644
index 000000000..ff48e25db
--- /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 000000000..b8f6744f1
--- /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 000000000..5737fc3ce
--- /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>gen...@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 000000000..93feeeea7
--- /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 000000000..93feeeea7
--- /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
+}

Reply via email to