Revision bump for media-sound/emu10k1-0.20a, with patch that allows package to be...
authorMichele Noberasco <s4t4n@gentoo.org>
Thu, 28 Oct 2004 19:38:02 +0000 (19:38 +0000)
committerMichele Noberasco <s4t4n@gentoo.org>
Thu, 28 Oct 2004 19:38:02 +0000 (19:38 +0000)
media-sound/emu10k1/ChangeLog
media-sound/emu10k1/Manifest
media-sound/emu10k1/emu10k1-0.20a-r7.ebuild [new file with mode: 0644]
media-sound/emu10k1/files/digest-emu10k1-0.20a-r7 [new file with mode: 0644]
media-sound/emu10k1/files/emu10k1-0.20a-gcc3.4.patch [new file with mode: 0644]

index 3237513a6221d9e1158ab30276fd8de90f0a74c2..2c4b0aa7c60888fb0709154ccd443bdac0cb8f42 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for media-sound/emu10k1
 # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-sound/emu10k1/ChangeLog,v 1.17 2004/09/05 22:41:59 eradicator Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/emu10k1/ChangeLog,v 1.18 2004/10/28 19:38:02 s4t4n Exp $
+
+*emu10k1-0.20a-r7 (28 Sep 2004)
+
+  28 Sep 2004; Michele Noberasco <s4t4n@gentoo.org> +emu10k1-0.20a-r7.ebuild:
+  Added patch to make it compile with gcc 3.4... a pity I have a 2.6 kernel,
+  so the patch fixes the utilities only, not the drivers...
 
 *emu10k1-0.20a-r6 (05 Sep 2004)
 
index 1344a53d166d15321df8c513028d61d5eba4c8ef..1bd5c9b42a15da91efc0a31d38676bc54a5b1589 100644 (file)
@@ -1,12 +1,15 @@
-MD5 7eb5c06aeb7ad84338abfda715d224d7 ChangeLog 2721
+MD5 beb206c6676bc083ab0aaf9b4cb4a525 emu10k1-0.20a-r7.ebuild 3983
+MD5 dfba438ba6f02ac55d0f2a74516a160b emu10k1-0.20a-r6.ebuild 3920
 MD5 dfca7fd8ac65751ae0e6863623459fc1 emu10k1-0.20a-r5.ebuild 3864
+MD5 e70157bebc5fca9eb5988dabd089415e ChangeLog 2965
 MD5 a1eaeb2ae801daeb712c90c060e922dc metadata.xml 158
-MD5 dfba438ba6f02ac55d0f2a74516a160b emu10k1-0.20a-r6.ebuild 3920
 MD5 cc1b5b194b1ed9e8f12c0ef441bd4958 files/README.gentoo 3591
-MD5 0adf8538874d6081ae1a984f3e4809c6 files/audigy-script 4530
 MD5 c4fa14eb5b5e9ec060dc4becba91168d files/digest-emu10k1-0.20a-r5 67
+MD5 c4fa14eb5b5e9ec060dc4becba91168d files/digest-emu10k1-0.20a-r6 67
+MD5 c4fa14eb5b5e9ec060dc4becba91168d files/digest-emu10k1-0.20a-r7 67
+MD5 5c0aeb3e4b0c3d110aa12e2145663155 files/modules-emu10k1 101
 MD5 33e92f14c4ebd59dcb789bd91964df92 files/emu10k1-script 1731
+MD5 0adf8538874d6081ae1a984f3e4809c6 files/audigy-script 4530
 MD5 5098f0c8f428a782347cc8b42ad0b018 files/emu10k1.conf-gentoo-header 465
-MD5 5c0aeb3e4b0c3d110aa12e2145663155 files/modules-emu10k1 101
 MD5 005d7a52156930b9de0bc03184c76f8f files/emu10k1-0.20a-gcc3.3.patch.gz 1547
-MD5 c4fa14eb5b5e9ec060dc4becba91168d files/digest-emu10k1-0.20a-r6 67
+MD5 18480e7311270305cd37073542ea4cb0 files/emu10k1-0.20a-gcc3.4.patch 1453
diff --git a/media-sound/emu10k1/emu10k1-0.20a-r7.ebuild b/media-sound/emu10k1/emu10k1-0.20a-r7.ebuild
new file mode 100644 (file)
index 0000000..f76520a
--- /dev/null
@@ -0,0 +1,138 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/emu10k1/emu10k1-0.20a-r7.ebuild,v 1.1 2004/10/28 19:38:02 s4t4n Exp $
+
+IUSE=""
+
+inherit eutils kernel-mod
+
+MY_P="${P/-/-v}"
+DESCRIPTION="Drivers, utilities, and effects for Sound Blaster cards (SBLive!, SB512, Audigy)"
+SRC_URI="mirror://sourceforge/emu10k1/${MY_P}.tar.bz2"
+RESTRICT="nomirror"
+HOMEPAGE="http://www.sourceforge.net/projects/emu10k1/"
+
+DEPEND="virtual/linux-sources"
+RDEPEND="media-sound/aumix"
+
+KEYWORDS="-* ~x86"
+SLOT="${KV}"
+LICENSE="GPL-2"
+
+S="${WORKDIR}/${MY_P}"
+
+BUILD_MODULE=0
+
+pkg_setup() {
+       [ -z "$KV" ] && die "Couldn't detect kernel version.  Does /usr/src/linux exist?"
+       kernel-mod_is_2_4_kernel && BUILD_MODULE=1
+
+       return 0
+}
+
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+
+       # Patch for GCC 3.3
+       epatch ${FILESDIR}/${P}-gcc3.3.patch.gz || die
+
+       # Patch for GCC 3.4
+       epatch ${FILESDIR}/${P}-gcc3.4.patch || die
+}
+
+src_compile() {
+       echo "SEQUENCER_SUPPORT := y" > config
+       echo "MODVERSIONS := y" >> config
+       echo "DBGEMU := n" >> config
+
+       # Unset ARCH to prevent conflict with 2.6 kernels.  See bug #40424
+       # unset ARCH
+       if [ $BUILD_MODULE -eq 1 ]
+       then
+               export KERNEL_SOURCE=/usr/src/linux
+               make || die "make failed"
+               make all || die "make all failed"
+       fi
+       make tools || die "make tools failed"
+}
+
+src_install() {
+       insinto /etc/modules.d
+       newins ${FILESDIR}/modules-emu10k1 emu10k1
+
+       if [ $BUILD_MODULE -eq 1 ]
+       then
+               # first install the main parts
+               make DESTDIR=${D} install || die "could not install"
+       fi
+
+       rm -f docs/*patch
+       dodoc docs/* ${FILESDIR}/README.gentoo
+
+       # now fix up the script so it'll install into /usr and not /usr/local
+       for f in ${S}/utils/{Makefile.config,scripts/emu-script} ; do
+               cp ${f} ${f}.old
+               sed -e 's:/usr/local:/usr:g' ${f}.old > ${f}
+       done
+       make man_prefix=${D}/usr/share/man DESTDIR=${D} install-tools || die "could not install tools"
+
+       # clean up the /usr/etc directory, movind stuff to /usr/bin...
+       cd ${D}/usr/etc
+       mv `find -type f -perm +1` ../bin/
+       mv * ${D}/etc/
+       cd ${D}
+       rm -rf ${D}/usr/etc
+
+       # add our special fixed audigy-script. Yes, the one in the driver package is b0rked and should
+       # not be used until you're absolutely sure it's superior to this one. Much thanks to
+       # Jonathan Boler (tenpin22@blueyonder.co.uk) for this excellent fixed version.
+       dobin ${FILESDIR}/audigy-script || die
+
+       # add wrapper script to handle audigy and emu cards
+       dobin ${FILESDIR}/emu10k1-script || die
+       cd ${D}/etc
+       cp emu10k1.conf ${T}/
+       {
+               cat ${FILESDIR}/emu10k1.conf-gentoo-header
+               cat ${T}/emu10k1.conf
+       } > emu10k1.conf
+
+       # clean up the scripts
+       dosed 's:$BASE_PATH/etc:/etc:g' /usr/bin/emu-script
+       dosed 's:\.aumixrc:aumixrc:g' /usr/bin/emu-script
+       # set tone control defaults to 50 (neutral)
+       dosed 's:68:50:g' /usr/bin/emu-script
+       # the audigy script is a local copy in ${FILESDIR} and has already been fixed up.
+
+       # change default settings
+       dosed 's:AC3PASSTHROUGH=no:AC3PASSTHROUGH=yes:' /etc/emu10k1.conf
+       dosed 's:ANALOG_FRONT_BOOST=no:ANALOG_FRONT_BOOST=yes:' /etc/emu10k1.conf
+       dosed 's:SURROUND=no:SURROUND=yes:' /etc/emu10k1.conf
+
+}
+
+pkg_postinst() {
+       #update-modules handles depmod -a for us
+       if [ -e /sbin/update-modules ]
+       then
+               /sbin/update-modules
+       else
+               /usr/sbin/update-modules
+       fi
+       einfo "In order for the module to work correctly you must"
+       einfo "Enable the following options in your kernel:"
+       echo
+       einfo "Sound/Sound card support    (module or builtin)"
+       einfo "Sound/OSS sound modules     (module or builtin)"
+       echo
+       einfo "In addition, ensure that the following modules are"
+       einfo "*not* built in to your kernel, or are at least"
+       einfo "built as modules are not currently loaded."
+       echo
+       einfo "Sound/Creative SBLive! (EMU10K1)  (disabled or module)"
+       einfo "Sound/Creative SBLive! MIDI       (disabled or module)"
+       echo
+       einfo "If you have not yet done this, rebuild and install"
+       einfo "your kernel modules and re-emerge this package."
+}
diff --git a/media-sound/emu10k1/files/digest-emu10k1-0.20a-r7 b/media-sound/emu10k1/files/digest-emu10k1-0.20a-r7
new file mode 100644 (file)
index 0000000..c5afcbd
--- /dev/null
@@ -0,0 +1 @@
+MD5 ffeab46e1b5ff9fd834dc78e240edf4b emu10k1-v0.20a.tar.bz2 286000
diff --git a/media-sound/emu10k1/files/emu10k1-0.20a-gcc3.4.patch b/media-sound/emu10k1/files/emu10k1-0.20a-gcc3.4.patch
new file mode 100644 (file)
index 0000000..87f3175
--- /dev/null
@@ -0,0 +1,60 @@
+diff -Naur emu10k1-v0.20a.old/utils/as10k1/as10k1.c emu10k1-v0.20a/utils/as10k1/as10k1.c
+--- emu10k1-v0.20a.old/utils/as10k1/as10k1.c   2004-10-28 20:54:43.919581000 +0200
++++ emu10k1-v0.20a/utils/as10k1/as10k1.c       2004-10-28 20:58:53.175688816 +0200
+@@ -72,7 +72,7 @@
+ {
+       int i,j;
+       for(i=1;i<argc;i++){
+-              
++
+               if(argv[i][0]=='-'){
+                       switch(argv[i][1]){
+ 
+@@ -93,9 +93,9 @@
+                                       dbg_opt=dbg_opt|DBG_INSTR;//default
+                                       i--;
+                                       printf(" instructions by default\n");
+-                                      goto next_cli_arg;
++                                      continue;
+                               }
+-                              
++
+                               while(argv[i][j]!='\0'){
+                                               
+                                       switch(argv[i][j]){
+@@ -161,8 +161,6 @@
+                       }
+ 
+               }
+-next_cli_arg:
+-
+       }
+ }
+ 
+diff -Naur emu10k1-v0.20a.old/utils/mixer/lib/file.c emu10k1-v0.20a/utils/mixer/lib/file.c
+--- emu10k1-v0.20a.old/utils/mixer/lib/file.c  2002-02-25 09:33:30.000000000 +0100
++++ emu10k1-v0.20a/utils/mixer/lib/file.c      2004-10-28 20:57:12.673967400 +0200
+@@ -441,14 +441,21 @@
+               list= &mgr->ipatch_list;
+               /* only load a patch if there is a route connecting it */
+               for(i=0;i<num_in;i++){
++                      char do_continue = 0;
++
+                       set_bit(input[i], &patch->input);
+                       set_bit(output[i], &patch->output);
+                       
+                       for (j = 0; j < DSP_NUM_OUTPUTS; j++)
+                               if ( test_bit(input[i], &mgr->rpatch.route_v[j]) || test_bit(input[i], &mgr->rpatch.route[j])  ) 
+-                                      goto match1;
++                              {
++                                      do_continue = 1;
++                                      break;
++                              }
++
++                      if (do_continue) continue;
++
+                       goto err2;
+-match1:
+               }
+               goto match;
+       }else{