From 5b6faf1954ea6d10706b6fce3f4b7e946a4bc90c Mon Sep 17 00:00:00 2001 From: Eray Aslan Date: Sat, 15 Dec 2018 16:04:49 +0300 Subject: dev-libs/libverto: bump to 0.3.0 Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Eray Aslan --- dev-libs/libverto/Manifest | 1 + dev-libs/libverto/files/libverto-Wflags.patch | 25 +++++++ dev-libs/libverto/files/libverto-libev-c89.patch | 15 +++++ dev-libs/libverto/files/libverto-load.patch | 78 ++++++++++++++++++++++ .../libverto/files/libverto-verify-cflags.patch | 26 ++++++++ dev-libs/libverto/libverto-0.3.0.ebuild | 59 ++++++++++++++++ 6 files changed, 204 insertions(+) create mode 100644 dev-libs/libverto/files/libverto-Wflags.patch create mode 100644 dev-libs/libverto/files/libverto-libev-c89.patch create mode 100644 dev-libs/libverto/files/libverto-load.patch create mode 100644 dev-libs/libverto/files/libverto-verify-cflags.patch create mode 100644 dev-libs/libverto/libverto-0.3.0.ebuild (limited to 'dev-libs/libverto') diff --git a/dev-libs/libverto/Manifest b/dev-libs/libverto/Manifest index d6c141c8cef6..bd696befe311 100644 --- a/dev-libs/libverto/Manifest +++ b/dev-libs/libverto/Manifest @@ -1,2 +1,3 @@ DIST libverto-0.2.5.tar.gz 349722 BLAKE2B fd46b1fd1500d4732baa2d461e4b490386ff54efa8a23f06f40048e1624b4698cfedcfda79cc0a21c9a77050baafe8572835f1c0d174873772afe46b199a6294 SHA512 d57a7f86e714d3fbed391984de3356d8a2769f846985769c1be7d881647c1be95a5fc6a82bba1660ef3241aa1a40150b5e005af6f35dc32473facfdea49c556e DIST libverto-0.2.6.tar.gz 352690 BLAKE2B b1610fd7c64fff31d46640ef10fd895f9ce2f0d1d4fd4ac205f2ec5f519f695c8ec82da8b9539c28c0d087bfd3664101192010ee59a9632f09b3ed92e52c1054 SHA512 aa8d047501d28741f2f8185fc4a0ef6dc4b99dbe69b583c40cd4c0afc97db4dd0a928d9ec23861fff61651e9ac82e52da9473b8e62ccc11a91e5e5c6b41dfd3b +DIST libverto-0.3.0.tar.gz 380822 BLAKE2B 7dd31e62a4f4d8ce5cdb77ba96b9e4c957b117ade67f2fb8d38c98e05334fd952386f5690bbe49eba60c545c02ef99dcf63dee3fb17910589013b2868ee24139 SHA512 af4fec9cd20058c1db404443004c2b6c98bcacd0742369bb91f46dde6a35358e44f659bdfef30ab113e112ac1afb3156b098f5b5e2f4a58d1f4cd949abf0f57f diff --git a/dev-libs/libverto/files/libverto-Wflags.patch b/dev-libs/libverto/files/libverto-Wflags.patch new file mode 100644 index 000000000000..de403720dd62 --- /dev/null +++ b/dev-libs/libverto/files/libverto-Wflags.patch @@ -0,0 +1,25 @@ +From f3935464e3a823539394dcb4669a6e7a889a95ef Mon Sep 17 00:00:00 2001 +From: Robbie Harwood +Date: Wed, 31 Jan 2018 18:21:04 +0100 +Subject: [PATCH] Turn off -Wcast-function-type + +The glib event library forces all callbacks to the same type, even +when they have different arities. Turn off the gcc warning for this +gross behavior. +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 4084965..dcab593 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,7 +9,7 @@ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], + + AC_PROG_CC_C99 + +-for flag in -Wall -Wextra; do ++for flag in -Wall -Wextra -Wno-cast-function-type; do + OLD_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS $flag" + AC_TRY_COMPILE(, [return 0;], [], [CFLAGS=$OLD_CFLAGS]) diff --git a/dev-libs/libverto/files/libverto-libev-c89.patch b/dev-libs/libverto/files/libverto-libev-c89.patch new file mode 100644 index 000000000000..e63c032b0c89 --- /dev/null +++ b/dev-libs/libverto/files/libverto-libev-c89.patch @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index 09ee123..b7b5908 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -7,8 +7,8 @@ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], + [AC_USE_SYSTEM_EXTENSIONS], + [AC_GNU_SOURCE]) + +-AC_PROG_CC_C89 +-for flag in -std=c89 -Wall -Wextra; do ++AC_PROG_CC_C99 ++for flag in -Wall -Wextra; do + AC_TRY_COMPILE([], [return 0;], [CFLAGS="$CFLAGS $flag"],) + done + diff --git a/dev-libs/libverto/files/libverto-load.patch b/dev-libs/libverto/files/libverto-load.patch new file mode 100644 index 000000000000..94dceac5d69c --- /dev/null +++ b/dev-libs/libverto/files/libverto-load.patch @@ -0,0 +1,78 @@ +From 7989b3c6bdfdeb8770d17d8717b4a0cd48e79386 Mon Sep 17 00:00:00 2001 +From: Robbie Harwood +Date: Wed, 24 Oct 2018 16:57:11 -0400 +Subject: [PATCH] Fix rare leak of DSO in module_load + +--- + src/module.c | 31 +++++++++++++++---------------- + 1 file changed, 15 insertions(+), 16 deletions(-) + +diff --git a/src/module.c b/src/module.c +index 1f1b7c9..0b59034 100644 +--- a/src/module.c ++++ b/src/module.c +@@ -182,7 +182,7 @@ module_load(const char *filename, const char *symbname, + intdll = dlopen(filename, RTLD_LAZY | RTLD_LOCAL); + #endif /* WIN32 */ + if (!intdll) +- return dllerror(); ++ goto fail; + + /* Get the module symbol */ + #ifdef WIN32 +@@ -190,16 +190,12 @@ module_load(const char *filename, const char *symbname, + #else /* WIN32 */ + intsym = dlsym(intdll, symbname); + #endif /* WIN32 */ +- if (!intsym) { +- module_close(intdll); +- return dllerror(); +- } ++ if (!intsym) ++ goto fail; + + /* Figure out whether or not to load this module */ +- if (!shouldload(intsym, misc, &interr)) { +- module_close(intdll); +- return interr; +- } ++ if (!shouldload(intsym, misc, &interr)) ++ goto fail; + + /* Re-open the module */ + module_close(intdll); +@@ -208,9 +204,8 @@ module_load(const char *filename, const char *symbname, + #else /* WIN32 */ + intdll = dlopen(filename, RTLD_NOW | RTLD_LOCAL); + #endif /* WIN32 */ +- if (!intdll) { +- return dllerror(); +- } ++ if (!intdll) ++ goto fail; + + /* Get the symbol again */ + #ifdef WIN32 +@@ -218,14 +213,18 @@ module_load(const char *filename, const char *symbname, + #else /* WIN32 */ + intsym = dlsym(intdll, symbname); + #endif /* WIN32 */ +- if (!intsym) { +- module_close(intdll); +- return dllerror(); +- } ++ if (!intsym) ++ goto fail; + + if (dll) + *dll = intdll; + if (symb) + *symb = intsym; + return NULL; ++ ++fail: ++ if (!interr) ++ interr = dllerror(); ++ module_close(intdll); ++ return interr; + } diff --git a/dev-libs/libverto/files/libverto-verify-cflags.patch b/dev-libs/libverto/files/libverto-verify-cflags.patch new file mode 100644 index 000000000000..dce747239dc7 --- /dev/null +++ b/dev-libs/libverto/files/libverto-verify-cflags.patch @@ -0,0 +1,26 @@ +From 5bbe8b009d6daa809f679fd1d25c270abba468b4 Mon Sep 17 00:00:00 2001 +From: Robbie Harwood +Date: Wed, 31 Jan 2018 17:52:39 +0100 +Subject: [PATCH] Verify flags prior to adding them to CFLAGS, not after + +--- + configure.ac | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index b7b5908..4084965 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -8,8 +8,11 @@ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], + [AC_GNU_SOURCE]) + + AC_PROG_CC_C99 ++ + for flag in -Wall -Wextra; do +- AC_TRY_COMPILE([], [return 0;], [CFLAGS="$CFLAGS $flag"],) ++ OLD_CFLAGS=$CFLAGS ++ CFLAGS="$CFLAGS $flag" ++ AC_TRY_COMPILE(, [return 0;], [], [CFLAGS=$OLD_CFLAGS]) + done + + AC_CANONICAL_SYSTEM diff --git a/dev-libs/libverto/libverto-0.3.0.ebuild b/dev-libs/libverto/libverto-0.3.0.ebuild new file mode 100644 index 000000000000..f0b436a4b833 --- /dev/null +++ b/dev-libs/libverto/libverto-0.3.0.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools multilib-minimal + +DESCRIPTION="Main event loop abstraction library" +HOMEPAGE="https://github.com/latchset/libverto/" +SRC_URI="https://github.com/latchset/libverto/releases/download/${PV}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd" +IUSE="glib +libev libevent tevent +threads static-libs" + +# file collisions +DEPEND="!=app-crypt/mit-krb5-1.10.1-r0 + !=app-crypt/mit-krb5-1.10.1-r1 + !=app-crypt/mit-krb5-1.10.1-r2 + glib? ( >=dev-libs/glib-2.34.3[${MULTILIB_USEDEP}] ) + libev? ( >=dev-libs/libev-4.15[${MULTILIB_USEDEP}] ) + libevent? ( >=dev-libs/libevent-2.0.21[${MULTILIB_USEDEP}] ) + tevent? ( >=sys-libs/tevent-0.9.19[${MULTILIB_USEDEP}] )" + +RDEPEND="${DEPEND}" + +REQUIRED_USE="|| ( glib libev libevent tevent ) " + +PATCHES=( ${FILESDIR}/${PN}-libev-c89.patch \ + ${FILESDIR}/${PN}-verify-cflags.patch \ + ${FILESDIR}/${PN}-Wflags.patch \ + ${FILESDIR}/${PN}-load.patch ) + +DOCS=( AUTHORS ChangeLog NEWS INSTALL README ) + +src_prepare() { + default + # known problem uptream with tevent write test. tevent does not fire a + # callback on error, but we explicitly test for this behaviour. Do not run + # tevent tests for now. + sed -i -e 's/def HAVE_TEVENT/ 0/' tests/test.h || die + eautoreconf +} + +multilib_src_configure() { + ECONF_SOURCE="${S}" \ + econf \ + $(use_with glib) \ + $(use_with libev) \ + $(use_with libevent) \ + $(use_with tevent) \ + $(use_with threads pthread) \ + $(use_enable static-libs static) +} + +multilib_src_install_all() { + default + use static-libs || find "${ED}" -name '*.la' -delete +} -- cgit v1.2.3-65-gdbad