diff mbox series

[PATCH/next,4/6] package/libsolv: new package

Message ID 20221128123418.2197-4-tianyuanhao3@163.com
State Accepted
Headers show
Series [PATCH/next,1/6] package/cli11: new package | expand

Commit Message

TIAN Yuanhao Nov. 28, 2022, 12:34 p.m. UTC
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

Comments

Thomas Petazzoni Feb. 7, 2023, 4:14 p.m. UTC | #1
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 mbox series

Patch

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))