commit:     31b4cc0a1fa2cca18e4fb46028b449333fe4cb86
Author:     Aric Belsito <lluixhi <AT> gmail <DOT> com>
AuthorDate: Mon Oct 31 23:06:45 2016 +0000
Commit:     Aric Belsito <lluixhi <AT> gmail <DOT> com>
CommitDate: Mon Oct 31 23:06:45 2016 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=31b4cc0a

app-accessibility/speech-dispatcher: Add stable.

Apparently @doughdemon made these patches, but I forget where I found them..

 app-accessibility/speech-dispatcher/Manifest       |   5 +
 ...-Make-some-includes-consistent-with-POSIX.patch |  54 ++++++
 ...lback-for-systems-without-TEMP_FAILURE_RE.patch | 182 +++++++++++++++++++++
 app-accessibility/speech-dispatcher/metadata.xml   |  19 +++
 .../speech-dispatcher-0.8.1.ebuild                 | 116 +++++++++++++
 5 files changed, 376 insertions(+)

diff --git a/app-accessibility/speech-dispatcher/Manifest 
b/app-accessibility/speech-dispatcher/Manifest
new file mode 100644
index 0000000..abe4cce
--- /dev/null
+++ b/app-accessibility/speech-dispatcher/Manifest
@@ -0,0 +1,5 @@
+AUX 0001-Make-some-includes-consistent-with-POSIX.patch 1413 SHA256 
6a08763dd8d42283fb1cd0341ace5c948a3662e522137098a0043cb59308ebbb SHA512 
76ad3f2e56a2e3ff85880da337dfae73b9c247b69a64584fbc045dc5055ef9f24a9f7788dae65b91d084b5a0f5c04336d40e6eaa7420abae58bc6d19f3121a9e
 WHIRLPOOL 
7a751fd5e7fa6051b81fae15db6a60f5d66ba8ef9e03de5b811064ab05fd384596e0c407cd9053771d15cf07596c6daaf7c217bf3d969e7e8e5003eeaf7dd138
+AUX 0001-Provide-fallback-for-systems-without-TEMP_FAILURE_RE.patch 5153 
SHA256 32d72cb4ba7a72cb7714e8f7226b34e21f3e57765a13c39cece38e966857e0c5 SHA512 
ee5527670346c14c6453ac7aee320dca8360f963599bd95123ef5828d09d7a5c2907dddfd81b8477c198dcc8b1ca98c01fd9c73cd1b74d74083766904c7ea424
 WHIRLPOOL 
a75572d10bd1beb6142964708769622a99f70037b00654ce31e895bf8e32d14d184dae22e4876c1927d2463c8f2b48b42b3beb2b3cd2b0234f2a8c9a53a133ca
+DIST speech-dispatcher-0.8.1.tar.gz 1309969 SHA256 
d25727239bbee4ee7881dd5e23e4da64a184b2ff3c8c9830088a671fb23b7757 SHA512 
35f1ae547001a45d7945406ae5672829ff9ab6ac3f0cccb9eb3670dd92888a63c7cc4270ee90b5a166e6788afe3b117b5c3ef62c41a9df9f9af94dc4e0948fe8
 WHIRLPOOL 
945ef7ab1d771dc1e3727f223cfadfd309db03813f11fe995c0f4caf3a6f24bc9abc18e1f2f342b072bcd5fd0d626dae315f1fd0228d4172e051a2aba1255092
+EBUILD speech-dispatcher-0.8.1.ebuild 2857 SHA256 
7e0b44cbfcd9cbec8831408f5398c0edd6cff418096ccdcfd9a97f641f2ec487 SHA512 
8317653382d1210ebbf45595a24d27665920c9e275c7c0625026973990bce6c3297e982429be8af7eb7e7ddb6785fd844b4ae4c20dac3599a761c4aa7a35a2c0
 WHIRLPOOL 
ff1f61e92e7884a7cd51bc6b1de183290843f338b4b08586d2d45d5180c5f792187cd0f1760a9d1f2abdaf8918a8989eefd52c15dec6e8a868cb88a6a35fafa3
+MISC metadata.xml 632 SHA256 
4ab0806f2fd7c313c2be2379d2f56ec03df12fa37a266bcd287a3dc5f0c11482 SHA512 
db94cba99bd2c9bbfe98b1647ac53a3861cbd697df791bea025e2a713a5991ca6929f2bc82a985ba38eef4a2571515d96aac6558fe143b68e24713490c12dd0a
 WHIRLPOOL 
d3b4e5856cd9961bb4f030535f20b55595bf1a8264d228427f99d2b44d7b57892803a887a32f00e51bc77edc8d88f7ae4415dab6ac375c3f8f91a63ad34cfc55

diff --git 
a/app-accessibility/speech-dispatcher/files/0001-Make-some-includes-consistent-with-POSIX.patch
 
b/app-accessibility/speech-dispatcher/files/0001-Make-some-includes-consistent-with-POSIX.patch
new file mode 100644
index 0000000..d7947b7
--- /dev/null
+++ 
b/app-accessibility/speech-dispatcher/files/0001-Make-some-includes-consistent-with-POSIX.patch
@@ -0,0 +1,54 @@
+From f2dda28648de4bd940be54e827878f081af22ebc Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.ja...@posteo.de>
+Date: Mon, 23 Mar 2015 21:03:29 +0100
+Subject: [PATCH] Make some includes consistent with POSIX
+
+Reviewed-by: Luke Yelavich <them...@themuso.com>
+---
+ src/modules/cicero.c    | 2 +-
+ src/modules/spd_audio.c | 2 +-
+ src/server/module.c     | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/modules/cicero.c b/src/modules/cicero.c
+index 62332a5..2c69b7e 100644
+--- a/src/modules/cicero.c
++++ b/src/modules/cicero.c
+@@ -28,7 +28,7 @@
+ #include <speechd_types.h>
+ #include <safe_io.h>
+ #include <errno.h>
+-#include <sys/poll.h>
++#include <poll.h>
+ #include <fcntl.h>
+ #include <langinfo.h>
+ #include <sys/stat.h>
+diff --git a/src/modules/spd_audio.c b/src/modules/spd_audio.c
+index 3b65bf7..c85e21d 100644
+--- a/src/modules/spd_audio.c
++++ b/src/modules/spd_audio.c
+@@ -38,7 +38,7 @@
+ 
+ #include <stdio.h>
+ #include <string.h>
+-#include <sys/fcntl.h>
++#include <fcntl.h>
+ #include <sys/ioctl.h>
+ #include <sys/time.h>
+ #include <time.h>
+diff --git a/src/server/module.c b/src/server/module.c
+index 0681caf..51746a0 100644
+--- a/src/server/module.c
++++ b/src/server/module.c
+@@ -29,7 +29,7 @@
+ #include <sys/types.h>
+ #include <sys/wait.h>
+ #include <sys/stat.h>
+-#include <sys/unistd.h>
++#include <unistd.h>
+ #include <stdio.h>
+ #include <dirent.h>
+ #include <glib.h>
+-- 
+2.4.0
+

diff --git 
a/app-accessibility/speech-dispatcher/files/0001-Provide-fallback-for-systems-without-TEMP_FAILURE_RE.patch
 
b/app-accessibility/speech-dispatcher/files/0001-Provide-fallback-for-systems-without-TEMP_FAILURE_RE.patch
new file mode 100644
index 0000000..c469902
--- /dev/null
+++ 
b/app-accessibility/speech-dispatcher/files/0001-Provide-fallback-for-systems-without-TEMP_FAILURE_RE.patch
@@ -0,0 +1,182 @@
+From 98504410b7f77cad7457bfdfcd593e2898c3b461 Mon Sep 17 00:00:00 2001
+From: Felix Janda <felix.ja...@posteo.de>
+Date: Mon, 23 Mar 2015 21:03:12 +0100
+Subject: [PATCH] Provide fallback for systems without TEMP_FAILURE_RETRY
+
+Reviewed-by: Luke Yelavich <them...@themuso.com>
+---
+ include/safe_io.h          | 55 ++++++++++++++++++++++++++++++++++++++++++++++
+ src/modules/cicero.c       |  6 ++---
+ src/server/output.c        | 18 +--------------
+ src/server/sem_functions.c |  5 +++--
+ src/server/speaking.c      |  5 ++---
+ 5 files changed, 63 insertions(+), 26 deletions(-)
+ create mode 100644 include/safe_io.h
+
+diff --git a/include/safe_io.h b/include/safe_io.h
+new file mode 100644
+index 0000000..37cfe7f
+--- /dev/null
++++ b/include/safe_io.h
+@@ -0,0 +1,55 @@
++/*
++ * safe_io.h - Wrapper around read and write
++ *
++ * Copyright (C) 2001, 2002, 2003, 2007 Brailcom, o.p.s.
++ *
++ * This is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2, or (at your option)
++ * any later version.
++ *
++ * This software is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this package; see the file COPYING.  If not, write to
++ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ * Boston, MA 02110-1301, USA.
++ *
++ */
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
++#include <unistd.h>
++#include <errno.h>
++
++#ifdef TEMP_FAILURE_RETRY     /* GNU libc */
++#define safe_read(fd, buf, count) TEMP_FAILURE_RETRY(read(fd, buf, count))
++#define safe_write(fd, buf, count) TEMP_FAILURE_RETRY(write(fd, buf, count))
++#else /* TEMP_FAILURE_RETRY */
++#ifdef HAVE_UNISTD_H
++#include <unistd.h>
++#endif
++static inline ssize_t
++safe_read(int fd, void *buf, size_t count) {
++      do {
++              ssize_t w = read(fd, buf, count);
++
++              if (w == -1 && errno == EINTR) continue;
++              return w;
++      } while (1);
++}
++static inline ssize_t
++safe_write(int fd, const void *buf, size_t count) {
++      do {
++              ssize_t w = write(fd, buf, count);
++
++              if (w == -1 && errno == EINTR) continue;
++              return w;
++      } while (1);
++}
++#endif /* TEMP_FAILURE_RETRY */
+diff --git a/src/modules/cicero.c b/src/modules/cicero.c
+index 237796e..62332a5 100644
+--- a/src/modules/cicero.c
++++ b/src/modules/cicero.c
+@@ -26,6 +26,7 @@
+ #endif
+ 
+ #include <speechd_types.h>
++#include <safe_io.h>
+ #include <errno.h>
+ #include <sys/poll.h>
+ #include <fcntl.h>
+@@ -376,10 +377,7 @@ void *_cicero_speak(void *nothing)
+                                               cicero_speaking = 0;
+                                               break;
+                                       }
+-                                      if (ret > 0)
+-                                              TEMP_FAILURE_RETRY(read
+-                                                                 (fd1[0], b,
+-                                                                  2));
++                                      if (ret > 0) safe_read(fd1[0], b, 2);
+                                       if (cicero_stop) {
+                                               cicero_speaking = 0;
+                                               module_report_event_stop();
+diff --git a/src/server/output.c b/src/server/output.c
+index 40b7e8c..ef98a45 100644
+--- a/src/server/output.c
++++ b/src/server/output.c
+@@ -26,27 +26,11 @@
+ #endif
+ 
+ #include <fdsetconv.h>
++#include <safe_io.h>
+ #include <spd_utils.h>
+ #include "output.h"
+ #include "parse.h"
+ 
+-#ifdef TEMP_FAILURE_RETRY     /* GNU libc */
+-#define safe_write(fd, buf, count) TEMP_FAILURE_RETRY(write(fd, buf, count))
+-#else /* TEMP_FAILURE_RETRY */
+-#ifdef HAVE_UNISTD_H
+-#include <unistd.h>
+-#endif
+-static inline ssize_t
+-safe_write(int fd, const void *buf, size_t count) {
+-      do {
+-              ssize_t w = write(fd, buf, count);
+-
+-              if (w == -1 && errno == EINTR) continue;
+-              return w;
+-      } while (1);
+-}
+-#endif /* TEMP_FAILURE_RETRY */
+-
+ #if !(defined(__GLIBC__) && defined(_GNU_SOURCE))
+ /* Added by Willie Walker - strndup is a gcc-ism
+  */
+diff --git a/src/server/sem_functions.c b/src/server/sem_functions.c
+index 0a86f56..430e74c 100644
+--- a/src/server/sem_functions.c
++++ b/src/server/sem_functions.c
+@@ -26,6 +26,8 @@
+ #include <config.h>
+ #endif
+ 
++#include <safe_io.h>
++
+ #include "speechd.h"
+ #include "sem_functions.h"
+ 
+@@ -33,8 +35,7 @@ void speaking_semaphore_post(void)
+ {
+       char buf[1];
+       buf[0] = 42;
+-      const ssize_t wr_bytes =
+-          TEMP_FAILURE_RETRY(write(speaking_pipe[1], buf, 1));
++      const ssize_t wr_bytes = safe_write(speaking_pipe[1], buf, 1);
+       if (wr_bytes != 1)
+               FATAL("write to polled fd: could not write 1 byte");
+ }
+diff --git a/src/server/speaking.c b/src/server/speaking.c
+index bd27008..f2dc289 100644
+--- a/src/server/speaking.c
++++ b/src/server/speaking.c
+@@ -29,6 +29,7 @@
+ #include <glib.h>
+ #include <poll.h>
+ #include <unistd.h>
++#include <safe_io.h>
+ #include "speechd.h"
+ #include "server.h"
+ #include "index_marking.h"
+@@ -88,9 +89,7 @@ void *speak(void *data)
+                               MSG(5,
+                                   "wait_for_poll: activity in Speech 
Dispatcher");
+                               const ssize_t rd_bytes =
+-                                  TEMP_FAILURE_RETRY(read
+-                                                     (poll_fds[0].fd, buf,
+-                                                      1));
++                                  safe_read(poll_fds[0].fd, buf, 1);
+                               if (rd_bytes != 1)
+                                       FATAL
+                                           ("read from polled fd: could not 
read 1 byte");
+-- 
+2.4.0
+

diff --git a/app-accessibility/speech-dispatcher/metadata.xml 
b/app-accessibility/speech-dispatcher/metadata.xml
new file mode 100644
index 0000000..3b8394d
--- /dev/null
+++ b/app-accessibility/speech-dispatcher/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+  <maintainer type="person">
+    <email>willi...@gentoo.org</email>
+  </maintainer>
+  <maintainer type="project">
+    <email>accessibil...@gentoo.org</email>
+    <name>Gentoo Accessibility Project</name>
+  </maintainer>
+  <maintainer type="project">
+    <email>so...@gentoo.org</email>
+    <name>Gentoo Sound project</name>
+  </maintainer>
+  <use>
+    <flag name="espeak">Adds support for espeak speech engine</flag>
+    <flag name="flite">Adds support for flite speech engine</flag>
+  </use>
+</pkgmetadata>

diff --git a/app-accessibility/speech-dispatcher/speech-dispatcher-0.8.1.ebuild 
b/app-accessibility/speech-dispatcher/speech-dispatcher-0.8.1.ebuild
new file mode 100644
index 0000000..f7d0b8e
--- /dev/null
+++ b/app-accessibility/speech-dispatcher/speech-dispatcher-0.8.1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_3 python3_4 python3_5 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit eutils python-r1
+
+DESCRIPTION="Speech synthesis interface"
+HOMEPAGE="http://www.freebsoft.org/speechd";
+SRC_URI="http://www.freebsoft.org/pub/projects/speechd/${P}.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 sparc x86 ~amd64-linux 
~x86-linux"
+IUSE="alsa ao +espeak flite nas pulseaudio python static-libs"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+COMMON_DEPEND="python? ( ${PYTHON_DEPS} )
+       >=dev-libs/dotconf-1.3
+       >=dev-libs/glib-2.28:2
+       >=media-libs/libsndfile-1.0.2
+       alsa? ( media-libs/alsa-lib )
+       ao? ( media-libs/libao )
+       espeak? ( app-accessibility/espeak )
+       flite? ( app-accessibility/flite )
+       nas? ( media-libs/nas )
+       pulseaudio? ( media-sound/pulseaudio )"
+DEPEND="${COMMON_DEPEND}
+       >=dev-util/intltool-0.40.0
+       virtual/pkgconfig"
+       RDEPEND="${COMMON_DEPEND}
+       dev-python/pyxdg"
+
+src_prepare() {
+       # Fix for MUSL
+       epatch "${FILESDIR}"/0001-Make-some-includes-consistent-with-POSIX.patch
+       epatch 
"${FILESDIR}"/0001-Provide-fallback-for-systems-without-TEMP_FAILURE_RE.patch
+}
+
+src_configure() {
+       local myeconfargs=(
+               --disable-python
+               $(use_enable static-libs static)
+               $(use_with alsa)
+               $(use_with ao libao)
+               $(use_with espeak)
+               $(use_with flite)
+               $(use_with pulseaudio pulse)
+               $(use_with nas)
+       )
+       econf ${myeconfargs[@]}
+}
+
+src_compile() {
+       use python && python_copy_sources
+
+       emake
+
+       if use python; then
+               building() {
+                       cd src/api/python || die
+                       emake \
+                               pyexecdir="$(python_get_sitedir)" \
+                               pythondir="$(python_get_sitedir)"
+               }
+               python_foreach_impl run_in_build_dir building
+       fi
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+       dodoc ANNOUNCE AUTHORS BUGS ChangeLog FAQ NEWS README*
+
+       prune_libtool_files --all
+
+       if use python; then
+               installation() {
+                       cd src/api/python || die
+                       emake \
+                               DESTDIR="${D}" \
+                               pyexecdir="$(python_get_sitedir)" \
+                               pythondir="$(python_get_sitedir)" \
+                               install
+               }
+               python_foreach_impl run_in_build_dir installation
+               python_replicate_script "${ED}"/usr/bin/spd-conf
+       fi
+}
+
+pkg_postinst() {
+       local editconfig="n"
+       if ! use espeak; then
+               ewarn "You have disabled espeak, which is speech-dispatcher's"
+               ewarn "default speech synthesizer."
+               ewarn
+               editconfig="y"
+       fi
+       if ! use pulseaudio; then
+               ewarn "You have disabled pulseaudio support."
+               ewarn "pulseaudio is speech-dispatcher's default audio 
subsystem."
+               ewarn
+               editconfig="y"
+       fi
+       if [[ "${editconfig}" == "y" ]]; then
+               ewarn "You must edit ${EROOT}etc/speech-dispatcher/speechd.conf"
+               ewarn "and make sure the settings there match your system."
+               ewarn
+       fi
+       elog "For festival support, you need to"
+       elog "install app-accessibility/festival-freebsoft-utils."
+}

Reply via email to