diff --git a/user/gmime/3.2.3-broken-tests.patch b/user/gmime/3.2.3-broken-tests.patch
new file mode 100644
index 0000000000000000000000000000000000000000..219580761f523d2825afc00d60a7616e0a1ba599
--- /dev/null
+++ b/user/gmime/3.2.3-broken-tests.patch
@@ -0,0 +1,31 @@
+From e62f2a250092fc30ebe242c6acbf46320c1d0891 Mon Sep 17 00:00:00 2001
+From: Luis Ressel <aranea@aixah.de>
+Date: Mon, 25 Feb 2019 07:34:54 +0100
+Subject: [PATCH] Disable broken tests
+
+test-iconv relies on an glibc-specific iso-2022-jp encoding behaviour;
+test-filters uses the UTF-8 --> EUC-KR conversion which is not
+supported by musl.
+---
+ tests/Makefile.am | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 9a2ee8d..f59c8ed 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -10,11 +10,9 @@ AM_CPPFLAGS = 				\
+ 	$(GLIB_CFLAGS)
+ 
+ AUTOMATED_TESTS =	\
+-	test-iconv	\
+ 	test-streams	\
+ 	test-cat	\
+ 	test-encodings	\
+-	test-filters	\
+ 	test-headers	\
+ 	test-mime-part	\
+ 	test-partial	\
+-- 
+2.19.2
+
diff --git a/user/gmime/APKBUILD b/user/gmime/APKBUILD
new file mode 100644
index 0000000000000000000000000000000000000000..37f1bc7ee9e868c246cbaac5690c9d4af147d101
--- /dev/null
+++ b/user/gmime/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Luis Ressel <aranea@aixah.de>
+# Maintainer: Luis Ressel <aranea@aixah.de>
+pkgname=gmime
+pkgver=3.2.3
+pkgrel=0
+pkgdesc="MIME utility library"
+url="https://developer.gnome.org/gmime/"
+arch="all"
+license="LGPL-2.1+"
+depends=""
+depends_dev="gpgme-dev libidn2-dev zlib-dev"
+makedepends="$depends_dev"
+checkdepends="gnupg"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+	3.2.3-broken-tests.patch"
+
+build() {
+	cd "$builddir"
+	./configure \
+		--build=$CBUILD \
+		--host=$CHOST \
+		--prefix=/usr \
+		--sysconfdir=/etc \
+		--enable-crypto \
+		--disable-vala \
+		--with-gpgme \
+		--with-libidn
+	make
+}
+
+prepare() {
+	default_prepare
+	autoreconf -vif
+}
+
+check() {
+	cd "$builddir"
+	make check
+}
+
+package() {
+	cd "$builddir"
+	make DESTDIR="$pkgdir" install
+}
+
+sha512sums="abaf9059baf0c045d5b62757953ee2fa0779462eb32142bb41be40c376fc7ac2b3e4a56fd66177fbbe1dca35c6168a251542b14a844125c2cfcc9a99888179b4  gmime-3.2.3.tar.xz
+443e768e15eb25116368739957ac31a30cd10a921c113b76af1a0baf0c690ca1346463577289d24ce8f46deb014dd014040033bc1f3d02d8a2190c70dd4c2a74  3.2.3-broken-tests.patch"
diff --git a/user/notmuch/0.28.2-disable-rpath.patch b/user/notmuch/0.28.2-disable-rpath.patch
new file mode 100644
index 0000000000000000000000000000000000000000..cc510261493f1bec0ada9a35e0aa70c6bd8839ae
--- /dev/null
+++ b/user/notmuch/0.28.2-disable-rpath.patch
@@ -0,0 +1,48 @@
+From ed15cac16414418c11896071d6ca9238d033f23d Mon Sep 17 00:00:00 2001
+From: Luis Ressel <aranea@aixah.de>
+Date: Mon, 25 Feb 2019 08:18:24 +0100
+Subject: [PATCH] Add a configure flag to disable rpaths
+
+---
+ configure | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index a6f5dfa2..5e7e5aa9 100755
+--- a/configure
++++ b/configure
+@@ -82,6 +82,7 @@ WITH_API_DOCS=1
+ WITH_EMACS=1
+ WITH_DESKTOP=1
+ WITH_BASH=1
++WITH_RPATH=1
+ WITH_RUBY=1
+ WITH_ZSH=1
+ WITH_RETRY_LOCK=1
+@@ -241,6 +242,14 @@ for option; do
+ 	fi
+     elif [ "${option}" = '--without-bash-completion' ] ; then
+ 	WITH_BASH=0
++    elif [ "${option%%=*}" = '--with-rpath' ]; then
++	if [ "${option#*=}" = 'no' ]; then
++	    WITH_RPATH=0
++	else
++	    WITH_RPATH=1
++	fi
++    elif [ "${option}" = '--without-rpath' ] ; then
++	WITH_RPATH=0
+     elif [ "${option%%=*}" = '--with-ruby' ]; then
+ 	if [ "${option#*=}" = 'no' ]; then
+ 	    WITH_RUBY=0
+@@ -928,7 +937,7 @@ fi
+ rm -f compat/check_asctime
+ 
+ printf "Checking for rpath support... "
+-if ${CC} -Wl,--enable-new-dtags -Wl,-rpath,/tmp/ -o minimal minimal.c >/dev/null 2>&1
++if [ $WITH_RPATH = "1" ] && ${CC} -Wl,--enable-new-dtags -Wl,-rpath,/tmp/ -o minimal minimal.c >/dev/null 2>&1
+ then
+     printf "Yes.\n"
+     rpath_ldflags="-Wl,--enable-new-dtags -Wl,-rpath,\$(libdir)"
+-- 
+2.19.2
+
diff --git a/user/notmuch/APKBUILD b/user/notmuch/APKBUILD
new file mode 100644
index 0000000000000000000000000000000000000000..4e81536304bd3edcb468154ce46f512496d8b019
--- /dev/null
+++ b/user/notmuch/APKBUILD
@@ -0,0 +1,96 @@
+# Contributor: Luis Ressel <aranea@aixah.de>
+# Maintainer: Luis Ressel <aranea@aixah.de>
+pkgname=notmuch
+pkgver=0.28.3
+pkgrel=0
+pkgdesc="Thread-based email index, search and tagging"
+url="https://notmuchmail.org/"
+arch="all"
+license="GPL-3.0+"
+depends=""
+depends_dev="gmime-dev talloc-dev xapian-core-dev zlib-dev"
+makedepends="$depends_dev doxygen emacs python3-dev ruby-dev"
+checkdepends="bash dtach gnupg"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-emacs py3-$pkgname:_py ruby-$pkgname:_rb $pkgname-bash-completion:bashcomp:noarch $pkgname-zsh-completion:zshcomp:noarch"
+source="https://notmuchmail.org/releases/notmuch-$pkgver.tar.gz
+	0.28.2-disable-rpath.patch"
+
+build() {
+	cd "$builddir"
+	./configure \
+		--build=$CBUILD \
+		--host=$CHOST \
+		--prefix=/usr \
+		--sysconfdir=/etc \
+		--mandir=/usr/share/man \
+		--localstatedir=/var \
+		--without-bash-completion \
+		--without-desktop \
+		--without-rpath
+	make
+
+	cd bindings/python
+	python3 setup.py build
+}
+
+check() {
+	cd "$builddir"
+	# config, regexp-query: musl issues, TODO: Fixed in master
+	# count, insert: gdb-based tests which fail at some optimization levels, or w/o -g.
+	NOTMUCH_SKIP_TESTS="config regexp-query count insert" make check
+}
+
+package() {
+	cd "$builddir"
+	make DESTDIR="$pkgdir" install
+}
+
+doc() {
+	default_doc
+	# TODO: We'd need sphinx to generate the man pages, but the raw *.rst's are still better than no docs at all.
+	mkdir -p "$subpkgdir/usr/share/doc/$pkgname" "$builddir/doc/man"*
+	cp -r "$builddir/doc/man"* "$subpkgdir/usr/share/doc/$pkgname/"
+}
+
+emacs() {
+	mkdir -p "$subpkgdir/usr/bin" "$subpkgdir/usr/share"
+	mv "$pkgdir/usr/bin/notmuch-emacs-mua" "$subpkgdir/usr/bin"
+	mv "$pkgdir/usr/share/emacs" "$subpkgdir/usr/share"
+}
+
+_py() {
+	pkgdesc="$pkgdesc (Python bindings)"
+	depends="$pkgname=$pkgver-r$pkgrel python3"
+
+	cd "$builddir/bindings/python"
+	python3 setup.py install --prefix=/usr --root="$subpkgdir"
+}
+
+_rb() {
+	pkgdesc="$pkgdesc (Ruby bindings)"
+	depends="$pkgname=$pkgver-r$pkgrel ruby"
+
+	cd "$builddir/bindings/ruby"
+	make DESTDIR="$subpkgdir" install
+}
+
+
+bashcomp() {
+	pkgdesc="$pkgdesc (Bash completion)"
+	depends=""
+	install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
+
+	install -Dt "$subpkgdir/usr/share/bash-completion" "$builddir/completion/notmuch-completion.bash"
+}
+
+zshcomp() {
+	pkgdesc="$pkgdesc (Zsh completion)"
+	depends=""
+	install_if="$pkgname=$pkgver-r$pkgrel zsh"
+
+	mkdir -p "$subpkgdir/usr/share"
+	mv "$pkgdir/usr/share/zsh" "$subpkgdir/usr/share"
+}
+
+sha512sums="dd3931b78cc27540e962f1fca5f4ebb1c04b2637a5761cda023f307fd9be4b5ddc2af26010330868c55200fa96b60b2a11b3b22d4c20d2a4a2d3787421ed85cf  notmuch-0.28.3.tar.gz
+b2991ee5edf927f04d904d99888dbce17a98e9d4d7d809bc2248f45d214025f4a1632b19e4fbca2b08e99721ec8a7eea82384c5c718206884801c7bfa5a8c540  0.28.2-disable-rpath.patch"