[10/14] s-nail: add a maintained mail(1) fork

Message ID 20220201163507.1320861-10-ross.burton@arm.com
State New
Headers show
Series [01/14] python3-jsonpath-rw: set correct license | expand

Commit Message

Ross Burton Feb. 1, 2022, 4:35 p.m. UTC
Heirloom Mailx hasn't been maintained for some time: the last release
on their web site was 11.25 in 2005 and Debian shipped 12.5 in 2016, but
this appears to be a Debian-specific fork which is also now dead.

s-nail is an alternative mail(1) fork which is actively maintained, so
add a recipe for that.  It provides an alternative for ${bindir}/mailx,
so should be a drop-in replacement.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../packagegroups/packagegroup-meta-oe.bb     |  1 +
 .../s-nail/files/make-errors.patch            | 18 ++++++++
 .../recipes-extended/s-nail/s-nail_14.9.23.bb | 44 +++++++++++++++++++
 3 files changed, 63 insertions(+)
 create mode 100644 meta-oe/recipes-extended/s-nail/files/make-errors.patch
 create mode 100644 meta-oe/recipes-extended/s-nail/s-nail_14.9.23.bb

Patch

diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index a600b24cc3..de7239287c 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -421,6 +421,7 @@  RDEPENDS:packagegroup-meta-oe-extended ="\
     sedutil \
     libsigrok \
     libsigrokdecode \
+    s-nail \
     sigrok-cli \
     snappy \
     tipcutils \
diff --git a/meta-oe/recipes-extended/s-nail/files/make-errors.patch b/meta-oe/recipes-extended/s-nail/files/make-errors.patch
new file mode 100644
index 0000000000..18cfd257d2
--- /dev/null
+++ b/meta-oe/recipes-extended/s-nail/files/make-errors.patch
@@ -0,0 +1,18 @@ 
+Don't wrap CC in quotes as our CC has options and this breaks command lookup.
+
+Upstream-Status: Submitted
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/mk/su-make-errors.sh b/mk/su-make-errors.sh
+index a62af31..b73881e 100644
+--- a/mk/su-make-errors.sh
++++ b/mk/su-make-errors.sh
+@@ -152,7 +152,7 @@ compile_time() { # {{{
+    # The problem is that at least (some versions of) gcc mangle output.
+    # Ensure we get both arguments on one line.
+    # While here sort numerically.
+-   "${CC}" -E "${TARGET}".c |
++   ${CC} -E "${TARGET}".c |
+       ${awk} '
+          function stripsym(sym){
+             sym = substr(sym, 2)
diff --git a/meta-oe/recipes-extended/s-nail/s-nail_14.9.23.bb b/meta-oe/recipes-extended/s-nail/s-nail_14.9.23.bb
new file mode 100644
index 0000000000..4dbb99b3d5
--- /dev/null
+++ b/meta-oe/recipes-extended/s-nail/s-nail_14.9.23.bb
@@ -0,0 +1,44 @@ 
+SUMMARY = "Feature-rich BSD mail(1)"
+HOMEPAGE = "https://www.sdaoden.eu/code.html#s-mailx"
+SECTION = "console/network"
+
+LICENSE = "ISC & BSD-3-Clause & BSD-4-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=87266591c81260f10221f1f38872d023"
+
+SRC_URI = "https://ftp.sdaoden.eu/${BP}.tar.xz \
+           file://make-errors.patch"
+SRC_URI[sha256sum] = "2c717b22f4cd8719b82b6618640da6031382d2bf8eb51283bca2c6266957bca8"
+
+DEPENDS = "coreutils-native"
+
+B = "${WORKDIR}/build"
+
+inherit update-alternatives
+
+EXTRA_OEMAKE = "VERBOSE=yes \
+                CONFIG=minimal \
+                OPT_AUTOCC=no \
+                OPT_CROSS_BUILD=yes \
+                OBJDIR=${B} \
+                strip=true \
+                VAL_PREFIX=${prefix} \
+                VAL_BINDIR=${bindir} \
+                VAL_LIBEXECDIR=${libexecdir} \
+                VAL_MANDIR=${mandir} \
+                VAL_SYSCONFDIR=${sysconfdir}"
+
+do_configure[cleandirs] += "${B}"
+do_configure() {
+    oe_runmake -C ${S} config
+}
+
+do_compile() {
+    oe_runmake -C ${S} build
+}
+
+do_install() {
+    oe_runmake -C ${S} install DESTDIR=${D}
+}
+
+ALTERNATIVE:${PN} = "mailx"
+ALTERNATIVE_TARGET[mailx] = "${bindir}/s-nail"