Import ethos 0.2.0, a plugin framework library:

The core ethos library, libethos-1.0, only links against libgobject so
that it is safe to use in GUI-less applications.  The GTK+ library,
libethos-ui-1.0, provides widgets that can be embedded within your
application to manage plugins during run-time.

Add a pair of header files upstream forgot to put in distfile.
This commit is contained in:
landry 2009-10-11 11:31:13 +00:00
parent 17a14b17fe
commit 16f08f316a
8 changed files with 272 additions and 0 deletions

45
devel/ethos/Makefile Normal file
View File

@ -0,0 +1,45 @@
# $OpenBSD: Makefile,v 1.1.1.1 2009/10/11 11:31:13 landry Exp $
COMMENT = plugin framework library
VERSION = 0.2.0
DISTNAME = ethos-${VERSION}
SHARED_LIBS= cloader 0.0 \
pythonloader 0.0 \
ethos-1.0 0.0 \
ethos-ui-1.0 0.0
CATEGORIES = devel
HOMEPAGE = http://git.dronelabs.com/ethos/about/
MASTER_SITES = http://ftp.dronelabs.com/sources/ethos/0.2/
# LGPLv2.1
PERMIT_PACKAGE_CDROM = Yes
PERMIT_PACKAGE_FTP = Yes
PERMIT_DISTFILES_CDROM =Yes
PERMIT_DISTFILES_FTP = Yes
CONFIGURE_STYLE = gnu
CONFIGURE_ARGS = --disable-glibtest
USE_LIBTOOL = Yes
USE_GMAKE = Yes
MODULES = lang/python \
devel/gettext
LIB_DEPENDS = ${MODPY_LIB_DEPENDS} \
gtk-x11-2.0,gdk-x11-2.0,gdk_pixbuf-2.0::x11/gtk+2
WANTLIB += X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes
WANTLIB += Xi Xinerama Xrandr Xrender atk-1.0 cairo expat fontconfig
WANTLIB += freetype gio-2.0 glib-2.0 glitz gmodule-2.0 gobject-2.0
WANTLIB += m pango-1.0 pangocairo-1.0 pangoft2-1.0
WANTLIB += pcre pixman-1 png pthread-stubs xcb z
post-extract:
cp files/ethos-c-plugin-loader.h ${WRKSRC}/plugin-loaders/c/
cp files/ethos-python-plugin-loader.h ${WRKSRC}/plugin-loaders/python/
.include <bsd.port.mk>

5
devel/ethos/distinfo Normal file
View File

@ -0,0 +1,5 @@
MD5 (ethos-0.2.0.tar.gz) = CmsDDTuYB5APr+3h2x04Ng==
RMD160 (ethos-0.2.0.tar.gz) = aMVIFyxKcJvuqex2OK5UMTFhgFY=
SHA1 (ethos-0.2.0.tar.gz) = NUDxqTVziO906sS3FOCxuZtzV8c=
SHA256 (ethos-0.2.0.tar.gz) = oHrWk9KERqxmF7liSCvFzVeEs4E2ppBZ+L1Q7oe7J6w=
SIZE (ethos-0.2.0.tar.gz) = 473143

View File

@ -0,0 +1,57 @@
/* ethos-c-plugin-loader.h
*
* Copyright (C) 2009 Christian Hergert <chris@dronelabs.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
* 02110-1301 USA
*/
#ifndef __ETHOS_C_PLUGIN_LOADER_H__
#define __ETHOS_C_PLUGIN_LOADER_H__
#include <glib-object.h>
G_BEGIN_DECLS
#define ETHOS_TYPE_C_PLUGIN_LOADER (ethos_c_plugin_loader_get_type ())
#define ETHOS_C_PLUGIN_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ETHOS_TYPE_C_PLUGIN_LOADER, EthosCPluginLoader))
#define ETHOS_C_PLUGIN_LOADER_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ETHOS_TYPE_C_PLUGIN_LOADER, EthosCPluginLoader const))
#define ETHOS_C_PLUGIN_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ETHOS_TYPE_C_PLUGIN_LOADER, EthosCPluginLoaderClass))
#define ETHOS_IS_C_PLUGIN_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ETHOS_TYPE_C_PLUGIN_LOADER))
#define ETHOS_IS_C_PLUGIN_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ETHOS_TYPE_C_PLUGIN_LOADER))
#define ETHOS_C_PLUGIN_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ETHOS_TYPE_C_PLUGIN_LOADER, EthosCPluginLoaderClass))
typedef struct _EthosCPluginLoader EthosCPluginLoader;
typedef struct _EthosCPluginLoaderClass EthosCPluginLoaderClass;
typedef struct _EthosCPluginLoaderPrivate EthosCPluginLoaderPrivate;
struct _EthosCPluginLoader
{
GObject parent;
EthosCPluginLoaderPrivate *priv;
};
struct _EthosCPluginLoaderClass
{
GObjectClass parent_class;
};
GType ethos_c_plugin_loader_get_type (void) G_GNUC_CONST;
EthosPluginLoader* ethos_c_plugin_loader_new (void);
G_END_DECLS
#endif /* __ETHOS_C_PLUGIN_LOADER_H__ */

View File

@ -0,0 +1,57 @@
/* ethos-python-plugin-loader.h
*
* Copyright (C) 2009 Christian Hergert <chris@dronelabs.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
* 02110-1301 USA
*/
#ifndef __ETHOS_PYTHON_PLUGIN_LOADER_H__
#define __ETHOS_PYTHON_PLUGIN_LOADER_H__
#include <glib-object.h>
G_BEGIN_DECLS
#define ETHOS_TYPE_PYTHON_PLUGIN_LOADER (ethos_python_plugin_loader_get_type ())
#define ETHOS_PYTHON_PLUGIN_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ETHOS_TYPE_PYTHON_PLUGIN_LOADER, EthosPythonPluginLoader))
#define ETHOS_PYTHON_PLUGIN_LOADER_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ETHOS_TYPE_PYTHON_PLUGIN_LOADER, EthosPythonPluginLoader const))
#define ETHOS_PYTHON_PLUGIN_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ETHOS_TYPE_PYTHON_PLUGIN_LOADER, EthosPythonPluginLoaderClass))
#define ETHOS_IS_PYTHON_PLUGIN_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ETHOS_TYPE_PYTHON_PLUGIN_LOADER))
#define ETHOS_IS_PYTHON_PLUGIN_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ETHOS_TYPE_PYTHON_PLUGIN_LOADER))
#define ETHOS_PYTHON_PLUGIN_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ETHOS_TYPE_PYTHON_PLUGIN_LOADER, EthosPythonPluginLoaderClass))
typedef struct _EthosPythonPluginLoader EthosPythonPluginLoader;
typedef struct _EthosPythonPluginLoaderClass EthosPythonPluginLoaderClass;
typedef struct _EthosPythonPluginLoaderPrivate EthosPythonPluginLoaderPrivate;
struct _EthosPythonPluginLoader
{
GObject parent;
EthosPythonPluginLoaderPrivate *priv;
};
struct _EthosPythonPluginLoaderClass
{
GObjectClass parent_class;
};
GType ethos_python_plugin_loader_get_type (void) G_GNUC_CONST;
EthosPluginLoader* ethos_python_plugin_loader_new (void);
G_END_DECLS
#endif /* __ETHOS_PYTHON_PLUGIN_LOADER_H__ */

View File

@ -0,0 +1,20 @@
$OpenBSD: patch-configure,v 1.1.1.1 2009/10/11 11:31:13 landry Exp $
--- configure.orig Sun Oct 11 11:38:49 2009
+++ configure Sun Oct 11 11:39:09 2009
@@ -13974,7 +13974,7 @@ fi
-ac_config_files="$ac_config_files build/autotools/shave-libtool build/autotools/shave Makefile ethos/Makefile ethos/ethos-version.h plugin-loaders/Makefile plugin-loaders/c/Makefile plugin-loaders/python/Makefile plugin-loaders/js/Makefile plugin-loaders/mono/Makefile bindings/Makefile bindings/vala/Makefile bindings/python/Makefile bindings/mono/Makefile examples/Makefile examples/simple-ui/Makefile examples/vala/Makefile tests/Makefile tests/c-plugins/Makefile tests/manager-dep/Makefile data/Makefile data/pixmaps/Makefile doc/Makefile doc/reference/Makefile doc/reference/version.xml ethos.pc ethos-ui.pc"
+ac_config_files="$ac_config_files build/autotools/shave-libtool build/autotools/shave Makefile ethos/Makefile ethos/ethos-version.h plugin-loaders/Makefile plugin-loaders/c/Makefile plugin-loaders/python/Makefile plugin-loaders/js/Makefile plugin-loaders/mono/Makefile bindings/Makefile bindings/vala/Makefile bindings/python/Makefile examples/Makefile examples/simple-ui/Makefile examples/vala/Makefile tests/Makefile tests/c-plugins/Makefile tests/manager-dep/Makefile data/Makefile data/pixmaps/Makefile doc/Makefile doc/reference/Makefile doc/reference/version.xml ethos.pc ethos-ui.pc"
cat >confcache <<\_ACEOF
@@ -14937,7 +14937,6 @@ do
"bindings/Makefile") CONFIG_FILES="$CONFIG_FILES bindings/Makefile" ;;
"bindings/vala/Makefile") CONFIG_FILES="$CONFIG_FILES bindings/vala/Makefile" ;;
"bindings/python/Makefile") CONFIG_FILES="$CONFIG_FILES bindings/python/Makefile" ;;
- "bindings/mono/Makefile") CONFIG_FILES="$CONFIG_FILES bindings/mono/Makefile" ;;
"examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
"examples/simple-ui/Makefile") CONFIG_FILES="$CONFIG_FILES examples/simple-ui/Makefile" ;;
"examples/vala/Makefile") CONFIG_FILES="$CONFIG_FILES examples/vala/Makefile" ;;

9
devel/ethos/pkg/DESCR Normal file
View File

@ -0,0 +1,9 @@
Ethos is a library that provides a consistent plugin interface for
application extenders to target. The more applications that use ethos
for plugins, the faster the community can expand to provide new features
to new projects.
The core ethos library, libethos-1.0, only links against libgobject so
that it is safe to use in GUI-less applications. The GTK+ library,
libethos-ui-1.0, provides widgets that can be embedded within your
application to manage plugins during run-time.

View File

@ -0,0 +1,7 @@
@comment $OpenBSD: PFRAG.shared,v 1.1.1.1 2009/10/11 11:31:13 landry Exp $
@lib lib/ethos/plugin-loaders/libcloader.so.${LIBcloader_VERSION}
@lib lib/ethos/plugin-loaders/libpythonloader.so.${LIBpythonloader_VERSION}
@lib lib/libethos-1.0.so.${LIBethos-1.0_VERSION}
@lib lib/libethos-ui-1.0.so.${LIBethos-ui-1.0_VERSION}
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/_ethos.so
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/_ethosui.so

72
devel/ethos/pkg/PLIST Normal file
View File

@ -0,0 +1,72 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2009/10/11 11:31:13 landry Exp $
%%SHARED%%
include/ethos-1.0/
include/ethos-1.0/ethos/
include/ethos-1.0/ethos/ethos-error.h
include/ethos-1.0/ethos/ethos-manager.h
include/ethos-1.0/ethos/ethos-plugin-info.h
include/ethos-1.0/ethos/ethos-plugin-loader.h
include/ethos-1.0/ethos/ethos-plugin.h
include/ethos-1.0/ethos/ethos-ui-configurable.h
include/ethos-1.0/ethos/ethos-ui-manager-widget.h
include/ethos-1.0/ethos/ethos-ui.h
include/ethos-1.0/ethos/ethos-version.h
include/ethos-1.0/ethos/ethos.h
lib/ethos/
lib/ethos/plugin-loaders/
lib/ethos/plugin-loaders/libcloader.a
lib/ethos/plugin-loaders/libcloader.la
lib/ethos/plugin-loaders/libpythonloader.a
lib/ethos/plugin-loaders/libpythonloader.la
lib/libethos-1.0.a
lib/libethos-1.0.la
lib/libethos-ui-1.0.a
lib/libethos-ui-1.0.la
lib/pkgconfig/ethos-1.0.pc
lib/pkgconfig/ethos-ui-1.0.pc
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/_ethos.a
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/_ethos.la
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/_ethosui.a
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/_ethosui.la
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/ethos/
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/ethos/__init__.py
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/ethos/__init__.pyc
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/ethos/__init__.pyo
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/ethos/ui.py
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/ethos/ui.pyc
lib/python${MODPY_VERSION}/site-packages/gtk-2.0/ethos/ui.pyo
share/ethos/
share/ethos/icons/
share/ethos/icons/ethos-plugin.png
share/gtk-doc/html/ethos/
share/gtk-doc/html/ethos/EthosManager.html
share/gtk-doc/html/ethos/EthosPlugin.html
share/gtk-doc/html/ethos/EthosPluginInfo.html
share/gtk-doc/html/ethos/EthosUIManagerWidget.html
share/gtk-doc/html/ethos/ch01.html
share/gtk-doc/html/ethos/ch02.html
share/gtk-doc/html/ethos/ch03.html
share/gtk-doc/html/ethos/ch04.html
share/gtk-doc/html/ethos/ch05.html
share/gtk-doc/html/ethos/ethos-base.html
share/gtk-doc/html/ethos/ethos-developer.html
share/gtk-doc/html/ethos/ethos-ethos-error.html
share/gtk-doc/html/ethos/ethos-ethos-plugin-loader.html
share/gtk-doc/html/ethos/ethos-ethos-ui-configurable.html
share/gtk-doc/html/ethos/ethos-ethos-version.html
share/gtk-doc/html/ethos/ethos-user.html
share/gtk-doc/html/ethos/ethos.devhelp
share/gtk-doc/html/ethos/ethos.devhelp2
share/gtk-doc/html/ethos/home.png
share/gtk-doc/html/ethos/index.html
share/gtk-doc/html/ethos/index.sgml
share/gtk-doc/html/ethos/left.png
share/gtk-doc/html/ethos/right.png
share/gtk-doc/html/ethos/style.css
share/gtk-doc/html/ethos/up.png
share/pygtk/
share/pygtk/2.0/
share/pygtk/2.0/defs/
share/pygtk/2.0/defs/ethos.defs
share/pygtk/2.0/defs/ethosui.defs