# Contributor: TangShaoteng <tangshaoteng@163.com>
# Maintainer: TangShaoteng <tangshaoteng@163.com>

pkgname=soxr
pkgver=0.1.3
pkgrel=0
pkgdesc="The SoX Resampler library 'libsoxr' performs one-dimensional sample-rate conversion—it may be used, for example, to resample PCM-encoded audio."
url="https://sourceforge.net/projects/soxr/"
archs=("armeabi-v7a" "arm64-v8a")
license=("LGPL v2.1 or later")
depends=()
makedepends=()

source="https://sourceforge.net/projects/$pkgname/files/$pkgname-$pkgver-Source.tar.xz"

autounpack=true
downloadpackage=true
buildtools="cmake"
builddir=$pkgname-$pkgver-Source
packagename=$builddir.tar.xz

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

build() {
    cd $builddir
    # 交叉编译不支持ctest,故关闭tests打开examples,使用examples进行测试
    PKG_CONFIG_LIBDIR="${pkgconfigpath}" \
    ${OHOS_SDK}/native/build-tools/cmake/bin/cmake "$@" \
    -DOHOS_ARCH=$ARCH -DBUILD_EXAMPLES=1 -DBUILD_TESTS=0 \
    -B$ARCH-build -S./ -L > $buildlog 2>&1
    $MAKE VERBOSE=1 -C $ARCH-build >> $buildlog 2>&1
    ret=$?
    cd $OLDPWD
    return $ret
}

package() {
    cd $builddir
    $MAKE -C $ARCH-build install >> $buildlog 2>&1
    cd $OLDPWD
}

check() {
    echo "The test must be on an OpenHarmony device!"
    # real test
    # export LD_LIBRARY_PATH=$LYCIUM_ROOT/main/soxr/$builddir/$ARCH-build/src
    # cd $ARCH-build/examples
    # ./1-single-block 44100 48000
    # ./1a-lsr 44100 48000
    # cat ../../../bootsound_1ch.raw | ./2-stream 44100 48000 > test2_dst.raw
    # cat ../../../bootsound_2ch.raw | ./3-options-input-fn 44100 48000 2 > test3_dst.raw
    # cat ../../../bootsound_2ch.raw | ./4-split-channels 44100 48000 2 0 4 > test4_dst.raw
    # ./5-variable-rate 0 > test5_dst.raw
}

cleanbuild() {
    rm -rf ${PWD}/$builddir #${PWD}/$packagename
}