فهرست منبع

cppcms: new package

[Thomas: reformat header and Config.in help text, add dependency on
glibc since cppcms uses <monetary.h> functions that aren't available
in uClibc.]

Signed-off-by: Nicolas Ménégale <nicolas.menegale@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
nmenegale 12 سال پیش
والد
کامیت
c176563717
3فایلهای تغییر یافته به همراه62 افزوده شده و 0 حذف شده
  1. 1 0
      package/Config.in
  2. 32 0
      package/cppcms/Config.in
  3. 29 0
      package/cppcms/cppcms.mk

+ 1 - 0
package/Config.in

@@ -605,6 +605,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"

+ 32 - 0
package/cppcms/Config.in

@@ -0,0 +1,32 @@
+config BR2_PACKAGE_CPPCMS
+	bool "cppcms"
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_PCRE
+	select BR2_PACKAGE_LIBGCRYPT
+	depends on BR2_INSTALL_LIBSTDCPP
+	# cppcms uses <monetary.h> which doesn't exist in uClibc
+	depends on BR2_TOOLCHAIN_USES_GLIBC
+	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 or Java Servlets on  the following aspects:
+
+           - It is designed and tuned to handle extremely high loads.
+	   - It uses modern C++ as primary development language in
+	     order to achieve the above goal.
+           - It is aimed on development of both Web Sites and Web
+             Services.
+
+	  http://cppcms.com
+
+config BR2_PACKAGE_CPPCMS_ICU
+	bool "enable icu support"
+	depends on BR2_PACKAGE_CPPCMS
+	select BR2_PACKAGE_ICU
+	help
+	  Using ICU allows advanced localization features into CppCMS,
+	  in another hand ICU is heavier than iconv.
+
+comment "cppcms requires a glibc toolchain with C++ support"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_GLIBC

+ 29 - 0
package/cppcms/cppcms.mk

@@ -0,0 +1,29 @@
+################################################################################
+#
+# 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_DEPENDENCIES = zlib pcre libgcrypt
+
+ifeq ($(BR2_PACKAGE_CPPCMS_ICU),y)
+CPPCMS_CONF_OPT += -DDISABLE_ICONV=ON
+CPPCMS_DEPENDENCIES += icu
+endif
+
+# 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
+
+$(eval $(cmake-package))