diff options
| author | Conrad Meyer <cem@FreeBSD.org> | 2016-07-14 18:45:54 +0000 |
|---|---|---|
| committer | Conrad Meyer <cem@FreeBSD.org> | 2016-07-14 18:45:54 +0000 |
| commit | 718a7c599f321669803ffa7d58eaae751e56be1e (patch) | |
| tree | f5dae1b0db0f5be1eb401f3a29871e1b148c9e65 | |
| parent | astro/qmapshack: Update version 1.6.1=>1.6.3 (diff) | |
elfutils-0.163_4
- Correct gnulib dependency to PATCH_DEPENDS, per Bapt.
- Rely on USE_AUTOTOOLS :env to pull in automake for BUILD.
- Move re-automake rule to pre-configure, when the tool is available.
- Adapt installed gelf.h header to define needed non-standard Elf types as
needed, rather than trying to add them to base elf headers.
Reviewed by: portlint
Sponsored by: EMC / Isilon Storage Division
Notes
Notes:
svn path=/head/; revision=418553
| -rw-r--r-- | devel/elfutils/Makefile | 17 | ||||
| -rw-r--r-- | devel/elfutils/files/patch-libelf_elf.h | 18 | ||||
| -rw-r--r-- | devel/elfutils/files/patch-libelf_gelf.h | 33 |
3 files changed, 57 insertions, 11 deletions
diff --git a/devel/elfutils/Makefile b/devel/elfutils/Makefile index c0cf5fab5e06..263ff61392bd 100644 --- a/devel/elfutils/Makefile +++ b/devel/elfutils/Makefile @@ -3,7 +3,7 @@ PORTNAME= elfutils PORTVERSION= 0.163 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= devel MASTER_SITES= https://fedorahosted.org/releases/e/l/elfutils/$(PORTVERSION)/ @@ -16,8 +16,7 @@ LICENSE_FILE_GPLv3= ${WRKSRC}/COPYING LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING-GPLV2 LICENSE_FILE_LGPL3= ${WRKSRC}/COPYING-LGPLV3 -BUILD_DEPENDS= gnulib>=0:devel/gnulib \ - automake>=0:devel/automake +PATCH_DEPENDS= gnulib>=0:devel/gnulib OPTIONS_DEFINE= NLS OPTIONS_SUB= yes @@ -26,7 +25,7 @@ NLS_USES= gettext NLS_CONFIGURE_ENABLE= nls USES= gmake libtool tar:bzip2 -USE_AUTOTOOLS= automake +USE_AUTOTOOLS= automake:env USE_GCC= 4.9+ GNU_CONFIGURE= yes @@ -34,17 +33,13 @@ GNU_CONFIGURE= yes CONFIGURE_ARGS+= --program-prefix=eu- post-patch: - @cd $(WRKSRC) && ${AUTOMAKE} @${CP} -a \ $(LOCALBASE)/share/gnulib/lib/obstack.c \ $(LOCALBASE)/share/gnulib/lib/obstack.h \ $(LOCALBASE)/share/gnulib/lib/obstack_printf.c \ $(WRKSRC)/lib -.include <bsd.port.pre.mk> - -.if ${OSVERSION} < 1200002 -IGNORE= requires CURRENT elf header changes -.endif +pre-configure: + @cd $(WRKSRC) && ${AUTOMAKE} -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/devel/elfutils/files/patch-libelf_elf.h b/devel/elfutils/files/patch-libelf_elf.h new file mode 100644 index 000000000000..4e6558aaea5e --- /dev/null +++ b/devel/elfutils/files/patch-libelf_elf.h @@ -0,0 +1,18 @@ +--- libelf/elf.h.orig 2015-06-10 19:44:33 UTC ++++ libelf/elf.h +@@ -54,6 +54,7 @@ typedef uint64_t Elf64_Off; + /* Type for section indices, which are 16-bit quantities. */ + typedef uint16_t Elf32_Section; + typedef uint16_t Elf64_Section; ++#define LIBELF_ELF_SECTION_DEFINED 1 + + /* Type for version symbol information. */ + typedef Elf32_Half Elf32_Versym; +@@ -972,6 +973,7 @@ typedef struct + on 64-bit platforms and vice versa. */ + } a_un; + } Elf64_auxv_t; ++#define LIBELF_ELF_AUXV_T_DEFINED 1 + + /* Legal values for a_type (entry type). */ + diff --git a/devel/elfutils/files/patch-libelf_gelf.h b/devel/elfutils/files/patch-libelf_gelf.h new file mode 100644 index 000000000000..4feb3add8962 --- /dev/null +++ b/devel/elfutils/files/patch-libelf_gelf.h @@ -0,0 +1,33 @@ +--- libelf/gelf.h.orig 2014-02-05 00:21:44 UTC ++++ libelf/gelf.h +@@ -65,6 +65,10 @@ typedef Elf64_Ehdr GElf_Ehdr; + typedef Elf64_Shdr GElf_Shdr; + + /* Section index. */ ++#ifndef LIBELF_ELF_SECTION_DEFINED ++/* Type for section indices, which are 16-bit quantities. */ ++typedef uint16_t Elf64_Section; ++#endif + /* XXX This should probably be a larger type in preparation of times when + regular section indices can be larger. */ + typedef Elf64_Section GElf_Section; +@@ -107,6 +111,19 @@ typedef Elf64_Versym GElf_Versym; + + + /* Auxiliary vector. */ ++#ifndef LIBELF_ELF_AUXV_T_DEFINED ++typedef struct ++{ ++ uint64_t a_type; /* Entry type */ ++ union ++ { ++ uint64_t a_val; /* Integer value */ ++ /* We use to have pointer elements added here. We cannot do that, ++ though, since it does not work when using 32-bit definitions ++ on 64-bit platforms and vice versa. */ ++ } a_un; ++} Elf64_auxv_t; ++#endif + typedef Elf64_auxv_t GElf_auxv_t; + + |
