ltrace: upgraded package to upstream

Upgraded dev-util/ltrace to version 0.7.3_p4-r1 on amd64

BUG=None
TEST=Run program under ltrace on trogdor

Change-Id: I3b90982d29bfefe7bcdaca1655622951e7cddc66
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/2290197
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Eric Caruso <ejcaruso@chromium.org>
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