Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Nicolas Ménégale" <nicolas.menegale@openwide.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] cppcms: new package
Date: Thu, 11 Jul 2013 13:42:48 +0200 (CEST)	[thread overview]
Message-ID: <1674420667.688777.1373542968823.JavaMail.root@openwide.fr> (raw)
In-Reply-To: <1889525175.688461.1373542455505.JavaMail.root@openwide.fr>

Signed-off-by: Nicolas M?n?gale <nicolas.menegale@openwide.fr>
---
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))
-- 
1.7.9.5

       reply	other threads:[~2013-07-11 11:42 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1889525175.688461.1373542455505.JavaMail.root@openwide.fr>
2013-07-11 11:42 ` Nicolas Ménégale [this message]
2013-07-24 14:51   ` [Buildroot] [PATCH 1/1] cppcms: new package Nicolas Ménégale
2013-07-31 17:04   ` Thomas Petazzoni
2013-08-01  8:16     ` Nicolas Ménégale
2013-04-24 15:35 nmenegale
2013-05-13 14:42 ` Nicolas Menegale
2013-05-13 15:21 ` Samuel Martin
2013-05-13 15:46   ` Thomas Petazzoni
2013-05-13 16:13     ` Samuel Martin
2013-05-21  9:58       ` Nicolas Menegale
2013-05-21 10:01         ` Nicolas Menegale
2013-05-21 10:04         ` Nicolas Menegale
2013-05-28 13:04           ` Nicolas Menegale

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1674420667.688777.1373542968823.JavaMail.root@openwide.fr \
    --to=nicolas.menegale@openwide.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox