From 0b06159f4b57e95916081fde7099837b37dac053 Mon Sep 17 00:00:00 2001 From: j1nx Date: Mon, 8 Jun 2020 10:50:46 +0200 Subject: [PATCH] MycroftOS: Add libre, librem and baresip package. This so users can install the voip skill from jarbas. --- buildroot-external/Config.in | 3 + .../configs/rpi4_64-gui_defconfig | 4 ++ buildroot-external/package/baresip/Config.in | 6 ++ buildroot-external/package/baresip/baresip.mk | 59 +++++++++++++++++++ buildroot-external/package/libre/Config.in | 8 +++ buildroot-external/package/libre/libre.mk | 42 +++++++++++++ buildroot-external/package/librem/Config.in | 6 ++ buildroot-external/package/librem/librem.mk | 39 ++++++++++++ 8 files changed, 167 insertions(+) create mode 100644 buildroot-external/package/baresip/Config.in create mode 100644 buildroot-external/package/baresip/baresip.mk create mode 100644 buildroot-external/package/libre/Config.in create mode 100644 buildroot-external/package/libre/libre.mk create mode 100644 buildroot-external/package/librem/Config.in create mode 100644 buildroot-external/package/librem/librem.mk diff --git a/buildroot-external/Config.in b/buildroot-external/Config.in index 108dac38..14e58de2 100644 --- a/buildroot-external/Config.in +++ b/buildroot-external/Config.in @@ -9,6 +9,7 @@ menu "Mycroft A.I. Personal Assistant" source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/wifi-ap/Config.in" menu "Additional drivers, libraries and/or applications" source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/alsa-plugins/Config.in" + source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/baresip/Config.in" source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/btspeaker/Config.in" source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/fann/Config.in" source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/hostname-service/Config.in" @@ -50,6 +51,8 @@ menu "KF5" source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/kf5-solid/Config.in" source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/kf5-sonnet/Config.in" endmenu + source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/libre/Config.in" + source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/librem/Config.in" source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/lottie-qml/Config.in" source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/respeaker/Config.in" source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/snapcast/Config.in" diff --git a/buildroot-external/configs/rpi4_64-gui_defconfig b/buildroot-external/configs/rpi4_64-gui_defconfig index f49a6b63..2d22ab76 100644 --- a/buildroot-external/configs/rpi4_64-gui_defconfig +++ b/buildroot-external/configs/rpi4_64-gui_defconfig @@ -5,6 +5,7 @@ BR2_DL_DIR="../downloads" BR2_CCACHE=y BR2_CCACHE_DIR="../ccache" BR2_GLOBAL_PATCH_DIR="../buildroot-patches" +# BR2_COMPILER_PARANOID_UNSAFE_PATH is not set BR2_FORCE_HOST_BUILD=y BR2_TOOLCHAIN_BUILDROOT_GLIBC=y BR2_PACKAGE_GLIBC_UTILS=y @@ -478,6 +479,7 @@ BR2_PACKAGE_MYCROFT_SERVICE=y BR2_PACKAGE_MYCROFT_SPLASH=y BR2_PACKAGE_WIFI_AP=y BR2_PACKAGE_ALSA_PLUGINS=y +BR2_PACKAGE_BARESIP=y BR2_PACKAGE_BTSPEAKER=y BR2_PACKAGE_FANN=y BR2_PACKAGE_HOSTNAME_SERVICE=y @@ -496,6 +498,8 @@ BR2_PACKAGE_KF5_KWAYLAND=y BR2_PACKAGE_KF5_PHONON=y BR2_PACKAGE_KF5_PLASMA_FRAMEWORK=y BR2_PACKAGE_KF5_PLASMA_NANO=y +BR2_PACKAGE_LIBRE=y +BR2_PACKAGE_LIBREM=y BR2_PACKAGE_LOTTIE_QML=y BR2_PACKAGE_SNAPCAST=y BR2_PACKAGE_SNAPCAST_SERVER=y diff --git a/buildroot-external/package/baresip/Config.in b/buildroot-external/package/baresip/Config.in new file mode 100644 index 00000000..cd247821 --- /dev/null +++ b/buildroot-external/package/baresip/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_BARESIP + bool "baresip" + help + Modular SIP Useragent. + + http://www.creytiv.com/ diff --git a/buildroot-external/package/baresip/baresip.mk b/buildroot-external/package/baresip/baresip.mk new file mode 100644 index 00000000..13741ef1 --- /dev/null +++ b/buildroot-external/package/baresip/baresip.mk @@ -0,0 +1,59 @@ +############################################################# +# +# BARESIP +# +############################################################# + +BARESIP_VERSION = 0.6.5 +BARESIP_SITE = http://www.creytiv.com/pub +BARESIP_DEPENDENCIES = libre librem zlib + +BARESIP_MAKE_ENV = \ + $(TARGET_CONFIGURE_OPTS) \ + SYSROOT=$(STAGING_DIR)/usr \ + LD="$(TARGET_CC)" \ + LFLAGS="$(TARGET_LDFLAGS)" + +BARESIP_MAKE_ARGS = \ + LIBRE_MK="$(STAGING_DIR)/usr/share/re/re.mk" \ + LIBRE_INC="$(STAGING_DIR)/usr/include/re" \ + LIBRE_SO="$(STAGING_DIR)/usr/lib" \ + LIBREM_MK="$(STAGING_DIR)/usr/share/rem/rem.mk" \ + LIBREM_INC="$(STAGING_DIR)/usr/include/rem" \ + LIBREM_SO="$(STAGING_DIR)/usr/lib" + +ifeq ($(BR2_PACKAGE_ALSA_LIB),y) +BARESIP_DEPENDENCIES += alsa-lib +endif + +ifeq ($(BR2_PACKAGE_FFMPEG_SWSCALE),y) +BARESIP_DEPENDENCIES += ffmpeg +BARESIP_MAKE_ENV += \ + CFLAGS+=-DCODEC_TYPE_VIDEO=AVMEDIA_TYPE_VIDEO +endif + +ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) +BARESIP_DEPENDENCIES += libsndfile +endif + +ifeq ($(BR2_PACKAGE_SPEEX),y) +BARESIP_DEPENDENCIES += speex +endif + +ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y) +BARESIP_DEPENDENCIES += util-linux +endif + +ifeq ($(BR2_PACKAGE_XORG7),y) +BARESIP_DEPENDENCIES += xlib_libXext +endif + +define BARESIP_BUILD_CMDS + $(BARESIP_MAKE_ENV) $(MAKE) $(BARESIP_MAKE_ARGS) -C $(@D) all +endef + +define BARESIP_INSTALL_TARGET_CMDS + $(BARESIP_MAKE_ENV) DESTDIR=$(TARGET_DIR) $(MAKE) $(BARESIP_MAKE_ARGS) -C $(@D) install +endef + +$(eval $(generic-package)) diff --git a/buildroot-external/package/libre/Config.in b/buildroot-external/package/libre/Config.in new file mode 100644 index 00000000..5e1d5185 --- /dev/null +++ b/buildroot-external/package/libre/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBRE + bool "libre" + help + Toolkit library for asynchronous network + IO with protocol stacks including SIP, SDP, + RTP, STUN, TURN, ICE, BFCP and DNS. + + http://www.creytiv.com/ diff --git a/buildroot-external/package/libre/libre.mk b/buildroot-external/package/libre/libre.mk new file mode 100644 index 00000000..256661b3 --- /dev/null +++ b/buildroot-external/package/libre/libre.mk @@ -0,0 +1,42 @@ +############################################################# +# +# libre +# +############################################################# + +LIBRE_VERSION = 0.6.1 +LIBRE_SOURCE = re-$(LIBRE_VERSION).tar.gz +LIBRE_SITE = http://www.creytiv.com/pub +LIBRE_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBRE_DEPENDENCIES += openssl +endif +ifeq ($(BR2_PACKAGE_ZLIB),y) +LIBRE_DEPENDENCIES += zlib +endif + +define LIBRE_BUILD_CMDS + $(TARGET_MAKE_ENV) \ + $(MAKE) -C $(@D) \ + LIBRE_MK=$(STAGING_DIR)/usr/share/re/re.mk \ + LIBRE_INC=$(STAGING_DIR)/usr/include/re \ + LIBRE_SO=$(STAGING_DIR)/usr/lib \ + CC="$(TARGET_CC)" \ + EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ + EXTRA_LFLAGS="-lm" \ + DESTDIR="$(STAGING_DIR)" \ + SYSROOT="$(STAGING_DIR)/usr" \ + SYSROOT_ALT="$(STAGING_DIR)/usr" \ + RELEASE=1 \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + OS=linux \ + all install +endef + + +define LIBRE_INSTALL_TARGET_CMDS + $(INSTALL) -m 644 -D $(@D)/libre.so $(TARGET_DIR)/usr/lib/libre.so +endef + +$(eval $(generic-package)) diff --git a/buildroot-external/package/librem/Config.in b/buildroot-external/package/librem/Config.in new file mode 100644 index 00000000..b64c2a66 --- /dev/null +++ b/buildroot-external/package/librem/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_LIBREM + bool "librem" + help + Toolkit library for real-time audio and video processing. + + http://www.creytiv.com/ diff --git a/buildroot-external/package/librem/librem.mk b/buildroot-external/package/librem/librem.mk new file mode 100644 index 00000000..d5a5634c --- /dev/null +++ b/buildroot-external/package/librem/librem.mk @@ -0,0 +1,39 @@ +############################################################# +# +# librem +# +############################################################# + +LIBREM_VERSION = 0.6.0 +LIBREM_SOURCE = rem-$(LIBREM_VERSION).tar.gz +LIBREM_SITE = http://www.creytiv.com/pub +LIBREM_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_LIBRE),y) +LIBREM_DEPENDENCIES += libre +endif + +define LIBREM_BUILD_CMDS + $(TARGET_MAKE_ENV) \ + $(MAKE) -C $(@D) \ + LIBRE_MK=$(STAGING_DIR)/usr/share/re/re.mk \ + LIBRE_INC=$(STAGING_DIR)/usr/include/re \ + LIBRE_SO=$(STAGING_DIR)/usr/lib \ + HAVE_LIBRESOLV= \ + CC="$(TARGET_CC)" \ + EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ + EXTRA_LFLAGS="-lm" \ + DESTDIR="$(STAGING_DIR)" \ + SYSROOT="$(STAGING_DIR)/usr" \ + SYSROOT_ALT="$(STAGING_DIR)/usr" \ + RELEASE=1 \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + OS=linux \ + all install +endef + +define LIBREM_INSTALL_TARGET_CMDS + $(INSTALL) -m 644 -D $(@D)/librem.so $(TARGET_DIR)/usr/lib/librem.so +endef + +$(eval $(generic-package))