summaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
Diffstat (limited to 'package')
-rw-r--r--package/Config.in1
-rw-r--r--package/asterisk/Config.in10
-rw-r--r--package/asterisk/asterisk.mk66
-rw-r--r--package/asterisk/asterisk_no_res_ninit.patch12
4 files changed, 89 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index 9987829dd..0a579ba83 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -25,6 +25,7 @@ source "package/tar/Config.in"
comment "Other stuff"
source "package/acpid/Config.in"
+source "package/asterisk/Config.in"
source "package/at/Config.in"
source "package/autoconf/Config.in"
source "package/automake/Config.in"
diff --git a/package/asterisk/Config.in b/package/asterisk/Config.in
new file mode 100644
index 000000000..0f2797564
--- /dev/null
+++ b/package/asterisk/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_ASTERISK
+ bool "asterisk"
+ default n
+ select BR2_PACKAGE_NCURSES
+ select BR2_PACKAGE_ZLIB
+ select BR2_PACKAGE_OPENSSL
+ select BR2_PACKAGE_MPG123
+ help
+ Asterisk - the Open Source PBX
+
diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
new file mode 100644
index 000000000..6a15f6955
--- /dev/null
+++ b/package/asterisk/asterisk.mk
@@ -0,0 +1,66 @@
+#############################################################
+#
+# asterisk
+#
+##############################################################
+ASTERISK_VERSION := 1.2.0-beta1
+ASTERISK_SOURCE := asterisk-$(ASTERISK_VERSION).tar.gz
+ASTERISK_SITE := ftp://ftp.digium.com/pub/asterisk
+ASTERISK_DIR := $(BUILD_DIR)/asterisk-$(ASTERISK_VERSION)
+ASTERISK_BINARY := asterisk
+ASTERISK_TARGET_BINARY := usr/sbin/asterisk
+
+$(DL_DIR)/$(ASTERISK_SOURCE):
+ $(WGET) -P $(DL_DIR) $(ASTERISK_SITE)/$(ASTERISK_SOURCE)
+
+$(ASTERISK_DIR)/.source: $(DL_DIR)/$(ASTERISK_SOURCE)
+ zcat $(DL_DIR)/$(ASTERISK_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(ASTERISK_DIR) package/asterisk/ asterisk\*.patch
+ touch $(ASTERISK_DIR)/.source
+
+$(ASTERISK_DIR)/.configured: $(ASTERISK_DIR)/.source
+ touch $(ASTERISK_DIR)/.configured
+
+$(ASTERISK_DIR)/$(ASTERISK_BINARY): $(ASTERISK_DIR)/.configured
+ $(MAKE1) -C $(ASTERISK_DIR) CROSS_ARCH=Linux CROSS_COMPILE=$(TARGET_CROSS) CROSS_COMPILE_BIN=$(STAGING_DIR)/bin/ CROSS_COMPILE_TARGET=$(STAGING_DIR) CROSS_PROC=$(OPTIMIZE_FOR_CPU) OPTIMIZE="$(TARGET_OPTIMIZATION)" OPTIONS=-DLOW_MEMORY DEBUG= $(TARGET_CONFIGURE_OPTS)
+
+$(TARGET_DIR)/$(ASTERISK_TARGET_BINARY): $(ASTERISK_DIR)/$(ASTERISK_BINARY)
+ $(MAKE) -C $(ASTERISK_DIR) CROSS_ARCH=Linux CROSS_COMPILE=$(TARGET_CROSS) CROSS_COMPILE_BIN=$(TARGET_CC) CROSS_COMPILE_TARGET=$(STAGING_DIR) CROSS_PROC=$(OPTIMIZE_FOR_CPU) OPTIMIZE="$(TARGET_OPTIMIZATION)" OPTIONS=-DLOW_MEMORY DEBUG= $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) install
+ $(STRIP) $(TARGET_DIR)/usr/sbin/asterisk
+ $(STRIP) $(TARGET_DIR)/usr/sbin/stereorize
+ $(STRIP) $(TARGET_DIR)/usr/sbin/streamplayer
+ $(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/asterisk/modules/*.so
+ $(INSTALL) -m 755 $(ASTERISK_DIR)/contrib/init.d/rc.debian.asterisk $(TARGET_DIR)/etc/init.d/S60asterisk
+ mv $(TARGET_DIR)/usr/include/asterisk $(STAGING_DIR)/include/
+ rm -Rf $(TARGET_DIR)/usr/share/man
+ rm -f $(TARGET_DIR)/usr/sbin/safe_asterisk
+ rm -f $(TARGET_DIR)/usr/sbin/autosupport
+ rm -f $(TARGET_DIR)/usr/sbin/astgenkey
+ touch -c $(TARGET_DIR)/$(ASTERISK_TARGET_BINARY)
+
+asterisk: uclibc ncurses zlib openssl mpg123 $(TARGET_DIR)/$(ASTERISK_TARGET_BINARY)
+
+asterisk-source: $(DL_DIR)/$(ASTERISK_SOURCE)
+
+asterisk-clean:
+ rm -Rf $(STAGING_DIR)/include/asterisk
+ rm -Rf $(TARGET_DIR)/etc/asterisk
+ rm -Rf $(TARGET_DIR)/usr/lib/asterisk
+ rm -Rf $(TARGET_DIR)/var/lib/asterisk
+ rm -Rf $(TARGET_DIR)/var/spool/asterisk
+ rm -f $(TARGET_DIR)/etc/init.d/S60asterisk
+ rm -f $(TARGET_DIR)/usr/sbin/stereorize
+ rm -f $(TARGET_DIR)/usr/sbin/streamplayer
+ -$(MAKE) -C $(ASTERISK_DIR) clean
+
+asterisk-dirclean:
+ rm -rf $(ASTERISK_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_ASTERISK)),y)
+TARGETS+=asterisk
+endif
diff --git a/package/asterisk/asterisk_no_res_ninit.patch b/package/asterisk/asterisk_no_res_ninit.patch
new file mode 100644
index 000000000..1dff2f305
--- /dev/null
+++ b/package/asterisk/asterisk_no_res_ninit.patch
@@ -0,0 +1,12 @@
+diff -ur /tmp/asterisk-1.2.0-beta1/dns.c asterisk-1.2.0-beta1/dns.c
+--- /tmp/asterisk-1.2.0-beta1/dns.c 2005-08-14 04:23:33.000000000 +0200
++++ asterisk-1.2.0-beta1/dns.c 2005-08-31 09:42:36.000000000 +0200
+@@ -157,7 +157,7 @@
+ return 0;
+ }
+
+-#if defined(res_ninit)
++#if (defined(res_ninit) && !defined(__UCLIBC__))
+ #define HAS_RES_NINIT
+ #else
+ AST_MUTEX_DEFINE_STATIC(res_lock);