# # This file and its contents are supplied under the terms of the # Common Development and Distribution License ("CDDL"). You may # only use this file in accordance with the terms of the CDDL. # # A full copy of the text of the CDDL should have accompanied this # source. A copy of the CDDL is also available via the Internet at # http://www.illumos.org/license/CDDL. # # # Copyright 2022 Friedrich Kink # Copyright 2023 Niklas Poslovski # include ../../../make-rules/shared-macros.mk COMPONENT_NAME= iaxmodem COMPONENT_VERSION= 1.3.4 #COMPONENT_REVISION= 1 COMPONENT_FMRI= network/iaxmodem COMPONENT_SUMMARY= IAXmodem is a software modem written in C that uses an IAX channel COMPONENT_DESCRIPTION= IAXmodem is a software modem written in C that uses an IAX channel \ (commonly provided by an Asterisk PBX system) instead of a traditional \ phone line and uses a DSP library instead of DSP hardware chipsets. \ To accomplish this, then, IAXmodem interfaces an IAX library known as \ libiax2 with a DSP library known as spandsp, and then IAXmodem interfaces \ the DSP library with a tty device node for interfacing with modem \ applications. COMPONENT_CLASSIFICATION=Applications/Internet COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz COMPONENT_ARCHIVE_HASH= sha256:900de2f77072bce02786fe7f4d4ddfd4b9f5fe3255b1319772383099adee5633 COMPONENT_PROJECT_URL= https://iaxmodem.sourceforge.net/ COMPONENT_ARCHIVE_URL= https://sourceforge.net/projects/iaxmodem/files/latest/$(COMPONENT_ARCHIVE) COMPONENT_LICENSE= GPLv2 TEST_TARGET=$(NO_TESTS) include $(WS_MAKE_RULES)/common.mk # # despite not a real autotools setup it works with some adaptions # as seen in COMPONENT_POST_CONFIGURE_ACTION and COMPONENT_POST_INSTALL_ACTION # COMPONENT_PRE_CONFIGURE_ACTION += ($(CLONEY) $(SOURCE_DIR) $(@D)); COMPONENT_POST_CONFIGURE_ACTION += ( \ $(GSED) -i -e 's/-DSTATICLIBS -DUSE_UNIX98_PTY/-DSTATICLIBS -D__EXTENSIONS__ -DSOLARIS -DUSE_UNIX98_PTY/' $(@D)/Makefile; \ $(GSED) -i -e 's/-DMODEMVER/-m64 -DMODEMVER/' $(@D)/Makefile; \ $(GSED) -i -e 's:Ilib/libiax2/src:I/usr/include/iax:' $(@D)/Makefile; \ $(GSED) -i -e 's: lib/libiax2/src/.libs/libiax.a: -liax:' $(@D)/Makefile; \ $(GSED) -i -e 's/-lm -lutil -ltiff/-m64 -lm -lnsl -lsocket -ltiff/' $(@D)/Makefile; \ ); CFLAGS+= -DSOLARIS $(JPEG_CPPFLAGS) $(JPEG_CFLAGS) CFLAGS+= $(CPP_LARGEFILES) CXXFLAGS+= $(JPEG_CPPFLAGS) $(JPEG_CXXFLAGS) LDFLAGS+= $(JPEG_LDFLAGS) COMPONENT_INSTALL_TARGETS= all COMPONENT_POST_INSTALL_ACTION= ( \ $(MKDIR) -p $(PROTO_DIR)/usr/sbin; \ $(MKDIR) -p $(PROTO_DIR)/usr/share/man/man1; \ $(MKDIR) -p $(PROTO_DIR)/etc/iaxmodem; \ $(CP) $(@D)/$(COMPONENT_NAME) $(PROTO_DIR)/usr/sbin; \ $(CP) $(@D)/$(COMPONENT_NAME).1 $(PROTO_DIR)/usr/share/man/man1; \ $(CP) files/ttyIAX0.example $(PROTO_DIR)/etc/iaxmodem; \ $(CP) files/config.ttyIAX $(PROTO_DIR)/etc/iaxmodem; \ ); # Auto-generated dependencies REQUIRED_PACKAGES += SUNWcs REQUIRED_PACKAGES += library/libiax2 REQUIRED_PACKAGES += system/library REQUIRED_PACKAGES += system/library/math