3
5
Fork 0
mirror of git://git.savannah.gnu.org/guix.git synced 2023-12-14 03:33:07 +01:00

gnu: ola: Build with libmicrohttpd 0.9.71.

* gnu/packages/lighting.scm (ola)[source]: Update to 0.10.7-0.5d88293.
[source]: Use GIT-FETCH & GIT-FILE-NAME.  Remove patch.
[native-inputs]: Add autoconf, automake, and libtool.
* gnu/packages/patches/ola-readdir-r.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
This commit is contained in:
Tobias Geerinckx-Rice 2020-08-16 12:08:37 +02:00
parent f27a7e4156
commit 784e7d7ae9
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79
3 changed files with 49 additions and 102 deletions

View file

@ -1355,7 +1355,6 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
%D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/ola-readdir-r.patch \
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \
%D%/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch \

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -19,10 +19,11 @@
(define-module (gnu packages lighting)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@ -35,46 +36,55 @@
#:use-module (gnu packages protobuf))
(define-public ola
(package
(name "ola")
(version "0.10.7")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/OpenLightingProject/ola/releases/download/"
version "/ola-" version ".tar.gz"))
(patches (search-patches "ola-readdir-r.patch"))
(sha256
(base32
"181imc9qkjm2m1iwrb5ixsckx893nc6qwjfzacsjlqp0jlnj8rca"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
("cppunit" ,cppunit)
("flex" ,flex)
("pkg-config" ,pkg-config)))
(inputs
`(("libftdi" ,libftdi)
("libmicrohttpd" ,libmicrohttpd)
("libusb" ,libusb)
("libuuid" ,util-linux "lib")
("zlib" ,zlib)))
(propagated-inputs
;; Ola 0.10.5 only supports protobuf 2.x, and building it with 3.x breaks.
;; XXX Remove protobuf-2 when it is no longer needed.
`(("protobuf" ,protobuf-2))) ;; for pkg-config --libs libola
(arguments
`(;; G++ >= 4.8 macro expansion tracking requires lots of memory, causing
;; build to fail on low memory systems. We disable that with the
;; following configure flags.
#:configure-flags (list "CXXFLAGS=-ftrack-macro-expansion=0")))
(synopsis "Framework for controlling entertainment lighting equipment")
(description "The Open Lighting Architecture is a framework for lighting
;; Use a commit that allows building with libmicrohttpd 0.9.71.
;; https://github.com/OpenLightingProject/ola/pull/1651
(let ((commit "5d882936436240b312b3836afd199587beaca840")
(revision "0"))
(package
(name "ola")
(version (git-version "0.10.7" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OpenLightingProject/ola")
(commit commit)))
(sha256
(base32 "1bhl3gvmvmnyrygfj13cibf2xirm285m8abjkaxq22hrqbsvab2m"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
("cppunit" ,cppunit)
("flex" ,flex)
("pkg-config" ,pkg-config)
;; For git repository bootstrapping.
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(inputs
`(("libftdi" ,libftdi)
("libmicrohttpd" ,libmicrohttpd)
("libusb" ,libusb)
("libuuid" ,util-linux "lib")
("zlib" ,zlib)))
(propagated-inputs
;; Ola 0.10.5 only supports protobuf 2.x, and building it with 3.x breaks.
;; XXX Remove protobuf-2 when it is no longer needed.
`(("protobuf" ,protobuf-2))) ;; for pkg-config --libs libola
(arguments
`( ;; G++ >= 4.8 macro expansion tracking requires lots of memory, causing
;; build to fail on low memory systems. We disable that with the
;; following configure flags.
#:configure-flags (list "CXXFLAGS=-ftrack-macro-expansion=0")))
(synopsis "Framework for controlling entertainment lighting equipment")
(description "The Open Lighting Architecture is a framework for lighting
control information. It supports a range of protocols and over a dozen USB
devices. It can run as a standalone service, which is useful for converting
signals between protocols, or alternatively using the OLA API, it can be used
as the backend for lighting control software. OLA runs on many different
platforms including ARM, which makes it a perfect fit for low cost Ethernet to
DMX gateways.")
(home-page "https://www.openlighting.org/ola")
(license license:lgpl2.1+)))
(home-page "https://www.openlighting.org/ola")
(license license:lgpl2.1+))))

View file

@ -1,62 +0,0 @@
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;
}