Message ID | 20221128123418.2197-4-tianyuanhao3@163.com |
---|---|
State | Accepted |
Headers | show |
Series | [PATCH/next,1/6] package/cli11: new package | expand |
Hello, On Mon, 28 Nov 2022 12:34:16 +0000 TIAN Yuanhao <tianyuanhao3@163.com> wrote: > +ifeq ($(BR2_STATIC_LIBS),y) > +LIBSOLV_CONF_OPTS += -DDISABLE_SHARED=ON > +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) > +LIBSOLV_CONF_OPTS += -DENABLE_STATIC=ON > +endif Changed to: ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y) LIBSOLV_CONF_OPTS += -DENABLE_STATIC=ON else LIBSOLV_CONF_OPTS += -DDISABLE_STATIC=ON endif ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) LIBSOLV_CONF_OPTS += -DENABLE_SHARED=ON else LIBSOLV_CONF_OPTS += -DDISABLE_SHARED=ON endif To explicitly handle all cases. > +ifeq ($(BR2_PACKAGE_MICROMAMBA),y) > +LIBSOLV_CONF_OPTS += -DENABLE_CONDA=ON > +endif This isn't really nice, as we generally don't want packages to look at their reverse dependencies to decide which features should be enabled or not. So here, I would prefer to have a BR2_PACKAGE_LIBSOLV_CONDA option, which the micromamba package can select if it needs this feature from libsolv. For now, I've dropped this part, so if we need it for micromamba, could you send a patch just adding this new option, together with the new iteration of the micromamba package? Best regards, Thomas
diff --git a/DEVELOPERS b/DEVELOPERS index 2541a64dbf..572086d129 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2739,6 +2739,7 @@ F: package/most/ N: TIAN Yuanhao <tianyuanhao3@163.com> F: package/cli11/ +F: package/libsolv/ F: package/open-isns/ F: package/termcolor/ F: package/tl-expected/ diff --git a/package/Config.in b/package/Config.in index 2e73a6e3fa..b682fbe0ab 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2054,6 +2054,7 @@ menu "Other" source "package/libshdata/Config.in" source "package/libsigc/Config.in" source "package/libsigsegv/Config.in" + source "package/libsolv/Config.in" source "package/libspatialindex/Config.in" source "package/libtalloc/Config.in" source "package/libtasn1/Config.in" diff --git a/package/libsolv/Config.in b/package/libsolv/Config.in new file mode 100644 index 0000000000..1415d2bc2b --- /dev/null +++ b/package/libsolv/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBSOLV + bool "libsolv" + depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_ZLIB + help + A free package dependency solver using a satisfiability + algorithm. + + https://github.com/openSUSE/libsolv diff --git a/package/libsolv/libsolv.hash b/package/libsolv/libsolv.hash new file mode 100644 index 0000000000..162e46e54d --- /dev/null +++ b/package/libsolv/libsolv.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 968aef452b5493751fa0168cd58745a77c755e202a43fe8d549d791eb16034d5 libsolv-0.7.22.tar.gz +sha256 57f15acfb29fbef7749779e096a5885c60b716633e34484a21bb717554c0198f LICENSE.BSD diff --git a/package/libsolv/libsolv.mk b/package/libsolv/libsolv.mk new file mode 100644 index 0000000000..49c52e0c74 --- /dev/null +++ b/package/libsolv/libsolv.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# libsolv +# +################################################################################ + +LIBSOLV_VERSION = 0.7.22 +LIBSOLV_SITE = $(call github,openSUSE,libsolv,$(LIBSOLV_VERSION)) +LIBSOLV_LICENSE = BSD-3-Clause +LIBSOLV_LICENSE_FILES = LICENSE.BSD +LIBSOLV_INSTALL_STAGING = YES +LIBSOLV_DEPENDENCIES = zlib +LIBSOLV_CONF_OPTS = -DCMAKE_CXX_COMPILER_FORCED=ON + +ifeq ($(BR2_STATIC_LIBS),y) +LIBSOLV_CONF_OPTS += -DDISABLE_SHARED=ON +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +LIBSOLV_CONF_OPTS += -DENABLE_STATIC=ON +endif + +ifeq ($(BR2_PACKAGE_MICROMAMBA),y) +LIBSOLV_CONF_OPTS += -DENABLE_CONDA=ON +endif + +$(eval $(cmake-package))
Required by micromamba. Signed-off-by: TIAN Yuanhao <tianyuanhao3@163.com> --- DEVELOPERS | 1 + package/Config.in | 1 + package/libsolv/Config.in | 9 +++++++++ package/libsolv/libsolv.hash | 3 +++ package/libsolv/libsolv.mk | 25 +++++++++++++++++++++++++ 5 files changed, 39 insertions(+) create mode 100644 package/libsolv/Config.in create mode 100644 package/libsolv/libsolv.hash create mode 100644 package/libsolv/libsolv.mk