Import buildroot 2016.02.01
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
From f6ab3c3aa7a1841c8add04828029356d2a8c88e7 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 6 Apr 2015 21:56:31 -0700
|
||||
Subject: [PATCH] padsp: Make it compile on musl
|
||||
|
||||
break assumptions on glibc and there is no stat64 on non
|
||||
glibc C libraries
|
||||
|
||||
See pulseaudio bug
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=85319
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
[Bernd: taken from
|
||||
http://git.alpinelinux.org/cgit/aports/tree/testing/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch,
|
||||
adjusted paths.]
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
|
||||
---
|
||||
src/utils/padsp.c | 15 +++++++++------
|
||||
1 file changed, 9 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/utils/padsp.c b/src/utils/padsp.c
|
||||
index e61373c..684721a 100644
|
||||
--- a/src/utils/padsp.c
|
||||
+++ b/src/utils/padsp.c
|
||||
@@ -2368,7 +2368,7 @@ fail:
|
||||
return ret;
|
||||
}
|
||||
|
||||
-#ifdef sun
|
||||
+#ifndef __GLIBC__
|
||||
int ioctl(int fd, int request, ...) {
|
||||
#else
|
||||
int ioctl(int fd, unsigned long request, ...) {
|
||||
@@ -2508,10 +2508,13 @@ int stat(const char *pathname, struct stat *buf) {
|
||||
|
||||
return 0;
|
||||
}
|
||||
-
|
||||
#ifdef HAVE_OPEN64
|
||||
-
|
||||
+#undef stat64
|
||||
+#ifdef __GLIBC__
|
||||
int stat64(const char *pathname, struct stat64 *buf) {
|
||||
+#else
|
||||
+int stat64(const char *pathname, struct stat *buf) {
|
||||
+#endif
|
||||
struct stat oldbuf;
|
||||
int ret;
|
||||
|
||||
@@ -2544,7 +2547,7 @@ int stat64(const char *pathname, struct stat64 *buf) {
|
||||
|
||||
return 0;
|
||||
}
|
||||
-
|
||||
+#undef open64
|
||||
int open64(const char *filename, int flags, ...) {
|
||||
va_list args;
|
||||
mode_t mode = 0;
|
||||
@@ -2670,8 +2673,8 @@ FILE* fopen(const char *filename, const char *mode) {
|
||||
}
|
||||
|
||||
#ifdef HAVE_OPEN64
|
||||
-
|
||||
-FILE *fopen64(const char *filename, const char *mode) {
|
||||
+#undef fopen64
|
||||
+FILE *fopen64(const char *__restrict filename, const char *__restrict mode) {
|
||||
|
||||
debug(DEBUG_LEVEL_VERBOSE, __FILE__": fopen64(%s)\n", filename?filename:"NULL");
|
||||
|
||||
--
|
||||
2.1.4
|
||||
|
||||
37
firmware/buildroot/package/pulseaudio/Config.in
Normal file
37
firmware/buildroot/package/pulseaudio/Config.in
Normal file
@@ -0,0 +1,37 @@
|
||||
config BR2_PACKAGE_PULSEAUDIO
|
||||
bool "pulseaudio"
|
||||
depends on BR2_USE_WCHAR
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_STATIC_LIBS
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
|
||||
select BR2_PACKAGE_LIBTOOL
|
||||
select BR2_PACKAGE_JSON_C
|
||||
select BR2_PACKAGE_LIBSNDFILE
|
||||
select BR2_PACKAGE_SPEEX
|
||||
depends on BR2_USE_MMU # fork()
|
||||
help
|
||||
PulseAudio is a sound system for POSIX OSes, meaning that it
|
||||
is a proxy for your sound applications. It allows you to do
|
||||
advanced operations on your sound data as it passes between
|
||||
your application and your hardware. Things like transferring
|
||||
the audio to a different machine, changing the sample format
|
||||
or channel count and mixing several sounds into one are
|
||||
easily achieved using a sound server.
|
||||
|
||||
http://pulseaudio.org
|
||||
|
||||
if BR2_PACKAGE_PULSEAUDIO
|
||||
|
||||
config BR2_PACKAGE_PULSEAUDIO_DAEMON
|
||||
bool "start as a system daemon"
|
||||
help
|
||||
PulseAudio can be started as a system daemon. This is not the
|
||||
recommended way of using PulseAudio unless you are building a
|
||||
headless system.
|
||||
|
||||
endif
|
||||
|
||||
comment "pulseaudio needs a toolchain w/ wchar, threads, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
||||
39
firmware/buildroot/package/pulseaudio/S50pulseaudio
Executable file
39
firmware/buildroot/package/pulseaudio/S50pulseaudio
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Starts pulseaudio.
|
||||
#
|
||||
|
||||
|
||||
start() {
|
||||
printf "Starting pulseaudio: "
|
||||
umask 077
|
||||
/usr/bin/pulseaudio --system --daemonize
|
||||
echo "OK"
|
||||
}
|
||||
stop() {
|
||||
printf "Stopping pulseaudio: "
|
||||
pulseaudio --kill
|
||||
echo "OK"
|
||||
}
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart|reload)
|
||||
restart
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
||||
|
||||
3
firmware/buildroot/package/pulseaudio/pulseaudio.hash
Normal file
3
firmware/buildroot/package/pulseaudio/pulseaudio.hash
Normal file
@@ -0,0 +1,3 @@
|
||||
# From http://freedesktop.org/software/pulseaudio/releases/pulseaudio-8.0.tar.xz.{md5,sha1}
|
||||
md5 8678442ba0bb4b4c33ac6f62542962df pulseaudio-8.0.tar.xz
|
||||
sha1 1399a2f6288ad743184b6c2192129fef033343ac pulseaudio-8.0.tar.xz
|
||||
140
firmware/buildroot/package/pulseaudio/pulseaudio.mk
Normal file
140
firmware/buildroot/package/pulseaudio/pulseaudio.mk
Normal file
@@ -0,0 +1,140 @@
|
||||
################################################################################
|
||||
#
|
||||
# pulseaudio
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PULSEAUDIO_VERSION = 8.0
|
||||
PULSEAUDIO_SOURCE = pulseaudio-$(PULSEAUDIO_VERSION).tar.xz
|
||||
PULSEAUDIO_SITE = http://freedesktop.org/software/pulseaudio/releases
|
||||
PULSEAUDIO_INSTALL_STAGING = YES
|
||||
PULSEAUDIO_LICENSE = LGPLv2.1+ (specific license for modules, see LICENSE file)
|
||||
PULSEAUDIO_LICENSE_FILES = LICENSE GPL LGPL
|
||||
PULSEAUDIO_CONF_OPTS = \
|
||||
--disable-default-build-tests \
|
||||
--disable-legacy-database-entry-format \
|
||||
--disable-manpages
|
||||
|
||||
# Make sure we don't detect libatomic_ops. Indeed, since pulseaudio
|
||||
# requires json-c, which needs 4 bytes __sync builtins, there should
|
||||
# be no need for pulseaudio to rely on libatomic_ops.
|
||||
PULSE_AUDIO_CONF_ENV += \
|
||||
ac_cv_header_atomic_ops_h=no
|
||||
|
||||
PULSEAUDIO_DEPENDENCIES = \
|
||||
host-pkgconf libtool json-c libsndfile speex host-intltool \
|
||||
$(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) \
|
||||
$(if $(BR2_PACKAGE_ALSA_LIB),alsa-lib) \
|
||||
$(if $(BR2_PACKAGE_LIBGLIB2),libglib2) \
|
||||
$(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \
|
||||
$(if $(BR2_PACKAGE_DBUS),dbus) \
|
||||
$(if $(BR2_PACKAGE_BLUEZ_UTILS),bluez_utils) \
|
||||
$(if $(BR2_PACKAGE_HAS_UDEV),udev) \
|
||||
$(if $(BR2_PACKAGE_OPENSSL),openssl) \
|
||||
$(if $(BR2_PACKAGE_FFTW),fftw) \
|
||||
$(if $(BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING),webrtc-audio-processing) \
|
||||
$(if $(BR2_PACKAGE_SYSTEMD),systemd)
|
||||
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ORC),y)
|
||||
PULSEAUDIO_DEPENDENCIES += orc
|
||||
PULSEAUDIO_CONF_ENV += ORCC=$(HOST_DIR)/usr/bin/orcc
|
||||
PULSEAUDIO_CONF_OPTS += --enable-orc
|
||||
else
|
||||
PULSEAUDIO_CONF_OPTS += --disable-orc
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBCAP),y)
|
||||
PULSEAUDIO_DEPENDENCIES += libcap
|
||||
PULSEAUDIO_CONF_OPTS += --with-caps
|
||||
else
|
||||
PULSEAUDIO_CONF_OPTS += --without-caps
|
||||
endif
|
||||
|
||||
# gtk3 support needs X11 backend
|
||||
ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
|
||||
PULSEAUDIO_DEPENDENCIES += libgtk3
|
||||
PULSEAUDIO_CONF_OPTS += --enable-gtk3
|
||||
else
|
||||
PULSEAUDIO_CONF_OPTS += --disable-gtk3
|
||||
endif
|
||||
|
||||
ifneq ($(BR2_INSTALL_LIBSTDCPP),y)
|
||||
# The optional webrtc echo canceller is written in C++, causing auto* to want
|
||||
# to link module-echo-cancel.so with CXX even if webrtc ISN'T used.
|
||||
# If we don't have C++ support enabled in BR, CXX will point to /bin/false,
|
||||
# which makes configure think we aren't able to create C++ .so files
|
||||
# (arguable true), breaking the build when it tries to install the .so
|
||||
# workaround it by patching up the libtool invocations to use C mode instead
|
||||
define PULSEAUDIO_FORCE_CC
|
||||
$(SED) 's/--tag=CXX/--tag=CC/g' -e 's/(CXXLD)/(CCLD)/g' \
|
||||
$(@D)/src/Makefile.in
|
||||
endef
|
||||
|
||||
PULSEAUDIO_POST_PATCH_HOOKS += PULSEAUDIO_FORCE_CC
|
||||
endif
|
||||
|
||||
# neon intrinsics not available with float-abi=soft
|
||||
ifeq ($(BR2_ARM_SOFT_FLOAT),)
|
||||
ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
|
||||
PULSEAUDIO_USE_NEON = y
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(PULSEAUDIO_USE_NEON),y)
|
||||
PULSEAUDIO_CONF_OPTS += --enable-neon-opt=yes
|
||||
else
|
||||
PULSEAUDIO_CONF_OPTS += --enable-neon-opt=no
|
||||
endif
|
||||
|
||||
# pulseaudio alsa backend needs pcm/mixer apis
|
||||
ifneq ($(BR2_PACKAGE_ALSA_LIB_PCM)$(BR2_PACKAGE_ALSA_LIB_MIXER),yy)
|
||||
PULSEAUDIO_CONF_OPTS += --disable-alsa
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBXCB)$(BR2_PACKAGE_XLIB_LIBSM)$(BR2_PACKAGE_XLIB_LIBXTST),yyy)
|
||||
PULSEAUDIO_DEPENDENCIES += libxcb xlib_libSM xlib_libXtst
|
||||
|
||||
# .desktop file generation needs nls support, so fake it for !locale builds
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=54658
|
||||
ifneq ($(BR2_ENABLE_LOCALE),y)
|
||||
define PULSEAUDIO_FIXUP_DESKTOP_FILES
|
||||
cp $(@D)/src/daemon/pulseaudio.desktop.in \
|
||||
$(@D)/src/daemon/pulseaudio.desktop
|
||||
cp $(@D)/src/daemon/pulseaudio-kde.desktop.in \
|
||||
$(@D)/src/daemon/pulseaudio-kde.desktop
|
||||
endef
|
||||
PULSEAUDIO_POST_PATCH_HOOKS += PULSEAUDIO_FIXUP_DESKTOP_FILES
|
||||
endif
|
||||
|
||||
else
|
||||
PULSEAUDIO_CONF_OPTS += --disable-x11
|
||||
endif
|
||||
|
||||
define PULSEAUDIO_REMOVE_VALA
|
||||
rm -rf $(TARGET_DIR)/usr/share/vala
|
||||
endef
|
||||
|
||||
PULSEAUDIO_POST_INSTALL_TARGET_HOOKS += PULSEAUDIO_REMOVE_VALA
|
||||
|
||||
ifeq ($(BR2_PACKAGE_PULSEAUDIO_DAEMON),y)
|
||||
define PULSEAUDIO_USERS
|
||||
pulse -1 pulse -1 * /var/run/pulse - audio,pulse-access
|
||||
endef
|
||||
|
||||
define PULSEAUDIO_INSTALL_INIT_SYSV
|
||||
$(INSTALL) -D -m 755 package/pulseaudio/S50pulseaudio \
|
||||
$(TARGET_DIR)/etc/init.d/S50pulseaudio
|
||||
endef
|
||||
|
||||
define PULSEAUDIO_INSTALL_INIT_SYSTEMD
|
||||
$(INSTALL) -D -m 644 package/pulseaudio/pulseaudio.service \
|
||||
$(TARGET_DIR)/usr/lib/systemd/system/pulseaudio.service
|
||||
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
|
||||
ln -sf ../../../../usr/lib/systemd/system/pulseaudio.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/pulseaudio.service
|
||||
endef
|
||||
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
11
firmware/buildroot/package/pulseaudio/pulseaudio.service
Normal file
11
firmware/buildroot/package/pulseaudio/pulseaudio.service
Normal file
@@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=PulseAudio Sound System
|
||||
After=syslog.target
|
||||
|
||||
[Service]
|
||||
UMask=077
|
||||
ExecStart=/usr/bin/pulseaudio --system --daemonize=no
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user