summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Perez de Castro2023-11-09 12:44:26 +0200
committerAdrian Perez de Castro2023-11-09 12:44:26 +0200
commit13d1bf7a62833acb3db00d7f4fe67f0b20a99159 (patch)
treef2e51875e6d7ef9f3ad23b59767bc8f694ea3bb6
parentbe014d0abe991a794fac6ca5c0a71d5e3b325111 (diff)
downloadaur-13d1bf7a62833acb3db00d7f4fe67f0b20a99159.tar.gz
Import upstream patch to workaround compiler bug, allow static linking
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD27
-rw-r--r--workaround-mercury-bug567.patch44
3 files changed, 70 insertions, 5 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 19da618734e5..4f069275b451 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = bower-mail
pkgdesc = A curses terminal client for the Notmuch email system
pkgver = 1.0
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/wangp/bower
arch = any
license = GPL3
@@ -18,8 +18,10 @@ pkgbase = bower-mail
conflicts = bower
options = !lto
source = bower-1.0.tar.gz::https://github.com/wangp/bower/archive/1.0.tar.gz
+ source = workaround-mercury-bug567.patch
source = arch.patch
b2sums = 344533608ce33ce3dc011916045297d36f17b6c51e22261e831e2063bebf0cc73d5d464cc65edc92528384e97a3a8d338212f2371d84a08bb76d3aaa3f5a9a35
+ b2sums = 138644267275f297fc26c97254d3cbb90c153f8783584afab63ff012d19cca06dd3160f08647b2a65aca810a42fc6282391c6047bedb99e344cf8a585ce5d66e
b2sums = 20f10c1d6e7516f91ca4baee45f833da7844870a94ec4f7b4f3a0f8b31ba43e143fd9589de9b12cd02e420ea50a1407b2e5ec796de253108ab7e8cd38dbbf103
pkgname = bower-mail
diff --git a/PKGBUILD b/PKGBUILD
index 730b87d4e496..6507cd24fb22 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,23 +1,42 @@
# Maintainer: Adrian Perez de Castro <aperez@igalia.com>
# Contributor: Frank Seifferth <frankseifferth@posteo.net>
+
+_static_build=false
+# _static_build=true
+_mercury_dependency='mercury>=14.04'
+
pkgname=bower-mail
pkgver=1.0
-pkgrel=1
+pkgrel=2
pkgdesc="A curses terminal client for the Notmuch email system"
arch=('any')
url="https://github.com/wangp/bower"
-depends=('notmuch' 'ncurses' 'coreutils' 'file' 'mercury>=14.04')
+depends=('notmuch' 'ncurses' 'coreutils' 'file')
makedepends=('gpgme' 'pandoc')
options=(!lto)
optdepends=('msmtp: send messages' 'lynx: dump HTML emails' 'w3m: dump HTML emails')
conflicts=('bower')
license=('GPL3')
-source=("bower-$pkgver.tar.gz::https://github.com/wangp/bower/archive/$pkgver.tar.gz" arch.patch)
+source=("bower-$pkgver.tar.gz::https://github.com/wangp/bower/archive/$pkgver.tar.gz"
+ workaround-mercury-bug567.patch
+ arch.patch)
b2sums=('344533608ce33ce3dc011916045297d36f17b6c51e22261e831e2063bebf0cc73d5d464cc65edc92528384e97a3a8d338212f2371d84a08bb76d3aaa3f5a9a35'
+ '138644267275f297fc26c97254d3cbb90c153f8783584afab63ff012d19cca06dd3160f08647b2a65aca810a42fc6282391c6047bedb99e344cf8a585ce5d66e'
'20f10c1d6e7516f91ca4baee45f833da7844870a94ec4f7b4f3a0f8b31ba43e143fd9589de9b12cd02e420ea50a1407b2e5ec796de253108ab7e8cd38dbbf103')
+if $_static_build ; then
+ makedepends+=("$_mercury_dependency")
+else
+ depends+=("$_mercury_dependency")
+fi
+
prepare () {
- patch "$srcdir/bower-$pkgver/src/Mercury.options" < "$srcdir/arch.patch"
+ cd "$srcdir/bower-$pkgver"
+ patch -p1 -i "$srcdir/workaround-mercury-bug567.patch"
+
+ if $_static_build ; then
+ patch -i "$srcdir/arch.patch" src/Mercury.options
+ fi
}
build() {
diff --git a/workaround-mercury-bug567.patch b/workaround-mercury-bug567.patch
new file mode 100644
index 000000000000..190e6d3e0eb6
--- /dev/null
+++ b/workaround-mercury-bug567.patch
@@ -0,0 +1,44 @@
+From 2ba8e63f0b36433ed618dd17554656b1dab28201 Mon Sep 17 00:00:00 2001
+From: Peter Wang <novalazy@gmail.com>
+Date: Tue, 7 Nov 2023 13:11:32 +1100
+Subject: [PATCH] Work around Mercury bug 567.
+
+---
+ src/compose.m | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/compose.m b/src/compose.m
+index c1767ed..03b49fa 100644
+--- a/src/compose.m
++++ b/src/compose.m
+@@ -2607,6 +2607,7 @@
+ ;
+ Prepare = prepare_edit(_)
+ ),
++ workaround_merge_switches(!Acc),
+ (
+ Prepare = prepare_send,
+ cons(header(field_name("Message-ID"),
+@@ -2617,6 +2618,7 @@
+ ; Prepare = prepare_postpone
+ )
+ ),
++ workaround_merge_switches(!Acc),
+ (
+ ( Prepare = prepare_send
+ ; Prepare = prepare_postpone
+@@ -2678,6 +2680,14 @@
+ cons(header(field_name(FieldName), unstructured(Value, Options)), !Acc)
+ ).
+
++ % Work around Mercury bug 567 -- regression due to commit 43dd12bd
++ % "Merge consecutive switches on the same variable."
++ %
++:- pred workaround_merge_switches(list(header)::in, list(header)::out) is det.
++:- pragma no_inline(workaround_merge_switches/2).
++
++workaround_merge_switches(!Acc).
++
+ %-----------------------------------------------------------------------------%
+
+ :- pred maybe_read_signature_file(prog_config::in, maybe(string)::out,