]> git.pld-linux.org Git - packages/gnome-builder.git/blobdiff - gnome-builder.spec
Release 3 (by relup.sh)
[packages/gnome-builder.git] / gnome-builder.spec
index dd3d2bc7646798530aa9fd0c89ca0d303d8d4ac6..4dbb20de1fe4a04c57a74ddba1ab98644be54205 100644 (file)
 # TODO:
+# - switch to gtk4-update-icon-cache
 # - 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
+%bcond_without apidocs         # Sphinx based help + gi-docgen 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:       6
+Version:       45.0
+Release:       3
 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
+Source0:       https://download.gnome.org/sources/gnome-builder/45/%{name}-%{version}.tar.xz
+# Source0-md5: dc095a68d1b4d44b7ee7eda5fd3c9c10
 URL:           https://wiki.gnome.org/Apps/Builder
 BuildRequires: appstream-glib
 BuildRequires: clang-devel >= 3.5
+BuildRequires: cmark-devel >= 0.29.0
 BuildRequires: desktop-file-utils
-BuildRequires: devhelp-devel >= 3.26.0
+BuildRequires: dspy-devel >= 1.4.0
+BuildRequires: editorconfig-devel
 BuildRequires: enchant2-devel >= 2
-BuildRequires: flatpak-devel >= 0.8.0
+BuildRequires: flatpak-devel >= 1.11.2
 # -std=gnu11 for C
 BuildRequires: gcc >= 6:4.7
 BuildRequires: gettext-tools >= 0.19.8
-BuildRequires: gjs-devel >= 1.42.0
-BuildRequires: glade-devel >= 3.22.0
-BuildRequires: glib2-devel >= 1:2.61.2
-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: glib2-devel >= 1:2.75.0
+BuildRequires: gobject-introspection-devel >= 1.74
+BuildRequires: gtk4-devel >= 4.10
+%{?with_apidocs:BuildRequires: gi-docgen}
+BuildRequires: gtk-webkit6-devel >= 2.40
+BuildRequires: gtksourceview5-devel >= 5.8
 BuildRequires: json-glib-devel >= 1.2.0
-BuildRequires: jsonrpc-glib-devel >= 3.30.0
-BuildRequires: libdazzle-devel >= 3.34.0
-BuildRequires: libgit2-glib-devel >= 0.25.0
-BuildRequires: libpeas-devel >= 1.22.0
-BuildRequires: libsoup-devel >= 2.52.0
-# C++11
-BuildRequires: libstdc++-devel >= 6:4.7
-BuildRequires: libtool >= 2:2.2
+BuildRequires: jsonrpc-glib-devel >= 3.43.0
+BuildRequires: libadwaita-devel >= 1.4
+BuildRequires: libdex-devel >= 0.2
+BuildRequires: libgit2-glib-devel >= 1.1.0
+BuildRequires: libpeas2-devel >= 2.0
+BuildRequires: libpanel-devel >= 1.1.2
+BuildRequires: libportal-gtk4-devel
+BuildRequires: libsoup3-devel >= 3.0
+# -std=c++2a
+BuildRequires: libstdc++-devel >= 6:8
 BuildRequires: libxml2-devel >= 1:2.9.0
 BuildRequires: llvm-devel >= 3.5
-BuildRequires: meson >= 0.50.0
-BuildRequires: ninja
+BuildRequires: meson >= 0.60
+BuildRequires: ninja >= 1.5
 BuildRequires: ostree-devel
 BuildRequires: pango-devel >= 1:1.38.0
-BuildRequires: pcre-devel
+BuildRequires: pcre2-common-devel
 BuildRequires: pkgconfig >= 1:0.22
 BuildRequires: python3-devel >= 1:3.2.3
-BuildRequires: python3-pygobject3-devel >= 3.22.0
-BuildRequires: rpmbuild(macros) >= 1.522
+%{?with_apidocs:BuildRequires: python3-sphinx_rtd_theme}
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 2.029
+BuildRequires: sed >= 4.0
 %{?with_apidocs:BuildRequires: sphinx-pdg-3}
-%{?with_sysprof:BuildRequires: sysprof-ui-devel >= 3.33.4}
+%{?with_sysprof:BuildRequires: sysprof-devel >= 45.0}
 BuildRequires: tar >= 1:1.22
-BuildRequires: template-glib-devel >= 3.28.0
+BuildRequires: template-glib-devel >= 3.36.1
 BuildRequires: vala >= 2:0.30.0.55
-BuildRequires: vala-gtksourceview4 >= 4.0.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
-%endif
-BuildRequires: vte-devel >= 0.46
+BuildRequires: vala-gtksourceview5 >= 5.8
+BuildRequires: vala-libgit2-glib >= 1.1.0
+BuildRequires: vala-template-glib >= 3.36.1
+BuildRequires: vte-gtk4-devel >= 0.70.0
 BuildRequires: xz
 BuildRequires: yelp-tools
-Requires(post,postun): glib2 >= 1:2.61.2
+Requires(post,postun): glib2 >= 1:2.75.0
 Requires(post,postun): gtk-update-icon-cache
+Requires:      cmark-lib >= 0.29.0
 Requires:      ctags
-Requires:      devhelp-libs >= 3.26.0
+Requires:      dspy-libs >= 1.4.0
 Requires:      enchant2 >= 2
-Requires:      flatpak-libs >= 0.8.0
-Requires:      gjs >= 1.42.0
-Requires:      glade-libs >= 3.22.0
-Requires:      glib2 >= 1:2.61.2
-Requires:      gspell >= 1.2.0
-Requires:      gtk+3 >= 3.22.26
-Requires:      gtk-webkit4 >= 2.22
-Requires:      gtksourceview4 >= 4.0.0
+Requires:      flatpak-libs >= 1.11.2
+Requires:      glib2 >= 1:2.75.0
+Requires:      gtk4 >= 4.10
+Requires:      gtk-webkit6 >= 2.40
+Requires:      gtksourceview5 >= 5.8
 Requires:      hicolor-icon-theme
 Requires:      json-glib >= 1.2.0
-Requires:      jsonrpc-glib >= 3.30.0
-Requires:      libdazzle >= 3.34.0
-Requires:      libgit2-glib >= 0.25.0
-Requires:      libpeas >= 1.22.0
-Requires:      libsoup >= 2.52.0
+Requires:      jsonrpc-glib >= 3.43.0
+Requires:      libadwaita >= 1.4
+Requires:      libdex >= 0.2
+Requires:      libgit2-glib >= 1.1.0
+Requires:      libpanel >= 1.1.2
+Requires:      libpeas2 >= 2.0
+Requires:      libportal >= 0.3
+Requires:      libsoup3 >= 3.0
 Requires:      libxml2 >= 1:2.9.0
 Requires:      pango >= 1:1.38.0
 Requires:      python3-modules >= 1:3.2.3
-Requires:      python3-pygobject3 >= 3.22.0
-%{?with_sysprof:Requires:      sysprof-ui-libs >= 3.33.4}
-Requires:      template-glib >= 3.28.0
-Requires:      vte >= 0.46
+Requires:      template-glib >= 3.36.1
+Requires:      vte-gtk4 >= 0.70.0
+Suggests:      python3-jedi
 Suggests:      python3-lxml
-Obsoletes:     gnome-builder-mm
+Obsoletes:     gnome-builder-mm < 3.24
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                abiver  45
+%define                apiver  45
+
+# must comply to pygobject3 due to "..importer" import
+%define                py3_gi_overridesdir     %{py3_sitedir}/gi/overrides
+
 %description
 Builder attempts to be an IDE for writing software for GNOME. It does
 not try to be a generic IDE, but one specialized for writing GNOME
@@ -120,16 +120,15 @@ Summary:  Development files for GNOME Builder
 Summary(pl.UTF-8):     Pliki programistyczne GNOME Buildera
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
-Requires:      glib2-devel >= 1:2.61.2
-Requires:      gtk+3-devel >= 3.22.26
-Requires:      gtksourceview4-devel >= 4.0.0
-Requires:      jsonrpc-glib-devel >= 3.30.0
-Requires:      libdazzle-devel >= 3.34.0
-Requires:      libpeas-devel >= 1.22.0
-Requires:      pango-devel >= 1:1.38.0
-Requires:      template-glib-devel >= 3.28.0
-Requires:      vte-devel >= 0.46
-Obsoletes:     gnome-builder-mm-devel
+Requires:      glib2-devel >= 1:2.75.0
+Requires:      gtk-webkit6-devel >= 2.40
+Requires:      gtk4-devel >= 4.10
+Requires:      gtksourceview5-devel >= 5.8
+Requires:      libpeas2-devel >= 2.0
+Requires:      template-glib-devel >= 3.36.1
+Requires:      vte-gtk4-devel >= 0.70.0
+Obsoletes:     gnome-builder-mm-devel < 3.24
+Obsoletes:     vala-gnome-builder < 3.36
 
 %description devel
 This package provides development files for GNOME Builder.
@@ -137,31 +136,12 @@ This package provides development files for GNOME Builder.
 %description devel -l pl.UTF-8
 Ten pakiet zawiera pliki programistyczne GNOME Buildera.
 
-%package -n vala-gnome-builder
-Summary:       Vala API for GNOME Builder
-Summary(pl.UTF-8):     API języka Vala dla GNOME Buildera
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}-%{release}
-Requires:      vala >= 2:0.30
-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 -n vala-gnome-builder -l pl.UTF-8
-API języka Vala dla GNOME Buildera.
-
 %package doc
 Summary:       GNOME Builder documentation
 Summary(pl.UTF-8):     Dokumentacja do GNOME Buildera
 Group:         Documentation
 Requires:      %{name} = %{version}-%{release}
-%if "%{_rpmversion}" >= "5"
 BuildArch:     noarch
-%endif
 
 %description doc
 GNOME Builder documentation.
@@ -173,9 +153,7 @@ Dokumentacja do GNOME Buildera.
 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.
@@ -185,23 +163,23 @@ 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},
-}'
+# drop useless shebang
+grep -q /usr/bin/env src/libide/Ide.py || exit 1
+%{__sed} -i -e '1d' src/libide/Ide.py
 
 %build
+# python.purelibdir changed to place overrides file properly
+# (possible only because there are no other system-wide python modules installed)
 %meson build \
 %if %{with apidocs}
        -Ddocs=true \
        -Dhelp=true \
 %endif
+       -Dplugin_clangd=true \
        -Dplugin_sysprof=%{__true_false sysprof} \
-       -Dplugin_vagrant=true \
-       -Dplugin_vala=%{__true_false vala_pack}
+       -Dpython.bytecompile=2 \
+       -Dpython.purelibdir=%{py3_sitedir}
 # -Dplugin_deviced=true
 
 %meson_build -C build
@@ -211,8 +189,14 @@ rm -rf $RPM_BUILD_ROOT
 
 %meson_install -C build
 
+# for external plugins
+install -d $RPM_BUILD_ROOT%{_libdir}/gnome-builder/plugins
+
 %if %{with apidocs}
-%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/gnome-builder/en/{.buildinfo,.doctrees,_sources}
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/gnome-builder/en/{.buildinfo,_sources,objects.inv}
+
+install -d $RPM_BUILD_ROOT%{_gidocdir}
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/libide $RPM_BUILD_ROOT%{_gidocdir}
 %endif
 
 %find_lang %{name} --with-gnome
@@ -234,128 +218,48 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/gnome-builder
 %dir %{_libdir}/gnome-builder
 %dir %{_libdir}/gnome-builder/girepository-1.0
-%{_libdir}/gnome-builder/girepository-1.0/Ide-*.typelib
+%{_libdir}/gnome-builder/girepository-1.0/Ide-%{abiver}.typelib
 %dir %{_libdir}/gnome-builder/plugins
 %attr(755,root,root) %{_libexecdir}/gnome-builder-clang
+%attr(755,root,root) %{_libexecdir}/gnome-builder-flatpak
 %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/eslint.plugin
-%{_libdir}/gnome-builder/plugins/eslint_plugin.py
-%{_datadir}/glib-2.0/schemas/org.gnome.builder.plugins.eslint.gschema.xml
-
-%{_libdir}/gnome-builder/plugins/find-other-file.plugin
-%{_libdir}/gnome-builder/plugins/find_other_file.py
-
-%{_libdir}/gnome-builder/plugins/gjs_symbols.plugin
-%{_libdir}/gnome-builder/plugins/gjs_symbols.py
-
-%{_libdir}/gnome-builder/plugins/go-langserv.plugin
-%{_libdir}/gnome-builder/plugins/go_langserver_plugin.py
-
-%{_libdir}/gnome-builder/plugins/html_preview.gresource
-%{_libdir}/gnome-builder/plugins/html-preview.plugin
-%{_libdir}/gnome-builder/plugins/html_preview.py
-
-%{_libdir}/gnome-builder/plugins/jedi.plugin
-%{_libdir}/gnome-builder/plugins/jedi_plugin.py
-
-%{_libdir}/gnome-builder/plugins/jhbuild.plugin
-%{_libdir}/gnome-builder/plugins/jhbuild_plugin.py
-
-%{_libdir}/gnome-builder/plugins/make.plugin
-%{_libdir}/gnome-builder/plugins/make_plugin.gresource
-%{_libdir}/gnome-builder/plugins/make_plugin.py
-
-%{_libdir}/gnome-builder/plugins/meson-templates.plugin
-%{_libdir}/gnome-builder/plugins/meson_templates.gresource
-%{_libdir}/gnome-builder/plugins/meson_templates.py
-
-%{_libdir}/gnome-builder/plugins/mono.plugin
-%{_libdir}/gnome-builder/plugins/mono_plugin.py
-
-%{_libdir}/gnome-builder/plugins/npm.plugin
-%{_libdir}/gnome-builder/plugins/npm_plugin.py
-
-%{_libdir}/gnome-builder/plugins/phpize.plugin
-%{_libdir}/gnome-builder/plugins/phpize_plugin.py
-
-%{_libdir}/gnome-builder/plugins/python-gi-imports-completion.plugin
-%{_libdir}/gnome-builder/plugins/python_gi_imports_completion.py
-
-%{_libdir}/gnome-builder/plugins/rustup.plugin
-%{_libdir}/gnome-builder/plugins/rustup_plugin.gresource
-%{_libdir}/gnome-builder/plugins/rustup_plugin.py
-
-%{_libdir}/gnome-builder/plugins/gradle.plugin
-%{_libdir}/gnome-builder/plugins/gradle_plugin.py
-
-%{_libdir}/gnome-builder/plugins/maven.plugin
-%{_libdir}/gnome-builder/plugins/maven_plugin.py
-
-%{_libdir}/gnome-builder/plugins/rls.plugin
-%{_libdir}/gnome-builder/plugins/rls_plugin.py
-
-%{_libdir}/gnome-builder/plugins/waf.plugin
-%{_libdir}/gnome-builder/plugins/waf_plugin.py
-
-%if %{with sysprof}
-# not installed since 3.28
-#%{_libdir}/gnome-builder/plugins/sysprof.plugin
-%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
-
-%{_libdir}/gnome-builder/plugins/valgrind.plugin
-%{_libdir}/gnome-builder/plugins/valgrind_plugin.gresource
-%{_libdir}/gnome-builder/plugins/valgrind_plugin.py
-
+%{_datadir}/gnome-builder/styles
 %{_datadir}/dbus-1/services/org.gnome.Builder.service
 %{_datadir}/glib-2.0/schemas/org.gnome.builder.gschema.xml
 %{_datadir}/glib-2.0/schemas/org.gnome.builder.build.gschema.xml
 %{_datadir}/glib-2.0/schemas/org.gnome.builder.clang.gschema.xml
 %{_datadir}/glib-2.0/schemas/org.gnome.builder.code-insight.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnome.builder.copyright.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnome.builder.debug.gschema.xml
 %{_datadir}/glib-2.0/schemas/org.gnome.builder.editor.gschema.xml
 %{_datadir}/glib-2.0/schemas/org.gnome.builder.editor.language.gschema.xml
 %{_datadir}/glib-2.0/schemas/org.gnome.builder.extension-type.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnome.builder.gnome-code-assistance.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnome.builder.flatpak.gschema.xml
 %{_datadir}/glib-2.0/schemas/org.gnome.builder.plugin.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnome.builder.plugins.color_picker_plugin.gschema.xml
 %{_datadir}/glib-2.0/schemas/org.gnome.builder.project.gschema.xml
 %{_datadir}/glib-2.0/schemas/org.gnome.builder.project-tree.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnome.builder.shellcmd.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnome.builder.shellcmd.command.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnome.builder.spelling.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnome.builder.sysprof.gschema.xml
 %{_datadir}/glib-2.0/schemas/org.gnome.builder.terminal.gschema.xml
-%{_datadir}/glib-2.0/schemas/org.gnome.builder.workbench.gschema.xml
-%{_datadir}/gtksourceview-3.0/styles/builder*.xml
-%{_datadir}/gtksourceview-4/styles/builder*.xml
+%{_datadir}/glib-2.0/schemas/org.gnome.builder.valgrind.gschema.xml
 %{_datadir}/metainfo/org.gnome.Builder.appdata.xml
 %{_desktopdir}/org.gnome.Builder.desktop
 %{_iconsdir}/hicolor/scalable/apps/org.gnome.Builder-symbolic.svg
 %{_iconsdir}/hicolor/scalable/apps/org.gnome.Builder.svg
-%{py3_sitedir}/gi/overrides/Ide.py
+%{py3_gi_overridesdir}/Ide.py
+%{py3_gi_overridesdir}/__pycache__/Ide.cpython-*.py[co]
 
 %files devel
 %defattr(644,root,root,755)
-%{_includedir}/gnome-builder
-%{_includedir}/gnome-builder-*
+%{_includedir}/gnome-builder-%{apiver}
 %dir %{_datadir}/gnome-builder/gir-1.0
-%{_datadir}/gnome-builder/gir-1.0/Ide-*.gir
-%dir %{_libdir}/gnome-builder/pkgconfig
-%{_libdir}/gnome-builder/pkgconfig/gnome-builder-*.pc
-
-%files -n vala-gnome-builder
-%defattr(644,root,root,755)
-%dir %{_datadir}/gnome-builder/vapi
-%{_datadir}/gnome-builder/vapi/libide-*.deps
-%{_datadir}/gnome-builder/vapi/libide-*.vapi
+%{_datadir}/gnome-builder/gir-1.0/Ide-%{abiver}.gir
+%{_pkgconfigdir}/gnome-builder-%{version}.pc
 
 %if %{with apidocs}
 %files doc
@@ -365,5 +269,5 @@ rm -rf $RPM_BUILD_ROOT
 
 %files apidocs
 %defattr(644,root,root,755)
-%{_gtkdocdir}/libide
+%{_gidocdir}/libide
 %endif
This page took 0.055024 seconds and 4 git commands to generate.