Cchengkanadd ngtcp2
a2fe752a创建于 2023年7月11日历史提交
# Contributor: chengkan <kanchengc@isoftstone.com>
# Maintainer: chengkan <kanchengc@isoftstone.com>
pkgname=ngtcp2
pkgver=v0.16.0
pkgrel=0
pkgdesc="ngtcp2 project is an effort to implement RFC9000 QUIC protocol"
url="https://github.com/ngtcp2/ngtcp2"
archs=("armeabi-v7a" "arm64-v8a")
license=("MIT")
depends=("CUnit" "openssl_quic" "nghttp3")
makedepends=()

source="https://github.com/ngtcp2/$pkgname/archive/refs/tags/$pkgver.tar.gz"

autounpack=true
downloadpackage=true

builddir=$pkgname-${pkgver:1}
packagename=$builddir.tar.gz

prepare() {
    mkdir -p $builddir/$ARCH-build
}

build() {
    cd $builddir
    # ohos的cmake 3.16 版本不支持 CMakeCCompiler.cmake:45:set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") 这个变量,所以使用编译机3.26版本的cmake
    cmake "$@" -DOHOS_ARCH=$ARCH -B$ARCH-build -S./ -L > `pwd`/$ARCH-build/build.log 2>&1
    # main是ngtcp2的单元测试程序 需要一起编译出来
    make VERBOSE=1 -j4 -C $ARCH-build >> `pwd`/$ARCH-build/build.log 2>&1 && make VERBOSE=1 -j4 main -C $ARCH-build >> `pwd`/$ARCH-build/build.log 2>&1
    ret=$?
    cd $OLDPWD
    return $ret
}

package() {
    cd "$builddir"
    make -C $ARCH-build install >> `pwd`/$ARCH-build/build.log 2>&1
    cd $OLDPWD
}

check() {
    echo "The test must be on an OpenHarmony device!"
    # 设置LD_LIBRARY_PATH环境变量
    # ctest测试
}

# 清理环境
cleanbuild() {
    rm -rf ${PWD}/$builddir #${PWD}/$packagename
}