app-emulation/spice-vdagent: Fix underlinking with GCC 5
authorDavid Seifert <soap@gentoo.org>
Sun, 11 Dec 2016 23:09:17 +0000 (00:09 +0100)
committerDavid Seifert <soap@gentoo.org>
Sun, 11 Dec 2016 23:20:20 +0000 (00:20 +0100)
Gentoo-bug: 585994
* EAPI=6
* Patch by Pat Erley

Package-Manager: portage-2.3.3

app-emulation/spice-vdagent/files/spice-vdagent-0.17.0-add-missing-stub-function.patch [new file with mode: 0644]
app-emulation/spice-vdagent/metadata.xml
app-emulation/spice-vdagent/spice-vdagent-0.17.0.ebuild

diff --git a/app-emulation/spice-vdagent/files/spice-vdagent-0.17.0-add-missing-stub-function.patch b/app-emulation/spice-vdagent/files/spice-vdagent-0.17.0-add-missing-stub-function.patch
new file mode 100644 (file)
index 0000000..1d68ed5
--- /dev/null
@@ -0,0 +1,18 @@
+Add missing stub function to prevent underlinking error.
+Patch provided by Pat Erley
+See also: https://bugs.gentoo.org/show_bug.cgi?id=585994
+
+--- a/src/dummy-session-info.c
++++ b/src/dummy-session-info.c
+@@ -50,6 +50,11 @@
+     return FALSE;
+ }
++gboolean session_info_session_is_locked(struct session_info *ck)
++{
++    return FALSE;
++}
++
+ gboolean session_info_is_user(struct session_info *si)
+ {
+     return TRUE;
index 3ba36c8dab6b5b50d4ed814d31d1769d8d0cae6d..50477de61e16f33ea280fd95e685c99f7ab4b886 100644 (file)
@@ -10,8 +10,6 @@
                <name>Gentoo Virtualization Project</name>
        </maintainer>
        <use>
-               <flag name="consolekit">Use <pkg>sys-auth/consolekit</pkg> to determine the
-                       master vdagentd in case of multiple running vdagentds (highly
-                       recommended)</flag>
+               <flag name="consolekit">Use <pkg>sys-auth/consolekit</pkg> to determine the master vdagentd in case of multiple running vdagentds (highly recommended)</flag>
        </use>
 </pkgmetadata>
index 07947b050843f57ac972f8eb53879baa5403255f..176f634302f69dd25b7da1d82b130ae27a31c65a 100644 (file)
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 
 inherit linux-info
 
@@ -15,17 +15,18 @@ SLOT="0"
 KEYWORDS="~amd64 ~x86"
 IUSE="+consolekit selinux systemd"
 
-CDEPEND="media-libs/alsa-lib
+CDEPEND="
+       >=app-emulation/spice-protocol-0.12.8
+       media-libs/alsa-lib
+       >=x11-libs/libpciaccess-0.10
        x11-libs/libXfixes
        x11-libs/libXrandr
        x11-libs/libX11
        x11-libs/libXinerama
-       >=x11-libs/libpciaccess-0.10
-       >=app-emulation/spice-protocol-0.12.8
        consolekit? ( sys-auth/consolekit sys-apps/dbus )
        systemd? ( sys-apps/systemd )"
-DEPEND="virtual/pkgconfig
-       ${CDEPEND}"
+DEPEND="${CDEPEND}
+       virtual/pkgconfig"
 RDEPEND="${CDEPEND}
        selinux? ( sec-policy/selinux-vdagent )"
 
@@ -33,21 +34,28 @@ CONFIG_CHECK="~INPUT_UINPUT ~VIRTIO_CONSOLE"
 ERROR_INPUT_UINPUT="User level input support is required"
 ERROR_VIRTIO_CONSOLE="VirtIO console/serial device support is required"
 
-src_configure() {
-       local opt="--with-session-info=none --with-init-script=systemd"
+PATCHES=( "${FILESDIR}"/${PN}-0.17.0-add-missing-stub-function.patch )
 
-       use systemd && opt+=" --with-session-info=systemd"
-       use consolekit && opt+=" --with-session-info=console-kit"
+src_configure() {
+       local opt=()
+       if use consolekit; then
+               opt+=( --with-session-info=console-kit )
+       elif use systemd; then
+               opt+=( --with-session-info=systemd )
+       else
+               opt+=( --with-session-info=none )
+       fi
 
        econf \
-               --localstatedir=/var \
-               ${opt}
+               --with-init-script=systemd \
+               --localstatedir="${EPREFIX}"/var \
+               "${opt[@]}"
 }
 
 src_install() {
        default
 
-       rm -rf "${D}"/etc/{rc,tmpfiles}.d
+       rm -rf "${ED%/}"/etc/{rc,tmpfiles}.d || die
 
        keepdir /var/log/spice-vdagentd