summaryrefslogtreecommitdiff
path: root/dev-libs/libmissing
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-10-13 22:19:36 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-10-14 23:22:23 +0100
commit4b19be30aa626b327c885dae62c559ec0e9fb935 (patch)
tree76e74807bc479502e13866b581b6bf86734ec634 /dev-libs/libmissing
parent30d6f67c98d149508509d5e86f176d558793acc0 (diff)
gentoo resync : 13.10.2019
Diffstat (limited to 'dev-libs/libmissing')
-rw-r--r--dev-libs/libmissing/Manifest2
-rw-r--r--dev-libs/libmissing/libmissing-1.1.0.ebuild (renamed from dev-libs/libmissing/libmissing-1.0.0-r1.ebuild)54
2 files changed, 49 insertions, 7 deletions
diff --git a/dev-libs/libmissing/Manifest b/dev-libs/libmissing/Manifest
index 09d2b9c42b7f..15bd4406e065 100644
--- a/dev-libs/libmissing/Manifest
+++ b/dev-libs/libmissing/Manifest
@@ -1,3 +1,3 @@
DIST gnulib-b451121ab45497e78cb6f612c8673a9705193391.tar.gz 6666079 BLAKE2B e7d3b9478697067b57ab198e044f3c854128d5fe390d30947829ce4f34c695a748668c33ae19690e9927fff6df3e194a3160cb4adb7cf47235c603241c66889a SHA512 f6e165cfc0a3999c778d9f43ffc90ff9b569a77ff1e54ff5c50b12b0eddf262c24da8cd2719548574e0397535bb0eb835eef603cc74769f7876ef9db101bebec
-EBUILD libmissing-1.0.0-r1.ebuild 2866 BLAKE2B 0073f790979bde93a4c361b4b086008ba10c8c0c9b78e1a838ae0552f27be192253e05150cc23d397713a8b71c0a9484c2d50608e564cb6f2e854b1e1c3e8379 SHA512 a532d9aab59b256d67be25f243091c4a0dae694fc5cd375881302c4103e573e4a5c03912607c1d02ba5a35bdcbf5ba66282b3b5f1e90ebaa54b9cb7b633a84f3
+EBUILD libmissing-1.1.0.ebuild 4144 BLAKE2B 4af50fbda40b6218926a43a0ab09e2706fa85aecb0b0a4755158894320098ade390d6dc9567b3d5a14cfb582f936503745afbd0f4c0acff9b068bdc4746c0eac SHA512 0cef22a263bd0df8ddd44901ae1c51fd888801756ff55409a887861704fa4f7bd4ff9751a0fb80c3cdd4cf8a158904be836a97be7db9bfb3fbd61a7b6a1159b0
MISC metadata.xml 393 BLAKE2B 8fdadb018197632713de833a7b64d961fa8ce1b86db6996fad32484fa09eda403a7bbcb50d3502ac02888b44d56971b0241a9e0902366f10d79017d50e46289b SHA512 8b5739afeacf385f9399745c6396506060f425376e47e0fdc9ca05c59608dd9e82bee2dc385f34c27f96ad8df41753fe05dd90886a81f613a910c76d50bae422
diff --git a/dev-libs/libmissing/libmissing-1.0.0-r1.ebuild b/dev-libs/libmissing/libmissing-1.1.0.ebuild
index c1371f6d4faf..b7099ebe7775 100644
--- a/dev-libs/libmissing/libmissing-1.0.0-r1.ebuild
+++ b/dev-libs/libmissing/libmissing-1.1.0.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://git.savannah.gnu.org/cgit/gnulib.git/snapshot/gnulib-${GIT_TAG}
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~ppc-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
+#IUSE="static-libs" # dynamic won't work :(
DEPEND=""
RDEPEND="${DEPEND}"
@@ -26,6 +26,25 @@ S="${WORKDIR}/gnulib-${GIT_TAG}"
src_prepare() {
default
+ # create a config file with just the definitions we need
+ mkdir extern-inline || die
+ cd extern-inline || die
+
+ cat > configure.ac <<- EOS
+ AC_PREREQ([2.69])
+ AC_INIT([${PN}], [${PV}], [prefix@gentoo.org])
+
+ AC_CONFIG_MACRO_DIR([../m4])
+ AC_CONFIG_HEADER([missing-include.h])
+
+ gl_EXTERN_INLINE
+ EOS
+
+ eautoreconf
+ sed -e '1,/PACKAGE_VERSION/d' missing-include.h.in \
+ > "${T}"/missing-include.h
+ cd .. || die
+
mkdir "${PN}" || die
cd "${PN}" || die
cat > configure.ac <<- EOS
@@ -92,11 +111,11 @@ src_prepare() {
"${modules[@]}"
sed -i -e '/^noinst_LTLIBRARIES /s/noinst_/lib_/' lib/Makefile.am || die
- echo "libmissing_la_LDFLAGS += version-info ${PV//./:}" >> lib/Makefile.am
+ echo "libmissing_la_LDFLAGS += -version-info ${PV//./:}" >> lib/Makefile.am
cat >> lib/Makefile.am << 'EOS'
install-data-local: $(BUILT_SOURCES)
@for hdr in $(BUILT_SOURCES); do \
- $(INSTALL_HEADER) -D "$$hdr" $(DESTDIR)$(includedir)/missing/$${hdr}; \
+ $(INSTALL_HEADER) -D "$$hdr" $(DESTDIR)$(includedir)/$${hdr}; \
done;
EOS
@@ -107,12 +126,16 @@ src_configure() {
cd "${PN}" || die
# ensure we don't pick up installed libmissing
+ export CPPFLAGS+="-DDISABLE_LIBMISSING" # disable libmissing headers
+ export BINUTILS_CONFIG_DISABLE_MISSING=1 # disable -lmissing from ldwrapper
export CPPFLAGS="${CPPFLAGS/-I${EPREFIX}\/usr\/include\/missing/}"
export LIBS="${LIBS/-lmissing/}"
einfo "CPPFLAGS: ${CPPFLAGS}"
einfo "LIBS: ${LIBS}"
- default
+ # gnulib cannot be used a shared library, doing so results in stack
+ # protector checks failing for reasons yet unknown to me
+ econf --disable-shared --enable-static || die
}
src_compile() {
@@ -122,8 +145,27 @@ src_compile() {
src_install() {
cd "${PN}" || die
+
default
- rm "${ED}"/usr/lib/libmissing.la \
- "$(use static-libs || echo "${ED}"/usr/lib/libmissing.a)" || die
+ rm -f "${ED}"/usr/lib/libmissing.la || die
+
+ cd "${ED}/usr/include" || die
+
+ # fix config.h dependency so we can can distribute it without
+ local f
+ for f in $(grep "_GL_INLINE_HEADER_BEGIN" -l *.h */*.h) ; do
+ cat "${T}"/missing-include.h "${f}" > "${f}.new"
+ [[ -s "${f}.new" ]] && mv "${f}.new" "${f}"
+ done
+
+ # modify all header-files so we can disable them and that they won't
+ # clash with gnulib-based packages
+ for f in *.h */*.h ; do
+ sed -i \
+ -e '1i#ifdef DISABLE_LIBMISSING\n# include_next <'"${f}"'>\n#else' \
+ -e '$a#endif /* DISABLE_LIBMISSING */' \
+ -e 's/_GL_/_LIBMISSING_/g' \
+ "${f}" || die
+ done
}