gnu: ola: Fix build failure caused by use of deprecated function.
* gnu/packages/patches/ola-readdir-r.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/lighting.scm (ola)[source]: Use it.
This commit is contained in:
parent
0dfebdaa9d
commit
8d806cb0e0
|
@ -730,6 +730,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/nvi-db4.patch \
|
%D%/packages/patches/nvi-db4.patch \
|
||||||
%D%/packages/patches/ocaml-CVE-2015-8869.patch \
|
%D%/packages/patches/ocaml-CVE-2015-8869.patch \
|
||||||
%D%/packages/patches/ocaml-findlib-make-install.patch \
|
%D%/packages/patches/ocaml-findlib-make-install.patch \
|
||||||
|
%D%/packages/patches/ola-readdir-r.patch \
|
||||||
%D%/packages/patches/onionshare-fix-install-paths.patch \
|
%D%/packages/patches/onionshare-fix-install-paths.patch \
|
||||||
%D%/packages/patches/openexr-missing-samples.patch \
|
%D%/packages/patches/openexr-missing-samples.patch \
|
||||||
%D%/packages/patches/openjpeg-CVE-2015-6581.patch \
|
%D%/packages/patches/openjpeg-CVE-2015-6581.patch \
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages bison)
|
#:use-module (gnu packages bison)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
|
@ -41,6 +42,7 @@
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"https://github.com/OpenLightingProject/ola/releases/download/"
|
"https://github.com/OpenLightingProject/ola/releases/download/"
|
||||||
version "/ola-" version ".tar.gz"))
|
version "/ola-" version ".tar.gz"))
|
||||||
|
(patches (search-patches "ola-readdir-r.patch"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"09zx1c8nkj29shfdzkahrh9397m3mwnsy0gj7jrb63f89f3n2vlq"))))
|
"09zx1c8nkj29shfdzkahrh9397m3mwnsy0gj7jrb63f89f3n2vlq"))))
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
Fix build failure caused by use of the deprecated readdir_r(3) while
|
||||||
|
building with -Werror=deprecated-declarations
|
||||||
|
|
||||||
|
Patch copied from upstream source repository:
|
||||||
|
https://github.com/daveol/ola/commit/9d8575ff38f76df698ea8889e07a3dee8f21bd68
|
||||||
|
|
||||||
|
From 9d8575ff38f76df698ea8889e07a3dee8f21bd68 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dave Olsthoorn <dave.olsthoorn@gmail.com>
|
||||||
|
Date: Wed, 2 Mar 2016 11:22:17 +0100
|
||||||
|
Subject: [PATCH] Use readdir instead of readdir_r
|
||||||
|
|
||||||
|
This replacec the use of readdir_r with readdir since readdir seems to
|
||||||
|
be both dangarous and deprecated in newer versions of glibc.
|
||||||
|
|
||||||
|
This fixes #1055
|
||||||
|
---
|
||||||
|
common/file/Util.cpp | 17 ++++++++---------
|
||||||
|
1 file changed, 8 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/common/file/Util.cpp b/common/file/Util.cpp
|
||||||
|
index e2261fd..0ffddd3 100644
|
||||||
|
--- a/common/file/Util.cpp
|
||||||
|
+++ b/common/file/Util.cpp
|
||||||
|
@@ -128,30 +128,29 @@ bool FindMatchingFiles(const string &directory,
|
||||||
|
FindClose(h_find);
|
||||||
|
#else
|
||||||
|
DIR *dp;
|
||||||
|
- struct dirent dir_ent;
|
||||||
|
- struct dirent *dir_ent_p;
|
||||||
|
+ struct dirent *dir_ent;
|
||||||
|
if ((dp = opendir(directory.data())) == NULL) {
|
||||||
|
OLA_WARN << "Could not open " << directory << ":" << strerror(errno);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (readdir_r(dp, &dir_ent, &dir_ent_p)) {
|
||||||
|
- OLA_WARN << "readdir_r(" << directory << "): " << strerror(errno);
|
||||||
|
+ if ((dir_ent = readdir(dp)) == NULL) {
|
||||||
|
+ OLA_WARN << "readdir(" << directory << "): " << strerror(errno);
|
||||||
|
closedir(dp);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- while (dir_ent_p != NULL) {
|
||||||
|
+ while (dir_ent != NULL) {
|
||||||
|
vector<string>::const_iterator iter;
|
||||||
|
for (iter = prefixes.begin(); iter != prefixes.end(); ++iter) {
|
||||||
|
- if (!strncmp(dir_ent_p->d_name, iter->data(), iter->size())) {
|
||||||
|
+ if (!strncmp(dir_ent->d_name, iter->data(), iter->size())) {
|
||||||
|
std::ostringstream str;
|
||||||
|
- str << directory << PATH_SEPARATOR << dir_ent_p->d_name;
|
||||||
|
+ str << directory << PATH_SEPARATOR << dir_ent->d_name;
|
||||||
|
files->push_back(str.str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- if (readdir_r(dp, &dir_ent, &dir_ent_p)) {
|
||||||
|
- OLA_WARN << "readdir_r(" << directory << "): " << strerror(errno);
|
||||||
|
+ if ((dir_ent = readdir(dp)) == NULL) {
|
||||||
|
+ OLA_WARN << "readdir(" << directory << "): " << strerror(errno);
|
||||||
|
closedir(dp);
|
||||||
|
return false;
|
||||||
|
}
|
Loading…
Reference in New Issue