From: Joerg Bornkessel Date: Mon, 27 Aug 2018 13:30:59 +0000 (+0200) Subject: media-video/vdr: glibc-2.24 deprecated warning fixed X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=ddda7c9abad6a161baaf65520b6ca6b4fad7b325;p=gentoo.git media-video/vdr: glibc-2.24 deprecated warning fixed Package-Manager: Portage-2.3.48, Repoman-2.3.10 --- diff --git a/media-video/vdr/files/vdr-2.2.0_glibc-2.24.patch b/media-video/vdr/files/vdr-2.2.0_glibc-2.24.patch new file mode 100644 index 000000000000..98cc13b0c3bf --- /dev/null +++ b/media-video/vdr/files/vdr-2.2.0_glibc-2.24.patch @@ -0,0 +1,35 @@ +patch will fix readdir_r() is deprecated as of glibc-2.24 +https://www.vdr-portal.de/forum/index.php?thread/130752-handle-deprecated-functions-readdir-r-auto-ptr/&postID=1293833#post1293833 + +Signed-of by: Joerg Bornkessel (27 Aug 2018) +diff -Naur vdr-2.2.0.orig/tools.c vdr-2.2.0/tools.c +--- vdr-2.2.0.orig/tools.c 2018-08-27 12:59:28.571326559 +0200 ++++ vdr-2.2.0/tools.c 2018-08-27 13:03:11.222326559 +0200 +@@ -1466,7 +1466,11 @@ + struct dirent *cReadDir::Next(void) + { + if (directory) { ++#if !__GLIBC_PREREQ(2, 24) // readdir_r() is deprecated as of GLIBC 2.24 + while (readdir_r(directory, &u.d, &result) == 0 && result) { ++#else ++ while ((result = readdir(directory)) != NULL) { ++#endif + if (strcmp(result->d_name, ".") && strcmp(result->d_name, "..")) + return result; + } +diff -Naur vdr-2.2.0.orig/tools.h vdr-2.2.0/tools.h +--- vdr-2.2.0.orig/tools.h 2018-08-27 12:59:28.641326559 +0200 ++++ vdr-2.2.0/tools.h 2018-08-27 13:01:44.022326559 +0200 +@@ -369,10 +369,12 @@ + private: + DIR *directory; + struct dirent *result; ++#if !__GLIBC_PREREQ(2, 24) // readdir_r() is deprecated as of GLIBC 2.24 + union { // according to "The GNU C Library Reference Manual" + struct dirent d; + char b[offsetof(struct dirent, d_name) + NAME_MAX + 1]; + } u; ++#endif + public: + cReadDir(const char *Directory); + ~cReadDir(); diff --git a/media-video/vdr/vdr-2.2.0-r3.ebuild b/media-video/vdr/vdr-2.2.0-r3.ebuild index 2b4a137a165a..dbb8e986c4a5 100644 --- a/media-video/vdr/vdr-2.2.0-r3.ebuild +++ b/media-video/vdr/vdr-2.2.0-r3.ebuild @@ -218,6 +218,7 @@ src_prepare() { eapply "${FILESDIR}/${P}_gentoo.patch" #gcc-7.2, this will fix only the core vdr, not the extpatch eapply "${FILESDIR}/${P}_unsignedtosigned.patch" + eapply "${FILESDIR}/${P}_glibc-2.24.patch" # fix some makefile issues sed -e "s:ifndef NO_KBD:ifeq (\$(USE_KBD),1):" \