From 89e57c3f751517262ad2d6bdfdf72c1bee659a45 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Fri, 24 Jul 2009 19:22:44 +0400 Subject: modified: app-admin/ulogd/files deleted: app-emulation/wine/files/adding-pulseaudio-to-winecfg.patch deleted: app-emulation/wine/files/wine-0.9.51-valgrind.patch deleted: app-emulation/wine/files/wine-1.0_rc3-openssl.patch deleted: app-emulation/wine/files/wine-1.1.4-install-fix.patch deleted: app-emulation/wine/files/wine-gentoo-no-ssp.patch deleted: app-emulation/wine/files/wined3d.diff deleted: app-emulation/wine/files/winepulse-0.17-configure.ac.patch deleted: app-emulation/wine/files/winepulse-0.28.patch deleted: app-misc/mc/files/chdir-4.6.0.gentoo deleted: app-misc/mc/files/ebuild.syntax deleted: app-misc/mc/files/mc-4.6.0-7zip.patch deleted: app-misc/mc/files/mc-4.6.0-ebuild-syntax.patch deleted: app-misc/mc/files/mc-4.6.1-bash-all.patch deleted: app-misc/mc/files/mc-4.6.1-charset-locale-aliases.patch deleted: app-misc/mc/files/mc-4.6.1-find.patch deleted: app-misc/mc/files/mc-4.6.1-invalid-mtime.patch deleted: app-misc/mc/files/mc-4.6.1-largefile.patch deleted: app-misc/mc/files/mc-4.6.1-nonblock.patch deleted: app-misc/mc/files/mc.gentoo deleted: app-misc/mc/files/mc.ini deleted: dev-cpp/commoncpp2/commoncpp2-1.6.2.ebuild deleted: dev-cpp/commoncpp2/files/1.6.1-gcc42_atomicity.patch deleted: dev-cpp/commoncpp2/files/1.6.2-autoconf.patch deleted: dev-cpp/commoncpp2/files/1.6.2-configure_detect_netfilter.patch modified: dev-libs/glib/files deleted: dev-libs/ptlib/files/ptlib-2.4.1-instplugins.diff deleted: dev-libs/ptlib/files/ptlib-asm.patch deleted: dev-libs/ptlib/ptlib-2.4.5.ebuild deleted: dev-libs/ptlib/ptlib-2.6.4.ebuild deleted: dev-libs/ptlib/ptlib-9999.ebuild deleted: games-emulation/epsxe/files/epsxe deleted: games-emulation/gens/files/gens-2.12b-gcc4.patch deleted: games-emulation/gens/files/gens-2.12b-romsdir.patch deleted: games-emulation/gens/files/gens-rc3_to_mythgame.patch deleted: games-emulation/gens/gens-2.12b.ebuild modified: games-rpg/tmw/files modified: kde-misc/tork/files modified: media-sound/mpd/files deleted: media-sound/musepack-tools/files/musepack-tools-1.15v-Makefile-esd.patch deleted: media-sound/musepack-tools/files/musepack-tools-1.15v-Makefile.patch deleted: media-sound/musepack-tools/files/musepack-tools-1.15v-execstack.patch deleted: media-sound/musepack-tools/files/musepack-tools-1.15v-fbsd.patch deleted: media-sound/musepack-tools/files/musepack-tools-1.15v-gcc4.patch deleted: media-video/vlc/files deleted: net-analyzer/libnasl/files/digest-libnasl-2.2.10 deleted: net-analyzer/nessus-core/files/digest-nessus-core-2.2.10 deleted: net-analyzer/nessus-core/files/nessus-core-2.3.1-gcc4.diff deleted: net-analyzer/nessus-core/files/nessusd-r7 deleted: net-analyzer/nessus-core/files/nessusd-r8 deleted: net-analyzer/nessus-libraries/files/digest-nessus-libraries-2.2.10 deleted: net-analyzer/nessus-libraries/files/nessus-libraries-2.3.1-ldflags.patch deleted: net-analyzer/nessus-plugins/files/digest-nessus-plugins-2.2.10 deleted: net-analyzer/nessus/files/digest-nessus-2.2.10 modified: net-analyzer/snort/files modified: net-analyzer/wireshark/files deleted: net-ftp/proftpd/Manifest deleted: net-ftp/proftpd/files/proftpd-1.3.2_rc1-bug218850.patch deleted: net-ftp/proftpd/proftpd-1.3.1.ebuild deleted: net-ftp/proftpd/proftpd-1.3.2_rc1.ebuild modified: net-im/centerim/files deleted: net-libs/opal/files/opal-lpcini.patch modified: sys-fs/e2fsprogs/files modified: www-apps/trac/files deleted: www-apps/trac/trac-0.11.4.ebuild modified: x11-libs/cairo/files modified: x11-libs/gtk+/files modified: x11-libs/pango/files deleted: x11-libs/pixman/files/pixman-0.12.0-sse.patch --- app-admin/ulogd/files | 140 +- .../wine/files/adding-pulseaudio-to-winecfg.patch | 289 --- .../wine/files/wine-0.9.51-valgrind.patch | 56 - .../wine/files/wine-1.0_rc3-openssl.patch | 81 - .../wine/files/wine-1.1.4-install-fix.patch | 22 - app-emulation/wine/files/wine-gentoo-no-ssp.patch | 16 - app-emulation/wine/files/wined3d.diff | 84 - .../wine/files/winepulse-0.17-configure.ac.patch | 54 - app-emulation/wine/files/winepulse-0.28.patch | 2725 -------------------- app-misc/mc/files/chdir-4.6.0.gentoo | 11 - app-misc/mc/files/ebuild.syntax | 87 - app-misc/mc/files/mc-4.6.0-7zip.patch | 25 - app-misc/mc/files/mc-4.6.0-ebuild-syntax.patch | 12 - app-misc/mc/files/mc-4.6.1-bash-all.patch | 33 - .../mc/files/mc-4.6.1-charset-locale-aliases.patch | 40 - app-misc/mc/files/mc-4.6.1-find.patch | 155 -- app-misc/mc/files/mc-4.6.1-invalid-mtime.patch | 30 - app-misc/mc/files/mc-4.6.1-largefile.patch | 194 -- app-misc/mc/files/mc-4.6.1-nonblock.patch | 11 - app-misc/mc/files/mc.gentoo | 16 - app-misc/mc/files/mc.ini | 2 - dev-cpp/commoncpp2/commoncpp2-1.6.2.ebuild | 73 - .../commoncpp2/files/1.6.1-gcc42_atomicity.patch | 138 - dev-cpp/commoncpp2/files/1.6.2-autoconf.patch | 138 - .../files/1.6.2-configure_detect_netfilter.patch | 12 - dev-libs/glib/files | 130 +- dev-libs/ptlib/files/ptlib-2.4.1-instplugins.diff | 27 - dev-libs/ptlib/files/ptlib-asm.patch | 15 - dev-libs/ptlib/ptlib-2.4.5.ebuild | 98 - dev-libs/ptlib/ptlib-2.6.4.ebuild | 103 - dev-libs/ptlib/ptlib-9999.ebuild | 108 - games-emulation/epsxe/files/epsxe | 72 - games-emulation/gens/files/gens-2.12b-gcc4.patch | 37 - .../gens/files/gens-2.12b-romsdir.patch | 13 - .../gens/files/gens-rc3_to_mythgame.patch | 674 ----- games-emulation/gens/gens-2.12b.ebuild | 49 - games-rpg/tmw/files | 142 +- kde-misc/tork/files | 148 +- media-sound/mpd/files | 120 +- .../files/musepack-tools-1.15v-Makefile-esd.patch | 15 - .../files/musepack-tools-1.15v-Makefile.patch | 23 - .../files/musepack-tools-1.15v-execstack.patch | 44 - .../files/musepack-tools-1.15v-fbsd.patch | 13 - .../files/musepack-tools-1.15v-gcc4.patch | 11 - media-video/vlc/files | 124 - net-analyzer/libnasl/files/digest-libnasl-2.2.10 | 3 - .../nessus-core/files/digest-nessus-core-2.2.10 | 3 - .../nessus-core/files/nessus-core-2.3.1-gcc4.diff | 11 - net-analyzer/nessus-core/files/nessusd-r7 | 26 - net-analyzer/nessus-core/files/nessusd-r8 | 26 - .../files/digest-nessus-libraries-2.2.10 | 3 - .../files/nessus-libraries-2.3.1-ldflags.patch | 25 - .../files/digest-nessus-plugins-2.2.10 | 3 - net-analyzer/nessus/files/digest-nessus-2.2.10 | 0 net-analyzer/snort/files | 136 +- net-analyzer/wireshark/files | 124 +- net-ftp/proftpd/Manifest | 9 - .../files/proftpd-1.3.2_rc1-bug218850.patch | 12 - net-ftp/proftpd/proftpd-1.3.1.ebuild | 254 -- net-ftp/proftpd/proftpd-1.3.2_rc1.ebuild | 251 -- net-im/centerim/files | 144 +- net-libs/opal/files/opal-lpcini.patch | 11 - sys-fs/e2fsprogs/files | 154 +- www-apps/trac/files | 146 +- www-apps/trac/trac-0.11.4.ebuild | 108 - x11-libs/cairo/files | 132 +- x11-libs/gtk+/files | 154 +- x11-libs/pango/files | 152 +- x11-libs/pixman/files/pixman-0.12.0-sse.patch | 14 - 69 files changed, 13 insertions(+), 8298 deletions(-) delete mode 100644 app-emulation/wine/files/adding-pulseaudio-to-winecfg.patch delete mode 100644 app-emulation/wine/files/wine-0.9.51-valgrind.patch delete mode 100644 app-emulation/wine/files/wine-1.0_rc3-openssl.patch delete mode 100644 app-emulation/wine/files/wine-1.1.4-install-fix.patch delete mode 100644 app-emulation/wine/files/wine-gentoo-no-ssp.patch delete mode 100644 app-emulation/wine/files/wined3d.diff delete mode 100644 app-emulation/wine/files/winepulse-0.17-configure.ac.patch delete mode 100644 app-emulation/wine/files/winepulse-0.28.patch delete mode 100644 app-misc/mc/files/chdir-4.6.0.gentoo delete mode 100644 app-misc/mc/files/ebuild.syntax delete mode 100644 app-misc/mc/files/mc-4.6.0-7zip.patch delete mode 100644 app-misc/mc/files/mc-4.6.0-ebuild-syntax.patch delete mode 100644 app-misc/mc/files/mc-4.6.1-bash-all.patch delete mode 100644 app-misc/mc/files/mc-4.6.1-charset-locale-aliases.patch delete mode 100644 app-misc/mc/files/mc-4.6.1-find.patch delete mode 100644 app-misc/mc/files/mc-4.6.1-invalid-mtime.patch delete mode 100644 app-misc/mc/files/mc-4.6.1-largefile.patch delete mode 100644 app-misc/mc/files/mc-4.6.1-nonblock.patch delete mode 100644 app-misc/mc/files/mc.gentoo delete mode 100644 app-misc/mc/files/mc.ini delete mode 100644 dev-cpp/commoncpp2/commoncpp2-1.6.2.ebuild delete mode 120000 dev-cpp/commoncpp2/files/1.6.1-gcc42_atomicity.patch delete mode 120000 dev-cpp/commoncpp2/files/1.6.2-autoconf.patch delete mode 100644 dev-cpp/commoncpp2/files/1.6.2-configure_detect_netfilter.patch delete mode 100644 dev-libs/ptlib/files/ptlib-2.4.1-instplugins.diff delete mode 100644 dev-libs/ptlib/files/ptlib-asm.patch delete mode 100644 dev-libs/ptlib/ptlib-2.4.5.ebuild delete mode 100644 dev-libs/ptlib/ptlib-2.6.4.ebuild delete mode 100644 dev-libs/ptlib/ptlib-9999.ebuild delete mode 100644 games-emulation/epsxe/files/epsxe delete mode 100644 games-emulation/gens/files/gens-2.12b-gcc4.patch delete mode 100644 games-emulation/gens/files/gens-2.12b-romsdir.patch delete mode 100644 games-emulation/gens/files/gens-rc3_to_mythgame.patch delete mode 100644 games-emulation/gens/gens-2.12b.ebuild delete mode 100644 media-sound/musepack-tools/files/musepack-tools-1.15v-Makefile-esd.patch delete mode 100644 media-sound/musepack-tools/files/musepack-tools-1.15v-Makefile.patch delete mode 100644 media-sound/musepack-tools/files/musepack-tools-1.15v-execstack.patch delete mode 100644 media-sound/musepack-tools/files/musepack-tools-1.15v-fbsd.patch delete mode 100644 media-sound/musepack-tools/files/musepack-tools-1.15v-gcc4.patch delete mode 120000 media-video/vlc/files delete mode 100644 net-analyzer/libnasl/files/digest-libnasl-2.2.10 delete mode 100644 net-analyzer/nessus-core/files/digest-nessus-core-2.2.10 delete mode 100644 net-analyzer/nessus-core/files/nessus-core-2.3.1-gcc4.diff delete mode 100644 net-analyzer/nessus-core/files/nessusd-r7 delete mode 100644 net-analyzer/nessus-core/files/nessusd-r8 delete mode 100644 net-analyzer/nessus-libraries/files/digest-nessus-libraries-2.2.10 delete mode 100644 net-analyzer/nessus-libraries/files/nessus-libraries-2.3.1-ldflags.patch delete mode 100644 net-analyzer/nessus-plugins/files/digest-nessus-plugins-2.2.10 delete mode 100644 net-analyzer/nessus/files/digest-nessus-2.2.10 delete mode 100644 net-ftp/proftpd/Manifest delete mode 100644 net-ftp/proftpd/files/proftpd-1.3.2_rc1-bug218850.patch delete mode 100644 net-ftp/proftpd/proftpd-1.3.1.ebuild delete mode 100644 net-ftp/proftpd/proftpd-1.3.2_rc1.ebuild delete mode 100644 net-libs/opal/files/opal-lpcini.patch delete mode 100644 www-apps/trac/trac-0.11.4.ebuild delete mode 100644 x11-libs/pixman/files/pixman-0.12.0-sse.patch 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 -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 - # include - #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 --#undef FAR --#define FAR do_not_use_this_in_wine --#undef DSA --#endif - #ifdef HAVE_SYS_SOCKET_H - # include - #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 - #ifdef HAVE_POLL_H - #include - #endif -@@ -42,6 +43,22 @@ - #ifdef HAVE_SYS_IOCTL_H - # include - #endif -+#include -+#ifdef HAVE_NETDB_H -+# include -+#endif -+#ifdef HAVE_NETINET_IN_H -+# include -+#endif -+#ifdef HAVE_OPENSSL_SSL_H -+# include -+#undef FAR -+#undef DSA -+#endif -+#ifdef HAVE_SYS_SOCKET_H -+# include -+#endif -+ - #include - #include - #include 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 -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 -+ * -+ * 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 -+#include -+ -+#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 -+#endif -+#include -+ -+#ifdef HAVE_PULSEAUDIO -+ -+#include "wine/unicode.h" -+#include "wine/debug.h" -+#include "wine/library.h" -+ -+#include -+#include -+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 -+ * -+ * 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 -+ -+#include "windef.h" -+#include "winbase.h" -+#include "wingdi.h" -+#include "winuser.h" -+#include "winnls.h" -+#include "mmddk.h" -+ -+#include -+ -+#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, ¶m, &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 -+ * -+ * 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 -+ -+#include "windef.h" -+#include "winbase.h" -+#include "wingdi.h" -+#include "winuser.h" -+#include "winnls.h" -+#include "winerror.h" -+#include "mmddk.h" -+ -+#include -+ -+#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() | | PLAYING | -+ * | PLAYING | write() | HEADER | PLAYING | -+ * | (other) | write() | | | -+ * | (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, ¶m, &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, ¶m, &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 -+ * -+ * 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 -+ -+/* state diagram for waveOut writing: -+ * -+ * +---------+-------------+---------------+---------------------------------+ -+ * | state | function | event | new state | -+ * +---------+-------------+---------------+---------------------------------+ -+ * | | open() | | STOPPED | -+ * | PAUSED | write() | | PAUSED | -+ * | STOPPED | write() | | PLAYING | -+ * | PLAYING | write() | HEADER | PLAYING | -+ * | (other) | write() | | | -+ * | (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 - 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 -+ #endif -+ #ifdef HAVE_NETINET_IN_H -+ #include - #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 -+ #endif -+ #ifdef HAVE_NETINET_IN_H -+ #include - #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 -+ #endif -+ #ifdef HAVE_NETINET_IN_H -+ #include - #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 - #include - #include -+#include - #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 - #include - #include -+#include - #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 - #include - #include -+#include - #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 - #include - #include -+#include - #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 - 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"> - -sound - -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 musepack-tools-1.15r.ebuild: - Add flag-o-matic for bug 49179 - -*musepack-tools-1.15r (22 Apr 2004) - - 22 Apr 2004; Jeremy Huddleston - musepack-tools-1.15r.ebuild, files/musepack-tools-1.15r-Makefile.patch: - Initial ebuild provided by 4nykey@nm.ru in bug #47615. - -; Tony Vroon - +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 - +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 - musepack-tools-1.15s-r2.ebuild, musepack-tools-1.15t.ebuild: - corrected issue with esound dependency, fixes #81311 - - 11 Feb 2005; Tony Vroon - +files/musepack-tools-1.15t-gcc4.patch, musepack-tools-1.15t.ebuild: - GCC 4 compatability fix by Radoslaw -AstralStorm- Szkodzinski - closes bug #81443. - - 07 Feb 2005; Jan Brinkmann - 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 - # if defined __linux__ // the standard is that this file is stored somewhere on the hard disk - # include --# elif defined __bsdi__ -+# elif defined __bsdi__ || __FreeBSD__ >= 5 - # include - # elif defined __FreeBSD__ - # include 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 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 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/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 "=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 - #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 [] -# 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 is not specified, 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 - 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 - #include -- cgit v1.2.3