summaryrefslogtreecommitdiff
path: root/recipes-support/florence
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-support/florence')
-rw-r--r--recipes-support/florence/florence3/0001-make-sound-a-configure-option.patch156
-rw-r--r--recipes-support/florence/florence3_0.6.3.bb27
-rw-r--r--recipes-support/florence/florence3_0.6.3.bbappend3
3 files changed, 186 insertions, 0 deletions
diff --git a/recipes-support/florence/florence3/0001-make-sound-a-configure-option.patch b/recipes-support/florence/florence3/0001-make-sound-a-configure-option.patch
new file mode 100644
index 0000000..f2c0164
--- /dev/null
+++ b/recipes-support/florence/florence3/0001-make-sound-a-configure-option.patch
@@ -0,0 +1,156 @@
+From 3a252ca6f0a5afb04f3874267bfc0a569446bca8 Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Thu, 23 Jun 2016 20:12:25 +0200
+Subject: [PATCH] make sound a configure option
+
+add a --without-sound switch which builds without soundeffect and
+drops the dependency on gstreamer
+
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ configure.ac | 9 ++++++++-
+ src/Makefile.am | 5 +++--
+ src/main.c | 4 ++++
+ src/style.c | 15 ++++++++++++++-
+ 4 files changed, 29 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 971f3df..b12244a 100755
+--- a/configure.ac
++++ b/configure.ac
+@@ -12,6 +12,8 @@ AC_ARG_WITH([xtst], AS_HELP_STRING([--without-xtst], [Build without Xtst extensi
+ AM_CONDITIONAL([WITH_XTST], [test "x$with_xtst" != "xno"])
+ AC_ARG_WITH([xrecord], AS_HELP_STRING([--without-xrecord], [Build without XRecord extension (requires the Xtst extension) (default: enabled)]))
+ AM_CONDITIONAL([WITH_XRECORD], [test "x$with_xrecord" != "xno" -a "x$with_xtst" != "xno"])
++AC_ARG_WITH([sound], AS_HELP_STRING([--without-sound], [Build without sound extension (default: enabled)]))
++AM_CONDITIONAL([WITH_SOUND], [test "x$with_sound" != "xno"])
+ AC_ARG_WITH([at-spi], AS_HELP_STRING([--without-at-spi], [Build without at-spi(default: enabled)]))
+ AM_CONDITIONAL([WITH_AT_SPI], [test "x$with_at_spi" != "xno"])
+ AC_ARG_WITH([panelapplet], AS_HELP_STRING([--without-panelapplet], [Build without libpanelapplet(default: enabled)]))
+@@ -61,7 +63,7 @@ if test "x$with_docs" != "xno"; then
+ fi
+
+ # Checks for libraries.
+-DEP_MODULES="xext gmodule-2.0 cairo librsvg-2.0 libxml-2.0 gstreamer-1.0"
++DEP_MODULES="xext gmodule-2.0 cairo librsvg-2.0 libxml-2.0"
+ PKG_CHECK_MODULES(DEPS, $DEP_MODULES)
+
+ PKG_CHECK_MODULES([GTK3], [gtk+-3.0], AC_DEFINE([ENABLE_GTK3], [], [GTK3 enabled.]),
+@@ -86,6 +88,9 @@ if test "x$with_xtst" != "xno"; then
+ AC_DEFINE(ENABLE_XRECORD, ["xrecord"], [xrecord extension is enabled])
+ fi
+ fi
++if test "x$with_sound" != "xno"; then
++ PKG_CHECK_MODULES([SOUND], gstreamer-1.0, AC_DEFINE([ENABLE_SOUND], [], [Sound enabled.]), AC_MSG_ERROR(Could not configure gstreamer 1.0. Please either install gstreamer 1.0 or disable sound: --without-sound configure option))
++fi
+ if test "x$with_at_spi" != "xno"; then
+ PKG_CHECK_MODULES([AT_SPI2], [atspi-2], AC_DEFINE([ENABLE_AT_SPI2], [], [dbus at-spi enabled.]),
+ AC_MSG_ERROR(Could not configure at-spi. Please either install at-spi or disable it: --without-at-spi configure option))
+@@ -103,6 +108,8 @@ AC_SUBST(LIBNOTIFY_CFLAGS)
+ AC_SUBST(LIBNOTIFY_LIBS)
+ AC_SUBST(XTST_CFLAGS)
+ AC_SUBST(XTST_LIBS)
++AC_SUBST(SOUND_CFLAGS)
++AC_SUBST(SOUND_LIBS)
+ AC_SUBST(AT_SPI2_CFLAGS)
+ AC_SUBST(AT_SPI2_LIBS)
+ AC_SUBST(LIBGNOME_CFLAGS)
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 9d38512..9d5a417 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -14,9 +14,10 @@ endif
+ florence_CPPFLAGS = -I$(top_srcdir) -DICONDIR="\"$(ICONDIR)\""\
+ -DFLORENCELOCALEDIR=\""$(florencelocaledir)"\"\
+ -DDATADIR="\"$(datadir)/florence\"" $(DEPS_CFLAGS) $(GTK3_CFLAGS)\
+- $(LIBGNOME_CFLAGS) $(LIBNOTIFY_CFLAGS) $(XTST_CFLAGS) $(AT_SPI2_CFLAGS) $(INCLUDES)
++ $(LIBGNOME_CFLAGS) $(LIBNOTIFY_CFLAGS) $(XTST_CFLAGS) $(SOUND_CFLAGS)\
++ $(AT_SPI2_CFLAGS) $(INCLUDES)
+ florence_LDADD = $(DEPS_LIBS) $(LIBM) $(X11_LIBS) $(LIBGNOME_LIBS) $(LIBNOTIFY_LIBS)\
+- $(XTST_LIBS) $(AT_SPI2_LIBS) $(GTK3_LIBS) -lflorence-1.0
++ $(XTST_LIBS) $(SOUND_LIBS) $(AT_SPI2_LIBS) $(GTK3_LIBS) -lflorence-1.0
+
+ libflorence_1_0_la_SOURCES = lib/florence.c
+ library_includedir=$(includedir)/florence-1.0
+diff --git a/src/main.c b/src/main.c
+index c5def08..8fe5514 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -23,7 +23,9 @@
+ #include <sys/types.h>
+ #include <getopt.h>
+ #include <gtk/gtk.h>
++#ifdef ENABLE_SOUND
+ #include <gst/gst.h>
++#endif
+ #include "system.h"
+ #include "trace.h"
+ #include "settings.h"
+@@ -128,7 +130,9 @@ int main (int argc, char **argv)
+ close(pipefd[0]);
+ gtk_init(&argc, &argv);
+ settings_init(FALSE, config_file);
++#ifdef ENABLE_SOUND
+ gst_init(&argc, &argv);
++#endif
+
+ if (signal(SIGINT, sig_handler)==SIG_ERR)
+ flo_error(_("Failed to register SIGINT signal handler."));
+diff --git a/src/style.c b/src/style.c
+index e7f58c5..673d348 100644
+--- a/src/style.c
++++ b/src/style.c
+@@ -26,8 +26,10 @@
+ #include <libxml/parser.h>
+ #include <libxml/tree.h>
+ #include <libxml/xmlsave.h>
+-#include <gst/gst.h>
+ #include "system.h"
++#ifdef ENABLE_SOUND
++#include <gst/gst.h>
++#endif
+ #include "trace.h"
+ #include "key.h"
+ #include "style.h"
+@@ -546,6 +548,7 @@ GdkPixbuf *style_pixbuf_draw(struct style *style)
+ }
+
+ /* Liberate the pipeline */
++#ifdef ENABLE_SOUND
+ void style_sound_pipeline_free(GstElement *pipeline)
+ {
+ START_FUNC
+@@ -660,6 +663,14 @@ void style_sound_play(struct style *style, const gchar *match, enum style_sound_
+ }
+ END_FUNC
+ }
++#else
++void style_sound_free(gpointer data, gpointer userdata)
++{
++}
++void style_sound_play(struct style *style, const gchar *match, enum style_sound_type type)
++{
++}
++#endif
+
+ /* create a new style from the layout file */
+ struct style *style_new(gchar *base_uri)
+@@ -696,6 +707,7 @@ struct style *style_new(gchar *base_uri)
+ }
+ }
+
++#ifdef ENABLE_SOUND
+ layoutreader_reset(layout);
+ layoutreader_element_open(layout, "style");
+ if (layoutreader_element_open(layout, "sounds")) {
+@@ -704,6 +716,7 @@ struct style *style_new(gchar *base_uri)
+ layoutreader_sound_free(sound);
+ }
+ }
++#endif
+
+ layoutreader_free(layout);
+ if (!base_uri) g_free(uri);
+--
+2.6.6
+
diff --git a/recipes-support/florence/florence3_0.6.3.bb b/recipes-support/florence/florence3_0.6.3.bb
new file mode 100644
index 0000000..1225ae5
--- /dev/null
+++ b/recipes-support/florence/florence3_0.6.3.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Florence is a virtual keyboard (also called on-screen-keyboard), which allows the user to input text through a touchscreen."
+HOMEPAGE = "http://florence.sourceforge.net/english.html"
+
+#NOTICE: If florence can't find its gconf settings, you need to start florence with --config for one time and save the configuration once.
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+PR = "r1"
+
+DEPENDS = "gtk+3 libxml2 libglade librsvg libxtst gconf cairo intltool-native gnome-doc-utils libnotify gstreamer1.0"
+
+PROVIDES += "florence"
+
+RPROVIDES_${PN} += "florence"
+RREPLACES_${PN} += "florence"
+RCONFLICTS_${PN} += "florence"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/florence/florence/${PV}/florence-${PV}.tar.bz2"
+SRC_URI[md5sum] = "8775051d7352f75dec5a86dc9964e8e0"
+SRC_URI[sha256sum] = "422992fd07d285be73cce721a203e22cee21320d69b0fda1579ce62944c5091e"
+S = "${WORKDIR}/florence-${PV}"
+inherit gettext autotools gconf pkgconfig gsettings
+
+FILES_${PN} += "${datadir}/florence"
+
+EXTRA_OECONF = "--disable-scrollkeeper --without-docs --without-at-spi --without-panelapplet --without-xrecord --without-sound"
diff --git a/recipes-support/florence/florence3_0.6.3.bbappend b/recipes-support/florence/florence3_0.6.3.bbappend
new file mode 100644
index 0000000..4e79209
--- /dev/null
+++ b/recipes-support/florence/florence3_0.6.3.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/florence3:"
+SRC_URI += "file://0001-make-sound-a-configure-option.patch"
+EXTRA_OECONF += " --without-sound"