diff mbox series

[v3,3/4] package/freeswitch-mod-bcg729: new package

Message ID 20171004210224.12763-3-bernd.kuhls@t-online.de
State Changes Requested
Headers show
Series [v3,1/4] package/libbcg729: new package | expand

Commit Message

Bernd Kuhls Oct. 4, 2017, 9:02 p.m. UTC
This package is based on the bcg729 library from Belledonne
Communications which is wrapped into a freeswitch module to provide a
native G729.A codec.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v3: bumped to latest version
v2: renamed package from freeswitch_mod_bcg729 to freeswitch-mod-bcg729
    (Thomas)

 DEVELOPERS                                         |  1 +
 package/Config.in                                  |  1 +
 package/freeswitch-mod-bcg729/Config.in            |  9 +++++++
 .../freeswitch-mod-bcg729.hash                     |  2 ++
 .../freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk | 30 ++++++++++++++++++++++
 5 files changed, 43 insertions(+)
 create mode 100644 package/freeswitch-mod-bcg729/Config.in
 create mode 100644 package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash
 create mode 100644 package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk

Comments

Arnout Vandecappelle Oct. 6, 2017, 7:20 p.m. UTC | #1
On 04-10-17 23:02, Bernd Kuhls wrote:
> This package is based on the bcg729 library from Belledonne
> Communications which is wrapped into a freeswitch module to provide a
> native G729.A codec.
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>

Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

[snip]
> +config BR2_PACKAGE_FREESWITCH_MOD_BCG729
> +	bool "freeswitch-mod-bcg729"
> +	depends on BR2_PACKAGE_FREESWITCH
> +	select BR2_PACKAGE_LIBBCG729
> +	help
> +	  FreeSWITCH G.729A module using the opensource bcg729
> +	  implementation by Belledonne Communications.
> +
> +	  https://github.com/xadhoom/mod_bcg729
[snip]
> +################################################################################
> +#
> +# freeswitch-mod-bcg729
> +#
> +################################################################################
> +
> +FREESWITCH_MOD_BCG729_VERSION = c504eea91f225014380ae17c00b35e7173e316ad
> +FREESWITCH_MOD_BCG729_SITE = $(call github,xadhoom,mod_bcg729,$(FREESWITCH_MOD_BCG729_VERSION))
> +FREESWITCH_MOD_BCG729_LICENSE = MPL-1.1
> +FREESWITCH_MOD_BCG729_LICENSE_FILES = LICENSE
> +FREESWITCH_MOD_BCG729_DEPENDENCIES = freeswitch libbcg729
> +
> +# instead of patching the not cross-compile friendly Makefile from
> +# upstream we issue the necessary build commands ourselves
> +define FREESWITCH_MOD_BCG729_BUILD_CMDS
> +	$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) \
> +		-I$(STAGING_DIR)/usr/include/freeswitch \
> +		-fPIC -fomit-frame-pointer -fno-exceptions \
> +		-c $(@D)/mod_bcg729.c -o $(@D)/mod_bcg729.o
> +	$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) \
> +		-fPIC -fomit-frame-pointer -fno-exceptions \
> +		-shared -Xlinker -x -lm -lbcg729 -Wl,-Bdynamic \
> +		-o $(@D)/mod_bcg729.so $(@D)/mod_bcg729.o

 Since this clearly only works with dynamic libraries, I think it's worth adding
this explicitly as a dependency in Config.in. Of course, the dependency is
implicit already through freeswitch, but who knows, maybe freeswitch itself may
loose it one day.

 Regards,
 Arnout

> +endef
> +
> +define FREESWITCH_MOD_BCG729_INSTALL_TARGET_CMDS
> +	$(INSTALL) -m 0755 $(@D)/mod_bcg729.so $(TARGET_DIR)/usr/lib/freeswitch/mod/mod_bcg729.so
> +endef
> +
> +$(eval $(generic-package))
>
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 46daf6295c..fe0dd01331 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -206,6 +206,7 @@  F:	package/eudev/
 F:	package/exim/
 F:	package/fetchmail/
 F:	package/freeswitch/
+F:	package/freeswitch-mod-bcg729/
 F:	package/ffmpeg/
 F:	package/ghostscript/
 F:	package/giflib/
diff --git a/package/Config.in b/package/Config.in
index 7b99a6a510..6146de2781 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1638,6 +1638,7 @@  menu "Networking applications"
 	source "package/fmc/Config.in"
 	source "package/fping/Config.in"
 	source "package/freeswitch/Config.in"
+	source "package/freeswitch-mod-bcg729/Config.in"
 	source "package/gesftpserver/Config.in"
 	source "package/gupnp-tools/Config.in"
 	source "package/gutenprint/Config.in"
diff --git a/package/freeswitch-mod-bcg729/Config.in b/package/freeswitch-mod-bcg729/Config.in
new file mode 100644
index 0000000000..848d4ee67e
--- /dev/null
+++ b/package/freeswitch-mod-bcg729/Config.in
@@ -0,0 +1,9 @@ 
+config BR2_PACKAGE_FREESWITCH_MOD_BCG729
+	bool "freeswitch-mod-bcg729"
+	depends on BR2_PACKAGE_FREESWITCH
+	select BR2_PACKAGE_LIBBCG729
+	help
+	  FreeSWITCH G.729A module using the opensource bcg729
+	  implementation by Belledonne Communications.
+
+	  https://github.com/xadhoom/mod_bcg729
diff --git a/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash b/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash
new file mode 100644
index 0000000000..35a228179c
--- /dev/null
+++ b/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash
@@ -0,0 +1,2 @@ 
+# Locally computed
+sha256 135f545ad0eef49d1228f8d66a4e66f1ff5f1f8fdf115e88c1df3df8df49fdcb  freeswitch-mod-bcg729-c504eea91f225014380ae17c00b35e7173e316ad.tar.gz
diff --git a/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk b/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk
new file mode 100644
index 0000000000..c83fc50446
--- /dev/null
+++ b/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk
@@ -0,0 +1,30 @@ 
+################################################################################
+#
+# freeswitch-mod-bcg729
+#
+################################################################################
+
+FREESWITCH_MOD_BCG729_VERSION = c504eea91f225014380ae17c00b35e7173e316ad
+FREESWITCH_MOD_BCG729_SITE = $(call github,xadhoom,mod_bcg729,$(FREESWITCH_MOD_BCG729_VERSION))
+FREESWITCH_MOD_BCG729_LICENSE = MPL-1.1
+FREESWITCH_MOD_BCG729_LICENSE_FILES = LICENSE
+FREESWITCH_MOD_BCG729_DEPENDENCIES = freeswitch libbcg729
+
+# instead of patching the not cross-compile friendly Makefile from
+# upstream we issue the necessary build commands ourselves
+define FREESWITCH_MOD_BCG729_BUILD_CMDS
+	$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) \
+		-I$(STAGING_DIR)/usr/include/freeswitch \
+		-fPIC -fomit-frame-pointer -fno-exceptions \
+		-c $(@D)/mod_bcg729.c -o $(@D)/mod_bcg729.o
+	$(TARGET_CC) $(TARGET_CFLAGS) $(TARGET_LDFLAGS) \
+		-fPIC -fomit-frame-pointer -fno-exceptions \
+		-shared -Xlinker -x -lm -lbcg729 -Wl,-Bdynamic \
+		-o $(@D)/mod_bcg729.so $(@D)/mod_bcg729.o
+endef
+
+define FREESWITCH_MOD_BCG729_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 $(@D)/mod_bcg729.so $(TARGET_DIR)/usr/lib/freeswitch/mod/mod_bcg729.so
+endef
+
+$(eval $(generic-package))