[Buildroot] [PATCH v3 1/2] package/libpsl: new package
Adrian Perez de Castro
aperez at igalia.com
Fri May 21 10:37:36 UTC 2021
Package libpsl is a new non-optional dependency of libsoup.
Signed-off-by: Adrian Perez de Castro <aperez at igalia.com>
---
Changes v2 -> v3:
- Also select libunistring if ICU is not selected, as it is needed as
well when building against libidn/libidn2.
---
Changes v1 -> v2:
- Make sure at least libidn2 is always selected as fallback (suggested
by Arnout).
- Add upstream URL (suggested by Arnout).
- Switch to sha256 hashes (suggested by Arnout).
- Add license file hashes and add missing license (suggested by Arnout).
- Check for libraries in the same order as libpsl's Meson build files:
libidn2, icu, then libidn.
fixup! package/libpsl: new package
Signed-off-by: Adrian Perez de Castro <aperez at igalia.com>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/libpsl/Config.in | 8 ++++++++
package/libpsl/libpsl.hash | 6 ++++++
package/libpsl/libpsl.mk | 27 +++++++++++++++++++++++++++
5 files changed, 43 insertions(+)
create mode 100644 package/libpsl/Config.in
create mode 100644 package/libpsl/libpsl.hash
create mode 100644 package/libpsl/libpsl.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index a90ad1c354..4286ca5baf 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -35,6 +35,7 @@ F: package/bubblewrap/
F: package/cage/
F: package/cog/
F: package/libepoxy/
+F: package/libpsl/
F: package/libwpe/
F: package/webkitgtk/
F: package/wlroots/
diff --git a/package/Config.in b/package/Config.in
index 82b28d2835..eaa30ea161 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1788,6 +1788,7 @@ menu "Networking"
source "package/libpagekite/Config.in"
source "package/libpcap/Config.in"
source "package/libpjsip/Config.in"
+ source "package/libpsl/Config.in"
source "package/librelp/Config.in"
source "package/librsync/Config.in"
source "package/libshairplay/Config.in"
diff --git a/package/libpsl/Config.in b/package/libpsl/Config.in
new file mode 100644
index 0000000000..dd484799e7
--- /dev/null
+++ b/package/libpsl/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_LIBPSL
+ bool "libpsl"
+ select BR2_PACKAGE_LIBIDN2 if !BR2_PACKAGE_ICU && !BR2_PACKAGE_LIBIDN
+ select BR2_PACKAGE_LIBUNISTRING if !BR2_PACKAGE_ICU
+ help
+ C library to handle the Public Suffix List of TLDs.
+
+ https://github.com/rockdaboot/libpsl
diff --git a/package/libpsl/libpsl.hash b/package/libpsl/libpsl.hash
new file mode 100644
index 0000000000..552935e9ec
--- /dev/null
+++ b/package/libpsl/libpsl.hash
@@ -0,0 +1,6 @@
+# Locally generated
+sha256 ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c libpsl-0.21.1.tar.gz
+
+# Hashes for license files:
+sha256 7903413e7aa0bbcb77aa19150a3f1034edc0a760cff174f9a53efe4de6f056a4 COPYING
+sha256 1d7f52747a9169751cdf2641a8299c0098e9ecdf9429296ffd55bdb14c9ed5b3 src/LICENSE.chromium
diff --git a/package/libpsl/libpsl.mk b/package/libpsl/libpsl.mk
new file mode 100644
index 0000000000..1abdc6b208
--- /dev/null
+++ b/package/libpsl/libpsl.mk
@@ -0,0 +1,27 @@
+################################################################################
+#
+# libpsl
+#
+################################################################################
+
+LIBPSL_VERSION = 0.21.1
+LIBPSL_SITE = https://github.com/rockdaboot/libpsl/releases/download/$(LIBPSL_VERSION)
+LIBPSL_INSTALL_STAGING = YES
+LIBPSL_DEPENDENCIES = host-pkgconf
+LIBPSL_LICENSE = MIT, BSD-3-Clause
+LIBPSL_LICENSE_FILES = COPYING src/LICENSE.chromium
+LIBPSL_CONF_OPTS = -Ddocs=false
+
+# The order of checks is the same as done by libpsl when configured.
+ifeq ($(BR2_PACKAGE_LIBIDN2)$(BR2_PACKAGE_LIBUNISTRING),yy)
+LIBPSL_CONF_OPTS += -Druntime=libidn2 -Dbuiltin=libidn2
+LIBPSL_DEPENDENCIES += libidn2 libunistring
+else ifeq ($(BR2_PACKAGE_ICU),y)
+LIBPSL_CONF_OPTS += -Druntime=libicu -Dbuiltin=libicu
+LIBPSL_DEPENDENCIES += icu
+else
+LIBPSL_CONF_OPTS += -Druntime=libidn -Dbuiltin=libidn
+LIBPSL_DEPENDENCIES += libidn libunistring
+endif
+
+$(eval $(meson-package))
--
2.31.1
More information about the buildroot
mailing list