* [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
* Re: [Buildroot] [PATCH] package/sqlitecpp: new package
2024-07-10 15:42 ` Michael Nosthoff via buildroot
@ 2024-07-10 20:06 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-10 20:06 UTC (permalink / raw)
To: Michael Nosthoff; +Cc: Samuel Martin, Michael Nosthoff via buildroot
Hello,
On Wed, 10 Jul 2024 17:42:28 +0200
"Michael Nosthoff" <buildroot@heine.tech> wrote:
> > 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.
OK. Make sure to figure out exactly which gcc version is needed :-)
> 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?
You can find a collection of old toolchains
at http://autobuild.buildroot.net/toolchains/tarballs/ for example.
But not sure they are sufficiently old in fact :/
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
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.