1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-28 05:29:48 +00:00
freebsd-ports/audio/alsa-lib/files/patch-alsa-lib
Florian Smeets 4e23b4863e - update to 1.0.27.2 [1]
-- add PYTHON option to alsa-lib
 -- drop unresponsive mirrors and those that rarely catch up
 -- drop --disable-aload from alsa-lib, builds fine without
 -- drop USE_LDCONFIG from alsa-plugins, useless for dlopen'd plugins
 -- convert to new LIB_DEPENDS syntax and Makefile header
 -- convert PLIST_SUB to OPTIONS_SUB
 -- don't link alsa-utils against librt for clock_gettime(2)
 -- pass paths to configure relative to --prefix value
 -- install udev config(s) under PREFIX (for reference)
 -- cleanup /var/lib as it's not in default MTREE_FILE
 -- remove OSVERSION check for EOL releases
- allow staging

PR:		ports/182245 [1]
Submitted by:	Jan Beich <jbeich@tormail.org> [1]
Approved by:	maintainer timeout
2013-10-03 16:34:28 +00:00

562 lines
13 KiB
Plaintext

--- include/asoundlib-head.h.orig 2009-09-09 20:34:54.000000000 +0800
+++ include/asoundlib-head.h 2009-09-15 00:35:55.000000000 +0800
@@ -34,7 +34,11 @@
#include <string.h>
#include <fcntl.h>
#include <assert.h>
+#ifdef __FreeBSD__
+#include <sys/endian.h>
+#else
#include <endian.h>
+#endif
#include <sys/poll.h>
#include <errno.h>
#include <stdarg.h>
@@ -46,3 +50,31 @@
#include <alsa/output.h>
#include <alsa/error.h>
#include <alsa/conf.h>
+
+#ifdef __FreeBSD__
+
+#define ESTRPIPE 0x7a69 /* Linux PCM suspend errno, fehh?! */
+#define EBADFD EBADF
+
+#define bswap_16(x) bswap16(x)
+#define bswap_32(x) bswap32(x)
+#define bswap_64(x) bswap64(x)
+
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define __cpu_to_le32(x) (x)
+#define __cpu_to_be32(x) bswap_32(x)
+#define __cpu_to_le16(x) (x)
+#define __cpu_to_be16(x) bswap_16(x)
+#else
+#define __cpu_to_le32(x) bswap_32(x)
+#define __cpu_to_be32(x) (x)
+#define __cpu_to_le16(x) bswap_16(x)
+#define __cpu_to_be16(x) (x)
+#endif
+
+#define __le32_to_cpu __cpu_to_le32
+#define __be32_to_cpu __cpu_to_be32
+#define __le16_to_cpu __cpu_to_le16
+#define __be16_to_cpu __cpu_to_be16
+
+#endif /* !__FreeBSD__ */
--- include/global.h.orig 2009-09-09 20:34:54.000000000 +0800
+++ include/global.h 2009-09-15 00:39:54.000000000 +0800
@@ -133,7 +133,7 @@
int snd_user_file(const char *file, char **result);
-#if !defined(_POSIX_C_SOURCE) && !defined(_POSIX_SOURCE)
+#if !defined(_POSIX_C_SOURCE) && !defined(_POSIX_SOURCE) && !defined(__FreeBSD__)
struct timeval {
time_t tv_sec; /* seconds */
long tv_usec; /* microseconds */
--- include/local.h.orig 2009-09-09 20:34:54.000000000 +0800
+++ include/local.h 2009-09-15 00:26:08.000000000 +0800
@@ -28,11 +28,19 @@
#include <string.h>
#include <fcntl.h>
#include <assert.h>
+#ifdef __FreeBSD__
+#include <sys/endian.h>
+#else
#include <endian.h>
+#endif
#include <stdarg.h>
#include <sys/poll.h>
#include <errno.h>
+#ifdef __linux__
#include <linux/ioctl.h>
+#else
+#include <sys/ioctl.h>
+#endif
#include "config.h"
#ifdef SUPPORT_RESMGR
--- include/search.h.orig 2009-09-09 20:34:54.000000000 +0800
+++ include/search.h 2009-09-15 00:49:10.000000000 +0800
@@ -20,7 +20,9 @@
#ifndef _SEARCH_H
#define _SEARCH_H 1
+#ifndef __FreeBSD__
#include <features.h>
+#endif
#define __need_size_t
#include <stddef.h>
@@ -49,10 +51,18 @@
#endif
+#ifdef __FreeBSD__
+#define __PMT __P
+#endif
+
/* For use with hsearch(3). */
#ifndef __COMPAR_FN_T
# define __COMPAR_FN_T
+#ifdef __FreeBSD__
+typedef int (*__compar_fn_t) __PMT ((__const void *, __const void *));
+#else
typedef int (*__compar_fn_t) __PMT ((__const __ptr_t, __const __ptr_t));
+#endif
# ifdef __USE_GNU
typedef __compar_fn_t comparison_fn_t;
--- include/sound/asound.h.orig 2009-09-09 20:34:54.000000000 +0800
+++ include/sound/asound.h 2009-09-15 00:44:37.000000000 +0800
@@ -23,9 +23,42 @@
#ifndef _UAPI__SOUND_ASOUND_H
#define _UAPI__SOUND_ASOUND_H
+#ifdef __linux__
#include <linux/types.h>
+#else
+#define __bitwise
+typedef uint32_t __u32;
+typedef int __kernel_pid_t;
+#endif
+
+#ifdef __FreeBSD__
+#define ESTRPIPE 0x7a69 /* Linux PCM suspend errno, fehh?! */
+#define EBADFD EBADF
+
+typedef uint64_t __u64;
+
+#define bswap_16(x) bswap16(x)
+#define bswap_32(x) bswap32(x)
+#define bswap_64(x) bswap64(x)
+
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define __cpu_to_le32(x) (x)
+#define __cpu_to_be32(x) bswap_32(x)
+#define __cpu_to_le16(x) (x)
+#define __cpu_to_be16(x) bswap_16(x)
+#else
+#define __cpu_to_le32(x) bswap_32(x)
+#define __cpu_to_be32(x) (x)
+#define __cpu_to_le16(x) bswap_16(x)
+#define __cpu_to_be16(x) (x)
+#endif
+#define __le32_to_cpu __cpu_to_le32
+#define __be32_to_cpu __cpu_to_be32
+#define __le16_to_cpu __cpu_to_le16
+#define __be16_to_cpu __cpu_to_be16
+#endif
/*
* protocol version
*/
--- include/sound/type_compat.h.orig 2009-09-09 20:34:54.000000000 +0800
+++ include/sound/type_compat.h 2009-09-15 00:36:14.000000000 +0800
@@ -10,8 +10,15 @@
typedef int16_t __s16;
typedef int32_t __s32;
+#ifdef __FreeBSD__
+#include <sys/endian.h>
+#define bswap_16(x) bswap16(x)
+#define bswap_32(x) bswap32(x)
+#define bswap_64(x) bswap64(x)
+#else
#include <endian.h>
#include <byteswap.h>
+#endif
#if __BYTE_ORDER == __LITTLE_ENDIAN
#define __cpu_to_le32(x) (x)
#define __cpu_to_be32(x) bswap_32(x)
$NetBSD: patch-bk,v 1.1 2008/12/25 13:18:00 hasso Exp $
--- src/async.c.orig 2008-12-25 08:18:22 +0200
+++ src/async.c 2008-12-25 08:20:39 +0200
@@ -51,6 +51,15 @@ static LIST_HEAD(snd_async_handlers);
static void snd_async_handler(int signo ATTRIBUTE_UNUSED, siginfo_t *siginfo, void *context ATTRIBUTE_UNUSED)
{
+#if defined(__DragonFly__) || defined(__FreeBSD__)
+ /* XXX XXX XXX */
+ struct list_head *i;
+ list_for_each(i, &snd_async_handlers) {
+ snd_async_handler_t *h = list_entry(i, snd_async_handler_t, glist);
+ if (h->callback)
+ h->callback(h);
+ }
+#else
int fd;
struct list_head *i;
//assert(siginfo->si_code == SI_SIGIO);
@@ -60,6 +61,7 @@
if (h->fd == fd && h->callback)
h->callback(h);
}
+#endif
}
/**
--- src/compat/hsearch_r.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/compat/hsearch_r.c 2009-09-15 00:22:11.000000000 +0800
@@ -18,7 +18,11 @@
Boston, MA 02111-1307, USA. */
#include <errno.h>
+#ifdef __GLIBC__
#include <malloc.h>
+#else
+#include <stdlib.h>
+#endif
#include <string.h>
#define __USE_GNU
--- src/conf.c.orig
+++ src/conf.c
@@ -428,7 +428,11 @@ beginning:</P>
#ifdef HAVE_LIBPTHREAD
static pthread_mutex_t snd_config_update_mutex =
+#ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+#else
+ PTHREAD_MUTEX_INITIALIZER;
+#endif
#endif
struct _snd_config {
--- src/pcm/pcm.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm.c 2009-09-15 00:19:09.000000000 +0800
@@ -630,7 +630,9 @@
#include <stdio.h>
#include <string.h>
+#ifndef __FreeBSD__
#include <malloc.h>
+#endif
#include <stdarg.h>
#include <signal.h>
#include <sys/poll.h>
--- src/pcm/pcm_adpcm.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_adpcm.c 2009-09-15 00:19:14.000000000 +0800
@@ -56,7 +56,9 @@
come across a good description of XA yet.
*/
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include "pcm_local.h"
#include "pcm_plugin.h"
--- src/pcm/pcm_alaw.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_alaw.c 2009-09-15 00:19:19.000000000 +0800
@@ -26,7 +26,9 @@
*
*/
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include "pcm_local.h"
#include "pcm_plugin.h"
--- src/pcm/pcm_copy.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_copy.c 2009-09-15 00:21:29.000000000 +0800
@@ -26,7 +26,9 @@
*
*/
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include "pcm_local.h"
#include "pcm_plugin.h"
--- src/pcm/pcm_direct.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_direct.c 2009-09-15 00:45:34.000000000 +0800
@@ -44,12 +44,14 @@
*
*/
+#ifndef __FreeBSD__
union semun {
int val; /* Value for SETVAL */
struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
unsigned short *array; /* Array for GETALL, SETALL */
struct seminfo *__buf; /* Buffer for IPC_INFO (Linux specific) */
};
+#endif
/*
* FIXME:
--- src/pcm/pcm_dmix_generic.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_dmix_generic.c 2009-09-15 00:18:52.000000000 +0800
@@ -125,7 +125,9 @@
(1ULL << SND_PCM_FORMAT_S24_3LE) | \
(1ULL << SND_PCM_FORMAT_U8))
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
static void generic_mix_areas_16_native(unsigned int size,
volatile signed short *dst,
--- src/pcm/pcm_file.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_file.c 2009-09-15 00:21:10.000000000 +0800
@@ -26,8 +26,12 @@
*
*/
+#ifdef __FreeBSD__
+#include <sys/endian.h>
+#else
#include <endian.h>
#include <byteswap.h>
+#endif
#include <ctype.h>
#include <string.h>
#include "pcm_local.h"
--- src/pcm/pcm_iec958.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_iec958.c 2009-09-15 00:19:44.000000000 +0800
@@ -26,7 +26,9 @@
*
*/
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include "pcm_local.h"
#include "pcm_plugin.h"
--- src/pcm/pcm_lfloat.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_lfloat.c 2009-09-15 00:21:48.000000000 +0800
@@ -26,7 +26,9 @@
*
*/
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include "pcm_local.h"
#include "pcm_plugin.h"
--- src/pcm/pcm_linear.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_linear.c 2009-09-15 00:21:37.000000000 +0800
@@ -26,7 +26,9 @@
*
*/
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include "pcm_local.h"
#include "pcm_plugin.h"
--- src/pcm/pcm_meter.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_meter.c 2009-09-15 00:18:38.000000000 +0800
@@ -27,7 +27,9 @@
*/
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include <time.h>
#include <pthread.h>
#include <dlfcn.h>
--- src/pcm/pcm_misc.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_misc.c 2009-09-15 00:18:31.000000000 +0800
@@ -23,7 +23,9 @@
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include "pcm_local.h"
--- src/pcm/pcm_mmap.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_mmap.c 2009-09-15 00:17:43.000000000 +0800
@@ -19,7 +19,9 @@
*/
#include <stdio.h>
+#ifndef __FreeBSD__
#include <malloc.h>
+#endif
#include <string.h>
#include <sys/poll.h>
#include <sys/mman.h>
--- src/pcm/pcm_mulaw.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_mulaw.c 2009-09-15 00:21:21.000000000 +0800
@@ -26,7 +26,9 @@
*
*/
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include "pcm_local.h"
#include "pcm_plugin.h"
--- src/pcm/pcm_null.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_null.c 2009-09-15 00:19:32.000000000 +0800
@@ -26,7 +26,9 @@
*
*/
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include <limits.h>
#include <sys/shm.h>
#include "pcm_local.h"
--- src/pcm/pcm_rate.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_rate.c 2009-09-15 00:21:43.000000000 +0800
@@ -28,7 +28,9 @@
*
*/
#include <inttypes.h>
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include "pcm_local.h"
#include "pcm_plugin.h"
#include "pcm_rate.h"
--- src/pcm/pcm_rate_linear.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_rate_linear.c 2009-09-15 00:19:26.000000000 +0800
@@ -21,7 +21,9 @@
*/
#include <inttypes.h>
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include "pcm_local.h"
#include "pcm_plugin.h"
#include "pcm_rate.h"
--- src/pcm/pcm_route.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_route.c 2009-09-15 00:19:38.000000000 +0800
@@ -26,7 +26,9 @@
*
*/
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include <math.h>
#include "pcm_local.h"
#include "pcm_plugin.h"
--- src/pcm/pcm_softvol.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/pcm/pcm_softvol.c 2009-09-15 00:19:02.000000000 +0800
@@ -26,7 +26,9 @@
*
*/
+#ifndef __FreeBSD__
#include <byteswap.h>
+#endif
#include <math.h>
#include "pcm_local.h"
#include "pcm_plugin.h"
--- src/seq/seq_midi_event.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/seq/seq_midi_event.c 2009-09-15 00:21:55.000000000 +0800
@@ -28,7 +28,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#ifndef __FreeBSD__
#include <malloc.h>
+#endif
#include "local.h"
#ifndef DOC_HIDDEN
--- src/shmarea.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/shmarea.c 2009-09-15 00:22:00.000000000 +0800
@@ -19,7 +19,11 @@
*/
#include <stdio.h>
+#ifdef __GLIBC__
#include <malloc.h>
+#else
+#include <stdlib.h>
+#endif
#include <string.h>
#include <errno.h>
#include <sys/poll.h>
--- src/userfile.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/userfile.c 2009-09-18 00:57:22.000000000 +0800
@@ -19,9 +19,47 @@
*/
#include <config.h>
+#ifdef __FreeBSD__
+#include <stdlib.h>
+#endif
#include <string.h>
#include <errno.h>
+/*
+ * XXX Something is definitely wrong, very very wrong, here or there.
+ * Apparently mplayer (so far) is the only app that break, returning
+ * WRDE_SYNTAX. For now, this simple home/path expansion should work.
+ * I'll investigate this further in future.
+ */
+#ifdef __FreeBSD__
+int snd_user_file(const char *file, char **result)
+{
+
+ if (file == NULL)
+ return -EINVAL;
+
+ if (strlen(file) > 2 && strncmp(file, "~/", 2) == 0) {
+ char *homedir, *path;
+
+ homedir = getenv("HOME");
+ if (homedir == NULL)
+ return -EINVAL;
+
+ /* offset -1 by removing '~' */
+ path = malloc(strlen(homedir) + strlen(file));
+ if (path == NULL)
+ return -ENOMEM;
+
+ strcpy(path, homedir); /* copy home directory */
+ strcat(path, file + 1); /* discard '~', start with '/' */
+
+ *result = path;
+ } else
+ *result = strdup(file);
+
+ return 0;
+}
+#else
/**
* \brief Get the full file name
* \param file The file name string to parse
@@ -70,3 +108,4 @@
return 0;
}
#endif /* HAVE_WORDEXP_H */
+#endif /* __FreeBSD__ */
--- src/timer/timer_hw.c.orig 2009-09-09 20:34:54.000000000 +0800
+++ src/timer/timer_hw.c 2009-09-15 00:46:06.000000000 +0800
@@ -92,10 +92,12 @@
}
if (sig < 0)
return 0;
+#ifndef __FreeBSD__
if (fcntl(fd, F_SETSIG, (long)sig) < 0) {
SYSERR("F_SETSIG failed");
return -errno;
}
+#endif
if (fcntl(fd, F_SETOWN, (long)pid) < 0) {
SYSERR("F_SETOWN failed");
return -errno;