diff --git a/dev-util/ltrace/Manifest b/dev-util/ltrace/Manifest
new file mode 100644
index 0000000..7fc0116
--- /dev/null
+++ b/dev-util/ltrace/Manifest
@@ -0,0 +1,2 @@
+DIST ltrace_0.7.3-4.debian.tar.gz 11373 BLAKE2B 3004bef4e0181e28606e1c50dcc2265d9869e51bf11288185da46f7a77a0aaffb41af75f84baa7d094f9f752071c9e8f53c565982a955e3250a7fc721c529b20 SHA512 67a868c95703ca9cd8407905e3be416e3a66920f41d9deb78fadb71719d7d3f1a3f67ffcb575acff4bf7e4715102f3a6b0f67c6adb74f37ee66c398c132ff04b
+DIST ltrace_0.7.3.orig.tar.bz2 482658 BLAKE2B 30d1dbb178a41043e4bbbac17a23676db202b64327c9bb4393ae7ace9f5e1a1e2a5ded56cabc7faf2ea55b22ed17126a94c121147aeefb40250710b7307a50d3 SHA512 a842b16dcb81da869afa0bddc755fdff0d57b35672505bf2c7164fd983b1938d28b126714128930994cc1230ced69d779456d0cfc16f4008c9b6d19f0852285d
diff --git a/dev-util/ltrace/files/ltrace-0.7.3-CXX-for-tests.patch b/dev-util/ltrace/files/ltrace-0.7.3-CXX-for-tests.patch
new file mode 100644
index 0000000..06db36c
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.3-CXX-for-tests.patch
@@ -0,0 +1,11 @@
+Testsuite uses CXX to trace mangled symbols.
+--- a/configure.ac
++++ b/configure.ac
+@@ -53,6 +53,7 @@ AC_SUBST(HOST_CPU)
+ 
+ # Checks for programs.
+ AC_PROG_CC
++AC_PROG_CXX
+ LT_INIT
+ # libtool-2:  LT_INIT()
+ AM_INIT_AUTOMAKE([foreign no-exeext dist-bzip2])
diff --git a/dev-util/ltrace/files/ltrace-0.7.3-alpha-protos.patch b/dev-util/ltrace/files/ltrace-0.7.3-alpha-protos.patch
new file mode 100644
index 0000000..7ff5732
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.3-alpha-protos.patch
@@ -0,0 +1,12 @@
+Fix build failure on alpha:
+  plt.c:32:12: error: dereferencing pointer to incomplete type ‘struct library_symbol’
+    return sym->enter_addr;
+            ^
+--- a/sysdeps/linux-gnu/alpha/plt.c     2012-11-10 13:43:55.000000000 +0100
++++ b/sysdeps/linux-gnu/alpha/plt.c 2016-06-27 23:21:28.000000000 +0200
+@@ -23,0 +24 @@
++#include "library.h"
+--- a/sysdeps/linux-gnu/alpha/trace.c   2016-06-27 23:30:08.000000000 +0200
++++ b/sysdeps/linux-gnu/alpha/trace.c       2016-06-27 23:25:20.000000000 +0200
+@@ -29,0 +30 @@
++#include "backend.h"
diff --git a/dev-util/ltrace/files/ltrace-0.7.3-ia64-pid_t.patch b/dev-util/ltrace/files/ltrace-0.7.3-ia64-pid_t.patch
new file mode 100644
index 0000000..c466ce1
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.3-ia64-pid_t.patch
@@ -0,0 +1,6 @@
+--- a/sysdeps/linux-gnu/ia64/breakpoint.c
++++ b/sysdeps/linux-gnu/ia64/breakpoint.c
+@@ -26,2 +26,3 @@
+ #include <sys/ptrace.h>
++#include <sys/types.h> /* pid_t */
+ #include <string.h>
diff --git a/dev-util/ltrace/files/ltrace-0.7.3-ia64.patch b/dev-util/ltrace/files/ltrace-0.7.3-ia64.patch
new file mode 100644
index 0000000..4fb1c4e
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.3-ia64.patch
@@ -0,0 +1,39 @@
+Fix build fauilure on ia64.
+
+Build fails due to bitrot: some definitions
+moved off from <sys/pthrace.h> to <asm/ptrace.h>
+(similar to other arches).
+
+fetch.c:39:26: error: field 'regs' has incomplete type
+  struct pt_all_user_regs regs;
+                          ^~~~
+fetch.c:209:25: warning: 'struct ia64_fpreg' declared inside parameter list will not be visible outside of this definition or declaration
+ fpreg_to_double (struct ia64_fpreg *fp) {
+                         ^~~~~~~~~~
+fetch.c: In function 'fpreg_to_double':
+fetch.c:211:45: error: dereferencing pointer to incomplete type 'struct ia64_fpreg'
+  asm ("ldf.fill %0=%1" : "=f"(result) : "m"(*fp));
+                                             ^~~
+
+diff --git a/sysdeps/linux-gnu/ia64/fetch.c b/sysdeps/linux-gnu/ia64/fetch.c
+index 54dc5b8..b3b9a9a 100644
+--- a/sysdeps/linux-gnu/ia64/fetch.c
++++ b/sysdeps/linux-gnu/ia64/fetch.c
+@@ -134,9 +134,4 @@ allocate_reg(struct fetch_context *ctx, struct Process *proc,
+ 		return 0;
+ 
+-	/* This would normally be brought over from asm/ptrace.h, but
+-	 * when we do, we get namespace conflicts between asm/fpu.h
+-	 * and libunwind.  */
+-	enum { PT_AUR_BSP = 17 };
+-
+ 	union cfm_t cfm = { .value = ctx->regs.cfm };
+ 	unsigned long *bsp = (unsigned long *)ctx->regs.ar[PT_AUR_BSP];
+diff --git a/sysdeps/linux-gnu/ia64/ptrace.h b/sysdeps/linux-gnu/ia64/ptrace.h
+index ef63b4f..8b131f1 100644
+--- a/sysdeps/linux-gnu/ia64/ptrace.h
++++ b/sysdeps/linux-gnu/ia64/ptrace.h
+@@ -20,2 +20,3 @@
+ 
+ #include <sys/ptrace.h>
++#include <asm/ptrace.h>
diff --git a/dev-util/ltrace/files/ltrace-0.7.3-musl-host.patch b/dev-util/ltrace/files/ltrace-0.7.3-musl-host.patch
new file mode 100644
index 0000000..7729449
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.3-musl-host.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/713428
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,6 +33,7 @@ AC_CANONICAL_HOST
+ 
+ case "${host_os}" in
+     linux-gnu*) HOST_OS="linux-gnu" ;;
++    linux-musl*) HOST_OS="linux-gnu" ;;
+     linux-uclibc*) HOST_OS="linux-gnu" ;;
+     *)		AC_MSG_ERROR([unkown host-os ${host_os}]) ;;
+ esac
diff --git a/dev-util/ltrace/files/ltrace-0.7.3-no-REG_NOERROR.patch b/dev-util/ltrace/files/ltrace-0.7.3-no-REG_NOERROR.patch
new file mode 100644
index 0000000..7fc8b60
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.3-no-REG_NOERROR.patch
@@ -0,0 +1,50 @@
+From b6c5c8c51f954cfbe76424fd57c33a87166f0545 Mon Sep 17 00:00:00 2001
+From: Petr Machata <pmachata@redhat.com>
+Date: Sat, 8 Dec 2012 03:23:39 +0100
+Subject: [PATCH] Avoid using REG_NOERROR
+
+Not all systems define this (IRIX 6.5 doesn't).  Comparing to 0 is not
+terribly less readable, so do that instead.
+---
+ glob.c    | 4 ++--
+ options.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/glob.c b/glob.c
+index 9af633f..b26637f 100644
+--- a/glob.c
++++ b/glob.c
+@@ -180,7 +180,7 @@ glob_to_regex(const char *glob, char **retp)
+ 			goto fail;
+ 	}
+ 	*retp = buf;
+-	return REG_NOERROR;
++	return 0;
+ }
+ 
+ int
+@@ -188,7 +188,7 @@ globcomp(regex_t *preg, const char *glob, int cflags)
+ {
+ 	char *regex = NULL;
+ 	int status = glob_to_regex(glob, &regex);
+-	if (status != REG_NOERROR)
++	if (status != 0)
+ 		return status;
+ 	assert(regex != NULL);
+ 	status = regcomp(preg, regex, cflags);
+diff --git a/options.c b/options.c
+index e8fd2a2..4c7441e 100644
+--- a/options.c
++++ b/options.c
+@@ -204,7 +204,7 @@ compile_libname(const char *expr, const char *a_lib, int lib_re_p,
+ 
+ 		regex_t lib_re;
+ 		int status = (lib_re_p ? regcomp : globcomp)(&lib_re, lib, 0);
+-		if (status != REG_NOERROR) {
++		if (status != 0) {
+ 			char buf[100];
+ 			regerror(status, &lib_re, buf, sizeof buf);
+ 			fprintf(stderr, "Rule near '%s' will be ignored: %s.\n",
+-- 
+2.25.2
+
diff --git a/dev-util/ltrace/files/ltrace-0.7.3-no-error.h-2.patch b/dev-util/ltrace/files/ltrace-0.7.3-no-error.h-2.patch
new file mode 100644
index 0000000..6b798b2
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.3-no-error.h-2.patch
@@ -0,0 +1,72 @@
+From 1233b37167097dffa9a78bd7bd0a8117c75fe8ff Mon Sep 17 00:00:00 2001
+From: Petr Machata <pmachata@redhat.com>
+Date: Sat, 8 Dec 2012 03:13:29 +0100
+Subject: [PATCH] expr_node_zero and expr_self should be stack-allocated
+
+---
+ expr.c | 14 ++++++--------
+ zero.c | 14 ++++++--------
+ 2 files changed, 12 insertions(+), 16 deletions(-)
+
+--- a/expr.c
++++ b/expr.c
+@@ -21,7 +21,6 @@
+ #include <string.h>
+ #include <assert.h>
+ #include <errno.h>
+-#include <error.h>
+ #include <stdlib.h>
+ 
+ #include "expr.h"
+@@ -327,12 +326,11 @@ expr_eval_constant(struct expr_node *node, long *valuep)
+ struct expr_node *
+ expr_self(void)
+ {
+-	static struct expr_node *node = NULL;
+-	if (node == NULL) {
+-		node = malloc(sizeof(*node));
+-		if (node == NULL)
+-			error(1, errno, "malloc expr_self");
+-		expr_init_self(node);
++	static struct expr_node *nodep = NULL;
++	if (nodep == NULL) {
++		static struct expr_node node;
++		expr_init_self(&node);
++		nodep = &node;
+ 	}
+-	return node;
++	return nodep;
+ }
+--- a/zero.c
++++ b/zero.c
+@@ -18,7 +18,6 @@
+  * 02110-1301 USA
+  */
+ 
+-#include <error.h>
+ #include <errno.h>
+ 
+ #include "zero.h"
+@@ -93,13 +92,12 @@ build_zero_w_arg(struct expr_node *expr, int own)
+ struct expr_node *
+ expr_node_zero(void)
+ {
+-	static struct expr_node *node = NULL;
+-	if (node == NULL) {
+-		node = malloc(sizeof(*node));
+-		if (node == NULL)
+-			error(1, errno, "malloc expr_node_zero");
+-		expr_init_cb1(node, &zero1_callback,
++	static struct expr_node *nodep = NULL;
++	if (nodep == NULL) {
++		static struct expr_node node;
++		expr_init_cb1(&node, &zero1_callback,
+ 			      expr_self(), 0, (void *)-1);
++		nodep = &node;
+ 	}
+-	return node;
++	return nodep;
+ }
+-- 
+2.25.2
+
diff --git a/dev-util/ltrace/files/ltrace-0.7.3-no-error.h.patch b/dev-util/ltrace/files/ltrace-0.7.3-no-error.h.patch
new file mode 100644
index 0000000..56aea7a
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.3-no-error.h.patch
@@ -0,0 +1,36 @@
+From 86a7b48310e0fd551f7f3d88ea9ad39c1a2807c6 Mon Sep 17 00:00:00 2001
+From: Petr Machata <pmachata@redhat.com>
+Date: Sat, 8 Dec 2012 03:33:47 +0100
+Subject: [PATCH] Avoid using non-portable error.h in generic code
+
+---
+ read_config_file.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/read_config_file.c
++++ b/read_config_file.c
+@@ -27,7 +27,6 @@
+ #include <stdlib.h>
+ #include <ctype.h>
+ #include <errno.h>
+-#include <error.h>
+ #include <assert.h>
+ 
+ #include "common.h"
+@@ -1258,8 +1257,11 @@ void
+ init_global_config(void)
+ {
+ 	struct arg_type_info *info = malloc(2 * sizeof(*info));
+-	if (info == NULL)
+-		error(1, errno, "malloc in init_global_config");
++	if (info == NULL) {
++		fprintf(stderr, "Couldn't init global config: %s\n",
++			strerror(errno));
++		exit(1);
++	}
+ 
+ 	memset(info, 0, 2 * sizeof(*info));
+ 	info[0].type = ARGTYPE_POINTER;
+-- 
+2.25.2
+
diff --git a/dev-util/ltrace/files/ltrace-0.7.3-pid_t.patch b/dev-util/ltrace/files/ltrace-0.7.3-pid_t.patch
new file mode 100644
index 0000000..b54a5bf
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.3-pid_t.patch
@@ -0,0 +1,10 @@
+--- a/proc.h
++++ b/proc.h
+@@ -26,6 +26,7 @@
+ #include "config.h"
+ 
+ #include <sys/time.h>
++#include <unistd.h> /* pid_t */
+ 
+ #if defined(HAVE_LIBUNWIND)
+ # include <libunwind.h>
diff --git a/dev-util/ltrace/files/ltrace-0.7.3-print-test-pie.patch b/dev-util/ltrace/files/ltrace-0.7.3-print-test-pie.patch
new file mode 100644
index 0000000..5e46135
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.3-print-test-pie.patch
@@ -0,0 +1,15 @@
+--- a/testsuite/ltrace.minor/print-instruction-pointer.exp
++++ b/testsuite/ltrace.minor/print-instruction-pointer.exp
+@@ -32,6 +32,12 @@ catch "exec sh -c {objdump -d $objdir/$subdir/$binfile | sed -n '/^\[0-9a-fA-F\]
+ catch "exec sh -c {echo \"$output\" | sed -n '2p'| awk -F' ' '{print \$1}'|awk -F: '{print \$1}'}" addr1
+ catch "exec sh -c {echo \"$output\" | sed -n '5p'| awk -F' ' '{print \$1}'|awk -F: '{print \$1}'}" addr2
+ 
++# Pick at most last 3 digits:
++# PIE binaries randomize address on page level.
++# Let's assume page size is no bigger than 4096 (3 hex digits)
++set addr1 [string range $addr1 3 end]
++set addr2 [string range $addr2 3 end]
++
+ verbose "addr1 = $addr1"
+ verbose "addr2 = $addr2"
+ # Verify the output by checking numbers of print in main.ltrace.
diff --git a/dev-util/ltrace/files/ltrace-0.7.3-test-protos.patch b/dev-util/ltrace/files/ltrace-0.7.3-test-protos.patch
new file mode 100644
index 0000000..caafff4
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.3-test-protos.patch
@@ -0,0 +1,71 @@
+https://bugs.gentoo.org/421649
+
+For some reason testsuite does not handle warnings well:
+  /tmp/lt-cZI2cFo0z7.c:2:24: warning: inplicit function declaration «puts» [-Wimplicit-function-declaration]
+       void func2(void) { puts("func2"); }
+                          ^
+and abandons problematic tests:
+  Testcase compile failed, so all tests in this file will automatically fail.
+diff --git a/testsuite/ltrace.main/filters.exp b/testsuite/ltrace.main/filters.exp
+index 988346f..f7f4140 100644
+--- a/testsuite/ltrace.main/filters.exp
++++ b/testsuite/ltrace.main/filters.exp
+@@ -24,2 +24,3 @@ set libfilt1 [ltraceCompile libfilt1.so [ltraceSource c {
+ set libfilt2 [ltraceCompile libfilt2.so [ltraceSource c {
++    #include <stdio.h>
+     void func2(void) { puts("func2"); }
+diff --git a/testsuite/ltrace.main/parameters.c b/testsuite/ltrace.main/parameters.c
+index ff24a38..9569dbe 100644
+--- a/testsuite/ltrace.main/parameters.c
++++ b/testsuite/ltrace.main/parameters.c
+@@ -19,2 +19,3 @@ void func_strfixed(char*);
+ void func_ppp(int***);
++void func_string(char*);
+ void func_stringp(char**);
+diff --git a/testsuite/ltrace.main/signals.c b/testsuite/ltrace.main/signals.c
+index a02e795..fda4ab9 100644
+--- a/testsuite/ltrace.main/signals.c
++++ b/testsuite/ltrace.main/signals.c
+@@ -7,2 +7,3 @@
+ #include <sys/types.h>
++#include <unistd.h>
+ 
+diff --git a/testsuite/ltrace.minor/time-record.c b/testsuite/ltrace.minor/time-record.c
+index a66b838..7d5e5e3 100644
+--- a/testsuite/ltrace.minor/time-record.c
++++ b/testsuite/ltrace.minor/time-record.c
+@@ -7,2 +7,3 @@
+ #include <time.h>
++#include <unistd.h>
+ 
+diff --git a/testsuite/ltrace.minor/trace-clone.c b/testsuite/ltrace.minor/trace-clone.c
+index db1936d..c68b128 100644
+--- a/testsuite/ltrace.minor/trace-clone.c
++++ b/testsuite/ltrace.minor/trace-clone.c
+@@ -10,2 +10,3 @@
+ #include <sched.h>
++#include <unistd.h>
+ 
+diff --git a/testsuite/ltrace.minor/trace-fork.c b/testsuite/ltrace.minor/trace-fork.c
+index c5f0c71..e1ab17f 100644
+--- a/testsuite/ltrace.minor/trace-fork.c
++++ b/testsuite/ltrace.minor/trace-fork.c
+@@ -8,2 +8,4 @@
+ #include <sys/types.h>
++#include <sys/wait.h>
++#include <unistd.h>
+ 
+@@ -29,3 +31,4 @@ main ()
+       printf("My child pid is %d\n",pid);
+-      wait(); 
++      int status;
++      wait(&status);
+     }
+diff --git a/testsuite/ltrace.torture/signals.c b/testsuite/ltrace.torture/signals.c
+index b786c81..86e2dba 100644
+--- a/testsuite/ltrace.torture/signals.c
++++ b/testsuite/ltrace.torture/signals.c
+@@ -7,2 +7,3 @@
+ #include <sys/types.h>
++#include <unistd.h>
+ 
diff --git a/dev-util/ltrace/files/ltrace-0.7.3-tuple-tests.patch b/dev-util/ltrace/files/ltrace-0.7.3-tuple-tests.patch
new file mode 100644
index 0000000..9abeb28
--- /dev/null
+++ b/dev-util/ltrace/files/ltrace-0.7.3-tuple-tests.patch
@@ -0,0 +1,12 @@
+Use $CC instead of gcc in testsuite.
+--- a/testsuite/Makefile.am
++++ b/testsuite/Makefile.am
+@@ -39,6 +39,8 @@ env.exp: Makefile
+ 	rm -f env.exp
+ 	echo set libelf_LD_LIBRARY_PATH '"$(libelf_LD_LIBRARY_PATH)"' >> $@
+ 	echo set libunwind_LD_LIBRARY_PATH '"$(libunwind_LD_LIBRARY_PATH)"' >> $@
++	echo set CC_FOR_TARGET '"$(CC)"' >> $@
++	echo set CXX_FOR_TARGET '"$(CXX)"' >> $@
+ 
+ CLEANFILES = *.o *.so *.log *.sum *.ltrace site.bak setval.tmp site.exp env.exp
+ 
diff --git a/dev-util/ltrace/ltrace-0.7.3_p4-r1.ebuild b/dev-util/ltrace/ltrace-0.7.3_p4-r1.ebuild
new file mode 100644
index 0000000..a1828bf
--- /dev/null
+++ b/dev-util/ltrace/ltrace-0.7.3_p4-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools
+
+LTRACE_V=${PV/_p*/}
+DB_V=${PV/*_p/}
+
+DESCRIPTION="trace library calls made at runtime"
+HOMEPAGE="https://gitlab.com/cespedes/ltrace"
+SRC_URI="
+	mirror://debian/pool/main/l/${PN}/${PN}_${LTRACE_V}.orig.tar.bz2
+	mirror://debian/pool/main/l/${PN}/${PN}_${LTRACE_V}-${DB_V}.debian.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="debug selinux test unwind"
+
+RDEPEND="virtual/libelf:=
+	selinux? ( sys-libs/libselinux )
+	unwind? ( sys-libs/libunwind:= )"
+DEPEND="${RDEPEND}
+	sys-libs/binutils-libs
+	test? ( dev-util/dejagnu )"
+
+# under musl tests need major work upstream, half of them does not work.
+RESTRICT="
+	!test? ( test )
+	elibc_musl? ( test )
+"
+
+S=${WORKDIR}/${PN}-${LTRACE_V}
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-0.7.3-test-protos.patch #bug 421649
+	"${FILESDIR}"/${PN}-0.7.3-alpha-protos.patch
+	"${FILESDIR}"/${PN}-0.7.3-ia64.patch
+	"${FILESDIR}"/${PN}-0.7.3-print-test-pie.patch
+	"${FILESDIR}"/${PN}-0.7.3-ia64-pid_t.patch
+	"${FILESDIR}"/${PN}-0.7.3-musl-host.patch #713428
+	"${FILESDIR}"/${PN}-0.7.3-no-error.h.patch #713428
+	"${FILESDIR}"/${PN}-0.7.3-no-error.h-2.patch #713428
+	"${FILESDIR}"/${PN}-0.7.3-no-REG_NOERROR.patch #713428
+	"${FILESDIR}"/${PN}-0.7.3-pid_t.patch #713428
+	"${FILESDIR}"/${PN}-0.7.3-tuple-tests.patch
+	"${FILESDIR}"/${PN}-0.7.3-CXX-for-tests.patch
+)
+
+src_prepare() {
+	eapply "${WORKDIR}"/debian/patches/[0-9]*
+
+	default
+
+	sed -i '/^dist_doc_DATA/d' Makefile.am || die
+	eautoreconf
+}
+
+src_configure() {
+	ac_cv_header_selinux_selinux_h=$(usex selinux) \
+	ac_cv_lib_selinux_security_get_boolean_active=$(usex selinux) \
+	econf \
+		--disable-werror \
+		$(use_enable debug) \
+		$(use_with unwind libunwind)
+}
diff --git a/dev-util/ltrace/metadata.xml b/dev-util/ltrace/metadata.xml
new file mode 100644
index 0000000..e3ce665
--- /dev/null
+++ b/dev-util/ltrace/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>slyfox@gentoo.org</email>
+		<name>Sergei Trofimovich</name>
+	</maintainer>
+	<use>
+		<flag name="unwind">Use <pkg>sys-libs/libunwind</pkg> for frame unwinding support</flag>
+	</use>
+</pkgmetadata>
diff --git a/metadata/md5-cache/dev-util/ltrace-0.7.3_p4-r1 b/metadata/md5-cache/dev-util/ltrace-0.7.3_p4-r1
new file mode 100644
index 0000000..a25829e
--- /dev/null
+++ b/metadata/md5-cache/dev-util/ltrace-0.7.3_p4-r1
@@ -0,0 +1,15 @@
+BDEPEND=>=app-portage/elt-patches-20170815
+DEFINED_PHASES=configure prepare
+DEPEND=virtual/libelf:= selinux? ( sys-libs/libselinux ) unwind? ( sys-libs/libunwind:= ) sys-libs/binutils-libs test? ( dev-util/dejagnu ) !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
+DESCRIPTION=trace library calls made at runtime
+EAPI=7
+HOMEPAGE=https://gitlab.com/cespedes/ltrace
+IUSE=debug selinux test unwind
+KEYWORDS=*
+LICENSE=GPL-2
+RDEPEND=virtual/libelf:= selinux? ( sys-libs/libselinux ) unwind? ( sys-libs/libunwind:= )
+RESTRICT=!test? ( test ) elibc_musl? ( test )
+SLOT=0
+SRC_URI=mirror://debian/pool/main/l/ltrace/ltrace_0.7.3.orig.tar.bz2 mirror://debian/pool/main/l/ltrace/ltrace_0.7.3-4.debian.tar.gz
+_eclasses_=autotools	d0e5375d47f4c809f406eb892e531513	libtool	f143db5a74ccd9ca28c1234deffede96	multilib	2477ebe553d3e4d2c606191fe6c33602	toolchain-funcs	605c126bed8d87e4378d5ff1645330cb
+_md5_=5d1bfa8ba43f7fc3b8da4e00b1f14aeb
