From patchwork Thu Jul 11 11:42:48 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: nmenegale X-Patchwork-Id: 258413 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from silver.osuosl.org (silver.osuosl.org [140.211.166.136]) by ozlabs.org (Postfix) with ESMTP id 1E6042C030B for ; Thu, 11 Jul 2013 21:43:00 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id AF899316C6; Thu, 11 Jul 2013 11:42:58 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3wrf+a3TxYUD; Thu, 11 Jul 2013 11:42:57 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 16AAB31AE3; Thu, 11 Jul 2013 11:42:57 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 55F171BFA6B for ; Thu, 11 Jul 2013 11:42:58 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 48F268D28F for ; Thu, 11 Jul 2013 11:42:56 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xymtdbns2MhM for ; Thu, 11 Jul 2013 11:42:54 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from zimbra3.corp.accelance.fr (zimbra3.corp.accelance.fr [213.162.49.233]) by whitealder.osuosl.org (Postfix) with ESMTP id C72868CA6C for ; Thu, 11 Jul 2013 11:42:53 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by zimbra3.corp.accelance.fr (Postfix) with ESMTP id BC01B66A37 for ; Thu, 11 Jul 2013 13:42:52 +0200 (CEST) X-Virus-Scanned: amavisd-new at zimbra3.corp.accelance.fr Received: from zimbra3.corp.accelance.fr ([127.0.0.1]) by localhost (zimbra3.corp.accelance.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fwq0KyPfchwN; Thu, 11 Jul 2013 13:42:49 +0200 (CEST) Received: from zimbra2.corp.accelance.fr (zimbra2.corp.accelance.fr [213.162.49.232]) by zimbra3.corp.accelance.fr (Postfix) with ESMTP id EB9E466A26; Thu, 11 Jul 2013 13:42:48 +0200 (CEST) Date: Thu, 11 Jul 2013 13:42:48 +0200 (CEST) From: Nicolas =?utf-8?B?TcOpbsOpZ2FsZQ==?= To: buildroot@busybox.net Message-ID: <1674420667.688777.1373542968823.JavaMail.root@openwide.fr> In-Reply-To: <1889525175.688461.1373542455505.JavaMail.root@openwide.fr> MIME-Version: 1.0 X-Originating-IP: [217.108.83.254] X-Mailer: Zimbra 7.2.2_GA_2852 (ZimbraWebClient - GC23 (Linux)/7.2.2_GA_2852) Subject: [Buildroot] [PATCH 1/1] cppcms: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net Signed-off-by: Nicolas Ménégale --- v2: iconv/icu related modifications The user can now choose if he want's to build cppcms using icu for having advanced localization features or using iconv. Also in the case that the user uses iconv, if the toolchains already integrate it, iconv won't be compiled. Sorry for the long time it took me to do this modification. 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. --- package/Config.in | 1 + package/cppcms/Config.in | 30 ++++++++++++++++++++++++++++++ package/cppcms/cppcms.mk | 24 ++++++++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 package/cppcms/Config.in create mode 100644 package/cppcms/cppcms.mk diff --git a/package/Config.in b/package/Config.in index b588a0c..7036e24 100644 --- a/package/Config.in +++ b/package/Config.in @@ -591,6 +591,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..b6e3f9a --- /dev/null +++ b/package/cppcms/Config.in @@ -0,0 +1,30 @@ +config BR2_PACKAGE_CPPCMS + bool "cppcms" + select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_LIBGCRYPT + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE && !BR2_PACKAGE_CPPCMS_ICU + 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 + +config BR2_PACKAGE_CPPCMS_ICU + bool "use icu instead of iconv" + 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 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..af9e573 --- /dev/null +++ b/package/cppcms/cppcms.mk @@ -0,0 +1,24 @@ +############################################################# +# +# 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 = $(if $(BR2_PACKAGE_CPPCMS_ICU),-DDISABLE_ICONV=ON,) +CPPCMS_DEPENDENCIES = zlib pcre $(if $(BR2_PACKAGE_CPPCMS_ICU),icu,$(if $(BR2_ENABLE_LOCALE),,libiconv)) 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 + +$(eval $(cmake-package))