[v2] s-nail: add a maintained mail(1) fork

Message ID 20220201212640.2935995-1-ross.burton@arm.com
State New
Headers show
Series [v2] s-nail: add a maintained mail(1) fork | expand

Commit Message

Ross Burton Feb. 1, 2022, 9:26 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            | 45 +++++++++++++++++++
 .../recipes-extended/s-nail/s-nail_14.9.23.bb | 44 ++++++++++++++++++
 3 files changed, 90 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..68de68cdb8
--- /dev/null
+++ b/meta-oe/recipes-extended/s-nail/files/make-errors.patch
@@ -0,0 +1,45 @@ 
+Don't wrap CC in quotes as our CC has options and this breaks command lookup.
+
+Upstream-Status: Backport [https://git.sdaoden.eu/browse/s-nail.git/commit/?h=next&id=c08f3c898def715edf9164e169c3b3522f4c7a1f]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From c08f3c898def715edf9164e169c3b3522f4c7a1f Mon Sep 17 00:00:00 2001
+From: Steffen Nurpmeso <steffen@sdaoden.eu>
+Date: Tue, 1 Feb 2022 18:54:16 +0100
+Subject: [-] Remove even more bogus quotation marks (Ross Burton)..
+
+On top of (mk/su-find-command.sh: clearly define space behaviour)
+and (mx-test.sh: remove bogus quotation marks) Ross Burton
+reported some more on the ML.  I looked around and hope this was it.
+---
+ mk/pcb-cc.sh         | 2 +-
+ mk/su-make-errors.sh | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/mk/pcb-cc.sh b/mk/pcb-cc.sh
+index 2697c5cf..075f8988 100755
+--- a/mk/pcb-cc.sh
++++ b/mk/pcb-cc.sh
+@@ -18,7 +18,7 @@ if dowemayhave "$@"; then
+    if acmd_set CC clang || acmd_set CC gcc ||
+          acmd_set CC tcc || acmd_set CC pcc ||
+          acmd_set CC c89 || acmd_set CC c99; then
+-      exec "$CC" "$@"
++      exec $CC "$@"
+    else
+       echo >&2 'boing booom tschak'
+       echo >&2 'ERROR: I cannot find a compiler!'
+diff --git a/mk/su-make-errors.sh b/mk/su-make-errors.sh
+index f5c5144e..7fede15e 100644
+--- a/mk/su-make-errors.sh
++++ b/mk/su-make-errors.sh
+@@ -157,7 +157,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"