mirror of
https://github.com/ivabus/pantry
synced 2024-11-30 12:15:06 +03:00
61 lines
1.4 KiB
YAML
61 lines
1.4 KiB
YAML
distributable:
|
||
url: https://github.com/xiph/opus/archive/refs/tags/v{{ version.raw }}.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
|