[libpeas] Remove support for seed-based Javascript plugins



commit 41331aa6c52dbc29af727a6d0db9a43fcdc03c57
Author: Garrett Regier <garrett regier riftio com>
Date:   Tue Oct 28 08:42:15 2014 -0700

    Remove support for seed-based Javascript plugins
    
    The seed bindings lack subclassing support and as such
    are holding back the capabilities that libpeas can depend
    on for certain features that plugins are expected to use.
    The bindings are also rather unmaintained these days.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=739306

 .gitignore                                         |    1 -
 README                                             |    8 +-
 configure.ac                                       |   41 --
 libpeas/peas-engine.c                              |    8 +-
 libpeas/peas-extension-base.c                      |    4 +-
 loaders/Makefile.am                                |    4 -
 loaders/seed/Makefile.am                           |   28 --
 loaders/seed/peas-extension-seed.c                 |  331 ----------------
 loaders/seed/peas-extension-seed.h                 |   61 ---
 loaders/seed/peas-plugin-loader-seed.c             |  401 --------------------
 loaders/seed/peas-plugin-loader-seed.h             |   56 ---
 peas-demo/peas-demo.c                              |    1 -
 peas-demo/plugins/Makefile.am                      |    4 -
 peas-demo/plugins/seedhello/Makefile.am            |    7 -
 peas-demo/plugins/seedhello/seedhello.js           |   57 ---
 peas-demo/plugins/seedhello/seedhello.plugin       |    8 -
 po/POTFILES.skip                                   |    2 -
 tests/libpeas/Makefile.am                          |    6 -
 tests/libpeas/extension-seed.c                     |   56 ---
 tests/libpeas/plugins/Makefile.am                  |    5 -
 .../plugins/extension-seed-nonexistent.plugin      |    8 -
 tests/libpeas/plugins/extension-seed/Makefile.am   |    8 -
 .../extension-seed/extension-seed.gschema.xml      |    9 -
 .../plugins/extension-seed/extension-seed.js       |   45 ---
 .../plugins/extension-seed/extension-seed.plugin   |    8 -
 tests/libpeas/testing/testing-extension.c          |    3 +-
 26 files changed, 11 insertions(+), 1159 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 18de401..070467b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -80,7 +80,6 @@ Makefile.in
 /tests/libpeas/extension-c
 /tests/libpeas/extension-python
 /tests/libpeas/extension-python3
-/tests/libpeas/extension-seed
 /tests/libpeas/extension-set
 /tests/libpeas/plugin-info
 /tests/libpeas/plugins/extension-python/extension-python.gschema.xml
diff --git a/README b/README
index 1219134..c7f92cc 100644
--- a/README
+++ b/README
@@ -20,11 +20,11 @@ GInterfaces the plugin writer will be able to implement as his plugin requires.
 On-demand programming language support
 --------------------------------------
 
-libpeas comes with a set of supported languages (currently, C, Python and
-Javascript). Those languages are supported through “loaders” which are loaded
+libpeas comes with a set of supported languages (currently, C, Python 2 and
+Python 3). Those languages are supported through “loaders” which are loaded
 on demand. What it means is that you only pay for what you use: if you have no
 Python plugin, the Python interpreter won't be loaded in memory. Of course, the
-same goes for the C and for the Seed/JS loader.
+same goes for the C loader.
 
 Damn simple to use (or at least we try hard)
 --------------------------------------------
@@ -82,7 +82,7 @@ Sample code
 -----------
 
 The libpeas package contains a sample application called peas-demo, and sample
-plugins written in C, Python and Javascript.
+plugins written in C and Python.
 
 The global idea is this one: you create a new PeasEngine instance and give it
 the information needed for it to find your plugins. Then you load some plugins
diff --git a/configure.ac b/configure.ac
index 0e06a39..23b17d1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -231,43 +231,6 @@ fi
 AM_CONDITIONAL([ENABLE_GLADE_CATALOG],[test "x$found_glade_catalog" = "xyes"])
 
 dnl ================================================================
-dnl Seed Javascript Engine
-dnl ================================================================
-
-SEED_REQUIRED=2.91.91
-
-AC_ARG_ENABLE(seed,
-             AS_HELP_STRING([--enable-seed],[Enable Seed support]),
-             [enable_seed=$enableval],
-             [enable_seed=auto])
-
-AC_MSG_CHECKING([for Seed JS availability.])
-
-if test "x$enable_seed" = "xno"; then
-       found_seed="no (disabled, use --enable-seed to enable)"
-else
-       PKG_CHECK_EXISTS([seed >= $SEED_REQUIRED],
-                        [found_seed=yes],
-                        [found_seed=no])
-fi
-
-if test "$enable_seed" = "yes" -a "$found_seed" = "no"; then
-       AC_MSG_ERROR([You need to have seed >= $SEED_REQUIRED installed to build libpeas])
-fi
-AC_MSG_RESULT([$found_seed])
-
-if test "$found_seed" = "yes"; then
-       SEED_CFLAGS=`$PKG_CONFIG --cflags seed`
-       SEED_LIBS=`$PKG_CONFIG --libs seed`
-       AC_SUBST(SEED_CFLAGS)
-       AC_SUBST(SEED_LIBS)
-
-       AC_DEFINE(ENABLE_SEED,1,[Define to compile with Seed support])
-fi
-
-AM_CONDITIONAL([ENABLE_SEED],[test "x$found_seed" = "xyes"])
-
-dnl ================================================================
 dnl Python
 dnl ================================================================
 
@@ -440,7 +403,6 @@ libpeas-gtk/Makefile
 loaders/Makefile
 loaders/python/Makefile
 loaders/python3/Makefile
-loaders/seed/Makefile
 data/Makefile
 data/glade/Makefile
 data/icons/Makefile
@@ -451,14 +413,12 @@ peas-demo/plugins/Makefile
 peas-demo/plugins/helloworld/Makefile
 peas-demo/plugins/pythonhello/Makefile
 peas-demo/plugins/secondtime/Makefile
-peas-demo/plugins/seedhello/Makefile
 po/Makefile.in
 tests/Makefile
 tests/libpeas/Makefile
 tests/libpeas/plugins/Makefile
 tests/libpeas/plugins/extension-c/Makefile
 tests/libpeas/plugins/extension-python/Makefile
-tests/libpeas/plugins/extension-seed/Makefile
 tests/libpeas/introspection/Makefile
 tests/libpeas/testing/Makefile
 tests/libpeas-gtk/Makefile
@@ -493,5 +453,4 @@ Languages support:
 
         Python 2 support              : ${found_python2}
         Python 3 support              : ${found_python3}
-        Seed Javascript support       : ${found_seed}
 "
diff --git a/libpeas/peas-engine.c b/libpeas/peas-engine.c
index 0a0be7b..dd07722 100644
--- a/libpeas/peas-engine.c
+++ b/libpeas/peas-engine.c
@@ -717,7 +717,7 @@ get_plugin_loader (PeasEngine     *engine,
  *
  * Enable a loader, enables a loader for plugins.
  * The C plugin loader is always enabled. The other plugin
- * loaders are: python, python3 and seed.
+ * loaders are: python and python3.
  *
  * For instance, the following code will enable python plugins
  * to be loaded:
@@ -725,8 +725,8 @@ get_plugin_loader (PeasEngine     *engine,
  * peas_engine_enable_loader (engine, "python");
  * ]|
  *
- * Due to the use of toggle references in the python, python3 and
- * seed bindings only one of them should be enabled. Otherwise vast
+ * Due to the use of toggle references in the python and python3
+ * bindings only one of them should be enabled. Otherwise vast
  * memory leaks are to be expected and as such it is an error to
  * enable more than one of them.
  *
@@ -746,7 +746,7 @@ peas_engine_enable_loader (PeasEngine  *engine,
   /* The demo and some tests need to load multiple loaders */
   if (g_getenv ("PEAS_ALLOW_ALL_LOADERS") == NULL)
     {
-      static const gchar *plugin_loader_ids[] = {"python", "python3", "seed"};
+      static const gchar *plugin_loader_ids[] = {"python", "python3"};
       gint i;
 
       for (i = 0; i < G_N_ELEMENTS (plugin_loader_ids); ++i)
diff --git a/libpeas/peas-extension-base.c b/libpeas/peas-extension-base.c
index 27a61f9..3434fba 100644
--- a/libpeas/peas-extension-base.c
+++ b/libpeas/peas-extension-base.c
@@ -37,8 +37,8 @@
  * access the related #PeasPluginInfo, and especially the location where all
  * the data of your plugin lives.
  *
- * Non-C extensions will usually not inherit from this class: Python and
- * Seed plugins automatically get a "plugin_info" attribute that serves
+ * Non-C extensions will usually not inherit from this class: Python
+ * plugins automatically get a "plugin_info" attribute that serves
  * the same purpose.
  **/
 
diff --git a/loaders/Makefile.am b/loaders/Makefile.am
index dc9cb45..5868750 100644
--- a/loaders/Makefile.am
+++ b/loaders/Makefile.am
@@ -8,10 +8,6 @@ if ENABLE_PYTHON3
 SUBDIRS += python3
 endif
 
-if ENABLE_SEED
-SUBDIRS += seed
-endif
-
 gcov:
        @for dir in $(SUBDIRS); do \
           (cd $$dir && $(MAKE) $(AM_MAKEFLAGS) $(@)); \
diff --git a/peas-demo/peas-demo.c b/peas-demo/peas-demo.c
index 94332d2..b1154f7 100644
--- a/peas-demo/peas-demo.c
+++ b/peas-demo/peas-demo.c
@@ -129,7 +129,6 @@ main (int    argc,
   /* We don't care about leaking memory */
   g_setenv ("PEAS_ALLOW_ALL_LOADERS", "1", TRUE);
   peas_engine_enable_loader (engine, "python3");
-  peas_engine_enable_loader (engine, "seed");
 
   if (run_from_build_dir)
     peas_engine_add_search_path (engine, PEAS_BUILDDIR "/peas-demo/plugins", NULL);
diff --git a/peas-demo/plugins/Makefile.am b/peas-demo/plugins/Makefile.am
index 5aa1cf4..273b32b 100644
--- a/peas-demo/plugins/Makefile.am
+++ b/peas-demo/plugins/Makefile.am
@@ -3,7 +3,3 @@ SUBDIRS = helloworld secondtime
 if ENABLE_PYTHON3
 SUBDIRS += pythonhello
 endif
-
-if ENABLE_SEED
-SUBDIRS += seedhello
-endif
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index 129e87a..0f7ba42 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -1,4 +1,2 @@
 # List of source files to skip.
 # Please keep this file sorted alphabetically.
-tests/libpeas/extension-python.c
-tests/libpeas/extension-seed.c
diff --git a/tests/libpeas/Makefile.am b/tests/libpeas/Makefile.am
index a2b6f49..0015ff0 100644
--- a/tests/libpeas/Makefile.am
+++ b/tests/libpeas/Makefile.am
@@ -38,9 +38,3 @@ extension_python3_SOURCES  = extension-py.c
 extension_python3_CFLAGS   = $(PYGOBJECT_CFLAGS) $(PYTHON3_CFLAGS)
 extension_python3_LDADD    = $(LDADD) $(PYGOBJECT_LIBS) $(PYTHON3_LIBS)
 endif
-
-if ENABLE_SEED
-TEST_PROGS             += extension-seed
-extension_seed_CFLAGS   = $(SEED_CFLAGS)
-extension_seed_LDADD    = $(LDADD) $(SEED_LIBS)
-endif
diff --git a/tests/libpeas/plugins/Makefile.am b/tests/libpeas/plugins/Makefile.am
index 396a18a..5e5b685 100644
--- a/tests/libpeas/plugins/Makefile.am
+++ b/tests/libpeas/plugins/Makefile.am
@@ -10,16 +10,11 @@ SUBDIRS += extension-python
 endif
 endif
 
-if ENABLE_SEED
-SUBDIRS += extension-seed
-endif
-
 noinst_PLUGIN = \
        disabled-loader.plugin                  \
        extension-c-nonexistent.plugin          \
        extension-python-nonexistent.plugin     \
        extension-python3-nonexistent.plugin    \
-       extension-seed-nonexistent.plugin       \
        info-missing-module.plugin              \
        info-missing-name.plugin                \
        invalid.plugin                          \
diff --git a/tests/libpeas/testing/testing-extension.c b/tests/libpeas/testing/testing-extension.c
index d434aaf..4a0bd72 100644
--- a/tests/libpeas/testing/testing-extension.c
+++ b/tests/libpeas/testing/testing-extension.c
@@ -173,8 +173,7 @@ test_extension_create_invalid (PeasEngine     *engine,
   /* This cannot be tested in PyGI and Seed's log handler messes this up */
   if (g_strcmp0 (extension_plugin, "extension-c") != 0 &&
       g_strcmp0 (extension_plugin, "extension-python") != 0 &&
-      g_strcmp0 (extension_plugin, "extension-python3") != 0 &&
-      g_strcmp0 (extension_plugin, "extension-seed") != 0)
+      g_strcmp0 (extension_plugin, "extension-python3") != 0)
     {
       testing_util_push_log_hook ("*cannot add *IntrospectionHasMissingPrerequisite* "
                                   "which does not conform to *IntrospectionCallable*");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]