testing/libmsquic: new aport

This commit is contained in:
Ahmet Ibrahim Aksoy 2024-08-25 10:52:45 +02:00 committed by ptrcnull
parent 5f275e6e54
commit 1624ddb05d

108
testing/libmsquic/APKBUILD Normal file
View file

@ -0,0 +1,108 @@
# Contributor: Ahmet Ibrahim AKSOY <aaksoy@microsoft.com>
# Maintainer: Microsoft QUIC Team <quicdev@microsoft.com>
pkgname=libmsquic
pkgver=2.4.4
pkgrel=0
_clog=f13417108b0f77260baec4784cf104fb9aff7576
_gtest=ff233bdd4cac0a0bf6e5cd45bda3406814cb2796
_openssl3=330feef3dcb69d95cd752d54cb9254b366bdc7cf
_gost_engine=2a8a5e0ecaa3e3d6f4ec722a49aa72476755c2b7
_libprov=8a126e09547630ef900177625626b6156052f0ee
_krb5=aa9b4a2a64046afd2fab7cb49c346295874a5fb6
_oqs_provider=3f3d8a8cf331c73a26fe93a598273997cb54eb4f
_pyca_cryptography=c18d0567386414efa3caef7ed586c4ca75bf3a8b
_python_ecdsa=4de8d5bf89089d1140eb99aa5d7eb2dc8e6337b6
_tlsfuzzer=dbd56c149072e656ca8d6a43a59588f3e7513da2
_tlslite_ng=771e9f59d639dbb0e2fa8e646c8e588405d3903e
_wycheproof=2196000605e45d91097147c9c71f26b72af58003
pkgdesc="Cross-platform, C implementation of the IETF QUIC protocol, exposed to C, C++, C# and Rust."
url="https://github.com/microsoft/msquic"
arch="x86_64 armv7 aarch64"
license="MIT"
makedepends="cmake numactl-dev linux-headers lttng-ust-dev openssl-dev perl xz"
checkdepends="perf"
subpackages="$pkgname-dev $pkgname-doc"
source="msquic-$pkgver.tar.gz::https://github.com/microsoft/msquic/archive/refs/tags/v$pkgver.tar.gz
clog-$_clog.tar.gz::https://github.com/microsoft/CLOG/archive/$_clog.tar.gz
gtest-$_gtest.tar.gz::https://github.com/google/googletest/archive/$_gtest.tar.gz
openssl3-$_openssl3.tar.gz::https://github.com/quictls/openssl/archive/$_openssl3.tar.gz
gost-engine-$_gost_engine.tar.gz::https://github.com/gost-engine/engine/archive/$_gost_engine.tar.gz
libprov-$_libprov.tar.gz::https://github.com/provider-corner/libprov/archive/$_libprov.tar.gz
krb5-$_krb5.tar.gz::https://github.com/krb5/krb5/archive/$_krb5.tar.gz
oqs-provider-$_oqs_provider.tar.gz::https://github.com/open-quantum-safe/oqs-provider/archive/$_oqs_provider.tar.gz
pyca-cryptography-$_pyca_cryptography.tar.gz::https://github.com/pyca/cryptography/archive/$_pyca_cryptography.tar.gz
python-ecdsa-$_python_ecdsa.tar.gz::https://github.com/tlsfuzzer/python-ecdsa/archive/$_python_ecdsa.tar.gz
tlsfuzzer-$_tlsfuzzer.tar.gz::https://github.com/tlsfuzzer/tlsfuzzer/archive/$_tlsfuzzer.tar.gz
tlslite-ng-$_tlslite_ng.tar.gz::https://github.com/tlsfuzzer/tlslite-ng/archive/$_tlslite_ng.tar.gz
wycheproof-$_wycheproof.tar.gz::https://github.com/google/wycheproof/archive/$_wycheproof.tar.gz
"
builddir="$srcdir/msquic-$pkgver"
prepare() {
default_prepare
rm -rf \
openssl-*/gost-engine \
openssl-*/krb5 \
openssl-*/oqs-provider \
openssl-*/pyca-cryptography \
openssl-*/python-ecdsa \
openssl-*/tlsfuzzer \
openssl-*/tlslite-ng \
openssl-*/wycheproof \
engine-*/libprov
cd "$builddir/submodules"
rm -rf clog googletest openssl openssl3 xdp-for-windows
mv ../../CLOG-*/ clog/
mv ../../googletest-*/ googletest/
mv ../../openssl-*/ openssl3/
mv ../../engine-*/ openssl3/gost-engine/
mv ../../libprov-*/ openssl3/gost-engine/libprov
mv ../../krb5-*/ openssl3/krb5/
mv ../../oqs-provider-*/ openssl3/oqs-provider/
mv ../../cryptography-*/ openssl3/pyca-cryptography/
mv ../../python-ecdsa-*/ openssl3/python-ecdsa/
mv ../../tlsfuzzer-*/ openssl3/tlsfuzzer/
mv ../../tlslite-ng-*/ openssl3/tlslite-ng/
mv ../../wycheproof-*/ openssl3/wycheproof/
}
build() {
cmake -B build \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DQUIC_TLS=openssl3 \
-DQUIC_ENABLE_LOGGING=true \
-DQUIC_USE_SYSTEM_LIBCRYPTO=true \
-DQUIC_BUILD_TOOLS=off \
-DQUIC_BUILD_TEST=on \
-DQUIC_BUILD_PERF=off
cmake --build build
}
check() {
build/bin/Release/msquictest --gtest_filter=ParameterValidation.ValidateApi
}
package() {
DESTDIR="$pkgdir" cmake --install build
rm -rf "$pkgdir"/usr/share/msquic/
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
sha512sums="
87bb96bc77c30a39e419be2592199de8f9fa74179852637d2902c50d555bad24d2a664b888434fbc1df461ece69a52097634a47f0edbb78b0b0eed6e5a94033f msquic-2.4.4.tar.gz
1eac9dc1227b003f65e736becc90ab455394f2982e6c1802508dfcd2b43bcbe6e718b1e6beaa7f6ffd0e7eb0b6a91ae94802b535388b50d25b1c78d666d7ad8d clog-f13417108b0f77260baec4784cf104fb9aff7576.tar.gz
056b9503e54b96d5bb424f4088fafa53e416373def7d444b0f7a587b657a9aea9e1d9d74b1f64820d1946fd1ac3fe1654ad70da2649a27f70063352573015c82 gtest-ff233bdd4cac0a0bf6e5cd45bda3406814cb2796.tar.gz
92c144cabc5fbff5f019cdcdad21ed5afebe4ee597ee28140b999b77c8d16d76d33b724104c8b7aa1eb7e7ee0f83b9759a6841477528cec2127e674ac75121dc openssl3-330feef3dcb69d95cd752d54cb9254b366bdc7cf.tar.gz
7442aa3ec6bffd2712c0d94386ef8a1805bbeac880f6ebde00cd3f136a8aa756b2fd392f9ac7d54a29f1c00c13ad05c374ce941d55b1f8f362f64b58115f836c gost-engine-2a8a5e0ecaa3e3d6f4ec722a49aa72476755c2b7.tar.gz
4633ca9ad21585483dbaf28e416f0f3416c814bb41b0ccf036e438275d83393e70ed1c2cd0298fc87d8e928074a7afcf3971a0d790014cc0d200c92bb2defe4d libprov-8a126e09547630ef900177625626b6156052f0ee.tar.gz
a626a322e5f05d85a8e7029d05be844a4ca37f94fbf23fad2f0979f197678399ac05aaaeb0896f9f3414be899e16943b5388df36b6d7e7ada676a4761baba45f krb5-aa9b4a2a64046afd2fab7cb49c346295874a5fb6.tar.gz
6d4590e0046027b405466cdcfa3a7b84336ac022a14637a2a4c87322ba4d83aba850e54fbcfdf8bc690bdd72a27fd809263dc379a91ee6442c4e4d257f69090e oqs-provider-3f3d8a8cf331c73a26fe93a598273997cb54eb4f.tar.gz
164c2a18204ff5a6b17b577ec6ebdc4fa623d2b2d83e24589e72673ab7c34c531278cafd93296f772bff5f14e741f65b0211f8417b86b86deda47df0f19669ad pyca-cryptography-c18d0567386414efa3caef7ed586c4ca75bf3a8b.tar.gz
4cc88d755f0eec98d78c05c344ed12b6d67c163770ccd35ff6ac7e44402574ea58143f01117bff656097db313f7f0dbfe00df803be82d447dc98f41e4e166d71 python-ecdsa-4de8d5bf89089d1140eb99aa5d7eb2dc8e6337b6.tar.gz
bfce1529bae36dc4f674108f8f5c10b12ed813a7085f84ee9e00fdb74b57c2db1e1a11b35bcac5d241477e6e5ae35715d6588db5a4ca3a480330582ffcb98a5f tlsfuzzer-dbd56c149072e656ca8d6a43a59588f3e7513da2.tar.gz
36588a12d91bd13e34f7e79c9ca50a018f6ecaf8b4adca91382a57facd6cbc43dd45f8501cddcbfde5fc7583fc7766b06cb0ffc1fa6102e69e6a020ef2fb3fd1 tlslite-ng-771e9f59d639dbb0e2fa8e646c8e588405d3903e.tar.gz
4686f2550aa5c555ba6a18c21e0871056607c747815242755b9a48ab5ae93ffb000b9adc0b4c2d6208835871d67a6f42381cf517ebd8d215753c58c8971f5e03 wycheproof-2196000605e45d91097147c9c71f26b72af58003.tar.gz
"