summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net/asterisk18/Makefile28
-rw-r--r--net/asterisk18/files/patch-Makefile.rules27
2 files changed, 53 insertions, 2 deletions
diff --git a/net/asterisk18/Makefile b/net/asterisk18/Makefile
index b354d93cc05b..77335cc6ee26 100644
--- a/net/asterisk18/Makefile
+++ b/net/asterisk18/Makefile
@@ -62,8 +62,9 @@ OPTIONS_DEFAULT= CURL FREETDS GSM LUA MACRO MP3PLAYER NEWT ODBC OPUS MYSQL PGSQ
PJSIP PORTAUDIO RADIUS SNMP SPANDSP SPEEX SRTP URIPARSER \
VORBIS XMLDOC
-OPTIONS_DEFINE_i386= DAHDI
-OPTIONS_DEFINE_amd64= DAHDI
+OPTIONS_DEFINE_i386= DAHDI GEOLOCATION
+OPTIONS_DEFINE_amd64= DAHDI GEOLOCATION
+OPTIONS_DEFINE_aarch64= GEOLOCATION
OPTIONS_DEFINE_sparc64= DAHDI
OPTIONS_DEFINE_powerpc= DAHDI
OPTIONS_DEFINE_powerpc64= DAHDI
@@ -99,6 +100,7 @@ BACKTRACE_DESC?= Stack backtrace support via (lib)execinfo
DAHDI_DESC?= DAHDI support
EXCHANGE_DESC?= Exchange calendar support
G729_DESC?= Install G.729 format sounds for Music-on-Hold (MoH)
+GEOLOCATION_DESC?= Enable SIP Geolocation support
MACRO_DESC?= Enable app_macro (deprecated)
MP3PLAYER_DESC= Install MP3 Player for Music-On-Hold (mpg123)
NEWG711_DESC?= New G711 Codec
@@ -134,6 +136,8 @@ FREETDS_CONFIGURE_ON= --with-tds=${LOCALBASE}
FREETDS_CONFIGURE_OFF= --without-tds
FREETDS_LIB_DEPENDS= libsybdb.so:databases/freetds
+GEOLOCATION_USE= GNOME=libxslt
+
GSM_CONFIGURE_WITH= gsm
GSM_LIB_DEPENDS= libgsm.so:audio/gsm
@@ -212,6 +216,7 @@ ASTERISK_GROUP?= asterisk
USERS= ${ASTERISK_USER}
GROUPS= ${ASTERISK_GROUP} dahdi
+.include <bsd.port.options.mk>
.include <bsd.port.pre.mk>
.if empty(ICONV_LIB)
@@ -230,6 +235,16 @@ PLIST_SUB+= ASTERISK_USER=${ASTERISK_USER} \
ASTERISK_GROUP=${ASTERISK_GROUP} \
VARDIR=${VARDIR}
+.if ${PORT_OPTIONS:MGEOLOCATION}
+.if ${ARCH} == i386
+LLD_EMULATION= elf_i386
+.elif ${ARCH} == amd64
+LLD_EMULATION= elf_x86_64
+.elif ${ARCH} == aarch64
+LLD_EMULATION= aarch64elf
+.endif
+.endif
+
post-extract:
@${FIND} ${WRKSRC} -name '*.d' -delete
@@ -250,6 +265,9 @@ post-patch:
${CP} ${FILESDIR}/.asterisk.makeopts ${WRKSRC}/menuselect.makeopts
.endif
+post-patch-GEOLOCATION-on:
+ @${REINPLACE_CMD} -e 's/%%LLD_EMULATION%%/${LLD_EMULATION}/' ${WRKSRC}/Makefile.rules
+
post-patch-SYSINFO-on:
@${REINPLACE_CMD} -e 's/%%LIBSYSINFO%%/-lsysinfo/' ${WRKSRC}/main/Makefile
@@ -263,6 +281,12 @@ post-configure:
@cd ${WRKSRC} && ./menuselect/menuselect --enable chan_mgcp menuselect.makeopts
@cd ${WRKSRC} && ./menuselect/menuselect --enable res_pktccops menuselect.makeopts
+post-configure-GEOLOCATION-on:
+ @cd ${WRKSRC} && ./menuselect/menuselect --enable res_geolocation menuselect.makeopts
+
+post-configure-GEOLOCATION-off:
+ @cd ${WRKSRC} && ./menuselect/menuselect --disable res_geolocation menuselect.makeopts
+
post-configure-MACRO-on:
@cd ${WRKSRC} && ./menuselect/menuselect --enable app_macro menuselect.makeopts
diff --git a/net/asterisk18/files/patch-Makefile.rules b/net/asterisk18/files/patch-Makefile.rules
new file mode 100644
index 000000000000..3bebe8ad02de
--- /dev/null
+++ b/net/asterisk18/files/patch-Makefile.rules
@@ -0,0 +1,27 @@
+--- Makefile.rules.orig 2022-08-18 15:18:29 UTC
++++ Makefile.rules
+@@ -107,6 +107,11 @@ ifeq ($(C_COMPILER_FAMILY),clang)
+ # Clang -Werror warning suppressions
+ ifeq ($(C_COMPILER_FAMILY),clang)
+ CC_CFLAGS+=-Wno-unused-value -Wno-parentheses-equality
++ BINARY_LLD_FLAGS= -z noexecstack
++ LLD_EMULATION=%%LLD_EMULATION%%
++else
++ BINARY_LLD_FLAGS=
++ LLD_EMULATION=
+ endif
+
+ ifeq ($(GNU_LD),1)
+@@ -213,10 +218,10 @@ endif
+ # extern const size_t _binary_abc_def_xml_size;
+ %.o: %.xml
+ $(ECHO_PREFIX) echo " [LD] $^ -> $@"
+- $(CMD_PREFIX) $(CC) -g -nostartfiles -nodefaultlibs -nostdlib -r -Wl,-b,binary -o $@ $^
++ $(CMD_PREFIX) $(CC) -g -nostartfiles -nodefaultlibs -nostdlib $(BINARY_LLD_FLAGS) -r -Wl,-b,binary,-m,$(LLD_EMULATION) -o $@ $^
+
+ %.o: %.xslt
+ $(ECHO_PREFIX) echo " [LD] $^ -> $@"
+- $(CMD_PREFIX) $(CC) -g -nostartfiles -nodefaultlibs -nostdlib -r -Wl,-b,binary -o $@ $^
++ $(CMD_PREFIX) $(CC) -g -nostartfiles -nodefaultlibs -nostdlib $(BINARY_LLD_FLAGS) -r -Wl,-b,binary,-m,$(LLD_EMULATION) -o $@ $^
+
+ dist-clean:: clean