Skip to contentSkip to conversation

cppcms: new package

PATCH New Nicolas Ménégale 2 participants 4 messages Jul 11, 2013 – Aug 1, 2013 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

PATCH 1/1 cppcms: new package

---
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
package/Config.in +1 -0
index b588a0c..7036e24 100644
@@ -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"
package/cppcms/Config.in new file +30 -0
new file mode 100644
index 0000000..b6e3f9a
@@ -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
package/cppcms/cppcms.mk new file +24 -0
new file mode 100644
index 0000000..af9e573
@@ -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))
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH 1/1 cppcms: new package

Any news ?

Thanks a lot,
Nicolas.

----- Mail original -----

Quoted 123 lines

De: "Nicolas M?n?gale" <[email protected]> ?: buildroot at busybox.net
Cc: "Nicolas Menegale" <[email protected]> Envoy?: Jeudi 11 Juillet 2013 13:42:48
Objet: [PATCH 1/1] cppcms: new package

---
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
package/Config.in +1 -0
index b588a0c..7036e24 100644
@@ -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"
package/cppcms/Config.in new file +6 -0
new file mode 100644
index 0000000..b6e3f9a
@@ -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

package/cppcms/Config.in new file +9 -0
+	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

package/cppcms/Config.in new file +14 -0
+	  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"

package/cppcms/Config.in new file +1 -0
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
package/cppcms/cppcms.mk new file +11 -0
new file mode 100644
index 0000000..af9e573
@@ -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)

package/cppcms/cppcms.mk new file +2 -0
+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

package/cppcms/cppcms.mk new file +2 -0
+
+# 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/cppcms/cppcms.mk new file +3 -0
+# 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

package/cppcms/cppcms.mk new file +4 -1
+endef
+CPPCMS_POST_INSTALL_STAGING_HOOKS += CPPCMS_INSTALL_HOST_TOOLS
+
+$(eval $(cmake-package))
--

1.7.9.5

#3 lore raw

PATCH 1/1 cppcms: new package

In reply to Nicolas Ménégale

Dear Nicolas M?n?gale,

Quoted 13 lines · 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.

Quoted 7 lines
---
 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

I've applied this, but I had to do a bit of tuning, because this package doesn't build with uClibc, as it uses <monetary.h> functions, that don't exist in uClibc. I've added a glibc dependency, and removed the wchar dependency. Notice that my attempts to build with uClibc also allowed to discovered that the package should have depended on thread support.

Moreover, the package apparently offers optional zlib support, optional gcrypt support, optional OpenSSL support. It'd be good to support that in the future.

Thanks,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#4 lore raw

PATCH 1/1 cppcms: new package

Hi Thomas,

Thanks a lot for the investigation and the rework.
I'll add these functionalities to cppcms in the future, now that we have a clean basis.

Thanks,
Nicolas.

----- Mail original -----

Quoted 59 lines

De: "Thomas Petazzoni" <[email protected]> ?: "Nicolas M?n?gale" <[email protected]>
Cc: buildroot at busybox.net
Envoy?: Mercredi 31 Juillet 2013 19:04:37
Objet: Re: [Buildroot] [PATCH 1/1] cppcms: new package

Dear Nicolas M?n?gale,

Quoted 18 lines · 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.

Quoted 7 lines
---
 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

I've applied this, but I had to do a bit of tuning, because this package doesn't build with uClibc, as it uses <monetary.h> functions, that don't exist in uClibc. I've added a glibc dependency, and removed
the wchar dependency. Notice that my attempts to build with uClibc also
allowed to discovered that the package should have depended on thread support.

Moreover, the package apparently offers optional zlib support, optional
gcrypt support, optional OpenSSL support. It'd be good to support that
in the future.

Thanks,

Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com