aboutsummaryrefslogtreecommitdiff
path: root/pkgs/development/libraries/libexecinfo
diff options
context:
space:
mode:
authorWill Dietz <w@wdtz.org>2018-02-13 11:03:07 -0600
committerWill Dietz <w@wdtz.org>2018-02-13 11:06:56 -0600
commit7f3527d33f19150dff5cfc9d6dbef51532a78da2 (patch)
tree9815c9fe9dee50a24f0deeb6cf8ac74cb3bc5ca2 /pkgs/development/libraries/libexecinfo
parent82dfab87fa7bd338efc459c7c65a4d20cac8f029 (diff)
libexecinfo: fetch patches, add meta, maintain
Diffstat (limited to 'pkgs/development/libraries/libexecinfo')
-rw-r--r--pkgs/development/libraries/libexecinfo/10-execinfo.patch64
-rw-r--r--pkgs/development/libraries/libexecinfo/20-define-gnu-source.patch24
-rw-r--r--pkgs/development/libraries/libexecinfo/30-linux-makefile.patch44
-rw-r--r--pkgs/development/libraries/libexecinfo/default.nix27
4 files changed, 23 insertions, 136 deletions
diff --git a/pkgs/development/libraries/libexecinfo/10-execinfo.patch b/pkgs/development/libraries/libexecinfo/10-execinfo.patch
deleted file mode 100644
index 03b5af0ca201..000000000000
--- a/pkgs/development/libraries/libexecinfo/10-execinfo.patch
+++ /dev/null
@@ -1,64 +0,0 @@
---- execinfo.c.orig
-+++ execinfo.c
-@@ -69,7 +69,8 @@
- char **
- backtrace_symbols(void *const *buffer, int size)
- {
-- int i, clen, alen, offset;
-+ size_t clen, alen;
-+ int i, offset;
- char **rval;
- char *cp;
- Dl_info info;
-@@ -78,7 +79,6 @@
- rval = malloc(clen);
- if (rval == NULL)
- return NULL;
-- (char **)cp = &(rval[size]);
- for (i = 0; i < size; i++) {
- if (dladdr(buffer[i], &info) != 0) {
- if (info.dli_sname == NULL)
-@@ -92,14 +92,14 @@
- 2 + /* " <" */
- strlen(info.dli_sname) + /* "function" */
- 1 + /* "+" */
-- D10(offset) + /* "offset */
-+ 10 + /* "offset */
- 5 + /* "> at " */
- strlen(info.dli_fname) + /* "filename" */
- 1; /* "\0" */
- rval = realloc_safe(rval, clen + alen);
- if (rval == NULL)
- return NULL;
-- snprintf(cp, alen, "%p <%s+%d> at %s",
-+ snprintf((char *) rval + clen, alen, "%p <%s+%d> at %s",
- buffer[i], info.dli_sname, offset, info.dli_fname);
- } else {
- alen = 2 + /* "0x" */
-@@ -108,12 +108,15 @@
- rval = realloc_safe(rval, clen + alen);
- if (rval == NULL)
- return NULL;
-- snprintf(cp, alen, "%p", buffer[i]);
-+ snprintf((char *) rval + clen, alen, "%p", buffer[i]);
- }
-- rval[i] = cp;
-- cp += alen;
-+ rval[i] = (char *) clen;
-+ clen += alen;
- }
-
-+ for (i = 0; i < size; i++)
-+ rval[i] += (long) rval;
-+
- return rval;
- }
-
-@@ -155,6 +158,6 @@
- return;
- snprintf(buf, len, "%p\n", buffer[i]);
- }
-- write(fd, buf, len - 1);
-+ write(fd, buf, strlen(buf));
- }
- }
diff --git a/pkgs/development/libraries/libexecinfo/20-define-gnu-source.patch b/pkgs/development/libraries/libexecinfo/20-define-gnu-source.patch
deleted file mode 100644
index 0ba1fc1f7e62..000000000000
--- a/pkgs/development/libraries/libexecinfo/20-define-gnu-source.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- execinfo.c.orig
-+++ execinfo.c
-@@ -26,6 +26,7 @@
- * $Id: execinfo.c,v 1.3 2004/07/19 05:21:09 sobomax Exp $
- */
-
-+#define _GNU_SOURCE
- #include <sys/types.h>
- #include <sys/uio.h>
- #include <dlfcn.h>
---- stacktraverse.c.orig
-+++ stacktraverse.c
-@@ -1,3 +1,4 @@
-+#define _GNU_SOURCE
- #include <stddef.h>
-
- #include "stacktraverse.h"
---- test.c.orig
-+++ test.c
-@@ -1,3 +1,4 @@
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
-
diff --git a/pkgs/development/libraries/libexecinfo/30-linux-makefile.patch b/pkgs/development/libraries/libexecinfo/30-linux-makefile.patch
deleted file mode 100644
index 3bc89279547f..000000000000
--- a/pkgs/development/libraries/libexecinfo/30-linux-makefile.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- Makefile.orig
-+++ Makefile
-@@ -23,24 +23,25 @@
- # SUCH DAMAGE.
- #
- # $Id: Makefile,v 1.3 2004/07/19 05:19:55 sobomax Exp $
-+#
-+# Linux Makefile by Matt Smith <mcs@darkregion.net>, 2011/01/04
-
--LIB= execinfo
-+CC=cc
-+AR=ar
-+EXECINFO_CFLAGS=$(CFLAGS) -O2 -pipe -fno-strict-aliasing -std=gnu99 -fstack-protector -c
-+EXECINFO_LDFLAGS=$(LDFLAGS)
-
--SRCS= stacktraverse.c stacktraverse.h execinfo.c execinfo.h
-+all: static dynamic
-
--INCS= execinfo.h
-+static:
-+ $(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c
-+ $(CC) $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c
-+ $(AR) rcs libexecinfo.a stacktraverse.o execinfo.o
-
--SHLIB_MAJOR= 1
--SHLIB_MINOR= 0
-+dynamic:
-+ $(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) stacktraverse.c -o stacktraverse.So
-+ $(CC) -fpic -DPIC $(EXECINFO_CFLAGS) $(EXECINFO_LDFLAGS) execinfo.c -o execinfo.So
-+ $(CC) -shared -Wl,-soname,libexecinfo.so.1 -o libexecinfo.so.1 stacktraverse.So execinfo.So
-
--NOPROFILE= yes
--
--DPADD= ${LIBM}
--LDADD= -lm
--
--#WARNS?= 4
--
--#stacktraverse.c: gen.py
--# ./gen.py > stacktraverse.c
--
--.include <bsd.lib.mk>
-+clean:
-+ rm -rf *.o *.So *.a *.so
diff --git a/pkgs/development/libraries/libexecinfo/default.nix b/pkgs/development/libraries/libexecinfo/default.nix
index 15c4cb2661f3..14d5f7f45dfd 100644
--- a/pkgs/development/libraries/libexecinfo/default.nix
+++ b/pkgs/development/libraries/libexecinfo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchpatch }:
stdenv.mkDerivation rec {
name = "libexecinfo-${version}";
@@ -10,9 +10,21 @@ stdenv.mkDerivation rec {
};
patches = [
- ./10-execinfo.patch
- ./20-define-gnu-source.patch
- ./30-linux-makefile.patch
+ (fetchpatch {
+ name = "10-execinfo.patch";
+ url = https://git.alpinelinux.org/cgit/aports/plain/main/libexecinfo/10-execinfo.patch?id=730cdcef6901750f4029d4c3b8639ce02ee3ead1;
+ sha256 = "0lnphrad4vspyljnvmm62dyxj98vgp3wabj4w3vfzfph7j8piw7g";
+ })
+ (fetchpatch {
+ name = "20-define-gnu-source.patch";
+ url = https://git.alpinelinux.org/cgit/aports/plain/main/libexecinfo/20-define-gnu-source.patch?id=730cdcef6901750f4029d4c3b8639ce02ee3ead1;
+ sha256 = "1mp8mc639b0h2s69m5z6s2h3q3n1zl298j9j0plzj7f979j76302";
+ })
+ (fetchpatch {
+ name = "30-linux-makefile.patch";
+ url = https://git.alpinelinux.org/cgit/aports/plain/main/libexecinfo/30-linux-makefile.patch?id=730cdcef6901750f4029d4c3b8639ce02ee3ead1;
+ sha256 = "1jwjz22z5cjy5h2bfghn62yl9ar8jiqhdvbwrcfavv17ihbhwcaf";
+ })
];
patchFlags = "-p0";
@@ -22,4 +34,11 @@ stdenv.mkDerivation rec {
install -Dm755 libexecinfo.{a,so.1} -t $out/lib
ln -s $out/lib/libexecinfo.so{.1,}
'';
+
+ meta = with stdenv.lib; {
+ description = "Library for inspecting program's backtrace";
+ license = licenses.bsd2;
+ homepage = https://www.freshports.org/devel/libexecinfo;
+ maintainers = with maintainers; [ dtzWill ];
+ };
}