12 Commits
Author SHA1 Message Date
Thomas Petazzoni 61271a6c55 package/asterisk: fix build caused by libjwt bump
In commit 770f915497, libjwt was bumped
from 1.17.2 to 3.2.0, which is a big bump. And the libjwt website
states "Version 3 of LibJWT is a complete overhaul of the code. Please
see documentation for usage."

And indeed, this version bump breaks the build of Asterisk:

res_stir_shaken/attestation.c: In function 'pack_payload':
res_stir_shaken/attestation.c:357:9: error: implicit declaration of function 'jwt_add_grants_json' [-Wimplicit-function-declaration]
  357 |         jwt_add_grants_json(jwt, payload_str);
      |         ^~~~~~~~~~~~~~~~~~~
In file included from /home/autobuild/autobuild/instance-11/output-1/build/asterisk-22.3.0/include/asterisk/module.h:39,
                 from res_stir_shaken/attestation.c:24:
res_stir_shaken/attestation.c: In function '_dtor_jwt':
res_stir_shaken/attestation.c:367:38: error: implicit declaration of function 'jwt_free'; did you mean 'jwks_free'? [-Wimplicit-function-declaration]
  367 |         RAII_VAR(jwt_t *, jwt, NULL, jwt_free);
      |                                      ^~~~~~~~

To fix this, let's use the bundled version of libjwt in Asterisk,
since even Asterisk master hasn't been fixed to be compatible with
libjwt 3.x.

Of course, this raises the question of whether the separate libjwt
package should be removed, as it is anyway only used by Asterisk.

Fixes:

  http://autobuild.buildroot.net/results/2d39791c65c5b71b0533d4b2bce5f073f5919552/

Cc: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Bernd: Added libopenssl dependency needed by bundled libjwt]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2025-11-12 21:46:51 +01:00
Yann E. MORIN 8996fedefb package/asterisk: needs libxcrypt with glibc
We unconditionally configure asterisk with --with-crypt, so the build
currently fails under glibc since it removed crypt in 2.39, and we
explicitly remove it from external toolchains as well, whatever the
version, causing build failures such as:

    checking for mandatory modules:  OPENSSL BKTR CRYPT ILBC JANSSON LIBEDIT LIBJWT LIBXML2 PJPROJECT SQLITE3 ZLIB... fail
    configure: ***
    configure: *** The CRYPT installation appears to be missing or broken.
    configure: *** Either correct the installation, or run configure
    configure: *** including --without-crypt.

Fixing this could be done in two ways: either make libxcrypt a mandatory
dependency under glibc, and continue unconditionally enabling crypt
support, or only enable crypt support when libxcrypt is available or
this was a non-glibc toolchain.

We chose the first option, to keep the existing behaviour (crypt support
is always enabled), to be aligned with other packages (libxcrypt is
selected under glibc toolchains), and because it is also the simplest.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2024-05-01 18:40:05 +02:00
Waldemar Brodkorb 0e6d4d2171 package/asterisk: bump to 20.7.0
See here for changes:
https://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-20-current.md

There is still an open issue reported upstream:
https://github.com/asterisk/asterisk/issues/671

But it seems it is not reproducible by the asterisk developers, so
update the package so others can make use of it.

Use the external pjsip package, instead of the bundled one.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2024-04-28 20:09:41 +02:00
Fabrice Fontaine a4c30b548d package/asterisk: needs threads
Fixes:
 - http://autobuild.buildroot.org/results/85d30a4f94efa868a9155f7dda593ba8079063b5

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-01-12 18:40:41 +01:00
Bernd Kuhls 81e5615052 package/asterisk: enable for uclibc toolchains
This patch extends the configure checks for re-entrant resolver
functions to fix uclibc builds.

Quoting Yann:
http://lists.busybox.net/pipermail/buildroot/2017-September/203004.html

"As a final stroke of genius, asterisk checks for the re-entrant variant
of res_ninit(), and concludes that all such functions are available,
including res_nsearch(). Uclibc-ng has the former but not the latter, so
the build fails. Since there is no cache variable for that check, we
can't pre-feed that result to configure, and fixing it is a bigger
endeavour. So we make asterisk depend on glibc for now, until someone
is brave enough to fix it."

Musl builds are still broken:

output/build/asterisk-16.0.0/include/asterisk/astmm.h:165:35:
 error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘->’ token
  Do_not_use_calloc__use_ast_calloc->fail(a, b)

output/build/asterisk-16.0.0/include/asterisk/astmm.h:169:77:
 error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘->’ token
  Do_not_use_free__use_ast_free_or_ast_std_free_for_remotely_allocated_memory->fail(a)

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-09 22:23:08 +01:00
Bernd Kuhls 78790d3e9c package/asterisk: bump version to 16.0.0
- removed patches applied upstream, re-numbered remaining patches
- not available for static builds anymore:
  https://github.com/asterisk/asterisk/commit/8e36064109b6fabc6cd8caa59e48f9b523c7485b
- fixed license hashes after upstream whitespace removal
  https://github.com/asterisk/asterisk/commit/fd0ca1c3f9b972a52d48a82b492fd6bac772dc78
- removed configure options not provided by upstream anymore
- fixed configure error, the file is included in asterisk source:
    checking for bridges/bridge_softmix/include/hrirs.h... configure:
    error: cannot check for file existence when cross compiling
- added "-without-pjproject-bundled" as noted in
  https://wiki.asterisk.org/wiki/display/AST/New+in+15
- upstream switched from ncurses to libedit:
  https://github.com/asterisk/asterisk/commit/d6fda173a40e078db219e9aaceb7f3ce9ba1b4e4
- added libatomic when needed
- updated core sound package

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-09 22:23:08 +01:00
Yann E. MORIN 05e306d8d3 package/asterisk: new package
Asterisk: the flagship of telephony on Linux. These are the lines of
code whose continuous mission is to power small and large enterprises
telephony systems, to boldly provide IP PBX where no one has done so
before.

But it is a hell to get compiled... :-(

For starters, it needs a host tool, menuselect, to prepare its build
configuration. Unfortunately, the way it handles menuselect does not
apply very well for cross-compilation: the main ./configure calls out to
menuselect's own ./configure, and of course that runs with the same
environement, which is wrong for cross-compilation (because of variables
like CC, CFLAGS and the likes).

Furthermore, the paths to menuselect are imbricated about everywhere in
the main Makefile, so making it find menuselect in PATH is a lost cause.

Instead, we just patch-out the handling of menuselect, build it as the
host variant and copy it in place.

Now, asterisk wants to install a default set of sound files (for
answering machine stuff, I guess). They come come pre-bundled in the
official archive [0], but the buildsystem will want to download (at
install time) the sha1 files for each sound archive, to validate that
said archive is correct. However, the download is done via plain http,
so it still risks an MITM attack. And for Buildroot, it is not always
possible to download at install time, so we patch-out the sha1 check.

[0] http://downloads.asterisk.org/pub/telephony/asterisk/releases/

The official archive contains the sound archives plus a full set of
documentation. This makes it very big. Unfortunately, the hosting site
is rather slow, topping at about ~204kbps. So we get the archive from
the official mirror on Github. But that archive is missing the sound
archives, so we download them separately.

Some tests, like the crypt() one, are broken and could not have ever
possibly worked at all. Worse, the FFmpeg test is looking for headers
that FFmpeg removed more than 10 years ago and are virtually no longer
available in any distro. So, FFmpeg support is definitely not tested
by upstream and can't possibly work at all. Finally, trying to run
test-code does not work in cross-compilation.

As a final stroke of genius, asterisk checks for the re-entrant variant
of res_ninit(), and concludes that all such functions are available,
including res_nsearch(). Uclibc-ng has the former but not the latter, so
the build fails. Since there is no cache variable for that check, we
can't pre-feed that result to configure, and fixing it is a bigger
endeavour.  So we make asterisk depend on glibc for now, until someone
is brave enough to fix it.

Almost all features are disabled for now. Support for additional
features will be added in subsequent patches now that we have a working
base.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Romain Naour <romain.naour@openwide.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Arnout:
 - make libilbc a mandatory dependency instead of using the bundled one;
 - add license, license files, and license file hashes;
 - minor spelling corrections;
 - remove redundant trailing backslash reported by check-package;
 - rewrap help text to 72 columns instead of 68]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

fixup
2017-09-23 19:20:18 +02:00
Daniel Laird 76235a15b3 audio: Move all audio packages into audio subdir
Moved all audio packages into a subdir called audio.
I then created a Config.in and made sure that a audio.mk 
existed.

Daniel Laird
2008-09-05 12:06:50 +00:00
Peter Korsgaard 4683420c4c Kconfig: remove 'default n'
'default n' is the default, so there's no need to say it explicitly.
2008-07-17 20:01:44 +00:00
Peter Korsgaard a5ac61715b buildroot: s/depends/depends on/
The new kconfig is more strict regarding depends/depends on, so fixup
the tree.
2008-06-19 19:06:25 +00:00
Ulf Samuelsson f0b7a36c30 Make asterisk depend on packets, instead of selecting them 2007-11-29 13:01:45 +00:00
David Anders 63c97755b4 add asterisk package per case 0000456 2006-01-24 21:30:10 +00:00