diff options
Diffstat (limited to 'media-sound')
3 files changed, 193 insertions, 0 deletions
diff --git a/media-sound/mumble/files/mumble-1.2.3-fix-cert-validation.patch b/media-sound/mumble/files/mumble-1.2.3-fix-cert-validation.patch new file mode 100644 index 0000000..1417417 --- /dev/null +++ b/media-sound/mumble/files/mumble-1.2.3-fix-cert-validation.patch @@ -0,0 +1,20 @@ +Description: Fix certificate validation with QT 4.8. For some reason, the + new on-demand root cert loading is not working with mumble. +Author: Marc Deslauriers <marc.deslauriers@canonical.com> +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mumble/+bug/928296 + +diff -Naur mumble-1.2.3/src/SSL.cpp mumble-1.2.3.new/src/SSL.cpp +--- mumble-1.2.3/src/SSL.cpp 2011-02-19 22:35:16.000000000 +0100 ++++ mumble-1.2.3.new/src/SSL.cpp 2012-02-16 02:45:20.353665502 +0100 +@@ -252,6 +252,11 @@ + QSslSocket::setDefaultCaCertificates(ql); + #endif // NO_SYSTEM_CA_OVERRIDE + ++#if QT_VERSION >= 0x040800 ++ // Don't perform on-demand loading of root certificates ++ QSslSocket::setDefaultCaCertificates(QSslSocket::systemCaCertificates()); ++#endif ++ + for (unsigned int i=0;i<sizeof(recommended_cas)/sizeof(recommended_cas[0]);++i) { + QSslCertificate cert(recommended_cas[i]); + if (! QSslSocket::defaultCaCertificates().contains(cert)) { diff --git a/media-sound/mumble/files/mumble-1.2.3-set-file-permissions.patch b/media-sound/mumble/files/mumble-1.2.3-set-file-permissions.patch new file mode 100644 index 0000000..83be96a --- /dev/null +++ b/media-sound/mumble/files/mumble-1.2.3-set-file-permissions.patch @@ -0,0 +1,51 @@ +From 5632c35d6759f5e13a7dfe78e4ee6403ff6a8e3e Mon Sep 17 00:00:00 2001 +From: Thorvald Natvig <slicer@users.sourceforge.net> +Date: Fri, 27 May 2011 16:59:15 -0700 +Subject: [PATCH] Explicitly remove file permissions for settings and DB + +--- + src/mumble/Database.cpp | 5 +++++ + src/mumble/Settings.cpp | 11 +++++++++++ + 2 files changed, 16 insertions(+), 0 deletions(-) + +diff --git a/src/mumble/Database.cpp b/src/mumble/Database.cpp +index 5449fbe..8c3854f 100644 +--- a/src/mumble/Database.cpp ++++ b/src/mumble/Database.cpp +@@ -94,6 +94,11 @@ + qWarning("Database: Database is read-only"); + } + ++ { ++ QFile f(db.databaseName()); ++ f.setPermissions(f.permissions() & ~(QFile::ReadGroup | QFile::WriteGroup | QFile::ExeGroup | QFile::ReadOther | QFile::WriteOther | QFile::ExeOther)); ++ } ++ + QSqlQuery query; + + query.exec(QLatin1String("CREATE TABLE IF NOT EXISTS `servers` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `name` TEXT, `hostname` TEXT, `port` INTEGER DEFAULT " MUMTEXT(DEFAULT_MUMBLE_PORT) ", `username` TEXT, `password` TEXT)")); +diff --git a/src/mumble/Settings.cpp b/src/mumble/Settings.cpp +index 404692b..b5e9202 100644 +--- a/src/mumble/Settings.cpp ++++ b/src/mumble/Settings.cpp +@@ -716,6 +716,17 @@ void OverlaySettings::save() { + void OverlaySettings::save(QSettings* settings_ptr) { + OverlaySettings def; + ++ settings_ptr->setValue(QLatin1String("version"), QLatin1String(MUMTEXT(MUMBLE_VERSION_STRING))); ++ settings_ptr->sync(); ++ ++#if defined(Q_OS_WIN) || defined(Q_OS_MAC) ++ if (settings_ptr->format() == QSettings::IniFormat) ++#endif ++ { ++ QFile f(settings_ptr->fileName()); ++ f.setPermissions(f.permissions() & ~(QFile::ReadGroup | QFile::WriteGroup | QFile::ExeGroup | QFile::ReadOther | QFile::WriteOther | QFile::ExeOther)); ++ } ++ + SAVELOAD(bEnable, "enable"); + + SAVELOAD(osShow, "show"); +-- +1.7.5.4 + diff --git a/media-sound/mumble/mumble-1.2.3-r3.ebuild b/media-sound/mumble/mumble-1.2.3-r3.ebuild new file mode 100644 index 0000000..7322bb0 --- /dev/null +++ b/media-sound/mumble/mumble-1.2.3-r3.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/mumble/mumble-1.2.3-r1.ebuild,v 1.2 2011/06/14 20:10:41 maekke Exp $ + +EAPI="4" + +inherit eutils multilib qt4-r2 + +DESCRIPTION="Mumble is an open source, low-latency, high quality voice chat software" +HOMEPAGE="http://mumble.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="+alsa +dbus debug g15 jack oss pch portaudio pulseaudio speech zeroconf" + +RDEPEND=">=dev-libs/boost-1.41.0 + >=dev-libs/openssl-1.0.0b + >=dev-libs/protobuf-2.2.0 + >=media-libs/libsndfile-1.0.20[-minimal] + >=media-libs/speex-1.2_rc1 + sys-apps/lsb-release + dev-qt/qtcore:4[ssl] + dev-qt/qtgui:4 + dev-qt/qtopengl:4 + dev-qt/qtsql:4[sqlite] + dev-qt/qtsvg:4 + dev-qt/qtxmlpatterns:4 + x11-proto/inputproto + alsa? ( media-libs/alsa-lib ) + dbus? ( dev-qt/qtdbus:4 ) + g15? ( app-misc/g15daemon ) + jack? ( media-sound/jack-audio-connection-kit ) + portaudio? ( media-libs/portaudio ) + pulseaudio? ( media-sound/pulseaudio ) + speech? ( app-accessibility/speech-dispatcher ) + zeroconf? ( || ( net-dns/avahi[mdnsresponder-compat] net-misc/mDNSResponder ) )" +DEPEND="${RDEPEND} + dev-util/pkgconfig" + +PATCHDIR="${WORKDIR}/${MY_P}" + +src_unpack() { + unpack ${A} + epatch "${FILESDIR}"/${PN}-1.2.3-fix-cert-validation.patch + #don't work + #epatch "${FILESDIR}"/${PN}-1.2.3-set-file-permissions.patch + use jack && cd ${PATCHDIR} + use jack && epatch "${FILESDIR}"/mumble-jack-support-r2.patch +} + +src_configure() { + local conf_add + + if has_version '<=sys-devel/gcc-4.2'; then + conf_add="${conf_add} no-pch" + else + use pch || conf_add="${conf_add} no-pch" + fi + + use alsa || conf_add="${conf_add} no-alsa" + use dbus || conf_add="${conf_add} no-dbus" + use debug && conf_add="${conf_add} symbols debug" || conf_add="${conf_add} release" + use g15 || conf_add="${conf_add} no-g15" + use oss || conf_add="${conf_add} no-oss" + use portaudio || conf_add="${conf_add} no-portaudio" + use pulseaudio || conf_add="${conf_add} no-pulseaudio" + use speech || conf_add="${conf_add} no-speechd" + use zeroconf || conf_add="${conf_add} no-bonjour" + + eqmake4 "${S}/main.pro" -recursive \ + CONFIG+="${conf_add} \ + bundled-celt \ + no-11x \ + no-bundled-speex \ + no-embed-qt-translations \ + no-server \ + no-update" \ + DEFINES+="PLUGIN_PATH=/usr/$(get_libdir)/mumble" \ + || die "eqmake4 failed." +} + +src_install() { + newdoc README.Linux README + dodoc CHANGES + + local dir + if use debug; then + dir=debug + else + dir=release + fi + + dobin "${dir}"/mumble + dobin scripts/mumble-overlay + + insinto /usr/share/services + doins scripts/mumble.protocol + + domenu scripts/mumble.desktop + + insinto /usr/share/icons/hicolor/scalable/apps + doins icons/mumble.svg + + doman man/mumble-overlay.1 + doman man/mumble.1 + + insopts -o root -g root -m 0755 + insinto "/usr/$(get_libdir)/mumble" + doins "${dir}"/libmumble.so.${PV} + dosym libmumble.so.${PV} /usr/$(get_libdir)/mumble/libmumble.so.1 + doins "${dir}"/libcelt0.so.0.{7,11}.0 + doins "${dir}"/plugins/lib*.so* +} + +pkg_postinst() { + echo + elog "Visit http://mumble.sourceforge.net/ for futher configuration instructions." + elog "Run mumble-overlay to start the OpenGL overlay (after starting mumble)." + echo +} |