Andreas Wacknitz
2024-03-24 3df02058fb3d48a999bbc8d5d56c2910fbc249a4
commit | author | age
c3a49b 1 #
AS 2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"). You may
4 # only use this file in accordance with the terms of the CDDL.
5 #
6 # A full copy of the text of the CDDL should have accompanied this
7 # source. A copy of the CDDL is also available via the Internet at
8 # http://www.illumos.org/license/CDDL.
9 #
10
11 #
12 # Copyright 2016 Andrey Sokolov. All rights reserved.
7d65f7 13 # Copyright 2017 Alexander Pyhalov
d20cd4 14 # Copyright 2021 Olaf Bohlen
c73ba5 15 # Copyright 2023 Friedrich Kink
c3a49b 16 #
d20cd4 17
52fb0e 18 OPENSSL_VERSION= 3.1
6a034d 19 BUILD_BITS= 64
6fcf61 20 USE_PARALLEL_BUILD= yes
c3a49b 21 include ../../../make-rules/shared-macros.mk
AS 22
23 COMPONENT_NAME=        asterisk
6fcf61 24 COMPONENT_VERSION=    21.2.0
6a034d 25 COMPONENT_SUMMARY=    Asterisk is an all-purpose telephony server
c3a49b 26 COMPONENT_SRC=        $(COMPONENT_NAME)-$(COMPONENT_VERSION)
AS 27 COMPONENT_ARCHIVE=    $(COMPONENT_SRC).tar.gz
6fcf61 28 COMPONENT_ARCHIVE_HASH=    sha256:5737a976e9252e2d5e87d2e8176b1e07415057291c656b7547d0a79e0e8c3969
0d4bc8 29 COMPONENT_PROJECT_URL=    https://www.asterisk.org
AW 30 COMPONENT_ARCHIVE_URL=    https://downloads.asterisk.org/pub/telephony/asterisk/old-releases/$(COMPONENT_ARCHIVE)
bb4f60 31 COMPONENT_FMRI=        network/asterisk
AW 32 COMPONENT_CLASSIFICATION=Applications/Internet
c3a49b 33 COMPONENT_LICENSE=    GPLv2
6a034d 34 COMPONENT_LICENSE_FILE=    COPYING
c3a49b 35
bb4f60 36 TEST_TARGET= $(NO_TESTS) 
c86c97 37 include $(WS_MAKE_RULES)/common.mk
6a034d 38
63649c 39 PATH= $(PATH.gnu)
15e50d 40
63649c 41 PATCH_LEVEL= 0
c3a49b 42
AS 43 COMPONENT_PRE_CONFIGURE_ACTION += ($(CLONEY) $(SOURCE_DIR) $(@D));
44
6a034d 45 #
F 46 # res_geolocation does not build with the illumos linker due to missing capabilities/options
47 # no workaround known so far
010646 48 # also remove deprecated functions
6a034d 49 #
F 50 COMPONENT_POST_CONFIGURE_ACTION += ( \
51     cd $(@D); \
52     $(GSED) -i -e 's:LDAP_INCLUDE=:LDAP_INCLUDE=-I/usr/include/openldap:' makeopts; \
53     $(GSED) -i -e 's/ -lldap-2.6//' makeopts; \
54     $(GSED) -i -e 's/LDAP_LIB= -lldap/LDAP_LIB= -lldap-2.6/' makeopts; \
55     $(GSED) -i -e "s:-L$(OPENSSL_PREFIX)/lib :-L$(OPENSSL_LIBDIR.$(BITS)) :" makeopts; \
56     $(GSED) -i -e "s:$(MYSQL_HOME)$(MYSQL_HOME):$(MYSQL_HOME):g" makeopts; \
57     $(GSED) -i -e "s:-L$(MYSQL_LIBDIR):-L$(MYSQL_LIBDIR) -R$(MYSQL_LIBDIR):" makeopts; \
58     $(GSED) -i -e "s:-L$(PG_LIBDIR.$(BITS)):-L$(PG_LIBDIR.$(BITS)) -R$(PG_LIBDIR.$(BITS)):" makeopts; \
59     $(GMAKE) menuselect.makeopts; \
60     ./menuselect/menuselect --disable res_geolocation menuselect.makeopts; \
61     ./menuselect/menuselect --enable format_mp3 menuselect.makeopts; \
62     ./menuselect/menuselect --enable res_config_mysql menuselect.makeopts; \
63     ./menuselect/menuselect --enable res_mwi_external menuselect.makeopts; \
64     ./menuselect/menuselect --enable res_chan_stats menuselect.makeopts; \
65     ./menuselect/menuselect --enable res_endpoint_stats menuselect.makeopts; \
66     ./menuselect/menuselect --enable res_stasis_mailbox menuselect.makeopts; \
67     ./menuselect/menuselect --enable res_mwi_external_ami menuselect.makeopts; \
68     ./menuselect/menuselect --enable app_voicemail_odbc menuselect.makeopts; \
69     ./menuselect/menuselect --enable app_saycounted menuselect.makeopts; \
70     ./menuselect/menuselect --enable app_statsd menuselect.makeopts; \
71     ./menuselect/menuselect --enable G711_NEW_ALGORITHM menuselect.makeopts; \
72     ./menuselect/menuselect --enable G711_REDUCED_BRANCHING menuselect.makeopts; \
010646 73     ./menuselect/menuselect --disable app_adsiprog menuselect.makeopts; \
F 74     ./menuselect/menuselect --disable app_getcpeid menuselect.makeopts; \
75     ./menuselect/menuselect --disable res_adsi menuselect.makeopts; \
6a034d 76     );
7d65f7 77
AP 78 CONFIGURE_BINDIR=    /usr/bin
79 CONFIGURE_SBINDIR=    /usr/sbin
c3a49b 80
63649c 81 CONFIGURE_OPTIONS +=    --sysconfdir=$(ETCDIR)
AW 82 CONFIGURE_OPTIONS +=    --localstatedir=$(VARDIR)
6a034d 83 CONFIGURE_OPTIONS +=    --with-gnu-ld=no
F 84 CONFIGURE_OPTIONS +=    --with-crypto=$(OPENSSL_PREFIX)
85 CONFIGURE_OPTIONS +=    --with-ssl=$(OPENSSL_PREFIX)
86 CONFIGURE_OPTIONS +=    --with-pjproject-bundled
6fcf61 87 #CONFIGURE_OPTIONS +=    --with-libjwt-bundled
c3a49b 88 CONFIGURE_OPTIONS +=    --with-gsm=internal
6a034d 89 CONFIGURE_OPTIONS +=    --with-ilbc=internal
F 90 CONFIGURE_OPTIONS +=    --with-unixodbc
91 CONFIGURE_OPTIONS +=    --with-ldap
92 CONFIGURE_OPTIONS +=    --with-gmime
93 CONFIGURE_OPTIONS +=    --with-netsnmp
94 CONFIGURE_OPTIONS +=    --with-vorbis
95 CONFIGURE_OPTIONS +=    --with-ogg
96 CONFIGURE_OPTIONS +=    --with-opus
97 CONFIGURE_OPTIONS +=    --with-sdl
98 CONFIGURE_OPTIONS +=    --with-neon
99 CONFIGURE_OPTIONS +=    --with-lua
100 CONFIGURE_OPTIONS +=    --with-tds
101 CONFIGURE_OPTIONS +=    --with-jansson
102 CONFIGURE_OPTIONS +=    --with-libedit
103 CONFIGURE_OPTIONS +=    --with-libxml2
104 CONFIGURE_OPTIONS +=    --with-libxslt
105 CONFIGURE_OPTIONS +=    --with-libcurl
106 CONFIGURE_OPTIONS +=    --with-gtk2
107 CONFIGURE_OPTIONS +=    --with-popt
010646 108 CONFIGURE_OPTIONS +=    --with-spandsp
6a034d 109 CONFIGURE_OPTIONS +=    --with-speex
F 110 CONFIGURE_OPTIONS +=    --with-speexdsp
111 CONFIGURE_OPTIONS +=    --with-mysqlclient=$(MYSQL_HOME)
112 #CONFIGURE_OPTIONS +=    --with-avcodec
7d8f27 113 CONFIGURE_OPTIONS +=    --with-postgres=$(PG_HOME)
6a034d 114 CONFIGURE_OPTIONS +=    NOISY_BUILD=yes
63649c 115 CONFIGURE_OPTIONS +=    PKG_CONFIG_PATH=$(PKG_CONFIG_PATH.$(BITS))
010646 116 CONFIGURE_OPTIONS +=    LDFLAGS="-m64 -lldap-2.6 -L$(JPEG_LIBDIR)"
6a034d 117 CONFIGURE_OPTIONS +=    CPPFLAGS="-I/usr/include/jansson -I/usr/include/odbc -I/usr/include/openldap"
F 118 # HAVE_OPENSSL_BIO_METHOD not properly recognised by configure therefore expiclitly set
010646 119 CONFIGURE_OPTIONS +=    CFLAGS="-m64 -I/usr/include/odbc -DHAVE_OPENSSL_BIO_METHOD $(JPEG_CPPFLAGS) $(JPEG_CFLAGS)"
F 120 CONFIGURE_OPTIONS +=    CXXFLAGS="-m64 $(JPEG_CPPFLAGS) $(JPEG_CFLAGS)"
c3a49b 121
AS 122 COMPONENT_INSTALL_TARGETS += samples
123
57a97d 124 # Build dependencies
98d5e9 125 REQUIRED_PACKAGES += $(PG_DEVELOPER_PKG)
6a034d 126 REQUIRED_PACKAGES += $(MYSQL_BASEPKG)
F 127 REQUIRED_PACKAGES += library/popt
7d65f7 128
57a97d 129 # Auto-generated dependencies
7a357e 130 REQUIRED_PACKAGES += $(MYSQL_LIBRARY_PKG)
98d5e9 131 REQUIRED_PACKAGES += $(PG_LIBRARY_PKG)
6a034d 132 REQUIRED_PACKAGES += SUNWcs
7d65f7 133 REQUIRED_PACKAGES += codec/speex
c3a49b 134 REQUIRED_PACKAGES += database/sqlite-3
7d65f7 135 REQUIRED_PACKAGES += library/freetds
AP 136 REQUIRED_PACKAGES += library/glib2
63649c 137 REQUIRED_PACKAGES += library/gmime3
7d65f7 138 REQUIRED_PACKAGES += library/jansson
AP 139 REQUIRED_PACKAGES += library/libedit
140 REQUIRED_PACKAGES += library/libical
141 REQUIRED_PACKAGES += library/libogg
142 REQUIRED_PACKAGES += library/libvorbis
c3a49b 143 REQUIRED_PACKAGES += library/libxml2
7d65f7 144 REQUIRED_PACKAGES += library/libxslt
c3a49b 145 REQUIRED_PACKAGES += library/neon
7d65f7 146 REQUIRED_PACKAGES += library/openldap
52fb0e 147 REQUIRED_PACKAGES += library/security/openssl-31
010646 148 REQUIRED_PACKAGES += library/spandsp
7d65f7 149 REQUIRED_PACKAGES += library/speexdsp
6a034d 150 REQUIRED_PACKAGES += library/unixodbc
c3a49b 151 REQUIRED_PACKAGES += library/zlib
52fb0e 152 REQUIRED_PACKAGES += runtime/lua-54
7d65f7 153 REQUIRED_PACKAGES += shell/bash
6a034d 154 REQUIRED_PACKAGES += shell/ksh93
c3a49b 155 REQUIRED_PACKAGES += system/library
7a357e 156 REQUIRED_PACKAGES += system/library/libupnp
c3a49b 157 REQUIRED_PACKAGES += system/library/math
AS 158 REQUIRED_PACKAGES += system/management/snmp/net-snmp
159 REQUIRED_PACKAGES += web/curl