diff mbox series

[v1,1/1] package/redis-plus-plus: new package

Message ID 20221007211932.481-1-prabhu.sannachi@collins.com
State Accepted
Headers show
Series [v1,1/1] package/redis-plus-plus: new package | expand

Commit Message

prabhu sannachi Oct. 7, 2022, 9:19 p.m. UTC
From: prabhusannachi <prabhu.sannachi@collins.com>

Redis client written in C++

This is a C++ client library for Redis.
It's based on hiredis, and is compatible
with C++ 17, C++ 14, and C++ 11.

https://github.com/sewenew/redis-plus-plus

Signed-off-by: Prabhu Sannachi <prabhu.sannachi@collins.com>
---
 DEVELOPERS                                   |  3 +++
 package/Config.in                            |  1 +
 package/redis-plus-plus/Config.in            | 11 +++++++++++
 package/redis-plus-plus/redis-plus-plus.hash |  3 +++
 package/redis-plus-plus/redis-plus-plus.mk   | 27 +++++++++++++++++++++++++++
 5 files changed, 45 insertions(+)
 create mode 100644 package/redis-plus-plus/Config.in
 create mode 100644 package/redis-plus-plus/redis-plus-plus.hash
 create mode 100644 package/redis-plus-plus/redis-plus-plus.mk

Comments

Thomas Petazzoni July 14, 2023, 9:58 a.m. UTC | #1
Hello Prabhu,

After many months, I finally took the time to look at your patch and
apply it. A number of changes where needed, see below.

On Fri,  7 Oct 2022 16:19:32 -0500
prabhu sannachi via buildroot <buildroot@buildroot.org> wrote:

> From: prabhusannachi <prabhu.sannachi@collins.com>

The "From:" should match the Signed-off-by line, so I fixed that up.

> +N:      Prabhu Sannachi <prabhu.sannachi@collins.com>
> +F:      package/redis-plus-plus/

Indentation between N:/F: and the value is one tab.

> diff --git a/package/redis-plus-plus/Config.in b/package/redis-plus-plus/Config.in
> new file mode 100644
> index 0000000..3c23dc5
> --- /dev/null
> +++ b/package/redis-plus-plus/Config.in
> @@ -0,0 +1,11 @@
> +config BR2_PACKAGE_REDIS_PLUS_PLUS
> +	bool "redis-plus-plus"
> +	select BR2_PACKAGE_HIREDIS

Missing depends on BR2_INSTALL_LIBSTDCPP, since this software is
written in C++. And also the corresponding Config.in comment.

> +REDIS_PLUS_PLUS_VERSION =  1.3.5

Only one space after =

> +REDIS_PLUS_PLUS_SITE = $(call github,sewenew,redis-plus-plus,$(REDIS_PLUS_PLUS_VERSION))
> +REDIS_PLUS_PLUS_LICENSE =  Apache-2.0 license

Only one space after =, just "Apache-2.0", without "license"
afterwards. We use SPDX license codes.

> +REDIS_PLUS_PLUS_LICENSE_FILES = LICENSE
> +REDIS_PLUS_PLUS_INSTALL_STAGING = YES
> +REDIS_PLUS_PLUS_DEPENDENCIES += hiredis

Just = instead of +=.

> +# since version 1.3.0, by default, redis-plus-plus is built with the -std=c++17 standard
> +ifneq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),y)

ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),)

is more commonly used in Buildroot.

> +  ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y)
> +    REDIS_PLUS_PLUS_CONF_OPTS += -DREDIS_PLUS_PLUS_CXX_STANDARD=14
> +  else
> +    REDIS_PLUS_PLUS_CONF_OPTS += -DREDIS_PLUS_PLUS_CXX_STANDARD=11
> +  endif
> +endif

We don't typically indent such code blocks.

> +
> +ifneq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_9),y)
> +  REDIS_PLUS_PLUS_CONF_OPTS += -DREDIS_PLUS_PLUS_BUILD_TEST=OFF
> +endif

We disable tests unconditionally usually, so I've done that as well.

Final commit at:

  https://gitlab.com/buildroot.org/buildroot/-/commit/c46df9de21e718a9ed6a2df2bb945c386695d3bf

Thanks a lot for your contribution!

Thomas
yegorslists--- via buildroot July 14, 2023, 3:30 p.m. UTC | #2
Hi Thomas Petazzoni,

Thanks for your input. I will take care your review comments in future commit.

Regards,
Prabhu

-----Original Message-----
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Sent: Friday, July 14, 2023 4:59 AM
To: prabhu sannachi via buildroot <buildroot@buildroot.org>
Cc: Sannachi, Prabhu Collins <prabhu.sannachi@collins.com>
Subject: [External] Re: [Buildroot] [PATCH v1 1/1] package/redis-plus-plus: new package

Hello Prabhu,

After many months, I finally took the time to look at your patch and apply it. A number of changes where needed, see below.

On Fri,  7 Oct 2022 16:19:32 -0500
prabhu sannachi via buildroot <buildroot@buildroot.org> wrote:

> From: prabhusannachi <prabhu.sannachi@collins.com>

The "From:" should match the Signed-off-by line, so I fixed that up.

> +N:      Prabhu Sannachi <prabhu.sannachi@collins.com>
> +F:      package/redis-plus-plus/

Indentation between N:/F: and the value is one tab.

> diff --git a/package/redis-plus-plus/Config.in
> b/package/redis-plus-plus/Config.in
> new file mode 100644
> index 0000000..3c23dc5
> --- /dev/null
> +++ b/package/redis-plus-plus/Config.in
> @@ -0,0 +1,11 @@
> +config BR2_PACKAGE_REDIS_PLUS_PLUS
> +     bool "redis-plus-plus"
> +     select BR2_PACKAGE_HIREDIS

Missing depends on BR2_INSTALL_LIBSTDCPP, since this software is written in C++. And also the corresponding Config.in comment.

> +REDIS_PLUS_PLUS_VERSION =  1.3.5

Only one space after =

> +REDIS_PLUS_PLUS_SITE = $(call
> +github,sewenew,redis-plus-plus,$(REDIS_PLUS_PLUS_VERSION))
> +REDIS_PLUS_PLUS_LICENSE =  Apache-2.0 license

Only one space after =, just "Apache-2.0", without "license"
afterwards. We use SPDX license codes.

> +REDIS_PLUS_PLUS_LICENSE_FILES = LICENSE
> +REDIS_PLUS_PLUS_INSTALL_STAGING = YES REDIS_PLUS_PLUS_DEPENDENCIES +=
> +hiredis

Just = instead of +=.

> +# since version 1.3.0, by default, redis-plus-plus is built with the
> +-std=c++17 standard ifneq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),y)

ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),)

is more commonly used in Buildroot.

> +  ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y)
> +    REDIS_PLUS_PLUS_CONF_OPTS += -DREDIS_PLUS_PLUS_CXX_STANDARD=14
> +  else
> +    REDIS_PLUS_PLUS_CONF_OPTS += -DREDIS_PLUS_PLUS_CXX_STANDARD=11
> +  endif
> +endif

We don't typically indent such code blocks.

> +
> +ifneq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_9),y)
> +  REDIS_PLUS_PLUS_CONF_OPTS += -DREDIS_PLUS_PLUS_BUILD_TEST=OFF endif

We disable tests unconditionally usually, so I've done that as well.

Final commit at:

  https://urldefense.com/v3/__https://gitlab.com/buildroot.org/buildroot/-/commit/c46df9de21e718a9ed6a2df2bb945c386695d3bf__;!!MvWE!Ctrbmd8RE2sbwEAMgJQIE4dlllBaphGkzTDc_NaL0tCtQ4Vdm43DiI3oDMCjCXSb87Qq625Ux-j_NfMaIj8H5iCTbEsqqmlh7w$

Thanks a lot for your contribution!

Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://urldefense.com/v3/__https://bootlin.com__;!!MvWE!Ctrbmd8RE2sbwEAMgJQIE4dlllBaphGkzTDc_NaL0tCtQ4Vdm43DiI3oDMCjCXSb87Qq625Ux-j_NfMaIj8H5iCTbEu9EopxSw$
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 59121c6..2f24fca 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2435,6 +2435,9 @@  F:	package/libdvbpsi/
 F:	package/mraa/
 F:	package/synergy/
 
+N:      Prabhu Sannachi <prabhu.sannachi@collins.com>
+F:      package/redis-plus-plus/
+
 N:	Rafal Susz <rafal.susz@gmail.com>
 F:	board/avnet/s6lx9_microboard/
 F:	configs/s6lx9_microboard_defconfig
diff --git a/package/Config.in b/package/Config.in
index e3a34d6..8235864 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1491,6 +1491,7 @@  if BR2_PACKAGE_POSTGRESQL
 	source "package/postgis/Config.in"
 endif
 	source "package/redis/Config.in"
+	source "package/redis-plus-plus/Config.in"
 	source "package/rocksdb/Config.in"
 	source "package/sqlcipher/Config.in"
 	source "package/sqlite/Config.in"
diff --git a/package/redis-plus-plus/Config.in b/package/redis-plus-plus/Config.in
new file mode 100644
index 0000000..3c23dc5
--- /dev/null
+++ b/package/redis-plus-plus/Config.in
@@ -0,0 +1,11 @@ 
+config BR2_PACKAGE_REDIS_PLUS_PLUS
+	bool "redis-plus-plus"
+	select BR2_PACKAGE_HIREDIS
+	help
+	  Redis client written in C++
+
+	  This is a C++ client library for Redis.
+	  It's based on hiredis, and is compatible
+	  with C++ 17, C++ 14, and C++ 11.
+
+	  https://github.com/sewenew/redis-plus-plus
diff --git a/package/redis-plus-plus/redis-plus-plus.hash b/package/redis-plus-plus/redis-plus-plus.hash
new file mode 100644
index 0000000..93e58e2
--- /dev/null
+++ b/package/redis-plus-plus/redis-plus-plus.hash
@@ -0,0 +1,3 @@ 
+# Locally calculated:
+sha256  a49a72fef26ed39d36a278fcc4e4d92822e111697b5992d8f26f70d16edc6c1f  redis-plus-plus-1.3.5.tar.gz
+sha256  c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4  LICENSE
diff --git a/package/redis-plus-plus/redis-plus-plus.mk b/package/redis-plus-plus/redis-plus-plus.mk
new file mode 100644
index 0000000..145fcbe
--- /dev/null
+++ b/package/redis-plus-plus/redis-plus-plus.mk
@@ -0,0 +1,27 @@ 
+################################################################################
+#
+# redis-plus-plus
+#
+################################################################################
+
+REDIS_PLUS_PLUS_VERSION =  1.3.5
+REDIS_PLUS_PLUS_SITE = $(call github,sewenew,redis-plus-plus,$(REDIS_PLUS_PLUS_VERSION))
+REDIS_PLUS_PLUS_LICENSE =  Apache-2.0 license
+REDIS_PLUS_PLUS_LICENSE_FILES = LICENSE
+REDIS_PLUS_PLUS_INSTALL_STAGING = YES
+REDIS_PLUS_PLUS_DEPENDENCIES += hiredis
+
+# since version 1.3.0, by default, redis-plus-plus is built with the -std=c++17 standard
+ifneq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),y)
+  ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y)
+    REDIS_PLUS_PLUS_CONF_OPTS += -DREDIS_PLUS_PLUS_CXX_STANDARD=14
+  else
+    REDIS_PLUS_PLUS_CONF_OPTS += -DREDIS_PLUS_PLUS_CXX_STANDARD=11
+  endif
+endif
+
+ifneq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_9),y)
+  REDIS_PLUS_PLUS_CONF_OPTS += -DREDIS_PLUS_PLUS_BUILD_TEST=OFF
+endif
+
+$(eval $(cmake-package))