diff --git a/net-wireless/compat-wireless/Manifest b/net-wireless/compat-wireless/Manifest index 3413ab93b..a8bfb4462 100644 --- a/net-wireless/compat-wireless/Manifest +++ b/net-wireless/compat-wireless/Manifest @@ -44,6 +44,7 @@ DIST compat-wireless-2.6.35-1.tar.bz2 2548928 RMD160 646c93e01ddd4dbfde402b00588 DIST compat-wireless-2.6.36-5-spn.tar.bz2 2664927 RMD160 f45b6e106c024366b7a064f3571254d515b7ab6c SHA1 e2391cc37d762dab146c2e067534f3f20eb4469f SHA256 da4362445405bf7de55947b79ee72a3a9c56cf4a91e3eef74f7896aad59b02df DIST compat-wireless-2.6.37-3-sn.tar.bz2 3897162 RMD160 c0dbbca7860d04b304edd23b4fe6e1ab272fe9a6 SHA1 f244fa2f442a67fc02a52301b9c6d1572cb67ea0 SHA256 c6dec8415d4c0fc6a4297028dfcdd1f8738ea3a295b3089c3d4cd30b9499b708 DIST compat-wireless-2.6.37-4-sn.tar.bz2 3874734 RMD160 86cce3f4f6e21cb00a2e1c3d18faf0aac345c43b SHA1 54b8d777287fdcc7a716d71cfb21884f1ae07157 SHA256 95bbc94885bfbccb50d42b4d677f1f1442713fc5db08905aaa05e2955b34b133 +DIST compat-wireless-2.6.38-3-ns.tar.bz2 4055637 RMD160 ce9a5bc3d359031c7aa984bcb6162b505c18129b SHA1 305e5c7e24246d082f88ffa1c7ad219db1138058 SHA256 e5cb02cd46e9f070e9ddaa17cd29bf6c9d839fd1b0e5771932753da6b5c73f54 DIST compat-wireless-2.6.38-rc3-3-s.tar.bz2 4034978 RMD160 b9632ec15169eb957cbb984326c0ae4c4dade27e SHA1 367c5d99a20fbd54561bd1b0b79b41c3a3393fa9 SHA256 2a9446f60819f70dbf54bf373ea32931d9622430f72f2f2eb81b0e456221ccb6 DIST compat-wireless-2.6.38-rc4-1.tar.bz2 4032335 RMD160 4a3de80038fd64e696d7be6d952e3794c39774ab SHA1 5355ee660ba607ac08c78647765c2ed50ee5560c SHA256 24726b8d635a21f1f462ae0f03f4414ac897f550c0dbf6ac826f3858e2d2c90d DIST compat-wireless-2.6.38-rc7-2-s.tar.bz2 4034273 RMD160 37fcc16bc07703f50cf564be3896b7107b91b8d3 SHA1 8e6ba3bcb86ce3c4b20dc9dd7a2b9ca3e99ea48d SHA256 ec5b498417f6b5b7d3f705422d0b34895b43286c32b184cf04f5e2f4bb3ee041 @@ -57,6 +58,7 @@ EBUILD compat-wireless-2.6.37-r4.ebuild 5435 RMD160 f21a0918f32a430cb99c8b429e21 EBUILD compat-wireless-2.6.37-r5.ebuild 5534 RMD160 fdd01b6a756cb21e0f6408e95b52d75ebeca8a71 SHA1 75689d48d080e8ce8432f3b0e8b5df797d4ce2f6 SHA256 bbdeca31156efb5333f407e66c9b737e42415dfa884b6b0bd167068d1f1d60fd EBUILD compat-wireless-2.6.37-r6.ebuild 5542 RMD160 9558974e2d750b6594d903caa227c56b5762f722 SHA1 fa6490334a162883a1f0fb708d8f6576eadd1cdd SHA256 0c24ace6b56c30d905e950b874edd434406b2faf0a454f26157a3db56bc643c5 EBUILD compat-wireless-2.6.37-r7.ebuild 5443 RMD160 629fefa357220ebbad14d4f42979072a6ced87cc SHA1 7cd2e349de253e0f62abbe6c11bbfdc1558877e7 SHA256 f08fb77d9972331aae217e050e034e3bfd17d933c5eb22a272d05c7022f70462 +EBUILD compat-wireless-2.6.38.ebuild 5352 RMD160 971f20329bdadb5da70f2d2bbbab04741b77829f SHA1 4b69560d62a908cf6f78f410f299606e7428b506 SHA256 21f04515b3fdfa4a447c3b25e2488741d0e7acd5152e2d87e383d2c5ffca0cba EBUILD compat-wireless-2.6.38_rc3.ebuild 5450 RMD160 30e78a91d8e3c4776c6cd902946592ab70491505 SHA1 551d0f1472c848449b896501f962831c4c6775bf SHA256 ff87237ddfbe9fa8e63bf6a8246e9571a5a6968188836081187d5f7d4ebeb9f2 EBUILD compat-wireless-2.6.38_rc4-r1.ebuild 5349 RMD160 2ccaeb99fe47f9b527d9d7b4949a3831caa9b640 SHA1 8fee93c3cf4fdb18349cac78acdfd0136f5ed720 SHA256 b03cac334cf31f3fa18d84f4c56f317e733c8dd18bc2f1cc42ef8410b5b21ccf EBUILD compat-wireless-2.6.38_rc4.ebuild 5448 RMD160 d253bc91cba5f4535169d65e602e6ba5d43aa091 SHA1 d2897d3b7e9610087f3df6f3bf681e80073219b6 SHA256 805518c25ea42d3ad8d5111e1d7e9c7b453754eaed453f277bda7580cc92d8b9 diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.38.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.38.ebuild new file mode 100644 index 000000000..51e4dfa77 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-2.6.38.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +inherit linux-mod linux-info versionator eutils + +##Stable + +MY_P=${P/_rc/-rc} + +MY_PV=v$(get_version_component_range 1-3) +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" +CRAZY_VERSIONING="3-ns" +SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~arm ~amd64 ~x86" +IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride" + +DEPEND="" +RDEPEND="=sys-kernel/linux-firmware-99999999" + +S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING} +RESTRICT="strip" + +CONFIG_CHECK="!DYNAMIC_FTRACE" + +pkg_setup() { + linux-mod_pkg_setup + kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required for compat wireless to be installed" + kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system." + if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then + if use tinyversionoverride; then + ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your" + ewarn "kernel is older than the compat-wireless you are installing." + ewarn "Most likely you have no clue what you are doing and should hit control-C now" + ewarn "before you downgrade your system. Ten seconds to think about it." + epause 10 + else + ewarn "Your kernel version is most likely newer than the compat-wireless release you are" + ewarn "trying to install. If you are certain that your kernel is older then you can set" + ewarn "the tinyversionoverride use flag to override this safety check." + epause 5 + die "Your kernel version is too close to the compat-wireless version to risk installation." + fi + fi + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" +} + +src_prepare() { + #this patch fixes a trivial typo in the config.mk + epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch + + #this patch is needed to forcibly enable new ralink chips because the shipped config.mk doesn't enable them + epatch "${FILESDIR}"/force-enable-new-ralink-2.6.38_rc3.patch + + #this may or may not HELP the channel -1 issue. this is not a fix + epatch "${FILESDIR}"/channel-negative-one-maxim.patch + + #this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right + if use atheros_obey_crda; then + ewarn "You have enabled atheros_obey_crda which doesn't do what you think." + ewarn "This use flag will cause the eeprom of the card to be ignored and force" + ewarn "world roaming on the device until crda provides a valid regdomain." + ewarn "Short version, this is not a way to break the law, this will automatically" + ewarn "make your card less functional unless you set a proper regdomain with iw/crda." + ewarn "Pausing for 10 secs..." + epause 10 + epatch "${FILESDIR}"/ath_ignore_eeprom.patch + fi + + if use injection; then + epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch + epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch + epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch + epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch +# epatch "${FILESDIR}"/compat-chaos.patch +# epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch +# epatch "${FILESDIR}"/super_secret_patch.diff + epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch + fi + use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch + use debug-driver && epatch "${FILESDIR}"/driver-debug.patch + use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk + if use full-debug; then + if use debug-driver ; then + sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk + else + ewarn "Enabling full-debug includes debug-driver." + sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk + fi + fi +} + +src_compile() { + addpredict "${KERNEL_DIR}" + set_arch_to_kernel + emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || die "emake failed" +} + +src_install() { + for file in $(find -name \*.ko); do + insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + doins "${file}" || die "failed to install module ${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable \ + scripts/madwifi-unload scripts/athload scripts/iwl-load \ + scripts/b43enable scripts/unload.sh || die "script installation failed" + + dodir /usr/lib/compat-wireless + exeinto /usr/lib/compat-wireless + doexe scripts/modlib.sh || die + + dodoc README || die + dodir /$(get_libdir)/udev/rules.d/ + insinto /$(get_libdir)/udev/rules.d/ + doins udev/50-compat_firmware.rules + exeinto /$(get_libdir)/udev/ + doexe udev/compat_firmware.sh +} + +pkg_postinst() { + update_depmod + update_moduledb + einfo 'You may have problem if you do not run "depmod -ae" after this installation' + einfo 'To switch to the new drivers without reboot run unload.sh then load + your needed driver.' +} + +pkg_postrm() { + remove_moduledb +}