-# TODO:
-# - requires gobject-introspection-devel to build - fix it
#
# Conditional build:
-%bcond_without cairo # build without cairo
-%bcond_without static_libs # do not build static libs
-%bcond_without apidocs # do not build and package API docs
+%bcond_without cairo # cairo support
+%bcond_without apidocs # API documentation
+%bcond_with bootstrap # bootstrap from glib < 2.80
Summary: Introspection for GObject libraries
Summary(pl.UTF-8): Obserwacja bibliotek GObject
Name: gobject-introspection
-Version: 1.42.0
+Version: 1.80.1
Release: 1
-License: LGPL v2+ (giscanner) and GPL v2+ (tools)
+License: LGPL v2+ (libraries, giscanner) and GPL v2+ (tools)
Group: Libraries
-Source0: http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.42/%{name}-%{version}.tar.xz
-# Source0-md5: 4fa52f6b67367d9c1b99b98683ced202
-Patch0: %{name}-libtool.patch
-URL: http://live.gnome.org/GObjectIntrospection
-BuildRequires: autoconf >= 2.63
-BuildRequires: automake >= 1:1.11
+Source0: https://download.gnome.org/sources/gobject-introspection/1.80/%{name}-%{version}.tar.xz
+# Source0-md5: ef1496a7a7abfcd31d25b3459ea86ebb
+Source1: https://download.gnome.org/sources/glib/2.80/glib-2.80.0.tar.xz
+# Source1-md5: 3a51e2803ecd22c2dadcd07d9475ebe3
+URL: https://wiki.gnome.org/Projects/GObjectIntrospection
+BuildRequires: automake
BuildRequires: bison
%{?with_cairo:BuildRequires: cairo-gobject-devel}
BuildRequires: flex
-BuildRequires: glib2-devel >= 1:2.36.0
+BuildRequires: gcc >= 5:3.2
+%{!?with_bootstrap:BuildRequires: glib2-devel >= 1:2.80.0}
BuildRequires: glibc-misc
%{?with_apidocs:BuildRequires: gtk-doc >= 1.19}
-BuildRequires: libffi-devel >= 3.0.0
-BuildRequires: libtool >= 2:2.2
+BuildRequires: libffi-devel >= 7:3.4
+BuildRequires: meson >= 1.2.0
+BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig
-BuildRequires: python >= 1:2.6
-BuildRequires: python-Mako
-BuildRequires: python-devel >= 1:2.5
-BuildRequires: python-modules >= 1:2.6
+BuildRequires: python3 >= 1:3.6
+BuildRequires: python3-Mako
+BuildRequires: python3-devel >= 1:3.6
+BuildRequires: python3-markdown
+BuildRequires: python3-modules >= 1:3.6
+BuildRequires: rpm-build >= 4.6
BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.752
BuildRequires: tar >= 1:1.22
BuildRequires: xz
BuildRequires: zlib-devel
-Requires: glib2 >= 1:2.36.0
+Requires: glib2 >= 1:2.80.0
+Requires: libffi >= 7:3.4
Obsoletes: gobject-introspection-libs < %{version}-%{release}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki gobject-introspection
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: glib2-devel >= 1:2.36.0
-Requires: libffi-devel >= 3.0.0
-Requires: python-Mako
-Requires: python-modules >= 1:2.6
+Requires: glib2-devel >= 1:2.80.0
+Requires: libffi-devel >= 7:3.4
+Requires: python3-Mako
+Requires: python3-modules >= 1:3.6
# for ldd
Requires: glibc-misc
+Obsoletes: gobject-introspection-static < 1.62
# vala 0.18 seems to fail on recently generated .gir files
Conflicts: vala < 2:0.20
%description devel -l pl.UTF-8
Pliki nagłówkowe biblioteki gobject-introspection.
-%package static
-Summary: Static gobject-introspection library
-Summary(pl.UTF-8): Statyczna biblioteka gobject-introspection
-Group: Development/Libraries
-Requires: %{name}-devel = %{version}-%{release}
-
-%description static
-Static gobject-introspection library.
-
-%description static -l pl.UTF-8
-Statyczna biblioteka gobject-introspection.
-
%package apidocs
Summary: gobject-introspection API documentation
Summary(pl.UTF-8): Dokumentacja API gobject-introspection
Group: Documentation
Requires: gtk-doc-common
+BuildArch: noarch
%description apidocs
gobject-introspection API documentation.
Dokumentacja API gobject-introspection.
%prep
-%setup -q
-%patch0 -p1
+%setup -q %{?with_bootstrap:-a1}
+
+%if %{with bootstrap}
+%{__mv} glib-2.80.0 subprojects/glib
+%endif
+
+%{__sed} -i -e "s,^giscannerdir[[:space:]]*=[[:space:]]*.*,giscannerdir='%{py3_sitedir}/giscanner'," giscanner/meson.build
+%{__sed} -i -e '/python_cmd =/ s,/usr/bin/env python@0@,/usr/bin/python@0@,' tools/meson.build
%build
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
- %{!?with_cairo:--disable-tests} \
- --disable-silent-rules \
- %{__enable_disable apidocs gtk-doc} \
- %{__enable_disable static_libs static} \
- --with-html-dir=%{_gtkdocdir}
-%{__make} \
- pkgpyexecdir=%{py_sitedir}/giscanner
+%meson build \
+ -Ddoctool=enabled \
+ -Dgtk_doc=%{__true_false apidocs}
+
+%ninja_build -C build
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
- pkgpyexecdir=%{py_sitedir}/giscanner \
- DESTDIR=$RPM_BUILD_ROOT
-
-%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/giscanner/*.{a,la} \
- $RPM_BUILD_ROOT%{_libdir}/*.la
-%py_postclean
+%ninja_install -C build
+
+%py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
+%py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
+
+%if %{with bootstrap}
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/{gapplication,gdbus*,gi-*,gio*,glib-*,gobject-*,gresource,gsettings,gtester*}
+%{__rm} -r $RPM_BUILD_ROOT%{_includedir}/{gio-unix-2.0,glib-2.0}
+%{__rm} $RPM_BUILD_ROOT%{_libexecdir}/gio-launch-desktop
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{gio,girepository,glib,gmodule,gobject,gthread}-2.0.*
+%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/{gio,glib-2.0}
+%{__rm} $RPM_BUILD_ROOT%{_pkgconfigdir}/{gio,gio-unix,girepository,glib,gmodule,gmodule-export,gmodule-no-export,gobject,gthread}-2.0.pc
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/gdb/auto-load/usr/%{_lib}/lib{glib,gobject}-2.0.*
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/gettext/its/gschema.*
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/glib-2.0
+%{__rm} $RPM_BUILD_ROOT%{_aclocaldir}/{glib-2.0,glib-gettext,gsettings}.m4
+%{__rm} $RPM_BUILD_ROOT%{bash_compdir}/{gapplication,gdbus,gio,gresource,gsettings}
+%{__rm} $RPM_BUILD_ROOT%{_localedir}/*/LC_MESSAGES/glib20.mo
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc AUTHORS CONTRIBUTORS NEWS README TODO
+%doc COPYING NEWS README.rst
%attr(755,root,root) %{_libdir}/libgirepository-1.0.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libgirepository-1.0.so.1
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/DBusGLib-1.0.typelib
%{_libdir}/girepository-1.0/GIRepository-2.0.typelib
%{_libdir}/girepository-1.0/GL-1.0.typelib
-%{_libdir}/girepository-1.0/GLib-2.0.typelib
-%{_libdir}/girepository-1.0/GModule-2.0.typelib
-%{_libdir}/girepository-1.0/GObject-2.0.typelib
-%{_libdir}/girepository-1.0/Gio-2.0.typelib
+%{_libdir}/girepository-1.0/Vulkan-1.0.typelib
%{_libdir}/girepository-1.0/cairo-1.0.typelib
%{_libdir}/girepository-1.0/fontconfig-2.0.typelib
%{_libdir}/girepository-1.0/freetype2-2.0.typelib
%attr(755,root,root) %{_bindir}/g-ir-compiler
%attr(755,root,root) %{_bindir}/g-ir-doc-tool
%attr(755,root,root) %{_bindir}/g-ir-generate
+%attr(755,root,root) %{_bindir}/g-ir-inspect
%attr(755,root,root) %{_bindir}/g-ir-scanner
%{_mandir}/man1/g-ir-compiler.1*
+%{_mandir}/man1/g-ir-doc-tool.1*
%{_mandir}/man1/g-ir-generate.1*
%{_mandir}/man1/g-ir-scanner.1*
%attr(755,root,root) %{_libdir}/libgirepository-1.0.so
%{_pkgconfigdir}/gobject-introspection-1.0.pc
%{_pkgconfigdir}/gobject-introspection-no-export-1.0.pc
%{_aclocaldir}/introspection.m4
-%dir %{_libdir}/gobject-introspection
-%dir %{_libdir}/gobject-introspection/giscanner
-%{_libdir}/gobject-introspection/giscanner/doctemplates
%dir %{_datadir}/gir-1.0
%{_datadir}/gir-1.0/DBus-1.0.gir
%{_datadir}/gir-1.0/DBusGLib-1.0.gir
%{_datadir}/gir-1.0/GIRepository-2.0.gir
%{_datadir}/gir-1.0/GL-1.0.gir
-%{_datadir}/gir-1.0/GLib-2.0.gir
-%{_datadir}/gir-1.0/GModule-2.0.gir
-%{_datadir}/gir-1.0/GObject-2.0.gir
-%{_datadir}/gir-1.0/Gio-2.0.gir
+%{_datadir}/gir-1.0/Vulkan-1.0.gir
%{_datadir}/gir-1.0/cairo-1.0.gir
%{_datadir}/gir-1.0/fontconfig-2.0.gir
%{_datadir}/gir-1.0/freetype2-2.0.gir
+%{_datadir}/gir-1.0/gir-1.2.rnc
%{_datadir}/gir-1.0/libxml2-2.0.gir
%{_datadir}/gir-1.0/win32-1.0.gir
%{_datadir}/gir-1.0/xfixes-4.0.gir
%{_datadir}/gir-1.0/xlib-2.0.gir
%{_datadir}/gir-1.0/xrandr-1.3.gir
%{_datadir}/gobject-introspection-1.0
-%dir %{py_sitedir}/giscanner
-%{py_sitedir}/giscanner/*.py[co]
-%dir %{py_sitedir}/giscanner/collections
-%{py_sitedir}/giscanner/collections/*.py[co]
-%attr(755,root,root) %{py_sitedir}/giscanner/_giscanner.so
-
-%if %{with static_libs}
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/libgirepository-1.0.a
-%endif
+%dir %{py3_sitedir}/giscanner
+%{py3_sitedir}/giscanner/*.py
+%dir %{py3_sitedir}/giscanner/__pycache__
+%{py3_sitedir}/giscanner/__pycache__/*.py[co]
+%{py3_sitedir}/giscanner/doctemplates
+%attr(755,root,root) %{py3_sitedir}/giscanner/_giscanner.cpython-*.so
%if %{with apidocs}
%files apidocs