Patchwork [1/1] cppcms: new package

login
register
mail settings
Submitter nmenegale
Date May 21, 2013, 10:01 a.m.
Message ID <1366042009.2595624.1369130472040.JavaMail.root@openwide.fr>
Download mbox | patch
Permalink /patch/245251/
State Superseded
Headers show

Comments

nmenegale - May 21, 2013, 10:01 a.m.
Signed-off-by: Nicolas Ménégale <nicolas.menegale@openwide.fr>
---
v1: minor modifications
CppCMS is a C++ web framework. The cppcms.mk also copy into the host after 
staging install two scripts needed when you compile an application using the
web framework (cppcms_tmpl_cc).
As discussed on IRC it's not worth creating an host-cppcms package for one
script.
Signed-off-by: Nicolas Ménégale <nicolas.menegale@openwide.fr>
---
 package/Config.in        |  1 +
 package/cppcms/Config.in | 21 +++++++++++++++++++++
 package/cppcms/cppcms.mk | 23 +++++++++++++++++++++++
 3 files changed, 45 insertions(+)
 create mode 100644 package/cppcms/Config.in
 create mode 100644 package/cppcms/cppcms.mk

+$(eval $(cmake-package))

Patch

diff --git a/package/Config.in b/package/Config.in
index ab514c7..3ade087 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -556,6 +556,7 @@  source "package/apr/Config.in"
 source "package/apr-util/Config.in"
 source "package/libcofi/Config.in"
 source "package/classpath/Config.in"
+source "package/cppcms/Config.in"
 source "package/elfutils/Config.in"
 source "package/fftw/Config.in"
 source "package/libargtable2/Config.in"
diff --git a/package/cppcms/Config.in b/package/cppcms/Config.in
new file mode 100644
index 0000000..b53ba18
--- /dev/null
+++ b/package/cppcms/Config.in
@@ -0,0 +1,21 @@ 
+config BR2_PACKAGE_CPPCMS
+	bool "cppcms"
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_PCRE
+	select BR2_PACKAGE_ICU
+	select BR2_PACKAGE_LIBGCRYPT
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_USE_WCHAR
+	help
+	  CppCMS is a Free High Performance Web Development Framework
+	  (not a CMS) aimed for Rapid Web Application Development.
+	  It differs from most of other web development frameworks
+	  like: Python Django, Java Servlets in following:
+	  It is designed and tuned to handle extremely high loads.
+	  It uses modern C++ as primary development language in order to achieve first
+	  goal.
+	  It is aimed on development of both Web Sites and Web Services.
+
+	  http://cppcms.com
+
+comment "cppcms requires a toolchain with C++ & WCHAR support enabled"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
diff --git a/package/cppcms/cppcms.mk b/package/cppcms/cppcms.mk
new file mode 100644
index 0000000..b3319c2
--- /dev/null
+++ b/package/cppcms/cppcms.mk
@@ -0,0 +1,23 @@ 
+#############################################################
+#
+# CppCMS
+#
+#############################################################
+
+CPPCMS_VERSION = 1.0.3
+CPPCMS_SOURCE = cppcms-$(CPPCMS_VERSION).tar.bz2
+CPPCMS_LICENSE = LGPLv3
+CPPCMS_LICENSE_FILE = COPYING.TXT
+CPPCMS_SITE = http://downloads.sourceforge.net/project/cppcms/cppcms/$(CPPCMS_VERSION)
+CPPCMS_INSTALL_STAGING = YES
+CPPCMS_CONF_OPT = -DDISABLE_ICONV=ON
+CPPCMS_DEPENDENCIES = zlib pcre icu libgcrypt
+
+# We copy cppcms_tmpl_cc from staging to host because this file can be needed
+# for compiling packages using cppcms. And it is not worth creating a host
+# package just for a python script.
+define CPPCMS_INSTALL_HOST_TOOLS
+	cp $(STAGING_DIR)/usr/bin/cppcms_tmpl_cc $(HOST_DIR)/usr/bin/cppcms_tmpl_cc
+endef
+CPPCMS_POST_INSTALL_STAGING_HOOKS += CPPCMS_INSTALL_HOST_TOOLS
+