ltrace: Step towards working version
authorMichał Bednarski <bednarski.michal2@gmail.com>
Sat, 7 May 2016 19:48:14 +0000 (21:48 +0200)
committerMichał Bednarski <bednarski.michal2@gmail.com>
Sat, 7 May 2016 19:48:14 +0000 (21:48 +0200)
- Use version from git, current release has problems with ARM
- Replace rindex with strrchr using C preprocessor
- Don't exit on ltelf_destroy on library that failed to load

disabled-packages/ltrace/build.sh
disabled-packages/ltrace/ltrace-elf.c.patch [new file with mode: 0644]

index a91233d..75f7983 100644 (file)
@@ -1,5 +1,25 @@
 TERMUX_PKG_HOMEPAGE=http://www.ltrace.org/
 TERMUX_PKG_DESCRIPTION="Tracks runtime library calls in dynamically linked programs"
-TERMUX_PKG_VERSION=0.7.3
-TERMUX_PKG_SRCURL=http://www.ltrace.org/ltrace_${TERMUX_PKG_VERSION}.orig.tar.bz2
-TERMUX_PKG_FOLDERNAME=ltrace-${TERMUX_PKG_VERSION}
+TERMUX_PKG_VERSION=0.7.3.20160411
+TERMUX_PKG_DEPENDS="elfutils"
+
+# TERMUX_PKG_SRCURL=http://www.ltrace.org/ltrace_${TERMUX_PKG_VERSION}.orig.tar.bz2
+# TERMUX_PKG_FOLDERNAME=ltrace-${TERMUX_PKG_VERSION}
+
+_COMMIT=2def9f1217374cc8371105993003b2c663aefda7
+TERMUX_PKG_SRCURL=https://github.com/dkogan/ltrace/archive/${_COMMIT}.zip
+TERMUX_PKG_FOLDERNAME=ltrace-${_COMMIT}
+
+termux_step_pre_configure () {
+    autoreconf -i ../src
+}
+
+
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="ac_cv_host=$TERMUX_ARCH-generic-linux-gnu"
+
+CFLAGS+=" -Wno-error=maybe-uninitialized"
+
+# rindex is obsolete name of strrchr which is not available in Android
+# function signature stays same, so I'm replacing it with C preprocessor
+# instead of patch
+CFLAGS+=" -Drindex=strrchr"
diff --git a/disabled-packages/ltrace/ltrace-elf.c.patch b/disabled-packages/ltrace/ltrace-elf.c.patch
new file mode 100644 (file)
index 0000000..eaa1812
--- /dev/null
@@ -0,0 +1,13 @@
+--- ltrace-2def9f1217374cc8371105993003b2c663aefda7/ltrace-elf.c       2016-04-11 21:30:04.000000000 +0200
++++ src/ltrace-elf.c   2016-05-07 21:23:17.999754862 +0200
+@@ -423,7 +423,9 @@
+       debug(DEBUG_FUNCTION, "close_elf()");
+       elf_end(lte->elf);
+       close(lte->fd);
+-      VECT_DESTROY(&lte->plt_relocs, GElf_Rela, NULL, NULL);
++      if (lte->plt_relocs.elt_size) {
++              VECT_DESTROY(&lte->plt_relocs, GElf_Rela, NULL, NULL);
++      }
+ }
+ static void