[Buildroot] [PATCH v3 1/1] bitlbee: Added package

Guillermo A. Amaral g at maral.me
Mon Sep 7 19:10:41 UTC 2015


BitlBee brings IM (instant messaging) to IRC clients. It's a great
solution for people who have an IRC client running all the time and
don't want to run an additional MSN/AIM/whatever client.

Bitlbee patch upstreamed:

    https://github.com/bitlbee/bitlbee/commit/f5bbaba3b2015f039221945431f98027cb3d2d49

Signed-off-by: Guillermo A. Amaral <g at maral.me>

---

Changes v2 -> v3:
    - Bitlbee cross-compilation changes upstreamed.

Changes v1 -> v2:
    - Bitlbee cross-compilation patch updated.

Signed-off-by: Guillermo A. Amaral <g at maral.me>
---
 package/Config.in                                  |  1 +
 .../0001-Improved-cross-compiler-support.patch     | 76 ++++++++++++++++++++++
 package/bitlbee/Config.in                          | 56 ++++++++++++++++
 package/bitlbee/bitlbee.mk                         | 57 ++++++++++++++++
 4 files changed, 190 insertions(+)
 create mode 100644 package/bitlbee/0001-Improved-cross-compiler-support.patch
 create mode 100644 package/bitlbee/Config.in
 create mode 100644 package/bitlbee/bitlbee.mk

diff --git a/package/Config.in b/package/Config.in
index 9bd4190..952596d 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1203,6 +1203,7 @@ menu "Networking applications"
 	source "package/batctl/Config.in"
 	source "package/bcusdk/Config.in"
 	source "package/bind/Config.in"
+	source "package/bitlbee/Config.in"
 	source "package/bluez_utils/Config.in"
 	source "package/bluez5_utils/Config.in"
 	source "package/bmon/Config.in"
diff --git a/package/bitlbee/0001-Improved-cross-compiler-support.patch b/package/bitlbee/0001-Improved-cross-compiler-support.patch
new file mode 100644
index 0000000..47d5250
--- /dev/null
+++ b/package/bitlbee/0001-Improved-cross-compiler-support.patch
@@ -0,0 +1,76 @@
+From 523cd4c5861edae31b45404272c1dc048f9484eb Mon Sep 17 00:00:00 2001
+From: "Guillermo A. Amaral" <g at maral.me>
+Date: Sun, 30 Aug 2015 15:22:58 -0700
+Subject: [PATCH] Improved cross compiler support.
+
+* Added a configure option for sysroot.
+* Prevent pkgconfig environment variables to be clobbered.
+* Prevent PATH environment variable pollution.
+* Backward compatible.
+
+Signed-off-by: Guillermo A. Amaral <g at maral.me>
+---
+ configure | 31 +++++++++++++++++++++++++++----
+ 1 file changed, 27 insertions(+), 4 deletions(-)
+
+diff --git a/configure b/configure
+index 921c9b4..5a0527d 100755
+--- a/configure
++++ b/configure
+@@ -22,6 +22,7 @@ pidfile='/var/run/bitlbee.pid'
+ ipcsocket=''
+ pcdir='$prefix/lib/pkgconfig'
+ systemlibdirs="/lib64 /usr/lib64 /usr/local/lib64 /lib /usr/lib /usr/local/lib"
++sysroot=''
+ 
+ # Set these to default-on to let it be overriden by either the user or purple
+ #
+@@ -148,6 +149,7 @@ Option		Description				Default
+ 
+ 
+ --target=...	Cross compilation target 		same as host
++--sysroot=...	Cross compilation sysroot 		$sysroot
+ EOF
+ 		exit;
+ 	fi
+@@ -239,12 +241,33 @@ EOF
+ 
+ 
+ if [ -n "$target" ]; then
+-	PKG_CONFIG_LIBDIR=/usr/$target/lib/pkgconfig
+-	export PKG_CONFIG_LIBDIR
+-	PATH=/usr/$target/bin:$PATH
++	# prepend sysroot to system lib dirs
++
++	systemlibdirs_cross=''
++	for i in $systemlibdirs; do
++		systemlibdirs_cross="$systemlibdirs_cross $sysroot$i"
++	done
++	systemlibdirs=$systemlibdirs_cross
++	unset systemlibdirs_cross
++
++	# backward compatibility
++
++	if [ -z "$PKG_CONFIG_LIBDIR" ]; then
++		PKG_CONFIG_LIBDIR=/usr/$target/lib/pkgconfig
++		export PKG_CONFIG_LIBDIR
++	fi
++
++	if [ -d /usr/$target/bin ]; then
++		PATH=/usr/$target/bin:$PATH
++	fi
++
++	if [ -d /usr/$target/lib ]; then
++		systemlibdirs="$systemlibdirs /usr/$target/lib"
++	fi
++
+ 	CC=$target-cc
+ 	LD=$target-ld
+-	systemlibdirs="/usr/$target/lib"
++	STRIP=$target-strip
+ fi
+ 
+ if [ "$asan" = "1" ]; then
+-- 
+2.4.6
+
diff --git a/package/bitlbee/Config.in b/package/bitlbee/Config.in
new file mode 100644
index 0000000..29abb78
--- /dev/null
+++ b/package/bitlbee/Config.in
@@ -0,0 +1,56 @@
+config BR2_PACKAGE_BITLBEE
+	bool "bitlbee"
+	select BR2_PACKAGE_LIBGLIB2
+	depends on BR2_USE_MMU # fork()
+	help
+	  An IRC to other chat networks gateway
+
+	  http://www.bitlbee.org/
+
+if BR2_PACKAGE_BITLBEE
+
+config BR2_PACKAGE_BITLBEE_MSN
+	bool "Enable MSN Part"
+	help
+	  MSN Messenger support.
+
+config BR2_PACKAGE_BITLBEE_JABBER
+	bool "Enable Jabber Part"
+	help
+	  Jabber/XMPP support.
+
+config BR2_PACKAGE_BITLBEE_OSCAR
+	bool "Enable Oscar Part"
+	help
+	  OSCAR/ICQ support.
+
+config BR2_PACKAGE_BITLBEE_YAHOO
+	bool "Enable Yahoo Part"
+	help
+	  Yahoo Messenger support.
+
+config BR2_PACKAGE_BITLBEE_TWITTER
+	bool "Enable Twitter Part"
+	help
+	  Twitter support.
+
+choice
+	prompt "SSL Backend"
+	help
+	  Select an SSL backend.
+
+config BR2_PACKAGE_BITLBEE_OPENSSL
+	bool "OpenSSL"
+	select BR2_PACKAGE_OPENSSL
+	help
+	  Use OpenSSL backend.
+
+config BR2_PACKAGE_BITLBEE_GNUTLS
+	bool "GnuTLS"
+	select BR2_PACKAGE_GNUTLS
+	help
+	  Use GnuTLS backend.
+
+endchoice
+
+endif
diff --git a/package/bitlbee/bitlbee.mk b/package/bitlbee/bitlbee.mk
new file mode 100644
index 0000000..86c26c0
--- /dev/null
+++ b/package/bitlbee/bitlbee.mk
@@ -0,0 +1,57 @@
+################################################################################
+#
+# bitlbee
+#
+################################################################################
+
+BITLBEE_VERSION = 3.4.1
+BITLBEE_SITE = $(call github,bitlbee,bitlbee,$(BITLBEE_VERSION))
+BITLBEE_LICENSE = GPL-2.0
+BITLBEE_LICENSE_FILES = COPYING
+BITLBEE_DEPENDENCIES = libglib2
+BITLBEE_CONF_OPTS = --doc=0
+
+BITLBEE_CONF_OPTS += --msn=$(if $(BR2_PACKAGE_BITLBEE_MSN),1,0)
+BITLBEE_CONF_OPTS += --jabber=$(if $(BR2_PACKAGE_BITLBEE_JABBER),1,0)
+BITLBEE_CONF_OPTS += --oscar=$(if $(BR2_PACKAGE_BITLBEE_OSCAR),1,0)
+BITLBEE_CONF_OPTS += --yahoo=$(if $(BR2_PACKAGE_BITLBEE_YAHOO),1,0)
+BITLBEE_CONF_OPTS += --twitter=$(if $(BR2_PACKAGE_BITLBEE_TWITTER),1,0)
+
+ifeq ($(BR2_PACKAGE_BITLBEE_OPENSSL),y)
+BITLBEE_CONF_OPTS += --ssl=openssl
+BITLBEE_DEPENDENCIES += openssl
+endif
+
+ifeq ($(BR2_PACKAGE_BITLBEE_GNUTLS),y)
+BITLBEE_CONF_OPTS += --ssl=gnutls
+BITLBEE_DEPENDENCIES += gnutls
+endif
+
+define BITLBEE_CONFIGURE_CMDS
+	(cd $(@D); \
+		PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
+		PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig" \
+		PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
+		MAKEFLAGS="$(MAKEFLAGS) -j$(PARALLEL_JOBS)" \
+		./configure \
+		--cpu=$(ARCH) \
+		--arch=$(TARGET_OS) \
+		--prefix=/usr \
+		--etcdir=/etc/bitlbee \
+		--target=$(GNU_TARGET_NAME) \
+		--sysroot=$(STAGING_DIR) \
+		$(BITLBEE_CONF_OPTS) \
+	)
+endef
+
+define BITLBEE_BUILD_CMDS
+	PATH="$(PATH):$(HOST_DIR)/usr/bin" \
+	$(MAKE) -C $(@D)
+endef
+
+define BITLBEE_INSTALL_TARGET_CMDS
+	$(INSTALL) -d $(TARGET_DIR)/var/lib/bitlbee
+	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install-etc install
+endef
+
+$(eval $(generic-package))
-- 
2.4.6



More information about the buildroot mailing list