diff options
author | Andrew Savchenko <bircoph@gentoo.org> | 2020-05-06 19:17:46 +0300 |
---|---|---|
committer | Andrew Savchenko <bircoph@gentoo.org> | 2020-05-06 19:25:07 +0300 |
commit | bb26804cff30acc6cf036cf686b366fc9efa81c8 (patch) | |
tree | b71dd27f9f212ade7a42ca46f9c1ba1f7b2025c4 | |
parent | app-doc/clsync-docs: require doxygen with dot support (diff) | |
download | gentoo-bb26804cff30acc6cf036cf686b366fc9efa81c8.tar.gz gentoo-bb26804cff30acc6cf036cf686b366fc9efa81c8.tar.bz2 gentoo-bb26804cff30acc6cf036cf686b366fc9efa81c8.zip |
dev-libs/libclsync: fix underlinking
libclsync must be linked with pthreadex.o, since it uses error.c
which uses pthreadex.c.
Package-Manager: Portage-2.3.82, Repoman-2.3.20
Signed-off-by: Andrew Savchenko <bircoph@gentoo.org>
-rw-r--r-- | dev-libs/libclsync/files/libclsync-pthreads.patch | 13 | ||||
-rw-r--r-- | dev-libs/libclsync/libclsync-0.4.4-r1.ebuild | 75 |
2 files changed, 88 insertions, 0 deletions
diff --git a/dev-libs/libclsync/files/libclsync-pthreads.patch b/dev-libs/libclsync/files/libclsync-pthreads.patch new file mode 100644 index 000000000000..28a9fd8cd96a --- /dev/null +++ b/dev-libs/libclsync/files/libclsync-pthreads.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.am b/Makefile.am +index 246908d..8bea3a9 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -98,7 +98,7 @@ EXTRA_DIST = .doxygen .travis.sh .travis.yml NOTES SHORTHANDS freebsd debian gen + + if LIBCLSYNC + lib_LTLIBRARIES = libclsync.la +-libclsync_la_SOURCES = malloc.c libclsync.c socket.c error.c ++libclsync_la_SOURCES = malloc.c libclsync.c socket.c error.c pthreadex.c + libclsync_la_LDFLAGS = -version-info 0:0:0 + endif + diff --git a/dev-libs/libclsync/libclsync-0.4.4-r1.ebuild b/dev-libs/libclsync/libclsync-0.4.4-r1.ebuild new file mode 100644 index 000000000000..6d491e0caf83 --- /dev/null +++ b/dev-libs/libclsync/libclsync-0.4.4-r1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +MY_PN=${PN#lib} +MY_P="${MY_PN}-${PV}" + +inherit autotools + +DESCRIPTION="Control and monitoring library for clsync" +HOMEPAGE="http://ut.mephi.ru/oss/clsync https://github.com/clsync/clsync" +SRC_URI="https://github.com/clsync/${MY_PN}/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz" +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug extra-debug extra-hardened hardened static-libs" +S="${WORKDIR}/${MY_P}" + +REQUIRED_USE=" + extra-debug? ( debug ) + extra-hardened? ( hardened ) +" + +BDEPEND="virtual/pkgconfig" +RDEPEND="~app-doc/clsync-docs-${PV}" + +PATCHES=( "${FILESDIR}/${PN}-pthreads.patch" ) + +src_prepare() { + eapply_user + eautoreconf +} + +src_configure() { + local harden_level=0 + use hardened && harden_level=1 + use extra-hardened && harden_level=2 + + local debug_level=0 + use debug && debug_level=1 + use extra-debug && debug_level=2 + + econf \ + --enable-socket-library \ + --disable-clsync \ + --enable-debug=${debug_level} \ + --enable-paranoid=${harden_level} \ + --without-bsm \ + --without-kqueue \ + --disable-capabilities \ + --disable-cluster \ + --enable-socket \ + --disable-highload-locks \ + --disable-unshare \ + --disable-seccomp \ + --without-libcgroup \ + --without-gio \ + --with-inotify=native \ + --without-mhash +} + +src_install() { + emake DESTDIR="${D}" install + find "${ED}" -name "*.la" -delete + use static-libs || find "${ED}" -name "*.a" -delete || die "failed to remove static libs" + + # docs go into clsync-docs + rm -rf "${ED}/usr/share/doc" || die +} + +pkg_postinst() { + einfo "clsync instances you are going to use _must_ be compiled" + einfo "with control-socket support" +} |