head 1.1; access; symbols pkgsrc-2026Q1:1.1.0.4 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.2 pkgsrc-2025Q4-base:1.1; locks; strict; comment @# @; 1.1 date 2025.10.27.06.58.41; author jnemeth; state Exp; branches; next ; commitid cQXB8JNvDKKmYagG; desc @@ 1.1 log @comms/asterisk23: import asterisk-23.0.0 Asterisk is a complete PBX in software. It provides all of the features you would expect from a PBX and more. Asterisk does voice over IP in three protocols, and can interoperate with almost all standards-based telephony equipment using relatively inexpensive hardware. Asterisk provides Voicemail services with Directory, Call Conferencing, Interactive Voice Response, Call Queuing. It has support for three-way calling, caller ID services, ADSI, SIP and H.323 (as both client and gateway). This is a standard version. It is scheduled to go to security fixes only on October 15th, 2026, and EOL on October 15th, 2027. See here for more information about Asterisk versions: https://docs.asterisk.org/About-the-Project/Asterisk-Versions/ @ text @$NetBSD: patch-third-party_pjproject_patches_0150-netbsd.patch,v 1.1 2024/10/21 05:12:48 jnemeth Exp $ --- third-party/pjproject/patches/0150-netbsd.patch.orig 2024-03-18 06:27:11.302585019 +0000 +++ third-party/pjproject/patches/0150-netbsd.patch @@@@ -0,0 +1,99 @@@@ +--- a/third_party/webrtc_aec3/src/system_wrappers/source/cpu_features_netbsd.cc 2024-03-17 23:19:24.937833522 -0700 ++++ b/third_party/webrtc_aec3/src/system_wrappers/source/cpu_features_netbsd.cc 2024-03-17 22:50:07.930587033 -0700 +@@@@ -0,0 +1,96 @@@@ ++/* ++ * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. ++ * ++ * Use of this source code is governed by a BSD-style license ++ * that can be found in the LICENSE file in the root of the source ++ * tree. An additional intellectual property rights grant can be found ++ * in the file PATENTS. All contributing project authors may ++ * be found in the AUTHORS file in the root of the source tree. ++ */ ++ ++#include ++#include ++#include ++ ++#ifdef __GLIBC_PREREQ ++#define WEBRTC_GLIBC_PREREQ(a, b) __GLIBC_PREREQ(a, b) ++#else ++#define WEBRTC_GLIBC_PREREQ(a, b) 0 ++#endif ++ ++#if WEBRTC_GLIBC_PREREQ(2, 16) ++#include ++#else ++#include ++#include ++#include ++#include ++#endif ++ ++#include "rtc_base/system/arch.h" ++#include "system_wrappers/include/cpu_features_wrapper.h" ++ ++#if defined(WEBRTC_ARCH_ARM_FAMILY) ++#include ++ ++namespace webrtc { ++ ++uint64_t GetCPUFeaturesARM(void) { ++ uint64_t result = 0; ++ int architecture = 0; ++ uint64_t hwcap = 0; ++ const char* platform = NULL; ++#if WEBRTC_GLIBC_PREREQ(2, 16) ++ hwcap = getauxval(AT_HWCAP); ++ platform = (const char*)getauxval(AT_PLATFORM); ++#else ++ ElfW(auxv_t) auxv; ++ int fd = open("/proc/self/auxv", O_RDONLY); ++ if (fd >= 0) { ++ while (hwcap == 0 || platform == NULL) { ++ if (read(fd, &auxv, sizeof(auxv)) < (ssize_t)sizeof(auxv)) { ++ if (errno == EINTR) ++ continue; ++ break; ++ } ++ switch (auxv.a_type) { ++ case AT_HWCAP: ++ hwcap = auxv.a_un.a_val; ++ break; ++ case AT_PLATFORM: ++ platform = (const char*)auxv.a_un.a_val; ++ break; ++ } ++ } ++ close(fd); ++ } ++#endif // WEBRTC_GLIBC_PREREQ(2, 16) ++#if defined(__aarch64__) ++ architecture = 8; ++ if ((hwcap & HWCAP_FP) != 0) ++ result |= kCPUFeatureVFPv3; ++ if ((hwcap & HWCAP_ASIMD) != 0) ++ result |= kCPUFeatureNEON; ++#else ++ if (platform != NULL) { ++ /* expect a string in the form "v6l" or "v7l", etc. ++ */ ++ if (platform[0] == 'v' && '0' <= platform[1] && platform[1] <= '9' && ++ (platform[2] == 'l' || platform[2] == 'b')) { ++ architecture = platform[1] - '0'; ++ } ++ } ++ if ((hwcap & HWCAP_VFPv3) != 0) ++ result |= kCPUFeatureVFPv3; ++ if ((hwcap & HWCAP_NEON) != 0) ++ result |= kCPUFeatureNEON; ++#endif ++ if (architecture >= 7) ++ result |= kCPUFeatureARMv7; ++ if (architecture >= 6) ++ result |= kCPUFeatureLDREXSTREX; ++ return result; ++} ++ ++} // namespace webrtc ++#endif // WEBRTC_ARCH_ARM_FAMILY @