mirror of
https://github.com/ivabus/pantry
synced 2024-11-27 10:45:08 +03:00
62 lines
1.4 KiB
YAML
62 lines
1.4 KiB
YAML
|
distributable:
|
|||
|
url: https://github.com/xiph/opus/archive/refs/tags/v{{ version }}.tar.gz
|
|||
|
strip-components: 1
|
|||
|
|
|||
|
# if there’s a github then we can parse the versions
|
|||
|
versions:
|
|||
|
github: xiph/opus/tags # reads github tags from github
|
|||
|
strip: /^v/
|
|||
|
|
|||
|
build:
|
|||
|
dependencies:
|
|||
|
tea.xyz/gx/cc: c99
|
|||
|
tea.xyz/gx/make: '*'
|
|||
|
gnu.org/autoconf: 2
|
|||
|
gnu.org/automake: 1.16
|
|||
|
gnu.org/libtool: 2.4
|
|||
|
script: |
|
|||
|
./autogen.sh
|
|||
|
./configure $ARGS
|
|||
|
make --jobs {{ hw.concurrency }}
|
|||
|
make install
|
|||
|
|
|||
|
mv {{ prefix}}/include/opus/* {{prefix}}/include
|
|||
|
rmdir {{ prefix}}/include/opus
|
|||
|
ln -s . {{ prefix }}/include/opus
|
|||
|
# it’s extremely common for packages to require the above
|
|||
|
env:
|
|||
|
ARGS:
|
|||
|
- --prefix={{ prefix }}
|
|||
|
- --disable-dependency-tracking
|
|||
|
- --disable-doc
|
|||
|
|
|||
|
test:
|
|||
|
dependencies:
|
|||
|
tea.xyz/gx/cc: c99
|
|||
|
fixture: |
|
|||
|
#include <opus.h>
|
|||
|
int main(int argc, char **argv)
|
|||
|
{
|
|||
|
int err = 0;
|
|||
|
opus_int32 rate = 48000;
|
|||
|
int channels = 2;
|
|||
|
int app = OPUS_APPLICATION_AUDIO;
|
|||
|
OpusEncoder *enc;
|
|||
|
int ret;
|
|||
|
enc = opus_encoder_create(rate, channels, app, &err);
|
|||
|
if (!(err < 0))
|
|||
|
{
|
|||
|
err = opus_encoder_ctl(enc, OPUS_SET_BITRATE(OPUS_AUTO));
|
|||
|
if (!(err < 0))
|
|||
|
{
|
|||
|
opus_encoder_destroy(enc);
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
return err;
|
|||
|
}
|
|||
|
script: |
|
|||
|
mv $FIXTURE fixture.cpp
|
|||
|
cc fixture.cpp -lopus
|
|||
|
./a.out
|