gplugin/gplugin

closing this branch as there is no demand for this
feature/ruby-loader
16 months ago, Gary Kramlich
d44bad5e041e
closing this branch as there is no demand for this
Name: gplugin
Version: @GPLUGIN_VERSION@
Release: %{?build_number}%{?!build_number:1}
License: LGPL-2.0+
Summary: A GObject based library that implements a reusable plugin system
Url: https://bitbucket.org/rw_grim/gplugin/overview
Group: Development/Libraries
BuildRequires: meson >= 0.37.0
BuildRequires: glib2-devel >= 2.20.0
BuildRequires: gobject-introspection-devel
BuildRequires: gettext
BuildRequires: gtk3-devel
BuildRequires: help2man
BuildRequires: libxslt
BuildRequires: lua-devel
BuildRequires: lua-lgi
BuildRequires: python3-devel
BuildRequires: python3-gobject
BuildRequires: /usr/lib64/pkgconfig/pygobject-3.0.pc
%if 0%{?suse_version} > 0
# avoid "directories not owned by a package" error
%define notownedhack 1
%else
%define notownedhack 0
%endif
%package -n libgplugin0
Summary: A GObject based library that implements a reusable plugin system
Group: Development/Libraries
%package devel
Summary: A GObject based library that implements a reusable plugin system
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
%package gtk3
Summary: A GObject based library that implements a reusable plugin system
Group: Development/Libraries
%package gtk3-devel
Summary: A GObject based library that implements a reusable plugin system
Group: Development/Libraries
Requires: %{name}-gtk3%{?_isa} = %{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%package lua
Summary: A GObject based library that implements a reusable plugin system
Group: Development/Libraries
%package python3
Summary: A GObject based library that implements a reusable plugin system
Group: Development/Libraries
%description
GPlugin is a GObject based library that implements a reusable plugin system
that supports loading plugins in other languages via loaders. GPlugin also
implements dependencies among the plugins.
It was started due to the infamous "Plugin Problem" for Guifications 3, which
was that I needed plugins that could depend on each other, be able to be
written in other languages, have plugins that are loaded before the main load
phase, and allow plugins to register types into the GObject type system.
%description -n libgplugin0
GPlugin is a GObject based library that implements a reusable plugin system
that supports loading plugins in other languages via loaders. GPlugin also
implements dependencies among the plugins.
It was started due to the infamous "Plugin Problem" for Guifications 3, which
was that I needed plugins that could depend on each other, be able to be
written in other languages, have plugins that are loaded before the main load
phase, and allow plugins to register types into the GObject type system.
%description devel
GPlugin is a GObject based library that implements a reusable plugin system
that supports loading plugins in other languages via loaders. GPlugin also
implements dependencies among the plugins.
It was started due to the infamous "Plugin Problem" for Guifications 3, which
was that I needed plugins that could depend on each other, be able to be
written in other languages, have plugins that are loaded before the main load
phase, and allow plugins to register types into the GObject type system.
This package contains all necessary include files and libraries needed
to develop applications that require these.
%description gtk3
GPlugin is a GObject based library that implements a reusable plugin system
that supports loading plugins in other languages via loaders. GPlugin also
implements dependencies among the plugins.
It was started due to the infamous "Plugin Problem" for Guifications 3, which
was that I needed plugins that could depend on each other, be able to be
written in other languages, have plugins that are loaded before the main load
phase, and allow plugins to register types into the GObject type system.
This package contains additional GTK3 dependencies for %{name} library.
%description gtk3-devel
GPlugin is a GObject based library that implements a reusable plugin system
that supports loading plugins in other languages via loaders. GPlugin also
implements dependencies among the plugins.
It was started due to the infamous "Plugin Problem" for Guifications 3, which
was that I needed plugins that could depend on each other, be able to be
written in other languages, have plugins that are loaded before the main load
phase, and allow plugins to register types into the GObject type system.
This package contains all necessary include files and libraries needed
to develop GTK3 applications that require these.
%description lua
GPlugin is a GObject based library that implements a reusable plugin system
that supports loading plugins in other languages via loaders. GPlugin also
implements dependencies among the plugins.
It was started due to the infamous "Plugin Problem" for Guifications 3, which
was that I needed plugins that could depend on each other, be able to be
written in other languages, have plugins that are loaded before the main load
phase, and allow plugins to register types into the GObject type system.
This package contains the Lua Loader for %{name} library.
%description python3
GPlugin is a GObject based library that implements a reusable plugin system
that supports loading plugins in other languages via loaders. GPlugin also
implements dependencies among the plugins.
It was started due to the infamous "Plugin Problem" for Guifications 3, which
was that I needed plugins that could depend on each other, be able to be
written in other languages, have plugins that are loaded before the main load
phase, and allow plugins to register types into the GObject type system.
This package contains Python 3 loader for %{name} library.
%build
mkdir -p build
pushd build
CFLAGS="%{optflags}" meson \
--prefix=%{_prefix} \
-Dlua=true \
-Dpython=true \
..
ninja %{?_smp_mflags}
%install
pushd build
DESTDIR=%{buildroot} ninja install
# Unneeded files
rm -rf %{buildroot}%{_datadir}/doc/gplugin/
%if %{notownedhack} == 1
rm -rf %{buildroot}%{_datadir}/gplugin/
%endif
%post -n libgplugin0 -p /sbin/ldconfig
%postun -n libgplugin0 -p /sbin/ldconfig
%post -n gplugin-gtk3 -p /sbin/ldconfig
%postun -n gplugin-gtk3 -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc README ChangeLog
%if %{notownedhack} == 0
%license COPYING
%endif
%{_bindir}/gplugin-query
%{_libdir}/gplugin/
%{_mandir}/man1/gplugin-query.1*
%files -n libgplugin0
%defattr(-,root,root)
%{_libdir}/libgplugin.so.0.1.0
%files devel
%defattr(-,root,root)
%doc README HACKING
%if %{notownedhack} == 0
%license COPYING
%endif
%{_includedir}/gplugin-1.0/
%{_libdir}/libgplugin.so
%{_libdir}/libgplugin.so.0
%{_libdir}/pkgconfig/gplugin.pc
%{_libdir}/pkgconfig/gplugin-gtk.pc
%{_libdir}/girepository-1.0/GPlugin-0.0.typelib
%{_datadir}/gir-1.0/GPlugin-0.0.gir
%files gtk3
%defattr(-,root,root)
%doc README
%if %{notownedhack} == 0
%license COPYING
%endif
%{_bindir}/gplugin-gtk-viewer
%{_libdir}/libgplugin-gtk.so.0.1.0
%if %{notownedhack} == 0
%{_datadir}/gplugin/gplugin-gtk/
%endif
%{_mandir}/man1/gplugin-gtk-viewer.1*
%files gtk3-devel
%defattr(-,root,root)
%doc README
%if %{notownedhack} == 0
%license COPYING
%endif
%{_libdir}/libgplugin-gtk.so
%{_libdir}/libgplugin-gtk.so.0
%files lua
%defattr(-,root,root)
%doc README
%license COPYING
%{_libdir}/gplugin/gplugin-lua.so
%files python3
%defattr(-,root,root)
%doc README
%if %{notownedhack} == 0
%license COPYING
%endif
%{_libdir}/gplugin/gplugin-python.so
%changelog
* Sun May 15 2016 Gary Kramlich <grim@reaperworld.com>
- Updates and pulled upstream
* Mon May 4 2015 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.0.18-1
- Initial package release