Patchwork [v2] sconeserver: new package

login
register
mail settings
Submitter Simon Dawson
Date July 27, 2012, 9:51 a.m.
Message ID <1343382707-2698-1-git-send-email-spdawson@gmail.com>
Download mbox | patch
Permalink /patch/173611/
State Superseded
Headers show

Comments

Simon Dawson - July 27, 2012, 9:51 a.m.
From: Simon Dawson <spdawson@gmail.com>

Signed-off-by: Simon Dawson <spdawson@gmail.com>
---
 v2: Extensive rework in response to feedback on mailing list.

 package/Config.in                  |    1 +
 package/sconeserver/Config.in      |   84 +++++++++++++++++++++++++++
 package/sconeserver/sconeserver.mk |  111 ++++++++++++++++++++++++++++++++++++
 3 files changed, 196 insertions(+)
 create mode 100644 package/sconeserver/Config.in
 create mode 100644 package/sconeserver/sconeserver.mk
Arnout Vandecappelle - July 31, 2012, 3:18 p.m.
On 07/27/12 11:51, spdawson@gmail.com wrote:
> Signed-off-by: Simon Dawson<spdawson@gmail.com>

  Looks good, except I get a build failure with the following defconfig:

BR2_arm=y
BR2_cortex_a8=y
BR2_CCACHE=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201103=y
BR2_PACKAGE_SCONESERVER=y
BR2_PACKAGE_SCONESERVER_MYSQL=y
BR2_PACKAGE_SCONESERVER_BLUETOOTH=y
BR2_PACKAGE_SCONESERVER_RSS=y
BR2_PACKAGE_SCONESERVER_LETTUCE=y
BR2_PACKAGE_SCONESERVER_MATHS=y
BR2_PACKAGE_SCONESERVER_UI=y


>>> sconeserver 178 Configuring
(cd /home/arnout/src/buildroot/output-sconeserver/build/sconeserver-178/ && rm -rf config.cache && 
PATH="/home/arnout/src/buildroot/output-sconeserver/host/bin:/home/arnout/src/buildroot/output-sconeserver/host/usr/bin:/home/arnout/src/buildroot/output-sconeserver/host/usr/sbin/:/home/arnout/bin:/home/arnout/bin:/home/arnout/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/sbin:/sbin:/usr/sbin:/sbin" 
AR="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-ar" 
AS="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-as" 
LD="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-ld" 
NM="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-nm" 
CC="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/ccache 
/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-gcc" 
GCC="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/ccache 
/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-gcc" 
CPP="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-cpp" 
CXX="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/ccache 
/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-g++" 
FC="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-gfortran" 
RANLIB="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-ranlib" 
STRIP="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-strip" 
OBJCOPY="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-objcopy" 
OBJDUMP="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-objdump" 
AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as" 
CC_FOR_BUILD="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/ccache /usr/bin/gcc" 
GCC_FOR_BUILD="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/ccache /usr/bin/gcc" 
CXX_FOR_BUILD="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/ccache /usr/bin/g++" 
FC_FOR_BUILD="/usr/bin/ld" LD_FOR_BUILD="/usr/bin/ld" CFLAGS_FOR_BUILD="-O2 
-I/home/arnout/src/buildroot/output-sconeserver/host/include 
-I/home/arnout/src/buildroot/output-sconeserver/host/usr/include" 
CXXFLAGS_FOR_BUILD="-I/home/arnout/src/buildroot/output-sconeserver/host/include 
-I/home/arnout/src/buildroot/output-sconeserver/host/usr/include" 
LDFLAGS_FOR_BUILD="-L/home/arnout/src/buildroot/output-sconeserver/host/lib 
-L/home/arnout/src/buildroot/output-sconeserver/host/usr/lib 
-Wl,-rpath,/home/arnout/src/buildroot/output-sconeserver/host/usr/lib" FCFLAGS_FOR_BUILD="" 
DEFAULT_ASSEMBLER="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-as" 
DEFAULT_LINKER="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/arm-none-linux-gnueabi-ld" CFLAGS=" -pipe -Os 
  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CXXFLAGS=" -pipe -Os  -D_LARGEFILE_SOURCE 
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" LDFLAGS="" FCFLAGS="" 
PKG_CONFIG="/home/arnout/src/buildroot/output-sconeserver/host/usr/bin/pkg-config" 
PERLLIB="/home/arnout/src/buildroot/output-sconeserver/host/usr/lib/perl" 
STAGING_DIR="/home/arnout/src/buildroot/output-sconeserver/host/usr/arm-unknown-linux-gnueabi/sysroot" 
ac_cv_lbl_unaligned_fail=yes ac_cv_func_mmap_fixed_mapped=yes ac_cv_func_memcmp_working=yes ac_cv_have_decl_malloc=yes 
gl_cv_func_malloc_0_nonnull=yes ac_cv_func_malloc_0_nonnull=yes ac_cv_func_calloc_0_nonnull=yes 
ac_cv_func_realloc_0_nonnull=yes lt_cv_sys_lib_search_path_spec="" ac_cv_c_bigendian=no  ./configure 
--target=arm-unknown-linux-gnueabi --host=arm-unknown-linux-gnueabi --build=x86_64-unknown-linux-gnu --prefix=/usr 
--exec-prefix=/usr --sysconfdir=/etc --program-prefix="" --disable-gtk-doc   --enable-ipv6 --enable-static 
--enable-shared  --with-ip --with-local 
CPPFLAGS="-I/home/arnout/src/buildroot/output-sconeserver/host/usr/arm-unknown-linux-gnueabi/sysroot/usr/include/libxml2" --with-ip6 
--without-ssl --without-examples --without-sconesite --without-sconesite-image --with-mysql --with-bluetooth --with-rss 
--without-location --with-lettuce --with-maths --without-testbuilder --with-ui )
[snip]
checking for mysql_init in -lmysqlclient... no
configure: error: library 'mysqlclient' is required for the mysql module


  I guess you need to pass some configure option to point to
  $(STAGING_DIR)/usr/lib/mysql.


  Regards,
  Arnout
Arnout Vandecappelle - July 31, 2012, 3:19 p.m.
On 07/27/12 11:51, spdawson@gmail.com wrote:
[snip]
> +config BR2_PACKAGE_SCONESERVER_UI
> +	bool "ui"
> +	select BR2_PACKAGE_XLIB_LIBX11
> +	help
> +	  UI module for Sconeserver

  And another thing: this should have a
select BR2_PACKAGE_XORG7

  Regards,
  Arnout

[snip]
Thomas Petazzoni - July 31, 2012, 3:50 p.m.
Le Tue, 31 Jul 2012 17:19:42 +0200,
Arnout Vandecappelle <arnout@mind.be> a écrit :

>   And another thing: this should have a
> select BR2_PACKAGE_XORG7

Or rather a "depends on":

thomas@skate:~/projets/buildroot$ git grep "select BR2_PACKAGE_XORG7" | wc -l
0
thomas@skate:~/projets/buildroot$ git grep "depends on BR2_PACKAGE_XORG7" | wc -l
37

Thomas
Simon Dawson - July 31, 2012, 4:48 p.m.
Hi Arnout, Thomas. Thanks for the feedback; I'll submit a revised patch.

Simon.

Patch

diff --git a/package/Config.in b/package/Config.in
index f664b8e..a88e639 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -591,6 +591,7 @@  source "package/rsh-redone/Config.in"
 source "package/rsync/Config.in"
 source "package/rtorrent/Config.in"
 source "package/samba/Config.in"
+source "package/sconeserver/Config.in"
 source "package/ser2net/Config.in"
 source "package/socat/Config.in"
 source "package/socketcand/Config.in"
diff --git a/package/sconeserver/Config.in b/package/sconeserver/Config.in
new file mode 100644
index 0000000..3fa2e5f
--- /dev/null
+++ b/package/sconeserver/Config.in
@@ -0,0 +1,84 @@ 
+menuconfig BR2_PACKAGE_SCONESERVER
+	bool "sconeserver"
+	depends on BR2_INSTALL_LIBSTDCPP
+	select BR2_PACKAGE_PCRE
+	help
+	  Sconeserver is a modular, object-orientated and extremely versatile
+	  network server framework for GNU/Linux and UNIX-like platforms.
+
+	  http://www.sconemad.com/sconeserver/
+
+if BR2_PACKAGE_SCONESERVER
+
+comment "Sconeserver modules"
+
+config BR2_PACKAGE_SCONESERVER_EXAMPLES
+	bool "examples"
+	help
+	  Example modules for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE
+	bool "http::sconesite"
+	select BR2_PACKAGE_LIBXML2
+	help
+	  http::sconesite module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE
+	bool "http::sconesite::image"
+	depends on BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE
+	select BR2_PACKAGE_IMAGEMAGICK
+	help
+	  http::sconesite::image module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_MYSQL
+	bool "mysql"
+	select BR2_PACKAGE_MYSQL_CLIENT
+	help
+	  MySQL module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_BLUETOOTH
+	bool "bluetooth"
+	select BR2_PACKAGE_BLUEZ_UTILS
+	help
+	  Bluetooth module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_RSS
+	bool "rss"
+	select BR2_PACKAGE_LIBXML2
+	help
+	  RSS module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_LOCATION
+	bool "location"
+	select BR2_PACKAGE_GPSD
+	help
+	  Location module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_LETTUCE
+	bool "lettuce"
+	help
+	  Sconeserver module for Lettuce embedded automation platform
+
+	  http://www.sconemad.com/lettuce/
+
+config BR2_PACKAGE_SCONESERVER_MATHS
+	bool "maths"
+	select BR2_PACKAGE_MPFR
+	help
+	  Mathematics module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_TESTBUILDER
+	bool "testbuilder"
+	help
+	  Testbuilder module for Sconeserver
+
+config BR2_PACKAGE_SCONESERVER_UI
+	bool "ui"
+	select BR2_PACKAGE_XLIB_LIBX11
+	help
+	  UI module for Sconeserver
+
+endif # BR2_PACKAGE_SCONESERVER
+
+comment "sconeserver requires a toolchain with C++ support enabled"
+	depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/sconeserver/sconeserver.mk b/package/sconeserver/sconeserver.mk
new file mode 100644
index 0000000..45aadef
--- /dev/null
+++ b/package/sconeserver/sconeserver.mk
@@ -0,0 +1,111 @@ 
+#############################################################
+#
+# sconeserver
+#
+#############################################################
+# Release 0.6.0 doesn't build cleanly, so use a recent
+# Subversion trunk snapshot.
+SCONESERVER_VERSION = 178
+SCONESERVER_SITE = \
+	https://sconeserver.svn.sourceforge.net/svnroot/sconeserver/trunk
+SCONESERVER_SITE_METHOD = svn
+
+SCONESERVER_LICENSE = GPLv2+
+SCONESERVER_LICENSE_FILES = COPYING
+
+SCONESERVER_DEPENDENCIES += pcre
+SCONESERVER_CONF_OPT += --with-ip --with-local
+
+# Sconeserver configure script fails to find the libxml2 headers.
+ifeq ($(BR2_PACKAGE_LIBXML2),y)
+	SCONESERVER_CONF_OPT += CPPFLAGS="-I$(STAGING_DIR)/usr/include/libxml2"
+endif
+
+ifeq ($(BR2_INET_IPV6),y)
+	SCONESERVER_CONF_OPT += --with-ip6
+else
+	SCONESERVER_CONF_OPT += --without-ip6
+endif
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+	SCONESERVER_DEPENDENCIES += openssl
+	SCONESERVER_CONF_OPT += --with-ssl
+else
+	SCONESERVER_CONF_OPT += --without-ssl
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_EXAMPLES),y)
+	SCONESERVER_CONF_OPT += --with-examples
+else
+	SCONESERVER_CONF_OPT += --without-examples
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE),y)
+	SCONESERVER_DEPENDENCIES += libxml2
+	SCONESERVER_CONF_OPT += --with-sconesite
+else
+	SCONESERVER_CONF_OPT += --without-sconesite
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE),y)
+	SCONESERVER_DEPENDENCIES += imagemagick
+	SCONESERVER_CONF_OPT += --with-sconesite-image
+else
+	SCONESERVER_CONF_OPT += --without-sconesite-image
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_MYSQL),y)
+	SCONESERVER_DEPENDENCIES += mysql_client
+	SCONESERVER_CONF_OPT += --with-mysql
+else
+	SCONESERVER_CONF_OPT += --without-mysql
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_BLUETOOTH),y)
+	SCONESERVER_DEPENDENCIES += bluez_utils
+	SCONESERVER_CONF_OPT += --with-bluetooth
+else
+	SCONESERVER_CONF_OPT += --without-bluetooth
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_RSS),y)
+	SCONESERVER_DEPENDENCIES += libxml2
+	SCONESERVER_CONF_OPT += --with-rss
+else
+	SCONESERVER_CONF_OPT += --without-rss
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_LOCATION),y)
+	SCONESERVER_DEPENDENCIES += gpsd
+	SCONESERVER_CONF_OPT += --with-location
+else
+	SCONESERVER_CONF_OPT += --without-location
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_LETTUCE),y)
+	SCONESERVER_CONF_OPT += --with-lettuce
+else
+	SCONESERVER_CONF_OPT += --without-lettuce
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_MATHS),y)
+	SCONESERVER_DEPENDENCIES += mpfr
+	SCONESERVER_CONF_OPT += --with-maths
+else
+	SCONESERVER_CONF_OPT += --without-maths
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_TESTBUILDER),y)
+	SCONESERVER_CONF_OPT += --with-testbuilder
+else
+	SCONESERVER_CONF_OPT += --without-testbuilder
+endif
+
+ifeq ($(BR2_PACKAGE_SCONESERVER_UI),y)
+	SCONESERVER_DEPENDENCIES += xlib_libX11
+	SCONESERVER_CONF_OPT += --with-ui
+else
+	SCONESERVER_CONF_OPT += --without-ui
+endif
+
+$(eval $(autotools-package))