summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Huebel <jhuebel@gentoo.org>2004-03-24 19:34:14 +0000
committerJason Huebel <jhuebel@gentoo.org>2004-03-24 19:34:14 +0000
commitbcf1863656f33cb626c79d284d22b9a84c4448bd (patch)
tree5e58f5fa2c5c483ca7f006a36c2100e6e2afca2d /kde-base
parentstable on sparc (Manifest recommit) (diff)
downloadgentoo-2-bcf1863656f33cb626c79d284d22b9a84c4448bd.tar.gz
gentoo-2-bcf1863656f33cb626c79d284d22b9a84c4448bd.tar.bz2
gentoo-2-bcf1863656f33cb626c79d284d22b9a84c4448bd.zip
patch for sound problems on amd64
Diffstat (limited to 'kde-base')
-rw-r--r--kde-base/arts/ChangeLog6
-rw-r--r--kde-base/arts/arts-1.2.1.ebuild5
-rw-r--r--kde-base/arts/files/arts-1.2.1-buffer.patch27
3 files changed, 36 insertions, 2 deletions
diff --git a/kde-base/arts/ChangeLog b/kde-base/arts/ChangeLog
index e7837cd1ece9..3dc4a44e4506 100644
--- a/kde-base/arts/ChangeLog
+++ b/kde-base/arts/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for kde-base/arts
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/arts/ChangeLog,v 1.83 2004/03/16 01:32:59 weeve Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/arts/ChangeLog,v 1.84 2004/03/24 19:34:12 jhuebel Exp $
+
+ 24 Mar 2004; Jason Huebel <jhuebel@gentoo.org> files/arts-1.2.1-buffer.patch,
+ arts-1.2.1.ebuild
+ Patch to fix sound problems with arts on amd64. Contributed by coolo at SUSE.
15 Mar 2004; Jason Wever <weeve@gentoo.org> arts-1.2.1.ebuild:
Marked stable on sparc.
diff --git a/kde-base/arts/arts-1.2.1.ebuild b/kde-base/arts/arts-1.2.1.ebuild
index cba5bf142503..5b6ce6336ae9 100644
--- a/kde-base/arts/arts-1.2.1.ebuild
+++ b/kde-base/arts/arts-1.2.1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/arts/arts-1.2.1.ebuild,v 1.6 2004/03/16 01:32:59 weeve Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/arts/arts-1.2.1.ebuild,v 1.7 2004/03/24 19:34:12 jhuebel Exp $
inherit kde flag-o-matic
set-kdedir 3.2
@@ -33,6 +33,9 @@ src_unpack() {
kde_sandbox_patch ${S}/soundserver
# for the configure.in.in patch, for some reason it's not automatically picked up
# rm -f $S/configure
+
+ cd ${S}
+ use amd64 && epatch ${FILESDIR}/arts-${PV}-buffer.patch
}
src_compile() {
diff --git a/kde-base/arts/files/arts-1.2.1-buffer.patch b/kde-base/arts/files/arts-1.2.1-buffer.patch
new file mode 100644
index 000000000000..b8bb4a94ec9f
--- /dev/null
+++ b/kde-base/arts/files/arts-1.2.1-buffer.patch
@@ -0,0 +1,27 @@
+--- mcop/buffer.cc.orig 2004-03-24 14:51:23.586055192 +0100
++++ mcop/buffer.cc 2004-03-24 14:56:14.054897216 +0100
+@@ -87,9 +87,8 @@
+ void Buffer::writeFloat(float f) {
+ // FIXME: on some machines this may fail badly (there is explicit
+ // float marshalling and demarshalling code in mico/orb/util.cc)
+-
+- long *f_as_long = (long *)&f;
+- writeLong(*f_as_long);
++ union { float f; long l; } u = {f};
++ writeLong(u.l);
+ }
+
+ void Buffer::writeFloatSeq(const std::vector<float>& seq) {
+@@ -252,9 +251,10 @@
+ float Buffer::readFloat()
+ {
+ // FIXME: see writeFloat()
+- long f_as_long = readLong();
++ union {float f; long l; } u;
++ u.l = readLong();
+
+- if(!_readError) return *(float *)&f_as_long;
++ if(!_readError) return u.f;
+ return 0.0;
+ }
+