Igor Gnatenko 969a29d
%bcond_without check
Igor Gnatenko 969a29d
Igor Gnatenko 969a29d
Name:           gplugin
2a7205c
Version:        0.42.1
8e04b7f
Release:        %autorelease
Igor Gnatenko 969a29d
Summary:        GObject based library that implements a reusable plugin system
Igor Gnatenko 969a29d
85bb72e
License:        LGPL-2.0-or-later
0cf958b
URL:            https://keep.imfreedom.org/gplugin/gplugin
d1546af
Source0:        https://downloads.sourceforge.net/pidgin/%{name}-%{version}.tar.xz
d1546af
Source1:        https://downloads.sourceforge.net/pidgin/%{name}-%{version}.tar.xz.asc
c676815
Source2:        https://keybase.io/grim/pgp_keys.asc
Igor Gnatenko 969a29d
c676815
BuildRequires:  gnupg2
66a7935
BuildRequires:  meson >= 0.61.0
Igor Gnatenko 969a29d
BuildRequires:  gcc
dc62322
BuildRequires:  gi-docgen
ece15ca
BuildRequires:  /usr/bin/help2man
66a7935
BuildRequires:  pkgconfig(glib-2.0) >= 2.70.0
Igor Gnatenko 969a29d
BuildRequires:  pkgconfig(gobject-2.0)
Igor Gnatenko 969a29d
BuildRequires:  pkgconfig(gmodule-2.0)
ece15ca
BuildRequires:  gettext
Igor Gnatenko 969a29d
%if %{with check}
ece15ca
BuildRequires:  /usr/bin/gtester
Igor Gnatenko 969a29d
%endif
Igor Gnatenko 969a29d
Requires:       %{name}-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Igor Gnatenko 969a29d
Igor Gnatenko 969a29d
%description
Igor Gnatenko 969a29d
GPlugin is a GObject based library that implements a reusable plugin system
Igor Gnatenko 969a29d
which supports loading plugins in other languages via loaders.
792a93e
It relies heavily on GObject Introspection to expose its API to the other
Igor Gnatenko 969a29d
languages.
Igor Gnatenko 969a29d
Igor Gnatenko 969a29d
It has a very simple API which makes it very simple to use in your application.
Igor Gnatenko 969a29d
Igor Gnatenko 969a29d
%package        libs
Igor Gnatenko 969a29d
Summary:        Library for %{name}
Igor Gnatenko 969a29d
Igor Gnatenko 969a29d
%description    libs
Igor Gnatenko 969a29d
%{summary}.
Igor Gnatenko 969a29d
0081f14
%package        gtk4
0081f14
Summary:        GTK4 applications for %{name}
0081f14
BuildRequires:  pkgconfig(gtk4) >= 4
0081f14
Requires:       %{name}-gtk4-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
0081f14
0081f14
%description    gtk4
0081f14
%{summary}.
0081f14
0081f14
%package        gtk4-libs
0081f14
Summary:        GTK4 libraries for %{name}
0081f14
Requires:       %{name}-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
0081f14
0081f14
%description    gtk4-libs
0081f14
%{summary}.
0081f14
Igor Gnatenko 969a29d
%package        loader-lua
Igor Gnatenko 969a29d
Summary:        Lua loader for %{name}
e7dab2e
BuildRequires:  pkgconfig(lua) >= 5.1.0
Igor Gnatenko 969a29d
BuildRequires:  lua-lgi
Igor Gnatenko 969a29d
Requires:       %{name}-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
d3360e4
Requires:       lua-lgi
Igor Gnatenko 969a29d
Igor Gnatenko 969a29d
%description    loader-lua
Igor Gnatenko 969a29d
%{summary}.
Igor Gnatenko 969a29d
792a93e
%package        loader-python
792a93e
Summary:        Python loader for %{name}
66a7935
BuildRequires:  pkgconfig(python3-embed)
792a93e
BuildRequires:  pkgconfig(pygobject-3.0) >= 3.0.0
792a93e
Requires:       %{name}-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
d3360e4
Requires:       pkgconfig(pygobject-3.0) >= 3.0.0
792a93e
792a93e
%description    loader-python
792a93e
%{summary}.
792a93e
Igor Gnatenko 969a29d
%package        devel
Igor Gnatenko 969a29d
Summary:        Development libraries and header files for %{name}-libs
Igor Gnatenko 969a29d
Requires:       %{name}-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Igor Gnatenko 969a29d
Igor Gnatenko 969a29d
%description    devel
Igor Gnatenko 969a29d
%{summary}.
Igor Gnatenko 969a29d
0081f14
%package        gtk4-devel
0081f14
Summary:        Development libraries and header files for %{name}-gtk4-libs
0081f14
Requires:       %{name}-gtk4-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
0081f14
0081f14
%description    gtk4-devel
0081f14
%{summary}.
0081f14
bc46cfa
%package        vala
bc46cfa
Summary:        Vala bindings for %{name}-libs
bc46cfa
BuildRequires:  vala
bc46cfa
Requires:       %{name}-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
bc46cfa
bc46cfa
%description    vala
bc46cfa
%{summary}.
bc46cfa
b8c6e50
%package        gtk4-vala
b8c6e50
Summary:        Vala bindings for %{name}-gtk4-libs
b8c6e50
Requires:       %{name}-vala%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
b8c6e50
b8c6e50
%description    gtk4-vala
b8c6e50
%{summary}.
b8c6e50
Igor Gnatenko 969a29d
%prep
c676815
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
8019403
%autosetup -p1
ece15ca
# We install docs ourselves
ece15ca
sed -i -e '/install_data/,+1 d' meson.build
125cecf
sed -i -e '/install_data/,+1 d' gplugin/share/valgrind/meson.build
Igor Gnatenko 969a29d
Igor Gnatenko 969a29d
%build
e256971
%meson
ece15ca
%meson_build
Igor Gnatenko 969a29d
Igor Gnatenko 969a29d
%install
ece15ca
%meson_install
Igor Gnatenko 969a29d
Igor Gnatenko 969a29d
%if %{with check}
Igor Gnatenko 969a29d
%check
Igor Gnatenko 969a29d
# Everything is tested during build process...
ece15ca
%meson_test
Igor Gnatenko 969a29d
%endif
Igor Gnatenko 969a29d
Igor Gnatenko 969a29d
%files
ece15ca
%{_bindir}/gplugin-query
ece15ca
%{_mandir}/man1/gplugin-query.1*
Igor Gnatenko 969a29d
Igor Gnatenko 969a29d
%files libs
Igor Gnatenko 969a29d
%license COPYING
e7dab2e
%doc ChangeLog README.md
dc62322
%{_libdir}/libgplugin.so.0
dc62322
%{_libdir}/libgplugin.so.0.*
ece15ca
%dir %{_libdir}/gplugin/
Igor Gnatenko 969a29d
%dir %{_libdir}/girepository-1.0
125cecf
%{_libdir}/girepository-1.0/GPlugin-1.0.typelib
Igor Gnatenko 969a29d
0081f14
%files gtk4
0081f14
%{_bindir}/gplugin-gtk4-viewer
0081f14
%{_mandir}/man1/gplugin-gtk4-viewer.1*
0081f14
0081f14
%files gtk4-libs
0081f14
%{_libdir}/libgplugin-gtk4.so.*
0081f14
%dir %{_libdir}/girepository-1.0
0081f14
%{_libdir}/girepository-1.0/GPluginGtk4-1.0.typelib
0081f14
Igor Gnatenko 969a29d
%files loader-lua
ece15ca
%{_libdir}/gplugin/gplugin-lua.so
Igor Gnatenko 969a29d
792a93e
%files loader-python
125cecf
%{_libdir}/gplugin/gplugin-python3.so
792a93e
Igor Gnatenko 969a29d
%files devel
125cecf
%doc gplugin/share/valgrind/gplugin.supp
dc62322
%doc %{_docdir}/gplugin
ece15ca
%{_libdir}/libgplugin.so
27377ac
%{_libdir}/libgplugin-introspection.a
ece15ca
%dir %{_includedir}/gplugin-1.0/
ece15ca
%{_includedir}/gplugin-1.0/gplugin/
ece15ca
%{_includedir}/gplugin-1.0/gplugin.h
27377ac
%{_includedir}/gplugin-1.0/gplugin-introspection.h
ece15ca
%{_includedir}/gplugin-1.0/gplugin-native.h
ece15ca
%{_libdir}/pkgconfig/gplugin.pc
27377ac
%{_libdir}/pkgconfig/gplugin-introspection.pc
Igor Gnatenko 969a29d
%dir %{_datadir}/gir-1.0
125cecf
%{_datadir}/gir-1.0/GPlugin-1.0.gir
Igor Gnatenko 969a29d
0081f14
%files gtk4-devel
0081f14
%doc %{_docdir}/gplugin-gtk4
0081f14
%{_libdir}/libgplugin-gtk4.so
0081f14
%{_includedir}/gplugin-gtk4-1.0/
0081f14
%{_libdir}/pkgconfig/gplugin-gtk4.pc
0081f14
%dir %{_datadir}/gir-1.0
0081f14
%{_datadir}/gir-1.0/GPluginGtk4-1.0.gir
0081f14
bc46cfa
%files vala
bc46cfa
%dir %{_datadir}/vala
bc46cfa
%dir %{_datadir}/vala/vapi
bc46cfa
%{_datadir}/vala/vapi/gplugin.deps
bc46cfa
%{_datadir}/vala/vapi/gplugin.vapi
bc46cfa
b8c6e50
%files gtk4-vala
b8c6e50
%{_datadir}/vala/vapi/gplugin-gtk4.deps
b8c6e50
%{_datadir}/vala/vapi/gplugin-gtk4.vapi
b8c6e50
Igor Gnatenko 969a29d
%changelog
8e04b7f
%autochangelog