* [Buildroot] [PATCH] package/sqlitecpp: new package
@ 2024-07-10 8:13 Michael Nosthoff via buildroot
2024-07-10 8:48 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 6+ messages in thread
From: Michael Nosthoff via buildroot @ 2024-07-10 8:13 UTC (permalink / raw)
To: buildroot; +Cc: Samuel Martin
SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.
http://srombauts.github.io/SQLiteCpp/
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/sqlitecpp/Config.in | 9 +++++++++
package/sqlitecpp/sqlitecpp.hash | 3 +++
package/sqlitecpp/sqlitecpp.mk | 20 ++++++++++++++++++++
5 files changed, 34 insertions(+)
create mode 100644 package/sqlitecpp/Config.in
create mode 100644 package/sqlitecpp/sqlitecpp.hash
create mode 100644 package/sqlitecpp/sqlitecpp.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 90d1a111ab..dca815cdee 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2277,6 +2277,7 @@ F: package/networkd-dispatcher/
F: package/protobuf/
F: package/re2/
F: package/spdlog/
+F: package/sqlitecpp/
N: Michael Trimarchi <michael@amarulasolutions.com>
F: board/bsh/
diff --git a/package/Config.in b/package/Config.in
index 48ef1a6fdc..27710d18f3 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1611,6 +1611,7 @@ endif
source "package/rocksdb/Config.in"
source "package/sqlcipher/Config.in"
source "package/sqlite/Config.in"
+ source "package/sqlitecpp/Config.in"
source "package/timescaledb/Config.in"
source "package/unixodbc/Config.in"
endmenu
diff --git a/package/sqlitecpp/Config.in b/package/sqlitecpp/Config.in
new file mode 100644
index 0000000000..02b2d8989c
--- /dev/null
+++ b/package/sqlitecpp/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_SQLITECPP
+ bool "SQLiteC++"
+ select BR2_PACKAGE_SQLITE
+ select BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA
+ help
+ SQLiteC++ (SQLiteCpp) is a lean and easy to use
+ C++ SQLite3 wrapper.
+
+ https://github.com/SRombauts/SQLiteCpp
diff --git a/package/sqlitecpp/sqlitecpp.hash b/package/sqlitecpp/sqlitecpp.hash
new file mode 100644
index 0000000000..7b42d38280
--- /dev/null
+++ b/package/sqlitecpp/sqlitecpp.hash
@@ -0,0 +1,3 @@
+# Locally computed:
+sha256 71f990f9fb4b004533b6859ce40729af823b87fe691dd99ca084a7fd40db54b9 3.3.1.tar.gz
+sha256 635de1440f6064c6ca9ca325c163d4d0771e783c6d77783d9470eaf56e346c67 LICENSE.txt
diff --git a/package/sqlitecpp/sqlitecpp.mk b/package/sqlitecpp/sqlitecpp.mk
new file mode 100644
index 0000000000..bb1caa0f39
--- /dev/null
+++ b/package/sqlitecpp/sqlitecpp.mk
@@ -0,0 +1,20 @@
+################################################################################
+#
+# SQLiteC++
+#
+################################################################################
+
+SQLITECPP_VERSION = 3.3.1
+SQLITECPP_SOURCE = $(SQLITECPP_VERSION).tar.gz
+SQLITECPP_SITE = $(call github,SRombauts,SQLiteCpp,$(SQLITECPP_VERSION))
+SQLITECPP_LICENSE = MIT
+SQLITECPP_LICENSE_FILES = LICENSE.txt
+SQLITECPP_DEPENDENCIES = sqlite
+SQLITECPP_INSTALL_STAGING = YES
+
+SQLITECPP_CONF_OPTS = \
+ -DSQLITECPP_INTERNAL_SQLITE=OFF \
+ -DSQLITECPP_RUN_CPPLINT=OFF \
+ -DSQLITECPP_RUN_CPPCHECK=OFF
+
+$(eval $(cmake-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH] package/sqlitecpp: new package
2024-07-10 8:13 [Buildroot] [PATCH] package/sqlitecpp: new package Michael Nosthoff via buildroot
@ 2024-07-10 8:48 ` Thomas Petazzoni via buildroot
2024-07-10 9:16 ` Michael Nosthoff via buildroot
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-10 8:48 UTC (permalink / raw)
To: Michael Nosthoff via buildroot; +Cc: Samuel Martin
Hello Michael,
On Wed, 10 Jul 2024 10:13:47 +0200
Michael Nosthoff via buildroot <buildroot@buildroot.org> wrote:
> SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.
>
> http://srombauts.github.io/SQLiteCpp/
>
> Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Thanks, I have applied after doing some changes, see below.
> diff --git a/package/sqlitecpp/Config.in b/package/sqlitecpp/Config.in
> new file mode 100644
> index 0000000000..02b2d8989c
> --- /dev/null
> +++ b/package/sqlitecpp/Config.in
> @@ -0,0 +1,9 @@
> +config BR2_PACKAGE_SQLITECPP
> + bool "SQLiteC++"
Changed to:
bool "sqlitecpp"
Indeed, we really want the prompt to be the same as the package name.
> + select BR2_PACKAGE_SQLITE
> + select BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA
Since it's written in C++, you forgot:
depends on BR2_INSTALL_LIBSDCPP
and the corresponding Config.in comment saying that the toolchain needs
to have C++ support.
> diff --git a/package/sqlitecpp/sqlitecpp.mk b/package/sqlitecpp/sqlitecpp.mk
> new file mode 100644
> index 0000000000..bb1caa0f39
> --- /dev/null
> +++ b/package/sqlitecpp/sqlitecpp.mk
> @@ -0,0 +1,20 @@
> +################################################################################
> +#
> +# SQLiteC++
> +#
> +################################################################################
> +
> +SQLITECPP_VERSION = 3.3.1
> +SQLITECPP_SOURCE = $(SQLITECPP_VERSION).tar.gz
This _SOURCE variable was not needed, the default is good enough.
> +SQLITECPP_SITE = $(call github,SRombauts,SQLiteCpp,$(SQLITECPP_VERSION))
> +SQLITECPP_LICENSE = MIT
> +SQLITECPP_LICENSE_FILES = LICENSE.txt
> +SQLITECPP_DEPENDENCIES = sqlite
> +SQLITECPP_INSTALL_STAGING = YES
> +
> +SQLITECPP_CONF_OPTS = \
> + -DSQLITECPP_INTERNAL_SQLITE=OFF \
> + -DSQLITECPP_RUN_CPPLINT=OFF \
> + -DSQLITECPP_RUN_CPPCHECK=OFF
> +
> +$(eval $(cmake-package))
Again: applied with those changes. Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH] package/sqlitecpp: new package
2024-07-10 8:48 ` Thomas Petazzoni via buildroot
@ 2024-07-10 9:16 ` Michael Nosthoff via buildroot
2024-07-10 14:39 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 6+ messages in thread
From: Michael Nosthoff via buildroot @ 2024-07-10 9:16 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: Samuel Martin, Michael Nosthoff via buildroot
Hi Thomas,
thanks for applying so quickly.
On Wednesday, July 10, 2024 10:48 CEST, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> Hello Michael,
>
> On Wed, 10 Jul 2024 10:13:47 +0200
> Michael Nosthoff via buildroot <buildroot@buildroot.org> wrote:
>
> > SQLiteC++ (SQLiteCpp) is a lean and easy to use C++ SQLite3 wrapper.
> >
> > http://srombauts.github.io/SQLiteCpp/
> >
> > Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
>
> Thanks, I have applied after doing some changes, see below.
>
>
> > diff --git a/package/sqlitecpp/Config.in b/package/sqlitecpp/Config.in
> > new file mode 100644
> > index 0000000000..02b2d8989c
> > --- /dev/null
> > +++ b/package/sqlitecpp/Config.in
> > @@ -0,0 +1,9 @@
> > +config BR2_PACKAGE_SQLITECPP
> > + bool "SQLiteC++"
>
> Changed to:
>
> bool "sqlitecpp"
>
> Indeed, we really want the prompt to be the same as the package name.
>
> > + select BR2_PACKAGE_SQLITE
> > + select BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA
>
> Since it's written in C++, you forgot:
>
> depends on BR2_INSTALL_LIBSDCPP
>
> and the corresponding Config.in comment saying that the toolchain needs
> to have C++ support.
>
I totally forgot about this, thanks for fixing.
One additional thing: This library requires C++11, I think all compilers we have currently in buildroot should
be recent enough to support it. Or do we need a gcc version check here as well?
Related: I'm currently looking at bumping boost. And in the last versions many libs dropped their support for C++98.
So if we could just rely on the availability of C++11 this would make this much easier.
Regards,
Michael
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH] package/sqlitecpp: new package
2024-07-10 9:16 ` Michael Nosthoff via buildroot
@ 2024-07-10 14:39 ` Thomas Petazzoni via buildroot
2024-07-10 15:42 ` Michael Nosthoff via buildroot
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-10 14:39 UTC (permalink / raw)
To: Michael Nosthoff; +Cc: Samuel Martin, Michael Nosthoff via buildroot
Hello Michael,
On Wed, 10 Jul 2024 11:16:24 +0200
"Michael Nosthoff" <buildroot@heine.tech> wrote:
> One additional thing: This library requires C++11, I think all compilers we have currently in buildroot should
> be recent enough to support it. Or do we need a gcc version check here as well?
We need a gcc version check. Which version depends on which C++11
features are used. Some packages need gcc 4.7, some gcc 4.8, some gcc
4.9:
package/cli11/Config.in: depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
package/clpeak/Config.in: depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
package/cutelyst/Config.in: depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
package/docopt-cpp/Config.in: depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
package/edid-decode/Config.in: depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
package/efl/Config.in: depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
etc.
some even need gcc 5.x:
package/qt5/Config.in: depends on BR2_HOST_GCC_AT_LEAST_5 # Full C++11
> Related: I'm currently looking at bumping boost. And in the last versions many libs dropped their support for C++98.
> So if we could just rely on the availability of C++11 this would make this much easier.
If that also requires a gcc version dependency, then we would have to
add it to Boost, and then to all its reverse dependencies:
package/azmq/Config.in: select BR2_PACKAGE_BOOST
package/bitcoin/Config.in: select BR2_PACKAGE_BOOST
package/cc-tool/Config.in: select BR2_PACKAGE_BOOST
package/domoticz/Config.in: select BR2_PACKAGE_BOOST
package/gnuradio/Config.in: select BR2_PACKAGE_BOOST
package/gqrx/Config.in: select BR2_PACKAGE_BOOST
package/i2pd/Config.in: select BR2_PACKAGE_BOOST
package/libcamera-apps/Config.in: select BR2_PACKAGE_BOOST
package/libcamera/Config.in: select BR2_PACKAGE_BOOST
package/libcpprestsdk/Config.in: select BR2_PACKAGE_BOOST
package/libftdi/Config.in: select BR2_PACKAGE_BOOST
package/libftdi1/Config.in: select BR2_PACKAGE_BOOST
package/libosmium/Config.in: select BR2_PACKAGE_BOOST
package/libserial/Config.in: select BR2_PACKAGE_BOOST
package/libtorrent-rasterbar/Config.in: select BR2_PACKAGE_BOOST
package/mongodb/Config.in: select BR2_PACKAGE_BOOST
package/mpd/Config.in: select BR2_PACKAGE_BOOST
package/osm2pgsql/Config.in: select BR2_PACKAGE_BOOST
package/pulseview/Config.in: select BR2_PACKAGE_BOOST
package/python-libconfig/Config.in: select BR2_PACKAGE_BOOST
package/resiprocate/Config.in: select BR2_PACKAGE_BOOST
package/supertux/Config.in: select BR2_PACKAGE_BOOST
package/thrift/Config.in: select BR2_PACKAGE_BOOST
package/uhd/Config.in: select BR2_PACKAGE_BOOST
package/zmqpp/Config.in: select BR2_PACKAGE_BOOST
and then recursively to their reverse dependencies. It's a bit of work,
but I believe it's inevitable that at some point Boost, being a complex
C++ library, will require a certain version of gcc.
Best regards,
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH] package/sqlitecpp: new package
2024-07-10 14:39 ` Thomas Petazzoni via buildroot
@ 2024-07-10 15:42 ` Michael Nosthoff via buildroot
2024-07-10 20:06 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 6+ messages in thread
From: Michael Nosthoff via buildroot @ 2024-07-10 15:42 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: Samuel Martin, Michael Nosthoff via buildroot
Hi Thomas, all,
On Wednesday, July 10, 2024 16:39 CEST, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> Hello Michael,
>
> On Wed, 10 Jul 2024 11:16:24 +0200
> "Michael Nosthoff" <buildroot@heine.tech> wrote:
>
> > One additional thing: This library requires C++11, I think all compilers we have currently in buildroot should
> > be recent enough to support it. Or do we need a gcc version check here as well?
>
> We need a gcc version check. Which version depends on which C++11
> features are used. Some packages need gcc 4.7, some gcc 4.8, some gcc
> 4.9:
then I will prepare a patch for this package.
>
> package/cli11/Config.in: depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
> package/clpeak/Config.in: depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
> package/cutelyst/Config.in: depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
> package/docopt-cpp/Config.in: depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
> package/edid-decode/Config.in: depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
> package/efl/Config.in: depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
> etc.
>
> some even need gcc 5.x:
>
> package/qt5/Config.in: depends on BR2_HOST_GCC_AT_LEAST_5 # Full C++11
>
> > Related: I'm currently looking at bumping boost. And in the last versions many libs dropped their support for C++98.
> > So if we could just rely on the availability of C++11 this would make this much easier.
>
> If that also requires a gcc version dependency, then we would have to
> add it to Boost, and then to all its reverse dependencies:
>
that's what I feared. Do you have some advice on how to test with gcc 4.7/4.7/4.9? The oldest toolchain on bootlin I can find is gcc 5.4.
Is there any other toolchain located somewhere with an older gcc?
Regards,
Michael
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-07-10 20:06 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-10 8:13 [Buildroot] [PATCH] package/sqlitecpp: new package Michael Nosthoff via buildroot
2024-07-10 8:48 ` Thomas Petazzoni via buildroot
2024-07-10 9:16 ` Michael Nosthoff via buildroot
2024-07-10 14:39 ` Thomas Petazzoni via buildroot
2024-07-10 15:42 ` Michael Nosthoff via buildroot
2024-07-10 20:06 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox