summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
l---------app-admin/ulogd/files140
-rw-r--r--app-emulation/wine/files/adding-pulseaudio-to-winecfg.patch289
-rw-r--r--app-emulation/wine/files/wine-0.9.51-valgrind.patch56
-rw-r--r--app-emulation/wine/files/wine-1.0_rc3-openssl.patch81
-rw-r--r--app-emulation/wine/files/wine-1.1.4-install-fix.patch22
-rw-r--r--app-emulation/wine/files/wine-gentoo-no-ssp.patch16
-rw-r--r--app-emulation/wine/files/wined3d.diff84
-rw-r--r--app-emulation/wine/files/winepulse-0.17-configure.ac.patch54
-rw-r--r--app-emulation/wine/files/winepulse-0.28.patch2725
-rw-r--r--app-misc/mc/files/chdir-4.6.0.gentoo11
-rw-r--r--app-misc/mc/files/ebuild.syntax87
-rw-r--r--app-misc/mc/files/mc-4.6.0-7zip.patch25
-rw-r--r--app-misc/mc/files/mc-4.6.0-ebuild-syntax.patch12
-rw-r--r--app-misc/mc/files/mc-4.6.1-bash-all.patch33
-rw-r--r--app-misc/mc/files/mc-4.6.1-charset-locale-aliases.patch40
-rw-r--r--app-misc/mc/files/mc-4.6.1-find.patch155
-rw-r--r--app-misc/mc/files/mc-4.6.1-invalid-mtime.patch30
-rw-r--r--app-misc/mc/files/mc-4.6.1-largefile.patch194
-rw-r--r--app-misc/mc/files/mc-4.6.1-nonblock.patch11
-rw-r--r--app-misc/mc/files/mc.gentoo16
-rw-r--r--app-misc/mc/files/mc.ini2
-rw-r--r--dev-cpp/commoncpp2/commoncpp2-1.6.2.ebuild73
l---------dev-cpp/commoncpp2/files/1.6.1-gcc42_atomicity.patch138
l---------dev-cpp/commoncpp2/files/1.6.2-autoconf.patch138
-rw-r--r--dev-cpp/commoncpp2/files/1.6.2-configure_detect_netfilter.patch12
l---------dev-libs/glib/files130
-rw-r--r--dev-libs/ptlib/files/ptlib-2.4.1-instplugins.diff27
-rw-r--r--dev-libs/ptlib/files/ptlib-asm.patch15
-rw-r--r--dev-libs/ptlib/ptlib-2.4.5.ebuild98
-rw-r--r--dev-libs/ptlib/ptlib-2.6.4.ebuild103
-rw-r--r--dev-libs/ptlib/ptlib-9999.ebuild108
-rw-r--r--games-emulation/epsxe/files/epsxe72
-rw-r--r--games-emulation/gens/files/gens-2.12b-gcc4.patch37
-rw-r--r--games-emulation/gens/files/gens-2.12b-romsdir.patch13
-rw-r--r--games-emulation/gens/files/gens-rc3_to_mythgame.patch674
-rw-r--r--games-emulation/gens/gens-2.12b.ebuild49
l---------games-rpg/tmw/files142
l---------kde-misc/tork/files148
l---------media-sound/mpd/files120
-rw-r--r--media-sound/musepack-tools/files/musepack-tools-1.15v-Makefile-esd.patch15
-rw-r--r--media-sound/musepack-tools/files/musepack-tools-1.15v-Makefile.patch23
-rw-r--r--media-sound/musepack-tools/files/musepack-tools-1.15v-execstack.patch44
-rw-r--r--media-sound/musepack-tools/files/musepack-tools-1.15v-fbsd.patch13
-rw-r--r--media-sound/musepack-tools/files/musepack-tools-1.15v-gcc4.patch11
l---------media-video/vlc/files124
-rw-r--r--net-analyzer/libnasl/files/digest-libnasl-2.2.103
-rw-r--r--net-analyzer/nessus-core/files/digest-nessus-core-2.2.103
-rw-r--r--net-analyzer/nessus-core/files/nessus-core-2.3.1-gcc4.diff11
-rw-r--r--net-analyzer/nessus-core/files/nessusd-r726
-rw-r--r--net-analyzer/nessus-core/files/nessusd-r826
-rw-r--r--net-analyzer/nessus-libraries/files/digest-nessus-libraries-2.2.103
-rw-r--r--net-analyzer/nessus-libraries/files/nessus-libraries-2.3.1-ldflags.patch25
-rw-r--r--net-analyzer/nessus-plugins/files/digest-nessus-plugins-2.2.103
-rw-r--r--net-analyzer/nessus/files/digest-nessus-2.2.100
l---------net-analyzer/snort/files136
l---------net-analyzer/wireshark/files124
-rw-r--r--net-ftp/proftpd/Manifest9
-rw-r--r--net-ftp/proftpd/files/proftpd-1.3.2_rc1-bug218850.patch12
-rw-r--r--net-ftp/proftpd/proftpd-1.3.1.ebuild254
-rw-r--r--net-ftp/proftpd/proftpd-1.3.2_rc1.ebuild251
l---------net-im/centerim/files144
-rw-r--r--net-libs/opal/files/opal-lpcini.patch11
l---------sys-fs/e2fsprogs/files154
l---------www-apps/trac/files146
-rw-r--r--www-apps/trac/trac-0.11.4.ebuild108
l---------x11-libs/cairo/files132
l---------x11-libs/gtk+/files154
l---------x11-libs/pango/files152
-rw-r--r--x11-libs/pixman/files/pixman-0.12.0-sse.patch14
69 files changed, 13 insertions, 8298 deletions
diff --git a/app-admin/ulogd/files b/app-admin/ulogd/files
index d3d5cb1..97c8fd0 120000
--- a/app-admin/ulogd/files
+++ b/app-admin/ulogd/files
@@ -1,139 +1 @@
-/var/paludis/repositories/gentoo/app-admin/ulogd/filesunder the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/ulogd/ulogd-2.0.0_beta2.ebuild,v 1.2 2009/02/09 09:36:03 angelos Exp $
-
-EAPI="1"
-
-MY_P=${P/_/}
-S="${WORKDIR}/${MY_P}"
-
-DESCRIPTION="A userspace logging daemon for netfilter/iptables related logging"
-HOMEPAGE="http://netfilter.org/projects/ulogd/index.html"
-SRC_URI="http://ftp.netfilter.org/pub/${PN}/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="mysql postgres sqlite3 pcap doc"
-
-RDEPEND="net-firewall/iptables
- net-libs/libnfnetlink
- net-libs/libnetfilter_log
- net-libs/libnetfilter_conntrack
- mysql? ( virtual/mysql )
- postgres? ( virtual/postgresql-server )
- sqlite3? ( dev-db/sqlite:3 )
- pcap? ( net-libs/libpcap )"
-
-DEPEND="${RDEPEND}
- sys-devel/autoconf:2.5
- doc? (
- app-text/linuxdoc-tools
- app-text/texlive-core
- )"
-
-src_compile() {
- econf \
- $(use_with mysql) \
- $(use_with postgres pgsql) \
- $(use_with sqlite3) \
- $(use_with pcap)
-
- emake || die "emake failed"
-
- if use doc ; then
- # build extra documentation files (.ps, .txt, .html, .dvi)
- emake -C doc || die "emake for docs failed"
- fi
-}
-
-src_install() {
- emake install DESTDIR="${D}" || die "emake install failed"
-
- doinitd "${FILESDIR}"/ulogd || die "doinitd failed"
-
- insinto /etc
- doins ulogd.conf || die "ulogd.conf installation failed"
-
- dodoc AUTHORS README
-
- if use doc ; then
- dohtml doc/ulogd.html
- dodoc doc/ulogd.dvi
- dodoc doc/ulogd.txt
- dodoc doc/ulogd.ps
- fi
-
- use mysql && dodoc doc/mysql-ulogd2.sql
- use postgres && dodoc doc/pgsql-ulogd2.sql
- use sqlite3 && dodoc doc/sqlite3.table
-
- # install logrotate config
- insinto /etc/logrotate.d
- newins ulogd.logrotate ulogd || die "logrotate config failed"
-
- doman ulogd.8 || die
-}
-
- # install logrotate config
- insinto /etc/logrotate.d
- newins ulogd.logrotate ulogd || die "logrotate config failed"
-
- doman ulogd.8 || die
-}
-e="MPD_NO_IPV6=noipv6"
- fi
- local myconf
- myconf="--enable-proc-uptime"
- if useq X; then
- myconf="${myconf} --enable-x11 --enable-double-buffer --enable-xdamage --enable-own-window"
- myconf="${myconf} $(use_enable truetype xft)"
- else
- myconf="${myconf} --disable-x11 --disable-double-buffer --disable-xdamage --disable-own-window"
- myconf="${myconf} --disable-xft"
- fi
- econf \
- ${myconf} \
- $(use_enable audacious) \
- $(use_enable bmpx) \
- $(use_enable debug) \
- $(use_enable hddtemp ) \
- $(use_enable moc) \
- $(use_enable mpd) \
- $(use_enable nvidia) \
- $(use_enable rss) \
- $(use_enable smapi) \
- $(use_enable wifi wlan) \
- $(use_enable !ipv6 portmon) || die "econf failed"
- emake ${mymake} || die "compile failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "make install failed"
- dodoc ChangeLog AUTHORS README
- dohtml doc/docs.html doc/config_settings.html doc/variables.html
-
- if use vim-syntax; then
- insinto /usr/share/vim/vimfiles/ftdetect
- doins "${S}"/extras/vim/ftdetect/conkyrc.vim
-
- insinto /usr/share/vim/vimfiles/syntax
- doins "${S}"/extras/vim/syntax/conkyrc.vim
- fi
-
- if use nano-syntax; then
- insinto /usr/share/nano/
- doins "${S}"/extras/nano/conky.nanorc
- fi
-}
-
-pkg_postinst() {
- elog "You can find the sample configuration file at"
- elog "/etc/conky/conky.conf. To customize it, copy"
- elog "/etc/conky/conky.conf to ~/.conkyrc and edit"
- elog "it to your liking."
- elog
- elog "For more info on Conky's new features,"
- elog "please look at the README and ChangeLog:"
- elog "/usr/share/doc/${PF}/README.bz2"
- elog "/usr/share/doc/${PF}/ChangeLog.bz2"
- elog "There are also pretty p \ No newline at end of file
+/usr/portage/app-admin/ulogd/files \ No newline at end of file
diff --git a/app-emulation/wine/files/adding-pulseaudio-to-winecfg.patch b/app-emulation/wine/files/adding-pulseaudio-to-winecfg.patch
deleted file mode 100644
index f8770eb..0000000
--- a/app-emulation/wine/files/adding-pulseaudio-to-winecfg.patch
+++ /dev/null
@@ -1,289 +0,0 @@
-diff --git a/programs/winecfg/Bg.rc b/programs/winecfg/Bg.rc
-index 8861657..cf91012 100644
---- a/programs/winecfg/Bg.rc
-+++ b/programs/winecfg/Bg.rc
-@@ -274,6 +274,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standard"
- IDS_ACCEL_BASIC "Basic"
- IDS_ACCEL_EMULATION "Emulation"
-+ IDS_DRIVER_PULSE "PulseAudio Driver"
- IDS_DRIVER_ALSA "ALSA Driver"
- IDS_DRIVER_ESOUND "EsounD Driver"
- IDS_DRIVER_OSS "OSS Driver"
-diff --git a/programs/winecfg/Cs.rc b/programs/winecfg/Cs.rc
-index 07f035f..8897237 100644
---- a/programs/winecfg/Cs.rc
-+++ b/programs/winecfg/Cs.rc
-@@ -273,6 +273,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standardní"
- IDS_ACCEL_BASIC "Základní"
- IDS_ACCEL_EMULATION "Emulace"
-+ IDS_DRIVER_PULSE "Ovladaè PulseAudio"
- IDS_DRIVER_ALSA "Ovladaè ALSA"
- IDS_DRIVER_ESOUND "Ovladaè EsounD"
- IDS_DRIVER_OSS "Ovladaè OSS"
-diff --git a/programs/winecfg/Da.rc b/programs/winecfg/Da.rc
-index 1d655ad..a1c9653 100644
---- a/programs/winecfg/Da.rc
-+++ b/programs/winecfg/Da.rc
-@@ -268,6 +268,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standard"
- IDS_ACCEL_BASIC "Grundlæggende"
- IDS_ACCEL_EMULATION "Emuléring"
-+ IDS_DRIVER_PULSE "PulseAudio-driver"
- IDS_DRIVER_ALSA "ALSA-driver"
- IDS_DRIVER_ESOUND "EsounD-driver"
- IDS_DRIVER_OSS "OSS-driver"
-diff --git a/programs/winecfg/De.rc b/programs/winecfg/De.rc
-index 9ed3d63..614247b 100644
---- a/programs/winecfg/De.rc
-+++ b/programs/winecfg/De.rc
-@@ -268,6 +268,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standard"
- IDS_ACCEL_BASIC "Einfach"
- IDS_ACCEL_EMULATION "Emulation"
-+ IDS_DRIVER_PULSE "PulseAudio-Treiber"
- IDS_DRIVER_ALSA "ALSA-Treiber"
- IDS_DRIVER_ESOUND "EsounD-Treiber"
- IDS_DRIVER_OSS "OSS-Treiber"
-diff --git a/programs/winecfg/En.rc b/programs/winecfg/En.rc
-index 5743ba3..b165a81 100644
---- a/programs/winecfg/En.rc
-+++ b/programs/winecfg/En.rc
-@@ -270,6 +270,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standard"
- IDS_ACCEL_BASIC "Basic"
- IDS_ACCEL_EMULATION "Emulation"
-+ IDS_DRIVER_PULSE "PulseAudio Driver"
- IDS_DRIVER_ALSA "ALSA Driver"
- IDS_DRIVER_ESOUND "EsounD Driver"
- IDS_DRIVER_OSS "OSS Driver"
-diff --git a/programs/winecfg/Es.rc b/programs/winecfg/Es.rc
-index 440ea71..dd1b764 100644
---- a/programs/winecfg/Es.rc
-+++ b/programs/winecfg/Es.rc
-@@ -268,6 +268,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Estándar"
- IDS_ACCEL_BASIC "Básica"
- IDS_ACCEL_EMULATION "Emulación"
-+ IDS_DRIVER_PULSE "Manejador PulseAudio"
- IDS_DRIVER_ALSA "Manejador ALSA"
- IDS_DRIVER_ESOUND "Manejador EsounD"
- IDS_DRIVER_OSS "Manejador OSS"
-diff --git a/programs/winecfg/Fi.rc b/programs/winecfg/Fi.rc
-index 1d761f8..e1b1583 100644
---- a/programs/winecfg/Fi.rc
-+++ b/programs/winecfg/Fi.rc
-@@ -268,6 +268,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standard"
- IDS_ACCEL_BASIC "Basic"
- IDS_ACCEL_EMULATION "Emulation"
-+ IDS_DRIVER_PULSE "PulseAudio Driver"
- IDS_DRIVER_ALSA "ALSA Driver"
- IDS_DRIVER_ESOUND "EsounD Driver"
- IDS_DRIVER_OSS "OSS Driver"
-diff --git a/programs/winecfg/Fr.rc b/programs/winecfg/Fr.rc
-index 818c50f..97a1f44 100644
---- a/programs/winecfg/Fr.rc
-+++ b/programs/winecfg/Fr.rc
-@@ -268,6 +268,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standard"
- IDS_ACCEL_BASIC "Basique"
- IDS_ACCEL_EMULATION "Émulation"
-+ IDS_DRIVER_PULSE "Pilote PulseAudio"
- IDS_DRIVER_ALSA "Pilote ALSA"
- IDS_DRIVER_ESOUND "Pilote EsounD"
- IDS_DRIVER_OSS "Pilote OSS"
-diff --git a/programs/winecfg/Hu.rc b/programs/winecfg/Hu.rc
-index 5afbf91..4131f5f 100644
---- a/programs/winecfg/Hu.rc
-+++ b/programs/winecfg/Hu.rc
-@@ -268,6 +268,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standard"
- IDS_ACCEL_BASIC "Basic"
- IDS_ACCEL_EMULATION "Emulation"
-+ IDS_DRIVER_PULSE "PulseAudio Driver"
- IDS_DRIVER_ALSA "ALSA Driver"
- IDS_DRIVER_ESOUND "EsounD Driver"
- IDS_DRIVER_OSS "OSS Driver"
-diff --git a/programs/winecfg/Ja.rc b/programs/winecfg/Ja.rc
-index 8eaa603..543ed2c 100644
---- a/programs/winecfg/Ja.rc
-+++ b/programs/winecfg/Ja.rc
-@@ -273,6 +273,7 @@ BEGIN
- IDS_ACCEL_STANDARD "標準"
- IDS_ACCEL_BASIC "基本"
- IDS_ACCEL_EMULATION "エミュレーション"
-+ IDS_DRIVER_PULSE "PulseAudio Driver"
- IDS_DRIVER_ALSA "ALSA Driver"
- IDS_DRIVER_ESOUND "EsounD Driver"
- IDS_DRIVER_OSS "OSS Driver"
-diff --git a/programs/winecfg/Ko.rc b/programs/winecfg/Ko.rc
-index ca94b5b..a79cc03 100644
---- a/programs/winecfg/Ko.rc
-+++ b/programs/winecfg/Ko.rc
-@@ -272,6 +272,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Ç¥ÁØ"
- IDS_ACCEL_BASIC "񃧯"
- IDS_ACCEL_EMULATION "¾Ö¹Ä·¹À̼Ç"
-+ IDS_DRIVER_PULSE "PulseAudio µå¶óÀ̹ö"
- IDS_DRIVER_ALSA "ALSA µå¶óÀ̹ö"
- IDS_DRIVER_ESOUND "EsounD µå¶óÀ̹ö"
- IDS_DRIVER_OSS "OSS µå¶óÀ̹ö"
-diff --git a/programs/winecfg/Nl.rc b/programs/winecfg/Nl.rc
-index fb91290..b23e919 100644
---- a/programs/winecfg/Nl.rc
-+++ b/programs/winecfg/Nl.rc
-@@ -270,6 +270,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standaard"
- IDS_ACCEL_BASIC "Eenvoudig"
- IDS_ACCEL_EMULATION "Emulatie"
-+ IDS_DRIVER_PULSE "PulseAudio Stuurprogramma"
- IDS_DRIVER_ALSA "ALSA Stuurprogramma"
- IDS_DRIVER_ESOUND "EsounD Stuurprogramma"
- IDS_DRIVER_OSS "OSS Stuurprogramma"
-diff --git a/programs/winecfg/No.rc b/programs/winecfg/No.rc
-index aaa64c3..9dd3572 100644
---- a/programs/winecfg/No.rc
-+++ b/programs/winecfg/No.rc
-@@ -268,6 +268,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standard"
- IDS_ACCEL_BASIC "Grunnleggende"
- IDS_ACCEL_EMULATION "Emulering"
-+ IDS_DRIVER_PULSE "PulseAudio-driver"
- IDS_DRIVER_ALSA "ALSA-driver"
- IDS_DRIVER_ESOUND "EsounD-driver"
- IDS_DRIVER_OSS "OSS-driver"
-diff --git a/programs/winecfg/Pl.rc b/programs/winecfg/Pl.rc
-index c426443..e3bf093 100644
---- a/programs/winecfg/Pl.rc
-+++ b/programs/winecfg/Pl.rc
-@@ -271,6 +271,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standardowe"
- IDS_ACCEL_BASIC "Podstawowe"
- IDS_ACCEL_EMULATION "Emulacja"
-+ IDS_DRIVER_PULSE "Sterownik PulseAudio"
- IDS_DRIVER_ALSA "Sterownik ALSA"
- IDS_DRIVER_ESOUND "Sterownik EsounD"
- IDS_DRIVER_OSS "Sterownik OSS"
-diff --git a/programs/winecfg/Pt.rc b/programs/winecfg/Pt.rc
-index 830cabf..0ed1dbd 100644
---- a/programs/winecfg/Pt.rc
-+++ b/programs/winecfg/Pt.rc
-@@ -465,6 +465,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Padrão"
- IDS_ACCEL_BASIC "Básico"
- IDS_ACCEL_EMULATION "Emulação"
-+ IDS_DRIVER_PULSE "Controlador PulseAudio"
- IDS_DRIVER_ALSA "Controlador ALSA"
- IDS_DRIVER_ESOUND "Controlador EsounD"
- IDS_DRIVER_OSS "Controlador OSS"
-diff --git a/programs/winecfg/Ro.rc b/programs/winecfg/Ro.rc
-index a4b0cad..c065d36 100644
---- a/programs/winecfg/Ro.rc
-+++ b/programs/winecfg/Ro.rc
-@@ -270,6 +270,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standard"
- IDS_ACCEL_BASIC "De basă"
- IDS_ACCEL_EMULATION "Emulare"
-+ IDS_DRIVER_PULSE "Driver PulseAudio"
- IDS_DRIVER_ALSA "Driver ALSA"
- IDS_DRIVER_ESOUND "Driver Esound"
- IDS_DRIVER_OSS "Driver OSS"
-diff --git a/programs/winecfg/Ru.rc b/programs/winecfg/Ru.rc
-index 782e1fd..f516399 100644
---- a/programs/winecfg/Ru.rc
-+++ b/programs/winecfg/Ru.rc
-@@ -272,6 +272,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Ñòàíäàðòíîå"
- IDS_ACCEL_BASIC "Ìèíèìàëüíîå"
- IDS_ACCEL_EMULATION "Ýìóëÿöèÿ"
-+ IDS_DRIVER_PULSE "PulseAudio äðàéâåð"
- IDS_DRIVER_ALSA "ALSA äðàéâåð"
- IDS_DRIVER_ESOUND "EsounD äðàéâåð"
- IDS_DRIVER_OSS "OSS äðàéâåð"
-diff --git a/programs/winecfg/Si.rc b/programs/winecfg/Si.rc
-index 0bd04ef..c8bd35e 100644
---- a/programs/winecfg/Si.rc
-+++ b/programs/winecfg/Si.rc
-@@ -270,6 +270,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standardno"
- IDS_ACCEL_BASIC "Osnovno"
- IDS_ACCEL_EMULATION "Emulacija"
-+ IDS_DRIVER_PULSE "PulseAudio gonilnik"
- IDS_DRIVER_ALSA "ALSA gonilnik"
- IDS_DRIVER_ESOUND "EsounD gonilnik"
- IDS_DRIVER_OSS "OSS gonilnik"
-diff --git a/programs/winecfg/Sv.rc b/programs/winecfg/Sv.rc
-index 49bb236..7efe2c0 100644
---- a/programs/winecfg/Sv.rc
-+++ b/programs/winecfg/Sv.rc
-@@ -268,6 +268,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standard"
- IDS_ACCEL_BASIC "Grundläggande"
- IDS_ACCEL_EMULATION "Emulering"
-+ IDS_DRIVER_PULSE "PulseAudio-drivrutin"
- IDS_DRIVER_ALSA "ALSA-drivrutin"
- IDS_DRIVER_ESOUND "EsounD-drivrutin"
- IDS_DRIVER_OSS "OSS-drivrutin"
-diff --git a/programs/winecfg/Tr.rc b/programs/winecfg/Tr.rc
-index 4157f86..1be23c5 100644
---- a/programs/winecfg/Tr.rc
-+++ b/programs/winecfg/Tr.rc
-@@ -268,6 +268,7 @@ BEGIN
- IDS_ACCEL_STANDARD "Standart"
- IDS_ACCEL_BASIC "Temel"
- IDS_ACCEL_EMULATION "Taklit"
-+ IDS_DRIVER_PULSE "PulseAudio Sürücüsü"
- IDS_DRIVER_ALSA "ALSA Sürücüsü"
- IDS_DRIVER_ESOUND "EsounD Sürücüsü"
- IDS_DRIVER_OSS "OSS Sürücüsü"
-diff --git a/programs/winecfg/Zh.rc b/programs/winecfg/Zh.rc
-index 4c18e99..029a26d 100644
---- a/programs/winecfg/Zh.rc
-+++ b/programs/winecfg/Zh.rc
-@@ -271,6 +271,7 @@ BEGIN
- IDS_ACCEL_STANDARD "标准"
- IDS_ACCEL_BASIC "基本"
- IDS_ACCEL_EMULATION "软件模拟"
-+ IDS_DRIVER_PULSE "PulseAudio 驱动"
- IDS_DRIVER_ALSA "ALSA 驱动"
- IDS_DRIVER_ESOUND "EsounD 驱动"
- IDS_DRIVER_OSS "OSS 驱动"
-diff --git a/programs/winecfg/audio.c b/programs/winecfg/audio.c
-index 8e966a5..9c2cde3 100644
---- a/programs/winecfg/audio.c
-+++ b/programs/winecfg/audio.c
-@@ -88,6 +88,7 @@ typedef struct
- } AUDIO_DRIVER;
-
- static const AUDIO_DRIVER sAudioDrivers[] = {
-+ {IDS_DRIVER_PULSE, "pulse"},
- {IDS_DRIVER_ALSA, "alsa"},
- {IDS_DRIVER_OSS, "oss"},
- {IDS_DRIVER_COREAUDIO, "coreaudio"},
-diff --git a/programs/winecfg/libraries.c b/programs/winecfg/libraries.c
-index 6abe04d..2fa6a95 100644
---- a/programs/winecfg/libraries.c
-+++ b/programs/winecfg/libraries.c
-@@ -67,6 +67,7 @@ static const char * const builtin_only[] =
- "user32",
- "vdmdbg",
- "w32skrnl",
-+ "winepulse.drv",
- "winealsa.drv",
- "wineaudioio.drv",
- "wined3d",
-diff --git a/programs/winecfg/resource.h b/programs/winecfg/resource.h
-index a18fe76..1c4a1e7 100644
---- a/programs/winecfg/resource.h
-+++ b/programs/winecfg/resource.h
-@@ -182,7 +182,7 @@
- #define IDS_ACCEL_BASIC 8302
- #define IDS_ACCEL_EMULATION 8303
- #define IDS_DRIVER_ALSA 8304
--
-+#define IDS_DRIVER_PULSE 8305
- #define IDS_DRIVER_ESOUND 8306
- #define IDS_DRIVER_OSS 8307
- #define IDS_DRIVER_JACK 8308
diff --git a/app-emulation/wine/files/wine-0.9.51-valgrind.patch b/app-emulation/wine/files/wine-0.9.51-valgrind.patch
deleted file mode 100644
index acd0bb1..0000000
--- a/app-emulation/wine/files/wine-0.9.51-valgrind.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-http://bugs.gentoo.org/202542
-
-fix from Rafal Muzylo building with newer versions of valgrind
-
---- dlls/ntdll/heap.c
-+++ dlls/ntdll/heap.c
-@@ -142,6 +142,8 @@
- if (TRACE_ON(heap) || WARN_ON(heap)) memset( ptr, ARENA_FREE_FILLER, size );
- #ifdef VALGRIND_MAKE_NOACCESS
- VALGRIND_DISCARD( VALGRIND_MAKE_NOACCESS( ptr, size ));
-+#elif defined(VALGRIND_MAKE_MEM_NOACCESS)
-+ VALGRIND_DISCARD( VALGRIND_MAKE_MEM_NOACCESS( ptr, size ));
- #endif
- }
-
-@@ -150,6 +152,8 @@
- {
- #ifdef VALGRIND_MAKE_READABLE
- VALGRIND_DISCARD( VALGRIND_MAKE_READABLE( ptr, size ));
-+#elif defined(VALGRIND_MAKE_MEM_DEFINED)
-+ VALGRIND_DISCARD( VALGRIND_MAKE_MEM_DEFINED( ptr, size ));
- #endif
- }
-
-@@ -158,6 +162,8 @@
- {
- #ifdef VALGRIND_MAKE_WRITABLE
- VALGRIND_DISCARD( VALGRIND_MAKE_WRITABLE( ptr, size ));
-+#elif defined(VALGRIND_MAKE_MEM_UNDEFINED)
-+ VALGRIND_DISCARD( VALGRIND_MAKE_MEM_UNDEFINED( ptr, size ));
- #endif
- if (TRACE_ON(heap) || WARN_ON(heap))
- {
-@@ -165,6 +171,8 @@
- #ifdef VALGRIND_MAKE_WRITABLE
- /* make it uninitialized to valgrind again */
- VALGRIND_DISCARD( VALGRIND_MAKE_WRITABLE( ptr, size ));
-+#elif defined(VALGRIND_MAKE_MEM_UNDEFINED)
-+ VALGRIND_DISCARD( VALGRIND_MAKE_MEM_UNDEFINED( ptr, size ));
- #endif
- }
- }
---- dlls/ntdll/signal_i386.c
-+++ dlls/ntdll/signal_i386.c
-@@ -936,8 +936,10 @@
- }
-
- stack--; /* push the stack_layout structure */
--#ifdef HAVE_VALGRIND_MEMCHECK_H
-+#ifdef VALGRIND_MAKE_WRITABLE
- VALGRIND_MAKE_WRITABLE(stack, sizeof(*stack));
-+#elif defined(VALGRIND_MAKE_MEM_UNDEFINED)
-+ VALGRIND_MAKE_MEM_UNDEFINED(stack, sizeof(*stack));
- #endif
- stack->ret_addr = (void *)0xdeadbabe; /* raise_func must not return */
- stack->rec_ptr = &stack->rec;
diff --git a/app-emulation/wine/files/wine-1.0_rc3-openssl.patch b/app-emulation/wine/files/wine-1.0_rc3-openssl.patch
deleted file mode 100644
index b0ef483..0000000
--- a/app-emulation/wine/files/wine-1.0_rc3-openssl.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-http://bugs.winehq.org/show_bug.cgi?id=13561
-http://bugs.gentoo.org/224049
-
-commit 7c616799894faa48ee3277bc276a39bed55780e0
-Author: Alexandre Julliard <julliard@winehq.org>
-Date: Mon Jun 2 12:14:37 2008 +0200
-
- wininet: Include openssl/ssl.h before Windows headers.
-
-diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h
-index 2645686..43b8d8e 100644
---- a/dlls/wininet/internet.h
-+++ b/dlls/wininet/internet.h
-@@ -38,18 +38,6 @@
- # include <sys/types.h>
- # include <netinet/in.h>
- #endif
--#ifdef HAVE_OPENSSL_SSL_H
--#define DSA __ssl_DSA /* avoid conflict with commctrl.h */
--#undef FAR
--/* avoid conflict with wincrypt.h */
--#undef PKCS7_SIGNER_INFO
--#undef X509_NAME
--#undef X509_CERT_PAIR
--# include <openssl/ssl.h>
--#undef FAR
--#define FAR do_not_use_this_in_wine
--#undef DSA
--#endif
- #ifdef HAVE_SYS_SOCKET_H
- # include <sys/socket.h>
- #endif
-@@ -69,12 +57,10 @@ typedef struct
- {
- BOOL useSSL;
- int socketFD;
--#ifdef HAVE_OPENSSL_SSL_H
-- SSL *ssl_s;
-+ void *ssl_s;
- char *peek_msg;
- char *peek_msg_mem;
- size_t peek_len;
--#endif
- } WININET_NETCONNECTION;
-
- static inline LPWSTR WININET_strdupW( LPCWSTR str )
-diff --git a/dlls/wininet/netconnection.c b/dlls/wininet/netconnection.c
-index 9cd7917..f55fbf2 100644
---- a/dlls/wininet/netconnection.c
-+++ b/dlls/wininet/netconnection.c
-@@ -23,6 +23,7 @@
- #include "config.h"
- #include "wine/port.h"
-
-+#include <sys/types.h>
- #ifdef HAVE_POLL_H
- #include <poll.h>
- #endif
-@@ -42,6 +43,22 @@
- #ifdef HAVE_SYS_IOCTL_H
- # include <sys/ioctl.h>
- #endif
-+#include <time.h>
-+#ifdef HAVE_NETDB_H
-+# include <netdb.h>
-+#endif
-+#ifdef HAVE_NETINET_IN_H
-+# include <netinet/in.h>
-+#endif
-+#ifdef HAVE_OPENSSL_SSL_H
-+# include <openssl/ssl.h>
-+#undef FAR
-+#undef DSA
-+#endif
-+#ifdef HAVE_SYS_SOCKET_H
-+# include <sys/socket.h>
-+#endif
-+
- #include <stdarg.h>
- #include <stdlib.h>
- #include <string.h>
diff --git a/app-emulation/wine/files/wine-1.1.4-install-fix.patch b/app-emulation/wine/files/wine-1.1.4-install-fix.patch
deleted file mode 100644
index 7ff5771..0000000
--- a/app-emulation/wine/files/wine-1.1.4-install-fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From: Alexandre Julliard <julliard@winehq.org>
-Date: Mon, 8 Sep 2008 10:37:56 +0000 (+0200)
-Subject: makefile: Fix dependency for programs install.
-X-Git-Url: http://source.winehq.org/git/wine.git/?a=commitdiff_plain;h=78c79ba349deea39
-
-makefile: Fix dependency for programs install.
----
-
-diff --git a/Makefile.in b/Makefile.in
-index 0b2c6c0..1dd8ef1 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -96,7 +96,8 @@ include/__install__ include/__install-dev__: include libs tools
- libs/__install__ libs/__install-lib__ libs/__install-dev__: libs
- loader/__install__ loader/__install-lib__: libs tools
- server/__install__ server/__install-lib__: libs tools
--programs/__install__ programs/__install-lib__: libs tools include dlls/__install-lib__
-+programs/__install__: libs tools include dlls/__install__
-+programs/__install-lib__: libs tools include dlls/__install-lib__
- tools/__install__ tools/__install-lib__ tools/__install-dev__: tools
-
- RECURSE_TARGETS = \
diff --git a/app-emulation/wine/files/wine-gentoo-no-ssp.patch b/app-emulation/wine/files/wine-gentoo-no-ssp.patch
deleted file mode 100644
index ee33c4b..0000000
--- a/app-emulation/wine/files/wine-gentoo-no-ssp.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-support older ssp (gcc-3.4.x). this ssp was never in mainline gcc, thus
-upstream wine wont accept it. can drop once hardened gets a stable gcc-4.x.
-
-http://bugs.gentoo.org/66002
-
---- loader/preloader.c
-+++ loader/preloader.c
-@@ -155,6 +155,8 @@ struct wld_link_map {
-
- /* similar to the above but for -fstack-protector */
- void *__stack_chk_guard = 0;
-+void *__guard = 0;
-+void __stack_smash_handler(void) { return; }
- void __stack_chk_fail(void) { return; }
-
- * The _start function is the entry and exit point of this program
diff --git a/app-emulation/wine/files/wined3d.diff b/app-emulation/wine/files/wined3d.diff
deleted file mode 100644
index d27d4d7..0000000
--- a/app-emulation/wine/files/wined3d.diff
+++ /dev/null
@@ -1,84 +0,0 @@
-diff -Naur wine.old/dlls/wined3d/directx.c wine/dlls/wined3d/directx.c
---- wine.old/dlls/wined3d/directx.c 2008-11-07 18:01:46.000000000 +0100
-+++ wine/dlls/wined3d/directx.c 2008-11-07 18:02:05.000000000 +0100
-@@ -4247,8 +4247,19 @@
- goto nogl_adapter;
- }
-
-- Adapters[0].driver = "Display";
-- Adapters[0].description = "Direct3D HAL";
-+ /* Use VideoDriver registry setting when set */
-+ if(wined3d_settings.video_driver) {
-+ Adapters[0].driver = wined3d_settings.video_driver;
-+ } else {
-+ Adapters[0].driver = "Display";
-+ }
-+
-+ /* Use VideoDescription registry setting when set */
-+ if(wined3d_settings.video_description) {
-+ Adapters[0].description = wined3d_settings.video_description;
-+ } else {
-+ Adapters[0].description = "Direct3D HAL";
-+ }
-
- /* Use the VideoRamSize registry setting when set */
- if(wined3d_settings.emulated_textureram)
-@@ -4366,8 +4377,22 @@
- Adapters[0].monitorPoint.x = -1;
- Adapters[0].monitorPoint.y = -1;
-
-- Adapters[0].driver = "Display";
-- Adapters[0].description = "WineD3D DirectDraw Emulation";
-+
-+ /* Use VideoDriver registry setting when set */
-+ if(wined3d_settings.video_driver) {
-+ Adapters[0].driver = wined3d_settings.video_driver;
-+ } else {
-+ Adapters[0].driver = "Display";
-+ }
-+
-+ /* Use VideoDescription registry setting when set */
-+ if(wined3d_settings.video_description) {
-+ Adapters[0].description = wined3d_settings.video_description;
-+ } else {
-+ Adapters[0].description = "WineD3D DirectDraw Emulation";
-+ }
-+
-+ /* Use VideoRamSize registry setting when set */
- if(wined3d_settings.emulated_textureram) {
- Adapters[0].TextureRam = wined3d_settings.emulated_textureram;
- } else {
-diff -Naur wine.old/dlls/wined3d/wined3d_main.c wine/dlls/wined3d/wined3d_main.c
---- wine.old/dlls/wined3d/wined3d_main.c 2008-10-24 15:13:40.000000000 +0200
-+++ wine/dlls/wined3d/wined3d_main.c 2008-11-07 17:48:16.000000000 +0100
-@@ -264,6 +264,18 @@
- wined3d_settings.allow_multisampling = TRUE;
- }
- }
-+ if ( !get_config_key( hkey, appkey, "VideoDriver", buffer, size) )
-+ {
-+ TRACE("Video Driver name: %s\n",buffer);
-+ wined3d_settings.video_driver = HeapAlloc(GetProcessHeap(), 0, strlen(buffer) + 1);
-+ if(wined3d_settings.video_driver ) strcpy(wined3d_settings.video_driver, buffer);
-+ }
-+ if ( !get_config_key( hkey, appkey, "VideoDescription", buffer, size) )
-+ {
-+ TRACE("Video Description: %s\n",buffer);
-+ wined3d_settings.video_description = HeapAlloc(GetProcessHeap(), 0, strlen(buffer) + 1);
-+ if(wined3d_settings.video_description ) strcpy(wined3d_settings.video_description, buffer);
-+ }
- }
- if (wined3d_settings.vs_mode == VS_HW)
- TRACE("Allow HW vertex shaders\n");
-diff -Naur wine.old/dlls/wined3d/wined3d_private.h wine/dlls/wined3d/wined3d_private.h
---- wine.old/dlls/wined3d/wined3d_private.h 2008-10-28 16:02:51.000000000 +0100
-+++ wine/dlls/wined3d/wined3d_private.h 2008-11-07 17:56:42.000000000 +0100
-@@ -201,6 +201,8 @@
- /* Memory tracking and object counting */
- unsigned int emulated_textureram;
- char *logo;
-+ char *video_driver;
-+ char *video_description;
- int allow_multisampling;
- } wined3d_settings_t;
-
diff --git a/app-emulation/wine/files/winepulse-0.17-configure.ac.patch b/app-emulation/wine/files/winepulse-0.17-configure.ac.patch
deleted file mode 100644
index 776d724..0000000
--- a/app-emulation/wine/files/winepulse-0.17-configure.ac.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 57ec39d..2ca94ca 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -58,6 +58,7 @@ AC_ARG_WITH(png, AS_HELP_STRING([--without-png],[do not use PNG]),
- [if test "x$withval" = "xno"; then ac_cv_header_png_h=no; fi])
- AC_ARG_WITH(pthread, AS_HELP_STRING([--without-pthread],[do not use the pthread library]),
- [if test "x$withval" = "xno"; then ac_cv_header_pthread_h=no; fi])
-+AC_ARG_WITH(pulse, AC_HELP_STRING([--without-pulse],[do not use PulseAudio sound support]))
- AC_ARG_WITH(sane, AS_HELP_STRING([--without-sane],[do not use SANE (scanner support)]))
- AC_ARG_WITH(xcomposite,AS_HELP_STRING([--without-xcomposite],[do not use the Xcomposite extension]),
- [if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_Xcomposite_h=no; fi])
-@@ -1186,6 +1187,24 @@ then
- CFLAGS="$save_CFLAGS"
- fi
-
-+dnl **** Check for PulseAudio ****
-+if test "x$with_pulse" != "xno"; then
-+ if test "$PKG_CONFIG" != "false"; then
-+ AC_MSG_CHECKING([for pulseaudio >= 0.9.8])
-+ if "$PKG_CONFIG" --atleast-version=0.9.8 libpulse; then
-+ have_pulseaudio="yes"
-+ else
-+ have_pulseaudio="no"
-+ fi
-+ AC_MSG_RESULT([$have_pulseaudio])
-+ if test x"$have_pulseaudio" = xyes; then
-+ ac_pulse_libs=`$PKG_CONFIG --libs libpulse`
-+ AC_DEFINE([HAVE_PULSEAUDIO], 1, [define this if you have pulseaudio])
-+ AC_SUBST(PULSELIBS, "$ac_pulse_libs")
-+ fi
-+ fi
-+fi
-+
- dnl **** Check for ALSA 1.x ****
- AC_SUBST(ALSALIBS,"")
- if test "$ac_cv_header_sys_asoundlib_h" = "yes" -o "$ac_cv_header_alsa_asoundlib_h" = "yes"
-@@ -1291,7 +1310,7 @@ dnl **** Check for libodbc ****
- WINE_CHECK_SONAME(odbc,SQLConnect,,[AC_DEFINE_UNQUOTED(SONAME_LIBODBC,["libodbc.$LIBEXT"])])
-
- dnl **** Check for any sound system ****
--if test "x$ALSALIBS$AUDIOIOLIBS$COREAUDIO$NASLIBS$ESDLIBS$ac_cv_lib_soname_jack" = "x" -a \
-+if test "x$ALSALIBS$AUDIOIOLIBS$COREAUDIO$NASLIBS$ESDLIBS$PULSELIBS$ac_cv_lib_soname_jack" = "x" -a \
- "$ac_cv_header_sys_soundcard_h" != "yes" -a \
- "$ac_cv_header_machine_soundcard_h" != "yes" -a \
- "$ac_cv_header_soundcard_h" != "yes" -a \
-@@ -2223,6 +2242,7 @@ WINE_CONFIG_MAKEFILE([dlls/winemp3.acm/Makefile],[dlls/Makedll.rules],[dlls],[AL
- WINE_CONFIG_MAKEFILE([dlls/winenas.drv/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
- WINE_CONFIG_MAKEFILE([dlls/wineoss.drv/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
- WINE_CONFIG_MAKEFILE([dlls/wineps.drv/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
-+WINE_CONFIG_MAKEFILE([dlls/winepulse.drv/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
- WINE_CONFIG_MAKEFILE([dlls/winequartz.drv/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
- WINE_CONFIG_MAKEFILE([dlls/winex11.drv/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
- WINE_CONFIG_MAKEFILE([dlls/wing32/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS])
diff --git a/app-emulation/wine/files/winepulse-0.28.patch b/app-emulation/wine/files/winepulse-0.28.patch
deleted file mode 100644
index b70484f..0000000
--- a/app-emulation/wine/files/winepulse-0.28.patch
+++ /dev/null
@@ -1,2725 +0,0 @@
-diff --git a/dlls/winepulse.drv/Makefile.in b/dlls/winepulse.drv/Makefile.in
-new file mode 100644
-index 0000000..c99c1da
---- /dev/null
-+++ b/dlls/winepulse.drv/Makefile.in
-@@ -0,0 +1,15 @@
-+TOPSRCDIR = @top_srcdir@
-+TOPOBJDIR = ../..
-+SRCDIR = @srcdir@
-+VPATH = @srcdir@
-+MODULE = winepulse.drv
-+IMPORTS = winmm user32 kernel32
-+EXTRALIBS = @PULSELIBS@
-+
-+C_SRCS = waveout.c \
-+ wavein.c \
-+ pulse.c
-+
-+@MAKE_DLL_RULES@
-+
-+@DEPENDENCIES@ # everything below this line is overwritten by make depend
-diff --git a/dlls/winepulse.drv/pulse.c b/dlls/winepulse.drv/pulse.c
-new file mode 100644
-index 0000000..392ac0b
---- /dev/null
-+++ b/dlls/winepulse.drv/pulse.c
-@@ -0,0 +1,794 @@
-+/*
-+ * Wine Driver for PulseAudio
-+ * http://pulseaudio.org/
-+ *
-+ * Copyright 2009 Arthur Taylor <theycallhimart@gmail.com>
-+ *
-+ * Contains code from other wine sound drivers.
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library 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
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
-+ */
-+
-+#include "config.h"
-+
-+#include <stdarg.h>
-+#include <stdio.h>
-+
-+#include "windef.h"
-+#include "winbase.h"
-+#include "wingdi.h"
-+#include "winuser.h"
-+#include "winreg.h"
-+#include "mmddk.h"
-+#include "ks.h"
-+#include "ksguid.h"
-+#include "ksmedia.h"
-+
-+#ifdef HAVE_UNISTD_H
-+# include <unistd.h>
-+#endif
-+#include <poll.h>
-+
-+#ifdef HAVE_PULSEAUDIO
-+
-+#include "wine/unicode.h"
-+#include "wine/debug.h"
-+#include "wine/library.h"
-+
-+#include <winepulse.h>
-+#include <pulse/pulseaudio.h>
-+WINE_DEFAULT_DEBUG_CHANNEL(wave);
-+
-+/* These strings used only for tracing */
-+const char * PULSE_getCmdString(enum win_wm_message msg) {
-+ static char unknown[32];
-+#define MSG_TO_STR(x) case x: return #x
-+ switch(msg) {
-+ MSG_TO_STR(WINE_WM_PAUSING);
-+ MSG_TO_STR(WINE_WM_RESTARTING);
-+ MSG_TO_STR(WINE_WM_RESETTING);
-+ MSG_TO_STR(WINE_WM_HEADER);
-+ MSG_TO_STR(WINE_WM_BREAKLOOP);
-+ MSG_TO_STR(WINE_WM_CLOSING);
-+ MSG_TO_STR(WINE_WM_STARTING);
-+ MSG_TO_STR(WINE_WM_STOPPING);
-+ MSG_TO_STR(WINE_WM_XRUN);
-+ MSG_TO_STR(WINE_WM_FEED);
-+ }
-+#undef MSG_TO_STR
-+ sprintf(unknown, "UNKNOWN(0x%08x)", msg);
-+ return unknown;
-+}
-+
-+/*======================================================================*
-+ * Ring Buffer Functions - copied from winealsa.drv *
-+ *======================================================================*/
-+
-+/* unless someone makes a wineserver kernel module, Unix pipes are faster than win32 events */
-+#define USE_PIPE_SYNC
-+
-+#ifdef USE_PIPE_SYNC
-+#define INIT_OMR(omr) do { if (pipe(omr->msg_pipe) < 0) { omr->msg_pipe[0] = omr->msg_pipe[1] = -1; } } while (0)
-+#define CLOSE_OMR(omr) do { close(omr->msg_pipe[0]); close(omr->msg_pipe[1]); } while (0)
-+#define SIGNAL_OMR(omr) do { int x = 0; write((omr)->msg_pipe[1], &x, sizeof(x)); } while (0)
-+#define CLEAR_OMR(omr) do { int x = 0; read((omr)->msg_pipe[0], &x, sizeof(x)); } while (0)
-+#define RESET_OMR(omr) do { } while (0)
-+#define WAIT_OMR(omr, sleep) \
-+ do { struct pollfd pfd; pfd.fd = (omr)->msg_pipe[0]; \
-+ pfd.events = POLLIN; poll(&pfd, 1, sleep); } while (0)
-+#else
-+#define INIT_OMR(omr) do { omr->msg_event = CreateEventW(NULL, FALSE, FALSE, NULL); } while (0)
-+#define CLOSE_OMR(omr) do { CloseHandle(omr->msg_event); } while (0)
-+#define SIGNAL_OMR(omr) do { SetEvent((omr)->msg_event); } while (0)
-+#define CLEAR_OMR(omr) do { } while (0)
-+#define RESET_OMR(omr) do { ResetEvent((omr)->msg_event); } while (0)
-+#define WAIT_OMR(omr, sleep) \
-+ do { WaitForSingleObject((omr)->msg_event, sleep); } while (0)
-+#endif
-+
-+#define PULSE_RING_BUFFER_INCREMENT 64
-+
-+/******************************************************************
-+ * PULSE_InitRingMessage
-+ *
-+ * Initialize the ring of messages for passing between driver's caller
-+ * and playback/record thread
-+ */
-+int PULSE_InitRingMessage(PULSE_MSG_RING* omr)
-+{
-+ omr->msg_toget = 0;
-+ omr->msg_tosave = 0;
-+ INIT_OMR(omr);
-+ omr->ring_buffer_size = PULSE_RING_BUFFER_INCREMENT;
-+ omr->messages = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,omr->ring_buffer_size * sizeof(PULSE_MSG));
-+
-+ InitializeCriticalSection(&omr->msg_crst);
-+ omr->msg_crst.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": PULSE_MSG_RING.msg_crst");
-+ return 0;
-+}
-+
-+/******************************************************************
-+ * PULSE_DestroyRingMessage
-+ *
-+ */
-+int PULSE_DestroyRingMessage(PULSE_MSG_RING* omr)
-+{
-+ CLOSE_OMR(omr);
-+ HeapFree(GetProcessHeap(),0,omr->messages);
-+ omr->messages = NULL;
-+ omr->ring_buffer_size = PULSE_RING_BUFFER_INCREMENT;
-+ omr->msg_crst.DebugInfo->Spare[0] = 0;
-+ DeleteCriticalSection(&omr->msg_crst);
-+ return 0;
-+}
-+/******************************************************************
-+ * PULSE_ResetRingMessage
-+ *
-+ */
-+void PULSE_ResetRingMessage(PULSE_MSG_RING* omr)
-+{
-+ RESET_OMR(omr);
-+}
-+
-+/******************************************************************
-+ * PULSE_WaitRingMessage
-+ *
-+ */
-+void PULSE_WaitRingMessage(PULSE_MSG_RING* omr, DWORD sleep)
-+{
-+ WAIT_OMR(omr, sleep);
-+}
-+
-+/******************************************************************
-+ * PULSE_AddRingMessage
-+ *
-+ * Inserts a new message into the ring (should be called from DriverProc derived routines)
-+ */
-+int PULSE_AddRingMessage(PULSE_MSG_RING* omr, enum win_wm_message msg, DWORD param, BOOL wait)
-+{
-+ HANDLE hEvent = INVALID_HANDLE_VALUE;
-+
-+ EnterCriticalSection(&omr->msg_crst);
-+ if ((omr->msg_toget == ((omr->msg_tosave + 1) % omr->ring_buffer_size)))
-+ {
-+ int old_ring_buffer_size = omr->ring_buffer_size;
-+ omr->ring_buffer_size += PULSE_RING_BUFFER_INCREMENT;
-+ omr->messages = HeapReAlloc(GetProcessHeap(),0,omr->messages, omr->ring_buffer_size * sizeof(PULSE_MSG));
-+ /* Now we need to rearrange the ring buffer so that the new
-+ buffers just allocated are in between omr->msg_tosave and
-+ omr->msg_toget.
-+ */
-+ if (omr->msg_tosave < omr->msg_toget)
-+ {
-+ memmove(&(omr->messages[omr->msg_toget + PULSE_RING_BUFFER_INCREMENT]),
-+ &(omr->messages[omr->msg_toget]),
-+ sizeof(PULSE_MSG)*(old_ring_buffer_size - omr->msg_toget)
-+ );
-+ omr->msg_toget += PULSE_RING_BUFFER_INCREMENT;
-+ }
-+ }
-+ if (wait)
-+ {
-+ hEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
-+ if (hEvent == INVALID_HANDLE_VALUE)
-+ {
-+ ERR("can't create event !?\n");
-+ LeaveCriticalSection(&omr->msg_crst);
-+ return 0;
-+ }
-+ /* fast messages have to be added at the start of the queue */
-+ omr->msg_toget = (omr->msg_toget + omr->ring_buffer_size - 1) % omr->ring_buffer_size;
-+
-+ omr->messages[omr->msg_toget].msg = msg;
-+ omr->messages[omr->msg_toget].param = param;
-+ omr->messages[omr->msg_toget].hEvent = hEvent;
-+ }
-+ else
-+ {
-+ omr->messages[omr->msg_tosave].msg = msg;
-+ omr->messages[omr->msg_tosave].param = param;
-+ omr->messages[omr->msg_tosave].hEvent = INVALID_HANDLE_VALUE;
-+ omr->msg_tosave = (omr->msg_tosave + 1) % omr->ring_buffer_size;
-+ }
-+ LeaveCriticalSection(&omr->msg_crst);
-+ /* signal a new message */
-+ SIGNAL_OMR(omr);
-+ if (wait)
-+ {
-+ /* wait for playback/record thread to have processed the message */
-+ WaitForSingleObject(hEvent, INFINITE);
-+ CloseHandle(hEvent);
-+ }
-+ return 1;
-+}
-+
-+/******************************************************************
-+ * PULSE_RetrieveRingMessage
-+ *
-+ * Get a message from the ring. Should be called by the playback/record thread.
-+ */
-+int PULSE_RetrieveRingMessage(PULSE_MSG_RING* omr,
-+ enum win_wm_message *msg, DWORD *param, HANDLE *hEvent)
-+{
-+ EnterCriticalSection(&omr->msg_crst);
-+
-+ if (omr->msg_toget == omr->msg_tosave) /* buffer empty ? */
-+ {
-+ LeaveCriticalSection(&omr->msg_crst);
-+ return 0;
-+ }
-+
-+ *msg = omr->messages[omr->msg_toget].msg;
-+ omr->messages[omr->msg_toget].msg = 0;
-+ *param = omr->messages[omr->msg_toget].param;
-+ *hEvent = omr->messages[omr->msg_toget].hEvent;
-+ omr->msg_toget = (omr->msg_toget + 1) % omr->ring_buffer_size;
-+ CLEAR_OMR(omr);
-+ LeaveCriticalSection(&omr->msg_crst);
-+ return 1;
-+}
-+
-+/**************************************************************************
-+ * Utility Functions
-+ *************************************************************************/
-+
-+/******************************************************************
-+ * PULSE_SetupFormat
-+ *
-+ * Checks to see if the audio format in wf is supported, and if so set up the
-+ * pa_sample_spec at ss to that format.
-+ */
-+BOOL PULSE_SetupFormat(LPWAVEFORMATEX wf, pa_sample_spec *ss) {
-+ WAVEFORMATEXTENSIBLE *wfex;
-+
-+ ss->channels = wf->nChannels;
-+ ss->rate = wf->nSamplesPerSec;
-+ ss->format = PA_SAMPLE_INVALID;
-+
-+ if (ss->rate < DSBFREQUENCY_MIN || ss->rate > DSBFREQUENCY_MAX) return FALSE;
-+
-+ switch (wf->wFormatTag) {
-+ case WAVE_FORMAT_PCM:
-+ /* MSDN says that for WAVE_FORMAT_PCM, nChannels must be 1 or 2 and
-+ * wBitsPerSample must be 8 or 16, yet other values are used by some
-+ * applications in the wild for surround. */
-+ if (ss->channels > 6 || ss->channels < 1) return FALSE;
-+ ss->format = wf->wBitsPerSample == 8 ? PA_SAMPLE_U8
-+ : wf->wBitsPerSample == 16 ? PA_SAMPLE_S16NE
-+ : wf->wBitsPerSample == 32 ? PA_SAMPLE_S32NE
-+ : PA_SAMPLE_INVALID;
-+ break;
-+
-+ case WAVE_FORMAT_MULAW:
-+ if (wf->wBitsPerSample == 8) ss->format = PA_SAMPLE_ULAW;
-+ break;
-+
-+ case WAVE_FORMAT_ALAW:
-+ if (wf->wBitsPerSample == 8) ss->format = PA_SAMPLE_ALAW;
-+ break;
-+
-+ case WAVE_FORMAT_EXTENSIBLE:
-+ if (wf->cbSize > 22) return FALSE;
-+ if (ss->channels < 1 || ss->channels > 6) return FALSE;
-+ wfex = (WAVEFORMATEXTENSIBLE *)wf;
-+ if (IsEqualGUID(&wfex->SubFormat, &KSDATAFORMAT_SUBTYPE_PCM)) {
-+ if (wf->wBitsPerSample == wfex->Samples.wValidBitsPerSample) {
-+ ss->format = wf->wBitsPerSample == 8 ? PA_SAMPLE_U8
-+ : wf->wBitsPerSample == 16 ? PA_SAMPLE_S16NE
-+ : wf->wBitsPerSample == 32 ? PA_SAMPLE_S32NE
-+ : PA_SAMPLE_INVALID;
-+ } else {
-+ return FALSE;
-+ }
-+ } else if (wf->wBitsPerSample != wfex->Samples.wValidBitsPerSample) {
-+ return FALSE;
-+ } else if ((IsEqualGUID(&wfex->SubFormat, &KSDATAFORMAT_SUBTYPE_IEEE_FLOAT))) {
-+ ss->format = PA_SAMPLE_FLOAT32NE;
-+ } else {
-+ WARN("only KSDATAFORMAT_SUBTYPE_PCM and KSDATAFORMAT_SUBTYPE_IEEE_FLOAT of WAVE_FORMAT_EXTENSIBLE supported\n");
-+ return FALSE;
-+ }
-+ break;
-+
-+ default:
-+ WARN("only WAVE_FORMAT_PCM, WAVE_FORMAT_MULAW, WAVE_FORMAT_ALAW and WAVE_FORMAT_EXTENSIBLE supported\n");
-+ return FALSE;
-+ }
-+
-+ if (!pa_sample_spec_valid(ss)) return FALSE;
-+ if (wf->nBlockAlign != pa_frame_size(ss)) {
-+ ERR("wf->nBlockAlign != the format frame size!\n");
-+ return FALSE;
-+ }
-+
-+ return TRUE;
-+}
-+
-+/******************************************************************
-+ * PULSE_SetupFormat
-+ *
-+ * Converts the current time to a MMTIME structure. lpTime shold be validated
-+ * before calling.
-+ */
-+HRESULT PULSE_UsecToMMTime(pa_usec_t time, LPMMTIME lpTime, const pa_sample_spec *ss) {
-+ pa_usec_t temp;
-+ size_t bytes;
-+
-+ /* Convert to milliseconds */
-+ time /= 1000;
-+
-+ bytes = time * pa_bytes_per_second(ss) / 1000;
-+ /* Align to frame size */
-+ bytes -= bytes % pa_frame_size(ss);
-+
-+ switch (lpTime->wType) {
-+ case TIME_SAMPLES:
-+ lpTime->u.sample = bytes / pa_frame_size(ss);
-+ TRACE("TIME_SAMPLES=%u\n", lpTime->u.sample);
-+ break;
-+ case TIME_MS:
-+ lpTime->u.ms = time;
-+ TRACE("TIME_MS=%u\n", lpTime->u.ms);
-+ break;
-+ case TIME_SMPTE:
-+ lpTime->u.smpte.fps = 30;
-+ temp = bytes / pa_frame_size(ss);
-+ temp += ss->rate / lpTime->u.smpte.fps - 1;
-+ lpTime->u.smpte.sec = time/1000;
-+ temp -= lpTime->u.smpte.sec * ss->rate;
-+ lpTime->u.smpte.min = lpTime->u.smpte.sec / 60;
-+ lpTime->u.smpte.sec -= 60 * lpTime->u.smpte.min;
-+ lpTime->u.smpte.hour = lpTime->u.smpte.min / 60;
-+ lpTime->u.smpte.min -= 60 * lpTime->u.smpte.hour;
-+ lpTime->u.smpte.frame = temp * lpTime->u.smpte.fps / ss->rate;
-+ TRACE("TIME_SMPTE=%02u:%02u:%02u:%02u\n",
-+ lpTime->u.smpte.hour, lpTime->u.smpte.min,
-+ lpTime->u.smpte.sec, lpTime->u.smpte.frame);
-+ break;
-+ default:
-+ WARN("Format %d not supported, using TIME_BYTES !\n", lpTime->wType);
-+ lpTime->wType = TIME_BYTES;
-+ /* fall through */
-+ case TIME_BYTES:
-+ lpTime->u.cb = bytes;
-+ TRACE("TIME_BYTES=%u\n", lpTime->u.cb);
-+ break;
-+ }
-+
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * PULSE_WaitForOperation
-+ *
-+ * Waits for pa operations to complete, and dereferences the operation.
-+ */
-+void PULSE_WaitForOperation(pa_operation *o) {
-+ if (!o) return;
-+
-+ for (;;) {
-+ if (pa_operation_get_state(o) != PA_OPERATION_RUNNING)
-+ break;
-+ pa_threaded_mainloop_wait(PULSE_ml);
-+ }
-+ pa_operation_unref(o);
-+}
-+
-+/**************************************************************************
-+ * Common Callbacks
-+ */
-+
-+/**************************************************************************
-+ * PULSE_StreamSuspendedCallback [internal]
-+ *
-+ * Called by the pulse mainloop any time stream playback is intentionally
-+ * suspended or resumed from being suspended.
-+ */
-+void PULSE_StreamSuspendedCallback(pa_stream *s, void *userdata) {
-+ WINE_WAVEINST *wwo = (WINE_WAVEINST*)userdata;
-+ assert(s && wwo);
-+
-+ /* Currently we handle this kinda like an underrun. Perhaps we should
-+ * tell the client somehow so it doesn't just hang? */
-+
-+ if (!pa_stream_is_suspended(s) && wwo->hThread != INVALID_HANDLE_VALUE && wwo->msgRing.ring_buffer_size > 0)
-+ PULSE_AddRingMessage(&wwo->msgRing, WINE_WM_XRUN, 0, FALSE);
-+}
-+
-+/**************************************************************************
-+ * PULSE_StreamUnderflowCallback [internal]
-+ *
-+ * Called by the pulse mainloop when the prebuf runs out of data.
-+ */
-+void PULSE_StreamUnderflowCallback(pa_stream *s, void *userdata) {
-+ WINE_WAVEINST *wwo = (WINE_WAVEINST*)userdata;
-+ assert(s && wwo);
-+
-+ /* If we aren't playing, don't care ^_^ */
-+ if (wwo->state != WINE_WS_PLAYING) return;
-+
-+ TRACE("Underrun occurred.\n");
-+
-+ if (wwo->hThread != INVALID_HANDLE_VALUE && wwo->msgRing.ring_buffer_size > 0);
-+ PULSE_AddRingMessage(&wwo->msgRing, WINE_WM_XRUN, 0, FALSE);
-+}
-+
-+/**************************************************************************
-+ * PULSE_StreamMovedCallback [internal]
-+ *
-+ * Called by the pulse mainloop when the stream gets moved, resulting in
-+ * possibly different metrics.
-+ */
-+void PULSE_StreamMovedCallback(pa_stream *s, void *userdata) {
-+ FIXME("stub");
-+}
-+
-+
-+/******************************************************************
-+ * PULSE_StreamStateCallback
-+ *
-+ * Called by pulse whenever the state of the stream changes.
-+ */
-+void PULSE_StreamStateCallback(pa_stream *s, void *userdata) {
-+ assert(s);
-+
-+ switch (pa_stream_get_state(s)) {
-+ case PA_STREAM_READY:
-+ TRACE("Stream %p ready\n", userdata);
-+ break;
-+
-+ case PA_STREAM_TERMINATED:
-+ TRACE("Stream %p terminated\n", userdata);
-+ break;
-+
-+ case PA_STREAM_FAILED:
-+ ERR("Stream %p failed!\n", userdata);
-+ break;
-+
-+ case PA_STREAM_UNCONNECTED:
-+ case PA_STREAM_CREATING:
-+ return;
-+ }
-+ pa_threaded_mainloop_signal(PULSE_ml, 0);
-+}
-+
-+/**************************************************************************
-+ * PULSE_StreamSucessCallback
-+ */
-+void PULSE_StreamSuccessCallback(pa_stream *s, int success, void *userdata) {
-+ if (!success)
-+ WARN("Stream %p operation failed: %s\n", userdata, pa_strerror(pa_context_errno(PULSE_context)));
-+
-+ pa_threaded_mainloop_signal(PULSE_ml, 0);
-+}
-+
-+/**************************************************************************
-+ * PULSE_ContextSuccessCallback
-+ */
-+void PULSE_ContextSuccessCallback(pa_context *c, int success, void *userdata) {
-+ if (!success) ERR("Context operation failed: %s\n", pa_strerror(pa_context_errno(c)));
-+ pa_threaded_mainloop_signal(PULSE_ml, 0);
-+}
-+
-+/**************************************************************************
-+ * Connection management and sink / source management.
-+ */
-+
-+/**************************************************************************
-+ * PULSE_ContextStateCallback [internal]
-+ */
-+static void PULSE_ContextStateCallback(pa_context *c, void *userdata) {
-+ assert(c);
-+
-+ switch (pa_context_get_state(c)) {
-+ case PA_CONTEXT_CONNECTING:
-+ case PA_CONTEXT_UNCONNECTED:
-+ case PA_CONTEXT_AUTHORIZING:
-+ case PA_CONTEXT_SETTING_NAME:
-+ break;
-+
-+ case PA_CONTEXT_READY:
-+ case PA_CONTEXT_TERMINATED:
-+ pa_threaded_mainloop_signal(PULSE_ml, 0);
-+ break;
-+
-+ case PA_CONTEXT_FAILED:
-+ ERR("Context failure: %s\n", pa_strerror(pa_context_errno(c)));
-+ pa_threaded_mainloop_signal(PULSE_ml, 0);
-+ break;
-+ }
-+}
-+
-+/**************************************************************************
-+ * PULSE_AllocateWaveinDevice [internal]
-+ *
-+ * Creates or adds a device to WInDev based on the pa_source_info.
-+ */
-+static void PULSE_AllocateWaveinDevice(const char *name, const char *device, const char *description, const pa_cvolume *v) {
-+ WINE_WAVEDEV *wdi;
-+
-+ if (WInDev)
-+ wdi = HeapReAlloc(GetProcessHeap(), 0, WInDev, sizeof(WINE_WAVEDEV) * (PULSE_WidNumDevs + 1));
-+ else
-+ wdi = HeapAlloc(GetProcessHeap(), 0, sizeof(WINE_WAVEDEV));
-+
-+ if (!wdi) return;
-+
-+ WInDev = wdi;
-+ wdi = &WInDev[PULSE_WidNumDevs++];
-+ memset(wdi, 0, sizeof(WINE_WAVEDEV));
-+ memset(&(wdi->caps.in), 0, sizeof(wdi->caps.in));
-+ snprintf(wdi->interface_name, MAXPNAMELEN * 2, "winepulse: %s", name);
-+ wdi->device_name = pa_xstrdup(device);
-+ MultiByteToWideChar(CP_ACP, 0, description, -1, wdi->caps.in.szPname, sizeof(wdi->caps.in.szPname)/sizeof(WCHAR));
-+ wdi->caps.in.szPname[sizeof(wdi->caps.in.szPname)/sizeof(WCHAR) - 1] = '\0';
-+ wdi->caps.in.wMid = MM_CREATIVE;
-+ wdi->caps.in.wPid = MM_CREATIVE_SBP16_WAVEOUT;
-+ wdi->caps.in.vDriverVersion = 0x0100;
-+ wdi->caps.in.wChannels = v->channels == 1 ? 1 : 2;
-+ wdi->caps.in.dwFormats = PULSE_ALL_FORMATS;
-+ memset(&wdi->ds_desc, 0, sizeof(DSDRIVERDESC));
-+ memcpy(wdi->ds_desc.szDesc, description, min(sizeof(wdi->ds_desc.szDesc) - 1, strlen(description)));
-+ memcpy(wdi->ds_desc.szDrvname, "winepulse.drv", 14);
-+ wdi->ds_caps.dwMinSecondarySampleRate = DSBFREQUENCY_MIN;
-+ wdi->ds_caps.dwMaxSecondarySampleRate = DSBFREQUENCY_MAX;
-+ wdi->ds_caps.dwPrimaryBuffers = 1;
-+ wdi->ds_caps.dwFlags = \
-+ DSCAPS_PRIMARYMONO |
-+ DSCAPS_PRIMARYSTEREO |
-+ DSCAPS_PRIMARY8BIT |
-+ DSCAPS_PRIMARY16BIT |
-+ DSCAPS_SECONDARYMONO |
-+ DSCAPS_SECONDARYSTEREO |
-+ DSCAPS_SECONDARY8BIT |
-+ DSCAPS_SECONDARY16BIT |
-+ DSCCAPS_MULTIPLECAPTURE |
-+ DSCAPS_CERTIFIED | /* Useful? */
-+ DSCAPS_EMULDRIVER; /* Useful? */
-+
-+}
-+
-+/**************************************************************************
-+ * PULSE_AllocateWaveoutDevice [internal]
-+ *
-+ * Creates or adds a sink to the WOutDev array.
-+ */
-+static void PULSE_AllocateWaveoutDevice(const char *name, const char *device, const char *description, const pa_cvolume *v) {
-+ WINE_WAVEDEV *wdo;
-+ int x;
-+
-+ if (WOutDev)
-+ wdo = HeapReAlloc(GetProcessHeap(), 0, WOutDev, sizeof(WINE_WAVEDEV) * (PULSE_WodNumDevs + 1));
-+ else
-+ wdo = HeapAlloc(GetProcessHeap(), 0, sizeof(WINE_WAVEDEV));
-+
-+ if (!wdo) return;
-+
-+ WOutDev = wdo;
-+ wdo = &WOutDev[PULSE_WodNumDevs++];
-+ memset(wdo, 0, sizeof(WINE_WAVEDEV));
-+
-+ wdo->device_name = pa_xstrdup(device);
-+ wdo->volume.channels = v->channels;
-+ for (x = 0; x < v->channels; x++) wdo->volume.values[x] = v->values[x];
-+ snprintf(wdo->interface_name, MAXPNAMELEN * 2, "winepulse: %s", name);
-+ MultiByteToWideChar(CP_ACP, 0, description, -1, wdo->caps.out.szPname, sizeof(wdo->caps.out.szPname)/sizeof(WCHAR));
-+ wdo->caps.out.szPname[sizeof(wdo->caps.out.szPname)/sizeof(WCHAR) - 1] = '\0';
-+ wdo->caps.out.wMid = MM_CREATIVE;
-+ wdo->caps.out.wPid = MM_CREATIVE_SBP16_WAVEOUT;
-+ wdo->caps.out.vDriverVersion = 0x0100;
-+ wdo->caps.out.dwSupport = WAVECAPS_VOLUME | WAVECAPS_SAMPLEACCURATE | WAVECAPS_DIRECTSOUND;
-+ if (v->channels >= 2) {
-+ wdo->caps.out.wChannels = 2;
-+ wdo->caps.out.dwSupport |= WAVECAPS_LRVOLUME;
-+ } else
-+ wdo->caps.out.wChannels = 1;
-+ wdo->caps.out.dwFormats = PULSE_ALL_FORMATS;
-+ memset(&wdo->ds_desc, 0, sizeof(DSDRIVERDESC));
-+ memcpy(wdo->ds_desc.szDesc, description, min(sizeof(wdo->ds_desc.szDesc) - 1, strlen(description)));
-+ memcpy(wdo->ds_desc.szDrvname, "winepulse.drv", 14);
-+ wdo->ds_caps.dwMinSecondarySampleRate = DSBFREQUENCY_MIN;
-+ wdo->ds_caps.dwMaxSecondarySampleRate = DSBFREQUENCY_MAX;
-+ wdo->ds_caps.dwPrimaryBuffers = 1;
-+ wdo->ds_caps.dwFlags = \
-+ DSCAPS_PRIMARYMONO |
-+ DSCAPS_PRIMARYSTEREO |
-+ DSCAPS_PRIMARY8BIT |
-+ DSCAPS_PRIMARY16BIT |
-+ DSCAPS_SECONDARYMONO |
-+ DSCAPS_SECONDARYSTEREO |
-+ DSCAPS_SECONDARY8BIT |
-+ DSCAPS_SECONDARY16BIT |
-+ DSCAPS_CERTIFIED |
-+ DSCAPS_EMULDRIVER; /* Useful? */
-+}
-+
-+/**************************************************************************
-+ * PULSE_SourceInfoCallback [internal]
-+ */
-+static void PULSE_SourceInfoCallback(pa_context *c, const pa_source_info *i, int eol, void *userdata) {
-+
-+ if (!eol && i)
-+ PULSE_AllocateWaveinDevice(i->name, i->name, i->description, &i->volume);
-+
-+ pa_threaded_mainloop_signal(PULSE_ml, 0);
-+}
-+
-+/**************************************************************************
-+ * PULSE_SinkInfoCallback [internal]
-+ */
-+static void PULSE_SinkInfoCallback(pa_context *c, const pa_sink_info *i, int eol, void *userdata) {
-+
-+ if (!eol && i)
-+ PULSE_AllocateWaveoutDevice(i->name, i->name, i->description, &i->volume);
-+
-+ pa_threaded_mainloop_signal(PULSE_ml, 0);
-+}
-+
-+/**************************************************************************
-+ * PULSE_ContextNotifyCallback [internal]
-+ */
-+static void PULSE_ContextNotifyCallback(pa_context *c, void *userdata) {
-+ pa_threaded_mainloop_signal(PULSE_ml, 0);
-+}
-+
-+/**************************************************************************
-+ * PULSE_WaveClose [internal]
-+ *
-+ * Disconnect from the server, deallocated the WaveIn/WaveOut devices, stop and
-+ * free the mainloop.
-+ */
-+static LONG PULSE_WaveClose(void) {
-+ int x;
-+ TRACE("()\n");
-+ if (!PULSE_ml) return DRV_FAILURE;
-+
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ /* device_name is allocated with pa_xstrdup, free with pa_xfree */
-+ for (x = 0; x < PULSE_WodNumDevs; x++) pa_xfree(WOutDev[x].device_name);
-+ for (x = 0; x < PULSE_WidNumDevs; x++) pa_xfree(WInDev[x].device_name);
-+ HeapFree(GetProcessHeap(), 0, WOutDev);
-+ HeapFree(GetProcessHeap(), 0, WInDev);
-+ if (PULSE_context) {
-+ PULSE_WaitForOperation(pa_context_drain(PULSE_context, PULSE_ContextNotifyCallback, NULL));
-+ pa_context_disconnect(PULSE_context);
-+ pa_context_unref(PULSE_context);
-+ PULSE_context = NULL;
-+ }
-+
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ pa_threaded_mainloop_stop(PULSE_ml);
-+ pa_threaded_mainloop_free(PULSE_ml);
-+ PULSE_ml = NULL;
-+
-+ return DRV_SUCCESS;
-+}
-+
-+/**************************************************************************
-+ * PULSE_WaveInit [internal]
-+ *
-+ * Connects to the pulseaudio server, tries to discover sinks and sources and
-+ * allocates the WaveIn/WaveOut devices.
-+ */
-+static LONG PULSE_WaveInit(void) {
-+ char *app_name;
-+ char path[PATH_MAX];
-+ char *offset = NULL;
-+ int x = 0;
-+ pa_cvolume fake_cvolume;
-+
-+ WOutDev = NULL;
-+ WInDev = NULL;
-+ PULSE_WodNumDevs = 0;
-+ PULSE_WidNumDevs = 0;
-+ PULSE_context = NULL;
-+ PULSE_ml = NULL;
-+
-+ if (!(PULSE_ml = pa_threaded_mainloop_new())) {
-+ WARN("Failed to create mainloop object.");
-+ return DRV_FAILURE;
-+ }
-+
-+ /* Application name giving to pulse should be unique to the binary so that
-+ * pulse-*-restore can be useful */
-+
-+ /* Get binary path, and remove path a-la strrchr */
-+ if (GetModuleFileNameA(NULL, path, PATH_MAX))
-+ offset = strrchr(path, '\\');
-+
-+ if (offset && ++offset && offset < path + PATH_MAX) {
-+ app_name = pa_xmalloc(strlen(offset) + 8);
-+ snprintf(app_name, strlen(offset) + 8, "WINE [%s]", offset);
-+ } else
-+ app_name = pa_xstrdup("WINE Application");
-+
-+ TRACE("App name is \"%s\"\n", app_name);
-+
-+ pa_threaded_mainloop_start(PULSE_ml);
-+ PULSE_context = pa_context_new(pa_threaded_mainloop_get_api(PULSE_ml), app_name);
-+ assert(PULSE_context);
-+ pa_xfree(app_name);
-+
-+ pa_context_set_state_callback(PULSE_context, PULSE_ContextStateCallback, NULL);
-+
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+
-+ TRACE("libpulse protocol version: %u. API Version %u\n", pa_context_get_protocol_version(PULSE_context), PA_API_VERSION);
-+ TRACE("Attempting to connect to pulseaudio server.\n");
-+ if (pa_context_connect(PULSE_context, NULL, 0, NULL) < 0)
-+ goto fail;
-+
-+ /* Wait for connection */
-+ for (;;) {
-+ pa_context_state_t state = pa_context_get_state(PULSE_context);
-+
-+ if (state == PA_CONTEXT_FAILED || state == PA_CONTEXT_TERMINATED)
-+ goto fail;
-+
-+ if (state == PA_CONTEXT_READY)
-+ break;
-+
-+ pa_threaded_mainloop_wait(PULSE_ml);
-+ }
-+
-+ x = pa_context_get_server_protocol_version(PULSE_context);
-+ TRACE("Connected to server %s with protocol version: %i.\n", pa_context_get_server(PULSE_context), x);
-+ if (x < 14)
-+ WARN("Server is old, expect poor latency or buggy-ness!\n");
-+
-+ fake_cvolume.channels = 2;
-+ pa_cvolume_reset(&fake_cvolume, 2);
-+ /* FIXME Translations? */
-+ PULSE_AllocateWaveoutDevice("default", NULL, "Default", &fake_cvolume);
-+ PULSE_AllocateWaveinDevice("default", NULL, "Default", &fake_cvolume);
-+ PULSE_WaitForOperation(pa_context_get_sink_info_list(PULSE_context, PULSE_SinkInfoCallback, &PULSE_WodNumDevs));
-+ PULSE_WaitForOperation(pa_context_get_source_info_list(PULSE_context, PULSE_SourceInfoCallback, &PULSE_WidNumDevs));
-+ TRACE("Found %u output and %u input device(s).\n", PULSE_WodNumDevs - 1, PULSE_WidNumDevs - 1);
-+
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+
-+ return DRV_SUCCESS;
-+
-+fail:
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ ERR("Failed to connect to server\n");
-+ return DRV_FAILURE;
-+}
-+
-+#endif /* HAVE_PULSEAUDIO */
-+
-+/**************************************************************************
-+ * DriverProc (WINEPULSE.@)
-+ */
-+LRESULT CALLBACK PULSE_DriverProc(DWORD_PTR dwDevID, HDRVR hDriv, UINT wMsg,
-+ LPARAM dwParam1, LPARAM dwParam2) {
-+
-+ switch(wMsg) {
-+#ifdef HAVE_PULSEAUDIO
-+ case DRV_LOAD: return PULSE_WaveInit();
-+ case DRV_FREE: return PULSE_WaveClose();
-+ case DRV_OPEN: return 1;
-+ case DRV_CLOSE: return 1;
-+ case DRV_ENABLE: return 1;
-+ case DRV_DISABLE: return 1;
-+ case DRV_QUERYCONFIGURE: return 1;
-+ case DRV_CONFIGURE: MessageBoxA(0, "PulseAudio MultiMedia Driver !", "PulseAudio Driver", MB_OK); return 1;
-+ case DRV_INSTALL: return DRVCNF_RESTART;
-+ case DRV_REMOVE: return DRVCNF_RESTART;
-+#endif
-+ default:
-+ return DefDriverProc(dwDevID, hDriv, wMsg, dwParam1, dwParam2);
-+ }
-+}
-diff --git a/dlls/winepulse.drv/wavein.c b/dlls/winepulse.drv/wavein.c
-new file mode 100644
-index 0000000..7cbc781
---- /dev/null
-+++ b/dlls/winepulse.drv/wavein.c
-@@ -0,0 +1,595 @@
-+/*
-+ * Wine Driver for PulseAudio - WaveIn Functionality
-+ * http://pulseaudio.org/
-+ *
-+ * Copyright 2009 Arthur Taylor <theycallhimart@gmail.com>
-+ *
-+ * Contains code from other wine multimedia drivers.
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library 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
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
-+ */
-+
-+#include "config.h"
-+
-+#include <stdarg.h>
-+
-+#include "windef.h"
-+#include "winbase.h"
-+#include "wingdi.h"
-+#include "winuser.h"
-+#include "winnls.h"
-+#include "mmddk.h"
-+
-+#include <winepulse.h>
-+
-+#include "wine/debug.h"
-+
-+WINE_DEFAULT_DEBUG_CHANNEL(wave);
-+
-+#if HAVE_PULSEAUDIO
-+
-+/*======================================================================*
-+ * WAVE IN specific PulseAudio Callbacks *
-+ *======================================================================*/
-+
-+/**************************************************************************
-+ * widNotifyClient [internal]
-+*/
-+static DWORD widNotifyClient(WINE_WAVEINST* wwi, WORD wMsg, DWORD dwParam1, DWORD dwParam2) {
-+ TRACE("wMsg = 0x%04x dwParm1 = %04X dwParam2 = %04X\n", wMsg, dwParam1, dwParam2);
-+
-+ switch (wMsg) {
-+ case WIM_OPEN:
-+ case WIM_CLOSE:
-+ case WIM_DATA:
-+ if (wwi->wFlags != DCB_NULL &&
-+ !DriverCallback(wwi->waveDesc.dwCallback, wwi->wFlags, (HDRVR)wwi->waveDesc.hWave,
-+ wMsg, wwi->waveDesc.dwInstance, dwParam1, dwParam2)) {
-+ WARN("can't notify client !\n");
-+ return MMSYSERR_ERROR;
-+ }
-+ break;
-+ default:
-+ FIXME("Unknown callback message %u\n", wMsg);
-+ return MMSYSERR_INVALPARAM;
-+ }
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * widRecorder_NextFragment [internal]
-+ *
-+ * Gets the next fragment of data from the server.
-+ */
-+static size_t widRecorder_NextFragment(WINE_WAVEINST *wwi) {
-+ size_t nbytes;
-+
-+ TRACE("()\n");
-+
-+ if (wwi->buffer)
-+ pa_stream_drop(wwi->stream);
-+
-+ pa_stream_peek(wwi->stream, &wwi->buffer, &nbytes);
-+ wwi->buffer_length = nbytes;
-+ wwi->buffer_read_offset = 0;
-+
-+ return nbytes;
-+}
-+
-+
-+/**************************************************************************
-+ * widRecorder_CopyData [internal]
-+ *
-+ * Copys data from the fragments pulse returns to queued buffers.
-+ */
-+static void widRecorder_CopyData(WINE_WAVEINST *wwi) {
-+ LPWAVEHDR lpWaveHdr = wwi->lpQueuePtr;
-+ size_t nbytes;
-+
-+ while (lpWaveHdr && wwi->state == WINE_WS_PLAYING) {
-+
-+ nbytes = min(wwi->buffer_length - wwi->buffer_read_offset, lpWaveHdr->dwBufferLength - lpWaveHdr->dwBytesRecorded);
-+ if (nbytes == 0) break;
-+
-+ TRACE("%u bytes from %p to %p\n",
-+ nbytes,
-+ (PBYTE)wwi->buffer + wwi->buffer_read_offset,
-+ lpWaveHdr->lpData + lpWaveHdr->dwBytesRecorded);
-+
-+ memcpy(lpWaveHdr->lpData + lpWaveHdr->dwBytesRecorded, (PBYTE)wwi->buffer + wwi->buffer_read_offset, nbytes);
-+
-+ lpWaveHdr->dwBytesRecorded += nbytes;
-+ wwi->buffer_read_offset += nbytes;
-+
-+ if (wwi->buffer_read_offset == wwi->buffer_length) {
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ pa_stream_drop(wwi->stream);
-+ if (pa_stream_readable_size(wwi->stream))
-+ widRecorder_NextFragment(wwi);
-+ else {
-+ wwi->buffer = NULL;
-+ wwi->buffer_length = 0;
-+ wwi->buffer_read_offset = 0;
-+ }
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ }
-+
-+ if (lpWaveHdr->dwBytesRecorded == lpWaveHdr->dwBufferLength) {
-+ lpWaveHdr->dwFlags &= ~WHDR_INQUEUE;
-+ lpWaveHdr->dwFlags |= WHDR_DONE;
-+ wwi->lpQueuePtr = lpWaveHdr->lpNext;
-+ widNotifyClient(wwi, WIM_DATA, (DWORD)lpWaveHdr, 0);
-+ lpWaveHdr = wwi->lpQueuePtr;
-+ }
-+ }
-+}
-+
-+/**************************************************************************
-+ * widRecorder [internal]
-+ */
-+static DWORD CALLBACK widRecorder(LPVOID lpParam) {
-+ WINE_WAVEINST *wwi = (WINE_WAVEINST*)lpParam;
-+ LPWAVEHDR lpWaveHdr;
-+ enum win_wm_message msg;
-+ DWORD param;
-+ HANDLE ev;
-+ DWORD wait = INFINITE;
-+
-+ wwi->state = WINE_WS_STOPPED;
-+ SetEvent(wwi->hStartUpEvent);
-+
-+ for (;;) {
-+
-+ if (wwi->state != WINE_WS_PLAYING) {
-+ wait = INFINITE;
-+ } else {
-+ if (wwi->buffer == NULL && pa_stream_readable_size(wwi->stream)) {
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ wait = pa_bytes_to_usec(widRecorder_NextFragment(wwi), &wwi->sample_spec)/1000;
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ }
-+ }
-+
-+ widRecorder_CopyData(wwi);
-+
-+ PULSE_WaitRingMessage(&wwi->msgRing, wait);
-+
-+ while (PULSE_RetrieveRingMessage(&wwi->msgRing, &msg, &param, &ev)) {
-+ TRACE("Received %s %x\n", PULSE_getCmdString(msg), param);
-+
-+ switch (msg) {
-+ case WINE_WM_FEED:
-+ SetEvent(ev);
-+ break;
-+ case WINE_WM_STARTING:
-+ wwi->state = WINE_WS_PLAYING;
-+ if (wwi->lpQueuePtr)
-+ wait = pa_bytes_to_usec(wwi->lpQueuePtr->dwBufferLength, &wwi->sample_spec)/1000;
-+ else
-+ wait = INFINITE;
-+ wwi->dwLastReset = wwi->timing_info->read_index;
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ PULSE_WaitForOperation(pa_stream_cork(wwi->stream, 0, PULSE_StreamSuccessCallback, NULL));
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ SetEvent(ev);
-+ break;
-+ case WINE_WM_HEADER:
-+ lpWaveHdr = (LPWAVEHDR)param;
-+ lpWaveHdr->lpNext = 0;
-+
-+ /* insert buffer at the end of queue */
-+ {
-+ LPWAVEHDR *wh;
-+ for (wh = &(wwi->lpQueuePtr); *wh; wh = &((*wh)->lpNext));
-+ *wh = lpWaveHdr;
-+ }
-+ break;
-+ case WINE_WM_STOPPING:
-+ if (wwi->state != WINE_WS_STOPPED) {
-+ wwi->state = WINE_WS_STOPPED;
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ PULSE_WaitForOperation(pa_stream_cork(wwi->stream, 1, PULSE_StreamSuccessCallback, NULL));
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+
-+ /* return current buffer to app */
-+ lpWaveHdr = wwi->lpQueuePtr;
-+ if (lpWaveHdr) {
-+ LPWAVEHDR lpNext = lpWaveHdr->lpNext;
-+ TRACE("stop %p %p\n", lpWaveHdr, lpWaveHdr->lpNext);
-+ lpWaveHdr->dwFlags &= ~WHDR_INQUEUE;
-+ lpWaveHdr->dwFlags |= WHDR_DONE;
-+ wwi->lpQueuePtr = lpNext;
-+ widNotifyClient(wwi, WIM_DATA, (DWORD)lpWaveHdr, 0);
-+ }
-+ }
-+ SetEvent(ev);
-+ break;
-+ case WINE_WM_RESETTING:
-+ if (wwi->state != WINE_WS_STOPPED) {
-+ wwi->state = WINE_WS_STOPPED;
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ PULSE_WaitForOperation(pa_stream_cork(wwi->stream, 1, PULSE_StreamSuccessCallback, NULL));
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ }
-+
-+ /* return all buffers to the app */
-+ for (lpWaveHdr = wwi->lpPlayPtr ? wwi->lpPlayPtr : wwi->lpQueuePtr; lpWaveHdr; lpWaveHdr = wwi->lpQueuePtr) {
-+ lpWaveHdr->dwFlags &= ~WHDR_INQUEUE;
-+ lpWaveHdr->dwFlags |= WHDR_DONE;
-+ wwi->lpQueuePtr = lpWaveHdr->lpNext;
-+ widNotifyClient(wwi, WIM_DATA, (DWORD)lpWaveHdr, 0);
-+ }
-+
-+ SetEvent(ev);
-+ break;
-+ case WINE_WM_CLOSING:
-+ wwi->hThread = 0;
-+ if ((DWORD)param == 1) {
-+ /* If we are here, the stream failed */
-+ wwi->state = WINE_WS_FAILED;
-+ SetEvent(ev);
-+ PULSE_DestroyRingMessage(&wwi->msgRing);
-+ widNotifyClient(wwi, WIM_CLOSE, 0L, 0L);
-+ wwi->lpPlayPtr = wwi->lpQueuePtr = NULL;
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ pa_stream_disconnect(wwi->stream);
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ TRACE("Thread exiting because of failure.\n");
-+ ExitThread(1);
-+ }
-+ wwi->state = WINE_WS_CLOSED;
-+ SetEvent(ev);
-+ ExitThread(0);
-+ /* shouldn't go here */
-+ default:
-+ FIXME("unknown message %d\n", msg);
-+ break;
-+ } /* switch(msg) */
-+ } /* while(PULSE_RetrieveRingMessage()) */
-+ } /* for (;;) */
-+}
-+
-+/**************************************************************************
-+ * widOpen [internal]
-+ */
-+static DWORD widOpen(WORD wDevID, DWORD_PTR *lpdwUser, LPWAVEOPENDESC lpDesc, DWORD dwFlags) {
-+ WINE_WAVEDEV *wdi;
-+ WINE_WAVEINST *wwi = NULL;
-+ DWORD ret = MMSYSERR_NOERROR;
-+
-+ TRACE("(%u, %p, %08X);\n", wDevID, lpDesc, dwFlags);
-+ if (lpDesc == NULL) {
-+ WARN("Invalid Parameter !\n");
-+ return MMSYSERR_INVALPARAM;
-+ }
-+
-+ if (wDevID >= PULSE_WidNumDevs) {
-+ TRACE("Asked for device %d, but only %d known!\n", wDevID, PULSE_WidNumDevs);
-+ return MMSYSERR_BADDEVICEID;
-+ }
-+ wdi = &WInDev[wDevID];
-+
-+ wwi = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(WINE_WAVEINST));
-+ if (!wwi) return MMSYSERR_NOMEM;
-+ *lpdwUser = (DWORD_PTR)wwi;
-+
-+ /* check to see if format is supported and make pa_sample_spec struct */
-+ if (!PULSE_SetupFormat(lpDesc->lpFormat, &wwi->sample_spec)) {
-+ WARN("Bad format: tag=%04X nChannels=%d nSamplesPerSec=%d !\n",
-+ lpDesc->lpFormat->wFormatTag, lpDesc->lpFormat->nChannels,
-+ lpDesc->lpFormat->nSamplesPerSec);
-+ ret = WAVERR_BADFORMAT;
-+ goto exit;
-+ }
-+
-+ if (TRACE_ON(wave)) {
-+ char t[PA_SAMPLE_SPEC_SNPRINT_MAX];
-+ pa_sample_spec_snprint(t, sizeof(t), &wwi->sample_spec);
-+ TRACE("Sample spec '%s'\n", t);
-+ }
-+
-+ if (dwFlags & WAVE_FORMAT_QUERY) {
-+ TRACE("Query format: tag=%04X nChannels=%d nSamplesPerSec=%d !\n",
-+ lpDesc->lpFormat->wFormatTag, lpDesc->lpFormat->nChannels,
-+ lpDesc->lpFormat->nSamplesPerSec);
-+ ret = MMSYSERR_NOERROR;
-+ goto exit;
-+ }
-+
-+ wwi->wFlags = HIWORD(dwFlags & CALLBACK_TYPEMASK);
-+ wwi->waveDesc = *lpDesc;
-+ PULSE_InitRingMessage(&wwi->msgRing);
-+
-+ wwi->stream = pa_stream_new(PULSE_context, "WaveIn", &wwi->sample_spec, NULL);
-+ if (!wwi->stream) {
-+ ret = WAVERR_BADFORMAT;
-+ goto exit;
-+ }
-+
-+ pa_stream_set_state_callback(wwi->stream, PULSE_StreamStateCallback, wwi);
-+
-+ wwi->buffer_attr.maxlength = (uint32_t)-1;
-+ wwi->buffer_attr.fragsize = pa_bytes_per_second(&wwi->sample_spec) / 100;
-+
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ TRACE("Asking to open %s for recording.\n", wdi->device_name);
-+ pa_stream_connect_record(wwi->stream, wdi->device_name, &wwi->buffer_attr,
-+ PA_STREAM_START_CORKED |
-+ PA_STREAM_AUTO_TIMING_UPDATE);
-+
-+ for (;;) {
-+ pa_context_state_t cstate = pa_context_get_state(PULSE_context);
-+ pa_stream_state_t sstate = pa_stream_get_state(wwi->stream);
-+
-+ if (cstate == PA_CONTEXT_FAILED || cstate == PA_CONTEXT_TERMINATED ||
-+ sstate == PA_STREAM_FAILED || sstate == PA_STREAM_TERMINATED) {
-+ ERR("Failed to connect context object: %s\n", pa_strerror(pa_context_errno(PULSE_context)));
-+ ret = MMSYSERR_NODRIVER;
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ goto exit;
-+ }
-+
-+ if (sstate == PA_STREAM_READY)
-+ break;
-+
-+ pa_threaded_mainloop_wait(PULSE_ml);
-+ }
-+ TRACE("(%p)->stream connected for recording.\n", wwi);
-+
-+ PULSE_WaitForOperation(pa_stream_update_timing_info(wwi->stream, PULSE_StreamSuccessCallback, wwi));
-+
-+ wwi->timing_info = pa_stream_get_timing_info(wwi->stream);
-+ assert(wwi->timing_info);
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+
-+ wwi->hStartUpEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
-+ wwi->hThread = CreateThread(NULL, 0, widRecorder, (LPVOID)wwi, 0, &(wwi->dwThreadID));
-+ if (wwi->hThread)
-+ SetThreadPriority(wwi->hThread, THREAD_PRIORITY_TIME_CRITICAL);
-+ else {
-+ ERR("Thread creation for the widRecorder failed!\n");
-+ ret = MMSYSERR_NOMEM;
-+ goto exit;
-+ }
-+ WaitForSingleObject(wwi->hStartUpEvent, INFINITE);
-+ CloseHandle(wwi->hStartUpEvent);
-+ wwi->hStartUpEvent = INVALID_HANDLE_VALUE;
-+
-+ return widNotifyClient(wwi, WIM_OPEN, 0L, 0L);
-+
-+exit:
-+ if (!wwi)
-+ return ret;
-+
-+ if (wwi->hStartUpEvent != INVALID_HANDLE_VALUE)
-+ CloseHandle(wwi->hStartUpEvent);
-+
-+ if (wwi->msgRing.ring_buffer_size > 0)
-+ PULSE_DestroyRingMessage(&wwi->msgRing);
-+
-+ if (wwi->stream) {
-+ if (pa_stream_get_state(wwi->stream) == PA_STREAM_READY)
-+ pa_stream_disconnect(wwi->stream);
-+ pa_stream_unref(wwi->stream);
-+ }
-+ HeapFree(GetProcessHeap(), 0, wwi);
-+
-+ return ret;
-+}
-+/**************************************************************************
-+ * widClose [internal]
-+ */
-+static DWORD widClose(WORD wDevID, WINE_WAVEINST *wwi) {
-+ DWORD ret;
-+
-+ TRACE("(%u, %p);\n", wDevID, wwi);
-+ if (wDevID >= PULSE_WidNumDevs) {
-+ WARN("Asked for device %d, but only %d known!\n", wDevID, PULSE_WodNumDevs);
-+ return MMSYSERR_INVALHANDLE;
-+ } else if (!wwi) {
-+ WARN("Stream instance invalid.\n");
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ if (wwi->state != WINE_WS_FAILED) {
-+ if (wwi->lpQueuePtr) {
-+ WARN("buffers recording recording !\n");
-+ return WAVERR_STILLPLAYING;
-+ }
-+
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ if (pa_stream_get_state(wwi->stream) == PA_STREAM_READY)
-+ pa_stream_drop(wwi->stream);
-+ pa_stream_disconnect(wwi->stream);
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+
-+ if (wwi->hThread != INVALID_HANDLE_VALUE)
-+ PULSE_AddRingMessage(&wwi->msgRing, WINE_WM_CLOSING, 0, TRUE);
-+
-+ PULSE_DestroyRingMessage(&wwi->msgRing);
-+ }
-+ ret = widNotifyClient(wwi, WIM_CLOSE, 0L, 0L);
-+
-+ pa_stream_unref(wwi->stream);
-+ TRACE("Deallocating record instance.\n");
-+ HeapFree(GetProcessHeap(), 0, wwi);
-+ return ret;
-+}
-+
-+/**************************************************************************
-+ * widAddBuffer [internal]
-+ *
-+ */
-+static DWORD widAddBuffer(WINE_WAVEINST* wwi, LPWAVEHDR lpWaveHdr, DWORD dwSize) {
-+ TRACE("(%p, %p, %08X);\n", wwi, lpWaveHdr, dwSize);
-+
-+ if (!wwi || wwi->state == WINE_WS_FAILED) {
-+ WARN("Stream instance invalid.\n");
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ if (lpWaveHdr->lpData == NULL || !(lpWaveHdr->dwFlags & WHDR_PREPARED))
-+ return WAVERR_UNPREPARED;
-+
-+ if (lpWaveHdr->dwFlags & WHDR_INQUEUE)
-+ return WAVERR_STILLPLAYING;
-+
-+ lpWaveHdr->dwFlags &= ~WHDR_DONE;
-+ lpWaveHdr->dwFlags |= WHDR_INQUEUE;
-+ lpWaveHdr->dwBytesRecorded = 0;
-+ lpWaveHdr->lpNext = 0;
-+
-+ PULSE_AddRingMessage(&wwi->msgRing, WINE_WM_HEADER, (DWORD)lpWaveHdr, FALSE);
-+
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * widRecorderMessage [internal]
-+ */
-+static DWORD widRecorderMessage(WINE_WAVEINST *wwi, enum win_wm_message message) {
-+ if (!wwi || wwi->state == WINE_WS_FAILED) {
-+ WARN("Stream instance invalid.\n");
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ PULSE_AddRingMessage(&wwi->msgRing, message, 0, TRUE);
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * widGetPosition [internal]
-+ */
-+static DWORD widGetPosition(WINE_WAVEINST *wwi, LPMMTIME lpTime, DWORD uSize) {
-+
-+ if (!wwi || wwi->state == WINE_WS_FAILED) {
-+ WARN("Stream instance invalid.\n");
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ if (lpTime == NULL) return MMSYSERR_INVALPARAM;
-+
-+ return PULSE_UsecToMMTime(pa_bytes_to_usec(wwi->timing_info->read_index - wwi->dwLastReset, &wwi->sample_spec), lpTime, &wwi->sample_spec);
-+}
-+
-+/**************************************************************************
-+ * widGetDevCaps [internal]
-+ */
-+static DWORD widGetDevCaps(DWORD wDevID, LPWAVEINCAPSW lpCaps, DWORD dwSize) {
-+ TRACE("(%u, %p, %u);\n", wDevID, lpCaps, dwSize);
-+
-+ if (lpCaps == NULL) return MMSYSERR_NOTENABLED;
-+
-+ if (wDevID >= PULSE_WidNumDevs) {
-+ TRACE("Asked for device %d, but only %d known!\n", wDevID, PULSE_WidNumDevs);
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ memcpy(lpCaps, &(WInDev[wDevID].caps.in), min(dwSize, sizeof(*lpCaps)));
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * widGetNumDevs [internal]
-+ * Context-sanity check here, as if we respond with 0, WINE will move on
-+ * to the next wavein driver.
-+ */
-+static DWORD widGetNumDevs() {
-+ if (pa_context_get_state(PULSE_context) != PA_CONTEXT_READY)
-+ return 0;
-+
-+ return PULSE_WidNumDevs;
-+}
-+
-+/**************************************************************************
-+ * widDevInterfaceSize [internal]
-+ */
-+static DWORD widDevInterfaceSize(UINT wDevID, LPDWORD dwParam1) {
-+ TRACE("(%u, %p)\n", wDevID, dwParam1);
-+
-+ *dwParam1 = MultiByteToWideChar(CP_UNIXCP, 0, WInDev[wDevID].interface_name, -1,
-+ NULL, 0 ) * sizeof(WCHAR);
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * widDevInterface [internal]
-+ */
-+static DWORD widDevInterface(UINT wDevID, PWCHAR dwParam1, DWORD dwParam2) {
-+ if (dwParam2 >= MultiByteToWideChar(CP_UNIXCP, 0, WInDev[wDevID].interface_name, -1,
-+ NULL, 0 ) * sizeof(WCHAR))
-+ {
-+ MultiByteToWideChar(CP_UNIXCP, 0, WInDev[wDevID].interface_name, -1,
-+ dwParam1, dwParam2 / sizeof(WCHAR));
-+ return MMSYSERR_NOERROR;
-+ }
-+ return MMSYSERR_INVALPARAM;
-+}
-+
-+/**************************************************************************
-+ * widDsDesc [internal]
-+ */
-+DWORD widDsDesc(UINT wDevID, PDSDRIVERDESC desc)
-+{
-+ *desc = WInDev[wDevID].ds_desc;
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * widMessage (WINEPULSE.@)
-+ */
-+DWORD WINAPI PULSE_widMessage(UINT wDevID, UINT wMsg, DWORD_PTR dwUser,
-+ DWORD_PTR dwParam1, DWORD_PTR dwParam2) {
-+
-+ switch (wMsg) {
-+ case DRVM_INIT:
-+ case DRVM_EXIT:
-+ case DRVM_ENABLE:
-+ case DRVM_DISABLE:
-+ /* FIXME: Pretend this is supported */
-+ return 0;
-+ case WIDM_OPEN: return widOpen (wDevID, (DWORD_PTR*)dwUser, (LPWAVEOPENDESC)dwParam1, dwParam2);
-+ case WIDM_CLOSE: return widClose (wDevID, (WINE_WAVEINST*)dwUser);
-+ case WIDM_ADDBUFFER: return widAddBuffer ((WINE_WAVEINST*)dwUser, (LPWAVEHDR)dwParam1, dwParam2);
-+ case WIDM_PREPARE: return MMSYSERR_NOTSUPPORTED;
-+ case WIDM_UNPREPARE: return MMSYSERR_NOTSUPPORTED;
-+ case WIDM_GETDEVCAPS: return widGetDevCaps(wDevID, (LPWAVEINCAPSW)dwParam1, dwParam2);
-+ case WIDM_GETNUMDEVS: return widGetNumDevs();
-+ case WIDM_GETPOS: return widGetPosition ((WINE_WAVEINST*)dwUser, (LPMMTIME)dwParam1, dwParam2);
-+ case WIDM_RESET: return widRecorderMessage((WINE_WAVEINST*)dwUser, WINE_WM_RESETTING);
-+ case WIDM_START: return widRecorderMessage((WINE_WAVEINST*)dwUser, WINE_WM_STARTING);
-+ case WIDM_STOP: return widRecorderMessage((WINE_WAVEINST*)dwUser, WINE_WM_STOPPING);
-+ case DRV_QUERYDEVICEINTERFACESIZE: return widDevInterfaceSize(wDevID, (LPDWORD)dwParam1);
-+ case DRV_QUERYDEVICEINTERFACE: return widDevInterface(wDevID, (PWCHAR)dwParam1, dwParam2);
-+ case DRV_QUERYDSOUNDIFACE: return MMSYSERR_NOTSUPPORTED; /* Use emulation, as there is no advantage */
-+ case DRV_QUERYDSOUNDDESC: return widDsDesc(wDevID, (PDSDRIVERDESC)dwParam1);
-+ default:
-+ FIXME("unknown message %d!\n", wMsg);
-+ }
-+ return MMSYSERR_NOTSUPPORTED;
-+}
-+
-+#else /* HAVE_PULSEAUDIO */
-+
-+/**************************************************************************
-+ * widMessage (WINEPULSE.@)
-+ */
-+DWORD WINAPI PULSE_widMessage(WORD wDevID, WORD wMsg, DWORD dwUser,
-+ DWORD dwParam1, DWORD dwParam2) {
-+ FIXME("(%u, %04X, %08X, %08X, %08X):stub\n", wDevID, wMsg, dwUser, dwParam1, dwParam2);
-+ return MMSYSERR_NOTENABLED;
-+}
-+
-+#endif /* HAVE_PULSEAUDIO */
-diff --git a/dlls/winepulse.drv/waveout.c b/dlls/winepulse.drv/waveout.c
-new file mode 100644
-index 0000000..db2c892
---- /dev/null
-+++ b/dlls/winepulse.drv/waveout.c
-@@ -0,0 +1,1086 @@
-+/*
-+ * Wine Driver for PulseAudio - WaveOut Functionality
-+ * http://pulseaudio.org/
-+ *
-+ * Copyright 2009 Arthur Taylor <theycallhimart@gmail.com>
-+ *
-+ * Contains code from other wine multimedia drivers.
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library 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
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
-+ */
-+
-+#include "config.h"
-+
-+#include <stdarg.h>
-+
-+#include "windef.h"
-+#include "winbase.h"
-+#include "wingdi.h"
-+#include "winuser.h"
-+#include "winnls.h"
-+#include "winerror.h"
-+#include "mmddk.h"
-+
-+#include <winepulse.h>
-+
-+#include "wine/debug.h"
-+
-+WINE_DEFAULT_DEBUG_CHANNEL(wave);
-+
-+#if HAVE_PULSEAUDIO
-+
-+/* state diagram for waveOut writing:
-+ *
-+ * +---------+-------------+---------------+---------------------------------+
-+ * | state | function | event | new state |
-+ * +---------+-------------+---------------+---------------------------------+
-+ * | | open() | | STOPPED |
-+ * | PAUSED | write() | | PAUSED |
-+ * | STOPPED | write() | <thrd create> | PLAYING |
-+ * | PLAYING | write() | HEADER | PLAYING |
-+ * | (other) | write() | <error> | |
-+ * | (any) | pause() | PAUSING | PAUSED |
-+ * | PAUSED | restart() | RESTARTING | PLAYING (if no thrd => STOPPED) |
-+ * | PAUSED | reset() | RESETTING | PAUSED |
-+ * | (other) | reset() | RESETTING | STOPPED |
-+ * | (any) | close() | CLOSING | CLOSED |
-+ * +---------+-------------+---------------+---------------------------------+
-+ */
-+
-+/*
-+ * - It is currently unknown if pausing in a loop works the same as expected.
-+ */
-+
-+/*======================================================================*
-+ * WAVE OUT specific PulseAudio Callbacks *
-+ *======================================================================*/
-+
-+/**************************************************************************
-+ * WAVEOUT_StreamRequestCallback
-+ *
-+ * Called by the pulse mainloop whenever it wants audio data.
-+ */
-+static void WAVEOUT_StreamRequestCallback(pa_stream *s, size_t nbytes, void *userdata) {
-+ WINE_WAVEINST *ww = (WINE_WAVEINST*)userdata;
-+
-+ TRACE("Asking to be fed %u bytes\n", nbytes);
-+
-+ /* Make sure that the player/recorder is running */
-+ if (ww->hThread != INVALID_HANDLE_VALUE && ww->msgRing.messages) {
-+ PULSE_AddRingMessage(&ww->msgRing, WINE_WM_FEED, (DWORD)nbytes, FALSE);
-+ }
-+}
-+
-+/**************************************************************************
-+ * WAVEOUT_SinkInputInfoCallback [internal]
-+ *
-+ * Called by the pulse thread. Used for wodGetVolume.
-+ */
-+static void WAVEOUT_SinkInputInfoCallback(pa_context *c, const pa_sink_input_info *i, int eol, void *userdata) {
-+ WINE_WAVEINST* wwo = (WINE_WAVEINST*)userdata;
-+ if (!eol && i) {
-+ for (wwo->volume.channels = 0; wwo->volume.channels != i->volume.channels; wwo->volume.channels++)
-+ wwo->volume.values[wwo->volume.channels] = i->volume.values[wwo->volume.channels];
-+ pa_threaded_mainloop_signal(PULSE_ml, 0);
-+ }
-+}
-+
-+/*======================================================================*
-+ * "Low level" WAVE OUT implementation *
-+ *======================================================================*/
-+
-+/**************************************************************************
-+ * wodPlayer_NotifyClient [internal]
-+ */
-+static DWORD wodPlayer_NotifyClient(WINE_WAVEINST* wwo, WORD wMsg, DWORD dwParam1, DWORD dwParam2) {
-+ TRACE("wMsg = 0x%04x dwParm1 = %04X dwParam2 = %04X\n", wMsg, dwParam1, dwParam2);
-+
-+ switch (wMsg) {
-+ case WOM_OPEN:
-+ case WOM_CLOSE:
-+ case WOM_DONE:
-+ if (wwo->wFlags != DCB_NULL &&
-+ !DriverCallback(wwo->waveDesc.dwCallback, wwo->wFlags, (HDRVR)wwo->waveDesc.hWave,
-+ wMsg, wwo->waveDesc.dwInstance, dwParam1, dwParam2)) {
-+ WARN("can't notify client !\n");
-+ return MMSYSERR_ERROR;
-+ }
-+ break;
-+ default:
-+ FIXME("Unknown callback message %u\n", wMsg);
-+ return MMSYSERR_INVALPARAM;
-+ }
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * wodPlayer_BeginWaveHdr [internal]
-+ *
-+ * Makes the specified lpWaveHdr the currently playing wave header.
-+ * If the specified wave header is a begin loop and we're not already in
-+ * a loop, setup the loop.
-+ */
-+static void wodPlayer_BeginWaveHdr(WINE_WAVEINST* wwo, LPWAVEHDR lpWaveHdr) {
-+ wwo->lpPlayPtr = lpWaveHdr;
-+
-+ if (!lpWaveHdr) return;
-+
-+ if (lpWaveHdr->dwFlags & WHDR_BEGINLOOP) {
-+ if (wwo->lpLoopPtr) {
-+ WARN("Already in a loop. Discarding loop on this header (%p)\n", lpWaveHdr);
-+ } else {
-+ TRACE("Starting loop (%dx) with %p\n", lpWaveHdr->dwLoops, lpWaveHdr);
-+ wwo->lpLoopPtr = lpWaveHdr;
-+ /* Windows does not touch WAVEHDR.dwLoops,
-+ * so we need to make an internal copy */
-+ wwo->dwLoops = lpWaveHdr->dwLoops;
-+ }
-+ }
-+ wwo->dwPartialOffset = 0;
-+}
-+
-+/**************************************************************************
-+ * wodPlayer_PlayPtrNext [internal]
-+ *
-+ * Advance the play pointer to the next waveheader, looping if required.
-+ */
-+static LPWAVEHDR wodPlayer_PlayPtrNext(WINE_WAVEINST* wwo) {
-+ LPWAVEHDR lpWaveHdr = wwo->lpPlayPtr;
-+
-+ wwo->dwPartialOffset = 0;
-+ if ((lpWaveHdr->dwFlags & WHDR_ENDLOOP) && wwo->lpLoopPtr) {
-+ /* We're at the end of a loop, loop if required */
-+ if (--wwo->dwLoops > 0) {
-+ wwo->lpPlayPtr = wwo->lpLoopPtr;
-+ } else {
-+ /* Handle overlapping loops correctly */
-+ if (wwo->lpLoopPtr != lpWaveHdr && (lpWaveHdr->dwFlags & WHDR_BEGINLOOP)) {
-+ FIXME("Correctly handled case ? (ending loop buffer also starts a new loop)\n");
-+ /* shall we consider the END flag for the closing loop or for
-+ * the opening one or for both ???
-+ * code assumes for closing loop only
-+ */
-+ } else {
-+ lpWaveHdr = lpWaveHdr->lpNext;
-+ }
-+ wwo->lpLoopPtr = NULL;
-+ wodPlayer_BeginWaveHdr(wwo, lpWaveHdr);
-+ }
-+ } else {
-+ /* We're not in a loop. Advance to the next wave header */
-+ wodPlayer_BeginWaveHdr(wwo, lpWaveHdr = lpWaveHdr->lpNext);
-+ }
-+
-+ return lpWaveHdr;
-+}
-+
-+/**************************************************************************
-+ * wodPlayer_CheckReleasing [internal]
-+ *
-+ * Check to make sure that playback has not stalled. If stalled ask to reduce
-+ * the size of the buffer on the pulse server side.
-+ */
-+static void wodPlayer_CheckReleasing(WINE_WAVEINST *wwo) {
-+
-+ if (wwo->buffer_attr.tlength == -1 && wwo->lpQueuePtr && !wwo->lpPlayPtr && wwo->state == WINE_WS_PLAYING) {
-+ const pa_buffer_attr *returned;
-+
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+
-+ if (wwo->timing_info->playing) {
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ return;
-+ }
-+
-+ /* Try and adjust the buffer attributes so that playback can start.
-+ * Because of bugs this call does not work on servers 0.9.11 to 0.9.14.
-+ * Once new version of pulseaudio become ubiquitous we will drop
-+ * support for versions before 0.9.15 because they have too many bugs.
-+ */
-+
-+ wwo->buffer_attr.tlength = wwo->timing_info->write_index;
-+ WARN("Asking for new buffer tlength of %llums (%u bytes)\n",
-+ pa_bytes_to_usec(wwo->buffer_attr.tlength, &wwo->sample_spec) / 1000,
-+ wwo->buffer_attr.tlength);
-+
-+ if (pa_context_get_server_protocol_version(PULSE_context) < 15)
-+ ERR("Might get disconnected because of a bug in this pulseaudio server version.\n");
-+
-+ PULSE_WaitForOperation(pa_stream_set_buffer_attr(wwo->stream, &wwo->buffer_attr, PULSE_StreamSuccessCallback, wwo));
-+
-+ returned = pa_stream_get_buffer_attr(wwo->stream);
-+
-+ if (returned->tlength > wwo->timing_info->write_index) {
-+ WARN("Can't get the buffer size needed. Triggering and hoping for the best.\n");
-+ PULSE_WaitForOperation(pa_stream_trigger(wwo->stream, PULSE_StreamSuccessCallback, wwo));
-+ }
-+
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ }
-+}
-+
-+/**************************************************************************
-+ * wodPlayer_NotifyCompletions [internal]
-+ *
-+ * Notifies the client of wavehdr completion starting from lpQueuePtr and
-+ * stopping when hitting an unwritten wavehdr, the beginning of a loop or a
-+ * wavehdr that has not been played, when referenced to the time parameter.
-+ */
-+static DWORD wodPlayer_NotifyCompletions(WINE_WAVEINST* wwo, BOOL force, pa_usec_t time) {
-+ LPWAVEHDR lpWaveHdr = wwo->lpQueuePtr;
-+ pa_usec_t wait;
-+
-+ while (lpWaveHdr) {
-+ if (!force) {
-+ /* Start from lpQueuePtr and keep notifying until:
-+ * - we hit an unwritten wavehdr
-+ * - we hit the beginning of a running loop
-+ * - we hit a wavehdr which hasn't finished playing
-+ */
-+ if (lpWaveHdr == wwo->lpLoopPtr) { TRACE("loop %p\n", lpWaveHdr); return INFINITE; }
-+ if (lpWaveHdr == wwo->lpPlayPtr) { TRACE("play %p\n", lpWaveHdr); return INFINITE; }
-+
-+ /* See if this data has been played, and if not, return when it will have been */
-+ wait = pa_bytes_to_usec(lpWaveHdr->reserved + lpWaveHdr->dwBufferLength, &wwo->sample_spec);
-+ if (wait >= time) {
-+ wait = ((wait - time) + 999) / 1000;
-+ return wait ?: 1;
-+ }
-+ }
-+
-+ /* return the wavehdr */
-+ wwo->lpQueuePtr = lpWaveHdr->lpNext;
-+ lpWaveHdr->dwFlags &= ~WHDR_INQUEUE;
-+ lpWaveHdr->dwFlags |= WHDR_DONE;
-+
-+ wodPlayer_NotifyClient(wwo, WOM_DONE, (DWORD)lpWaveHdr, 0);
-+ lpWaveHdr = wwo->lpQueuePtr;
-+ }
-+ /* No more wavehdrs */
-+ TRACE("Empty queue\n");
-+ return INFINITE;
-+}
-+
-+/**************************************************************************
-+ * wodPlayer_WriteMax [internal]
-+ *
-+ * Write either how much free space or how much data we have, depending on
-+ * which is less
-+ */
-+static int wodPlayer_WriteMax(WINE_WAVEINST *wwo, size_t *space) {
-+ LPWAVEHDR lpWaveHdr = wwo->lpPlayPtr;
-+ size_t nbytes;
-+
-+ nbytes = min(lpWaveHdr->dwBufferLength - wwo->dwPartialOffset, *space);
-+
-+ TRACE("Writing wavehdr %p.%u[%u]\n", lpWaveHdr, wwo->dwPartialOffset, lpWaveHdr->dwBufferLength);
-+ pa_stream_write(wwo->stream, lpWaveHdr->lpData + wwo->dwPartialOffset, nbytes, NULL, 0, PA_SEEK_RELATIVE);
-+
-+ /* Check to see if we wrote all of the wavehdr */
-+ if ((wwo->dwPartialOffset += nbytes) >= lpWaveHdr->dwBufferLength)
-+ wodPlayer_PlayPtrNext(wwo);
-+
-+ *space -= nbytes;
-+
-+ return nbytes;
-+}
-+
-+/**************************************************************************
-+ * wodPlayer_Feed [internal]
-+ *
-+ * Feed as much sound data as we can into pulse using wodPlayer_WriteMax.
-+ * size_t space _must_ have come from either pa_stream_writable_size() or
-+ * the value from a stream write callback, as if it isn't you run the risk
-+ * of a buffer overflow in which audio data will be lost.
-+ */
-+static void wodPlayer_Feed(WINE_WAVEINST* wwo, size_t space) {
-+
-+ /* No more room... no need to try to feed */
-+ if (space == 0) return;
-+
-+ if (!wwo->stream || !PULSE_context ||
-+ pa_context_get_state(PULSE_context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(wwo->stream) != PA_STREAM_READY)
-+ return;
-+
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ /* Feed from a partial wavehdr */
-+ if (wwo->lpPlayPtr && wwo->dwPartialOffset != 0)
-+ wodPlayer_WriteMax(wwo, &space);
-+
-+ /* Feed wavehdrs until we run out of wavehdrs or buffer space */
-+ if (wwo->dwPartialOffset == 0 && wwo->lpPlayPtr) {
-+ do {
-+ wwo->lpPlayPtr->reserved = wwo->timing_info->write_index;
-+ } while (wodPlayer_WriteMax(wwo, &space) > 0 && wwo->lpPlayPtr && space > 0);
-+ }
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+}
-+
-+/**************************************************************************
-+ * wodPlayer_Reset [internal]
-+ *
-+ * wodPlayer helper. Resets current output stream.
-+ */
-+static void wodPlayer_Reset(WINE_WAVEINST* wwo) {
-+ enum win_wm_message msg;
-+ DWORD param;
-+ HANDLE ev;
-+
-+ TRACE("(%p)\n", wwo);
-+
-+ /* Remove any buffer */
-+ wodPlayer_NotifyCompletions(wwo, TRUE, 0);
-+
-+ wwo->lpPlayPtr = wwo->lpQueuePtr = wwo->lpLoopPtr = NULL;
-+ if (wwo->state != WINE_WS_PAUSED)
-+ wwo->state = WINE_WS_STOPPED;
-+
-+ wwo->dwPartialOffset = 0;
-+
-+ if (!wwo->stream ||
-+ !PULSE_context ||
-+ pa_context_get_state(PULSE_context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(wwo->stream) != PA_STREAM_READY) {
-+ return;
-+ }
-+
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+
-+ /* Flush the output buffer of written data*/
-+ PULSE_WaitForOperation(pa_stream_flush(wwo->stream, PULSE_StreamSuccessCallback, NULL));
-+
-+ /* Reset the written byte count as some data may have been flushed */
-+ if (wwo->timing_info->write_index_corrupt)
-+ PULSE_WaitForOperation(pa_stream_update_timing_info(wwo->stream, PULSE_StreamSuccessCallback, wwo));
-+
-+ wwo->dwLastReset = wwo->timing_info->write_index;
-+
-+ /* Return all pending headers in queue */
-+ EnterCriticalSection(&wwo->msgRing.msg_crst);
-+ while (PULSE_RetrieveRingMessage(&wwo->msgRing, &msg, &param, &ev)) {
-+ if (msg != WINE_WM_HEADER) {
-+ SetEvent(ev);
-+ continue;
-+ }
-+ ((LPWAVEHDR)param)->dwFlags &= ~WHDR_INQUEUE;
-+ ((LPWAVEHDR)param)->dwFlags |= WHDR_DONE;
-+ wodPlayer_NotifyClient(wwo, WOM_DONE, param, 0);
-+ }
-+ PULSE_ResetRingMessage(&wwo->msgRing);
-+ LeaveCriticalSection(&wwo->msgRing.msg_crst);
-+
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+}
-+
-+/**************************************************************************
-+ * wodPlayer_GetStreamTime [internal]
-+ *
-+ * Returns how many microseconds into the playback the audio stream is. Does
-+ * not reset to 0 on Reset() calls. Better than pa_stream_get_time() as it is
-+ * more constant.
-+ */
-+static pa_usec_t WAVEOUT_GetStreamTime(WINE_WAVEINST *wwo) {
-+ pa_usec_t time, temp;
-+ const pa_timing_info *t;
-+
-+ t = wwo->timing_info;
-+
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+
-+ time = pa_bytes_to_usec(t->read_index, &wwo->sample_spec);
-+ if (t->read_index_corrupt) {
-+ WARN("Read index corrupt?!\n");
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ return time;
-+ }
-+
-+ if (t->playing) {
-+ time += pa_timeval_age(&t->timestamp);
-+
-+ temp = t->transport_usec + t->configured_sink_usec;
-+ if (temp > wwo->buffer_attr.tlength) temp = wwo->buffer_attr.tlength;
-+ if (temp < time) time -= temp; else time = 0;
-+ }
-+
-+ /* Make sure we haven't claimed to have played more than we have written */
-+ temp = pa_bytes_to_usec(t->write_index, &wwo->sample_spec);
-+ if (time > temp) time = temp;
-+
-+ /* No queued buffer shows an underrun, so we lie */
-+ if (!wwo->lpQueuePtr) time = temp;
-+
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+
-+ return time;
-+}
-+
-+/**************************************************************************
-+ * wodPlayer_ProcessMessages [internal]
-+ */
-+static DWORD wodPlayer_ProcessMessages(WINE_WAVEINST* wwo) {
-+ LPWAVEHDR lpWaveHdr;
-+ enum win_wm_message msg;
-+ DWORD param, msgcount = 0;
-+ HANDLE ev;
-+
-+ while (PULSE_RetrieveRingMessage(&wwo->msgRing, &msg, &param, &ev)) {
-+ TRACE("Received %s %x\n", PULSE_getCmdString(msg), param);
-+ msgcount++;
-+
-+ switch (msg) {
-+ case WINE_WM_PAUSING:
-+ wwo->state = WINE_WS_PAUSED;
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ PULSE_WaitForOperation(pa_stream_cork(wwo->stream, 1, PULSE_StreamSuccessCallback, wwo));
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ SetEvent(ev);
-+ break;
-+
-+ case WINE_WM_RESTARTING:
-+ if (wwo->state == WINE_WS_PAUSED) {
-+ wwo->state = WINE_WS_PLAYING;
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ PULSE_WaitForOperation(pa_stream_cork(wwo->stream, 0, PULSE_StreamSuccessCallback, wwo));
-+ /* If the serverside buffer was near full before pause, we need to
-+ * have space to write soon, so force playback start */
-+ PULSE_WaitForOperation(pa_stream_trigger(wwo->stream, PULSE_StreamSuccessCallback, wwo));
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ }
-+ SetEvent(ev);
-+ break;
-+
-+ case WINE_WM_HEADER:
-+ lpWaveHdr = (LPWAVEHDR)param;
-+ /* insert buffer at the end of queue */
-+ {
-+ LPWAVEHDR *wh;
-+ for (wh = &(wwo->lpQueuePtr); *wh; wh = &((*wh)->lpNext));
-+ *wh = lpWaveHdr;
-+ }
-+
-+ if (!wwo->lpPlayPtr)
-+ wodPlayer_BeginWaveHdr(wwo,lpWaveHdr);
-+ if (wwo->state == WINE_WS_STOPPED)
-+ wwo->state = WINE_WS_PLAYING;
-+
-+ wodPlayer_Feed(wwo, pa_stream_writable_size(wwo->stream));
-+ SetEvent(ev);
-+ break;
-+
-+ case WINE_WM_RESETTING:
-+ wodPlayer_Reset(wwo);
-+ SetEvent(ev);
-+ break;
-+
-+ case WINE_WM_BREAKLOOP:
-+ if (wwo->state == WINE_WS_PLAYING && wwo->lpLoopPtr != NULL)
-+ /* ensure exit at end of current loop */
-+ wwo->dwLoops = 1;
-+ SetEvent(ev);
-+ break;
-+
-+ case WINE_WM_FEED: /* Sent by the pulse thread */
-+ wodPlayer_Feed(wwo, pa_stream_writable_size(wwo->stream));
-+ SetEvent(ev);
-+ break;
-+
-+ case WINE_WM_XRUN: /* Sent by the pulse thread */
-+ WARN("Trying to recover from underrun.\n");
-+ /* Return all the queued wavehdrs, so the app will send more data */
-+ wodPlayer_NotifyCompletions(wwo, FALSE, (pa_usec_t)-1);
-+
-+ /* Underrun means playback started, so don't allow future setting of the buffer attributes */
-+ if (wwo->buffer_attr.tlength == (uint32_t)-1) wwo->buffer_attr.tlength = 0;
-+
-+ SetEvent(ev);
-+ break;
-+
-+ case WINE_WM_CLOSING: /* If param = 1, close because of a failure */
-+ wwo->hThread = NULL;
-+ if ((DWORD)param == 1) {
-+ /* If we are here, the stream has failed */
-+ wwo->state = WINE_WS_FAILED;
-+ SetEvent(ev);
-+ PULSE_DestroyRingMessage(&wwo->msgRing);
-+ wodPlayer_NotifyCompletions(wwo, TRUE, 0);
-+ wodPlayer_NotifyClient(wwo, WOM_CLOSE, 0L, 0L);
-+ wwo->lpPlayPtr = wwo->lpQueuePtr = wwo->lpLoopPtr = NULL;
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ pa_stream_disconnect(wwo->stream);
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ TRACE("Thread exiting because of failure.\n");
-+ ExitThread(1);
-+ /* Stream instance will get dereferenced in wod_Close */
-+ }
-+ wwo->state = WINE_WS_CLOSED;
-+ /* sanity check: this should not happen since the device must have been reset before */
-+ if (wwo->lpQueuePtr || wwo->lpPlayPtr) ERR("out of sync\n");
-+ SetEvent(ev);
-+ TRACE("Thread exiting.\n");
-+ ExitThread(0);
-+ /* shouldn't go here */
-+
-+ default:
-+ FIXME("unknown message %d\n", msg);
-+ break;
-+ }
-+ }
-+
-+ return msgcount;
-+}
-+
-+/**************************************************************************
-+ * wodPlayer [internal]
-+ *
-+ * The thread which is responsible for returning WaveHdrs via DriverCallback,
-+ * the writing of queued WaveHdrs, and all pause / reset stream management.
-+ */
-+static DWORD CALLBACK wodPlayer(LPVOID lpParam) {
-+ WINE_WAVEINST *wwo = (WINE_WAVEINST*)lpParam;
-+ DWORD dwSleepTime = INFINITE;
-+
-+ wwo->state = WINE_WS_STOPPED;
-+ SetEvent(wwo->hStartUpEvent);
-+
-+ /* Wait for the shortest time before an action is required. If there are
-+ * no pending actions, wait forever for a command. */
-+ for (;;) {
-+ TRACE("Waiting %u ms\n", dwSleepTime);
-+ PULSE_WaitRingMessage(&wwo->msgRing, dwSleepTime);
-+
-+ /* If no messages were processed during the timeout it might be because
-+ * audio is not flowing yet, so check. */
-+ if (wodPlayer_ProcessMessages(wwo) == 0)
-+ wodPlayer_CheckReleasing(wwo);
-+
-+ /* If there is audio playing, return headers and get next timeout */
-+ if (wwo->state == WINE_WS_PLAYING) {
-+ dwSleepTime = wodPlayer_NotifyCompletions(wwo, FALSE, WAVEOUT_GetStreamTime(wwo));
-+ } else
-+ dwSleepTime = INFINITE;
-+ }
-+}
-+
-+/**************************************************************************
-+ * wodOpen [internal]
-+ *
-+ * Create a new pa_stream and connect it to a sink while creating a new
-+ * WINE_WAVEINST to represent the device to the windows application.
-+ */
-+static DWORD wodOpen(WORD wDevID, DWORD_PTR *lpdwUser, LPWAVEOPENDESC lpDesc, DWORD dwFlags) {
-+ WINE_WAVEDEV *wdo;
-+ WINE_WAVEINST *wwo = NULL;
-+ DWORD ret = MMSYSERR_NOERROR;
-+ pa_stream_flags_t stream_flags;
-+
-+ TRACE("(%u, %p, %08X);\n", wDevID, lpDesc, dwFlags);
-+ if (lpDesc == NULL) {
-+ WARN("Invalid Parameter!\n");
-+ return MMSYSERR_INVALPARAM;
-+ }
-+
-+ if (wDevID >= PULSE_WodNumDevs) {
-+ WARN("Asked for device %d, but only %d known!\n", wDevID, PULSE_WodNumDevs);
-+ return MMSYSERR_BADDEVICEID;
-+ }
-+ wdo = &WOutDev[wDevID];
-+
-+ wwo = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(WINE_WAVEINST));
-+ if (!wwo) {
-+ WARN("Out of memory?!\n");
-+ return MMSYSERR_NOMEM;
-+ }
-+ *lpdwUser = (DWORD_PTR)wwo;
-+
-+ /* check to see if format is supported and make pa_sample_spec struct */
-+ if (!PULSE_SetupFormat(lpDesc->lpFormat, &wwo->sample_spec)) {
-+ WARN("Bad format: tag=%04X nChannels=%d nSamplesPerSec=%d !\n",
-+ lpDesc->lpFormat->wFormatTag, lpDesc->lpFormat->nChannels,
-+ lpDesc->lpFormat->nSamplesPerSec);
-+ ret = WAVERR_BADFORMAT;
-+ goto exit;
-+ }
-+
-+ /* Check to see if this was just a query */
-+ if (dwFlags & WAVE_FORMAT_QUERY) {
-+ TRACE("Query format: tag=%04X nChannels=%d nSamplesPerSec=%d !\n",
-+ lpDesc->lpFormat->wFormatTag, lpDesc->lpFormat->nChannels,
-+ lpDesc->lpFormat->nSamplesPerSec);
-+ ret = MMSYSERR_NOERROR;
-+ goto exit;
-+ }
-+
-+ if (TRACE_ON(wave)) {
-+ char t[PA_SAMPLE_SPEC_SNPRINT_MAX];
-+ pa_sample_spec_snprint(t, sizeof(t), &wwo->sample_spec);
-+ TRACE("Sample spec '%s'\n", t);
-+ }
-+
-+ wwo->wFlags = HIWORD(dwFlags & CALLBACK_TYPEMASK);
-+ wwo->waveDesc = *lpDesc;
-+ PULSE_InitRingMessage(&wwo->msgRing);
-+
-+ wwo->stream = pa_stream_new(PULSE_context, "WaveOut", &wwo->sample_spec, NULL);
-+ /* If server doesn't support sample_spec, it will error out here (re: 24bit) */
-+ if (!wwo->stream) {
-+ ret = WAVERR_BADFORMAT;
-+ goto exit;
-+ }
-+
-+ /* Setup callbacks */
-+ pa_stream_set_write_callback (wwo->stream, WAVEOUT_StreamRequestCallback, wwo);
-+ pa_stream_set_state_callback (wwo->stream, PULSE_StreamStateCallback, wwo);
-+ pa_stream_set_underflow_callback (wwo->stream, PULSE_StreamUnderflowCallback, wwo);
-+ pa_stream_set_moved_callback (wwo->stream, PULSE_StreamMovedCallback, wwo);
-+ pa_stream_set_suspended_callback (wwo->stream, PULSE_StreamSuspendedCallback, wwo);
-+
-+ /* Setup Stream Flags */
-+ stream_flags = PA_STREAM_AUTO_TIMING_UPDATE;
-+#if PA_API_VERSION >= 12
-+ stream_flags |= PA_STREAM_ADJUST_LATENCY;
-+#endif
-+
-+ /* Blank (but don't send) Buffer Attributes
-+ * Note the maxlength bug on old servers */
-+ wwo->buffer_attr.prebuf = (uint32_t)-1;
-+ wwo->buffer_attr.tlength = (uint32_t)-1;
-+ wwo->buffer_attr.minreq = (uint32_t)-1;
-+ wwo->buffer_attr.maxlength =
-+ pa_context_get_server_protocol_version(PULSE_context) > 12 ?
-+ (uint32_t)-1 : 1048576; /* 2^20 */
-+
-+ /* Try and connect */
-+ TRACE("Connecting stream for playback on %s.\n", wdo->device_name);
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ pa_stream_connect_playback(wwo->stream, wdo->device_name, NULL, stream_flags, NULL, NULL);
-+
-+ /* Wait for connection */
-+ for (;;) {
-+ pa_context_state_t cstate = pa_context_get_state(PULSE_context);
-+ pa_stream_state_t sstate = pa_stream_get_state(wwo->stream);
-+
-+ if (cstate == PA_CONTEXT_FAILED || cstate == PA_CONTEXT_TERMINATED ||
-+ sstate == PA_STREAM_FAILED || sstate == PA_STREAM_TERMINATED) {
-+ ERR("Failed to connect stream context object: %s\n", pa_strerror(pa_context_errno(PULSE_context)));
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ ret = MMSYSERR_NODRIVER;
-+ goto exit;
-+ }
-+
-+ if (sstate == PA_STREAM_READY)
-+ break;
-+
-+ pa_threaded_mainloop_wait(PULSE_ml);
-+ }
-+ TRACE("(%p)->stream connected for playback.\n", wwo);
-+
-+ /* Get the pa_timing_info structure */
-+ PULSE_WaitForOperation(pa_stream_update_timing_info(wwo->stream, PULSE_StreamSuccessCallback, wwo));
-+ wwo->timing_info = pa_stream_get_timing_info(wwo->stream);
-+ assert(wwo->timing_info);
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+
-+ /* Create and start the wodPlayer() thread to manage playback */
-+ wwo->hStartUpEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
-+ wwo->hThread = CreateThread(NULL, 0, wodPlayer, (LPVOID)wwo, 0, &(wwo->dwThreadID));
-+ if (wwo->hThread)
-+ SetThreadPriority(wwo->hThread, THREAD_PRIORITY_TIME_CRITICAL);
-+ else {
-+ ERR("Thread creation for the wodPlayer failed!\n");
-+ ret = MMSYSERR_NOMEM;
-+ goto exit;
-+ }
-+ WaitForSingleObject(wwo->hStartUpEvent, INFINITE);
-+ CloseHandle(wwo->hStartUpEvent);
-+ wwo->hStartUpEvent = INVALID_HANDLE_VALUE;
-+
-+ return wodPlayer_NotifyClient (wwo, WOM_OPEN, 0L, 0L);
-+
-+exit:
-+ if (!wwo)
-+ return ret;
-+
-+ if (wwo->hStartUpEvent != INVALID_HANDLE_VALUE)
-+ CloseHandle(wwo->hStartUpEvent);
-+
-+ if (wwo->msgRing.ring_buffer_size > 0)
-+ PULSE_DestroyRingMessage(&wwo->msgRing);
-+
-+ if (wwo->stream) {
-+ if (pa_stream_get_state(wwo->stream) == PA_STREAM_READY)
-+ pa_stream_disconnect(wwo->stream);
-+ pa_stream_unref(wwo->stream);
-+ wwo->stream = NULL;
-+ }
-+ HeapFree(GetProcessHeap(), 0, wwo);
-+
-+ return ret;
-+}
-+
-+/**************************************************************************
-+ * wodClose [internal]
-+ */
-+static DWORD wodClose(WINE_WAVEINST *wwo) {
-+ DWORD ret;
-+
-+ TRACE("(%p);\n", wwo);
-+ if (!wwo) {
-+ WARN("Stream instance invalid.\n");
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ if (wwo->state != WINE_WS_FAILED) {
-+ if (wwo->lpQueuePtr && wwo->lpPlayPtr) {
-+ WARN("buffers still playing !\n");
-+ return WAVERR_STILLPLAYING;
-+ }
-+
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ PULSE_WaitForOperation(pa_stream_drain(wwo->stream, PULSE_StreamSuccessCallback, NULL));
-+ pa_stream_disconnect(wwo->stream);
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+
-+ if (wwo->hThread != INVALID_HANDLE_VALUE)
-+ PULSE_AddRingMessage(&wwo->msgRing, WINE_WM_CLOSING, 0, TRUE);
-+
-+ PULSE_DestroyRingMessage(&wwo->msgRing);
-+ }
-+
-+ if (wwo->stream)
-+ pa_stream_unref(wwo->stream);
-+ ret = wodPlayer_NotifyClient(wwo, WOM_CLOSE, 0L, 0L);
-+
-+ HeapFree(GetProcessHeap(), 0, wwo);
-+
-+ return ret;
-+}
-+
-+/**************************************************************************
-+ * wodWrite [internal]
-+ */
-+static DWORD wodWrite(WINE_WAVEINST *wwo, LPWAVEHDR lpWaveHdr, DWORD dwSize) {
-+ if (!wwo || wwo->state == WINE_WS_FAILED) {
-+ WARN("Stream instance invalid.\n");
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ if (lpWaveHdr->lpData == NULL || !(lpWaveHdr->dwFlags & WHDR_PREPARED))
-+ return WAVERR_UNPREPARED;
-+
-+ if (lpWaveHdr->dwFlags & WHDR_INQUEUE)
-+ return WAVERR_STILLPLAYING;
-+
-+ lpWaveHdr->dwFlags &= ~WHDR_DONE;
-+ lpWaveHdr->dwFlags |= WHDR_INQUEUE;
-+ lpWaveHdr->lpNext = 0;
-+ lpWaveHdr->reserved = 0;
-+
-+ PULSE_AddRingMessage(&wwo->msgRing, WINE_WM_HEADER, (DWORD)lpWaveHdr, FALSE);
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * wodPause [internal]
-+ */
-+static DWORD wodPause(WINE_WAVEINST *wwo) {
-+ if (!wwo || wwo->state == WINE_WS_FAILED) {
-+ WARN("Stream instance invalid.\n");
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ PULSE_AddRingMessage(&wwo->msgRing, WINE_WM_PAUSING, 0, TRUE);
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * wodGetPosition [internal]
-+ */
-+static DWORD wodGetPosition(WINE_WAVEINST *wwo, LPMMTIME lpTime, DWORD uSize) {
-+ pa_usec_t time, temp;
-+
-+ if (!wwo || wwo->state == WINE_WS_FAILED) {
-+ WARN("Stream instance invalid.\n");
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ if (lpTime == NULL) return MMSYSERR_INVALPARAM;
-+
-+ time = WAVEOUT_GetStreamTime(wwo);
-+
-+ temp = pa_bytes_to_usec(wwo->dwLastReset, &wwo->sample_spec);
-+ if (time > temp) time -= temp; else time = 0;
-+
-+ return PULSE_UsecToMMTime(time, lpTime, &wwo->sample_spec);
-+}
-+/**************************************************************************
-+ * wodBreakLoop [internal]
-+ */
-+static DWORD wodBreakLoop(WINE_WAVEINST *wwo) {
-+ if (!wwo || wwo->state == WINE_WS_FAILED) {
-+ WARN("Stream instance invalid.\n");
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ PULSE_AddRingMessage(&wwo->msgRing, WINE_WM_BREAKLOOP, 0, TRUE);
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * wodGetDevCaps [internal]
-+ */
-+static DWORD wodGetDevCaps(DWORD wDevID, LPWAVEOUTCAPSW lpCaps, DWORD dwSize) {
-+ TRACE("(%u, %p, %u);\n", wDevID, lpCaps, dwSize);
-+
-+ if (lpCaps == NULL) return MMSYSERR_NOTENABLED;
-+
-+ if (wDevID >= PULSE_WodNumDevs) {
-+ TRACE("Asked for device %d, but only %d known!\n", wDevID, PULSE_WodNumDevs);
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ memcpy(lpCaps, &(WOutDev[wDevID].caps.out), min(dwSize, sizeof(*lpCaps)));
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * wodGetNumDevs [internal]
-+ * Context-sanity check here, as if we respond with 0, WINE will move on
-+ * to the next waveout driver.
-+ */
-+static DWORD wodGetNumDevs() {
-+ if (!PULSE_ml || !PULSE_context || pa_context_get_state(PULSE_context) != PA_CONTEXT_READY)
-+ return 0;
-+
-+ return PULSE_WodNumDevs;
-+}
-+
-+/**************************************************************************
-+ * wodGetVolume [internal]
-+ */
-+static DWORD wodGetVolume(WINE_WAVEINST *wwo, LPDWORD lpdwVol) {
-+ float value1, value2;
-+ DWORD wleft, wright;
-+
-+ if (!wwo || wwo->state == WINE_WS_FAILED) {
-+ WARN("Stream instance invalid.\n");
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ TRACE("(%p, %p);\n", wwo, lpdwVol);
-+
-+ if (lpdwVol == NULL)
-+ return MMSYSERR_NOTENABLED;
-+
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ if (wwo->stream && PULSE_context && pa_context_get_state(PULSE_context) == PA_CONTEXT_READY &&
-+ pa_stream_get_state(wwo->stream) == PA_STREAM_READY) {
-+ PULSE_WaitForOperation(pa_context_get_sink_input_info(PULSE_context, pa_stream_get_index(wwo->stream), WAVEOUT_SinkInputInfoCallback, wwo));
-+ }
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+
-+
-+ if (wwo->volume.channels == 2) {
-+ value1 = pa_sw_volume_to_dB(wwo->volume.values[0]);
-+ value2 = pa_sw_volume_to_dB(wwo->volume.values[1]);
-+ } else {
-+ value1 = pa_sw_volume_to_dB(pa_cvolume_avg(&wwo->volume));
-+ value2 = value1;
-+ }
-+
-+ if (value1 < -60)
-+ wleft = 0;
-+ else
-+
-+ if (value2 < -60)
-+ wright = 0;
-+ else
-+ wright = 0xFFFFl - ((value2 / -60)*(float)0xFFFFl);
-+
-+ if (wleft > 0xFFFFl)
-+ wleft = 0xFFFFl;
-+ if (wright > 0xFFFFl)
-+ wright = 0xFFFFl;
-+
-+ *lpdwVol = (WORD)wleft + (WORD)(wright << 16);
-+
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * wodSetVolume [internal]
-+ */
-+static DWORD wodSetVolume(WINE_WAVEINST *wwo, DWORD dwParam1) {
-+ double value1, value2;
-+
-+ TRACE("(%p, %08X);\n", wwo, dwParam1);
-+ if (!wwo || wwo->state == WINE_WS_FAILED) {
-+ WARN("Stream instance invalid.\n");
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ /* waveOut volumes are /supposed/ to be logarithmic */
-+ value1 = LOWORD(dwParam1) == 0 ? PA_DECIBEL_MININFTY : ((float)(0xFFFFl - LOWORD(dwParam1))/0xFFFFl) * -60.0;
-+ value2 = HIWORD(dwParam1) == 0 ? PA_DECIBEL_MININFTY : ((float)(0xFFFFl - HIWORD(dwParam1))/0xFFFFl) * -60.0;
-+
-+ if (wwo->sample_spec.channels == 2) {
-+ wwo->volume.channels = 2;
-+ wwo->volume.values[0] = pa_sw_volume_from_dB(value1);
-+ wwo->volume.values[1] = pa_sw_volume_from_dB(value2);
-+ } else {
-+ if (value1 != value2) FIXME("Non-stereo streams can't pan!\n");
-+ wwo->volume.channels = wwo->sample_spec.channels;
-+ pa_cvolume_set(&wwo->volume, wwo->volume.channels, pa_sw_volume_from_dB(max(value1, value2)));
-+ }
-+
-+ if (TRACE_ON(wave)) {
-+ char s[PA_CVOLUME_SNPRINT_MAX];
-+ pa_cvolume_snprint(s, PA_CVOLUME_SNPRINT_MAX, &wwo->volume);
-+ TRACE("%s\n", s);
-+ }
-+
-+ pa_threaded_mainloop_lock(PULSE_ml);
-+ if (!wwo->stream || !PULSE_context || pa_context_get_state(PULSE_context) != PA_CONTEXT_READY ||
-+ pa_stream_get_state(wwo->stream) != PA_STREAM_READY || !pa_cvolume_valid(&wwo->volume)) {
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ return MMSYSERR_NOERROR;
-+ }
-+
-+ PULSE_WaitForOperation(pa_context_set_sink_input_volume(PULSE_context,
-+ pa_stream_get_index(wwo->stream), &wwo->volume,
-+ PULSE_ContextSuccessCallback, wwo));
-+ pa_threaded_mainloop_unlock(PULSE_ml);
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * wodRestart [internal]
-+ */
-+static DWORD wodRestart(WINE_WAVEINST *wwo) {
-+ if (!wwo || wwo->state == WINE_WS_FAILED) {
-+ WARN("Stream instance invalid.\n");
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ if (wwo->state == WINE_WS_PAUSED)
-+ PULSE_AddRingMessage(&wwo->msgRing, WINE_WM_RESTARTING, 0, TRUE);
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * wodReset [internal]
-+ */
-+static DWORD wodReset(WINE_WAVEINST *wwo) {
-+ if (!wwo || wwo->state == WINE_WS_FAILED) {
-+ WARN("Stream instance invalid.\n");
-+ return MMSYSERR_INVALHANDLE;
-+ }
-+
-+ PULSE_AddRingMessage(&wwo->msgRing, WINE_WM_RESETTING, 0, TRUE);
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * wodDevInterfaceSize [internal]
-+ */
-+static DWORD wodDevInterfaceSize(UINT wDevID, LPDWORD dwParam1) {
-+
-+ *dwParam1 = MultiByteToWideChar(CP_ACP, 0, WOutDev[wDevID].interface_name, -1, NULL, 0) * sizeof(WCHAR);
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * wodDevInterface [internal]
-+ */
-+static DWORD wodDevInterface(UINT wDevID, PWCHAR dwParam1, DWORD dwParam2) {
-+ if (dwParam2 >= MultiByteToWideChar(CP_ACP, 0, WOutDev[wDevID].interface_name, -1,
-+ NULL, 0 ) * sizeof(WCHAR))
-+ {
-+ MultiByteToWideChar(CP_ACP, 0, WOutDev[wDevID].interface_name, -1,
-+ dwParam1, dwParam2 / sizeof(WCHAR));
-+ return MMSYSERR_NOERROR;
-+ }
-+ return MMSYSERR_INVALPARAM;
-+}
-+
-+DWORD wodDsDesc(UINT wDevID, PDSDRIVERDESC desc) {
-+ TRACE("(%u, %p)\n", wDevID, desc);
-+ *desc = WOutDev[wDevID].ds_desc;
-+ return MMSYSERR_NOERROR;
-+}
-+
-+/**************************************************************************
-+ * wodMessage (WINEPULSE.@)
-+ */
-+DWORD WINAPI PULSE_wodMessage(UINT wDevID, UINT wMsg, DWORD_PTR dwUser, DWORD_PTR dwParam1, DWORD_PTR dwParam2) {
-+
-+ switch (wMsg) {
-+
-+ case DRVM_INIT:
-+ case DRVM_EXIT:
-+ case DRVM_ENABLE:
-+ case DRVM_DISABLE:
-+ return 0;
-+
-+ /* WaveOut Playback related functions */
-+ case WODM_OPEN: return wodOpen (wDevID, (DWORD_PTR*)dwUser, (LPWAVEOPENDESC)dwParam1, dwParam2);
-+ case WODM_CLOSE: return wodClose ((WINE_WAVEINST*)dwUser);
-+ case WODM_WRITE: return wodWrite ((WINE_WAVEINST*)dwUser, (LPWAVEHDR)dwParam1, dwParam2);
-+ case WODM_PAUSE: return wodPause ((WINE_WAVEINST*)dwUser);
-+ case WODM_GETPOS: return wodGetPosition ((WINE_WAVEINST*)dwUser, (LPMMTIME)dwParam1, dwParam2);
-+ case WODM_BREAKLOOP: return wodBreakLoop ((WINE_WAVEINST*)dwUser);
-+ case WODM_RESTART: return wodRestart ((WINE_WAVEINST*)dwUser);
-+ case WODM_RESET: return wodReset ((WINE_WAVEINST*)dwUser);
-+
-+ case WODM_GETVOLUME: return wodGetVolume ((WINE_WAVEINST*)dwUser, (LPDWORD)dwParam1);
-+ case WODM_SETVOLUME: return wodSetVolume ((WINE_WAVEINST*)dwUser, dwParam1);
-+
-+ case WODM_PREPARE:
-+ case WODM_UNPREPARE:
-+
-+ case WODM_GETPITCH:
-+ case WODM_SETPITCH:
-+
-+ case WODM_GETPLAYBACKRATE:
-+ case WODM_SETPLAYBACKRATE:
-+ return MMSYSERR_NOTSUPPORTED;
-+
-+ /* Device enumeration, directsound and capabilities */
-+ case WODM_GETDEVCAPS: return wodGetDevCaps (wDevID, (LPWAVEOUTCAPSW)dwParam1, dwParam2);
-+ case WODM_GETNUMDEVS: return wodGetNumDevs ();
-+ case DRV_QUERYDEVICEINTERFACESIZE: return wodDevInterfaceSize (wDevID, (LPDWORD)dwParam1);
-+ case DRV_QUERYDEVICEINTERFACE: return wodDevInterface (wDevID, (PWCHAR)dwParam1, dwParam2);
-+ case DRV_QUERYDSOUNDIFACE: return MMSYSERR_NOTSUPPORTED;
-+ case DRV_QUERYDSOUNDDESC: return wodDsDesc (wDevID, (PDSDRIVERDESC)dwParam1);
-+
-+ default:
-+ FIXME("unknown message %d!\n", wMsg);
-+ }
-+ return MMSYSERR_NOTSUPPORTED;
-+}
-+
-+#else /* !HAVE_PULSEAUDIO */
-+
-+/**************************************************************************
-+ * wodMessage (WINEPULSE.@)
-+ */
-+DWORD WINAPI PULSE_wodMessage(WORD wDevID, WORD wMsg, DWORD dwUser,
-+ DWORD dwParam1, DWORD dwParam2) {
-+ FIXME("(%u, %04X, %08X, %08X, %08X):stub\n", wDevID, wMsg, dwUser,
-+ dwParam1, dwParam2);
-+ return MMSYSERR_NOTENABLED;
-+}
-+
-+#endif /* HAVE_PULSEAUDIO */
-diff --git a/dlls/winepulse.drv/winepulse.drv.spec b/dlls/winepulse.drv/winepulse.drv.spec
-new file mode 100644
-index 0000000..1b49460
---- /dev/null
-+++ b/dlls/winepulse.drv/winepulse.drv.spec
-@@ -0,0 +1,3 @@
-+@ stdcall -private DriverProc(long long long long long long) PULSE_DriverProc
-+@ stdcall -private wodMessage(long long long long long long) PULSE_wodMessage
-+@ stdcall -private widMessage(long long long long long long) PULSE_widMessage
-diff --git a/dlls/winepulse.drv/winepulse.h b/dlls/winepulse.drv/winepulse.h
-new file mode 100644
-index 0000000..4a834cd
---- /dev/null
-+++ b/dlls/winepulse.drv/winepulse.h
-@@ -0,0 +1,196 @@
-+/* Definitions for PulseAudio Wine Driver
-+ *
-+ * Copyright 2009 Arthur Taylor <theycallhimart@gmail.com>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library 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
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
-+ */
-+
-+#ifndef __WINE_CONFIG_H
-+# error You must include config.h to use this header
-+#endif
-+
-+#if defined(HAVE_PULSEAUDIO) && !defined(__WINEPULSE_H)
-+#define __WINEPULSE_H
-+
-+#include "mmreg.h"
-+#include "dsound.h"
-+#include "dsdriver.h"
-+
-+#include "ks.h"
-+#include "ksmedia.h"
-+#include "ksguid.h"
-+
-+#include <pulse/pulseaudio.h>
-+
-+/* state diagram for waveOut writing:
-+ *
-+ * +---------+-------------+---------------+---------------------------------+
-+ * | state | function | event | new state |
-+ * +---------+-------------+---------------+---------------------------------+
-+ * | | open() | | STOPPED |
-+ * | PAUSED | write() | | PAUSED |
-+ * | STOPPED | write() | <thrd create> | PLAYING |
-+ * | PLAYING | write() | HEADER | PLAYING |
-+ * | (other) | write() | <error> | |
-+ * | (any) | pause() | PAUSING | PAUSED |
-+ * | PAUSED | restart() | RESTARTING | PLAYING (if no thrd => STOPPED) |
-+ * | (any) | reset() | RESETTING | STOPPED |
-+ * | (any) | close() | CLOSING | CLOSED |
-+ * +---------+-------------+---------------+---------------------------------+
-+ */
-+
-+/* states of the playing device */
-+#define WINE_WS_PLAYING 1
-+#define WINE_WS_PAUSED 2
-+#define WINE_WS_STOPPED 3
-+#define WINE_WS_CLOSED 4
-+#define WINE_WS_FAILED 5
-+
-+#define PULSE_ALL_FORMATS \
-+ WAVE_FORMAT_1M08 | /* Mono 11025Hz 8-bit */\
-+ WAVE_FORMAT_1M16 | /* Mono 11025Hz 16-bit */\
-+ WAVE_FORMAT_1S08 | /* Stereo 11025Hz 8-bit */\
-+ WAVE_FORMAT_1S16 | /* Stereo 11025Hz 16-bit */\
-+ WAVE_FORMAT_2M08 | /* Mono 22050Hz 8-bit */\
-+ WAVE_FORMAT_2M16 | /* Mono 22050Hz 16-bit */\
-+ WAVE_FORMAT_2S08 | /* Stereo 22050Hz 8-bit */\
-+ WAVE_FORMAT_2S16 | /* Stereo 22050Hz 16-bit */\
-+ WAVE_FORMAT_4M08 | /* Mono 44100Hz 8-bit */\
-+ WAVE_FORMAT_4M16 | /* Mono 44100Hz 16-bit */\
-+ WAVE_FORMAT_4S08 | /* Stereo 44100Hz 8-bit */\
-+ WAVE_FORMAT_4S16 | /* Stereo 44100Hz 16-bit */\
-+ WAVE_FORMAT_48M08 | /* Mono 48000Hz 8-bit */\
-+ WAVE_FORMAT_48S08 | /* Stereo 48000Hz 8-bit */\
-+ WAVE_FORMAT_48M16 | /* Mono 48000Hz 16-bit */\
-+ WAVE_FORMAT_48S16 | /* Stereo 48000Hz 16-bit */\
-+ WAVE_FORMAT_96M08 | /* Mono 96000Hz 8-bit */\
-+ WAVE_FORMAT_96S08 | /* Stereo 96000Hz 8-bit */\
-+ WAVE_FORMAT_96M16 | /* Mono 96000Hz 16-bit */\
-+ WAVE_FORMAT_96S16 /* Stereo 96000Hz 16-bit */
-+
-+/* events to be sent to device */
-+enum win_wm_message {
-+ WINE_WM_PAUSING = WM_USER + 1, WINE_WM_RESTARTING, WINE_WM_RESETTING, WINE_WM_HEADER,
-+ WINE_WM_BREAKLOOP, WINE_WM_CLOSING, WINE_WM_STARTING, WINE_WM_STOPPING, WINE_WM_XRUN, WINE_WM_FEED
-+};
-+
-+typedef struct {
-+ enum win_wm_message msg; /* message identifier */
-+ DWORD param; /* parameter for this message */
-+ HANDLE hEvent; /* if message is synchronous, handle of event for synchro */
-+} PULSE_MSG;
-+
-+/* implement an in-process message ring for better performance
-+ * (compared to passing thru the server)
-+ * this ring will be used by the input (resp output) record (resp playback) routine
-+ */
-+typedef struct {
-+ PULSE_MSG * messages;
-+ int ring_buffer_size;
-+ int msg_tosave;
-+ int msg_toget;
-+/* Either pipe or event is used, but that is defined in pulse.c,
-+ * since this is a global header we define both here */
-+ int msg_pipe[2];
-+ HANDLE msg_event;
-+ CRITICAL_SECTION msg_crst;
-+} PULSE_MSG_RING;
-+
-+typedef struct WINE_WAVEDEV WINE_WAVEDEV;
-+typedef struct WINE_WAVEINST WINE_WAVEINST;
-+
-+/* Per-playback/record device */
-+struct WINE_WAVEDEV {
-+ char interface_name[MAXPNAMELEN * 2];
-+ char *device_name;
-+ pa_cvolume volume;
-+
-+ union {
-+ WAVEOUTCAPSW out;
-+ WAVEINCAPSW in;
-+ } caps;
-+
-+ /* DirectSound stuff */
-+ DSDRIVERDESC ds_desc;
-+ DSDRIVERCAPS ds_caps;
-+};
-+
-+/* Per-playback/record instance */
-+struct WINE_WAVEINST {
-+ volatile INT state; /* one of the WINE_WS_ manifest constants */
-+ WAVEOPENDESC waveDesc;
-+ WORD wFlags;
-+
-+ /* PulseAudio specific data */
-+ pa_stream *stream; /* The PulseAudio stream */
-+ const pa_timing_info *timing_info; /* The timing info structure for the stream */
-+ pa_sample_spec sample_spec; /* Sample spec of this stream / device */
-+ pa_cvolume volume; /* Software volume of the stream */
-+ pa_buffer_attr buffer_attr; /* Buffer attribute, may not be used */
-+
-+ /* waveIn / waveOut wavaHdr */
-+ LPWAVEHDR lpQueuePtr; /* Start of queued WAVEHDRs (waiting to be notified) */
-+ LPWAVEHDR lpPlayPtr; /* Start of not yet fully written buffers */
-+ DWORD dwPartialOffset; /* Offset of not yet written bytes in lpPlayPtr */
-+ LPWAVEHDR lpLoopPtr; /* Pointer of first buffer in loop, if any */
-+ DWORD dwLoops; /* Private copy of loop counter */
-+ DWORD dwLastReset; /* When the last reset occured, as pa stream time doesn't reset */
-+
-+ /* waveIn specific */
-+ const void *buffer; /* Pointer to the latest data fragment for recording streams */
-+ DWORD buffer_length; /* How large the latest data fragment is */
-+ DWORD buffer_read_offset; /* How far into latest data fragment we last read */
-+
-+ /* Thread communication and synchronization stuff */
-+ HANDLE hStartUpEvent;
-+ HANDLE hThread;
-+ DWORD dwThreadID;
-+ PULSE_MSG_RING msgRing;
-+};
-+
-+/* We establish one context per instance, so make it global to the lib */
-+pa_context *PULSE_context; /* Connection Context */
-+pa_threaded_mainloop *PULSE_ml; /* PA Runtime information */
-+
-+/* WaveIn / WaveOut devices */
-+WINE_WAVEDEV *WOutDev;
-+WINE_WAVEDEV *WInDev;
-+DWORD PULSE_WodNumDevs;
-+DWORD PULSE_WidNumDevs;
-+
-+/* pulse.c: PulseAudio Async Callbacks */
-+void PULSE_StreamSuccessCallback(pa_stream *s, int success, void *userdata);
-+void PULSE_StreamStateCallback(pa_stream *s, void *userdata);
-+void PULSE_StreamUnderflowCallback(pa_stream *s, void *userdata);
-+void PULSE_StreamSuspendedCallback(pa_stream *s, void *userdata);
-+void PULSE_StreamMovedCallback(pa_stream *s, void *userdata);
-+void PULSE_ContextSuccessCallback(pa_context *c, int success, void *userdata);
-+
-+/* pulse.c: General Functions */
-+void PULSE_WaitForOperation(pa_operation *o);
-+BOOL PULSE_SetupFormat(LPWAVEFORMATEX wf, pa_sample_spec *ss);
-+HRESULT PULSE_UsecToMMTime(pa_usec_t time, LPMMTIME lpTime, const pa_sample_spec *ss);
-+
-+/* pulse.c: Message Ring */
-+int PULSE_InitRingMessage(PULSE_MSG_RING* omr);
-+int PULSE_DestroyRingMessage(PULSE_MSG_RING* omr);
-+void PULSE_ResetRingMessage(PULSE_MSG_RING* omr);
-+void PULSE_WaitRingMessage(PULSE_MSG_RING* omr, DWORD sleep);
-+int PULSE_AddRingMessage(PULSE_MSG_RING* omr, enum win_wm_message msg, DWORD param, BOOL wait);
-+int PULSE_RetrieveRingMessage(PULSE_MSG_RING* omr, enum win_wm_message *msg, DWORD *param, HANDLE *hEvent);
-+
-+/* pulse.c: Tracing */
-+const char * PULSE_getCmdString(enum win_wm_message msg);
-+#endif
diff --git a/app-misc/mc/files/chdir-4.6.0.gentoo b/app-misc/mc/files/chdir-4.6.0.gentoo
deleted file mode 100644
index 9332ba0..0000000
--- a/app-misc/mc/files/chdir-4.6.0.gentoo
+++ /dev/null
@@ -1,11 +0,0 @@
-
-MC ()
-{
- mkdir -p $HOME/.mc/tmp 2> /dev/null
- chmod 700 $HOME/.mc/tmp
- MC=$HOME/.mc/tmp/mc-$$
- /usr/bin/mc -P "$MC"
- cd "`cat $MC`"
- rm -f "$MC"
- unset MC;
-}
diff --git a/app-misc/mc/files/ebuild.syntax b/app-misc/mc/files/ebuild.syntax
deleted file mode 100644
index 2148ce2..0000000
--- a/app-misc/mc/files/ebuild.syntax
+++ /dev/null
@@ -1,87 +0,0 @@
-context default
- keyword linestart HOMEPAGE brightcyan
- keyword linestart DESCRIPTION brightcyan
- keyword linestart SRC_URI brightcyan
- keyword linestart LICENSE brightcyan
- keyword linestart SLOT brightcyan
- keyword linestart KEYWORDS brightcyan
- keyword linestart IUSE brightcyan
- keyword linestart RESTRICT brightcyan
- keyword linestart DEPEND brightcyan
- keyword linestart RDEPEND brightcyan
- keyword linestart EAPI brightcyan
- keyword linestart S brightcyan
-
- keyword whole local yellow
- keyword whole use yellow
- keyword whole has_version yellow
- keyword whole best_version yellow
- keyword whole use_with yellow
- keyword whole use_enable yellow
- keyword whole keepdir yellow
- keyword whole econf yellow
- keyword whole einstall yellow
- keyword whole die yellow
- keyword whole einfo yellow
- keyword whole elog yellow
- keyword whole emake yellow
- keyword whole eerror yellow
- keyword whole epatch yellow
- keyword whole ebegin yellow
- keyword whole eend yellow
- keyword whole ewarn yellow
- keyword whole unpack yellow
-
- keyword whole diropts yellow
- keyword whole dobin yellow
- keyword whole docinto yellow
- keyword whole dodir yellow
- keyword whole dodoc yellow
- keyword whole doexe yellow
- keyword whole dohard yellow
- keyword whole dohtml yellow
- keyword whole doinfo yellow
- keyword whole doins yellow
- keyword whole dolib.a yellow
- keyword whole dolib.so yellow
- keyword whole dolib yellow
- keyword whole doman yellow
- keyword whole dosbin yellow
- keyword whole dosym yellow
- keyword whole exeinto yellow
- keyword whole exeopts yellow
- keyword whole fowners yellow
- keyword whole fperms yellow
- keyword whole insinto yellow
- keyword whole insopts yellow
- keyword whole into yellow
- keyword whole libopts yellow
- keyword whole newbin yellow
- keyword whole newdoc yellow
- keyword whole newexe yellow
- keyword whole newins yellow
- keyword whole newman yellow
- keyword whole newsbin yellow
- keyword whole prepall yellow
- keyword whole prepalldocs yellow
- keyword whole prepallinfo yellow
- keyword whole prepallman yellow
-
- keyword = yellow
- keyword : yellow
- keyword ${+} brightgreen
-
- keyword linestart abcdefghijklmnopqrstuvwxyz_\(\) brightmagenta
-
- keyword *() brightcyan
-
- keyword { magenta
- keyword } magenta
-
-context linestart inherit \n magenta
- keyword whole inherit yellow
-
-context # \n red
-
-context " " green
- keyword wholeright ${+} brightgreen
diff --git a/app-misc/mc/files/mc-4.6.0-7zip.patch b/app-misc/mc/files/mc-4.6.0-7zip.patch
deleted file mode 100644
index 29cda12..0000000
--- a/app-misc/mc/files/mc-4.6.0-7zip.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- lib/mc.ext.in.old 2003-01-30 17:48:33.000000000 +0200
-+++ lib/mc.ext.in 2004-11-08 16:51:59.429212632 +0200
-@@ -143,6 +143,12 @@
- shell/.info
- Open=info -f %f
-
-+# 7-Zip, Needs to be before manual page definitions
-+regex/\.(7z|7Z)$
-+ View=%view{ascii} 7za l %f 2>/dev/null
-+ Open=%cd %p#u7z
-+
-+
- # Manual page
- # Exception - .so libraries are not manual pages
- regex/\.(so|so\.[0-9\.]*)$
---- vfs/extfs/extfs.ini.old 2002-12-09 16:16:33.000000000 +0200
-+++ vfs/extfs/extfs.ini 2004-10-25 13:56:04.000000000 +0300
-@@ -7,6 +7,7 @@
- ulha
- urar
- uha
-+u7z
- # For arj usage you need a special patch to unarj (see unarj.diff)
- uarj
-
diff --git a/app-misc/mc/files/mc-4.6.0-ebuild-syntax.patch b/app-misc/mc/files/mc-4.6.0-ebuild-syntax.patch
deleted file mode 100644
index ce59dd3..0000000
--- a/app-misc/mc/files/mc-4.6.0-ebuild-syntax.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- Syntax 2004-08-20 22:52:37.145034864 +0200
-+++ Syntax.new 2004-08-20 22:52:19.000000000 +0200
-@@ -116,6 +116,9 @@
- file Don_t_match_me Mail\sfolder ^From\s
- include mail.syntax
-
-+file .\*\\.(ebuild|eclass)$ Gentoo\sEbuild
-+include ebuild.syntax
-+
- file .\* unknown
- include unknown.syntax
-
diff --git a/app-misc/mc/files/mc-4.6.1-bash-all.patch b/app-misc/mc/files/mc-4.6.1-bash-all.patch
deleted file mode 100644
index d161281..0000000
--- a/app-misc/mc/files/mc-4.6.1-bash-all.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/src/subshell.c 2006-05-08 23:11:48.000000000 +0200
-+++ b/src/subshell.c 2006-10-28 15:40:46.000000000 +0200
-@@ -745,29 +745,13 @@ subshell_name_quote (const char *s)
- memcpy (d, cmd_start, len);
- d += len;
-
-- /*
-- * Print every character in octal format with the leading backslash.
-- * tcsh and zsh may require 4-digit octals, bash < 2.05b doesn't like them.
-- */
-- if (subshell_type == BASH) {
- for (; *s; s++) {
-- /* Must quote numbers, so that they are not glued to octals */
- if (isalpha ((unsigned char) *s)) {
- *d++ = (unsigned char) *s;
- } else {
-- sprintf (d, "\\%03o", (unsigned char) *s);
-- d += 4;
-- }
-- }
-- } else {
-- for (; *s; s++) {
-- if (isalnum ((unsigned char) *s)) {
-- *d++ = (unsigned char) *s;
-- } else {
- sprintf (d, "\\0%03o", (unsigned char) *s);
- d += 5;
- }
-- }
- }
-
- memcpy (d, common_end, sizeof (common_end));
-
diff --git a/app-misc/mc/files/mc-4.6.1-charset-locale-aliases.patch b/app-misc/mc/files/mc-4.6.1-charset-locale-aliases.patch
deleted file mode 100644
index 53aedd0..0000000
--- a/app-misc/mc/files/mc-4.6.1-charset-locale-aliases.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -ruN mc-4.6.1.orig/intl/Makefile.in mc-4.6.1/intl/Makefile.in
---- mc-4.6.1.orig/intl/Makefile.in 2007-03-06 22:31:02.000000000 +0300
-+++ mc-4.6.1/intl/Makefile.in 2007-03-06 22:38:52.000000000 +0300
-@@ -156,12 +156,7 @@
- test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
- temp=$(DESTDIR)$(libdir)/t-charset.alias; \
- dest=$(DESTDIR)$(libdir)/charset.alias; \
-- if test -f $(DESTDIR)$(libdir)/charset.alias; then \
-- orig=$(DESTDIR)$(libdir)/charset.alias; \
-- sed -f ref-add.sed $$orig > $$temp; \
-- $(INSTALL_DATA) $$temp $$dest; \
-- rm -f $$temp; \
-- else \
-+ if ! test -f $(libdir)/charset.alias; then \
- if test @GLIBC21@ = no; then \
- orig=charset.alias; \
- sed -f ref-add.sed $$orig > $$temp; \
-@@ -170,14 +165,14 @@
- fi; \
- fi; \
- $(mkinstalldirs) $(DESTDIR)$(localedir); \
-- test -f $(DESTDIR)$(localedir)/locale.alias \
-- && orig=$(DESTDIR)$(localedir)/locale.alias \
-- || orig=$(srcdir)/locale.alias; \
-- temp=$(DESTDIR)$(localedir)/t-locale.alias; \
-- dest=$(DESTDIR)$(localedir)/locale.alias; \
-- sed -f ref-add.sed $$orig > $$temp; \
-- $(INSTALL_DATA) $$temp $$dest; \
-- rm -f $$temp; \
-+ if ! test -f $(localedir)/locale.alias; then \
-+ orig=$(srcdir)/locale.alias; \
-+ temp=$(DESTDIR)$(localedir)/t-locale.alias; \
-+ dest=$(DESTDIR)$(localedir)/locale.alias; \
-+ sed -f ref-add.sed $$orig > $$temp; \
-+ $(INSTALL_DATA) $$temp $$dest; \
-+ rm -f $$temp; \
-+ fi; \
- else \
- : ; \
- fi
diff --git a/app-misc/mc/files/mc-4.6.1-find.patch b/app-misc/mc/files/mc-4.6.1-find.patch
deleted file mode 100644
index f44a6ac..0000000
--- a/app-misc/mc/files/mc-4.6.1-find.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-diff -Naur mc-4.6.1.orig/src/cmd.c mc-4.6.1/src/cmd.c
---- mc-4.6.1.orig/src/cmd.c 2005-05-27 16:19:18.000000000 +0200
-+++ mc-4.6.1/src/cmd.c 2006-03-19 12:57:00.000000000 +0100
-@@ -510,7 +510,7 @@
- continue;
- }
- c = regexp_match (reg_exp_t, current_panel->dir.list[i].fname,
-- match_file);
-+ match_file, 0);
- if (c == -1) {
- message (1, MSG_ERROR, _(" Malformed regular expression "));
- g_free (reg_exp);
-diff -Naur mc-4.6.1.orig/src/dir.c mc-4.6.1/src/dir.c
---- mc-4.6.1.orig/src/dir.c 2005-05-27 16:19:18.000000000 +0200
-+++ mc-4.6.1/src/dir.c 2006-03-19 12:58:56.000000000 +0100
-@@ -405,7 +405,7 @@
- *stale_link = 1;
- }
- if (!(S_ISDIR (buf1->st_mode) || *link_to_dir) && filter
-- && !regexp_match (filter, dp->d_name, match_file))
-+ && !regexp_match (filter, dp->d_name, match_file, 0))
- return 0;
-
- /* Need to grow the *list? */
-diff -Naur mc-4.6.1.orig/src/ext.c mc-4.6.1/src/ext.c
---- mc-4.6.1.orig/src/ext.c 2005-05-27 16:19:18.000000000 +0200
-+++ mc-4.6.1/src/ext.c 2006-03-19 13:00:43.000000000 +0100
-@@ -394,7 +394,7 @@
- }
-
- if (content_string[0]
-- && regexp_match (ptr, content_string + content_shift, match_regex)) {
-+ && regexp_match (ptr, content_string + content_shift, match_regex, 0)) {
- found = 1;
- }
-
-@@ -534,11 +534,11 @@
- /* Do not transform shell patterns, you can use shell/ for
- * that
- */
-- if (regexp_match (p, filename, match_regex))
-+ if (regexp_match (p, filename, match_regex, 0))
- found = 1;
- } else if (!strncmp (p, "directory/", 10)) {
- if (S_ISDIR (mystat.st_mode)
-- && regexp_match (p + 10, filename, match_regex))
-+ && regexp_match (p + 10, filename, match_regex, 0))
- found = 1;
- } else if (!strncmp (p, "shell/", 6)) {
- p += 6;
-diff -Naur mc-4.6.1.orig/src/find.c mc-4.6.1/src/find.c
---- mc-4.6.1.orig/src/find.c 2005-05-27 16:19:18.000000000 +0200
-+++ mc-4.6.1/src/find.c 2006-03-19 13:04:10.000000000 +0100
-@@ -575,6 +575,7 @@
- struct stat tmp_stat;
- static int pos;
- static int subdirs_left = 0;
-+ int flags = 0;
-
- if (!h) { /* someone forces me to close dirp */
- if (dirp) {
-@@ -586,6 +587,10 @@
- dp = 0;
- return 1;
- }
-+
-+ if (!(case_sense->state & C_BOOL))
-+ flags |= REG_ICASE;
-+
- do_search_begin:
- while (!dp){
-
-@@ -662,7 +667,7 @@
- g_free (tmp_name);
- }
-
-- if (regexp_match (find_pattern, dp->d_name, match_file)){
-+ if (regexp_match (find_pattern, dp->d_name, match_file, flags)){
- if (content_pattern) {
- if (search_content (h, directory, dp->d_name)) {
- return 1;
-diff -Naur mc-4.6.1.orig/src/user.c mc-4.6.1/src/user.c
---- mc-4.6.1.orig/src/user.c 2005-07-01 17:47:07.000000000 +0200
-+++ mc-4.6.1/src/user.c 2006-03-19 13:05:00.000000000 +0100
-@@ -412,18 +412,18 @@
- break;
- case 'f': /* file name pattern */
- p = extract_arg (p, arg, sizeof (arg));
-- *condition = panel && regexp_match (arg, panel->dir.list [panel->selected].fname, match_file);
-+ *condition = panel && regexp_match (arg, panel->dir.list [panel->selected].fname, match_file, 0);
- break;
- case 'y': /* syntax pattern */
- if (edit_widget && edit_widget->syntax_type) {
- p = extract_arg (p, arg, sizeof (arg));
- *condition = panel &&
-- regexp_match (arg, edit_widget->syntax_type, match_normal);
-+ regexp_match (arg, edit_widget->syntax_type, match_normal, 0);
- }
- break;
- case 'd':
- p = extract_arg (p, arg, sizeof (arg));
-- *condition = panel && regexp_match (arg, panel->cwd, match_file);
-+ *condition = panel && regexp_match (arg, panel->cwd, match_file, 0);
- break;
- case 't':
- p = extract_arg (p, arg, sizeof (arg));
-diff -Naur mc-4.6.1.orig/src/util.c mc-4.6.1/src/util.c
---- mc-4.6.1.orig/src/util.c 2005-05-27 16:19:18.000000000 +0200
-+++ mc-4.6.1/src/util.c 2006-03-19 13:06:58.000000000 +0100
-@@ -563,27 +563,30 @@
- return g_strdup (pattern);
- }
-
--int regexp_match (const char *pattern, const char *string, int match_type)
-+int regexp_match (const char *pattern, const char *string, int match_type, int flags)
- {
- static regex_t r;
- static char *old_pattern = NULL;
- static int old_type;
-+ static int old_flags;
- int rval;
- char *my_pattern;
-
-- if (!old_pattern || STRCOMP (old_pattern, pattern) || old_type != match_type){
-+ if (!old_pattern || STRCOMP (old_pattern, pattern) || old_type != match_type || old_flags != flags){
- if (old_pattern){
- regfree (&r);
- g_free (old_pattern);
- old_pattern = NULL;
- }
- my_pattern = convert_pattern (pattern, match_type, 0);
-- if (regcomp (&r, my_pattern, REG_EXTENDED|REG_NOSUB|MC_ARCH_FLAGS)) {
-+
-+ if (regcomp (&r, my_pattern, REG_EXTENDED|REG_NOSUB|MC_ARCH_FLAGS|flags)) {
- g_free (my_pattern);
- return -1;
- }
- old_pattern = my_pattern;
- old_type = match_type;
-+ old_flags = flags;
- }
- rval = !regexec (&r, string, 0, NULL, 0);
- return rval;
-diff -Naur mc-4.6.1.orig/src/util.h mc-4.6.1/src/util.h
---- mc-4.6.1.orig/src/util.h 2005-01-13 20:20:47.000000000 +0100
-+++ mc-4.6.1/src/util.h 2006-03-19 13:07:16.000000000 +0100
-@@ -116,7 +116,7 @@
-
- extern int easy_patterns;
- char *convert_pattern (const char *pattern, int match_type, int do_group);
--int regexp_match (const char *pattern, const char *string, int match_type);
-+int regexp_match (const char *pattern, const char *string, int match_type, int flags);
-
- /* Error pipes */
- void open_error_pipe (void);
diff --git a/app-misc/mc/files/mc-4.6.1-invalid-mtime.patch b/app-misc/mc/files/mc-4.6.1-invalid-mtime.patch
deleted file mode 100644
index 07b1f6d..0000000
--- a/app-misc/mc/files/mc-4.6.1-invalid-mtime.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-
- Invalid timestamps on files caused mc to segfault by passing a null
- pointer to strftime. Avoid trying to print the time in this case.
-
- Reported by Maxim Britov <maxim@office.modum.by>
- at http://bugs.gentoo.org/184296
-
---- mc-4.6.1/src/util.c
-+++ mc-4.6.1/src/util.c
-@@ -717,6 +717,7 @@
- static size_t i18n_timelength = 0;
- static const char *fmtyear, *fmttime;
- const char *fmt;
-+ struct tm *whentm;
-
- if (i18n_timelength == 0){
- i18n_timelength = i18n_checktimelength() + 1;
-@@ -740,7 +741,11 @@
- else
- fmt = fmttime;
-
-- strftime (timebuf, i18n_timelength, fmt, localtime(&when));
-+ whentm = localtime(&when);
-+ if (whentm == NULL)
-+ return "(invalid)";
-+
-+ strftime (timebuf, i18n_timelength, fmt, whentm);
- return timebuf;
- }
-
diff --git a/app-misc/mc/files/mc-4.6.1-largefile.patch b/app-misc/mc/files/mc-4.6.1-largefile.patch
deleted file mode 100644
index de30715..0000000
--- a/app-misc/mc/files/mc-4.6.1-largefile.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-diff -Naur mc-4.6.1.orig/intl/loadmsgcat.c mc-4.6.1/intl/loadmsgcat.c
---- mc-4.6.1.orig/intl/loadmsgcat.c 2005-07-23 18:52:57.000000000 +0200
-+++ mc-4.6.1/intl/loadmsgcat.c 2006-03-19 17:11:14.000000000 +0100
-@@ -1002,7 +1002,7 @@
- /* The magic number is wrong: not a message catalog file. */
- #ifdef HAVE_MMAP
- if (use_mmap)
-- munmap ((caddr_t) data, size);
-+ munmap ((void *) data, size);
- else
- #endif
- free (data);
-@@ -1271,7 +1271,7 @@
- free (domain->malloced);
- #ifdef HAVE_MMAP
- if (use_mmap)
-- munmap ((caddr_t) data, size);
-+ munmap ((void *) data, size);
- else
- #endif
- free (data);
-@@ -1306,7 +1306,7 @@
-
- # ifdef _POSIX_MAPPED_FILES
- if (domain->use_mmap)
-- munmap ((caddr_t) domain->data, domain->mmap_size);
-+ munmap ((void *) domain->data, domain->mmap_size);
- else
- # endif /* _POSIX_MAPPED_FILES */
- free ((void *) domain->data);
-diff -Naur mc-4.6.1.orig/src/view.c mc-4.6.1/src/view.c
---- mc-4.6.1.orig/src/view.c 2005-05-27 16:19:18.000000000 +0200
-+++ mc-4.6.1/src/view.c 2006-03-19 17:10:34.000000000 +0100
-@@ -76,6 +76,12 @@
- #define vwidth (view->widget.cols - (view->have_frame ? 2 : 0))
- #define vheight (view->widget.lines - (view->have_frame ? 2 : 0))
-
-+#if GLIB_MAJOR_VERSION >= 2
-+# define my_g_malloc g_try_malloc
-+#else
-+# define my_g_malloc g_malloc
-+#endif
-+
- /* Offset in bytes into a file */
- typedef unsigned long offset_type;
- #define INVALID_OFFSET ((offset_type) -1)
-@@ -560,8 +566,8 @@
- view->data = mc_mmap (0, view->s.st_size, PROT_READ,
- MAP_FILE | MAP_SHARED, view->file, 0);
- else
-- view->data = (caddr_t) -1;
-- if ((caddr_t) view->data != (caddr_t) - 1) {
-+ view->data = (void *) -1;
-+ if (view->data != (void *)-1) {
- /* mmap worked */
- view->first = 0;
- view->bytes_read = view->s.st_size;
-@@ -573,6 +579,9 @@
- /* For the OSes that don't provide mmap call, try to load all the
- * file into memory (alex@bcs.zaporizhzhe.ua). Also, mmap can fail
- * for any reason, so we use this as fallback (pavel@ucw.cz) */
-+
-+ /* If large file support is enabled, st_size is a 64 bit value and
-+ * will thus on 32 bit platforms possibly be beyond the range of gulong */
-
- /* Make sure view->s.st_size is not truncated when passed to g_malloc */
- if ((gulong) view->s.st_size == view->s.st_size)
-diff -Naur mc-4.6.1.orig/vfs/local.c mc-4.6.1/vfs/local.c
---- mc-4.6.1.orig/vfs/local.c 2004-09-25 01:00:18.000000000 +0200
-+++ mc-4.6.1/vfs/local.c 2006-03-19 17:00:45.000000000 +0100
-@@ -243,8 +243,8 @@
- }
-
- #ifdef HAVE_MMAP
--caddr_t
--local_mmap (struct vfs_class *me, caddr_t addr, size_t len, int prot, int flags, void *data, off_t offset)
-+void *
-+local_mmap (struct vfs_class *me, void *addr, size_t len, int prot, int flags, void *data, off_t offset)
- {
- int fd = * (int *)data;
-
-@@ -252,7 +252,7 @@
- }
-
- int
--local_munmap (struct vfs_class *me, caddr_t addr, size_t len, void *data)
-+local_munmap (struct vfs_class *me, void *addr, size_t len, void *data)
- {
- return munmap (addr, len);
- }
-diff -Naur mc-4.6.1.orig/vfs/local.h mc-4.6.1/vfs/local.h
---- mc-4.6.1.orig/vfs/local.h 2004-08-17 11:17:43.000000000 +0200
-+++ mc-4.6.1/vfs/local.h 2006-03-19 17:01:35.000000000 +0100
-@@ -13,9 +13,9 @@
- extern int local_errno (struct vfs_class *me);
- extern int local_lseek (void *data, off_t offset, int whence);
- #ifdef HAVE_MMAP
--extern caddr_t local_mmap (struct vfs_class *me, caddr_t addr, size_t len,
-+extern void *local_mmap (struct vfs_class *me, void *addr, size_t len,
- int prot, int flags, void *data, off_t offset);
--extern int local_munmap (struct vfs_class *me, caddr_t addr, size_t len, void *data);
-+extern int local_munmap (struct vfs_class *me, void *addr, size_t len, void *data);
- #endif
-
- #endif
-diff -Naur mc-4.6.1.orig/vfs/samba/lib/util.c mc-4.6.1/vfs/samba/lib/util.c
---- mc-4.6.1.orig/vfs/samba/lib/util.c 2005-05-27 16:19:19.000000000 +0200
-+++ mc-4.6.1/vfs/samba/lib/util.c 2006-03-19 17:06:39.000000000 +0100
-@@ -1836,7 +1836,7 @@
-
- /* Look up the host address in the address list we just got. */
- for (i = 0; hp->h_addr_list[i]; i++) {
-- if (memcmp(hp->h_addr_list[i], (caddr_t) & addr, sizeof(addr)) == 0)
-+ if (memcmp(hp->h_addr_list[i], &addr, sizeof(addr)) == 0)
- return True;
- }
-
-diff -Naur mc-4.6.1.orig/vfs/vfs.c mc-4.6.1/vfs/vfs.c
---- mc-4.6.1.orig/vfs/vfs.c 2005-05-27 16:19:19.000000000 +0200
-+++ mc-4.6.1/vfs/vfs.c 2006-03-19 17:03:48.000000000 +0100
-@@ -740,27 +740,27 @@
-
- #ifdef HAVE_MMAP
- static struct mc_mmapping {
-- caddr_t addr;
-+ void *addr;
- void *vfs_info;
- struct vfs_class *vfs;
- struct mc_mmapping *next;
- } *mc_mmaparray = NULL;
-
--caddr_t
--mc_mmap (caddr_t addr, size_t len, int prot, int flags, int fd, off_t offset)
-+void *
-+mc_mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset)
- {
- struct vfs_class *vfs;
-- caddr_t result;
-+ void *result;
- struct mc_mmapping *mcm;
-
- if (fd == -1)
-- return (caddr_t) -1;
-+ return (void *) -1;
-
- vfs = vfs_op (fd);
-- result = vfs->mmap ? (*vfs->mmap)(vfs, addr, len, prot, flags, vfs_info (fd), offset) : (caddr_t)-1;
-- if (result == (caddr_t)-1){
-+ result = vfs->mmap ? (*vfs->mmap)(vfs, addr, len, prot, flags, vfs_info (fd), offset) : (void *)-1;
-+ if (result == (void *)-1){
- errno = ferrno (vfs);
-- return (caddr_t)-1;
-+ return (void *)-1;
- }
- mcm =g_new (struct mc_mmapping, 1);
- mcm->addr = result;
-@@ -772,7 +772,7 @@
- }
-
- int
--mc_munmap (caddr_t addr, size_t len)
-+mc_munmap (void *addr, size_t len)
- {
- struct mc_mmapping *mcm, *mcm2 = NULL;
-
-diff -Naur mc-4.6.1.orig/vfs/vfs.h mc-4.6.1/vfs/vfs.h
---- mc-4.6.1.orig/vfs/vfs.h 2004-11-16 17:16:08.000000000 +0100
-+++ mc-4.6.1/vfs/vfs.h 2006-03-19 17:05:57.000000000 +0100
-@@ -49,8 +49,8 @@
- int mc_ctl (int fd, int ctlop, void *arg);
- int mc_setctl (const char *path, int ctlop, void *arg);
- #ifdef HAVE_MMAP
--caddr_t mc_mmap (caddr_t, size_t, int, int, int, off_t);
--int mc_munmap (caddr_t addr, size_t len);
-+void *mc_mmap (void *, size_t, int, int, int, off_t);
-+int mc_munmap (void *addr, size_t len);
- #endif /* HAVE_MMAP */
-
- /* Operations for mc_ctl - on open file */
-diff -Naur mc-4.6.1.orig/vfs/vfs-impl.h mc-4.6.1/vfs/vfs-impl.h
---- mc-4.6.1.orig/vfs/vfs-impl.h 2004-09-02 15:57:59.000000000 +0200
-+++ mc-4.6.1/vfs/vfs-impl.h 2006-03-19 17:12:01.000000000 +0100
-@@ -72,9 +72,9 @@
- int (*setctl) (struct vfs_class *me, const char *path, int ctlop,
- void *arg);
- #ifdef HAVE_MMAP
-- caddr_t (*mmap) (struct vfs_class *me, caddr_t addr, size_t len,
-+ void *(*mmap) (struct vfs_class *me, void *addr, size_t len,
- int prot, int flags, void *vfs_info, off_t offset);
-- int (*munmap) (struct vfs_class *me, caddr_t addr, size_t len,
-+ int (*munmap) (struct vfs_class *me, void *addr, size_t len,
- void *vfs_info);
- #endif
- };
diff --git a/app-misc/mc/files/mc-4.6.1-nonblock.patch b/app-misc/mc/files/mc-4.6.1-nonblock.patch
deleted file mode 100644
index eca34aa..0000000
--- a/app-misc/mc/files/mc-4.6.1-nonblock.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- mc-4.6.1/src/cons.saver.c.old 2006-04-30 20:45:11.725128977 +0200
-+++ mc-4.6.1/src/cons.saver.c 2006-04-30 20:45:55.545063247 +0200
-@@ -134,7 +134,7 @@
-
- if (seteuid (uid) < 0)
- die ();
-- console_fd = open (tty_name, O_RDONLY);
-+ console_fd = open (tty_name, O_RDONLY | O_NONBLOCK);
- if (console_fd < 0)
- die ();
- if (fstat (console_fd, &st) < 0 || ! S_ISCHR (st.st_mode))
diff --git a/app-misc/mc/files/mc.gentoo b/app-misc/mc/files/mc.gentoo
deleted file mode 100644
index a71d249..0000000
--- a/app-misc/mc/files/mc.gentoo
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-# A little fix so mc exits into it's current working directory
-MC_ENV=/usr/share/mc/bin/mc.sh
-
-for i in $MC_ENV; do
- if [ -x $i ]; then
- . $i
- fi
-done
-
-# include this, so also xterm,kterm,gterm,etc will have default bash settings
-
-#if [ "x$SHLVL" != "x1" ]; then # We're not a login shell
-# . /etc/profile
-#fi
diff --git a/app-misc/mc/files/mc.ini b/app-misc/mc/files/mc.ini
deleted file mode 100644
index 890658e..0000000
--- a/app-misc/mc/files/mc.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[Midnight-Commander]
-use_8th_bit_as_meta=0
diff --git a/dev-cpp/commoncpp2/commoncpp2-1.6.2.ebuild b/dev-cpp/commoncpp2/commoncpp2-1.6.2.ebuild
deleted file mode 100644
index b54d8c5..0000000
--- a/dev-cpp/commoncpp2/commoncpp2-1.6.2.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-cpp/commoncpp2/commoncpp2-1.6.2.ebuild,v 1.1 2008/05/07 05:32:39 dev-zero Exp $
-
-inherit eutils autotools
-
-DESCRIPTION="GNU Common C++ is a C++ framework offering portable support for threading, sockets, file access, daemons, persistence, serial I/O, XML parsing, and system services"
-SRC_URI="mirror://gnu/commoncpp/${P}.tar.gz"
-HOMEPAGE="http://www.gnu.org/software/commoncpp/"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-IUSE="debug doc examples ipv6 gnutls"
-
-RDEPEND="gnutls? ( dev-libs/libgcrypt
- net-libs/gnutls )
- !gnutls? ( dev-libs/openssl )
- sys-libs/zlib"
-DEPEND="doc? ( >=app-doc/doxygen-1.3.6 )
- ${RDEPEND}"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- epatch "${FILESDIR}/1.6.1-gcc42_atomicity.patch" \
- "${FILESDIR}/${PV}-autoconf.patch" \
- "${FILESDIR}/${PV}-configure_detect_netfilter.patch"
- AT_M4DIR="m4" eautoreconf
-}
-
-src_compile() {
- use doc || \
- sed -i "s/^DOXYGEN=.*/DOXYGEN=no/" configure || die "sed failed"
-
- local myconf
- use gnutls || myconf="--with-openssl"
-
- econf \
- $(use_enable debug) \
- $(use_with ipv6 ) \
- ${myconf} || die "econf failed"
- emake -j1 || die "emake failed"
-}
-
-src_install () {
- emake DESTDIR="${D}" install || die "emake install failed"
-
- dodoc AUTHORS NEWS ChangeLog README THANKS TODO COPYING.addendum
-
- # Only install html docs
- # man and latex available, but seems a little wasteful
- use doc && dohtml doc/html/*
-
- if use examples ; then
- insinto /usr/share/doc/${PF}/examples
- cd demo
- doins *.cpp *.h *.xml README
- fi
-}
-
-pkg_postinst() {
- ewarn "There's a change in the ABI between version 1.5.x and 1.6.x, please"
- ewarn "run the following command to find broken packages and rebuild them:"
- ewarn " revdep-rebuild --library=libccext2-1.5.so"
-}
-
-# Some of the tests hang forever
-#src_test() {
-# cd "${S}/tests"
-# emake || die "emake tests failed"
-# ./test.sh || die "tests failed"
-#}
diff --git a/dev-cpp/commoncpp2/files/1.6.1-gcc42_atomicity.patch b/dev-cpp/commoncpp2/files/1.6.1-gcc42_atomicity.patch
deleted file mode 120000
index a5e83e7..0000000
--- a/dev-cpp/commoncpp2/files/1.6.1-gcc42_atomicity.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-/var/paludis/repositories/gentoo/dev-cpp/commoncpp2/files/1.6.1-gcc42_atomicity.patch08-11-16 15:24:10.000000000 +0100
-@@ -95,6 +95,9 @@
- AC_CHECK_HEADERS([linux/netfilter_ipv4.h linux/netfilter_ipv6.h],,,
- [#ifdef HAVE_LIMITS_H
- #include <limits.h>
-+ #endif
-+ #ifdef HAVE_NETINET_IN_H
-+ #include <netinet/in.h>
- #endif])
- if test "$ac_cv_header_linux_netfilter_ipv4_h" = "yes" &&
- [ test "$ac_cv_header_linux_netfilter_ipv6_h" = "yes" &&
-ON} ${PCAP_FLAG} ${SSL_FLAG}
-
- install : libnessus.la
- test -d $(DESTDIR)${libdir} || $(INSTALL_DIR) -m 755 $(DESTDIR)${libdir}
-diff -ru nessus-libraries~/nessus.tmpl.in nessus-libraries/nessus.tmpl.in
---- nessus-libraries~/nessus.tmpl.in 2007-01-21 19:49:30.000000000 +0100
-+++ nessus-libraries/nessus.tmpl.in 2007-01-21 20:17:45.000000000 +0100
-@@ -61,6 +61,9 @@
- #
- BUILD_PCAP=@BUILD_PCAP@
-
-+PCAP_FLAG=@pcap_flag@
-+SSL_FLAG=@ssl@
-+
-
- # Some defines you may want to modify
- DEFS=@DEFS@ $(DEBUG_SSL) $(USE_CIPHER) $(DEBUG)
-============================================
---- sv7.orig/synthasm.nas
-+++ sv7/synthasm.nas
-@@ -2225,3 +2225,6 @@ endproc
- ;
- ; end of synthasm.nas
- ;
-+%ifidn __OUTPUT_FORMAT__,elf
-+section .note.GNU-stack noalloc noexec nowrite progbits
-+%endif
-/cheats" ]] ; then
- for cheat in `find "${PSEMUDIR}/cheats" -maxdepth 1 -type f -printf '%f '`; do
- if [[ ! -e "cheats/${cheat}" ]] ; then
- ln -s "${PSEMUDIR}/cheats/${cheat}" "cheats/${cheat}"
- fi
- done
- fi
-
- if [[ -d "${PSEMUDIR}/bios" ]] ; then
- for bios in `find "${PSEMUDIR}/bios" -maxdepth 1 -type f -printf '%f '`; do
- if [[ ! -e "bios/${bios}" ]] ; then
- ln -s "${PSEMUDIR}/bios/${bios}" "bios/${bios}"
- fi
- done
- fi
-fi
-
-# check for bios
-if [[ -z "`cd bios && ls`" ]] ; then
- # if the bios directory is empty, then ... well ...
- echo
- echo "*** Put your BIOS file into ~/.epsxe/bios/"
- echo " or ePSXe may not work!"
- echo
-fi
-
-# execute program (with args)
-export LD_PRELOAD="libpthread.so.0:${LD_PRELOAD}" # fix for Bug #26121
-exec ./epsxe "$@"
-_event.jaxis.axis == 5)
-+ {
-+ return (0x1000 +
-+ (0x100 * sdl_event.jaxis.which + 0xA));
-+ }
-+ }
-+ else
- {
- return (Get_Key ());
- }
---- old/src/gens/util/rom.h 2004-03-14 09:33:06.000000000 -0500
-+++ new/src/gens/util/rom.h 2006-12-30 17:30:58.000000000 -0500
-@@ -52,7 +52,7 @@
- int Detect_Format(char *Name);
-
- int Get_Rom(void);
--
-+int Open_Rom(char *Name);
- int Pre_Load_Rom(char *Name);
- int Load_Rom_CC(char *Name, int Size);
- struct Rom *Load_Bios(char *Name);
---- old/src/gens/util/rom.c 2004-05-18 16:33:59.000000000 -0400
-+++ new/src/gens/util/rom.c 2007-01-05 13:23:45.596482516 -0500
-@@ -99,7 +99,7 @@
- void
- Update_Rom_Dir (char *Path)
- {
-- Get_Dir_From_Path (Path, Rom_Dir);
-+ sprintf (Rom_Dir, "%s", Path);;
- }
-
-
-@@ -390,11 +390,10 @@
- gint res;
- char Name[2048];
- gchar *filename;
-- int sys;
-
- widget =
- create_file_chooser_dialog ("Open Rom", GTK_FILE_CHOOSER_ACTION_OPEN);
--// fileselection_set_dir (fd.filesel, Rom_Dir);
-+ gtk_file_chooser_set_filename (GTK_FILE_CHOOSER(widget), Rom_Dir);
- addRomsFilter (widget);
- res = gtk_dialog_run (GTK_DIALOG (widget));
- if (res == GTK_RESPONSE_OK)
-@@ -407,6 +406,15 @@
- g_free (filename);
- Free_Rom (Game);
-
-+ return Open_Rom(Name);
-+
-+}
-+
-+int
-+Open_Rom(char *Name)
-+{
-+ int sys;
-+
- sys = Detect_Format (Name);
-
- if (sys < 1)
-@@ -458,6 +466,7 @@
- break;
- }
- return -1;
-+
- }
-
- int
---- old/src/gens/gtkui/glade/interface.c 2004-05-19 15:49:28.000000000 -0400
-+++ new/src/gens/gtkui/glade/intep \ No newline at end of file
diff --git a/dev-cpp/commoncpp2/files/1.6.2-autoconf.patch b/dev-cpp/commoncpp2/files/1.6.2-autoconf.patch
deleted file mode 120000
index f3e0abf..0000000
--- a/dev-cpp/commoncpp2/files/1.6.2-autoconf.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-/var/paludis/repositories/gentoo/dev-cpp/commoncpp2/files/1.6.2-autoconf.patcht.m4 2008-11-16 15:24:10.000000000 +0100
-@@ -95,6 +95,9 @@
- AC_CHECK_HEADERS([linux/netfilter_ipv4.h linux/netfilter_ipv6.h],,,
- [#ifdef HAVE_LIMITS_H
- #include <limits.h>
-+ #endif
-+ #ifdef HAVE_NETINET_IN_H
-+ #include <netinet/in.h>
- #endif])
- if test "$ac_cv_header_linux_netfilter_ipv4_h" = "yes" &&
- [ test "$ac_cv_header_linux_netfilter_ipv6_h" = "yes" &&
-ON} ${PCAP_FLAG} ${SSL_FLAG}
-
- install : libnessus.la
- test -d $(DESTDIR)${libdir} || $(INSTALL_DIR) -m 755 $(DESTDIR)${libdir}
-diff -ru nessus-libraries~/nessus.tmpl.in nessus-libraries/nessus.tmpl.in
---- nessus-libraries~/nessus.tmpl.in 2007-01-21 19:49:30.000000000 +0100
-+++ nessus-libraries/nessus.tmpl.in 2007-01-21 20:17:45.000000000 +0100
-@@ -61,6 +61,9 @@
- #
- BUILD_PCAP=@BUILD_PCAP@
-
-+PCAP_FLAG=@pcap_flag@
-+SSL_FLAG=@ssl@
-+
-
- # Some defines you may want to modify
- DEFS=@DEFS@ $(DEBUG_SSL) $(USE_CIPHER) $(DEBUG)
-============================================
---- sv7.orig/synthasm.nas
-+++ sv7/synthasm.nas
-@@ -2225,3 +2225,6 @@ endproc
- ;
- ; end of synthasm.nas
- ;
-+%ifidn __OUTPUT_FORMAT__,elf
-+section .note.GNU-stack noalloc noexec nowrite progbits
-+%endif
-/cheats" ]] ; then
- for cheat in `find "${PSEMUDIR}/cheats" -maxdepth 1 -type f -printf '%f '`; do
- if [[ ! -e "cheats/${cheat}" ]] ; then
- ln -s "${PSEMUDIR}/cheats/${cheat}" "cheats/${cheat}"
- fi
- done
- fi
-
- if [[ -d "${PSEMUDIR}/bios" ]] ; then
- for bios in `find "${PSEMUDIR}/bios" -maxdepth 1 -type f -printf '%f '`; do
- if [[ ! -e "bios/${bios}" ]] ; then
- ln -s "${PSEMUDIR}/bios/${bios}" "bios/${bios}"
- fi
- done
- fi
-fi
-
-# check for bios
-if [[ -z "`cd bios && ls`" ]] ; then
- # if the bios directory is empty, then ... well ...
- echo
- echo "*** Put your BIOS file into ~/.epsxe/bios/"
- echo " or ePSXe may not work!"
- echo
-fi
-
-# execute program (with args)
-export LD_PRELOAD="libpthread.so.0:${LD_PRELOAD}" # fix for Bug #26121
-exec ./epsxe "$@"
-_event.jaxis.axis == 5)
-+ {
-+ return (0x1000 +
-+ (0x100 * sdl_event.jaxis.which + 0xA));
-+ }
-+ }
-+ else
- {
- return (Get_Key ());
- }
---- old/src/gens/util/rom.h 2004-03-14 09:33:06.000000000 -0500
-+++ new/src/gens/util/rom.h 2006-12-30 17:30:58.000000000 -0500
-@@ -52,7 +52,7 @@
- int Detect_Format(char *Name);
-
- int Get_Rom(void);
--
-+int Open_Rom(char *Name);
- int Pre_Load_Rom(char *Name);
- int Load_Rom_CC(char *Name, int Size);
- struct Rom *Load_Bios(char *Name);
---- old/src/gens/util/rom.c 2004-05-18 16:33:59.000000000 -0400
-+++ new/src/gens/util/rom.c 2007-01-05 13:23:45.596482516 -0500
-@@ -99,7 +99,7 @@
- void
- Update_Rom_Dir (char *Path)
- {
-- Get_Dir_From_Path (Path, Rom_Dir);
-+ sprintf (Rom_Dir, "%s", Path);;
- }
-
-
-@@ -390,11 +390,10 @@
- gint res;
- char Name[2048];
- gchar *filename;
-- int sys;
-
- widget =
- create_file_chooser_dialog ("Open Rom", GTK_FILE_CHOOSER_ACTION_OPEN);
--// fileselection_set_dir (fd.filesel, Rom_Dir);
-+ gtk_file_chooser_set_filename (GTK_FILE_CHOOSER(widget), Rom_Dir);
- addRomsFilter (widget);
- res = gtk_dialog_run (GTK_DIALOG (widget));
- if (res == GTK_RESPONSE_OK)
-@@ -407,6 +406,15 @@
- g_free (filename);
- Free_Rom (Game);
-
-+ return Open_Rom(Name);
-+
-+}
-+
-+int
-+Open_Rom(char *Name)
-+{
-+ int sys;
-+
- sys = Detect_Format (Name);
-
- if (sys < 1)
-@@ -458,6 +466,7 @@
- break;
- }
- return -1;
-+
- }
-
- int
---- old/src/gens/gtkui/glade/interface.c 2004-05-19 15:49:28.000000000 -0400
-+++ new/src/gens/gtkui/glade/intep \ No newline at end of file
diff --git a/dev-cpp/commoncpp2/files/1.6.2-configure_detect_netfilter.patch b/dev-cpp/commoncpp2/files/1.6.2-configure_detect_netfilter.patch
deleted file mode 100644
index de532b5..0000000
--- a/dev-cpp/commoncpp2/files/1.6.2-configure_detect_netfilter.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- m4/ost_socket.m4-orig 2008-11-16 15:24:05.000000000 +0100
-+++ m4/ost_socket.m4 2008-11-16 15:24:10.000000000 +0100
-@@ -95,6 +95,9 @@
- AC_CHECK_HEADERS([linux/netfilter_ipv4.h linux/netfilter_ipv6.h],,,
- [#ifdef HAVE_LIMITS_H
- #include <limits.h>
-+ #endif
-+ #ifdef HAVE_NETINET_IN_H
-+ #include <netinet/in.h>
- #endif])
- if test "$ac_cv_header_linux_netfilter_ipv4_h" = "yes" &&
- [ test "$ac_cv_header_linux_netfilter_ipv6_h" = "yes" &&
diff --git a/dev-libs/glib/files b/dev-libs/glib/files
index 659567b..c40589f 120000
--- a/dev-libs/glib/files
+++ b/dev-libs/glib/files
@@ -1,129 +1 @@
-/var/paludis/repositories/gentoo/dev-libs/glib/filesd under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/glib/glib-2.18.2.ebuild,v 1.1 2008/10/19 02:16:37 leio Exp $
-
-inherit libtool eutils flag-o-matic subversion
-
-DESCRIPTION="The GLib library of C routines"
-HOMEPAGE="http://www.gtk.org/"
-
-ESVN_REPO_URI="http://svn.gnome.org/svn/glib/trunk"
-ESVN_STORE_DIR="${DISTDIR}/svn-src"
-ESVN_PROJECT="${PN/-svn}"
-ESVN_BOOTSTRAP="./autogen.sh"
-
-S="${WORKDIR}/${P/_/}"
-
-LICENSE="LGPL-2"
-SLOT=""
-KEYWORDS=""
-IUSE="debug doc fam hardened selinux xattr"
-
-RDEPEND="virtual/libc
- virtual/libiconv
- xattr? ( sys-apps/attr )
- fam? ( virtual/fam )"
-DEPEND="${RDEPEND}
- >=dev-util/pkgconfig-0.16
- >=sys-devel/gettext-0.11
- dev-util/gtk-doc
-"
-
-src_unpack() {
- subversion_src_unpack
- cd "${S}"
-
- if use ppc64 && use hardened ; then
- replace-flags -O[2-3] -O1
- epatch "${FILESDIR}/glib-2.6.3-testglib-ssp.patch"
- fi
-
- if use ia64 ; then
- # Only apply for < 4.1
- local major=$(gcc-major-version)
- local minor=$(gcc-minor-version)
- if (( major < 4 || ( major == 4 && minor == 0 ) )); then
- epatch "${FILESDIR}/glib-2.10.3-ia64-atomic-ops.patch"
- fi
- fi
-
- # Don't fail gio tests when ran without userpriv, upstream bug 552912
- # This is only a temporary workaround, remove as soon as possible
- epatch "${FILESDIR}/${PN}-2.18.1-workaround-gio-test-failure-without-userpriv.patch"
-
- # Fix gmodule issues on fbsd; bug #184301
- epatch "${FILESDIR}"/${PN}-2.12.12-fbsd.patch
-
- [[ ${CHOST} == *-freebsd* ]] && elibtoolize
-}
-
-src_compile() {
- local myconf
-
- epunt_cxx
-
- # Building with --disable-debug highly unrecommended. It will build glib in
- # an unusable form as it disables some commonly used API. Please do not
- # convert this to the use_enable form, as it results in a broken build.
- # -- compnerd (3/27/06)
- use debug && myconf="--enable-debug"
-
- # always build static libs, see #153807
- econf ${myconf} \
- $(use_enable xattr) \
- $(use_enable doc man) \
- $(use_enable doc gtk-doc) \
- $(use_enable fam) \
- $(use_enable selinux) \
- --enable-static \
- --with-threads=posix || die "configure failed"
-
- emake || die "make failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "Installation failed"
-
- # Do not install charset.alias even if generated, leave it to libiconv
- rm -f "${D}/usr/lib/charset.alias"
-
- dodoc AUTHORS ChangeLog* NEWS* README
-}
- $(use_enable mpd) \
- $(use_enable nvidia) \
- $(use_enable rss) \
- $(use_enable smapi) \
- $(use_enable wifi wlan) \
- $(use_enable !ipv6 portmon) || die "econf failed"
- emake ${mymake} || die "compile failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "make install failed"
- dodoc ChangeLog AUTHORS README
- dohtml doc/docs.html doc/config_settings.html doc/variables.html
-
- if use vim-syntax; then
- insinto /usr/share/vim/vimfiles/ftdetect
- doins "${S}"/extras/vim/ftdetect/conkyrc.vim
-
- insinto /usr/share/vim/vimfiles/syntax
- doins "${S}"/extras/vim/syntax/conkyrc.vim
- fi
-
- if use nano-syntax; then
- insinto /usr/share/nano/
- doins "${S}"/extras/nano/conky.nanorc
- fi
-}
-
-pkg_postinst() {
- elog "You can find the sample configuration file at"
- elog "/etc/conky/conky.conf. To customize it, copy"
- elog "/etc/conky/conky.conf to ~/.conkyrc and edit"
- elog "it to your liking."
- elog
- elog "For more info on Conky's new features,"
- elog "please look at the README and ChangeLog:"
- elog "/usr/share/doc/${PF}/README.bz2"
- elog "/usr/share/doc/${PF}/ChangeLog.bz2"
- elog "There are also pretty p \ No newline at end of file
+/usr/portage/dev-libs/glib/files \ No newline at end of file
diff --git a/dev-libs/ptlib/files/ptlib-2.4.1-instplugins.diff b/dev-libs/ptlib/files/ptlib-2.4.1-instplugins.diff
deleted file mode 100644
index ba1cf35..0000000
--- a/dev-libs/ptlib/files/ptlib-2.4.1-instplugins.diff
+++ /dev/null
@@ -1,27 +0,0 @@
---- Makefile.in.orig 2008-09-22 19:29:30.000000000 -0400
-+++ Makefile.in 2008-09-22 19:28:56.000000000 -0400
-@@ -100,14 +100,16 @@
- ln -sf $(PTLIB_FILE).@MAJOR_VERSION@.@MINOR_VERSION@@BUILD_TYPE@@BUILD_NUMBER@ $(PTLIB_FILE) \
- )
- ifeq (1, $(HAS_PLUGINS))
-- cd $(PT_LIBDIR)/device/ ; \
-- ( for dir in ./* ;\
-- do mkdir -p $(DESTDIR)$(LIBDIR)/$(DEV_PLUGIN_DIR)/$$dir ; \
-- chmod 755 $(DESTDIR)$(LIBDIR)/$(DEV_PLUGIN_DIR)/$$dir ; \
-- (for fn in ./$$dir/*.so ; \
-- do $(INSTALL) -m 444 $$fn $(DESTDIR)$(LIBDIR)/$(DEV_PLUGIN_DIR)/$$dir; \
-- done ); \
-- done )
-+ if [ -d $(PT_LIBDIR)/device ] ; then \
-+ cd $(PT_LIBDIR)/device/ ; \
-+ ( for dir in ./* ;\
-+ do mkdir -p $(DESTDIR)$(LIBDIR)/$(DEV_PLUGIN_DIR)/$$dir ; \
-+ chmod 755 $(DESTDIR)$(LIBDIR)/$(DEV_PLUGIN_DIR)/$$dir ; \
-+ (for fn in ./$$dir/*.so ; \
-+ do $(INSTALL) -m 444 $$fn $(DESTDIR)$(LIBDIR)/$(DEV_PLUGIN_DIR)/$$dir; \
-+ done ); \
-+ done ) \
-+ fi
- endif
- $(INSTALL) -m 444 include/ptlib.h $(DESTDIR)$(PREFIX)/include
- $(INSTALL) -m 444 include/ptbuildopts.h $(DESTDIR)$(PREFIX)/include
diff --git a/dev-libs/ptlib/files/ptlib-asm.patch b/dev-libs/ptlib/files/ptlib-asm.patch
deleted file mode 100644
index e5d6e9c..0000000
--- a/dev-libs/ptlib/files/ptlib-asm.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/ptlib/common/jidctflt.cxx.orig 2008-09-24 09:13:06.000000000 -0400
-+++ src/ptlib/common/jidctflt.cxx 2008-09-24 09:11:49.000000000 -0400
-@@ -110,10 +110,10 @@
- "\tsar %2,%1\n"
- "\tsub $-128,%1\n"
- "\tcmovl %5,%1\n" /* Use the sub to compare to 0 */
-- "\tcmpl %4,%1\n"
-+ "\tcmp %4,%1\n"
- "\tcmovg %4,%1\n"
- : "=r"(x)
-- : "0"(x), "Ir"(shift), "ir"(1UL<<(shift-1)), "r" (0xff), "r" (0)
-+ : "0"((unsigned long)x), "c"((char)shift), "ir"(1UL<<(shift-1)), "r" (0xffUL), "r" (0UL)
- );
- return x;
- }
diff --git a/dev-libs/ptlib/ptlib-2.4.5.ebuild b/dev-libs/ptlib/ptlib-2.4.5.ebuild
deleted file mode 100644
index b3b9f38..0000000
--- a/dev-libs/ptlib/ptlib-2.4.5.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="1"
-
-inherit eutils
-
-DESCRIPTION="Network focused portable C++ class library providing high level functions"
-HOMEPAGE="http://www.opalvoip.org/"
-SRC_URI="mirror://sourceforge/opalvoip/${P}.tar.bz2"
-
-LICENSE="MPL-1.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="alsa bsdvideo debug doc esd ieee1394 ipv6 ldap minimal noaudio novideo oss
-sasl sdl ssl sunaudio v4l v4l2 xml"
-
-RDEPEND="alsa? ( media-libs/alsa-lib )
- esd? ( media-sound/esound )
- ieee1394? ( media-libs/libdv
- sys-libs/libavc1394
- media-libs/libdc1394:1 )
- ldap? ( net-nds/openldap )
- sasl? ( dev-libs/cyrus-sasl:2 )
- sdl? ( media-libs/libsdl )
- ssl? ( dev-libs/openssl )
- xml? ( dev-libs/expat )"
-DEPEND="${RDEPEND}
- sys-devel/bison
- sys-devel/flex
- v4l? ( sys-kernel/linux-headers )
- v4l2? ( sys-kernel/linux-headers )
- !dev-libs/pwlib"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- # this patch fixes bugs: #145424 and #140358
- epatch "${FILESDIR}"/${PN}-asm.patch
-}
-
-src_compile() {
- local myconf=""
- local makeopts=""
-
- use noaudio && myconf="${myconf} --disable-audio"
- use novideo && myconf="${myconf} --disable-video"
-
- econf \
- ${myconf} \
- $(use_enable alsa) \
- $(use_enable bsdvideo) \
- $(use_enable debug exceptions) \
- $(use_enable debug memcheck) \
- $(use_enable esd) \
- $(use_enable ieee1394 avc) \
- $(use_enable ieee1394 dc) \
- $(use_enable ipv6) \
- $(use_enable ldap openldap) \
- $(use_enable minimal minsize) \
- $(use_enable oss) \
- $(use_enable sasl) \
- $(use_enable sdl) \
- $(use_enable ssl openssl) \
- $(use_enable sunaudio) \
- $(use_enable v4l) \
- $(use_enable v4l2) \
- $(use_enable xml expat) \
- --enable-plugins \
- || die "econf failed"
-
- if use debug; then
- makeopts="${makeopts} DEBUG=1 debug"
- fi
-
- emake ${makeopts} || die "emake failed"
-}
-
-src_install() {
- local makeopts
-
- makeopts="PREFIX=/usr DESTDIR=\"${D}\""
-
- if use debug; then
- makeopts="${makeopts} DEBUG=1"
- fi
-
- emake ${makeopts} install || die "emake install failed"
-
- if use doc; then
- dohtml -r html/* || die "documentation installation failed"
- fi
-
- dodoc ReadMe.txt ReadMe_QOS.txt History.txt || die "documentation
- installation failed"
-}
diff --git a/dev-libs/ptlib/ptlib-2.6.4.ebuild b/dev-libs/ptlib/ptlib-2.6.4.ebuild
deleted file mode 100644
index a71b8fb..0000000
--- a/dev-libs/ptlib/ptlib-2.6.4.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="1"
-
-inherit eutils
-
-DESCRIPTION="Network focused portable C++ class library providing high level functions"
-HOMEPAGE="http://www.opalvoip.org/"
-SRC_URI="mirror://sourceforge/opalvoip/${P}.tar.bz2"
-
-LICENSE="MPL-1.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="alsa bsdvideo debug doc esd ffmpeg ieee1394 ipv6 ldap minimal noaudio novideo +opal oss +shm
-sasl sdl ssl sunaudio v4l v4l2 xml"
-
-RDEPEND="alsa? ( media-libs/alsa-lib )
- esd? ( media-sound/esound )
- ieee1394? ( media-libs/libdv
- sys-libs/libavc1394
- media-libs/libdc1394:1 )
- ldap? ( net-nds/openldap )
- sasl? ( dev-libs/cyrus-sasl:2 )
- sdl? ( media-libs/libsdl )
- ssl? ( dev-libs/openssl )
- xml? ( dev-libs/expat )
- ffmpeg? ( media-video/ffmpeg )"
-DEPEND="${RDEPEND}
- sys-devel/bison
- sys-devel/flex
- v4l? ( sys-kernel/linux-headers )
- v4l2? ( sys-kernel/linux-headers )
- !dev-libs/pwlib"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- # this patch fixes bugs: #145424 and #140358
-# epatch "${FILESDIR}"/${PN}-asm.patch
-}
-
-src_compile() {
- local myconf=""
- local makeopts=""
-
- use noaudio && myconf="${myconf} --disable-audio"
- use novideo && myconf="${myconf} --disable-video"
-
- econf \
- ${myconf} \
- $(use_enable alsa) \
- $(use_enable bsdvideo) \
- $(use_enable debug exceptions) \
- $(use_enable debug memcheck) \
- $(use_enable esd) \
- $(use_enable ieee1394 avc) \
- $(use_enable ieee1394 dc) \
- $(use_enable ipv6) \
- $(use_enable ldap openldap) \
- $(use_enable minimal minsize) \
- $(use_enable oss) \
- $(use_enable sasl) \
- $(use_enable sdl) \
- $(use_enable ssl openssl) \
- $(use_enable sunaudio) \
- $(use_enable v4l) \
- $(use_enable v4l2) \
- $(use_enable xml expat) \
- $(use_enable ffmpeg ffvdev) \
- $(use_enable shm shmvideo) \
- $(use_enable opal) \
- --enable-plugins \
- --enable-video \
- || die "econf failed"
-
- if use debug; then
- makeopts="${makeopts} DEBUG=1 debug"
- fi
-
- emake ${makeopts} || die "emake failed"
-}
-
-src_install() {
- local makeopts
-
- makeopts="PREFIX=/usr DESTDIR=\"${D}\""
-
- if use debug; then
- makeopts="${makeopts} DEBUG=1"
- fi
-
- emake ${makeopts} install || die "emake install failed"
-
- if use doc; then
- dohtml -r html/* || die "documentation installation failed"
- fi
-
- dodoc ReadMe.txt ReadMe_QOS.txt History.txt || die "documentation
- installation failed"
-}
diff --git a/dev-libs/ptlib/ptlib-9999.ebuild b/dev-libs/ptlib/ptlib-9999.ebuild
deleted file mode 100644
index aa08f93..0000000
--- a/dev-libs/ptlib/ptlib-9999.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="1"
-
-inherit eutils subversion autotools
-
-DESCRIPTION="Network focused portable C++ class library providing high level functions"
-HOMEPAGE="http://www.opalvoip.org/"
-SRC_URI=""
-
-ESVN_REPO_URI="https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/ptlib/trunk"
-ESVN_STORE_DIR="${DISTDIR}/svn-src"
-ESVN_PROJECT="${PN/-svn}"
-#ESVN_BOOTSTRAP="./autogen.sh"
-
-S="${WORKDIR}/${P/_/}"
-
-LICENSE="MPL-1.0"
-SLOT=""
-KEYWORDS=""
-IUSE="alsa bsdvideo debug doc esd ieee1394 ipv6 ldap minimal noaudio novideo oss
-sasl sdl ssl sunaudio v4l v4l2 xml +exceptions +plugins opal"
-
-RDEPEND="alsa? ( media-libs/alsa-lib )
- esd? ( media-sound/esound )
- ieee1394? ( media-libs/libdv
- sys-libs/libavc1394
- media-libs/libdc1394:1 )
- ldap? ( net-nds/openldap )
- sasl? ( dev-libs/cyrus-sasl:2 )
- sdl? ( media-libs/libsdl )
- ssl? ( dev-libs/openssl )
- xml? ( dev-libs/expat )"
-DEPEND="${RDEPEND}
- sys-devel/bison
- sys-devel/flex
- v4l? ( sys-kernel/linux-headers )
- v4l2? ( sys-kernel/linux-headers )
- !dev-libs/pwlib"
-
-src_unpack() {
- subversion_src_unpack
- cd "${S}"
-# eautoreconf
-
- # this patch fixes bugs: #145424 and #140358
-# epatch "${FILESDIR}"/${PN}-asm.patch
-}
-
-src_compile() {
- local myconf=""
- local makeopts=""
-
- use noaudio && myconf="${myconf} --disable-audio"
- use novideo && myconf="${myconf} --disable-video"
-
- econf \
- ${myconf} \
- $(use_enable alsa) \
- $(use_enable bsdvideo) \
- $(use_enable debug exceptions) \
- $(use_enable debug memcheck) \
- $(use_enable esd) \
- $(use_enable ieee1394 avc) \
- $(use_enable ieee1394 dc) \
- $(use_enable ipv6) \
- $(use_enable ldap openldap) \
- $(use_enable minimal minsize) \
- $(use_enable oss) \
- $(use_enable sasl) \
- $(use_enable sdl) \
- $(use_enable ssl openssl) \
- $(use_enable sunaudio) \
- $(use_enable v4l) \
- $(use_enable v4l2) \
- $(use_enable xml expat) \
- $(use_enable exceptions) \
- $(use_enable plugins) \
- $(use_enable opal) \
- || die "econf failed"
-
- if use debug; then
- makeopts="${makeopts} DEBUG=1 debug"
- fi
-
- emake ${makeopts} || die "emake failed"
-}
-
-src_install() {
- local makeopts
-
- makeopts="PREFIX=/usr DESTDIR=\"${D}\""
-
- if use debug; then
- makeopts="${makeopts} DEBUG=1"
- fi
-
- emake ${makeopts} install || die "emake install failed"
-
-# if use doc; then
-# dohtml -r html/* || die "documentation installation failed"
-# fi
-
-# dodoc ReadMe.txt ReadMe_QOS.txt History.txt || die "documentation
-# installation failed"
-}
diff --git a/games-emulation/epsxe/files/epsxe b/games-emulation/epsxe/files/epsxe
deleted file mode 100644
index f50f33a..0000000
--- a/games-emulation/epsxe/files/epsxe
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/bin/sh
-
-PSEMUDIR=GAMES_LIBDIR/psemu
-EPSXEDIR=GAMES_PREFIX_OPT/epsxe
-
-mkdir -p ~/.epsxe
-cd ~/.epsxe
-cleanlinks
-mkdir -p memcards bios cfg cheats snap sstates patches plugins
-
-shopt -s nullglob
-
-for f in `find "${EPSXEDIR}" -maxdepth 1 -type f -printf '%f '` ; do
- [[ -e "${f}" ]] && continue
- ln -s "${EPSXEDIR}/${f}" "${f}" >& /dev/null
-done
-
-if [[ -d "${PSEMUDIR}" ]] ; then
- if [[ -d "${PSEMUDIR}/plugins" ]] ; then
- for plugin in `find "${PSEMUDIR}/plugins" -maxdepth 1 -type f -printf '%f '` ; do
- if [[ ! -e "plugins/${plugin}" ]] ; then
- echo "Loading new plugin: ${plugin}"
- ln -s "${PSEMUDIR}/plugins/${plugin}" "plugins/${plugin}"
- fi
- done
- fi
-
- if [[ -d "${PSEMUDIR}/cfg" ]] ; then
- for configlib in `find "${PSEMUDIR}/cfg" -maxdepth 1 -iname '*.cfg' -prune -o -type f -printf '%f '`; do
- if [[ ! -e "cfg/${configlib}" ]] ; then
- echo "Loading config utility: ${configlib}"
- ln -s "${PSEMUDIR}/cfg/${configlib}" "cfg/${configlib}"
- fi
- done
-
- for config in `find "${PSEMUDIR}/cfg" -maxdepth 1 -iname '*.cfg' -type f -printf '%f '`; do
- if [[ ! -e "cfg/${config}" ]] ; then
- echo "Loading default config: ${config}"
- cp "${PSEMUDIR}/cfg/${config}" "cfg/${config}"
- fi
- done
- fi
-
- if [[ -d "${PSEMUDIR}/cheats" ]] ; then
- for cheat in `find "${PSEMUDIR}/cheats" -maxdepth 1 -type f -printf '%f '`; do
- if [[ ! -e "cheats/${cheat}" ]] ; then
- ln -s "${PSEMUDIR}/cheats/${cheat}" "cheats/${cheat}"
- fi
- done
- fi
-
- if [[ -d "${PSEMUDIR}/bios" ]] ; then
- for bios in `find "${PSEMUDIR}/bios" -maxdepth 1 -type f -printf '%f '`; do
- if [[ ! -e "bios/${bios}" ]] ; then
- ln -s "${PSEMUDIR}/bios/${bios}" "bios/${bios}"
- fi
- done
- fi
-fi
-
-# check for bios
-if [[ -z "`cd bios && ls`" ]] ; then
- # if the bios directory is empty, then ... well ...
- echo
- echo "*** Put your BIOS file into ~/.epsxe/bios/"
- echo " or ePSXe may not work!"
- echo
-fi
-
-# execute program (with args)
-export LD_PRELOAD="libpthread.so.0:${LD_PRELOAD}" # fix for Bug #26121
-exec ./epsxe "$@"
diff --git a/games-emulation/gens/files/gens-2.12b-gcc4.patch b/games-emulation/gens/files/gens-2.12b-gcc4.patch
deleted file mode 100644
index 88cf9b0..0000000
--- a/games-emulation/gens/files/gens-2.12b-gcc4.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/src/gens/emulator/g_main.c b/src/gens/emulator/g_main.c
-index 1c9f4f5..3ac13eb 100644
---- a/src/gens/emulator/g_main.c
-+++ b/src/gens/emulator/g_main.c
-@@ -5,6 +5,7 @@
- #include <sys/stat.h>
- #include <stdlib.h>
- #include <stdio.h>
-+#include <string.h>
- #include "g_main.h"
- #include "timer.h"
- #include "gens.h"
-diff --git a/src/gens/emulator/g_main.h b/src/gens/emulator/g_main.h
-index c7ea4b2..9090766 100644
---- a/src/gens/emulator/g_main.h
-+++ b/src/gens/emulator/g_main.h
-@@ -36,6 +36,8 @@ extern char **language_name;
- extern unsigned char Keys[];
- extern unsigned char joystate[];
-
-+static int Build_Language_String (void);
-+
- void SetWindowText(const char *text);
-
- int Set_Render(int Full, int Num, int Force);
-diff --git a/src/gens/emulator/parse.c b/src/gens/emulator/parse.c
-index 5bece4a..67f8b49 100644
---- a/src/gens/emulator/parse.c
-+++ b/src/gens/emulator/parse.c
-@@ -1,6 +1,7 @@
- #include <stdlib.h>
- #include <stdio.h>
- #include <getopt.h>
-+#include <string.h>
- #include "port.h"
- #include "save.h"
- #include "cpu_68k.h"
diff --git a/games-emulation/gens/files/gens-2.12b-romsdir.patch b/games-emulation/gens/files/gens-2.12b-romsdir.patch
deleted file mode 100644
index 76b066b..0000000
--- a/games-emulation/gens/files/gens-2.12b-romsdir.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ruN gens-rc3.5-opengl/src/gens/util/rom.c gens-rc3.5-opengl-patched/src/gens/util/rom.c
---- gens-rc3.5-opengl/src/gens/util/rom.c 2005-01-10 22:24:01.000000000 +0100
-+++ gens-rc3.5-opengl-patched/src/gens/util/rom.c 2006-10-29 14:58:14.000000000 +0100
-@@ -411,6 +411,9 @@
- create_file_chooser_dialog ("Open Rom", GTK_FILE_CHOOSER_ACTION_OPEN);
- // fileselection_set_dir (fd.filesel, Rom_Dir);
- addRomsFilter (widget);
-+
-+ gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (widget), Rom_Dir);
-+
- res = gtk_dialog_run (GTK_DIALOG (widget));
- if (res == GTK_RESPONSE_OK)
- {
diff --git a/games-emulation/gens/files/gens-rc3_to_mythgame.patch b/games-emulation/gens/files/gens-rc3_to_mythgame.patch
deleted file mode 100644
index f32897a..0000000
--- a/games-emulation/gens/files/gens-rc3_to_mythgame.patch
+++ /dev/null
@@ -1,674 +0,0 @@
---- old/src/gens/emulator/g_main.h 2004-04-15 16:22:49.000000000 -0400
-+++ new/src/gens/emulator/g_main.h 2006-12-30 12:50:37.000000000 -0500
-@@ -22,6 +22,7 @@
- extern int Intro_Style;
- extern int SegaCD_Accurate;
- extern int Active;
-+extern int Quick_Exit;
-
- extern POINT Window_Pos;
-
-@@ -36,6 +37,8 @@
- extern unsigned char Keys[];
- extern unsigned char joystate[];
-
-+static int Build_Language_String (void);
-+
- void SetWindowText(const char *text);
-
- int Set_Render(int Full, int Num, int Force);
---- old/src/gens/emulator/g_main.c 2004-05-18 16:34:00.000000000 -0400
-+++ new/src/gens/emulator/g_main.c 2006-12-30 13:13:00.000000000 -0500
-@@ -5,6 +5,7 @@
- #include <sys/stat.h>
- #include <stdlib.h>
- #include <stdio.h>
-+#include <string.h>
- #include "g_main.h"
- #include "timer.h"
- #include "gens.h"
-@@ -54,6 +55,7 @@
- int Intro_Style = 2;
- int SegaCD_Accurate = 0;
- int Kaillera_Client_Running = 0;
-+int Quick_Exit = 0;
-
- static int Gens_Running = 0;
-
-@@ -96,6 +98,11 @@
- switch (event.key.keysym.sym)
- {
- case SDLK_ESCAPE:
-+ if (Quick_Exit)
-+ {
-+ close_gens();
-+ }
-+
- if (Debug)
- {
- Change_Debug (0);
-@@ -427,21 +434,73 @@
- break;
-
- case SDL_JOYAXISMOTION:
-- if (event.jaxis.axis < 2)
-+ if (event.jaxis.axis < 6)
-+ {
-+ if (event.jaxis.value < -10000)
-+ {
-+ if (event.jaxis.axis == 0)
-+ {
-+ joystate[0x100 * event.jaxis.which + 0x3] = 1;
-+ joystate[0x100 * event.jaxis.which + 0x4] = 0;
-+ }
-+ else if (event.jaxis.axis == 1)
-+ {
-+ joystate[0x100 * event.jaxis.which + 0x1] = 1;
-+ joystate[0x100 * event.jaxis.which + 0x2] = 0;
-+ }
-+ else if (event.jaxis.axis == 2)
-+ {
-+ joystate[0x100 * event.jaxis.which + 0x7] = 1;
-+ joystate[0x100 * event.jaxis.which + 0x8] = 0;
-+ }
-+ else if (event.jaxis.axis == 3)
-+ {
-+ joystate[0x100 * event.jaxis.which + 0x5] = 1;
-+ joystate[0x100 * event.jaxis.which + 0x6] = 0;
-+ }
-+ else if (event.jaxis.axis == 4)
-+ {
-+ joystate[0x100 * event.jaxis.which + 0xB] = 1;
-+ joystate[0x100 * event.jaxis.which + 0xC] = 0;
-+ }
-+ else if (event.jaxis.axis == 5)
-+ {
-+ joystate[0x100 * event.jaxis.which + 0x9] = 1;
-+ joystate[0x100 * event.jaxis.which + 0xA] = 0;
-+ }
-+ }
-+ else if (event.jaxis.value > 10000)
-+ {
-+ if (event.jaxis.axis == 0)
-+ {
-+ joystate[0x100 * event.jaxis.which + 0x3] = 0;
-+ joystate[0x100 * event.jaxis.which + 0x4] = 1;
-+ }
-+ else if (event.jaxis.axis == 1)
- {
-- if (event.jaxis.value < -500)
-+ joystate[0x100 * event.jaxis.which + 0x1] = 0;
-+ joystate[0x100 * event.jaxis.which + 0x2] = 1;
-+ }
-+ else if (event.jaxis.axis == 2)
- {
-- joystate[0x100 * event.jaxis.which +
-- ((event.jaxis.axis == 0) ? 0x3 : 0x1)] = 1;
-- joystate[0x100 * event.jaxis.which +
-- ((event.jaxis.axis == 0) ? 0x4 : 0x2)] = 0;
-+ joystate[0x100 * event.jaxis.which + 0x7] = 0;
-+ joystate[0x100 * event.jaxis.which + 0x8] = 1;
- }
-- else if (event.jaxis.value > 500)
-+ else if (event.jaxis.axis == 3)
- {
-- joystate[0x100 * event.jaxis.which +
-- ((event.jaxis.axis == 0) ? 0x4 : 0x2)] = 1;
-- joystate[0x100 * event.jaxis.which +
-- ((event.jaxis.axis == 0) ? 0x3 : 0x1)] = 0;
-+ joystate[0x100 * event.jaxis.which + 0x5] = 0;
-+ joystate[0x100 * event.jaxis.which + 0x6] = 1;
-+ }
-+ else if (event.jaxis.axis == 4)
-+ {
-+ joystate[0x100 * event.jaxis.which + 0xB] = 0;
-+ joystate[0x100 * event.jaxis.which + 0xC] = 1;
-+ }
-+ else if (event.jaxis.axis == 5)
-+ {
-+ joystate[0x100 * event.jaxis.which + 0x9] = 0;
-+ joystate[0x100 * event.jaxis.which + 0xA] = 1;
-+ }
- }
- else
- {
-@@ -455,7 +514,26 @@
- joystate[0x100 * event.jaxis.which + 0x2] = 0;
- joystate[0x100 * event.jaxis.which + 0x1] = 0;
- }
--
-+ else if (event.jaxis.axis == 2)
-+ {
-+ joystate[0x100 * event.jaxis.which + 0x8] = 0;
-+ joystate[0x100 * event.jaxis.which + 0x7] = 0;
-+ }
-+ else if (event.jaxis.axis == 3)
-+ {
-+ joystate[0x100 * event.jaxis.which + 0x6] = 0;
-+ joystate[0x100 * event.jaxis.which + 0x5] = 0;
-+ }
-+ else if (event.jaxis.axis == 4)
-+ {
-+ joystate[0x100 * event.jaxis.which + 0xC] = 0;
-+ joystate[0x100 * event.jaxis.which + 0xB] = 0;
-+ }
-+ else if (event.jaxis.axis == 5)
-+ {
-+ joystate[0x100 * event.jaxis.which + 0xA] = 0;
-+ joystate[0x100 * event.jaxis.which + 0x9] = 0;
-+ }
- }
- }
-
-@@ -679,6 +757,24 @@
- sync_gens_ui ();
- gtk_widget_show_all (gens_window);
-
-+ //If a rom is passed in on the command line then open it
-+ if (strcmp(Rom_Name, "") != 0)
-+ {
-+ struct stat buf;
-+ char Rom_Path[2048];
-+ strcpy (Rom_Path, Rom_Dir);
-+ strcat (Rom_Path, Rom_Name);
-+ if (stat (Rom_Path, &buf) == 0)
-+ {
-+ printf("Opening %s\n", Rom_Path);
-+ Open_Rom(Rom_Path);
-+ }
-+ else
-+ {
-+ printf("%s not found\n", Rom_Path);
-+ }
-+ }
-+
- while (is_gens_running ())
- {
- update_SDL_events ();
---- old/src/gens/emulator/parse.h 2004-05-19 15:12:02.000000000 -0400
-+++ new/src/gens/emulator/parse.h 2006-12-30 12:40:16.000000000 -0500
-@@ -4,8 +4,8 @@
- #define MM "--"
- #define ENABLE "enable"
- #define DISABLE "disable"
--// 1 arg option
-
-+// 1 arg option
- #define ROMPATH "rompath"
- #define SAVEPATH "savepath"
- #define SRAMPATH "srampath"
-@@ -38,6 +38,7 @@
-
- #define FS "fs"
- #define WINDOW "window"
-+#define QUICKEXIT "quickexit"
-
- // enable and disable options
- #define STRETCH "stretch"
---- old/src/gens/emulator/parse.c 2004-05-19 15:21:00.000000000 -0400
-+++ new/src/gens/emulator/parse.c 2007-01-03 01:29:41.210902112 -0500
-@@ -1,6 +1,7 @@
- #include <stdlib.h>
- #include <stdio.h>
- #include <getopt.h>
-+#include <string.h>
- #include "port.h"
- #include "save.h"
- #include "cpu_68k.h"
-@@ -33,67 +34,71 @@
- #include "support.h"
- #include "parse.h"
-
--#define print_usage(option, helpmsg) fprintf(stderr, MM option"\n" helpmsg)
--#define print_usage2(option, helpmsg) fprintf(stderr, MM ENABLE "-" option ", " MM DISABLE "-" option "\n" helpmsg "\n\n")
-+#define print_usage(option, helpmsg) fprintf(stderr, MM option"\t" helpmsg"\n")
-+#define print_usage2(option, helpmsg) fprintf(stderr, MM "en/disable-" option "\t" helpmsg "\n")
-
- static void _usage()
- {
-- fprintf (stderr, "Gens for Linux v2.12-rc3\n");
-+ fprintf (stderr, "Gens for Linux v2.12-mythgame\n");
- fprintf (stderr, "Usage : gens [options] romfile\n");
-- print_usage( HELP, "print this help");
-+ print_usage( HELP, "\t\tprint this help");
-
-- print_usage( ROMPATH ,"path where your roms are stored");
-- print_usage( SAVEPATH ,"path where to save your states file");
-- print_usage( SRAMPATH ,"path where to save your states file");
-- print_usage( BRAMPATH ,"path where to save your states file");
-- print_usage( DUMPPATH ,"path where to save your states file");
-- print_usage( DUMPGYMPATH ,"path where to save your states file");
-- print_usage( SCRSHTPATH ,"path where to save your states file");
-- print_usage( PATPATH ,"path where to save your states file");
-- print_usage( IPSPATH ,"path where to save your states file");
-- print_usage( GCOFFPATH ,"path where to save your states file");
-- print_usage( GENSMANPATH ,"path where to save your states file");
-- print_usage( GENBIOS ,"");
-- print_usage( USABIOS ,"");
-- print_usage( EURBIOS ,"");
-- print_usage( JAPBIOS ,"");
-- print_usage( _32X68kBIOS ,"");
-- print_usage( _32XMBIOS ,"");
-- print_usage( _32XSBIOS ,"");
-- print_usage( CONTRAST ,"");
-- print_usage( BRIGHTNESS ,"");
-- print_usage( WINDOWMODE ,"");
-- print_usage( FSMODE ,"");
-- print_usage( FRAMESKIP ,"");
-- print_usage( SOUNDRATE ,"");
-- print_usage( MSH2SPEED ,"");
-- print_usage( SSH2SPEED ,"");
-- print_usage( RAMCARTSIZE,"");
--
-- print_usage2( STRETCH,"stretch mode");
-- print_usage2( SWBLIT,"software blitting");
-- print_usage2( GREYSCALE,"greyscale");
-- print_usage2( INVERT,"");
-- print_usage2( SPRITELIMIT,"");
-- print_usage2( SOUND,"");
-- print_usage2( STEREO,"");
-- print_usage2( Z80,"");
-- print_usage2( YM2612,"");
-- print_usage2( PSG,"");
-- print_usage2( DAC,"");
-- print_usage2( PCM,"");
-- print_usage2( PWM,"");
-- print_usage2( CDDA,"");
-+ print_usage( ROMPATH ,"\tdirectory roms are located in");
-+ print_usage( SAVEPATH ,"\tpath to save states file");
-+ print_usage( SRAMPATH ,"\tpath to save SRAM (battery backup) files");
-+ print_usage( BRAMPATH ,"\tpath to save BRAM (Sega CD battery backup) files");
-+ print_usage( DUMPPATH ,"\tpath to save wav sound dumps");
-+ print_usage( DUMPGYMPATH ,"\tpath to save GYM sound dumps");
-+ print_usage( SCRSHTPATH ,"path to save screen shots");
-+ print_usage( PATPATH ,"\tpath for game genie patch files");
-+ print_usage( IPSPATH ,"\tpath for patch files");
-+ print_usage( GCOFFPATH ,"\tpath to GCOffline (offline version of Genesis Collective)");
-+ print_usage( GENSMANPATH ,"path to Gens manual");
-+ print_usage( GENBIOS ,"\tpath to the Genesis bios");
-+ print_usage( USABIOS ,"\tpath to the USA Sega CD bios");
-+ print_usage( EURBIOS ,"\tpath to the European Sega CD bios");
-+ print_usage( JAPBIOS ,"\tpath to the Japanese Sega CD bios");
-+ print_usage( _32X68kBIOS ,"\tpath to the 32X 68k bios");
-+ print_usage( _32XMBIOS ,"\tpath to the 32X Master bios");
-+ print_usage( _32XSBIOS ,"\tpath to the 32X Slave bios");
-+ print_usage( CONTRAST ,"\tadjust contrast up to (0-200, default 100)");
-+ print_usage( BRIGHTNESS ,"\tadjust brightness up to (0-200, default 100)");
-+ print_usage( FS ,"\t\trun the emulator full screen (0/1)");
-+ print_usage( FSMODE ,"\trendering mode for full screen (1-11)\n\t\t\t 0 - normal\t\t 6 - interpolated scanline\n\t\t\t 1 - double\t\t 7 - interpolated 50%% scanline\n\t\t\t 2 - interpolated\t 8 - interpolated 25%% scanline\n\t\t\t 3 - scanline\t\t 9 - 2xSAI (Kreed)\n\t\t\t 4 - 50%% scanline\t 10 - Scale2x\n\t\t\t 5 - 25%% scanline\t 11 - Hq2x");
-+ print_usage( WINDOW ,"\trun the emulator in a window (0/1)");
-+ print_usage( WINDOWMODE ,"\trendering mode for window (0-11)\n\t\t\t same options as fs-mode");
-+ print_usage( FRAMESKIP ,"\tskip frames at this relative rate, useful on slower cpus (0-8, -1 auto)");
-+ print_usage( SOUNDRATE ,"\tthe sound sampling rate (11025, 22050, 44100)");
-+ print_usage( MSH2SPEED ,"\tmaster SH2 speed (0-200, default 100)");
-+ print_usage( SSH2SPEED ,"\tslave SH2 speed (0-200, default 100)");
-+ print_usage( RAMCARTSIZE ,"\tSega CD SRAM size (-1 = none, 0 = 8k, 1 = 16k, 2 = 32k, 3 = 64k)");
-+ print_usage( QUICKEXIT ,"\tmake the ESC key exit Gens instead of pause (0/1)");
-+ fprintf (stderr, "\n");
-+
-+ print_usage2( STRETCH,"\tstretch mode");
-+ print_usage2( SWBLIT,"\tsoftware blitting");
-+ print_usage2( GREYSCALE,"\tdisplay in greyscale mode");
-+ print_usage2( INVERT,"\tdisplay colors inverted");
-+ print_usage2( SPRITELIMIT,"limit the number of sprites on screen");
-+ print_usage2( SOUND,"\tsound is to be enabled");
-+ print_usage2( STEREO,"stereo sound is to be enabled");
-+ print_usage2( Z80,"\tZ80 sound processor");
-+ print_usage2( YM2612,"\tYM2612 sound chip");
-+ print_usage2( PSG,"\tPSG 76489 sound chip");
-+ print_usage2( DAC,"\tpart of YM2612 chip");
-+ print_usage2( PCM,"\tsound chip for Sega CD");
-+ print_usage2( PWM,"\t10-channel PWM mixing for 32X");
-+ print_usage2( CDDA,"\tCDDA data access mode for Sega CD");
- print_usage2( PSGIMPROVED,"");
- print_usage2( YMIMPROVED,"");
- print_usage2( DACIMPROVED,"");
-- print_usage2( PERFECTSYNC,"");
-- print_usage2( FASTBLUR,"");
-- print_usage2( FPS,"");
-- print_usage2( MSG,"");
-- print_usage2( LED,"");
-- print_usage2( FIXCHKSUM,"");
-- print_usage2( AUTOPAUSE,"");
-+ print_usage2( PERFECTSYNC,"synch main and sub CPUs for Sega CD");
-+ print_usage2( FASTBLUR,"\tmode to simulate output to tv");
-+ print_usage2( FPS,"\tFPS display");
-+ print_usage2( MSG,"\tGens system messages");
-+ print_usage2( LED,"\tSega CD power and access LEDs");
-+ print_usage2( FIXCHKSUM,"\ttoggle that may fix red screen checksum errors");
-+ print_usage2( AUTOPAUSE,"\tset gens to pause when screen loses focus");
-
- exit (0);
- }
-@@ -184,6 +189,7 @@
- {AUTOPAUSE1, no_argument, 0, 0},
- {AUTOPAUSE0, no_argument, 0, 0},
- {RAMCARTSIZE, required_argument, 0, 0},
-+ {QUICKEXIT, no_argument, 0, 0},
- {HELP, no_argument, 0, 0},
- {0, 0, 0, 0}
- };
-@@ -499,6 +505,10 @@
- {
- BRAM_Ex_Size = strtol (optarg, (char **) NULL, 10);
- }
-+ else if (!strcmp (long_options[option_index].name, QUICKEXIT))
-+ {
-+ Quick_Exit = 1;
-+ }
- else if (!strcmp (long_options[option_index].name, HELP))
- {
- _usage();
-@@ -510,6 +520,12 @@
-
- if (optind < argc)
- {
-+ //The first non ARGV element is the romfile parameter
-+ strcpy (Rom_Name, argv[optind++]);
-+ }
-+
-+ if (optind < argc)
-+ {
- printf ("non-option ARGV-elements: ");
- while (optind < argc)
- printf ("%s ", argv[optind++]);
---- old/src/gens/sdllayer/g_sdlinput.h 2004-05-18 16:45:07.000000000 -0400
-+++ new/src/gens/sdllayer/g_sdlinput.h 2006-12-30 12:47:40.000000000 -0500
-@@ -28,7 +28,7 @@
- void open_joystick();
- void close_joystick();
-
--extern SDL_Joystick* joy[2];
-+extern SDL_Joystick* joy[6];
-
- #define CHECK_BUTTON(player, ctrl, button) \
- if (Check_Key_Pressed(Keys_Def[player].button)) \
---- old/src/gens/sdllayer/g_sdlinput.c 2004-05-18 16:46:01.000000000 -0400
-+++ new/src/gens/sdllayer/g_sdlinput.c 2006-12-30 12:43:35.000000000 -0500
-@@ -16,7 +16,7 @@
- unsigned char Keys[1024];
-
- unsigned char Kaillera_Keys[16];
--unsigned char joystate[0x80 + 0x100 + 0x10 * 3 + 0x4];
-+unsigned char joystate[0x530];
-
- struct K_Def Keys_Def[8] = {
- {SDLK_RETURN, SDLK_RSHIFT,
-@@ -29,7 +29,7 @@
- SDLK_y, SDLK_h, SDLK_g, SDLK_j}
- };
-
--SDL_Joystick *joy[2] = { NULL, NULL };
-+SDL_Joystick *joy[6] = { NULL, NULL, NULL, NULL, NULL, NULL };
-
- void
- End_Input ()
-@@ -40,28 +40,32 @@
- void
- open_joystick ()
- {
-+ int Cur_Joy = 0;
- Nb_Joys = 0;
- SDL_JoystickEventState (SDL_ENABLE);
-- joy[0] = SDL_JoystickOpen (0);
-- if (joy[0])
-- Nb_Joys++;
-- joy[1] = SDL_JoystickOpen (1);
-- if (joy[1])
-+
-+ while (Cur_Joy < 6)
-+ {
-+ joy[Cur_Joy] = SDL_JoystickOpen (Cur_Joy);
-+ if (joy[Cur_Joy])
- Nb_Joys++;
-+ Cur_Joy++;
-+ }
- }
-
- void
- close_joystick ()
- {
-- if (SDL_JoystickOpened (0))
-+ int Cur_Joy = 0;
-+
-+ while (Cur_Joy < 6)
- {
-- SDL_JoystickClose (joy[0]);
-- joy[0] = NULL;
-- }
-- if (SDL_JoystickOpened (1))
-+ if (SDL_JoystickOpened (Cur_Joy))
- {
-- SDL_JoystickClose (joy[1]);
-- joy[1] = NULL;
-+ SDL_JoystickClose (joy[Cur_Joy]);
-+ joy[Cur_Joy] = NULL;
-+ }
-+ Cur_Joy++;
- }
- }
-
-@@ -95,7 +99,7 @@
- {
- Num_Joy = ((key >> 8) & 0xF);
-
-- if ((Num_Joy < 2) && joy[Num_Joy])
-+ if ((Num_Joy < 6) && joy[Num_Joy])
- {
- if (key & 0x80) // Test POV Joys
- {
-@@ -146,6 +150,46 @@
- if (joystate[0x100 * Num_Joy + 0x4])
- return 1;
- break;
-+
-+ case 5:
-+ if (joystate[0x100 * Num_Joy + 0x5])
-+ return 1;
-+ break;
-+
-+ case 6:
-+ if (joystate[0x100 * Num_Joy + 0x6])
-+ return 1;
-+ break;
-+
-+ case 7:
-+ if (joystate[0x100 * Num_Joy + 0x7])
-+ return 1;
-+ break;
-+
-+ case 8:
-+ if (joystate[0x100 * Num_Joy + 0x8])
-+ return 1;
-+ break;
-+
-+ case 9:
-+ if (joystate[0x100 * Num_Joy + 0x9])
-+ return 1;
-+ break;
-+
-+ case 10:
-+ if (joystate[0x100 * Num_Joy + 0xA])
-+ return 1;
-+ break;
-+
-+ case 11:
-+ if (joystate[0x100 * Num_Joy + 0xB])
-+ return 1;
-+ break;
-+
-+ case 12:
-+ if (joystate[0x100 * Num_Joy + 0xC])
-+ return 1;
-+ break;
- }
- }
- }
-@@ -437,11 +481,15 @@
- {
- GdkEvent *event;
- SDL_Event sdl_event;
-- SDL_Joystick *js[2];
-+ SDL_Joystick *js[6];
- SDL_JoystickEventState (SDL_ENABLE);
-
- js[0] = SDL_JoystickOpen (0);
- js[1] = SDL_JoystickOpen (1);
-+ js[2] = SDL_JoystickOpen (2);
-+ js[3] = SDL_JoystickOpen (3);
-+ js[4] = SDL_JoystickOpen (4);
-+ js[5] = SDL_JoystickOpen (5);
-
- while (gtk_events_pending ())
- gtk_main_iteration ();
-@@ -453,19 +501,73 @@
- switch (sdl_event.type)
- {
- case SDL_JOYAXISMOTION:
-- if (sdl_event.jaxis.value < -500)
-+ if (sdl_event.jaxis.value < -10000)
-+ {
-+ if (sdl_event.jaxis.axis == 0)
-+ {
-+ return (0x1000 +
-+ (0x100 * sdl_event.jaxis.which + 0x3));
-+ }
-+ else if (sdl_event.jaxis.axis == 1)
-+ {
-+ return (0x1000 +
-+ (0x100 * sdl_event.jaxis.which + 0x1));
-+ }
-+ else if (sdl_event.jaxis.axis == 2)
- {
- return (0x1000 +
-- (0x100 * sdl_event.jaxis.which +
-- ((sdl_event.jaxis.axis == 0) ? 0x3 : 0x1)));
-+ (0x100 * sdl_event.jaxis.which + 0x7));
- }
-- else if (sdl_event.jaxis.value > 500)
-+ else if (sdl_event.jaxis.axis == 3)
- {
- return (0x1000 +
-- (0x100 * sdl_event.jaxis.which +
-- ((sdl_event.jaxis.axis == 0) ? 0x4 : 0x2)));
-+ (0x100 * sdl_event.jaxis.which + 0x5));
- }
-- else if (sdl_event.jaxis.value == 0)
-+ else if (sdl_event.jaxis.axis == 4)
-+ {
-+ return (0x1000 +
-+ (0x100 * sdl_event.jaxis.which + 0xB));
-+ }
-+ else if (sdl_event.jaxis.axis == 5)
-+ {
-+ return (0x1000 +
-+ (0x100 * sdl_event.jaxis.which + 0x9));
-+ }
-+ }
-+ else if (sdl_event.jaxis.value > 10000)
-+ {
-+ if (sdl_event.jaxis.axis == 0)
-+ {
-+ return (0x1000 +
-+ (0x100 * sdl_event.jaxis.which + 0x4));
-+ }
-+ else if (sdl_event.jaxis.axis == 1)
-+ {
-+ return (0x1000 +
-+ (0x100 * sdl_event.jaxis.which + 0x2));
-+ }
-+ else if (sdl_event.jaxis.axis == 2)
-+ {
-+ return (0x1000 +
-+ (0x100 * sdl_event.jaxis.which + 0x8));
-+ }
-+ else if (sdl_event.jaxis.axis == 3)
-+ {
-+ return (0x1000 +
-+ (0x100 * sdl_event.jaxis.which + 0x6));
-+ }
-+ else if (sdl_event.jaxis.axis == 4)
-+ {
-+ return (0x1000 +
-+ (0x100 * sdl_event.jaxis.which + 0xC));
-+ }
-+ else if (sdl_event.jaxis.axis == 5)
-+ {
-+ return (0x1000 +
-+ (0x100 * sdl_event.jaxis.which + 0xA));
-+ }
-+ }
-+ else
- {
- return (Get_Key ());
- }
---- old/src/gens/util/rom.h 2004-03-14 09:33:06.000000000 -0500
-+++ new/src/gens/util/rom.h 2006-12-30 17:30:58.000000000 -0500
-@@ -52,7 +52,7 @@
- int Detect_Format(char *Name);
-
- int Get_Rom(void);
--
-+int Open_Rom(char *Name);
- int Pre_Load_Rom(char *Name);
- int Load_Rom_CC(char *Name, int Size);
- struct Rom *Load_Bios(char *Name);
---- old/src/gens/util/rom.c 2004-05-18 16:33:59.000000000 -0400
-+++ new/src/gens/util/rom.c 2007-01-05 13:23:45.596482516 -0500
-@@ -99,7 +99,7 @@
- void
- Update_Rom_Dir (char *Path)
- {
-- Get_Dir_From_Path (Path, Rom_Dir);
-+ sprintf (Rom_Dir, "%s", Path);;
- }
-
-
-@@ -390,11 +390,10 @@
- gint res;
- char Name[2048];
- gchar *filename;
-- int sys;
-
- widget =
- create_file_chooser_dialog ("Open Rom", GTK_FILE_CHOOSER_ACTION_OPEN);
--// fileselection_set_dir (fd.filesel, Rom_Dir);
-+ gtk_file_chooser_set_filename (GTK_FILE_CHOOSER(widget), Rom_Dir);
- addRomsFilter (widget);
- res = gtk_dialog_run (GTK_DIALOG (widget));
- if (res == GTK_RESPONSE_OK)
-@@ -407,6 +406,15 @@
- g_free (filename);
- Free_Rom (Game);
-
-+ return Open_Rom(Name);
-+
-+}
-+
-+int
-+Open_Rom(char *Name)
-+{
-+ int sys;
-+
- sys = Detect_Format (Name);
-
- if (sys < 1)
-@@ -458,6 +466,7 @@
- break;
- }
- return -1;
-+
- }
-
- int
---- old/src/gens/gtkui/glade/interface.c 2004-05-19 15:49:28.000000000 -0400
-+++ new/src/gens/gtkui/glade/interface.c 2007-01-03 13:13:28.113596925 -0500
-@@ -1825,7 +1825,7 @@
- gtk_widget_show (image1);
- gtk_box_pack_start (GTK_BOX (hbox1), image1, TRUE, TRUE, 0);
-
-- label1 = gtk_label_new ("Gens for Linux\nversion 2.12-rc3\n\nSega Genesis / Megadrive,\nSega CD / Mega CD,\nSega 32X emulator");
-+ label1 = gtk_label_new ("Gens for Linux\nversion 2.12-mythgame\n\nSega Genesis / Megadrive,\nSega CD / Mega CD,\nSega 32X emulator");
- gtk_widget_set_name (label1, "label1");
- gtk_widget_show (label1);
- gtk_box_pack_start (GTK_BOX (hbox1), label1, FALSE, FALSE, 0);
diff --git a/games-emulation/gens/gens-2.12b.ebuild b/games-emulation/gens/gens-2.12b.ebuild
deleted file mode 100644
index c81a780..0000000
--- a/games-emulation/gens/gens-2.12b.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# v-fox's private overlay: dfx.homeftp.net
-
-inherit flag-o-matic eutils games
-
-DESCRIPTION="A Sega Genesis/CD/32X emulator"
-HOMEPAGE="http://gens.consolemul.com/"
-
-SRC_URI="mirror://sourceforge/gens/gens-rc3.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 x86"
-IUSE="vanilla"
-
-RDEPEND="x86? ( >=x11-libs/gtk+-2.4
- >=media-libs/libsdl-1.2 )
- amd64? ( app-emulation/emul-linux-x86-sdl
- app-emulation/emul-linux-x86-gtklibs )"
-DEPEND="${RDEPEND}
- >=dev-lang/nasm-0.98"
-
-S=${WORKDIR}/GensForLinux
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- if use vanilla; then
- epatch \
- "${FILESDIR}"/${P}-gcc4.patch \
- "${FILESDIR}"/${P}-romsdir.patch
- else
- epatch \
- "${FILESDIR}"/gens-rc3_to_mythgame.patch
- fi
- append-ldflags -Wl,-z,noexecstack
-}
-
-src_compile() {
- use amd64 && multilib_toolchain_setup x86
- egamesconf \
- $(use_enable x86 gtktest) || die # shut up and eat emul-linux-x86-gtklibs
- emake || die "emake failed"
-}
-
-src_install() {
- make DESTDIR="${D}" install || die "make install failed"
- dodoc AUTHORS BUGS README gens.txt history.txt
- prepgamesdirs
-}
diff --git a/games-rpg/tmw/files b/games-rpg/tmw/files
index f387acf..c98e2ca 120000
--- a/games-rpg/tmw/files
+++ b/games-rpg/tmw/files
@@ -1,141 +1 @@
-/var/paludis/repositories/gentoo/games-rpg/tmw/filesd under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=1
-inherit qt3 git autotools
-
-DESCRIPTION="SFLphone aims to become your desktop's VoIP companion."
-HOMEPAGE="http://www.sflphone.org/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT=""
-
-EGIT_REPO_URI="http://sflphone.org/git/sflphone.git"
-
-KEYWORDS="~x86 ~ppc ~amd64"
-IUSE="qt3 speex zeroconf"
-
-DEPEND=">=net-libs/libosip-2.2.2
- >=net-libs/libeXosip-1.9.0
- >=dev-cpp/commoncpp2-1.3.21
- >=net-libs/ccrtp-1.3.5
- >=media-libs/portaudio-19_pre
- >=media-libs/libsamplerate-0.1.1
- net-libs/pjsip
- media-sound/pulseaudio
- qt3? ( >=x11-libs/qt-3.3:3 )
- speex? ( media-libs/speex )
- zeroconf? ( net-misc/mDNSResponder )"
-
-RDEPEND="${DEPEND}"
-
-src_unpack() {
-# unpack ${A}
- git_src_unpack
- cd "${S}"
- eautoreconf
- # fix compile error on genstef's box..doesn't seem to break anything
-# sed -i -e "s/Qt::Key_Mode_switch/0x0100117e/" src/gui/qt/SFLPhoneWindow.cpp
-}
-src_compile () {
- econf \
- $(use_enable qt3 sflphoneqt) \
- $(use_enable speex) \
- $(use_enable zeroconf) \
- || die "econf failed"
-
- emake || die "emake failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "emake install failed"
-
- dodoc README
-}
- x11-libs/libXv )"
-
-DEPEND="${RDEPEND}
- >=sys-devel/make-3.81
- >=dev-util/pkgconfig-0.12.0
- >=dev-util/intltool-0.35
- doc? ( app-text/scrollkeeper
- app-text/gnome-doc-utils )"
-
-DOCS="AUTHORS ChangeLog FAQ NEWS README"
-
-pkg_setup() {
- # ekiga has to be built like opal and ptlib but as opal has to be built
- # like ptlib, it should be possible to check only opal but as ekiga is
- # linking to both, we are cheking both
- if use debug && (! built_with_use dev-libs/ptlib debug ||
- ! built_with_use net-libs/opal debug); then
- eerror "You need to build dev-libs/ptlib and net-libs/opal with\
- USE=debug enabled."
- die "dev-libs/ptlib and net-libs/opal have to be built with USE=debug"
- fi
-
- if ! use debug && (built_with_use dev-libs/ptlib debug ||
- built_with_use net-libs/opal debug); then
- eerror "You need to build dev-libs/ptlib and net-libs/opal without\
- USE=debug."
- die "dev-libs/ptlib and net-libs/opal has not to be built with USE=debug"
- fi
-
- # dbus-service is always enable if dbus is enable, no reason to disable it
- G2CONF="${G2CONF}
- $(use_enable avahi)
- $(use_enable dbus)
- $(use_enable dbus dbus_service)
- $(use_enable debug)
- $(use_enable doc gdu)
- $(use_enable eds)
- $(use_enable gconf)
- $(use_enable gnome)
- $(use_enable ldap)
- $(use_enable libnotify notify)
- $(use_enable xv)
- "
-}
-
-src_unpack() {
-
- git_src_unpack
- cd "${S}"
-# eautoreconf
-
- # remove call to gconftool-2 --shutdown
-# sed -i -e '/gconftool-2 --shutdown/d' Makefile.in \
-# || die "Patching Makefile.in failed"
-
- # fix ekiga-helper dbus service .in file
-# sed -i -e 's/@PACKAGE_NAME@/ekiga/'\
-# src/components/org.ekiga.Helper.service.in \
-# || die "Patching src/components/org.ekiga.Helper.service.in failed"
-}
-
-pkg_postinst() {
- gnome2_pkg_postinst
-
- if ! use gnome; then
- ewarn "USE=-gnome is experimental, some weirdness with the UI and"
- ewarn "config keys should appear."
- fi
-}
-aclocal.m4
-
-eautoreconf
-}
-
-src_compile() {
-addpredict /etc/krb5.conf
-local modules myconf
-
-modules="mod_ratio:mod_readme"
-use acl && modules="${modules}:mod_facl"
-use ban && modules="${modules}:mod_ban"
-use case && modules="${modules}:mod_case"
-use clamav && modules="${modules}:mod_clamav"
-use deflate && modules="${modules}:mod_deflate"
-use pam && modules="${modules}:mod_auth_pam"
-use radius && modules="${modules}:mod_radius"
-use rewrite && modules="${modules}:mod_rewp \ No newline at end of file
+/usr/portage/games-rpg/tmw/files \ No newline at end of file
diff --git a/kde-misc/tork/files b/kde-misc/tork/files
index bec0f31..6064751 120000
--- a/kde-misc/tork/files
+++ b/kde-misc/tork/files
@@ -1,147 +1 @@
-/var/paludis/repositories/gentoo/kde-misc/tork/filesd under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/kde-misc/tork/tork-0.27.ebuild,v 1.3 2008/06/30 01:38:27 carlo Exp $
-
-ARTS_REQUIRED="never"
-
-inherit kde multilib cvs autotools
-
-DESCRIPTION="TorK is a powerful anonymity manager for the KDE and acts as a frontedn to Tor."
-HOMEPAGE="http://tork.sourceforge.net/"
-SRC_URI=""
-
-ECVS_SERVER="tork.cvs.sourceforge.net:/cvsroot/tork"
-ECVS_MODULE="tork"
-ECVS_AUTH="pserver"
-ECVS_USER="anonymous"
-S="${WORKDIR}/${PN}"
-
-
-LICENSE="GPL-2"
-SLOT=""
-KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
-IUSE="gnutls"
-
-DEPEND="dev-libs/openssl
- >=dev-libs/geoip-1.4.0
- gnutls? ( >=net-libs/gnutls-2.2.2 )
- !gnutls? ( >=dev-libs/openssl-0.9.8g )"
-
-RDEPEND="${DEPEND}
- >=net-misc/tor-0.1.2.14
- >=net-proxy/privoxy-3.0.3-r5
- >=net-proxy/tsocks-1.8_beta5-r2"
-
-need-kde 3.5
-
-#PATCHES=( "${FILESDIR}/${P}-ext_tsocks.patch"
-# "${FILESDIR}/${P}+gcc-4.3.patch" )
-
-src_compile() {
- # Fix desktop file
- cd ${S}
- sed -i -e "s:^\(Categories=.*\):\1;:" "${S}/src/tork.desktop"
-
- local myconf="--with-external-geoip --with-conf=/etc/socks/tsocks.conf"
- use gnutls && myconf="${myconf} --enable-gnutls"
-
- kde_src_compile
-}
-
-pkg_postinst() {
- if ! built_with_use --missing false net-proxy/tsocks tordns; then
- ewarn "WARNING: you have net-proxy/tsocks installed without"
- ewarn "the patch to avoid DNS leaking while using Tor."
- ewarn "For better privacy, please emerge again net-proxy/tsocks"
- ewarn "with the USE flag 'tordns' enabled."
- fi
-}
- fi
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- rm "${D}/etc/pango/pango.modules"
-}
-
-pkg_postinst() {
- if [[ "${ROOT}" == "/" ]] ; then
- einfo "Generating modules listing..."
-
- local PANGO_CONFDIR=
-
- if multilib_enabled ; then
- PANGO_CONFDIR="/etc/pango/${CHOST}"
- else
- PANGO_CONFDIR="/etc/pango"
- fi
-
- mkdir -p ${PANGO_CONFDIR}
-
- pango-querymodules > ${PANGO_CONFDIR}/pango.modules
- fi
-}
-
-src_compile(){
- econf\
- $(use_enable doc gtk-doc) \
- $(use_enable doc man) \
- $(useq debug && echo --enable-debug=yes )
- emake
-}
-ib.patch"
-
- # Workaround adobe flash infinite loop. Patch from http://bugzilla.gnome.org/show_bug.cgi?id=463773#c11
- epatch "${FILESDIR}/${PN}-2.12.0-flash-workaround.patch"
-
- # Don't break inclusion of gtkclist.h, upstream bug 536767
- epatch "${FILESDIR}/${PN}-2.14.3-limit-gtksignal-includes.patch"
-
- # -O3 and company cause random crashes in applications. Bug #133469
- replace-flags -O3 -O2
- strip-flags
-
- use ppc64 && append-flags -mminimal-toc
-
- elibtoolize
-}
-
-src_compile() {
- # png always on to display icons (foser)
- local myconf="$(use_enable doc gtk-doc) \
- $(use_with jpeg libjpeg) \
- $(use_with jpeg2k libjasper) \
- $(use_with tiff libtiff) \
- $(use_enable xinerama) \
- $(use_enable cups cups auto) \
- --with-libpng \
- --with-gdktarget=x11 \
- --with-xinput"
-
- # Passing --disable-debug is not recommended for production use
- use debug && myconf="${myconf} --enable-debug=yes"
-
- econf ${myconf} || die "configure failed"
- emake || die "compile failed"
-}
-
-src_test() {
- Xemake check || die "tests failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "Installation failed"
-
- set_gtk2_confdir
- dodir ${GTK2_CONFDIR}
- keepdir ${GTK2_CONFDIR}
-
- # see bug #133241
- echo 'gtk-fallback-icon-theme = "gnome"' > "${D}/${GTK2_CONFDIR}/gtkrc"
-
- # Enable xft in environment as suggested by <utx@gentoo.org>
- dodir /etc/env.d
- echo "GDK_USE_XFT=1" > "${D}/etc/env.d/50gtk2"
-
- dodoc AUTHORS ChangeLog* HACKING NEWS* README*
-
- # This has to be removed, because it's multilib specific; genep \ No newline at end of file
+/usr/portage/kde-misc/tork/files \ No newline at end of file
diff --git a/media-sound/mpd/files b/media-sound/mpd/files
index 037b845..8d8d7db 120000
--- a/media-sound/mpd/files
+++ b/media-sound/mpd/files
@@ -1,119 +1 @@
-/var/paludis/repositories/mpd/media-sound/mpd/filesgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<herd>sound</herd>
-</pkgmetadata>
-pack-tools/musepack-tools-1.15v-r1.ebuild,v 1.2 2007/05/14 21:21:37 beandog Exp $
-
-IUSE="static 16bit esd"
-
-inherit eutils flag-o-matic flag-o-matic
-
-S="${WORKDIR}/sv7"
-
-DESCRIPTION="Musepack audio compression tools"
-HOMEPAGE="http://www.musepack.net"
-SRC_URI="http://files.musepack.net/source/mpcsv7-src-${PV}.tar.bz2"
-
-SLOT="0"
-LICENSE="LGPL-2.1"
-KEYWORDS="~amd64 ~x86 ~x86-fbsd"
-
-RDEPEND="esd? ( media-sound/esound )
- media-libs/id3lib
- !media-sound/mppenc"
-
-DEPEND="${RDEPEND}
- x86? ( dev-lang/nasm )
- x86-fbsd? ( dev-lang/nasm )
- amd64? ( dev-lang/nasm )"
-
-src_unpack() {
- unpack ${A}
- cd ${S}
-
- epatch "${FILESDIR}/${P}-Makefile.patch"
- epatch "${FILESDIR}/${P}-gcc4.patch"
- use esd && epatch "${FILESDIR}/${P}-Makefile-esd.patch"
-
- sed -i 's/#define USE_IRIX_AUDIO/#undef USE_IRIX_AUDIO/' mpp.h
-
- if ! use esd ; then
- sed -i -e 's/#define USE_ESD_AUDIO/#undef USE_ESD_AUDIO/' mpp.h
- else
- sed -i -e 's/^LDADD = -lm$/LDADD = $(shell esd-config --libs)/' \
- Makefile
- fi
-
- if [[ $(tc-arch) != "x86" ]] ; then
- sed -i 's/#define USE_ASM/#undef USE_ASM/' mpp.h
- fi
-
- if [[ "$(tc-arch)" == "amd64" ]] ; then
- sed -i 's/-f elf$/-f elf64/' Makefile
- fi
-
- use 16bit && sed -i 's|//#define MAKE_16BIT|#define MAKE_16BIT|' mpp.h
-
- # Bug #109699; console redirection to /dev/tty makes no sense
- sed -i -e 's/$(LDADD) &> $(LOGFILE)/$(LDADD)/' Makefile
-
- epatch "${FILESDIR}/${P}-execstack.patch"
- epatch "${FILESDIR}/${P}-fbsd.patch"
-}
-
-src_compile() {
- filter-flags "-fprefetch-loop-arrays"
- filter-flags "-mfpmath=sse" "-mfpmath=sse,387"
- use static && export BLD_STATIC=1
-
- append-flags "-I${S}"
-
- emake CC="$(tc-getCC)" clean || die
-
- ARCH= emake CC="$(tc-getCC)" mppenc mppdec replaygain || die
-}
-
-src_install() {
- dobin mppenc mppdec replaygain
- dodoc README doc/ChangeLog doc/MANUAL.TXT doc/NEWS doc/SV7.txt doc/TODO*
-}
-b187301dfcff1c2605e91d13d21db160806a563d8c75f9b
-et source from the gentoo mirror. Added nasm
- dependency. Added to ~amd64. Removed -mpreferred-stack-boundary=2 from vendor
- CFLAGS.
-
- 27 Apr 2004; Aron Griffis <agriffis@gentoo.org> musepack-tools-1.15r.ebuild:
- Add flag-o-matic for bug 49179
-
-*musepack-tools-1.15r (22 Apr 2004)
-
- 22 Apr 2004; Jeremy Huddleston <eradicator@gentoo.org>
- musepack-tools-1.15r.ebuild, files/musepack-tools-1.15r-Makefile.patch:
- Initial ebuild provided by 4nykey@nm.ru in bug #47615.
-
-; Tony Vroon <chainsaw@gentoo.org>
- +files/musepack-tools-1.15v-Makefile.patch,
- +files/musepack-tools-1.15v-gcc4.patch, musepack-tools-1.15s-r2.ebuild,
- musepack-tools-1.15t.ebuild, musepack-tools-1.15u.ebuild,
- +musepack-tools-1.15v.ebuild:
- Version bump, closes bug #83365. Correct LICENSE in all ebuilds.
-
-*musepack-tools-1.15u (08 Mar 2005)
-
- 08 Mar 2005; Jan Brinkmann <luckyduck@gentoo.org>
- +files/musepack-tools-1.15u-Makefile.patch,
- +files/musepack-tools-1.15u-gcc4.patch, +musepack-tools-1.15u.ebuild:
- new upstream version, fixes #83528
-
- 09 Feb 2005; Jan Brinkmann <luckyduck@gentoo.org>
- musepack-tools-1.15s-r2.ebuild, musepack-tools-1.15t.ebuild:
- corrected issue with esound dependency, fixes #81311
-
- 11 Feb 2005; Tony Vroon <chainsaw@gentoo.org>
- +files/musepack-tools-1.15t-gcc4.patch, musepack-tools-1.15t.ebuild:
- GCC 4 compatability fix by Radoslaw -AstralStorm- Szkodzinski
- <astralstorm@gorzow.mm.pl> closes bug #81443.
-
- 07 Feb 2005; Jan Brinkmann <luckyduck@gentoo.org>
- files/musepack-tools-1.15t-Makefile.patch:
- modifiep \ No newline at end of file
+/usr/portage/media-sound/mpd/files \ No newline at end of file
diff --git a/media-sound/musepack-tools/files/musepack-tools-1.15v-Makefile-esd.patch b/media-sound/musepack-tools/files/musepack-tools-1.15v-Makefile-esd.patch
deleted file mode 100644
index 935d281..0000000
--- a/media-sound/musepack-tools/files/musepack-tools-1.15v-Makefile-esd.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- Makefile.orig 2007-04-24 09:07:22.000000000 -0700
-+++ Makefile 2007-04-24 09:07:43.000000000 -0700
-@@ -310,10 +310,10 @@
-
- $(MPPDEC_TARGET): $(MPPDEC_OBJ)
- ifndef BLD_STATIC
-- $(CC) $(CFLAGS) $(MPPDEC_OBJ) -o $(MPPDEC_TARGET) $(LDADD)
-+ $(CC) $(CFLAGS) $(MPPDEC_OBJ) -o $(MPPDEC_TARGET) $(LDADD) -lesd
- # -$(STRIP) $(STRIPOPT) $(MPPDEC_TARGET)
- else
-- $(CC) -static $(CFLAGS) $(MPPDEC_OBJ) -o $(MPPDEC_TARGET)-static $(LDADD)
-+ $(CC) -static $(CFLAGS) $(MPPDEC_OBJ) -o $(MPPDEC_TARGET)-static $(LDADD) -lesd
- # -$(STRIP) $(STRIPOPT) $(MPPDEC_TARGET)-static
- endif
-
diff --git a/media-sound/musepack-tools/files/musepack-tools-1.15v-Makefile.patch b/media-sound/musepack-tools/files/musepack-tools-1.15v-Makefile.patch
deleted file mode 100644
index b6e1d16..0000000
--- a/media-sound/musepack-tools/files/musepack-tools-1.15v-Makefile.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- Makefile.orig 2005-02-07 15:56:48.000000000 +0100
-+++ Makefile 2005-02-07 23:23:20.422596896 +0100
-@@ -36,7 +36,7 @@
- # If unset Intel 386 with optimization for Pentium is selected.
-
- ifndef ARCH
--ARCH = -march=i586 -m$(TUNE)=i686
-+ARCH = #-march=i586 -m$(TUNE)=i686
- endif
-
- ifdef MINGW
-@@ -176,9 +176,9 @@
- -fno-finite-math-only -fno-unsafe-math-optimizations
- endif
-
--OPTIM_SPEED = -O2 $(FLAGS) $(UNBREAK)
-+OPTIM_SPEED = $(UNBREAK)
-
--OPTIM_SIZE = -Os $(FLAGS) $(UNBREAK)
-+OPTIM_SIZE = $(UNBREAK)
-
- # Options to generate Assembly code for inspecting
-
diff --git a/media-sound/musepack-tools/files/musepack-tools-1.15v-execstack.patch b/media-sound/musepack-tools/files/musepack-tools-1.15v-execstack.patch
deleted file mode 100644
index 075fad3..0000000
--- a/media-sound/musepack-tools/files/musepack-tools-1.15v-execstack.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Index: sv7/cpu_feat.nas
-===================================================================
---- sv7.orig/cpu_feat.nas
-+++ sv7/cpu_feat.nas
-@@ -140,3 +140,6 @@ proc Init_FPU2
- endproc
-
- end
-+%ifidn __OUTPUT_FORMAT__,elf
-+section .note.GNU-stack noalloc noexec nowrite progbits
-+%endif
-Index: sv7/fft4gasm.nas
-===================================================================
---- sv7.orig/fft4gasm.nas
-+++ sv7/fft4gasm.nas
-@@ -422,3 +422,6 @@ lbl5:
-
-
- ;##################################################################
-+%ifidn __OUTPUT_FORMAT__,elf
-+section .note.GNU-stack noalloc noexec nowrite progbits
-+%endif
-Index: sv7/list_korr_asm.nas
-===================================================================
---- sv7.orig/list_korr_asm.nas
-+++ sv7/list_korr_asm.nas
-@@ -98,3 +98,6 @@ lbl2:
- fstp tword [eax+ 8] ; x
- ret
- ;
-+%ifidn __OUTPUT_FORMAT__,elf
-+section .note.GNU-stack noalloc noexec nowrite progbits
-+%endif
-Index: sv7/synthasm.nas
-===================================================================
---- sv7.orig/synthasm.nas
-+++ sv7/synthasm.nas
-@@ -2225,3 +2225,6 @@ endproc
- ;
- ; end of synthasm.nas
- ;
-+%ifidn __OUTPUT_FORMAT__,elf
-+section .note.GNU-stack noalloc noexec nowrite progbits
-+%endif
diff --git a/media-sound/musepack-tools/files/musepack-tools-1.15v-fbsd.patch b/media-sound/musepack-tools/files/musepack-tools-1.15v-fbsd.patch
deleted file mode 100644
index 1171b57..0000000
--- a/media-sound/musepack-tools/files/musepack-tools-1.15v-fbsd.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: sv7/mppdec.h
-===================================================================
---- sv7.orig/mppdec.h
-+++ sv7/mppdec.h
-@@ -160,7 +160,7 @@
- # include <sys/time.h>
- # if defined __linux__ // the standard is that this file is stored somewhere on the hard disk
- # include <linux/soundcard.h>
--# elif defined __bsdi__
-+# elif defined __bsdi__ || __FreeBSD__ >= 5
- # include <sys/soundcard.h>
- # elif defined __FreeBSD__
- # include <machine/soundcard.h>
diff --git a/media-sound/musepack-tools/files/musepack-tools-1.15v-gcc4.patch b/media-sound/musepack-tools/files/musepack-tools-1.15v-gcc4.patch
deleted file mode 100644
index ddae02c..0000000
--- a/media-sound/musepack-tools/files/musepack-tools-1.15v-gcc4.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- sv7/mppenc.c~ 2005-02-10 04:44:48.944566440 +0100
-+++ sv7/mppenc.c 2005-02-10 04:45:04.464207096 +0100
-@@ -1844,7 +1844,7 @@
- }
-
-
--static void
-+void
- OverdriveReport ( void )
- {
- if ( Overflows > 0 ) { // report internal clippings
diff --git a/media-video/vlc/files b/media-video/vlc/files
deleted file mode 120000
index be8f75f..0000000
--- a/media-video/vlc/files
+++ /dev/null
@@ -1,124 +0,0 @@
-/var/paludis/repositories/gimpel/media-video/vlc/files --enable-fast-install \
- ${myconf} || die "configuration failed"
-
- if [[ $(gcc-major-version) == 2 ]]; then
- sed -i -e s:"-fomit-frame-pointer":: vlc-config || die "-fomit-frame-pointer patching failed"
- fi
-
- emake || die "make of VLC failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "make install failed"
-
- dodoc AUTHORS MAINTAINERS HACKING THANKS NEWS README \
- doc/fortunes.txt doc/intf-cdda.txt doc/intf-vcd.txt
-
- rm -rf "${D}/usr/share/doc/vlc" \
- "${D}"/usr/share/vlc/vlc{16x16,32x32,48x48,128x128}.{png,xpm,ico}
-
- if use nsplugin; then
- dodir "/usr/$(get_libdir)/${PLUGINS_DIR}"
- mv "${D}"/usr/$(get_libdir)/mozilla/plugins/* \
- "${D}/usr/$(get_libdir)/${PLUGINS_DIR}/"
- fi
-
- use skins || rm -rf "${D}/usr/share/vlc/skins2"
-
- for res in 16 32 48; do
- insinto /usr/share/icons/hicolor/${res}x${res}/apps/
- newins "${S}"/share/vlc${res}x${res}.png vlc.png
- done
-
- use wxwindows || rm "${D}/usr/share/applications/vlc.desktop"
-}
--disable-vlm"
-
- if use nsplugin; then
- if use xulrunner; then
- XPIDL=/usr/$(get_libdir)/xulrunner
- MOZILLA_CONFIG=/usr/bin/xulrunner-config
- elif use seamonkey; then
- XPIDL=/usr/$(get_libdir)/seamonkey
- MOZILLA_CONFIG=/usr/$(get_libdir)/seamonkey/seamonkey-config
- else
- XPIDL=/usr/$(get_libdir)/mozilla-firefox
- MOZILLA_CONFIG=/usr/$(get_libdir)/mozilla-firefox/firefox-config
- fi
- fi
-
- econf \
- $(use_enable 3dfx glide) \
- $(use_enable a52) \
- $(use_enable aalib aa) \
- $(use_enable alsa) \
- $(use_enable altivec) \
- $(use_enable arts) \
- $(use_enable avahi bonjour) \
- $(use_enable bidi fribidi) \
- $(use_enable cdda) $(use_enable cdda cddax)\
- $(use_enable cddb libcddb) \
- $(use_enable cdio libcdio) \
- $(use_enable daap) \
- $(use_enable dbus) $(use_enable dbus dbus-control) \
- --disable-dirac \
- $(use_enable directfb) \
- $(use_enable dc1394) \
- $(use_enable dts dca) \
- --disable-dv \
- $(use_enable dvb) \
- $(use_enable dvd dvdread) $(use_enable dvd dvdplay) $(use_enable dvd dvdnav) \
- $(use_enable esd) \
- --disable-faad \
- $(use_enable fbcon fb) \
- $(use_enable ffmpeg) \
- $(use_enable flac) \
- --disable-fluidsynth \
- $(use_enable ggi) \
- $(use_enable gnome gnomevfs) \
- $(use_enable gnutls) \
- $(use_enable hal) \
- $(use_enable httpd) \
- $(use_enable id3tag) \
- $(use_enable jack) \
- $(use_enable libcaca caca) \
- $(use_enable libgcrypt) \
- $(use_enable libnotify notify) \
- --disable-libtar \
- $(use_enable lirc) \
- $(use_enable live live555) \
- $(use_enable lua) \
- $(use_enable matroska mkv) \
- $(use_enable modplug mod) \
- $(use_enable mp3 mad) \
- $(use_enable mpeg libmpeg2) \
- $(use_enable musepack mpc) \
- $(use_enable musicbrainz) \
- $(use_enable ncurses) \
- $(use_enable nsplugin mozilla) XPIDL="${XPIDL}" MOZILLA_CONFIG="${MOZILLA_CONFIG}" \
- $(use_enable ogg) \
- $(use_enable opengl glx) $(use_enable opengl) $(use_enable opengl galaktos) \
- $(use_enable optimisememory optimize-memory) \
- $(use_enable oss) \
- $(use_enable png) \
- --disable-portaudio \
- $(use_enable pvr) \
- $(use_enable real) \
- $(use_enable rtsp realrtsp) \
- $(use_enable remoteosd) \
- $(use_enable samba smb) \
- $(use_enable sdl) \
- $(use_enable sdl-image) \
- $(use_enable shout) \
- $(use_enable skins skins2) \
- $(use_enable speex) \
- $(use_enable stream sout) \
- $(use_enable svg) \
- $(use_enable svga svgalib) \
- $(use_enable taglib) \
- $(use_enable theora) \
- $(use_enable truetype freetype) \
- $(use_enable twolame) \
- $(use_enable upnp) \
- $(use_enable v4l) \
- $(use_enable v4l2) p \ No newline at end of file
diff --git a/net-analyzer/libnasl/files/digest-libnasl-2.2.10 b/net-analyzer/libnasl/files/digest-libnasl-2.2.10
deleted file mode 100644
index 9dbdb09..0000000
--- a/net-analyzer/libnasl/files/digest-libnasl-2.2.10
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 a4ccf81607b0af677b279f634a90d3e0 libnasl-2.2.10.tar.gz 367771
-RMD160 d9868cc065ab2fcd97af1f1994a98dde3863c1e6 libnasl-2.2.10.tar.gz 367771
-SHA256 8dc8e83f10ac7d07bf592167bc68e186f17f31beadcf3ed658329c14a743f6a6 libnasl-2.2.10.tar.gz 367771
diff --git a/net-analyzer/nessus-core/files/digest-nessus-core-2.2.10 b/net-analyzer/nessus-core/files/digest-nessus-core-2.2.10
deleted file mode 100644
index b10574f..0000000
--- a/net-analyzer/nessus-core/files/digest-nessus-core-2.2.10
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 ab7a9f1009bd2adcdbea09851dc64a9d nessus-core-2.2.10.tar.gz 680325
-RMD160 adaf79e780c8cccaf685f8426a13d7b0413881e7 nessus-core-2.2.10.tar.gz 680325
-SHA256 ac992f19f2c5b641b93027a225e160283f639716ecc0639750ace41cd58801c3 nessus-core-2.2.10.tar.gz 680325
diff --git a/net-analyzer/nessus-core/files/nessus-core-2.3.1-gcc4.diff b/net-analyzer/nessus-core/files/nessus-core-2.3.1-gcc4.diff
deleted file mode 100644
index 5d0447c..0000000
--- a/net-analyzer/nessus-core/files/nessus-core-2.3.1-gcc4.diff
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --exclude='*~' --exclude='.*' -I '$Id:' -urN nessus-core.orig/nessus/comm.c nessus-core/nessus/comm.c
---- nessus-core.orig/nessus/comm.c 2005-05-15 09:36:41.000000000 -0400
-+++ nessus-core/nessus/comm.c 2005-05-15 09:37:48.000000000 -0400
-@@ -96,6 +96,7 @@
- limit = PBAR_MAX;
- break;
- default:
-+ ;
- }
- }
-
diff --git a/net-analyzer/nessus-core/files/nessusd-r7 b/net-analyzer/nessus-core/files/nessusd-r7
deleted file mode 100644
index 057a6d6..0000000
--- a/net-analyzer/nessus-core/files/nessusd-r7
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/nessus-core/files/nessusd-r7,v 1.1 2005/01/26 11:06:56 angusyoung Exp $
-
-depend() {
- need net
-}
-
-start() {
- ebegin "Starting nessusd"
- start-stop-daemon --start --quiet --exec /usr/sbin/nessusd -- -D
- eend $?
-}
-
-stop() {
- ebegin "Stop nessusd"
- start-stop-daemon --stop --quiet --exec /usr/sbin/nessusd
- einfo "Waiting for the environment to be sane"
- while [ -n "$RUNNING" ] ; do
- sleep 1
- RUNNING=$(ps aux | grep -m 1 nessusd: | grep -v grep)
- done
- sleep 3
- eend $?
-}
diff --git a/net-analyzer/nessus-core/files/nessusd-r8 b/net-analyzer/nessus-core/files/nessusd-r8
deleted file mode 100644
index 63cb61d..0000000
--- a/net-analyzer/nessus-core/files/nessusd-r8
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/nessus-core/files/nessusd-r8,v 1.1 2006/02/04 14:57:30 vanquirius Exp $
-
-depend() {
- need net
-}
-
-start() {
- ebegin "Starting nessusd"
- start-stop-daemon --start --quiet --exec /usr/sbin/nessusd -- -D --quiet
- eend $?
-}
-
-stop() {
- ebegin "Stop nessusd"
- start-stop-daemon --stop --quiet --exec /usr/sbin/nessusd
- einfo "Waiting for the environment to be sane"
- while [ -n "$RUNNING" ] ; do
- sleep 1
- RUNNING=$(ps aux | grep -m 1 nessusd: | grep -v grep)
- done
- sleep 3
- eend $?
-}
diff --git a/net-analyzer/nessus-libraries/files/digest-nessus-libraries-2.2.10 b/net-analyzer/nessus-libraries/files/digest-nessus-libraries-2.2.10
deleted file mode 100644
index ea7d3de..0000000
--- a/net-analyzer/nessus-libraries/files/digest-nessus-libraries-2.2.10
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 79654be23fc17ed5ec484caa98e87e85 nessus-libraries-2.2.10.tar.gz 429040
-RMD160 e57a177a51c353fc5df7b28fa151a885d5ab1c99 nessus-libraries-2.2.10.tar.gz 429040
-SHA256 497ad1946435846647aeca0b687a9766799eda7877ea3d3fa0df4ee8cbe93f1e nessus-libraries-2.2.10.tar.gz 429040
diff --git a/net-analyzer/nessus-libraries/files/nessus-libraries-2.3.1-ldflags.patch b/net-analyzer/nessus-libraries/files/nessus-libraries-2.3.1-ldflags.patch
deleted file mode 100644
index 9aca9ab..0000000
--- a/net-analyzer/nessus-libraries/files/nessus-libraries-2.3.1-ldflags.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -ru nessus-libraries~/libnessus/Makefile nessus-libraries/libnessus/Makefile
---- nessus-libraries~/libnessus/Makefile 2007-01-21 19:49:30.000000000 +0100
-+++ nessus-libraries/libnessus/Makefile 2007-01-21 20:17:59.000000000 +0100
-@@ -101,7 +101,7 @@
- $(LIBTOOL) $(CC) $(CIPHER) $(DEFS) $(INCLUDE) $(CFLAGS) -c snprintf.c
- libnessus.la: $(OBJS)
- $(LIBTOOL) $(CC) -o libnessus.la $(LO_OBJS) -rpath ${libdir} \
-- -version-info ${PACKAGE_VERSION}
-+ -version-info ${PACKAGE_VERSION} ${PCAP_FLAG} ${SSL_FLAG}
-
- install : libnessus.la
- test -d $(DESTDIR)${libdir} || $(INSTALL_DIR) -m 755 $(DESTDIR)${libdir}
-diff -ru nessus-libraries~/nessus.tmpl.in nessus-libraries/nessus.tmpl.in
---- nessus-libraries~/nessus.tmpl.in 2007-01-21 19:49:30.000000000 +0100
-+++ nessus-libraries/nessus.tmpl.in 2007-01-21 20:17:45.000000000 +0100
-@@ -61,6 +61,9 @@
- #
- BUILD_PCAP=@BUILD_PCAP@
-
-+PCAP_FLAG=@pcap_flag@
-+SSL_FLAG=@ssl@
-+
-
- # Some defines you may want to modify
- DEFS=@DEFS@ $(DEBUG_SSL) $(USE_CIPHER) $(DEBUG)
diff --git a/net-analyzer/nessus-plugins/files/digest-nessus-plugins-2.2.10 b/net-analyzer/nessus-plugins/files/digest-nessus-plugins-2.2.10
deleted file mode 100644
index a7c5b22..0000000
--- a/net-analyzer/nessus-plugins/files/digest-nessus-plugins-2.2.10
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 4ba3bbb84272a449e09bce2448861fbb nessus-plugins-GPL-2.2.10.tar.gz 1097233
-RMD160 4a2f60164eff803b29a81a5f8a7cf479209b0411 nessus-plugins-GPL-2.2.10.tar.gz 1097233
-SHA256 affbfd5f2a01b43a618944227ab08f25ed40eea51c2512dac4dbc9ed9688b946 nessus-plugins-GPL-2.2.10.tar.gz 1097233
diff --git a/net-analyzer/nessus/files/digest-nessus-2.2.10 b/net-analyzer/nessus/files/digest-nessus-2.2.10
deleted file mode 100644
index e69de29..0000000
--- a/net-analyzer/nessus/files/digest-nessus-2.2.10
+++ /dev/null
diff --git a/net-analyzer/snort/files b/net-analyzer/snort/files
index 69b13ff..08a3202 120000
--- a/net-analyzer/snort/files
+++ b/net-analyzer/snort/files
@@ -1,135 +1 @@
-/var/paludis/repositories/gentoo/net-analyzer/snort/filese/doc/${PF}/schemas/create_mysql.bz2 | mysql -p snort"
- elog
- elog " PostgreSQL: import /usr/share/doc/${PF}/schemas/create_postgresql.bz2"
- elog
- elog " ODBC: look at /usr/share/doc/${PF}/schemas/"
- elog
- elog "Users using the unified output plugin and barnyard do not need to"
- elog "compile database support into snort, but still need to set up their"
- elog "database as shown above."
- elog
- ewarn "Only a basic set of rules was installed."
- ewarn "Please add your other sets of rules to /etc/snort/rules."
- ewarn "For more information on rules, visit ${HOMEPAGE}."
- if use sguil ; then
- elog "SGUIL needs to catch up with recent snort. If you plan on using SGUIL"
- elog "you should unmerge ${P} and emerge snort-2.4.x"
- fi
-}
-
-cap
- flexresp2? ( dev-libs/libdnet )
- react? ( ~net-libs/libnet-1.0.2a )
- postgres? ( || ( dev-db/postgresql dev-db/libpq ) )
- mysql? ( virtual/mysql )
- prelude? ( >=dev-libs/libprelude-0.9.0 )
- odbc? ( dev-db/unixODBC )
- >=sys-devel/libtool-1.4
- inline? (
- ~net-libs/libnet-1.0.2a
- net-firewall/iptables
- )"
-
-RDEPEND="${DEPEND}
- dev-lang/perl
- selinux? ( sec-policy/selinux-snort )"
-
-pkg_setup() {
- enewgroup snort
- enewuser snort -1 -1 /dev/null snort
-
- if use flexresp && use flexresp2 ; then
- ewarn
- ewarn "You have both the 'flexresp' and 'flexresp2' USE"
- ewarn "flags set. You can use 'flexresp' or 'flexresp2'"
- ewarn "but not both."
- ewarn
- ewarn "Defaulting to flexresp2..."
- fi
-}
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
-
- epatch "${FILESDIR}/${PN}-2.6.1.2-libdir.patch"
- epatch "${FILESDIR}/${PN}-2.8.2-libnet.patch"
- sed -i "s:var RULE_PATH ../rules:var RULE_PATH /etc/snort/rules:" \
- etc/snort.conf
-
- if use prelude ; then
- sed -i -e "s:AC_PROG_RANLIB:AC_PROG_LIBTOOL:" configure.in
- fi
-
- einfo "Regenerating autoconf/automake files"
- eautoreconf
-}
-
-src_compile() {
- local myconf
-
- if use flexresp2; then
- myconf="${myconf} --enable-flexresp2"
- elif use flexresp; then
- myconf="${myconf} --enable-flexresp"
- fi
-
- if use react && ! use flexresp; then
- myconf="${myconf} --enable-react"
- fi
-
- use gre && myconf="${myconf} --enable-gre"
-
- myconf="${myconf} --with-libipq-includes=/usr/include/libipq"
-
- econf \
- --without-oracle \
- $(use_with postgres postgresql) \
- $(use_with mysql) \
- $(use_with odbc) \
- $(use_enable prelude) \
- $(use_enable inline) \
- $(use_enable dynamicplugin) \
- $(use_enable timestats) \
- $(use_enable perfprofiling) \
- $(use_enable linux-smp-stats) \
- ${myconf} || die "econf failed"
-
- # limit to single as reported by jforman on irc
- emake -j1 || die "emake failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "make install failed"
-
- keepdir /var/log/snort/
-
- dodoc doc/*
- dodoc ./RELEASE.NOTES
- docinto schemas ; dodoc schemas/*
-
- insinto /etc/snort
- doins etc/reference.config etc/classification.config \
- etc/*.map etc/threshold.conf
- use dynamicplugin || sed -i -e 's:^dynamic:# dynamic:g' etc/snort.conf
- sed -e "s:/usr/local/lib:/usr/$(get_libdir):g" -e 's:/usr/local/:/usr/:g' \
- etc/snort.conf > "${D}"/etc/snort/snort.conf.distrib
-
- newinitd "${FILESDIR}/snort.rc8" snort
- newconfd "${FILESDIR}/snort.confd" snort
-
- fowners snort:snort /var/log/snort
- fperms 0770 /var/log/snort
-
- # install rules
- insinto /etc/snort/rules
- doins -r "${WORKDIR}"/rules/*
-}
-
-pkg_postinst() {
- ewarn
- ewarn "If you find that snort is using too much memory, your system"
- ewarn "freezes, or snort crashes after a few minutes try adding the"
- ewarn "following to your snort.conf..."
- ewarn
- ewarn "'config detection: searcp \ No newline at end of file
+/usr/portage/net-analyzer/snort/files \ No newline at end of file
diff --git a/net-analyzer/wireshark/files b/net-analyzer/wireshark/files
index c6ec53f..3903197 120000
--- a/net-analyzer/wireshark/files
+++ b/net-analyzer/wireshark/files
@@ -1,123 +1 @@
-/var/paludis/repositories/gentoo/net-analyzer/wireshark/filespps
- newins image/${c}${d}-app-wireshark.png wireshark.png
- done
- done
- insinto /usr/share/applications
- doins wireshark.desktop
- fi
-}
-
-pkg_postinst() {
- echo
- ewarn "With version 0.99.7, all function calls that require elevated privileges"
- ewarn "have been moved out of the GUI to dumpcap. WIRESHARK CONTAINS OVER ONE"
- ewarn "POINT FIVE MILLION LINES OF SOURCE CODE. DO NOT RUN THEM AS ROOT."
- ewarn
- ewarn "NOTE: To run wireshark as normal user you have to add yourself into"
- ewarn "wireshark group. This security measure ensures that only trusted"
- ewarn "users allowed to sniff your traffic."
- echo
-}
-utls ares gcrypt zlib kerberos threads profile smi +pcap pcre +caps selinux"
-
-RDEPEND=">=dev-libs/glib-2.4.0:2
- zlib? ( sys-libs/zlib )
- smi? ( net-libs/libsmi )
- gtk? ( >=x11-libs/gtk+-2.4.0:2
- x11-libs/pango
- dev-libs/atk )
- gnutls? ( net-libs/gnutls )
- gcrypt? ( dev-libs/libgcrypt )
- pcap? ( net-libs/libpcap )
- pcre? ( dev-libs/libpcre )
- caps? ( sys-libs/libcap )
- kerberos? ( virtual/krb5 )
- portaudio? ( media-libs/portaudio )
- ares? ( >=net-dns/c-ares-1.5 )
- !ares? ( adns? ( net-libs/adns ) )
- lua? ( >=dev-lang/lua-5.1 )
- selinux? ( sec-policy/selinux-wireshark )"
-
-DEPEND="${RDEPEND}
- >=dev-util/pkgconfig-0.15.0
- dev-lang/perl
- sys-devel/bison
- sys-devel/flex"
-
-pkg_setup() {
- if ! use gtk; then
- ewarn "USE=-gtk will means no gui called wireshark will be created and"
- ewarn "only command line utils are available"
- fi
-
- if use ares && use adns; then
- einfo "You asked for both, ares and adns, but we can use only one of them."
- einfo "c-ares supersedes adns resolver thus using c-ares (ares USE flag)."
- myconf="$(use_with ares c-ares) --without-adns"
- else
- myconf="$(use_with adns) $(use_with ares c-ares)"
- fi
-
- # Add group for users allowed to sniff.
- enewgroup wireshark
-}
-
-src_unpack() {
- subversion_src_unpack
-
- # our hardened toolchain bug...
- cd "${S}"/epan
-# epatch "${FILESDIR}/wireshark-except-double-free.diff"
-
- cd "${S}"
-# epatch "${FILESDIR}/wireshark-1.1.1-misc-warnings.patch"
- # made dependent on lua as generally dissectors shouldn't depend on wiretap
-# use lua && epatch "${FILESDIR}/wireshark-1.1.1--as-needed.patch"
-# eautoreconf
-}
-
-src_compile() {
- # optimization bug, see bug #165340, bug #40660
- if [[ $(gcc-version) == 3.4 ]] ; then
- elog "Found gcc 3.4, forcing -O3 into CFLAGS"
- replace-flags -O? -O3
- elif [[ $(gcc-version) == 3.3 || $(gcc-version) == 3.2 ]] ; then
- elog "Found <=gcc-3.3, forcing -O into CFLAGS"
- replace-flags -O? -O
- fi
-
- # see bug #133092; bugs.wireshark.org/bugzilla/show_bug.cgi?id=1001
- # our hardened toolchain bug
- filter-flags -fstack-protector
-
- # profile and -fomit-frame-pointer are incompatible, bug #215806
- use profile && filter-flags -fomit-frame-pointer
-
- # Workaround bug #213705. If krb5-config --libs has -lcrypto then pass
- # --with-ssl to ./configure. (Mimics code from acinclude.m4).
- if use kerberos; then
- case `krb5-config --libs` in
- *-lcrypto*) myconf="${myconf} --with-ssl" ;;
- esac
- fi
-
- # dumpcap requires libcap, setuid-install requires dumpcap
- econf $(use_enable gtk wireshark) \
- $(use_enable profile profile-build) \
- $(use_with gnutls) \
- $(use_with gcrypt) \
- $(use_enable ipv6) \
- $(use_enable threads) \
- $(use_with lua) \
- $(use_with kerberos krb5) \
- $(use_with smi libsmi) \
- $(use_with pcap) \
- $(use_with zlib) \
- $(use_with pcre) \
- $(use_with portaudio) \
- $(use_with caps libcap) \
- $(use_enable pcap setuid-install) \
- --sysconfdir=/etc/wireshark \
- ${myconf}
-
- ep \ No newline at end of file
+/usr/portage/net-analyzer/wireshark/files \ No newline at end of file
diff --git a/net-ftp/proftpd/Manifest b/net-ftp/proftpd/Manifest
deleted file mode 100644
index a7cf0b5..0000000
--- a/net-ftp/proftpd/Manifest
+++ /dev/null
@@ -1,9 +0,0 @@
-DIST mod_clamav-0.7.tar.gz 3676 RMD160 779203276643343bb54dc5e8225cf16392959533 SHA1 2e9376865eb03d482e2aac89a0ce611a5587e084 SHA256 61aa9d6af9432d1409170305526d87f63742aca198dd299d21ce37a60a8f41e7
-DIST proftpd-1.3.1.tar.bz2 2243888 RMD160 ed47f7a7c446b01c3d00d2d25d89573c787da905 SHA1 0b54286492967172c5355e2f489f9665b46591e5 SHA256 03bc023e5b7b1c04d8eb2d5dca53b931b3e02cc7aba7dd8f629b0878535dc91b
-DIST proftpd-1.3.2rc1.tar.bz2 2331814 RMD160 ced3098f3b59e0da09e7f0200fe3a960092120cb SHA1 3270067cf85cb343367cbb3e623114f5ccbe9e10 SHA256 d3ac73d7f575ae797cd57e1879b654071fe58e43c3ff8d5ef2a80d6d21475ecc
-DIST proftpd-mod-case-0.3.tar.gz 4781 RMD160 99f46a2cfb88ec2f3070d632dbc17d89d12ec30b SHA1 c8ea2c4604ab2ffa5853284d0696b1dfe518ae84 SHA256 a9affd47558020b2b3f369c9a945ac91d22b45368734d839404b76e0fbdaaf7c
-DIST proftpd-mod-deflate-0.3.tar.gz 7704 RMD160 dd51a966942642b2a5ae1cd1c3b3b6f47721637c SHA1 9d08a32da1c1e7e8b126e1fdbc172aa6889bccbc SHA256 dd6650e1cb69ee118319c19bbaa9dbe277b92675ab26e9c70a93e1e93f724adb
-DIST proftpd-mod-shaper-0.6.3.tar.gz 19040 RMD160 9978fda37d0099c48d755e53132482506c948c05 SHA1 a5c9a1889c441b9290f2c571ad7fc06bebaf9326 SHA256 a6947836461872adca53dab2708b1e140fa6ce7a8b93ccbe2dafbc3ca63fde67
-DIST proftpd-mod-vroot-0.7.2.tar.gz 6071 RMD160 b152162b3714910d5b9378611313041c3e7e17d4 SHA1 3fc4c5874deba4bbe989b0bd54a7478a47f3d876 SHA256 cab5a42390eac4e0b8bdcbe1e6d15804c8029d51da9ad3bd428b46a80cd69d5a
-EBUILD proftpd-1.3.1.ebuild 7112 RMD160 3ad6e31a850b60779096bbd22f8556a80a2f115a SHA1 eee22424cc8c8fd1697ae79567749d7f634b8d53 SHA256 6b0a2e848425f7d4c0f83004892ac780041bcf6eb3ccaf0e00ead5ab72d4f5c3
-EBUILD proftpd-1.3.2_rc1.ebuild 7147 RMD160 5b12d53b8eb060a9c6a549eb380aa7c0b51d19e6 SHA1 2c9edd9d2264443bef5eb591013b6afb793a4e81 SHA256 9549d4906b6d118d7345c8dffa3e45225177e7e577d6004582f97bf48c61e4e4
diff --git a/net-ftp/proftpd/files/proftpd-1.3.2_rc1-bug218850.patch b/net-ftp/proftpd/files/proftpd-1.3.2_rc1-bug218850.patch
deleted file mode 100644
index e6b39ca..0000000
--- a/net-ftp/proftpd/files/proftpd-1.3.2_rc1-bug218850.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- lib/libcap/libcap.h~ 2008-04-23 10:45:33.000000000 +0400
-+++ lib/libcap/libcap.h 2008-04-23 10:45:41.000000000 +0400
-@@ -52,7 +52,7 @@
- */
-
- #if !defined(_LINUX_CAPABILITY_VERSION) || \
- - (_LINUX_CAPABILITY_VERSION != 0x19980330)
- + (_LINUX_CAPABILITY_VERSION <= 0x19980330)
-
- # error "Kernel <linux/capability.h> does not match library"
- # error "file "libcap.h" --> fix and recompile libcap"
- \ No newline at end of file
diff --git a/net-ftp/proftpd/proftpd-1.3.1.ebuild b/net-ftp/proftpd/proftpd-1.3.1.ebuild
deleted file mode 100644
index 984270b..0000000
--- a/net-ftp/proftpd/proftpd-1.3.1.ebuild
+++ /dev/null
@@ -1,254 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-inherit eutils flag-o-matic toolchain-funcs autotools
-
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
-
-IUSE="acl authfile ban case clamav deflate hardened ifsession ipv6 ldap mysql ncurses nls noauthunix opensslcrypt pam postgres radius rewrite selinux shaper sitemisc softquota ssl tcpd vroot xinetd"
-
-CASE_VER="0.3"
-CLAMAV_VER="0.7"
-DEFLATE_VER="0.3"
-SHAPER_VER="0.6.3"
-VROOT_VER="0.7.2"
-
-DESCRIPTION="An advanced and very configurable FTP server."
-
-SRC_URI="ftp://ftp.proftpd.org/distrib/source/${P/_/}.tar.bz2
- case? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-case-${CASE_VER}.tar.gz )
- clamav? ( http://www.thrallingpenguin.com/resources/mod_clamav-${CLAMAV_VER}.tar.gz )
- deflate? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-deflate-${DEFLATE_VER}.tar.gz )
- shaper? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-shaper-${SHAPER_VER}.tar.gz )
- vroot? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-vroot-${VROOT_VER}.tar.gz )"
-
-HOMEPAGE="http://www.proftpd.org/
- http://www.castaglia.org/proftpd/
- http://www.thrallingpenguin.com/resources/mod_clamav.htm"
-
-SLOT="0"
-LICENSE="GPL-2"
-
-DEPEND="acl? ( sys-apps/acl sys-apps/attr )
- clamav? ( app-antivirus/clamav )
- ldap? ( >=net-nds/openldap-1.2.11 )
- mysql? ( virtual/mysql )
- ncurses? ( sys-libs/ncurses )
- opensslcrypt? ( >=dev-libs/openssl-0.9.6f )
- pam? ( virtual/pam )
- postgres? ( virtual/postgresql-base )
- ssl? ( >=dev-libs/openssl-0.9.6f )
- tcpd? ( >=sys-apps/tcp-wrappers-7.6-r3 )
- xinetd? ( virtual/inetd )"
-
-RDEPEND="${DEPEND}
- net-ftp/ftpbase
- selinux? ( sec-policy/selinux-ftpd )"
-
-S="${WORKDIR}/${P/_/}"
-
-pkg_setup() {
- # Add the proftpd user to make the default config
- # work out-of-the-box
- enewgroup proftpd
- enewuser proftpd -1 -1 -1 proftpd
-}
-
-src_unpack() {
- unpack ${P/_/}.tar.bz2
-
- cd "${S}"
-
- # Fix stripping of files
- sed -e "s| @INSTALL_STRIP@||g" -i Make*
-
- if use case ; then
- unpack ${PN}-mod-case-${CASE_VER}.tar.gz
- cp -f mod_case/mod_case.c contrib/
- cp -f mod_case/mod_case.html doc/
- fi
-
- if use clamav ; then
- unpack mod_clamav-${CLAMAV_VER}.tar.gz
- cp -f mod_clamav-${CLAMAV_VER}/mod_clamav.* contrib/
- epatch mod_clamav-${CLAMAV_VER}/${PN}.patch
- fi
-
- if use deflate ; then
- unpack ${PN}-mod-deflate-${DEFLATE_VER}.tar.gz
- cp -f mod_deflate/mod_deflate.c contrib/
- cp -f mod_deflate/mod_deflate.html doc/
- fi
-
- if use shaper ; then
- unpack ${PN}-mod-shaper-${SHAPER_VER}.tar.gz
- cp -f mod_shaper/mod_shaper.c contrib/
- cp -f mod_shaper/mod_shaper.html doc/
- fi
-
- if use vroot ; then
- unpack ${PN}-mod-vroot-${VROOT_VER}.tar.gz
- cp -f mod_vroot/mod_vroot.c contrib/
- cp -f mod_vroot/mod_vroot.html doc/
- fi
-
- # Fix bug #218850
- epatch "${FILESDIR}/${P}-bug218850.patch"
-
- # Fix bug #208840
- epatch "${FILESDIR}/${P}-bug208840.patch"
-
- # Fix bug #221275
- # extract custom PR_ macros from aclocal.m4 to acinclude.m4
- # and delete the provided aclocal.m4 before running autoreconf
- elog "Extract custom m4 macros from aclocal.m4..."
- cat aclocal.m4 | head -n188 > acinclude.m4
- rm -f aclocal.m4
-
- eautoreconf
-}
-
-src_compile() {
- addpredict /etc/krb5.conf
- local modules myconf
-
- modules="mod_ratio:mod_readme"
- use acl && modules="${modules}:mod_facl"
- use ban && modules="${modules}:mod_ban"
- use case && modules="${modules}:mod_case"
- use clamav && modules="${modules}:mod_clamav"
- use deflate && modules="${modules}:mod_deflate"
- use pam && modules="${modules}:mod_auth_pam"
- use radius && modules="${modules}:mod_radius"
- use rewrite && modules="${modules}:mod_rewrite"
- use shaper && modules="${modules}:mod_shaper"
- use sitemisc && modules="${modules}:mod_site_misc"
- use ssl && modules="${modules}:mod_tls"
- use tcpd && modules="${modules}:mod_wrap"
- use vroot && modules="${modules}:mod_vroot"
-
- # pam needs to be explicitely disabled
- use pam || myconf="${myconf} --enable-auth-pam=no"
-
- if use ldap ; then
- modules="${modules}:mod_ldap"
- append-ldflags "-lresolv"
- if use ssl ; then
- CFLAGS="${CFLAGS} -DUSE_LDAP_TLS"
- fi
- fi
-
- if use opensslcrypt ; then
- myconf="${myconf} --enable-openssl --with-includes=/usr/include/openssl"
- append-ldflags "-lcrypto"
- CFLAGS="${CFLAGS} -DHAVE_OPENSSL"
- fi
-
- if use nls ; then
- myconf="${myconf} --enable-nls"
- fi
-
- if use mysql && use postgres ; then
- ewarn "ProFTPD only supports either the MySQL or PostgreSQL modules."
- ewarn "Presently this ebuild defaults to mysql. If you would like to"
- ewarn "change the default behaviour, merge ProFTPD with:"
- ewarn "USE='-mysql postgres' emerge proftpd"
- epause 5
- fi
-
- if use mysql ; then
- modules="${modules}:mod_sql:mod_sql_mysql"
- myconf="${myconf} --with-includes=/usr/include/mysql"
- elif use postgres ; then
- modules="${modules}:mod_sql:mod_sql_postgres"
- myconf="${myconf} --with-includes=/usr/include/postgresql"
- fi
-
- if use softquota ; then
- modules="${modules}:mod_quotatab"
- if use mysql || use postgres ; then
- modules="${modules}:mod_quotatab_sql"
- fi
- if use radius ; then
- modules="${modules}:mod_quotatab_radius"
- fi
- if use ldap ; then
- modules="${modules}:mod_quotatab_file:mod_quotatab_ldap"
- else
- modules="${modules}:mod_quotatab_file"
- fi
- fi
-
- # mod_ifsession should be the last module in the --with-modules list
- # see http://www.castaglia.org/proftpd/modules/mod_ifsession.html#Installation
- use ifsession && modules="${modules}:mod_ifsession"
-
- # bug #30359
- use hardened && echo > lib/libcap/cap_sys.c
- gcc-specs-pie && echo > lib/libcap/cap_sys.c
-
- if use noauthunix ; then
- myconf="${myconf} --disable-auth-unix"
- else
- myconf="${myconf} --enable-auth-unix"
- fi
-
- econf \
- --sbindir=/usr/sbin \
- --localstatedir=/var/run \
- --sysconfdir=/etc/proftpd \
- --enable-shadow \
- --enable-autoshadow \
- --enable-ctrls \
- --with-modules=${modules} \
- $(use_enable acl facl) \
- $(use_enable authfile auth-file) \
- $(use_enable ipv6) \
- $(use_enable ncurses) \
- ${myconf} || die "econf failed"
-
- emake || die "emake failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "emake install failed"
-
- keepdir /var/run/proftpd
-
- dodoc "${FILESDIR}/proftpd.conf" \
- COPYING CREDITS ChangeLog NEWS README* \
- doc/license.txt
- dohtml doc/*.html
- dohtml doc/howto/*.html
-
- docinto rfc
- dodoc doc/rfc/*.txt
-
- mv -f "${D}/etc/proftpd/proftpd.conf" "${D}/etc/proftpd/proftpd.conf.distrib"
-
- insinto /etc/proftpd
- newins "${FILESDIR}/proftpd.conf" proftpd.conf.sample
-
- if use xinetd ; then
- insinto /etc/xinetd.d
- newins "${FILESDIR}/proftpd.xinetd" proftpd
- fi
-
- newinitd "${FILESDIR}/proftpd.rc6" proftpd
-}
-
-pkg_postinst() {
- elog
- elog "You can find the config files in /etc/proftpd"
- elog
- ewarn "With the introduction of net-ftp/ftpbase the ftp user is now ftp."
- ewarn "Remember to change that in the configuration file."
- ewarn
- if use clamav ; then
- ewarn "mod_clamav was updated to a new version, which uses Clamd"
- ewarn "only for virus scanning, so you'll have to set Clamd up"
- ewarn "and start it, also re-check the mod_clamav docs."
- ewarn
- fi
-}
diff --git a/net-ftp/proftpd/proftpd-1.3.2_rc1.ebuild b/net-ftp/proftpd/proftpd-1.3.2_rc1.ebuild
deleted file mode 100644
index fae756a..0000000
--- a/net-ftp/proftpd/proftpd-1.3.2_rc1.ebuild
+++ /dev/null
@@ -1,251 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-ftp/proftpd/proftpd-1.3.1.ebuild,v 1.3 2008/04/24 18:04:56 chtekk Exp $
-
-inherit eutils flag-o-matic toolchain-funcs autotools
-
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
-
-IUSE="acl authfile ban case clamav deflate hardened ifsession ipv6 ldap mysql ncurses nls noauthunix opensslcrypt pam postgres radius rewrite selinux shaper sitemisc softquota ssl tcpd vroot xinetd"
-
-CASE_VER="0.3"
-CLAMAV_VER="0.7"
-DEFLATE_VER="0.3"
-SHAPER_VER="0.6.3"
-VROOT_VER="0.7.2"
-
-DESCRIPTION="An advanced and very configurable FTP server."
-
-SRC_URI="ftp://ftp.proftpd.org/distrib/source/${P/_/}.tar.bz2
-case? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-case-${CASE_VER}.tar.gz )
-clamav? ( http://www.thrallingpenguin.com/resources/mod_clamav-${CLAMAV_VER}.tar.gz )
-deflate? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-deflate-${DEFLATE_VER}.tar.gz )
-shaper? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-shaper-${SHAPER_VER}.tar.gz )
-vroot? ( http://www.castaglia.org/${PN}/modules/${PN}-mod-vroot-${VROOT_VER}.tar.gz )"
-
-HOMEPAGE="http://www.proftpd.org/
-http://www.castaglia.org/proftpd/
-http://www.thrallingpenguin.com/resources/mod_clamav.htm"
-
-SLOT="0"
-LICENSE="GPL-2"
-
-DEPEND="acl? ( sys-apps/acl sys-apps/attr )
-clamav? ( app-antivirus/clamav )
-ldap? ( >=net-nds/openldap-1.2.11 )
-mysql? ( virtual/mysql )
-ncurses? ( sys-libs/ncurses )
-opensslcrypt? ( >=dev-libs/openssl-0.9.6f )
-pam? ( virtual/pam )
-postgres? ( virtual/postgresql-base )
-ssl? ( >=dev-libs/openssl-0.9.6f )
-tcpd? ( >=sys-apps/tcp-wrappers-7.6-r3 )
-xinetd? ( virtual/inetd )"
-
-RDEPEND="${DEPEND}
-net-ftp/ftpbase
-selinux? ( sec-policy/selinux-ftpd )"
-
-S="${WORKDIR}/${P/_/}"
-
-pkg_setup() {
-# Add the proftpd user to make the default config
-# work out-of-the-box
-enewgroup proftpd
-enewuser proftpd -1 -1 -1 proftpd
-}
-
-src_unpack() {
-unpack ${P/_/}.tar.bz2
-
-cd "${S}"
-
-# Fix stripping of files
-sed -e "s| @INSTALL_STRIP@||g" -i Make*
-
-if use case ; then
-unpack ${PN}-mod-case-${CASE_VER}.tar.gz
-cp -f mod_case/mod_case.c contrib/
-cp -f mod_case/mod_case.html doc/
-fi
-
-if use clamav ; then
-unpack mod_clamav-${CLAMAV_VER}.tar.gz
-cp -f mod_clamav-${CLAMAV_VER}/mod_clamav.* contrib/
-epatch mod_clamav-${CLAMAV_VER}/${PN}.patch
-fi
-
-if use deflate ; then
-unpack ${PN}-mod-deflate-${DEFLATE_VER}.tar.gz
-cp -f mod_deflate/mod_deflate.c contrib/
-cp -f mod_deflate/mod_deflate.html doc/
-fi
-
-if use shaper ; then
-unpack ${PN}-mod-shaper-${SHAPER_VER}.tar.gz
-cp -f mod_shaper/mod_shaper.c contrib/
-cp -f mod_shaper/mod_shaper.html doc/
-fi
-
-if use vroot ; then
-unpack ${PN}-mod-vroot-${VROOT_VER}.tar.gz
-cp -f mod_vroot/mod_vroot.c contrib/
-cp -f mod_vroot/mod_vroot.html doc/
-fi
-
-# Fix bug #218850
-#epatch "${FILESDIR}/${P}-bug218850.patch"
-
-# Fix bug #221275
-# extract custom PR_ macros from aclocal.m4 to acinclude.m4
-# and delete the provided aclocal.m4 before running autoreconf
-elog "Extract custom m4 macros from aclocal.m4..."
-cat aclocal.m4 | head -n188 > acinclude.m4
-rm -f aclocal.m4
-
-eautoreconf
-}
-
-src_compile() {
-addpredict /etc/krb5.conf
-local modules myconf
-
-modules="mod_ratio:mod_readme"
-use acl && modules="${modules}:mod_facl"
-use ban && modules="${modules}:mod_ban"
-use case && modules="${modules}:mod_case"
-use clamav && modules="${modules}:mod_clamav"
-use deflate && modules="${modules}:mod_deflate"
-use pam && modules="${modules}:mod_auth_pam"
-use radius && modules="${modules}:mod_radius"
-use rewrite && modules="${modules}:mod_rewrite"
-use shaper && modules="${modules}:mod_shaper"
-use sitemisc && modules="${modules}:mod_site_misc"
-use ssl && modules="${modules}:mod_tls"
-use tcpd && modules="${modules}:mod_wrap"
-use vroot && modules="${modules}:mod_vroot"
-
-# pam needs to be explicitely disabled
-use pam || myconf="${myconf} --enable-auth-pam=no"
-
-if use ldap ; then
-modules="${modules}:mod_ldap"
-append-ldflags "-lresolv"
-if use ssl ; then
-CFLAGS="${CFLAGS} -DUSE_LDAP_TLS"
-fi
-fi
-
-if use opensslcrypt ; then
-myconf="${myconf} --enable-openssl --with-includes=/usr/include/openssl"
-append-ldflags "-lcrypto"
-CFLAGS="${CFLAGS} -DHAVE_OPENSSL"
-fi
-
-if use nls ; then
-myconf="${myconf} --enable-nls"
-fi
-
-if use mysql && use postgres ; then
-ewarn "ProFTPD only supports either the MySQL or PostgreSQL modules."
-ewarn "Presently this ebuild defaults to mysql. If you would like to"
-ewarn "change the default behaviour, merge ProFTPD with:"
-ewarn "USE='-mysql postgres' emerge proftpd"
-epause 5
-fi
-
-if use mysql ; then
-modules="${modules}:mod_sql:mod_sql_mysql"
-myconf="${myconf} --with-includes=/usr/include/mysql"
-elif use postgres ; then
-modules="${modules}:mod_sql:mod_sql_postgres"
-myconf="${myconf} --with-includes=/usr/include/postgresql"
-fi
-
-if use softquota ; then
-modules="${modules}:mod_quotatab"
-if use mysql || use postgres ; then
-modules="${modules}:mod_quotatab_sql"
-fi
-if use radius ; then
-modules="${modules}:mod_quotatab_radius"
-fi
-if use ldap ; then
-modules="${modules}:mod_quotatab_file:mod_quotatab_ldap"
-else
-modules="${modules}:mod_quotatab_file"
-fi
-fi
-
-# mod_ifsession should be the last module in the --with-modules list
-# see http://www.castaglia.org/proftpd/modules/mod_ifsession.html#Installation
-use ifsession && modules="${modules}:mod_ifsession"
-
-# bug #30359
-use hardened && echo > lib/libcap/cap_sys.c
-gcc-specs-pie && echo > lib/libcap/cap_sys.c
-
-if use noauthunix ; then
-myconf="${myconf} --disable-auth-unix"
-else
-myconf="${myconf} --enable-auth-unix"
-fi
-
-econf \
---sbindir=/usr/sbin \
---localstatedir=/var/run \
---sysconfdir=/etc/proftpd \
---enable-shadow \
---enable-autoshadow \
---enable-ctrls \
---with-modules=${modules} \
-$(use_enable acl facl) \
-$(use_enable authfile auth-file) \
-$(use_enable ipv6) \
-$(use_enable ncurses) \
-${myconf} || die "econf failed"
-
-emake || die "emake failed"
-}
-
-src_install() {
-emake DESTDIR="${D}" install || die "emake install failed"
-
-keepdir /var/run/proftpd
-
-dodoc "${FILESDIR}/proftpd.conf" \
-COPYING CREDITS ChangeLog NEWS README* \
-doc/license.txt
-dohtml doc/*.html
-dohtml doc/howto/*.html
-
-docinto rfc
-dodoc doc/rfc/*.txt
-
-mv -f "${D}/etc/proftpd/proftpd.conf" "${D}/etc/proftpd/proftpd.conf.distrib"
-
-insinto /etc/proftpd
-newins "${FILESDIR}/proftpd.conf" proftpd.conf.sample
-
-if use xinetd ; then
-insinto /etc/xinetd.d
-newins "${FILESDIR}/proftpd.xinetd" proftpd
-fi
-
-newinitd "${FILESDIR}/proftpd.rc6" proftpd
-}
-
-pkg_postinst() {
-elog
-elog "You can find the config files in /etc/proftpd"
-elog
-ewarn "With the introduction of net-ftp/ftpbase the ftp user is now ftp."
-ewarn "Remember to change that in the configuration file."
-ewarn
-if use clamav ; then
-ewarn "mod_clamav was updated to a new version, which uses Clamd"
-ewarn "only for virus scanning, so you'll have to set Clamd up"
-ewarn "and start it, also re-check the mod_clamav docs."
-ewarn
-fi
-}
diff --git a/net-im/centerim/files b/net-im/centerim/files
index 214190e..d87cc4a 120000
--- a/net-im/centerim/files
+++ b/net-im/centerim/files
@@ -1,143 +1 @@
-/var/paludis/repositories/gentoo/net-im/centerim/filesunder the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-im/gajim/gajim-0.11.4.ebuild,v 1.6 2008/01/24 20:23:28 angelos Exp $
-
-inherit multilib python eutils mercurial autotools
-
-DESCRIPTION="Jabber client written in PyGTK"
-HOMEPAGE="http://www.gajim.org/"
-SRC_URI=""
-
-EHG_REPO_URI="http://hg.gajim.org/gajim"
-
-S="${WORKDIR}/${PN}"
-
-
-LICENSE="GPL-2"
-SLOT=""
-KEYWORDS=""
-IUSE="avahi dbus gnome idle libnotify nls spell srv trayicon X xhtml"
-
-DEPEND="|| (
- ( <dev-lang/python-2.5 dev-python/pysqlite )
- >=dev-lang/python-2.5
- )
- dev-python/pygtk
- sys-devel/gettext
- dev-util/intltool
- dev-util/pkgconfig"
-
-RDEPEND="gnome? ( dev-python/gnome-python-extras
- dev-python/gnome-python-desktop
- )
- dbus? ( dev-python/dbus-python dev-libs/dbus-glib )
- libnotify? ( x11-libs/libnotify )
- xhtml? ( dev-python/docutils )
- srv? ( net-dns/bind-tools )
- idle? ( x11-libs/libXScrnSaver )
- spell? ( app-text/gtkspell )
- avahi? ( net-dns/avahi )
- dev-python/pyopenssl"
-
-pkg_setup() {
- if ! use dbus; then
- if use libnotify; then
- eerror "The dbus USE flag is required for libnotify support"
- die "USE=\"dbus\" needed for libnotify support"
- fi
- if use avahi; then
- eerror "The dbus USE flag is required for avahi support"
- die "USE=\"dbus\" needed for avahi support"
- fi
- else
- if has_version "<sys-apps/dbus-0.90" && ! built_with_use sys-apps/dbus python; then
- eerror "Please rebuild dbus with USE=\"python\""
- die "USE=\"python\" needed for dbus"
- fi
- fi
-
- if use avahi; then
- if ! built_with_use net-dns/avahi dbus gtk python; then
- eerror "The following USE flags are required for correct avahi"
- eerror "support: dbus gtk python"
- die "Please rebuild avahi with these use flags enabled."
- fi
- fi
-
- if has_version ">=dev-lang/python-2.5" && ! built_with_use dev-lang/python sqlite; then
- eerror "Please rebuild python with USE=\"sqlite\""
- die "USE=\"sqlite\" needed for python"
- fi
-}
-
-src_unpack() {
- mercurial_src_unpack
- #eautoreconf
- cd "${S}"
- ./autogen.sh
- #epatch "${FILESDIR}/${P}-test_fix.patch"
-}
-
-src_compile() {
- local myconf
-
- if ! use gnome; then
- myconf="${myconf} $(use_enable trayicon)"
- myconf="${myconf} $(use_enable idle)"
- fi
-
- econf $(use_enable nls) \
- $(use_enable spell gtkspell) \
- $(use_enable dbus remote) \
- $(use_with X x) \
- --docdir="/usr/share/doc/${PF}" \
- --prefix="/usr" \
- --libdir="/usr/$(get_libdir)" \
- ${myconf} || die "econf failed"
-
- emake || die "emake failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "emake install failed"
-
- rm "${D}/usr/share/doc/${PF}/README.html"
- dohtml README.html
-}
-
-pkg_postinst() {
- python_mod_optimize /usr/share/gajim/
-}
-
-pkg_postrm() {
- python_mod_cleanup /usr/share/gajim/
-}
-}
-mod_vroot.html doc/
-fi
-
-# Fix bug #218850
-#epatch "${FILESDIR}/${P}-bug218850.patch"
-
-# Fix bug #221275
-# extract custom PR_ macros from aclocal.m4 to acinclude.m4
-# and delete the provided aclocal.m4 before running autoreconf
-elog "Extract custom m4 macros from aclocal.m4..."
-cat aclocal.m4 | head -n188 > acinclude.m4
-rm -f aclocal.m4
-
-eautoreconf
-}
-
-src_compile() {
-addpredict /etc/krb5.conf
-local modules myconf
-
-modules="mod_ratio:mod_readme"
-use acl && modules="${modules}:mod_facl"
-use ban && modules="${modules}:mod_ban"
-use case && modules="${modules}:mod_case"
-use clamav && modules="${modules}:mod_clamav"
-use deflate && modules="${modules}:mod_deflate"
-use pam && modules="${modules}:mod_auth_pam"
-use radius && modules="${modules}:mod_radius"
-use rewrite && modules="${modules}:mod_rewp \ No newline at end of file
+/usr/portage/net-im/centerim/files \ No newline at end of file
diff --git a/net-libs/opal/files/opal-lpcini.patch b/net-libs/opal/files/opal-lpcini.patch
deleted file mode 100644
index a59ef79..0000000
--- a/net-libs/opal/files/opal-lpcini.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- plugins/audio/LPC_10/src/lpcini.c.orig 2008-09-24 23:01:05.000000000 -0400
-+++ plugins/audio/LPC_10/src/lpcini.c 2008-09-25 00:39:34.000000000 -0400
-@@ -50,6 +50,8 @@
- #ifdef _MSC_VER
- #include <malloc.h>
- #endif
-+#else
-+ extern void * malloc();
- #endif
-
- /* Common Block Declarations */
diff --git a/sys-fs/e2fsprogs/files b/sys-fs/e2fsprogs/files
index e006e95..42c6b8d 120000
--- a/sys-fs/e2fsprogs/files
+++ b/sys-fs/e2fsprogs/files
@@ -1,153 +1 @@
-/var/paludis/repositories/gentoo/sys-fs/e2fsprogs/filesnder the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/genshi/genshi-0.5.1.ebuild,v 1.5 2008/11/16 17:46:16 maekke Exp $
-
-NEED_PYTHON=2.3
-
-inherit distutils subversion
-
-MY_P="Genshi-${PV}"
-
-DESCRIPTION="Python toolkit for stream-based generation of output for the web."
-HOMEPAGE="http://genshi.edgewall.org/"
-SRC_URI=""
-
-ESVN_REPO_URI="http://svn.edgewall.org/repos/genshi/trunk"
-
-LICENSE="BSD"
-SLOT=""
-KEYWORDS="amd64 ppc ~ppc64 ~sparc x86"
-IUSE="doc examples"
-
-DEPEND="dev-python/setuptools"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-src_unpack() {
- subversion_src_unpack
- cd ${S}
- rm setup.cfg
- epatch ${FILESDIR}/version_info.patch
-}
-
-src_install() {
- distutils_src_install
-
- if use doc ; then
- dodoc doc/*.txt
- dohtml -r doc/*
- fi
-
- if use examples ; then
- insinto /usr/share/doc/${PF}
- doins -r examples
- fi
-}
-
-src_test() {
- "${python}" setup.py test || die "test failed"
-}
-ibs/jpeg )
- sdl? ( media-libs/libsdl )
- vorbis? ( media-libs/libogg
- media-libs/libvorbis )
- truetype? ( >=media-libs/freetype-2.1 )
- alsa? ( media-libs/alsa-lib )
- mng? ( media-libs/libmng )
- png? ( media-libs/libpng )
- wxwindows? ( x11-libs/pango
- =x11-libs/wxGTK-2.6* )
- javascript? ( dev-lang/spidermonkey )
- cegui? ( >=dev-games/cegui-0.5.0 )
- x11-libs/libXaw
- x11-libs/libXxf86vm"
-DEPEND="${RDEPEND}
- 3ds? ( media-libs/lib3ds )
- java? ( dev-java/ant-core
- >=virtual/jdk-1.5 )
- dev-util/ftjam
- dev-lang/swig
- dev-util/pkgconfig"
-
-S=${WORKDIR}/${MY_P}
-
-src_unpack() {
-# unpack ${A}
- subversion_src_unpack
- cd "${S}"
- # Installing doc conflict with dodoc on src_install
- # Removing conflicting target
- sed -i -e "/^InstallDoc/d" \
- Jamfile.in \
- docs/Jamfile \
- || die "sed failed"
-}
-
-src_compile() {
- if useq wxwindows; then
- WX_GTK_VER=2.6
- need-wxwidgets gtk2
- fi
-
- # -O3 is hanging compilation of python script plugin
- # trying -O2 just in case
- replace-flags -O3 -O2
- econf --enable-cpu-specific-optimizations=no \
- --disable-separate-debug-info \
- --without-lcms \
- --without-caca \
- --without-bullet \
- --without-openal \
- --without-jackasyn \
- --without-mikmod \
- --disable-make-emulation \
- $(use_with perl) \
- $(use_with python) \
- $(use_with java) \
- $(use_with png) \
- $(use_with jpeg) \
- $(use_with mng) \
- $(use_with vorbis) \
- $(use_with 3ds) \
- $(use_with ode) \
- $(use_with truetype freetype2) \
- $(use_with cal3d) \
- $(use_with sdl) \
- $(use_with wxwindows wx) \
- $(use_with cegui CEGUI) \
- $(use_with cg Cg) \
- $(use_with javascript js) \
- $(use_with alsa asound)
- #remove unwanted CFLAGS added by ./configure
- sed -i -e '/COMPILER\.CFLAGS\.optimize/d' \
- Jamconfig \
- || die "sed failed"
- jam -q || die "compile failed"
-}
-
-src_install() {
- for installTarget in install_bin install_plugin install_lib \
- install_include install_data install_config
- do
- jam -q -s DESTDIR="${D}" ${installTarget} \
- || die "jam ${installTarget} failed"
- done
- if use doc; then
- jam -q -s DESTDIR="${D}" install_doc || die "jam install_doc failed"
- fi
- dodoc README docs/history* docs/todo_*
-
- echo "CRYSTAL_PLUGIN=/usr/$(get_libdir)/${P}" > 90crystalspace
- echo "CRYSTAL_CONFIG=/etc/${P}" >> 90crystalspace
- doenvd 90crystalspace
-}
-
-pkg_postinst() {
- elog "Examples coming with this package, need correct light calculation"
- elog "Do the following commands, with the root account, to fix that:"
- # Fill cache directory for the examples
- local dir
- for dir in castle flarge isomap parallaxtest partsys r3dtest stenciltest \
- terrain terrainf;
- do
- elog "p \ No newline at end of file
+/usr/portage/sys-fs/e2fsprogs/files \ No newline at end of file
diff --git a/www-apps/trac/files b/www-apps/trac/files
index 4cbc66e..133d044 120000
--- a/www-apps/trac/files
+++ b/www-apps/trac/files
@@ -1,145 +1 @@
-/var/paludis/repositories/gentoo/www-apps/trac/files webapp_postinst_txt ${lang} "${FILESDIR}"/postinst-${lang}.txt
- webapp_postupgrade_txt ${lang} "${FILESDIR}"/postupgrade-${lang}.txt
- done
-
- webapp_src_install
-}
-herit distutils webapp subversion
-
-MY_PV=${PV/_beta/b}
-MY_P=Trac-${MY_PV}
-S=${WORKDIR}/${MY_P}
-
-DESCRIPTION="Trac is a minimalistic web-based project management, wiki and bug/issue tracking system."
-HOMEPAGE="http://trac.edgewall.com/"
-LICENSE="trac"
-SRC_URI=""
-
-IUSE="cgi fastcgi mysql multirepos postgres sqlite subversion"
-
-if use multirepos ; then
- ESVN_REPO_URI="http://svn.edgewall.com/repos/trac/sandbox/multirepos"
- ESVN_PROJECT="${PN/-multirepos-svn}"
-else
- ESVN_REPO_URI="http://svn.edgewall.org/repos/trac/trunk"
- ESVN_PROJECT="${PN/-svn}"
-fi
-ESVN_STORE_DIR="${DISTDIR}/svn-src"
-#ESVN_BOOTSTRAP="./reconf"
-
-S="${WORKDIR}/${P/_/}"
-
-
-
-
-KEYWORDS="~x86 ~amd64"
-
-# doing so because tools, python packages... overlap
-SLOT=""
-WEBAPP_MANUAL_SLOT="yes"
-
-DEPEND="
- ${DEPEND}
- dev-python/setuptools
- "
-
-RDEPEND="
- ${RDEPEND}
- >=dev-python/genshi-0.6
- dev-python/pygments
- >=dev-python/docutils-0.3.9
- dev-python/pytz
- cgi? (
- virtual/httpd-cgi
- )
- fastcgi? (
- virtual/httpd-fastcgi
- )
- mysql? (
- >=dev-python/mysql-python-1.2.1
- >=virtual/mysql-4.1
- )
- postgres? (
- >=dev-python/psycopg-2
- )
- sqlite? (
- >=dev-db/sqlite-3.3.4
- || (
- >=dev-lang/python-2.5
- >=dev-python/pysqlite-2.3.2
- )
- )
- subversion? (
- >=dev-util/subversion-1.4.2
- )
- !www-apps/trac-webadmin
- "
-
-# The following function should be added to eutils.eclass (see bug #143572):
-
-# Generate an standard error message for missing USE flags
-# in existing packages, and die.
-#
-# Usage: built_with_use_die <category/package> <functionality> [<USE flag>]
-# ex: built_with_use_die dev-util/subversion python
-# or: built_with_use_die www-servers/apache LDAP ldap
-#
-# Typical usage:
-# if ! built_with_use dev-util/subversion python ; then
-# built_with_use_die dev-util/subversion python
-# fi
-#
-# Note: when <USE flag> is not specified, <functionality> is used for the USE flag name.
-built_with_use_die() {
- local package=$1
- local func=$2
- local use_flag=$3
-
- [[ -z ${use_flag} ]] && use_flag=${func}
-
- eerror "Your ${package} package has been built without"
- eerror "${func} support, please enable the '${use_flag}' USE flag and"
- eerror "re-emerge ${package}."
- elog "You can enable this USE flag either globally in /etc/make.conf,"
- elog "or just for specific packages in /etc/portage/package.use."
- die "${package} missing ${func} support"
-}
-
-pkg_setup() {
- webapp_pkg_setup
-
- if ! use mysql && ! use postgres && ! use sqlite ; then
- eerror "You must select at least one database backend, by enabling"
- eerror "at least one of the 'mysql', 'postgres' or 'sqlite' USE flags."
- die "no database backend selected"
- fi
-
- # python has built-in sqlite support starting from 2.5
- if use sqlite && \
- has_version ">=dev-lang/python-2.5" && \
- ! has_version ">=dev-python/pysqlite-2.3" && \
- ! built_with_use dev-lang/python sqlite ; then
- eerror "To use the sqlite database backend, you must either:"
- eerror "- build dev-lang/python with sqlite support, using the 'sqlite'"
- eerror " USE flag, or"
- eerror "- emerge dev-python/pysqlite"
- die "missing python sqlite support"
- fi
-
- if use subversion && \
- ! built_with_use dev-util/subversion python ; then
- built_with_use_die dev-util/subversion python
- fi
-
- enewgroup tracd
- enewuser tracd -1 -1 -1 tracd
-}
-
-src_upack(){
- subversion_src_unpack
- cd ${S}
-}
-
-src_install() {
- webapp_src_preinst
- distutils_src_insp \ No newline at end of file
+/usr/portage/www-apps/trac/files \ No newline at end of file
diff --git a/www-apps/trac/trac-0.11.4.ebuild b/www-apps/trac/trac-0.11.4.ebuild
deleted file mode 100644
index e44215c..0000000
--- a/www-apps/trac/trac-0.11.4.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-apps/trac/trac-0.11.2.ebuild,v 1.4 2009/03/07 20:43:18 betelgeuse Exp $
-
-EAPI="2"
-
-inherit distutils webapp
-
-MY_PV=${PV/_beta/b}
-MY_P=Trac-${MY_PV}
-S=${WORKDIR}/${MY_P}
-
-DESCRIPTION="Trac is a minimalistic web-based project management, wiki and bug/issue tracking system."
-HOMEPAGE="http://trac.edgewall.com/"
-LICENSE="trac"
-SRC_URI="http://ftp.edgewall.com/pub/trac/${MY_P}.tar.gz"
-
-IUSE="cgi fastcgi mysql postgres sqlite subversion"
-
-KEYWORDS="amd64 ppc ~ppc64 ~sparc x86"
-
-# doing so because tools, python packages... overlap
-SLOT="0"
-WEBAPP_MANUAL_SLOT="yes"
-
-DEPEND="
- ${DEPEND}
- dev-python/setuptools
- "
-
-RDEPEND="
- ${RDEPEND}
- >=dev-python/genshi-0.5
- dev-python/pygments
- >=dev-python/docutils-0.3.9
- dev-python/pytz
- cgi? (
- virtual/httpd-cgi
- )
- fastcgi? (
- virtual/httpd-fastcgi
- )
- mysql? (
- >=dev-python/mysql-python-1.2.1
- >=virtual/mysql-4.1
- )
- postgres? (
- >=dev-python/psycopg-2
- )
- sqlite? (
- >=dev-db/sqlite-3.3.4
- || (
- >=dev-lang/python-2.5[sqlite]
- >=dev-python/pysqlite-2.3.2
- )
- )
- subversion? (
- >=dev-util/subversion-1.4.2[python]
- )
- !www-apps/trac-webadmin
- "
-
-pkg_setup() {
- webapp_pkg_setup
-
- if ! use mysql && ! use postgres && ! use sqlite ; then
- eerror "You must select at least one database backend, by enabling"
- eerror "at least one of the 'mysql', 'postgres' or 'sqlite' USE flags."
- die "no database backend selected"
- fi
-
- enewgroup tracd
- enewuser tracd -1 -1 -1 tracd
-}
-
-src_install() {
- webapp_src_preinst
- distutils_src_install
-
- # project environments might go in here
- keepdir /var/lib/trac
-
- # Use this as the egg-cache for tracd
- dodir /var/lib/trac/egg-cache
- keepdir /var/lib/trac/egg-cache
- fowners tracd:tracd /var/lib/trac/egg-cache
-
- # documentation
- cp -r contrib "${D}"/usr/share/doc/${P}/
-
- # tracd init script
- newconfd "${FILESDIR}"/tracd.confd tracd
- newinitd "${FILESDIR}"/tracd.initd.2 tracd
-
- if use cgi ; then
- cp cgi-bin/trac.cgi "${D}"/${MY_CGIBINDIR} || die
- fi
- if use fastcgi ; then
- cp cgi-bin/trac.fcgi "${D}"/${MY_CGIBINDIR} || die
- fi
-
- for lang in en; do
- webapp_postinst_txt ${lang} "${FILESDIR}"/postinst-${lang}.txt
- webapp_postupgrade_txt ${lang} "${FILESDIR}"/postupgrade-${lang}.txt
- done
-
- webapp_src_install
-}
diff --git a/x11-libs/cairo/files b/x11-libs/cairo/files
index 4cb6adc..8ebee27 120000
--- a/x11-libs/cairo/files
+++ b/x11-libs/cairo/files
@@ -1,131 +1 @@
-/var/paludis/repositories/gentoo/x11-libs/cairo/files under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-1.8.2.ebuild,v 1.1 2008/10/31 20:45:54 cardoe Exp $
-
-inherit eutils flag-o-matic libtool git
-
-DESCRIPTION="A vector graphics library with cross-device output support"
-HOMEPAGE="http://cairographics.org/"
-SRC_URI=""
-
-EGIT_REPO_URI="git://anongit.freedesktop.org/git/cairo"
-EGIT_BOOTSTRAP="./autogen.sh"
-
-LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
-SLOT=""
-KEYWORDS=""
-IUSE="debug directfb doc glitz opengl svg X xcb"
-
-# Test causes a circular depend on gtk+... since gtk+ needs cairo but test needs gtk+ so we need to block it
-RESTRICT="test"
-
-RDEPEND="media-libs/fontconfig
- >=media-libs/freetype-2.1.9
- sys-libs/zlib
- media-libs/libpng
- >=x11-libs/pixman-0.12.0
- directfb? ( >=dev-libs/DirectFB-0.9.24 )
- glitz? ( >=media-libs/glitz-0.5.1 )
- svg? ( dev-libs/libxml2 )
- X? ( >=x11-libs/libXrender-0.6
- x11-libs/libXext
- x11-libs/libX11 )
- xcb? ( >=x11-libs/libxcb-0.92
- x11-libs/xcb-util )"
-# test? (
-# pdf test
-# x11-libs/pango
-# >=x11-libs/gtk+-2.0
-# >=app-text/poppler-bindings-0.9.2
-# ps test
-# virtual/ghostscript
-# svg test
-# >=x11-libs/gtk+-2.0
-# >=gnome-base/librsvg-2.15.0
-
-DEPEND="${RDEPEND}
- >=dev-util/pkgconfig-0.19
- doc? ( >=dev-util/gtk-doc-1.6
- ~app-text/docbook-xml-dtd-4.2 )
- X? ( x11-proto/renderproto )
- xcb? ( x11-proto/xcb-proto )"
-
-#pkg_setup() {
-# if ! built_with_use app-text/poppler-bindings gtk ; then
-# eerror 'poppler-bindings with gtk is required for the pdf backend'
-# die 'poppler-bindings built without gtk support'
-# fi
-#}
-
-src_unpack() {
- git_src_unpack
- cd "${S}"
-
-}
-
-src_compile() {
- #gets rid of fbmmx.c inlining warnings
- append-flags -finline-limit=1200
-
- if use glitz && use opengl; then
- export glitz_LIBS=-lglitz-glx
- fi
-
- econf $(use_enable X xlib) $(use_enable doc gtk-doc) \
- $(use_enable directfb) $(use_enable xcb) \
- $(use_enable svg) $(use_enable glitz) $(use_enable X xlib-xrender) \
- $(use_enable debug test-surfaces) --enable-pdf --enable-png \
- --enable-freetype --enable-ps \
- || die "configure failed"
-
- emake || die "compile failed"
-}
-
-src_install() {
- make DESTDIR="${D}" install || die "Installation failed"
- dodoc AUTHORS ChangeLog NEWS README
-}
-eerror "${func} support, please enable the '${use_flag}' USE flag and"
- eerror "re-emerge ${package}."
- elog "You can enable this USE flag either globally in /etc/make.conf,"
- elog "or just for specific packages in /etc/portage/package.use."
- die "${package} missing ${func} support"
-}
-
-pkg_setup() {
- webapp_pkg_setup
-
- if ! use mysql && ! use postgres && ! use sqlite ; then
- eerror "You must select at least one database backend, by enabling"
- eerror "at least one of the 'mysql', 'postgres' or 'sqlite' USE flags."
- die "no database backend selected"
- fi
-
- # python has built-in sqlite support starting from 2.5
- if use sqlite && \
- has_version ">=dev-lang/python-2.5" && \
- ! has_version ">=dev-python/pysqlite-2.3" && \
- ! built_with_use dev-lang/python sqlite ; then
- eerror "To use the sqlite database backend, you must either:"
- eerror "- build dev-lang/python with sqlite support, using the 'sqlite'"
- eerror " USE flag, or"
- eerror "- emerge dev-python/pysqlite"
- die "missing python sqlite support"
- fi
-
- if use subversion && \
- ! built_with_use dev-util/subversion python ; then
- built_with_use_die dev-util/subversion python
- fi
-
- enewgroup tracd
- enewuser tracd -1 -1 -1 tracd
-}
-
-src_upack(){
- subversion_src_unpack
- cd ${S}
-}
-
-src_install() {
- webapp_src_preinst
- distutils_src_insp \ No newline at end of file
+/usr/portage/x11-libs/cairo/files \ No newline at end of file
diff --git a/x11-libs/gtk+/files b/x11-libs/gtk+/files
index a1d9a50..1570fd8 120000
--- a/x11-libs/gtk+/files
+++ b/x11-libs/gtk+/files
@@ -1,153 +1 @@
-/var/paludis/repositories/gentoo/x11-libs/gtk+/filesd under the terms of the GNU General Public License v2
-# $Header: $
-
-ARTS_REQUIRED="never"
-NEED_KDE="3.5"
-
-inherit kde
-
-PREFIX=`kde-config --prefix`
-#QTDIR='/usr'
-
-DESCRIPTION="Compizconfig Kconfig Backend"
-HOMEPAGE="http://www.compiz.org/"
-SRC_URI="http://releases.compiz.org/components/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="~x11-libs/libcompizconfig-${PV}
- ~x11-wm/compiz-${PV}"
-RDEPEND="${DEPEND}"
-onon
- )
- x11-libs/qt-script:4
- x11-libs/qt-sql:4
- x11-libs/qt-svg:4
- x11-libs/qt-xmlpatterns:4
-"
-RDEPEND="${DEPEND}"
-
-PLUGINS="core gui network opengl sql svg uitools webkit xml xmlpatterns"
-
-src_unpack() {
- git_src_unpack
- cd ${S}
- epatch ${FILESDIR}/gcc4.4.patch
-}
-
-pkg_setup(){
- QTDIR="/usr/include/qt4"
- QTLIBDIR="/usr/$(get_libdir)/qt4/"
-}
-src_prepare() {
- # remove phonon
- sed -i \
- -e "/typesystem_phonon.xml/d" \
- generator/generator.qrc || die "sed failed"
- sed -i \
- -e "/qtscript_phonon/d" \
- qtbindings/qtbindings.pro || die "sed failed"
- git_src_prepare
- qt4_src_prepare
-}
-
-src_configure() {
- cd "${S}"/generator
- eqmake4 generator.pro
- cd "${S}"/qtbindings
- eqmake4 qtbindings.pro
-}
-
-src_compile() {
- cd "${S}"/generator
- emake || die "emake generator failed"
- ./generator --include-paths="/usr/include/qt4/" || die "running generator failed"
- cd "${S}"/qtbindings
- emake || die "make qtbindings failed"
-}
-
-src_install() {
- insinto "${QTLIBDIR}"/plugins/script/
- insopts -m0755
- doins -r "${S}"/plugins/script/*.so || die "doins failed"
-}
- die 'poppler-bindings built without gtk support'
-# fi
-#}
-
-src_unpack() {
- git_src_unpack
- cd "${S}"
-
-}
-
-src_compile() {
- #gets rid of fbmmx.c inlining warnings
- append-flags -finline-limit=1200
-
- if use glitz && use opengl; then
- export glitz_LIBS=-lglitz-glx
- fi
-
- econf $(use_enable X xlib) $(use_enable doc gtk-doc) \
- $(use_enable directfb) $(use_enable xcb) \
- $(use_enable svg) $(use_enable glitz) $(use_enable X xlib-xrender) \
- $(use_enable debug test-surfaces) --enable-pdf --enable-png \
- --enable-freetype --enable-ps \
- || die "configure failed"
-
- emake || die "compile failed"
-}
-
-src_install() {
- make DESTDIR="${D}" install || die "Installation failed"
- dodoc AUTHORS ChangeLog NEWS README
-}
-eerror "${func} support, please enable the '${use_flag}' USE flag and"
- eerror "re-emerge ${package}."
- elog "You can enable this USE flag either globally in /etc/make.conf,"
- elog "or just for specific packages in /etc/portage/package.use."
- die "${package} missing ${func} support"
-}
-
-pkg_setup() {
- webapp_pkg_setup
-
- if ! use mysql && ! use postgres && ! use sqlite ; then
- eerror "You must select at least one database backend, by enabling"
- eerror "at least one of the 'mysql', 'postgres' or 'sqlite' USE flags."
- die "no database backend selected"
- fi
-
- # python has built-in sqlite support starting from 2.5
- if use sqlite && \
- has_version ">=dev-lang/python-2.5" && \
- ! has_version ">=dev-python/pysqlite-2.3" && \
- ! built_with_use dev-lang/python sqlite ; then
- eerror "To use the sqlite database backend, you must either:"
- eerror "- build dev-lang/python with sqlite support, using the 'sqlite'"
- eerror " USE flag, or"
- eerror "- emerge dev-python/pysqlite"
- die "missing python sqlite support"
- fi
-
- if use subversion && \
- ! built_with_use dev-util/subversion python ; then
- built_with_use_die dev-util/subversion python
- fi
-
- enewgroup tracd
- enewuser tracd -1 -1 -1 tracd
-}
-
-src_upack(){
- subversion_src_unpack
- cd ${S}
-}
-
-src_install() {
- webapp_src_preinst
- distutils_src_insp \ No newline at end of file
+/usr/portage/x11-libs/gtk+/files \ No newline at end of file
diff --git a/x11-libs/pango/files b/x11-libs/pango/files
index b9823e4..ef765b5 120000
--- a/x11-libs/pango/files
+++ b/x11-libs/pango/files
@@ -1,151 +1 @@
-/var/paludis/repositories/gentoo/x11-libs/pango/files under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/pango/pango-1.22.2.ebuild,v 1.1 2008/10/31 00:10:31 leio Exp $
-
-inherit eutils multilib subversion
-
-DESCRIPTION="Text rendering and layout library"
-HOMEPAGE="http://www.pango.org/"
-
-LICENSE="LGPL-2 FTL"
-SLOT=""
-KEYWORDS=""
-IUSE="X debug doc"
-
-ESVN_REPO_URI="http://svn.gnome.org/svn/pango/trunk"
-ESVN_STORE_DIR="${DISTDIR}/svn-src"
-ESVN_PROJECT="${PN/-svn}"
-ESVN_BOOTSTRAP="./autogen.sh"
-
-S="${WORKDIR}/${P/_/}"
-
-RDEPEND=">=dev-libs/glib-2.17.3
- >=media-libs/fontconfig-1.0.1
- >=media-libs/freetype-2
- >=x11-libs/cairo-1.7.6
- X? (
- x11-libs/libXrender
- x11-libs/libX11
- x11-libs/libXft
- )"
-DEPEND="${RDEPEND}
- >=dev-util/pkgconfig-0.9
- doc? (
- >=dev-util/gtk-doc-1
- ~app-text/docbook-xml-dtd-4.1.2
- )
- X? ( x11-proto/xproto )
- gnome-base/gnome-common"
-
-DOCS="AUTHORS ChangeLog* NEWS README TODO*"
-
-function multilib_enabled() {
- has_multilib_profile || ( use x86 && [ "$(get_libdir)" == "lib32" ] )
-}
-
-pkg_setup() {
- # Do NOT build with --disable-debug/--enable-debug=no
- if use debug ; then
- G2CONF="${G2CONF} --enable-debug=yes"
- fi
-
- G2CONF="${G2CONF} $(use_with X x)"
-}
-
-src_unpack() {
- subversion_src_unpack
-
- # make config file location host specific so that a 32bit and 64bit pango
- # wont fight with each other on a multilib system. Fix building for
- # emul-linux-x86-gtklibs
- if multilib_enabled ; then
- epatch "${FILESDIR}/${PN}-1.2.5-lib64.patch"
- fi
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- rm "${D}/etc/pango/pango.modules"
-}
-
-pkg_postinst() {
- if [[ "${ROOT}" == "/" ]] ; then
- einfo "Generating modules listing..."
-
- local PANGO_CONFDIR=
-
- if multilib_enabled ; then
- PANGO_CONFDIR="/etc/pango/${CHOST}"
- else
- PANGO_CONFDIR="/etc/pango"
- fi
-
- mkdir -p ${PANGO_CONFDIR}
-
- pango-querymodules > ${PANGO_CONFDIR}/pango.modules
- fi
-}
-
-src_compile(){
- econf\
- $(use_enable doc gtk-doc) \
- $(use_enable doc man) \
- $(useq debug && echo --enable-debug=yes )
- emake
-}
-ib.patch"
-
- # Workaround adobe flash infinite loop. Patch from http://bugzilla.gnome.org/show_bug.cgi?id=463773#c11
- epatch "${FILESDIR}/${PN}-2.12.0-flash-workaround.patch"
-
- # Don't break inclusion of gtkclist.h, upstream bug 536767
- epatch "${FILESDIR}/${PN}-2.14.3-limit-gtksignal-includes.patch"
-
- # -O3 and company cause random crashes in applications. Bug #133469
- replace-flags -O3 -O2
- strip-flags
-
- use ppc64 && append-flags -mminimal-toc
-
- elibtoolize
-}
-
-src_compile() {
- # png always on to display icons (foser)
- local myconf="$(use_enable doc gtk-doc) \
- $(use_with jpeg libjpeg) \
- $(use_with jpeg2k libjasper) \
- $(use_with tiff libtiff) \
- $(use_enable xinerama) \
- $(use_enable cups cups auto) \
- --with-libpng \
- --with-gdktarget=x11 \
- --with-xinput"
-
- # Passing --disable-debug is not recommended for production use
- use debug && myconf="${myconf} --enable-debug=yes"
-
- econf ${myconf} || die "configure failed"
- emake || die "compile failed"
-}
-
-src_test() {
- Xemake check || die "tests failed"
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "Installation failed"
-
- set_gtk2_confdir
- dodir ${GTK2_CONFDIR}
- keepdir ${GTK2_CONFDIR}
-
- # see bug #133241
- echo 'gtk-fallback-icon-theme = "gnome"' > "${D}/${GTK2_CONFDIR}/gtkrc"
-
- # Enable xft in environment as suggested by <utx@gentoo.org>
- dodir /etc/env.d
- echo "GDK_USE_XFT=1" > "${D}/etc/env.d/50gtk2"
-
- dodoc AUTHORS ChangeLog* HACKING NEWS* README*
-
- # This has to be removed, because it's multilib specific; genep \ No newline at end of file
+/usr/portage/x11-libs/pango/files \ No newline at end of file
diff --git a/x11-libs/pixman/files/pixman-0.12.0-sse.patch b/x11-libs/pixman/files/pixman-0.12.0-sse.patch
deleted file mode 100644
index 1f6ee92..0000000
--- a/x11-libs/pixman/files/pixman-0.12.0-sse.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- configure.ac.orig 2008-09-25 20:34:22.000000000 -0700
-+++ configure.ac 2008-09-25 20:43:57.000000000 -0700
-@@ -191,10 +191,8 @@
- CFLAGS="$CFLAGS -msse2 $SSE2_CFLAGS"
-
- AC_COMPILE_IFELSE([
--#if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2))
--# if !defined(__amd64__) && !defined(__x86_64__)
-+#if !defined(__GNUC__) && !(__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2))
- # error "Need GCC >= 4.2 for SSE2 intrinsics on x86"
--# endif
- #endif
- #include <mmintrin.h>
- #include <xmmintrin.h>