# TODO:
-# - deviced (BR: libdeviced-devel >= 3.27.4)
+# - deviced plugin (BR: libdeviced-devel >= 3.27.4)
# - fix warning: jedi not found, python auto-completion not possible.
#
# Conditional build:
%bcond_without sysprof # sysprof system profiler plugin
%bcond_without vala_pack # vala pack plugin
+%bcond_without apidocs # Sphinx based help + gtk-doc API documentation
#
Summary: IDE for writing GNOME-based software
Summary(pl.UTF-8): IDE do tworzenia oprogramowania opartego na GNOME
Name: gnome-builder
Version: 3.34.1
-Release: 4
+Release: 6
License: GPL v3+
Group: X11/Applications
Source0: http://ftp.gnome.org/pub/GNOME/sources/gnome-builder/3.34/%{name}-%{version}.tar.xz
# Source0-md5: 88e43a49678309a41db35f48aa0ce4fc
Patch0: meson0.52.patch
+Patch1: %{name}-doc.patch
URL: https://wiki.gnome.org/Apps/Builder
BuildRequires: appstream-glib
BuildRequires: clang-devel >= 3.5
BuildRequires: gobject-introspection-devel >= 1.48.0
BuildRequires: gspell-devel >= 1.2.0
BuildRequires: gtk+3-devel >= 3.22.26
+%{?with_apidocs:BuildRequires: gtk-doc >= 1.11}
BuildRequires: gtk-webkit4-devel >= 2.22
BuildRequires: gtksourceview4-devel >= 4.0.0
BuildRequires: intltool >= 0.50.1
BuildRequires: python3-devel >= 1:3.2.3
BuildRequires: python3-pygobject3-devel >= 3.22.0
BuildRequires: rpmbuild(macros) >= 1.522
+%{?with_apidocs:BuildRequires: sphinx-pdg-3}
%{?with_sysprof:BuildRequires: sysprof-ui-devel >= 3.33.4}
BuildRequires: tar >= 1:1.22
BuildRequires: template-glib-devel >= 3.28.0
BuildRequires: vala-libdazzle >= 3.34.0
BuildRequires: vala-libgit2-glib >= 0.25.0
BuildRequires: vala-template-glib >= 3.28.0
+BuildRequires: vala-vte >= 0.46
%if %{with vala_pack}
BuildRequires: vala-jsonrpc-glib >= 3.30.0
-BuildRequires: vala-vte >= 0.46
%endif
BuildRequires: vte-devel >= 0.46
BuildRequires: xz
Requires: template-glib >= 3.28.0
Requires: vte >= 0.46
Suggests: python3-lxml
-Obsoletes: gnome-builder-apidocs
Obsoletes: gnome-builder-mm
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Requires: vala-gtksourceview4 >= 4.0.0
Requires: vala-libdazzle >= 3.34.0
Requires: vala-template-glib >= 3.28.0
+Requires: vala-vte >= 0.46
%description -n vala-gnome-builder
Vala API for GNOME Builder.
%description doc -l pl.UTF-8
Dokumentacja do GNOME Buildera.
+%package apidocs
+Summary: API documentation for GNOME Builder libraries
+Summary(pl.UTF-8): Dokumentacja API bibliotek GNOME Buildera
+Group: Documentation
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
+
+%description apidocs
+API documentation for GNOME Builder libraries.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API bibliotek GNOME Buildera.
+
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
+
+grep -rl /usr/bin/env src/plugins src/libide | xargs sed -i -e '1{
+ s,^#!.*bin/env python3,#!%{__python3},
+ s,^#!.*bin/env python$,#!%{__python},
+}'
%build
%meson build \
+%if %{with apidocs}
+ -Ddocs=true \
+ -Dhelp=true \
+%endif
-Dplugin_sysprof=%{__true_false sysprof} \
+ -Dplugin_vagrant=true \
-Dplugin_vala=%{__true_false vala_pack}
+# -Dplugin_deviced=true
%meson_build -C build
%meson_install -C build
+%if %{with apidocs}
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/gnome-builder/en/{.buildinfo,.doctrees,_sources}
+%endif
+
%find_lang %{name} --with-gnome
%clean
%attr(755,root,root) %{_libexecdir}/gnome-builder-git
%dir %{_datadir}/gnome-builder
%{_datadir}/gnome-builder/fonts
+%{_datadir}/gnome-builder/icons
%{_libdir}/gnome-builder/plugins/cargo.plugin
%{_libdir}/gnome-builder/plugins/cargo_plugin.py
%{_libdir}/gnome-builder/plugins/rustup_plugin.gresource
%{_libdir}/gnome-builder/plugins/rustup_plugin.py
-#%{_libdir}/gnome-builder/plugins/Ide-*.metadata
-
%{_libdir}/gnome-builder/plugins/gradle.plugin
%{_libdir}/gnome-builder/plugins/gradle_plugin.py
%endif
%if %{with vala_pack}
+%attr(755,root,root) %{_libexecdir}/gnome-builder-vala
%attr(755,root,root) %{_libdir}/gnome-builder/plugins/libplugin-vala-pack.so
%{_libdir}/gnome-builder/plugins/vala-pack.plugin
%endif
%{_desktopdir}/org.gnome.Builder.desktop
%{_iconsdir}/hicolor/scalable/apps/org.gnome.Builder-symbolic.svg
%{_iconsdir}/hicolor/scalable/apps/org.gnome.Builder.svg
-%{_datadir}/gnome-builder/icons
%{py3_sitedir}/gi/overrides/Ide.py
%files devel
%dir %{_datadir}/gnome-builder/vapi
%{_datadir}/gnome-builder/vapi/libide-*.deps
%{_datadir}/gnome-builder/vapi/libide-*.vapi
-%attr(755,root,root) %{_libexecdir}/gnome-builder-vala
+
+%if %{with apidocs}
+%files doc
+%defattr(644,root,root,755)
+%dir %{_docdir}/gnome-builder
+%{_docdir}/gnome-builder/en
+
+%files apidocs
+%defattr(644,root,root,755)
+%{_gtkdocdir}/libide
+%endif