[Buildroot] [PATCH 1/3] package/lmdb: new package
Yann E. MORIN
yann.morin.1998 at free.fr
Wed Apr 3 21:25:45 UTC 2024
Emile, All,
On 2024-04-03 18:17 -0300, Emile Cormier spake thusly:
> My only interest in python-zlmdb was to be able to build a more recent version
> of Crossbar, and I didn't even use that database component of Crossbar that
> depended on ZLMDB.
[--SNIP--]
> Unless someone is still actively using it, you may want to consider dropping
> Crossbar support in Buildroot because the amount of work needed to be able to
> build the latest version in Buildroot is monumental.
We've already removed crossbar a little while ago, as it is not
python-3.12 compatible, and it did not seem to be on the radar
upstream...
As for python-zlmdb, unless it gets broken, there is no reason to drop
it for now.
Thanks for your quick reply providing some useful context! :-)
Regards,
Yann E. MORIN.
> Cheers,
> Emile Cormier
>
> On Wed, Apr 3, 2024 at 5:57 PM Yann E. MORIN <[1]yann.morin.1998 at free.fr>
> wrote:
>
> François, All,
>
> +Mauro for pyhon-lmdb
> +Emile for python-zlmdb
>
> On 2024-04-03 10:54 +0200, Francois Perrad spake thusly:
> > Signed-off-by: Francois Perrad <[2]francois.perrad at gadz.org>
> [--SNIP--]
> > diff --git a/package/lmdb/Config.in b/package/lmdb/Config.in
> > new file mode 100644
> > index 0000000000..f4ae9f3103
> > --- /dev/null
> > +++ b/package/lmdb/Config.in
> > @@ -0,0 +1,13 @@
> > +config BR2_PACKAGE_LMDB
> > + bool "lmdb"
> > + depends on BR2_TOOLCHAIN_HAS_THREADS
> > + help
> > + OpenLDAP Lightning Memory-Mapped Database
> > +
> > + LMDB is compact, fast, powerful, and robust and implements
> > + a simplified variant of the BerkeleyDB (BDB) API.
> > +
> > + [3]https://symas.com/lmdb/
> > +
> > +comment "lmdb needs a toolchain w/ threads"
> > + depends on !BR2_TOOLCHAIN_HAS_THREADS
>
> Mauro, Emile: python-lmdb bundles a copy of lmdb, but it is possible to
> configure it to use the system-provided library instead [0]. Do you know
> if there would be adverse effects to do so in Buildroot? Indeed, we
> prefer to configure packages to use system libraries rather than use
> there bundled copy whenever possible...
>
> [0] [4]https://lmdb.readthedocs.io/en/release/#installation-unix
>
> I haven't looked at python-zlmdb, though...
>
> [--SNIP--]
> > diff --git a/package/lmdb/[5]lmdb.mk b/package/lmdb/[6]lmdb.mk
> > new file mode 100644
> > index 0000000000..5e2ad2d05a
> > --- /dev/null
> > +++ b/package/lmdb/[7]lmdb.mk
> > @@ -0,0 +1,35 @@
> > +########################################################################
> ########
> > +#
> > +# lmdb
> > +#
> > +########################################################################
> ########
> > +
> > +LMDB_VERSION = 0.9.31
> > +LMDB_SITE = $(call github,LMDB,lmdb,LMDB_$(LMDB_VERSION))
> > +LMDB_LICENSE = OpenLDAP Public License
>
> I think we want to use the SPDX short tag here: OLDAP-2.8. Incidentally,
> this is also what is already used for python-lmdb.
>
> > +LMDB_LICENSE_FILES = libraries/liblmdb/LICENSE
> > +LMDB_INSTALL_STAGING = YES
> > +
> > +define LMDB_BUILD_CMDS
> > + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libraries/liblmdb \
> > + CC="$(TARGET_CC)" \
> > + XCFLAGS="$(TARGET_CFLAGS)" \
> > + AR="$(TARGET_CROSS)ar" \
>
> Why not use $(TARGET_CONFIGURE_OPTS) and just add the special XCFLAGS?
>
> > + all
>
> 'all' is usually the default target, for being the first in the
> Makefile, which is also the cae here, so there is no reason to specify
> it.
>
> > +endef
> > +
> > +define LMDB_INSTALL_STAGING_CMDS
> > + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libraries/liblmdb \
> > + DESTDIR="$(STAGING_DIR)" \
> > + prefix=/usr \
> > + install
> > +endef
> > +
> > +define LMDB_INSTALL_TARGET_CMDS
> > + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libraries/liblmdb \
> > + DESTDIR="$(TARGET_DIR)" \
> > + prefix=/usr \
> > + install
> > +endef
> > +
> > +$(eval $(generic-package))
> > --
> > 2.39.2
> >
> > _______________________________________________
> > buildroot mailing list
> > [8]buildroot at buildroot.org
> > [9]https://lists.buildroot.org/mailman/listinfo/buildroot
>
> --
> .-----------------.--------------------.------------------.--------------------.
> | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics'
> conspiracy: |
> | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___
> |
> | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is
> no |
> | [10]http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v
> conspiracy. |
> '------------------------------^-------^------------------^
> --------------------'
>
>
> References:
>
> [1] mailto:yann.morin.1998 at free.fr
> [2] mailto:francois.perrad at gadz.org
> [3] https://symas.com/lmdb/
> [4] https://lmdb.readthedocs.io/en/release/#installation-unix
> [5] http://lmdb.mk/
> [6] http://lmdb.mk/
> [7] http://lmdb.mk/
> [8] mailto:buildroot at buildroot.org
> [9] https://lists.buildroot.org/mailman/listinfo/buildroot
> [10] http://ymorin.is-a-geek.org/
> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list