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