Gentoo Archives: gentoo-commits

From: Aisha Tammy <gentoo@×××××.cc>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: net-libs/picotls/files/, net-libs/picotls/
Date: Sat, 03 Sep 2022 04:33:39
Message-Id: 1662179608.35d4b669edb6a86c9288f043e579003cd353a314.epsilon-0@gentoo
1 commit: 35d4b669edb6a86c9288f043e579003cd353a314
2 Author: Aisha Tammy <gentoo <AT> aisha <DOT> cc>
3 AuthorDate: Sat Sep 3 04:33:13 2022 +0000
4 Commit: Aisha Tammy <gentoo <AT> aisha <DOT> cc>
5 CommitDate: Sat Sep 3 04:33:28 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=35d4b669
7
8 net-libs/picotls: new package, add 0_pre20220721, 9999
9
10 Signed-off-by: Aisha Tammy <gentoo <AT> aisha.cc>
11
12 net-libs/picotls/Manifest | 2 +
13 .../files/picotls-0_pre20220721-disable-e2e.patch | 22 ++++++++
14 net-libs/picotls/metadata.xml | 11 ++++
15 net-libs/picotls/picotls-0_pre20220721.ebuild | 59 ++++++++++++++++++++++
16 net-libs/picotls/picotls-9999.ebuild | 59 ++++++++++++++++++++++
17 5 files changed, 153 insertions(+)
18
19 diff --git a/net-libs/picotls/Manifest b/net-libs/picotls/Manifest
20 new file mode 100644
21 index 000000000..ff48e25db
22 --- /dev/null
23 +++ b/net-libs/picotls/Manifest
24 @@ -0,0 +1,2 @@
25 +DIST picotls-0_pre20220721-test.tar.gz 1564 BLAKE2B 1241a705efbdfdc470f5673ead6abb19c61f09524591c1be582dc03a9cc2e20f71a864a1af9bd0f8c0466ee8c731f8c7c5fdada3ef39fb7efb26e54249a47f69 SHA512 96e4c937b22da29ff60ea693fed73209e43dc05c399b6e819279da60d481fe75d4064b854b2a13b67991f085a434d6e812f0bee65546282b0fc81d11a0a38fa5
26 +DIST picotls-0_pre20220721.tar.gz 589468 BLAKE2B f3c11599b8f943b58b41a040904091094a694ba402703e2e831ac5a7d2f7609ec842462df2de6ddafd0acf62ada63e4aa88eb51a6e4260783dc41885d607e3b0 SHA512 af476ae078d6122f5bcac75e921229808b850c2d0706b09ac7d9bea50998a61b20243c1b547f151a42a0ccabdca04aa00b6c918275cc2f8fcf15a3710d5c805c
27
28 diff --git a/net-libs/picotls/files/picotls-0_pre20220721-disable-e2e.patch b/net-libs/picotls/files/picotls-0_pre20220721-disable-e2e.patch
29 new file mode 100644
30 index 000000000..b8f6744f1
31 --- /dev/null
32 +++ b/net-libs/picotls/files/picotls-0_pre20220721-disable-e2e.patch
33 @@ -0,0 +1,22 @@
34 +diff --git a/CMakeLists.txt b/CMakeLists.txt
35 +index a309d7b..3160e89 100644
36 +--- a/CMakeLists.txt
37 ++++ b/CMakeLists.txt
38 +@@ -31,7 +31,7 @@ IF (WITH_FUSION)
39 + MESSAGE(STATUS "Enabling 'fusion' AES-GCM engine")
40 + ENDIF ()
41 +
42 +-SET(CMAKE_C_FLAGS "-std=c99 -Wall -O2 -g ${CC_WARNING_FLAGS} ${CMAKE_C_FLAGS}")
43 ++SET(CMAKE_C_FLAGS "-std=c99 -Wall -g ${CC_WARNING_FLAGS} ${CMAKE_C_FLAGS}")
44 + INCLUDE_DIRECTORIES(
45 + deps/cifra/src/ext
46 + deps/cifra/src
47 +@@ -178,7 +178,7 @@ IF (NOT WITH_FUSION)
48 + SET_TARGET_PROPERTIES(ptlsbench PROPERTIES EXCLUDE_FROM_ALL 1)
49 + ENDIF ()
50 +
51 +-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)
52 ++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)
53 +
54 + IF (CMAKE_SYSTEM_NAME STREQUAL "Linux")
55 + SET(CMAKE_C_FLAGS "-D_GNU_SOURCE -pthread ${CMAKE_C_FLAGS}")
56
57 diff --git a/net-libs/picotls/metadata.xml b/net-libs/picotls/metadata.xml
58 new file mode 100644
59 index 000000000..5737fc3ce
60 --- /dev/null
61 +++ b/net-libs/picotls/metadata.xml
62 @@ -0,0 +1,11 @@
63 +<?xml version="1.0" encoding="UTF-8"?>
64 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
65 +<pkgmetadata>
66 + <maintainer type="person">
67 + <email>gentoo@×××××.cc</email>
68 + <name>Aisha Tammy</name>
69 + </maintainer>
70 + <use>
71 + <flag name="fusion">"fusion" AES-GCM engine, optimized for QUIC and other protocols that use short AEAD blocks</flag>
72 + </use>
73 +</pkgmetadata>
74
75 diff --git a/net-libs/picotls/picotls-0_pre20220721.ebuild b/net-libs/picotls/picotls-0_pre20220721.ebuild
76 new file mode 100644
77 index 000000000..93feeeea7
78 --- /dev/null
79 +++ b/net-libs/picotls/picotls-0_pre20220721.ebuild
80 @@ -0,0 +1,59 @@
81 +# Copyright 2022 Gentoo Authors
82 +# Distributed under the terms of the GNU General Public License v2
83 +
84 +EAPI=8
85 +
86 +inherit cmake
87 +
88 +DESCRIPTION="TLS 1.3 implementation in C"
89 +HOMEPAGE="https://github.com/h2o/picotls"
90 +
91 +if [[ ${PV} == 9999 ]]; then
92 + inherit git-r3
93 + EGIT_REPO_URI="https://github.com/h2o/picotls"
94 +else
95 + PTLS_COMMIT="7970614ad049d194fe1691bdf0cc66c6930a3a2f"
96 + PTLS_TEST_COMMIT="f390562fd4d6919807441721ec05b08f6d8c8d9c"
97 + SRC_URI="
98 + https://github.com/h2o/picotls/archive/${PTLS_COMMIT}.tar.gz -> ${P}.tar.gz
99 + https://github.com/h2o/picotest/archive/${PTLS_TEST_COMMIT}.tar.gz -> ${P}-test.tar.gz
100 + "
101 + KEYWORDS="~amd64"
102 + S="${WORKDIR}/picotls-${PTLS_COMMIT}"
103 +fi
104 +
105 +LICENSE="MIT"
106 +SLOT="0"
107 +
108 +PTLS_FLAGS_X86_RAW=( avx2 aes pclmul )
109 +PTLS_FLAGS=( "${PTLS_FLAGS_X86_RAW[@]/#/cpu_flags_x86_}" )
110 +IUSE="fusion test ${PTLS_FLAGS[@]}"
111 +REQUIRED_USE="fusion? ( ${PTLS_FLAGS[@]} )"
112 +RESTRICT="!test? ( test )"
113 +
114 +DEPEND="
115 + app-arch/brotli
116 +"
117 +RDEPEND="${DEPEND}"
118 +
119 +PATCHES=( "${FILESDIR}/${PN}-0_pre20220721-disable-e2e.patch" )
120 +
121 +src_prepare() {
122 + if [[ -d "${WORKDIR}/picotest-${PTLS_TEST_COMMIT}" ]] ; then
123 + rmdir "${S}/deps/picotest" || die
124 + mv "${WORKDIR}/picotest-${PTLS_TEST_COMMIT}/" "${S}/deps/picotest" || die
125 + fi
126 + cmake_src_prepare
127 +}
128 +
129 +src_configure() {
130 + local mycmakeargs=(
131 + -DWITH_DTRACE=OFF
132 + -DWITH_FUSION=$(usex fusion ON OFF)
133 + )
134 + cmake_src_configure
135 +}
136 +
137 +src_test() {
138 + cmake_build check
139 +}
140
141 diff --git a/net-libs/picotls/picotls-9999.ebuild b/net-libs/picotls/picotls-9999.ebuild
142 new file mode 100644
143 index 000000000..93feeeea7
144 --- /dev/null
145 +++ b/net-libs/picotls/picotls-9999.ebuild
146 @@ -0,0 +1,59 @@
147 +# Copyright 2022 Gentoo Authors
148 +# Distributed under the terms of the GNU General Public License v2
149 +
150 +EAPI=8
151 +
152 +inherit cmake
153 +
154 +DESCRIPTION="TLS 1.3 implementation in C"
155 +HOMEPAGE="https://github.com/h2o/picotls"
156 +
157 +if [[ ${PV} == 9999 ]]; then
158 + inherit git-r3
159 + EGIT_REPO_URI="https://github.com/h2o/picotls"
160 +else
161 + PTLS_COMMIT="7970614ad049d194fe1691bdf0cc66c6930a3a2f"
162 + PTLS_TEST_COMMIT="f390562fd4d6919807441721ec05b08f6d8c8d9c"
163 + SRC_URI="
164 + https://github.com/h2o/picotls/archive/${PTLS_COMMIT}.tar.gz -> ${P}.tar.gz
165 + https://github.com/h2o/picotest/archive/${PTLS_TEST_COMMIT}.tar.gz -> ${P}-test.tar.gz
166 + "
167 + KEYWORDS="~amd64"
168 + S="${WORKDIR}/picotls-${PTLS_COMMIT}"
169 +fi
170 +
171 +LICENSE="MIT"
172 +SLOT="0"
173 +
174 +PTLS_FLAGS_X86_RAW=( avx2 aes pclmul )
175 +PTLS_FLAGS=( "${PTLS_FLAGS_X86_RAW[@]/#/cpu_flags_x86_}" )
176 +IUSE="fusion test ${PTLS_FLAGS[@]}"
177 +REQUIRED_USE="fusion? ( ${PTLS_FLAGS[@]} )"
178 +RESTRICT="!test? ( test )"
179 +
180 +DEPEND="
181 + app-arch/brotli
182 +"
183 +RDEPEND="${DEPEND}"
184 +
185 +PATCHES=( "${FILESDIR}/${PN}-0_pre20220721-disable-e2e.patch" )
186 +
187 +src_prepare() {
188 + if [[ -d "${WORKDIR}/picotest-${PTLS_TEST_COMMIT}" ]] ; then
189 + rmdir "${S}/deps/picotest" || die
190 + mv "${WORKDIR}/picotest-${PTLS_TEST_COMMIT}/" "${S}/deps/picotest" || die
191 + fi
192 + cmake_src_prepare
193 +}
194 +
195 +src_configure() {
196 + local mycmakeargs=(
197 + -DWITH_DTRACE=OFF
198 + -DWITH_FUSION=$(usex fusion ON OFF)
199 + )
200 + cmake_src_configure
201 +}
202 +
203 +src_test() {
204 + cmake_build check
205 +}