libraries/libappindicator3: Added (Menu Library).

Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
This commit is contained in:
David Woodfall 2017-10-24 00:33:37 +01:00 committed by Willy Sudiarto Raharjo
parent 9e2a6d6306
commit 4d635ee499
13 changed files with 404 additions and 0 deletions

View File

@ -0,0 +1,3 @@
A library to allow applications to export a menu into the Unity Menu
bar. Based on KSNI it also works in KDE and will fallback to generic
Systray support if none of those are available.

View File

@ -0,0 +1,129 @@
#!/bin/sh
# Slackware build script for libappindicator
# Copyright 2017 David Woodfall <dave@dawoodfall.net>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=libappindicator3
SRCNAM=libappindicator
VERSION=${VERSION:-16.10}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
cd $SRCNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Force autogen.sh to use gtk3 or it errors out
patch -p1 --verbose < $CWD/patches/gtk3.patch
# The next 3 patches shamelessly pinched from Arch
patch -p1 --verbose < $CWD/patches/0001-Glib.Timeout-fix.patch
patch -p1 --verbose < $CWD/patches/0002-Fix-mono-nunit-pkgconfig-name.patch
patch -p1 --verbose < $CWD/patches/0003-Fix-Mono-assemblies-directory.patch
# This one is also from Arch(ish), but had to be recreated best it could
patch -p1 --verbose < $CWD/patches/improved-plasma-support.patch
# Patch pinched from Gentoo
patch -p1 --verbose < $CWD/patches/conditional-py-bindings.patch
# Removed a function which had no declaration
patch -p1 --verbose < $CWD/patches/badfunction.patch
# Having mono or gtk-sharp installed kills this build
patch -p1 --verbose < $CWD/patches/disable-mono.patch
# Don't use -Werror
sed -i -e 's/ -Werror//' src/Makefile.am
./autogen.sh
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS -std=c++11" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
--with-gtk=3 \
--disable-mono-test \
--disable-static \
--disable-gtk-doc-html \
--disable-tests \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux
make
make install DESTDIR=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
AUTHORS COPYING COPYING.LGPL.2.1 ChangeLog NEWS README \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View File

@ -0,0 +1,10 @@
PRGNAM="libappindicator3"
VERSION="16.10"
HOMEPAGE="https://launchpad.net/libappindicator"
DOWNLOAD="http://unrealize.co.uk/source/libappindicator-16.10.tar.gz"
MD5SUM="5dae1ab64184702cbe724cd8c3e48f8f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libindicator3 libdbusmenu"
MAINTAINER="David Woodfall"
EMAIL="dave@dawoodfall.net"

View File

@ -0,0 +1,24 @@
From f949448c898b2428e146d18e0821fa242a7099f6 Mon Sep 17 00:00:00 2001
From: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
Date: Tue, 7 Oct 2014 17:21:42 -0400
Subject: [PATCH 1/3] Glib.Timeout fix
---
example/simple-client-vala.vala | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/example/simple-client-vala.vala b/example/simple-client-vala.vala
index f8cd874..6d8d71b 100644
--- a/example/simple-client-vala.vala
+++ b/example/simple-client-vala.vala
@@ -20,6 +20,7 @@ You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+using GLib;
using Gtk;
using AppIndicator;
--
2.1.2

View File

@ -0,0 +1,25 @@
From 72de73f8d90fa54b884086dddf3b06a1d14b9e59 Mon Sep 17 00:00:00 2001
From: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
Date: Tue, 7 Oct 2014 17:22:16 -0400
Subject: [PATCH 2/3] Fix mono-nunit pkgconfig name
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index d131c9e..c8e480f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -160,7 +160,7 @@ AC_ARG_ENABLE([mono-test],
[enable_mono_test=auto])
if test x"$enable_mono_test" != x"no" ; then
- PKG_CHECK_MODULES(NUNIT, nunit >= 2.4.7,
+ PKG_CHECK_MODULES(NUNIT, mono-nunit >= 2.4.7,
[have_nunit=yes],
[PKG_CHECK_MODULES(MONO_NUNIT, mono-nunit,
[have_nunit=yes],
--
2.1.2

View File

@ -0,0 +1,39 @@
From c31b285b856fdf4a131baab5e0a2397a375ac24f Mon Sep 17 00:00:00 2001
From: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
Date: Tue, 7 Oct 2014 17:23:43 -0400
Subject: [PATCH 3/3] Fix Mono assemblies directory
---
bindings/mono/Makefile.am | 2 +-
bindings/mono/appindicator-sharp-0.1.pc.in | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/bindings/mono/Makefile.am b/bindings/mono/Makefile.am
index 6f8e8a9..e1bd6e5 100644
--- a/bindings/mono/Makefile.am
+++ b/bindings/mono/Makefile.am
@@ -31,7 +31,7 @@ TARGET = \
$(DLLPOLICY1) \
$(POLICY1).config
-assemblydir = $(libdir)/cli/appindicator-sharp-0.1
+assemblydir = $(libdir)/appindicator-sharp-0.1
assembly_DATA = $(TARGET)
CLEANFILES = \
diff --git a/bindings/mono/appindicator-sharp-0.1.pc.in b/bindings/mono/appindicator-sharp-0.1.pc.in
index f63c01e..ca09a6d 100644
--- a/bindings/mono/appindicator-sharp-0.1.pc.in
+++ b/bindings/mono/appindicator-sharp-0.1.pc.in
@@ -1,7 +1,7 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
-assemblies_dir=${prefix}/lib/cli/appindicator-sharp-0.1
+assemblies_dir=${prefix}/lib/appindicator-sharp-0.1
Name: appindicator-sharp
Description: application indicators for .NET
--
2.1.2

View File

@ -0,0 +1,12 @@
diff -Naur a/src/app-indicator.c b/src/app-indicator.c
--- a/src/app-indicator.c 2017-10-23 07:03:29.000000000 +0000
+++ b/src/app-indicator.c 2017-10-23 13:08:25.530191393 +0000
@@ -2577,7 +2577,7 @@
g_return_if_fail(priv->shorties != NULL);
- indicator_desktop_shortcuts_nick_exec_with_context(priv->shorties, nick, NULL);
+// indicator_desktop_shortcuts_nick_exec_with_context(priv->shorties, nick, NULL);
return;
}

View File

@ -0,0 +1,72 @@
--- a/bindings/Makefile.am 2015-07-10 10:04:18.091199191 +0200
+++ b/bindings/Makefile.am 2015-07-10 10:19:47.047974439 +0200
@@ -3,8 +3,10 @@
vala
else
SUBDIRS = \
- python \
vala
+if HAS_PYTHON
+SUBDIRS += python
+endif
endif
if HAS_MONO
--- a/configure.ac 2015-07-16 13:28:41.007502838 +0200
+++ b/configure.ac_new 2015-07-16 13:53:18.118602877 +0200
@@ -188,25 +188,37 @@
PYGTK_REQUIRED=2.14.0
PYGOBJECT_REQUIRED=0.22
-AM_PATH_PYTHON(2.3.5)
-AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
+AC_ARG_ENABLE([python],
+ AC_HELP_STRING([--enable-python], [Enable python for GTK2 build]),,
+ [enable_python=yes])
-PKG_CHECK_MODULES(APPINDICATOR_PYTHON,
+if test x"$with_gtk" = x"3" ; then
+ enable_python=no
+fi
+
+AM_CONDITIONAL(HAS_PYTHON, test x"${enable_python}" != x"no")
+
+if test x"$enable_python" != x"no" ; then
+ AM_PATH_PYTHON(2.3.5)
+ AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
+
+ PKG_CHECK_MODULES(APPINDICATOR_PYTHON,
[
pygtk-2.0 >= $PYGTK_REQUIRED
gtk+-2.0 >= $GTK_REQUIRED_VERSION
pygobject-2.0 >= $PYGOBJECT_REQUIRED
])
-AC_MSG_CHECKING(for pygtk defs)
-PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
-AC_SUBST(PYGTK_DEFSDIR)
-AC_MSG_RESULT($PYGTK_DEFSDIR)
-
-AC_MSG_CHECKING(for pygtk codegen)
-PYGTK_CODEGEN="$PYTHON `$PKG_CONFIG --variable=codegendir pygtk-2.0`/codegen.py"
-AC_SUBST(PYGTK_CODEGEN)
-AC_MSG_RESULT($PYGTK_CODEGEN)
+ AC_MSG_CHECKING(for pygtk defs)
+ PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
+ AC_SUBST(PYGTK_DEFSDIR)
+ AC_MSG_RESULT($PYGTK_DEFSDIR)
+
+ AC_MSG_CHECKING(for pygtk codegen)
+ PYGTK_CODEGEN="$PYTHON `$PKG_CONFIG --variable=codegendir pygtk-2.0`/codegen.py"
+ AC_SUBST(PYGTK_CODEGEN)
+ AC_MSG_RESULT($PYGTK_CODEGEN)
+fi
#########################
# Check if build tests
@@ -278,4 +290,5 @@
Tests: $enable_tests
Mono tests: $have_nunit
gcov: $use_gcov
+ Python: $enable_python
])

View File

@ -0,0 +1,21 @@
diff -Naur a/configure.ac b/configure.ac
--- a/configure.ac 2017-10-23 14:05:48.291548000 +0000
+++ b/configure.ac 2017-10-23 15:37:41.434800880 +0000
@@ -104,7 +104,7 @@
# Check for Mono support
###########################
-MONO_REQUIRED_VERSION=1.0
+MONO_REQUIRED_VERSION=9999
PKG_CHECK_MODULES(MONO_DEPENDENCY, mono >= $MONO_REQUIRED_VERSION, has_mono=true, has_mono=false)
AM_CONDITIONAL(HAS_MONO, [test "x$has_mono" = "xtrue"])
@@ -143,7 +143,7 @@
AC_SUBST(GENERATED_SOURCES)
GLIB_SHARP_REQ_VERSION=2.12.1
-GTK_SHARP_REQ_VERSION=2.12
+GTK_SHARP_REQ_VERSION=9999
PKG_CHECK_MODULES(GTK_SHARP, gtk-sharp-2.0 >= $GTK_SHARP_REQ_VERSION, has_gtksharp=true, has_gtksharp=false)
PKG_CHECK_MODULES(GAPI, gapi-2.0 >= $GLIB_SHARP_REQ_VERSION, has_gapi=true, has_gapi=false)

View File

@ -0,0 +1,9 @@
diff -Naur a/autogen.sh b/autogen.sh
--- a/autogen.sh 2017-10-23 08:03:29.000000000 +0100
+++ b/autogen.sh 2017-10-23 10:26:05.918283577 +0100
@@ -10,4 +10,4 @@
gtkdocize || exit 1
USE_GNOME2_MACROS=1 \
USE_COMMON_DOC_BUILD=yes \
-gnome-autogen.sh --enable-gtk-doc $@
+gnome-autogen.sh --enable-gtk-doc --with-gtk=3 $@

View File

@ -0,0 +1,27 @@
diff -Naur a/src/app-indicator.c b/src/app-indicator.c
--- a/src/app-indicator.c 2017-10-23 07:03:29.000000000 +0000
+++ b/src/app-indicator.c 2017-10-23 13:25:03.332259298 +0000
@@ -1178,7 +1178,8 @@
delta = ABS(delta);
g_signal_emit(app, signals[SCROLL_EVENT], 0, delta, direction);
- } else if (g_strcmp0(method, "SecondaryActivate") == 0 ||
+ } else if (g_strcmp0(method, "Activate") == 0 ||
+ g_strcmp0(method, "SecondaryActivate") == 0 ||
g_strcmp0(method, "XAyatanaSecondaryActivate") == 0) {
GtkWidget *menuitem = priv->sec_activate_target;
diff -Naur a/src/notification-item.xml b/src/notification-item.xml
--- a/src/notification-item.xml 2017-10-23 07:03:29.000000000 +0000
+++ b/src/notification-item.xml 2017-10-23 13:24:48.252258271 +0000
@@ -20,6 +20,10 @@
<property name="XAyatanaOrderingIndex" type="u" access="read" />
<!-- Methods -->
+ <method name="Activate">
+ <arg type="i" name="x" direction="in" />
+ <arg type="i" name="y" direction="in" />
+ </method>
<method name="Scroll">
<arg type="i" name="delta" direction="in" />
<arg type="s" name="orientation" direction="in" />

View File

@ -0,0 +1,14 @@
# http://bazaar.launchpad.net/~indicator-applet-developers/libappindicator/trunk.12.10/revision/244
=== modified file 'bindings/vala/appindicator-0.1-custom.vala'
--- a/bindings/vala/appindicator-0.1-custom.vala 2011-09-23 15:46:27 +0000
+++ b/bindings/vala/appindicator-0.1-custom.vala 2012-10-10 23:33:35 +0000
@@ -23,7 +23,7 @@
*/
namespace AppIndicator {
- [CCode (type_check_function = "IS_APP_INDICATOR")]
+ [CCode (type_check_function = "IS_APP_INDICATOR", type_id = "app_indicator_get_type ()")]
public class Indicator : GLib.Object {
}
}

View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
libappindicator3: libappindicator3 (Menu Library)
libappindicator3:
libappindicator3: A library to allow applications to export a menu into the Unity Menu
libappindicator3: bar. Based on KSNI it also works in KDE and will fallback to generic
libappindicator3: Systray support if none of those are available.
libappindicator3:
libappindicator3: https://launchpad.net/libappindicator
libappindicator3:
libappindicator3:
libappindicator3:
libappindicator3: