summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Volkov <pva@gentoo.org>2008-01-11 11:27:13 +0000
committerPeter Volkov <pva@gentoo.org>2008-01-11 11:27:13 +0000
commitd4844c03f5eb850017e211fbeedf7acf1ad15ae6 (patch)
treef389c868f099305a486fe82a38f40e4c72569900 /net-wireless
parentmantisbt-1.1.0 moved to the tree. (diff)
downloadpva-d4844c03f5eb850017e211fbeedf7acf1ad15ae6.tar.gz
pva-d4844c03f5eb850017e211fbeedf7acf1ad15ae6.tar.bz2
pva-d4844c03f5eb850017e211fbeedf7acf1ad15ae6.zip
Added btsco until I get how bluez works with headset.
svn path=/; revision=103
Diffstat (limited to 'net-wireless')
-rw-r--r--net-wireless/btsco-kernel/Manifest16
-rw-r--r--net-wireless/btsco-kernel/btsco-kernel-0.41.ebuild52
-rw-r--r--net-wireless/btsco-kernel/bug_915580
-rw-r--r--net-wireless/btsco-kernel/files/btsco-0.41-kernel.patch188
-rw-r--r--net-wireless/btsco-kernel/files/digest-btsco-kernel-0.413
-rw-r--r--net-wireless/btsco/Manifest16
-rw-r--r--net-wireless/btsco/btsco-0.41.ebuild69
-rw-r--r--net-wireless/btsco/bug_915580
-rw-r--r--net-wireless/btsco/files/digest-btsco-0.413
-rw-r--r--net-wireless/btsco/files/rc.headset48
10 files changed, 395 insertions, 0 deletions
diff --git a/net-wireless/btsco-kernel/Manifest b/net-wireless/btsco-kernel/Manifest
new file mode 100644
index 0000000..d90435c
--- /dev/null
+++ b/net-wireless/btsco-kernel/Manifest
@@ -0,0 +1,16 @@
+AUX btsco-0.41-kernel.patch 7527 RMD160 86be5595014832c5de655816f21357cb063bbc1e SHA1 8937eb87c8bb44bc5a682ec645253ab5583dbeab SHA256 2430f3c38b88b23fa557f52ebc45bf7f0c29c37a44053cebcd3e2ca2141e4a97
+MD5 80ab5702cb961f7005609243001c2e73 files/btsco-0.41-kernel.patch 7527
+RMD160 86be5595014832c5de655816f21357cb063bbc1e files/btsco-0.41-kernel.patch 7527
+SHA256 2430f3c38b88b23fa557f52ebc45bf7f0c29c37a44053cebcd3e2ca2141e4a97 files/btsco-0.41-kernel.patch 7527
+DIST btsco-0.41.tar.gz 528364 RMD160 4474925c1d64461290ec5d6fd4bb1fdeb32a8fa0 SHA1 9c419f2eefd9e1ae423df99e98aae1e9fb2b6527 SHA256 47d206a511347f0762f4fe02c71d5b3a6122dcf3947947723cdde1d91ebad01b
+EBUILD btsco-kernel-0.41.ebuild 1498 RMD160 509c0aae5b6f2908a10fb0a09a9c8b14666ae9ab SHA1 77c9c7a7165ea65e91191a078ba6ce07ab78cb88 SHA256 b16bd77e61faed8160818375ff135c8f3c0c9bf2d4d782b6b1edb297bd3cf033
+MD5 83a5dca956088a27238a464b53e8c150 btsco-kernel-0.41.ebuild 1498
+RMD160 509c0aae5b6f2908a10fb0a09a9c8b14666ae9ab btsco-kernel-0.41.ebuild 1498
+SHA256 b16bd77e61faed8160818375ff135c8f3c0c9bf2d4d782b6b1edb297bd3cf033 btsco-kernel-0.41.ebuild 1498
+MISC bug_91558 0 RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709 SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+MD5 d41d8cd98f00b204e9800998ecf8427e bug_91558 0
+RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 bug_91558 0
+SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 bug_91558 0
+MD5 2d097a219ae9f4d9b6f184a26453422a files/digest-btsco-kernel-0.41 232
+RMD160 05b85d78751061c00dca956ced6a449125ca9ff1 files/digest-btsco-kernel-0.41 232
+SHA256 1704f9ce103b9f01f60603b9f66f6fb5117d58576a8ee8362c477c99556a39b0 files/digest-btsco-kernel-0.41 232
diff --git a/net-wireless/btsco-kernel/btsco-kernel-0.41.ebuild b/net-wireless/btsco-kernel/btsco-kernel-0.41.ebuild
new file mode 100644
index 0000000..e78f301
--- /dev/null
+++ b/net-wireless/btsco-kernel/btsco-kernel-0.41.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils linux-info linux-mod
+
+SPKG="btsco"
+
+DESCRIPTION="BlueTooth headset driver for ALSA (snd-bt-sco)"
+HOMEPAGE="http://bluetooth-alsa.sourceforge.net/"
+SRC_URI="mirror://sourceforge/bluetooth-alsa/${SPKG}-${PV}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~x86"
+IUSE=""
+
+DEPEND=""
+
+S=${WORKDIR}/${SPKG}-${PV}/kernel
+
+MODULE_NAMES="snd-bt-sco()"
+BUILD_PARAMS="-j1"
+BUILD_TARGETS="default"
+
+pkg_setup() {
+
+ if kernel_is 2 4; then
+ die "${P} does not support building against kernel 2.4.x"
+ fi
+
+ # The wording below is checked for linux-2.6.14.4
+ CONFIG_CHECK="BT_SCO BT_HCIUSB_SCO SND_HWDEP"
+ ERROR_BT_SCO="BT_SCO is not set! \n\
+ Please select 'L2CAP protocol support' and 'SCO links support' under \n\
+ Networking|Bluetooth subsystem support|SCO links support"
+ ERROR_BT_HCIUSB_SCO="BT_HCIUSB_SCO is not set! \n\
+ Please select 'HCI USB driver' under \n\
+ Networking|Bluetooth subsystem support|Bluetooth device drivers|SCO (voice) support"
+ ERROR_SND_HWDEP="SND_HWDEP is not set! \n\
+ Please select a config like SND_USB_AUDIO or SND_EMU10K1; \n\
+ look under Device drivers|Sound|ALSA|PCI"
+
+ linux-mod_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ einfo "Patching ${S}/Makefile to use '${KV_DIR}'"
+ sed -i ${S}/Makefile -e "s,/lib/modules/\`uname -r\`/build,${KV_DIR},g" || die "Unable to patch Makefile"
+ epatch "${FILESDIR}"/btsco-0.41-kernel.patch
+}
diff --git a/net-wireless/btsco-kernel/bug_91558 b/net-wireless/btsco-kernel/bug_91558
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/net-wireless/btsco-kernel/bug_91558
diff --git a/net-wireless/btsco-kernel/files/btsco-0.41-kernel.patch b/net-wireless/btsco-kernel/files/btsco-0.41-kernel.patch
new file mode 100644
index 0000000..617ac37
--- /dev/null
+++ b/net-wireless/btsco-kernel/files/btsco-0.41-kernel.patch
@@ -0,0 +1,188 @@
+diff -Naur btsco-0.41.orig/kernel/btsco.c btsco-0.41/kernel/btsco.c
+--- btsco-0.41.orig/kernel/btsco.c 2005-09-03 23:06:58.000000000 +0400
++++ btsco-0.41/kernel/btsco.c 2008-01-10 15:01:54.000000000 +0300
+@@ -58,6 +58,7 @@
+ #include <net/bluetooth/bluetooth.h>
+
+ #include <sound/core.h>
++#include "typedefs.h"
+ #include <sound/control.h>
+ #include <sound/pcm.h>
+ #include <sound/rawmidi.h>
+diff -Naur btsco-0.41.orig/kernel/typedefs.h btsco-0.41/kernel/typedefs.h
+--- btsco-0.41.orig/kernel/typedefs.h 1970-01-01 03:00:00.000000000 +0300
++++ btsco-0.41/kernel/typedefs.h 2008-01-10 15:03:17.000000000 +0300
+@@ -0,0 +1,173 @@
++/*
++ * Typedef's for backward compatibility (for out-of-kernel drivers)
++ *
++ * This file will be removed soon in future
++ */
++
++/* core stuff */
++typedef struct snd_card snd_card_t;
++typedef struct snd_device snd_device_t;
++typedef struct snd_device_ops snd_device_ops_t;
++typedef enum snd_card_type snd_card_type_t;
++typedef struct snd_minor snd_minor_t;
++
++/* info */
++typedef struct snd_info_entry snd_info_entry_t;
++typedef struct snd_info_buffer snd_info_buffer_t;
++
++/* control */
++typedef struct snd_ctl_file snd_ctl_file_t;
++typedef struct snd_kcontrol snd_kcontrol_t;
++typedef struct snd_kcontrol_new snd_kcontrol_new_t;
++typedef struct snd_kcontrol_volatile snd_kcontrol_volatile_t;
++typedef struct snd_kctl_event snd_kctl_event_t;
++typedef struct snd_aes_iec958 snd_aes_iec958_t;
++typedef struct snd_ctl_card_info snd_ctl_card_info_t;
++typedef struct snd_ctl_elem_id snd_ctl_elem_id_t;
++typedef struct snd_ctl_elem_list snd_ctl_elem_list_t;
++typedef struct snd_ctl_elem_info snd_ctl_elem_info_t;
++typedef struct snd_ctl_elem_value snd_ctl_elem_value_t;
++typedef struct snd_ctl_event snd_ctl_event_t;
++#if defined(CONFIG_SND_MIXER_OSS) || defined(CONFIG_SND_MIXER_OSS_MODULE)
++typedef struct snd_mixer_oss snd_mixer_oss_t;
++#endif
++
++/* timer */
++typedef struct snd_timer snd_timer_t;
++typedef struct snd_timer_instance snd_timer_instance_t;
++typedef struct snd_timer_id snd_timer_id_t;
++typedef struct snd_timer_ginfo snd_timer_ginfo_t;
++typedef struct snd_timer_gparams snd_timer_gparams_t;
++typedef struct snd_timer_gstatus snd_timer_gstatus_t;
++typedef struct snd_timer_select snd_timer_select_t;
++typedef struct snd_timer_info snd_timer_info_t;
++typedef struct snd_timer_params snd_timer_params_t;
++typedef struct snd_timer_status snd_timer_status_t;
++typedef struct snd_timer_read snd_timer_read_t;
++typedef struct snd_timer_tread snd_timer_tread_t;
++
++/* PCM */
++typedef struct snd_pcm snd_pcm_t;
++typedef struct snd_pcm_str snd_pcm_str_t;
++typedef struct snd_pcm_substream snd_pcm_substream_t;
++typedef struct snd_pcm_info snd_pcm_info_t;
++typedef struct snd_pcm_hw_params snd_pcm_hw_params_t;
++typedef struct snd_pcm_sw_params snd_pcm_sw_params_t;
++typedef struct snd_pcm_channel_info snd_pcm_channel_info_t;
++typedef struct snd_pcm_status snd_pcm_status_t;
++typedef struct snd_pcm_mmap_status snd_pcm_mmap_status_t;
++typedef struct snd_pcm_mmap_control snd_pcm_mmap_control_t;
++typedef struct snd_mask snd_mask_t;
++typedef struct snd_sg_buf snd_pcm_sgbuf_t;
++
++typedef struct snd_interval snd_interval_t;
++typedef struct snd_xferi snd_xferi_t;
++typedef struct snd_xfern snd_xfern_t;
++typedef struct snd_xferv snd_xferv_t;
++
++typedef struct snd_pcm_file snd_pcm_file_t;
++typedef struct snd_pcm_runtime snd_pcm_runtime_t;
++typedef struct snd_pcm_hardware snd_pcm_hardware_t;
++typedef struct snd_pcm_ops snd_pcm_ops_t;
++typedef struct snd_pcm_hw_rule snd_pcm_hw_rule_t;
++typedef struct snd_pcm_hw_constraints snd_pcm_hw_constraints_t;
++typedef struct snd_ratnum ratnum_t;
++typedef struct snd_ratden ratden_t;
++typedef struct snd_pcm_hw_constraint_ratnums snd_pcm_hw_constraint_ratnums_t;
++typedef struct snd_pcm_hw_constraint_ratdens snd_pcm_hw_constraint_ratdens_t;
++typedef struct snd_pcm_hw_constraint_list snd_pcm_hw_constraint_list_t;
++typedef struct snd_pcm_group snd_pcm_group_t;
++typedef struct snd_pcm_notify snd_pcm_notify_t;
++
++/* rawmidi */
++typedef struct snd_rawmidi snd_rawmidi_t;
++typedef struct snd_rawmidi_info snd_rawmidi_info_t;
++typedef struct snd_rawmidi_params snd_rawmidi_params_t;
++typedef struct snd_rawmidi_status snd_rawmidi_status_t;
++typedef struct snd_rawmidi_runtime snd_rawmidi_runtime_t;
++typedef struct snd_rawmidi_substream snd_rawmidi_substream_t;
++typedef struct snd_rawmidi_str snd_rawmidi_str_t;
++typedef struct snd_rawmidi_ops snd_rawmidi_ops_t;
++typedef struct snd_rawmidi_global_ops snd_rawmidi_global_ops_t;
++typedef struct snd_rawmidi_file snd_rawmidi_file_t;
++
++/* hwdep */
++typedef struct snd_hwdep snd_hwdep_t;
++typedef struct snd_hwdep_info snd_hwdep_info_t;
++typedef struct snd_hwdep_dsp_status snd_hwdep_dsp_status_t;
++typedef struct snd_hwdep_dsp_image snd_hwdep_dsp_image_t;
++typedef struct snd_hwdep_ops snd_hwdep_ops_t;
++
++/* sequencer */
++typedef struct snd_seq_port_info snd_seq_port_info_t;
++typedef struct snd_seq_port_subscribe snd_seq_port_subscribe_t;
++typedef struct snd_seq_event snd_seq_event_t;
++typedef struct snd_seq_addr snd_seq_addr_t;
++typedef struct snd_seq_ev_volume snd_seq_ev_volume_t;
++typedef struct snd_seq_ev_loop snd_seq_ev_loop_t;
++typedef struct snd_seq_remove_events snd_seq_remove_events_t;
++typedef struct snd_seq_query_subs snd_seq_query_subs_t;
++typedef struct snd_seq_system_info snd_seq_system_info_t;
++typedef struct snd_seq_client_info snd_seq_client_info_t;
++typedef struct snd_seq_queue_info snd_seq_queue_info_t;
++typedef struct snd_seq_queue_status snd_seq_queue_status_t;
++typedef struct snd_seq_queue_tempo snd_seq_queue_tempo_t;
++typedef struct snd_seq_queue_owner snd_seq_queue_owner_t;
++typedef struct snd_seq_queue_timer snd_seq_queue_timer_t;
++typedef struct snd_seq_queue_client snd_seq_queue_client_t;
++typedef struct snd_seq_client_pool snd_seq_client_pool_t;
++typedef struct snd_seq_instr snd_seq_instr_t;
++typedef struct snd_seq_instr_data snd_seq_instr_data_t;
++typedef struct snd_seq_instr_header snd_seq_instr_header_t;
++
++typedef struct snd_seq_user_client user_client_t;
++typedef struct snd_seq_kernel_client kernel_client_t;
++typedef struct snd_seq_client client_t;
++typedef struct snd_seq_queue queue_t;
++
++/* seq_device */
++typedef struct snd_seq_device snd_seq_device_t;
++typedef struct snd_seq_dev_ops snd_seq_dev_ops_t;
++
++/* seq_midi */
++typedef struct snd_midi_event snd_midi_event_t;
++
++/* seq_midi_emul */
++typedef struct snd_midi_channel snd_midi_channel_t;
++typedef struct snd_midi_channel_set snd_midi_channel_set_t;
++typedef struct snd_midi_op snd_midi_op_t;
++
++/* seq_oss */
++typedef struct snd_seq_oss_arg snd_seq_oss_arg_t;
++typedef struct snd_seq_oss_callback snd_seq_oss_callback_t;
++typedef struct snd_seq_oss_reg snd_seq_oss_reg_t;
++
++/* virmidi */
++typedef struct snd_virmidi_dev snd_virmidi_dev_t;
++typedef struct snd_virmidi snd_virmidi_t;
++
++/* seq_instr */
++typedef struct snd_seq_kcluster snd_seq_kcluster_t;
++typedef struct snd_seq_kinstr_ops snd_seq_kinstr_ops_t;
++typedef struct snd_seq_kinstr snd_seq_kinstr_t;
++typedef struct snd_seq_kinstr_list snd_seq_kinstr_list_t;
++
++/* ac97 */
++typedef struct snd_ac97_bus ac97_bus_t;
++typedef struct snd_ac97_bus_ops ac97_bus_ops_t;
++typedef struct snd_ac97_template ac97_template_t;
++typedef struct snd_ac97 ac97_t;
++
++/* opl3/4 */
++typedef struct snd_opl3 opl3_t;
++typedef struct snd_opl4 opl4_t;
++
++/* mpu401 */
++typedef struct snd_mpu401 mpu401_t;
++
++/* i2c */
++typedef struct snd_i2c_device snd_i2c_device_t;
++typedef struct snd_i2c_bus snd_i2c_bus_t;
++
++typedef struct snd_ak4531 ak4531_t;
++
diff --git a/net-wireless/btsco-kernel/files/digest-btsco-kernel-0.41 b/net-wireless/btsco-kernel/files/digest-btsco-kernel-0.41
new file mode 100644
index 0000000..eca27a4
--- /dev/null
+++ b/net-wireless/btsco-kernel/files/digest-btsco-kernel-0.41
@@ -0,0 +1,3 @@
+MD5 111efb0f7092c92c4dd376eec96aa2e7 btsco-0.41.tar.gz 528364
+RMD160 4474925c1d64461290ec5d6fd4bb1fdeb32a8fa0 btsco-0.41.tar.gz 528364
+SHA256 47d206a511347f0762f4fe02c71d5b3a6122dcf3947947723cdde1d91ebad01b btsco-0.41.tar.gz 528364
diff --git a/net-wireless/btsco/Manifest b/net-wireless/btsco/Manifest
new file mode 100644
index 0000000..aab1183
--- /dev/null
+++ b/net-wireless/btsco/Manifest
@@ -0,0 +1,16 @@
+AUX rc.headset 1018 RMD160 f07b8e2f1ee91978387a3ff15140bc758733c87e SHA1 8c7e681fe3e23c17cab27c0c445339e5e633166e SHA256 3fc8401d69288f1b6c28491a5960c038041ea2bfa3d46418853ce27d919d781f
+MD5 f4dd6ba390aca08f13c690264b62889d files/rc.headset 1018
+RMD160 f07b8e2f1ee91978387a3ff15140bc758733c87e files/rc.headset 1018
+SHA256 3fc8401d69288f1b6c28491a5960c038041ea2bfa3d46418853ce27d919d781f files/rc.headset 1018
+DIST btsco-0.41.tar.gz 528364 RMD160 4474925c1d64461290ec5d6fd4bb1fdeb32a8fa0 SHA1 9c419f2eefd9e1ae423df99e98aae1e9fb2b6527 SHA256 47d206a511347f0762f4fe02c71d5b3a6122dcf3947947723cdde1d91ebad01b
+EBUILD btsco-0.41.ebuild 1561 RMD160 d6e51e77e7aaab6780022f5f5e433c96f2488243 SHA1 e6fe4c66684555e2595bce1e131684510159f65f SHA256 1420a6ed453d00b5cc96aed50d1d208162e47470fe29a9681b46595841f0a774
+MD5 a84c510b318de3855aad2823a876b1de btsco-0.41.ebuild 1561
+RMD160 d6e51e77e7aaab6780022f5f5e433c96f2488243 btsco-0.41.ebuild 1561
+SHA256 1420a6ed453d00b5cc96aed50d1d208162e47470fe29a9681b46595841f0a774 btsco-0.41.ebuild 1561
+MISC bug_91558 0 RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709 SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+MD5 d41d8cd98f00b204e9800998ecf8427e bug_91558 0
+RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 bug_91558 0
+SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 bug_91558 0
+MD5 2d097a219ae9f4d9b6f184a26453422a files/digest-btsco-0.41 232
+RMD160 05b85d78751061c00dca956ced6a449125ca9ff1 files/digest-btsco-0.41 232
+SHA256 1704f9ce103b9f01f60603b9f66f6fb5117d58576a8ee8362c477c99556a39b0 files/digest-btsco-0.41 232
diff --git a/net-wireless/btsco/btsco-0.41.ebuild b/net-wireless/btsco/btsco-0.41.ebuild
new file mode 100644
index 0000000..d29969e
--- /dev/null
+++ b/net-wireless/btsco/btsco-0.41.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit autotools
+
+SPKG="btsco"
+DESCRIPTION="A userspace daemon to send audio to a BT headset via ALSA"
+HOMEPAGE="http://bluetooth-alsa.sourceforge.net/"
+SRC_URI="mirror://sourceforge/bluetooth-alsa/${SPKG}-${PV}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~x86"
+IUSE="alsa ao skype"
+
+RDEPEND=">=net-wireless/bluez-utils-2.19
+ alsa? ( media-sound/alsa-utils )
+ ao? ( >=media-libs/libao-0.8.5 )
+ skype? ( net-im/skype
+ sys-apps/dbus )
+ >=net-wireless/btsco-kernel-${PV}"
+
+DEPEND="sys-apps/gawk
+ ${RDEPEND}"
+
+S=${WORKDIR}/${SPKG}-${PV}
+MY_S_SKYPE=${S}/contrib/skype_bt_hijacker
+MY_D_SKYPE=/usr/libexec/${PN}
+
+src_compile() {
+ local myconf
+
+ export WANT_AUTOMAKE="1.9.6"
+ eautoreconf || die "autotools failed"
+
+ econf \
+ $(use_enable alsa alsaplugin) \
+ $(use_enable ao ) || die "econf failed"
+ emake || die "emake failed"
+
+ if use skype; then
+ cd ${MY_S_SKYPE}
+ emake || die "emake failed"
+ fi
+}
+
+src_install() {
+ cd ${S}
+ make install DESTDIR="${D}" || die "make install failed"
+
+ dobin btsco btsco2 a2play a2recv avrecv avsnd \
+ sbc/rcplay sbc/sbcdec sbc/sbcenc sbc/sbcinfo
+
+ dodoc AUTHORS COPYING* ChangeLog NEWS README
+
+ use ao && dobin sbc/sbcdec_ao
+ use alsa && newdoc bt/BUILD README.alsaplugin
+
+ if use skype; then
+ cd ${MY_S_SKYPE}
+ dodir ${MY_D_SKYPE}
+
+ make install PREFIX=${D}/${MY_D_SKYPE}
+ dosym ${MY_D_SKYPE}/skype_bt_hijacker /usr/bin
+
+ docinto Skype
+ dodoc ${MY_S_SKYPE}/README ${MY_S_SKYPE}/ChangeLog
+ fi
+}
diff --git a/net-wireless/btsco/bug_91558 b/net-wireless/btsco/bug_91558
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/net-wireless/btsco/bug_91558
diff --git a/net-wireless/btsco/files/digest-btsco-0.41 b/net-wireless/btsco/files/digest-btsco-0.41
new file mode 100644
index 0000000..eca27a4
--- /dev/null
+++ b/net-wireless/btsco/files/digest-btsco-0.41
@@ -0,0 +1,3 @@
+MD5 111efb0f7092c92c4dd376eec96aa2e7 btsco-0.41.tar.gz 528364
+RMD160 4474925c1d64461290ec5d6fd4bb1fdeb32a8fa0 btsco-0.41.tar.gz 528364
+SHA256 47d206a511347f0762f4fe02c71d5b3a6122dcf3947947723cdde1d91ebad01b btsco-0.41.tar.gz 528364
diff --git a/net-wireless/btsco/files/rc.headset b/net-wireless/btsco/files/rc.headset
new file mode 100644
index 0000000..db275e6
--- /dev/null
+++ b/net-wireless/btsco/files/rc.headset
@@ -0,0 +1,48 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+depend() {
+ need bluetooth alsasound
+}
+
+checkconfig() {
+ # check that the configuration file has been configured.
+ if [ -z "$BDADDR" ]; then
+ eerror "You should setup BDADDR in /etc/conf.d/headset."
+ return 1
+ fi
+
+ # define BTSCO in /etc/conf.d/headset to be btsco or btsco2
+ # defaults to btsco
+ if [ -z "$BTSCO" ]; then
+ BTSCO=btsco
+ fi
+
+ if ! [ -d /sys/module/snd_bt_sco ]; then
+ ebegin "Loading bluetooth-alsa kernel module (snd_bt_sco)."
+ /sbin/modprobe snd-bt-sco
+ eend $? || return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Connecting to headset"
+ start-stop-daemon --start \
+ --make-pidfile --pidfile /var/run/$BTSCO \
+ --background --exec /usr/bin/$BTSCO -- $BDADDR
+ sleep 1
+ ps -C $BTSCO >/dev/null
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping $BTSCO daemon"
+ start-stop-daemon --stop --quiet --pidfile /var/run/$BTSCO
+ eend ${?}
+
+}
+