summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé María Alonso <nimiux@gentoo.org>2012-11-13 22:11:28 +0000
committerJosé María Alonso <nimiux@gentoo.org>2012-11-13 22:11:28 +0000
commit91aec36d4927bc5df974a08905c43359663790f0 (patch)
treeedd5aea046d323858cb0eb75e98be3f73f0d2c47 /app-emulation/free42
parentstable arm, bug #441306 (diff)
downloadgentoo-2-91aec36d4927bc5df974a08905c43359663790f0.tar.gz
gentoo-2-91aec36d4927bc5df974a08905c43359663790f0.tar.bz2
gentoo-2-91aec36d4927bc5df974a08905c43359663790f0.zip
Fix QA warnings in alsa code and main program.
(Portage version: 2.1.11.31/cvs/Linux x86_64, signed Manifest commit with key D628E536)
Diffstat (limited to 'app-emulation/free42')
-rw-r--r--app-emulation/free42/ChangeLog6
-rw-r--r--app-emulation/free42/files/free42-1.4.75-fix-alsa.patch180
-rw-r--r--app-emulation/free42/free42-1.4.75.ebuild4
3 files changed, 186 insertions, 4 deletions
diff --git a/app-emulation/free42/ChangeLog b/app-emulation/free42/ChangeLog
index 542a2a0ea840..566f86c787ee 100644
--- a/app-emulation/free42/ChangeLog
+++ b/app-emulation/free42/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for app-emulation/free42
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/free42/ChangeLog,v 1.7 2012/11/11 19:32:07 nimiux Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/free42/ChangeLog,v 1.8 2012/11/13 22:11:27 nimiux Exp $
+
+ 13 Nov 2012; Chema Alonso <nimiux@gentoo.org> free42-1.4.75.ebuild,
+ files/free42-1.4.75-fix-alsa.patch:
+ Fix strict-alias warnings in alsa code. Fix array length.
*free42-1.4.75 (11 Nov 2012)
diff --git a/app-emulation/free42/files/free42-1.4.75-fix-alsa.patch b/app-emulation/free42/files/free42-1.4.75-fix-alsa.patch
index bbcb24907e0a..0994d083d628 100644
--- a/app-emulation/free42/files/free42-1.4.75-fix-alsa.patch
+++ b/app-emulation/free42/files/free42-1.4.75-fix-alsa.patch
@@ -1,7 +1,7 @@
diff -Nur a/gtk/audio_alsa.cc b/gtk/audio_alsa.cc
--- a/gtk/audio_alsa.cc 2012-10-27 21:14:48.000000000 +0200
-+++ b/gtk/audio_alsa.cc 2012-11-11 20:26:28.779917284 +0100
-@@ -23,6 +23,7 @@
++++ b/gtk/audio_alsa.cc 2012-11-13 22:11:41.489906248 +0100
+@@ -23,39 +23,94 @@
#include <sys/time.h>
#include <pthread.h>
#include <dlfcn.h>
@@ -9,3 +9,179 @@ diff -Nur a/gtk/audio_alsa.cc b/gtk/audio_alsa.cc
// We want to be able to run even if libasound is not present, so we have to
// link it manually using dlopen() and dlsym(). These are the functions we are
+ // going to need; the pointer names are the same as the actual function names
+ // in libasound, with _dl_ prefixed.
+ static int libasound_state = 0; // 0=closed, 1=open, 2=missing
+-static int (*_dl_snd_pcm_close)(snd_pcm_t *pcm);
+-static int (*_dl_snd_pcm_format_big_endian)(snd_pcm_format_t format);
+-static int (*_dl_snd_pcm_format_physical_width)(snd_pcm_format_t format);
+-static int (*_dl_snd_pcm_format_unsigned)(snd_pcm_format_t format);
+-static int (*_dl_snd_pcm_format_width)(snd_pcm_format_t format);
+-static int (*_dl_snd_pcm_hw_params)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
+-static int (*_dl_snd_pcm_hw_params_malloc)(snd_pcm_hw_params_t **ptr);
+-static void (*_dl_snd_pcm_hw_params_free)(snd_pcm_hw_params_t *obj);
+-static int (*_dl_snd_pcm_hw_params_any)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
+-static int (*_dl_snd_pcm_hw_params_get_buffer_size)(const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
+-static int (*_dl_snd_pcm_hw_params_set_access)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t _access);
+-static int (*_dl_snd_pcm_hw_params_set_buffer_size_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
+-static int (*_dl_snd_pcm_hw_params_set_channels)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
+-static int (*_dl_snd_pcm_hw_params_set_format)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val);
+-static int (*_dl_snd_pcm_hw_params_set_rate_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
+-static int (*_dl_snd_pcm_open)(snd_pcm_t **pcm, const char *name, snd_pcm_stream_t stream, int mode);
+-static int (*_dl_snd_pcm_prepare)(snd_pcm_t *pcm);
+-static int (*_dl_snd_pcm_resume)(snd_pcm_t *pcm);
+-static int (*_dl_snd_pcm_sw_params)(snd_pcm_t *pcm, snd_pcm_sw_params_t *params);
+-static int (*_dl_snd_pcm_sw_params_malloc)(snd_pcm_sw_params_t **ptr);
+-static void (*_dl_snd_pcm_sw_params_free)(snd_pcm_sw_params_t *obj);
+-static int (*_dl_snd_pcm_sw_params_current)(snd_pcm_t *pcm, snd_pcm_sw_params_t *params);
+-static int (*_dl_snd_pcm_sw_params_get_boundary)(const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val);
+-static int (*_dl_snd_pcm_sw_params_set_silence_size)(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
+-static int (*_dl_snd_pcm_sw_params_set_silence_threshold)(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
+-static snd_pcm_sframes_t (*_dl_snd_pcm_writei)(snd_pcm_t *pcm, const void *buffer, snd_pcm_uframes_t size);
+-static const char *(*_dl_snd_strerror)(int errnum);
++
++typedef int (dyn_snd_pcm_close) (snd_pcm_t *pcm);
++dyn_snd_pcm_close * _dl_snd_pcm_close = NULL;
++
++typedef int (dyn_snd_pcm_format_big_endian) (snd_pcm_format_t format);
++dyn_snd_pcm_format_big_endian * _dl_snd_pcm_format_big_endian = NULL;
++
++typedef int (dyn_snd_pcm_format_physical_width) (snd_pcm_format_t format);
++dyn_snd_pcm_format_physical_width * _dl_snd_pcm_format_physical_width = NULL;
++
++typedef int (dyn_snd_pcm_format_unsigned) (snd_pcm_format_t format);
++dyn_snd_pcm_format_unsigned * _dl_snd_pcm_format_unsigned = NULL;
++
++typedef int (dyn_snd_pcm_format_width) (snd_pcm_format_t format);
++dyn_snd_pcm_format_width * _dl_snd_pcm_format_width = NULL;
++
++typedef int (dyn_snd_pcm_hw_params) (snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
++dyn_snd_pcm_hw_params * _dl_snd_pcm_hw_params = NULL;
++
++typedef int (dyn_snd_pcm_hw_params_malloc) (snd_pcm_hw_params_t **ptr);
++dyn_snd_pcm_hw_params_malloc * _dl_snd_pcm_hw_params_malloc = NULL;
++
++typedef void (dyn_snd_pcm_hw_params_free) (snd_pcm_hw_params_t *obj);
++dyn_snd_pcm_hw_params_free * _dl_snd_pcm_hw_params_free = NULL;
++
++typedef int (dyn_snd_pcm_hw_params_any) (snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
++dyn_snd_pcm_hw_params_any * _dl_snd_pcm_hw_params_any = NULL;
++
++typedef int (dyn_snd_pcm_hw_params_get_buffer_size) (const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
++dyn_snd_pcm_hw_params_get_buffer_size * _dl_snd_pcm_hw_params_get_buffer_size = NULL;
++
++typedef int (dyn_snd_pcm_hw_params_set_access) (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t _access);
++dyn_snd_pcm_hw_params_set_access * _dl_snd_pcm_hw_params_set_access = NULL;
++
++typedef int (dyn_snd_pcm_hw_params_set_buffer_size_near) (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
++dyn_snd_pcm_hw_params_set_buffer_size_near * _dl_snd_pcm_hw_params_set_buffer_size_near = NULL;
++
++typedef int (dyn_snd_pcm_hw_params_set_channels) (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
++dyn_snd_pcm_hw_params_set_channels * _dl_snd_pcm_hw_params_set_channels = NULL;
++
++typedef int (dyn_snd_pcm_hw_params_set_format) (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val);
++dyn_snd_pcm_hw_params_set_format * _dl_snd_pcm_hw_params_set_format = NULL;
++
++typedef int (dyn_snd_pcm_hw_params_set_rate_near) (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
++dyn_snd_pcm_hw_params_set_rate_near * _dl_snd_pcm_hw_params_set_rate_near = NULL;
++
++typedef int (dyn_snd_pcm_open) (snd_pcm_t **pcm, const char *name, snd_pcm_stream_t stream, int mode);
++dyn_snd_pcm_open * _dl_snd_pcm_open = NULL;
++
++typedef int (dyn_snd_pcm_prepare) (snd_pcm_t *pcm);
++dyn_snd_pcm_prepare * _dl_snd_pcm_prepare = NULL;
++
++typedef int (dyn_snd_pcm_resume) (snd_pcm_t *pcm);
++dyn_snd_pcm_resume * _dl_snd_pcm_resume = NULL;
++
++typedef int (dyn_snd_pcm_sw_params) (snd_pcm_t *pcm, snd_pcm_sw_params_t *params);
++dyn_snd_pcm_sw_params * _dl_snd_pcm_sw_params = NULL;
++
++typedef int (dyn_snd_pcm_sw_params_malloc) (snd_pcm_sw_params_t **ptr);
++dyn_snd_pcm_sw_params_malloc * _dl_snd_pcm_sw_params_malloc = NULL;
++
++typedef void (dyn_snd_pcm_sw_params_free) (snd_pcm_sw_params_t *obj);
++dyn_snd_pcm_sw_params_free * _dl_snd_pcm_sw_params_free = NULL;
++
++typedef int (dyn_snd_pcm_sw_params_current) (snd_pcm_t *pcm, snd_pcm_sw_params_t *params);
++dyn_snd_pcm_sw_params_current * _dl_snd_pcm_sw_params_current = NULL;
++
++typedef int (dyn_snd_pcm_sw_params_get_boundary) (const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val);
++dyn_snd_pcm_sw_params_get_boundary * _dl_snd_pcm_sw_params_get_boundary = NULL;
++
++typedef int (dyn_snd_pcm_sw_params_set_silence_size) (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
++dyn_snd_pcm_sw_params_set_silence_size * _dl_snd_pcm_sw_params_set_silence_size = NULL;
++
++typedef int (dyn_snd_pcm_sw_params_set_silence_threshold) (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
++dyn_snd_pcm_sw_params_set_silence_threshold * _dl_snd_pcm_sw_params_set_silence_threshold = NULL;
++
++typedef snd_pcm_sframes_t (dyn_snd_pcm_writei) (snd_pcm_t *pcm, const void *buffer, snd_pcm_uframes_t size);
++dyn_snd_pcm_writei * _dl_snd_pcm_writei = NULL;
++
++typedef const char * (dyn_snd_strerror) (int errnum);
++dyn_snd_strerror * _dl_snd_strerror = NULL;
+
+ #define TDIFF(begin,end) (((double)(end.tv_sec - begin.tv_sec)*1000.0) + ((end.tv_usec - begin.tv_usec)/1000.0))
+
+@@ -169,33 +224,34 @@
+ fprintf(stderr, "Could not open " ALSALIB "\nusing gdk_beep() for BEEP and TONE.\n");
+ return false;
+ }
+- *((void **) &_dl_snd_pcm_close) = dlsym(lib, "snd_pcm_close");
+- *((void **) &_dl_snd_pcm_format_big_endian) = dlsym(lib, "snd_pcm_format_big_endian");
+- *((void **) &_dl_snd_pcm_format_physical_width) = dlsym(lib, "snd_pcm_format_physical_width");
+- *((void **) &_dl_snd_pcm_format_unsigned) = dlsym(lib, "snd_pcm_format_unsigned");
+- *((void **) &_dl_snd_pcm_format_width) = dlsym(lib, "snd_pcm_format_width");
+- *((void **) &_dl_snd_pcm_hw_params) = dlsym(lib, "snd_pcm_hw_params");
+- *((void **) &_dl_snd_pcm_hw_params_malloc) = dlsym(lib, "snd_pcm_hw_params_malloc");
+- *((void **) &_dl_snd_pcm_hw_params_free) = dlsym(lib, "snd_pcm_hw_params_free");
+- *((void **) &_dl_snd_pcm_hw_params_any) = dlsym(lib, "snd_pcm_hw_params_any");
+- *((void **) &_dl_snd_pcm_hw_params_get_buffer_size) = dlsym(lib, "snd_pcm_hw_params_get_buffer_size");
+- *((void **) &_dl_snd_pcm_hw_params_set_access) = dlsym(lib, "snd_pcm_hw_params_set_access");
+- *((void **) &_dl_snd_pcm_hw_params_set_buffer_size_near) = dlsym(lib, "snd_pcm_hw_params_set_buffer_size_near");
+- *((void **) &_dl_snd_pcm_hw_params_set_channels) = dlsym(lib, "snd_pcm_hw_params_set_channels");
+- *((void **) &_dl_snd_pcm_hw_params_set_format) = dlsym(lib, "snd_pcm_hw_params_set_format");
+- *((void **) &_dl_snd_pcm_hw_params_set_rate_near) = dlsym(lib, "snd_pcm_hw_params_set_rate_near");
+- *((void **) &_dl_snd_pcm_open) = dlsym(lib, "snd_pcm_open");
+- *((void **) &_dl_snd_pcm_prepare) = dlsym(lib, "snd_pcm_prepare");
+- *((void **) &_dl_snd_pcm_resume) = dlsym(lib, "snd_pcm_resume");
+- *((void **) &_dl_snd_pcm_sw_params) = dlsym(lib, "snd_pcm_sw_params");
+- *((void **) &_dl_snd_pcm_sw_params_malloc) = dlsym(lib, "snd_pcm_sw_params_malloc");
+- *((void **) &_dl_snd_pcm_sw_params_free) = dlsym(lib, "snd_pcm_sw_params_free");
+- *((void **) &_dl_snd_pcm_sw_params_current) = dlsym(lib, "snd_pcm_sw_params_current");
+- *((void **) &_dl_snd_pcm_sw_params_get_boundary) = dlsym(lib, "snd_pcm_sw_params_get_boundary");
+- *((void **) &_dl_snd_pcm_sw_params_set_silence_size) = dlsym(lib, "snd_pcm_sw_params_set_silence_size");
+- *((void **) &_dl_snd_pcm_sw_params_set_silence_threshold) = dlsym(lib, "snd_pcm_sw_params_set_silence_threshold");
+- *((void **) &_dl_snd_pcm_writei) = dlsym(lib, "snd_pcm_writei");
+- *((void **) &_dl_snd_strerror) = dlsym(lib, "snd_strerror");
++ _dl_snd_pcm_close = (dyn_snd_pcm_close *) dlsym(lib, "snd_pcm_close");
++ _dl_snd_pcm_format_big_endian = (dyn_snd_pcm_format_big_endian *) dlsym(lib, "snd_pcm_format_big_endian");
++ _dl_snd_pcm_format_physical_width = (dyn_snd_pcm_format_physical_width *) dlsym(lib, "snd_pcm_format_physical_width");
++ _dl_snd_pcm_format_unsigned = (dyn_snd_pcm_format_unsigned *) dlsym(lib, "snd_pcm_format_unsigned");
++ _dl_snd_pcm_format_width = (dyn_snd_pcm_format_width *) dlsym(lib, "snd_pcm_format_width");
++ _dl_snd_pcm_hw_params = (dyn_snd_pcm_hw_params *) dlsym(lib, "snd_pcm_hw_params");
++ _dl_snd_pcm_hw_params_malloc = (dyn_snd_pcm_hw_params_malloc *) dlsym(lib, "snd_pcm_hw_params_malloc");
++ _dl_snd_pcm_hw_params_free = (dyn_snd_pcm_hw_params_free *) dlsym(lib, "snd_pcm_hw_params_free");
++ _dl_snd_pcm_hw_params_any = (dyn_snd_pcm_hw_params_any *) dlsym(lib, "snd_pcm_hw_params_any");
++ _dl_snd_pcm_hw_params_get_buffer_size = (dyn_snd_pcm_hw_params_get_buffer_size *) dlsym(lib, "snd_pcm_hw_params_get_buffer_size");
++ _dl_snd_pcm_hw_params_set_access = (dyn_snd_pcm_hw_params_set_access *) dlsym(lib, "snd_pcm_hw_params_set_access");
++ _dl_snd_pcm_hw_params_set_buffer_size_near = (dyn_snd_pcm_hw_params_set_buffer_size_near *) dlsym(lib, "snd_pcm_hw_params_set_buffer_size_near");
++ _dl_snd_pcm_hw_params_set_channels = (dyn_snd_pcm_hw_params_set_channels *) dlsym(lib, "snd_pcm_hw_params_set_channels");
++ _dl_snd_pcm_hw_params_set_format = (dyn_snd_pcm_hw_params_set_format *) dlsym(lib, "snd_pcm_hw_params_set_format");
++ _dl_snd_pcm_hw_params_set_rate_near = (dyn_snd_pcm_hw_params_set_rate_near *) dlsym(lib, "snd_pcm_hw_params_set_rate_near");
++ _dl_snd_pcm_open = (dyn_snd_pcm_open *) dlsym(lib, "snd_pcm_open");
++ _dl_snd_pcm_prepare = (dyn_snd_pcm_prepare *) dlsym(lib, "snd_pcm_prepare");
++ _dl_snd_pcm_resume = (dyn_snd_pcm_resume *) dlsym(lib, "snd_pcm_resume");
++ _dl_snd_pcm_sw_params = (dyn_snd_pcm_sw_params *) dlsym(lib, "snd_pcm_sw_params");
++ _dl_snd_pcm_sw_params_malloc = (dyn_snd_pcm_sw_params_malloc *) dlsym(lib, "snd_pcm_sw_params_malloc");
++ _dl_snd_pcm_sw_params_free = (dyn_snd_pcm_sw_params_free *) dlsym(lib, "snd_pcm_sw_params_free");
++ _dl_snd_pcm_sw_params_current = (dyn_snd_pcm_sw_params_current *) dlsym(lib, "snd_pcm_sw_params_current");
++ _dl_snd_pcm_sw_params_get_boundary = (dyn_snd_pcm_sw_params_get_boundary *) dlsym(lib, "snd_pcm_sw_params_get_boundary");
++ _dl_snd_pcm_sw_params_set_silence_size = (dyn_snd_pcm_sw_params_set_silence_size *) dlsym(lib, "snd_pcm_sw_params_set_silence_size");
++ _dl_snd_pcm_sw_params_set_silence_threshold = (dyn_snd_pcm_sw_params_set_silence_threshold *) dlsym(lib, "snd_pcm_sw_params_set_silence_threshold");
++ _dl_snd_pcm_writei = (dyn_snd_pcm_writei *) dlsym(lib, "snd_pcm_writei");
++ _dl_snd_strerror = (dyn_snd_strerror *) dlsym(lib, "snd_strerror");
++
+ if (dlerror() == NULL)
+ return true;
+ fprintf(stderr, "Could not load all required symbols from " ALSALIB "\nusing gdk_beep() for BEEP and TONE.\n");
diff --git a/app-emulation/free42/free42-1.4.75.ebuild b/app-emulation/free42/free42-1.4.75.ebuild
index 00fef4cd8692..d8c6dbdc0efc 100644
--- a/app-emulation/free42/free42-1.4.75.ebuild
+++ b/app-emulation/free42/free42-1.4.75.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/free42/free42-1.4.75.ebuild,v 1.1 2012/11/11 19:32:05 nimiux Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/free42/free42-1.4.75.ebuild,v 1.2 2012/11/13 22:11:27 nimiux Exp $
EAPI=4
@@ -32,6 +32,8 @@ src_prepare() {
sed -i -e '/^LDFLAGS =/{s/=/:=/;s/$/ \$\{LDFLAGS\}/}' \
"${S}/gtk/Makefile" || die
sed -i -e '/^LDFLAGS +=/d' "${S}/gtk/Makefile" || die
+ sed -i -e 's/print_gif_name\[FILENAMELEN\]/print_gif_name\[1000\]/' \
+ "${S}/gtk/shell_main.cc" || die
epatch "${FILESDIR}"/${P}-fix-alsa.patch
}