Add patch for the infamous error period size 48 not supported by playback (#210127).
authorAlin Năstac <mrness@gentoo.org>
Mon, 18 Feb 2008 13:04:31 +0000 (13:04 +0000)
committerAlin Năstac <mrness@gentoo.org>
Mon, 18 Feb 2008 13:04:31 +0000 (13:04 +0000)
Package-Manager: portage-2.1.3.19

net-dialup/slmodem/ChangeLog
net-dialup/slmodem/Manifest
net-dialup/slmodem/files/slmodem-2.9.11-alsa-period-size.patch [new file with mode: 0644]
net-dialup/slmodem/slmodem-2.9.11_pre20080126-r1.ebuild [new file with mode: 0644]

index 4f013b55da41a6dd599502d2883888749b786b0c..7ac434170de750806637ca5d7c89e6d99749f88d 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for net-dialup/slmodem
 # Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dialup/slmodem/ChangeLog,v 1.91 2008/01/30 09:25:53 mrness Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/slmodem/ChangeLog,v 1.92 2008/02/18 13:04:30 mrness Exp $
+
+*slmodem-2.9.11_pre20080126-r1 (18 Feb 2008)
+
+  18 Feb 2008; Alin Năstac <mrness@gentoo.org>
+  +files/slmodem-2.9.11-alsa-period-size.patch,
+  +slmodem-2.9.11_pre20080126-r1.ebuild:
+  Add patch for the infamous error period size 48 not supported by playback
+  (#210127).
 
   30 Jan 2008; Alin Năstac <mrness@gentoo.org>
   slmodem-2.9.11_pre20080126.ebuild:
index 5fa7c56448e10ef10e220496484d456611f2ce1f..dcb70f078b4efc27bae75e3c588df87db9e3cd68 100644 (file)
@@ -1,3 +1,7 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX slmodem-2.9.11-alsa-period-size.patch 543 RMD160 233871b317df9c89751369f62cdd4198e9f47c84 SHA1 9c82d034873d1e472d48a240c955c457f84aa8d4 SHA256 48d3e09cc3e093dcea8985bfe297c3880e334b76a92d983e4333f03b4426d786
 AUX slmodem-2.9.11-kernel-2.6.24.patch 450 RMD160 c7cae33121da5e006f097171c8dd86a85db1327d SHA1 418137eb0ab52aa24b1be22c6010ed4410a2cf95 SHA256 5955c7df1747e0c207e557681149bfff650df7713757b89e7d5fd117ebc8ca20
 AUX slmodem-2.9.11-makefile.patch 872 RMD160 2e0c60d8bdf9d9c936c20d7941030fe3fc439402 SHA1 3c8d191a0e7983247a64e54ca70551fe4b83d046 SHA256 56518c7fa8ce442613ff9f23d87cbabe83ddb1fc21d10ae11dc8e7fd57610189
 AUX slmodem-confd 800 RMD160 7c5460263589cb8b384353484d08b100bdc5b8d2 SHA1 5a734d9121aed93aa40b9620a452b9ec08e30461 SHA256 f430a8bb00aa4ee3cda98ad9fee99125e16727064d0568709740b710ed3525c8
@@ -10,6 +14,14 @@ DIST slmodem-2.9.11-20080126.tar.gz 841978 RMD160 0a49fed9fdd932deef1a55308fb72b
 DIST ungrab-winmodem-2.9.11-20080126.tar.gz 2334 RMD160 1f738efc75e6907b63fb664dd6cfcfc4e9a96b7f SHA1 2678bb8995dd1b355a5fc20f2217919b8517ef66 SHA256 3d50bd46884216ea32306a7dcdddaad7910242bd7dfdef44a92fa12b5f5d3609
 DIST ungrab-winmodem-20070505.tar.gz 2254 RMD160 51b71b203688004718826f23dc2485223d8b4a17 SHA1 a89f3bcb2519b4d8413eac45aa984be19f2f49b4 SHA256 9fd9287638f89c17733bb4a6c981b00446f0be18589a71f10f69fca5006a7781
 EBUILD slmodem-2.9.11_pre20070813.ebuild 4568 RMD160 4b660ce31bd924b613a348261eeb1168e7299140 SHA1 166d66ebea8d2fee4a2bf04c48541fd303806ab2 SHA256 9d8cda17597de92d8aa507ec71d1d14ddeccd569a56e13825ff01d95e8dc2631
+EBUILD slmodem-2.9.11_pre20080126-r1.ebuild 4792 RMD160 c80b811745a11432cf3a4ef1759e7c605ec0ff8d SHA1 621795b0b5b8f21d5bec65c6940c33e4001999aa SHA256 cbdce50df0cc0a5cdd9b3044c68451e2a64fab54c4e956e03d4edee1d469cf84
 EBUILD slmodem-2.9.11_pre20080126.ebuild 4735 RMD160 627af6bb5985616fe70f3b3f7ad5f0dc7832b9ff SHA1 213afe1c7c048fd7f019f58a44ff3d6db44a9fcf SHA256 65555c10c5311ce4c9a9e89e1ee825e61b184a861a6b24d09613f3d4cfaa956d
-MISC ChangeLog 20026 RMD160 7ad27724e67bec65650335f11530c9cfb55ac8d8 SHA1 9bba9d72e0b3a498a022ff27f647c4569dba3c83 SHA256 30f43c00c2f2619d5dbcc1164d0207610e2f55d4ba9a20b36ed52c401d30b6c2
+MISC ChangeLog 20299 RMD160 f414d79559e4a9cb9664315e50c42c1e0fd6ce46 SHA1 aa5a264339be466ab9b7c2b8c9a9d6e6706ab7f3 SHA256 d4cf73f0ea0853801caddb0e0e556547377ce7563110ed9255eb5508b8228192
 MISC metadata.xml 163 RMD160 df94c60cc0bb7abe5913b464a33966b142b2fe1e SHA1 d8332605fd22c32f15438bbdf24aa622c3d2738a SHA256 1137a0fd866641cf719b0c2e9e77ca9fa4541a42f2cc851fe4659cf2677acca3
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.8 (GNU/Linux)
+
+iEYEARECAAYFAke5gmwACgkQ+fWpoTWIA9HSiQCZAU1uJ0eB9UjSesMSwGOi6bpE
+qa0AnAoGfwg98QzgzGgoBUR07gx8odBL
+=Ftn+
+-----END PGP SIGNATURE-----
diff --git a/net-dialup/slmodem/files/slmodem-2.9.11-alsa-period-size.patch b/net-dialup/slmodem/files/slmodem-2.9.11-alsa-period-size.patch
new file mode 100644 (file)
index 0000000..5901606
--- /dev/null
@@ -0,0 +1,12 @@
+diff -rud slmodem-2.9.11-20060727-orig/modem/modem_main.c slmodem-2.9.11-20060727/modem/modem_main.c
+--- slmodem-2.9.11-20060727-orig/modem/modem_main.c    2005-09-22 10:05:27.000000000 -0300
++++ slmodem-2.9.11-20060727/modem/modem_main.c 2007-07-10 14:37:33.000000000 -0300
+@@ -379,7 +379,7 @@
+               ERR("cannot set periods for %s: %s\n", stream_name, snd_strerror(err));
+               return err;
+       }
+-      if ( rsize != size ) {
++      if ( rsize < size ) {
+               ERR("period size %ld is not supported by %s (%ld).\n",
+                   size, stream_name, rsize);
+               return -1;              
diff --git a/net-dialup/slmodem/slmodem-2.9.11_pre20080126-r1.ebuild b/net-dialup/slmodem/slmodem-2.9.11_pre20080126-r1.ebuild
new file mode 100644 (file)
index 0000000..32dd400
--- /dev/null
@@ -0,0 +1,161 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dialup/slmodem/slmodem-2.9.11_pre20080126-r1.ebuild,v 1.1 2008/02/18 13:04:30 mrness Exp $
+
+inherit eutils linux-mod multilib
+
+UNGRAB_PV="2.9.11-20080126"
+
+DESCRIPTION="Driver for Smart Link modem"
+HOMEPAGE="http://linmodems.technion.ac.il/packages/smartlink/"
+SRC_URI="http://linmodems.technion.ac.il/packages/smartlink/${P/_pre/-}.tar.gz
+       http://linmodems.technion.ac.il/packages/smartlink/ungrab-winmodem-${UNGRAB_PV}.tar.gz"
+
+LICENSE="Smart-Link"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="alsa usb"
+
+DEPEND="alsa? ( media-libs/alsa-lib )
+       amd64? ( app-emulation/emul-linux-x86-soundlibs )"
+
+RDEPEND="${DEPEND}
+       virtual/logger"
+
+QA_EXECSTACK="usr/sbin/slmodem_test usr/sbin/slmodemd"
+
+S="${WORKDIR}"/${P/_pre/-}
+
+pkg_setup() {
+       use amd64 && multilib_toolchain_setup x86
+
+       MODULE_NAMES="ungrab-winmodem(:${WORKDIR}/ungrab-winmodem-${UNGRAB_PV})"
+       if ! use amd64; then
+               MODULE_NAMES="${MODULE_NAMES} slamr(net:${S}/drivers)"
+               if use usb; then
+                       MODULE_NAMES="${MODULE_NAMES} slusb(net:${S}/drivers)"
+                       CONFIG_CHECK="USB"
+               fi
+       fi
+       BUILD_TARGETS="all"
+       if kernel_is ge 2 6 24; then
+               CONFIG_CHECK="PCI_LEGACY"
+       fi
+       linux-mod_pkg_setup
+       BUILD_PARAMS="KERNEL_DIR=${KV_OUT_DIR}"
+}
+
+src_unpack() {
+       unpack ${A}
+       cd "${WORKDIR}"
+       sed -i "s:SUBDIRS=\$(shell pwd):SUBDIRS=${WORKDIR}/ungrab-winmodem-${UNGRAB_PV}:" \
+               ungrab-winmodem-${UNGRAB_PV}/Makefile
+       convert_to_m ungrab-winmodem-${UNGRAB_PV}/Makefile
+
+       cd "${WORKDIR}/ungrab-winmodem-${UNGRAB_PV}"
+       epatch "${FILESDIR}"/${PN}-ungrab-winmodem-hp500.patch
+
+       cd "${S}"
+       epatch "${FILESDIR}/${P%%_*}-makefile.patch"
+       epatch "${FILESDIR}/${P%%_*}-kernel-2.6.24.patch"
+       epatch "${FILESDIR}/${P%%_*}-alsa-period-size.patch"
+
+       cd "${S}"/drivers
+       sed -i "s:SUBDIRS=\$(shell pwd):SUBDIRS=${S}/drivers:" Makefile
+       convert_to_m Makefile
+       sed -i "s:.*=[ \t]*THIS_MODULE.*::" st7554.c amrmo_init.c old_st7554.c
+       sed -i 's:MODULE_PARM(\([^,]*\),"i");:module_param(\1, int, 0);:' st7554.c \
+               amrmo_init.c old_st7554.c
+}
+
+src_compile() {
+       local MAKE_PARAMS=""
+       if use alsa || use amd64; then
+               MAKE_PARAMS="SUPPORT_ALSA=1"
+       fi
+       emake ${MAKE_PARAMS} modem || die "failed to build modem"
+
+       use amd64 && multilib_toolchain_setup amd64
+       linux-mod_src_compile
+}
+
+src_install() {
+       linux-mod_src_install
+
+       cd "${S}"
+       newsbin modem/modem_test slmodem_test
+       dosbin modem/slmodemd
+       dodir /var/lib/slmodem
+       fowners root:dialout /var/lib/slmodem
+       keepdir /var/lib/slmodem
+
+       newconfd "${FILESDIR}/slmodem-confd" ${PN}
+       newinitd "${FILESDIR}/slmodem-initd" ${PN}
+
+       # configure for alsa - or not for alsa
+       if use alsa; then
+               sed -i -e "s/# MODULE=alsa/MODULE=alsa/" \
+                       -e "s/# HW_SLOT=modem:1/HW_SLOT=modem:1/" "${D}/etc/conf.d/slmodem"
+       else
+               sed -i "s/# MODULE=slamr/MODULE=slamr/" "${D}/etc/conf.d/slmodem"
+       fi
+
+       # Add module aliases and install udev script
+       insinto /etc/modules.d/
+       newins "${FILESDIR}/slmodem-modules" ${PN}
+       if use usb; then
+               exeinto /$(get_libdir)/udev
+               newexe "${FILESDIR}/slusb-udev.script" slmodem_usb.sh
+       fi
+
+       dodir /etc/modprobe.d
+       echo -e "blacklist slusb\nblacklist slamr\nblacklist snd-intel8x0m" >> "${D}/etc/modprobe.d/${PN}"
+
+       # Add configuration for udev
+       dodir /etc/udev/rules.d/
+       echo 'KERNEL=="slamr", NAME="slamr0" GROUP="dialout"' > \
+                "${D}/etc/udev/rules.d/55-${PN}.rules"
+       if use usb; then
+               echo 'KERNEL=="slusb", NAME="slusb0" GROUP="dialout" RUN+="slmodem_usb.sh"' >> \
+                        "${D}/etc/udev/rules.d/55-${PN}.rules"
+       fi
+
+       dodoc Changes README
+       newdoc "${WORKDIR}"/ungrab-winmodem-${UNGRAB_PV}/Readme.txt README-ungrab-winmodem.txt
+}
+
+pkg_postinst() {
+       linux-mod_pkg_postinst
+
+       # Make some devices if we aren't using devfs or udev
+       if [ -e "${ROOT}/dev/.udev" ]; then
+               ebegin "Reloading udev rules..."
+                       udevcontrol reload_rules
+               eend $?
+       else
+               cd "${S}/drivers"
+               make DESTDIR="${ROOT}" install-devices
+       fi
+
+       ewarn "To avoid problems, slusb/slamr have been blacklisted in /etc/modprobe.d/${PN}"
+       elog "You must edit /etc/conf.d/${PN} for your configuration"
+       elog "To add slmodem to your startup - type : rc-update add slmodem default"
+       elog
+
+       if use alsa; then
+               elog "I hope you have already added alsa to your startup: "
+               elog "otherwise type: rc-update add alsasound boot"
+               elog
+               elog "If you need to use snd-intel8x0m from the kernel"
+               elog "compile it as a module and edit /etc/modules.d/alsa"
+               elog 'to: "alias snd-card-(number) snd-intel8x0m"'
+               elog
+       fi
+
+       elog "You need to be in the uucp AND dialout group to make calls as a user."
+       elog
+       elog "If you see the following in dmesg:"
+       elog "    slamr: device 10b9:5457 is grabbed by driver serial"
+       elog "you need to modprobe ungrab-winmodem before slamr"
+       elog "See /etc/modules.d/slmodem for details."
+}