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.
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.
12 # Copyright 2016 Andrey Sokolov. All rights reserved.
13 # Copyright 2017 Alexander Pyhalov
14 # Copyright 2021 Olaf Bohlen
15 # Copyright 2023,2024 Friedrich Kink
18 USE_PARALLEL_BUILD
= yes
19 include ..
/..
/..
/make-rules
/shared-macros.mk
21 COMPONENT_NAME
= asterisk
22 COMPONENT_VERSION
= 22.1.0
23 COMPONENT_SUMMARY
= Asterisk is an all-purpose telephony server
24 COMPONENT_SRC
= $(COMPONENT_NAME
)-$(COMPONENT_VERSION
)
25 COMPONENT_ARCHIVE
= $(COMPONENT_SRC
).
tar.gz
26 COMPONENT_ARCHIVE_HASH
= sha256
:c892e9a51919d62bee2bed8b7c6f59ec79dfd48768ae289df61dba2da83f4413
27 COMPONENT_PROJECT_URL
= https
://www.asterisk.org
28 COMPONENT_ARCHIVE_URL
= https
://downloads.asterisk.org
/pub
/telephony
/asterisk
/old-releases
/$(COMPONENT_ARCHIVE
)
29 COMPONENT_FMRI
= network
/asterisk
30 COMPONENT_CLASSIFICATION
=Applications
/Internet
31 COMPONENT_LICENSE
= GPLv2
32 COMPONENT_LICENSE_FILE
= COPYING
34 TEST_TARGET
= $(NO_TESTS
)
35 include $(WS_MAKE_RULES
)/common.mk
41 COMPONENT_PRE_CONFIGURE_ACTION
+= ( $(CLONEY
) $(SOURCE_DIR
) $(@D
) );
44 # res_geolocation does not build with the illumos linker due to missing capabilities/options
45 # no workaround known so far
46 # also remove deprecated functions
48 # does not work currently
49 # contrib/scripts/get_mp3_source.sh
51 # ./menuselect/menuselect --enable format_mp3 menuselect.makeopts; \
53 COMPONENT_POST_CONFIGURE_ACTION
+= ( \
55 $(GSED
) -i
-e
's:LDAP_INCLUDE=:LDAP_INCLUDE=-I/usr/include/openldap:' makeopts
; \
56 $(GSED
) -i
-e
's:-L/usr/lib/amd64::g' makeopts
; \
57 $(GSED
) -i
-e
's/ -lldap-2.6//' makeopts
; \
58 $(GSED
) -i
-e
's/LDAP_LIB= -lldap/LDAP_LIB= -lldap-2.6/' makeopts
; \
59 $(GSED
) -i
-e
"s:-L$(OPENSSL_PREFIX)/lib :-L$(OPENSSL_LIBDIR.$(BITS)) :" makeopts
; \
60 $(GSED
) -i
-e
"s:$(MYSQL_HOME)$(MYSQL_HOME):$(MYSQL_HOME):g" makeopts
; \
61 $(GSED
) -i
-e
"s:-L$(MYSQL_LIBDIR):-L$(MYSQL_LIBDIR) -R$(MYSQL_LIBDIR):" makeopts
; \
62 $(GSED
) -i
-e
"s:-L$(PG_LIBDIR.$(BITS)):-L$(PG_LIBDIR.$(BITS)) -R$(PG_LIBDIR.$(BITS)):" makeopts
; \
63 $(GMAKE
) menuselect.makeopts
; \
64 .
/menuselect
/menuselect
--disable res_geolocation menuselect.makeopts
; \
65 .
/menuselect
/menuselect
--enable res_config_mysql menuselect.makeopts
; \
66 .
/menuselect
/menuselect
--enable cdr_radius menuselect.makeopts
; \
67 .
/menuselect
/menuselect
--enable cel_radius menuselect.makeopts
; \
68 .
/menuselect
/menuselect
--enable res_mwi_external menuselect.makeopts
; \
69 .
/menuselect
/menuselect
--enable res_ari_mailboxes menuselect.makeopts
; \
70 .
/menuselect
/menuselect
--enable res_cliexec menuselect.makeopts
; \
71 .
/menuselect
/menuselect
--enable check_expr menuselect.makeopts
; \
72 .
/menuselect
/menuselect
--enable check_expr2 menuselect.makeopts
; \
73 .
/menuselect
/menuselect
--enable stereorize menuselect.makeopts
; \
74 .
/menuselect
/menuselect
--enable res_chan_stats menuselect.makeopts
; \
75 .
/menuselect
/menuselect
--enable res_endpoint_stats menuselect.makeopts
; \
76 .
/menuselect
/menuselect
--enable res_stasis_mailbox menuselect.makeopts
; \
77 .
/menuselect
/menuselect
--enable res_mwi_external_ami menuselect.makeopts
; \
78 .
/menuselect
/menuselect
--enable app_voicemail_odbc menuselect.makeopts
; \
79 .
/menuselect
/menuselect
--enable app_saycounted menuselect.makeopts
; \
80 .
/menuselect
/menuselect
--enable app_statsd menuselect.makeopts
; \
81 .
/menuselect
/menuselect
--enable G711_NEW_ALGORITHM menuselect.makeopts
; \
82 .
/menuselect
/menuselect
--enable G711_REDUCED_BRANCHING menuselect.makeopts
; \
83 .
/menuselect
/menuselect
--disable app_adsiprog menuselect.makeopts
; \
84 .
/menuselect
/menuselect
--disable app_getcpeid menuselect.makeopts
; \
85 .
/menuselect
/menuselect
--disable res_adsi menuselect.makeopts
; \
88 CONFIGURE_BINDIR
= /usr
/bin
89 CONFIGURE_SBINDIR
= /usr
/sbin
91 CONFIGURE_OPTIONS
+= --sysconfdir
=$(ETCDIR
)
92 CONFIGURE_OPTIONS
+= --localstatedir
=$(VARDIR
)
93 CONFIGURE_OPTIONS
+= --with-gnu-ld
=no
94 CONFIGURE_OPTIONS
+= --with-crypto
=$(OPENSSL_PREFIX
)
95 CONFIGURE_OPTIONS
+= --with-ssl
=$(OPENSSL_PREFIX
)
96 CONFIGURE_OPTIONS
+= --with-pjproject-bundled
97 CONFIGURE_OPTIONS
+= --with-libjwt-bundled
98 CONFIGURE_OPTIONS
+= --with-gsm
=internal
99 CONFIGURE_OPTIONS
+= --with-ilbc
=internal
100 CONFIGURE_OPTIONS
+= --with-unixodbc
101 CONFIGURE_OPTIONS
+= --with-ldap
102 CONFIGURE_OPTIONS
+= --with-gmime
103 CONFIGURE_OPTIONS
+= --with-netsnmp
104 CONFIGURE_OPTIONS
+= --with-vorbis
105 CONFIGURE_OPTIONS
+= --with-ogg
106 CONFIGURE_OPTIONS
+= --with-opus
107 CONFIGURE_OPTIONS
+= --with-sdl
108 CONFIGURE_OPTIONS
+= --with-neon
109 CONFIGURE_OPTIONS
+= --with-lua
110 CONFIGURE_OPTIONS
+= --with-tds
111 CONFIGURE_OPTIONS
+= --with-jansson
112 CONFIGURE_OPTIONS
+= --with-libedit
113 CONFIGURE_OPTIONS
+= --with-libxml2
114 CONFIGURE_OPTIONS
+= --with-libxslt
115 CONFIGURE_OPTIONS
+= --with-libcurl
116 CONFIGURE_OPTIONS
+= --with-gtk2
117 CONFIGURE_OPTIONS
+= --with-popt
118 CONFIGURE_OPTIONS
+= --with-spandsp
119 CONFIGURE_OPTIONS
+= --with-speex
120 CONFIGURE_OPTIONS
+= --with-speexdsp
121 CONFIGURE_OPTIONS
+= --with-mysqlclient
=$(MYSQL_HOME
)
122 #CONFIGURE_OPTIONS += --with-avcodec
123 CONFIGURE_OPTIONS
+= --with-postgres
=$(PG_HOME
)
124 CONFIGURE_OPTIONS
+= NOISY_BUILD
=yes
125 CONFIGURE_OPTIONS
+= PKG_CONFIG_PATH
=$(PKG_CONFIG_PATH.
$(BITS
))
126 CONFIGURE_OPTIONS
+= LDFLAGS
="-m64 -lldap-2.6 -L$(JPEG_LIBDIR)"
127 CONFIGURE_OPTIONS
+= CPPFLAGS
="-I/usr/include/jansson -I/usr/include/odbc -I/usr/include/openldap"
128 # HAVE_OPENSSL_BIO_METHOD not properly recognised by configure therefore expiclitly set
129 CONFIGURE_OPTIONS
+= CFLAGS
="-m64 -I/usr/include/odbc -DHAVE_OPENSSL_BIO_METHOD"
131 COMPONENT_INSTALL_TARGETS
+= samples
134 REQUIRED_PACKAGES
+= $(PG_DEVELOPER_PKG
)
135 REQUIRED_PACKAGES
+= $(MYSQL_BASEPKG
)
136 REQUIRED_PACKAGES
+= library
/popt
138 # Auto-generated dependencies
139 REQUIRED_PACKAGES
+= $(MYSQL_LIBRARY_PKG
)
140 REQUIRED_PACKAGES
+= $(OPENSSL_PKG
)
141 REQUIRED_PACKAGES
+= $(PG_LIBRARY_PKG
)
142 REQUIRED_PACKAGES
+= SUNWcs
143 REQUIRED_PACKAGES
+= codec
/speex
144 REQUIRED_PACKAGES
+= database
/sqlite-3
145 REQUIRED_PACKAGES
+= library
/freetds
146 REQUIRED_PACKAGES
+= library
/glib2
147 REQUIRED_PACKAGES
+= library
/gmime3
148 REQUIRED_PACKAGES
+= library
/jansson
149 REQUIRED_PACKAGES
+= library
/libedit
150 REQUIRED_PACKAGES
+= library
/libical
151 REQUIRED_PACKAGES
+= library
/libogg
152 REQUIRED_PACKAGES
+= library
/libvorbis
153 REQUIRED_PACKAGES
+= library
/libxml2
154 REQUIRED_PACKAGES
+= library
/libxslt
155 REQUIRED_PACKAGES
+= library
/neon
156 REQUIRED_PACKAGES
+= library
/openldap
157 REQUIRED_PACKAGES
+= library
/spandsp
158 REQUIRED_PACKAGES
+= library
/speexdsp
159 REQUIRED_PACKAGES
+= library
/unixodbc
160 REQUIRED_PACKAGES
+= library
/zlib
161 REQUIRED_PACKAGES
+= runtime
/lua-54
162 REQUIRED_PACKAGES
+= service
/network
/unbound
163 REQUIRED_PACKAGES
+= shell/bash
164 REQUIRED_PACKAGES
+= shell/ksh93
165 REQUIRED_PACKAGES
+= system
/library
166 REQUIRED_PACKAGES
+= system
/library
/math
167 REQUIRED_PACKAGES
+= system
/management
/snmp
/net-snmp
168 REQUIRED_PACKAGES
+= web
/curl