]>
Commit | Line | Data |
---|---|---|
1cccaab5 | 1 | # TODO: |
f622ebd8 | 2 | # - switch to gtk4-update-icon-cache |
ee68e9fa | 3 | # - deviced plugin (BR: libdeviced-devel >= 3.27.4) |
39abfbb5 JB |
4 | # |
5 | # Conditional build: | |
c661ac6e | 6 | %bcond_without sysprof # sysprof system profiler plugin |
be928a8e | 7 | %bcond_without apidocs # Sphinx based help + gi-docgen API documentation |
39abfbb5 | 8 | # |
8498f58c | 9 | Summary: IDE for writing GNOME-based software |
19c49b6b | 10 | Summary(pl.UTF-8): IDE do tworzenia oprogramowania opartego na GNOME |
8498f58c | 11 | Name: gnome-builder |
1ccb0b24 | 12 | Version: 45.0 |
8819b051 | 13 | Release: 3 |
19c49b6b | 14 | License: GPL v3+ |
8498f58c | 15 | Group: X11/Applications |
1ccb0b24 JB |
16 | Source0: https://download.gnome.org/sources/gnome-builder/45/%{name}-%{version}.tar.xz |
17 | # Source0-md5: dc095a68d1b4d44b7ee7eda5fd3c9c10 | |
8ce73bde | 18 | Patch0: missing-includes.patch |
8498f58c | 19 | URL: https://wiki.gnome.org/Apps/Builder |
3bb6040e | 20 | BuildRequires: appstream-glib |
517ea467 | 21 | BuildRequires: clang-devel >= 3.5 |
be928a8e | 22 | BuildRequires: cmark-devel >= 0.29.0 |
35233ca9 | 23 | BuildRequires: desktop-file-utils |
f622ebd8 JB |
24 | BuildRequires: dspy-devel >= 1.4.0 |
25 | BuildRequires: editorconfig-devel | |
c661ac6e | 26 | BuildRequires: enchant2-devel >= 2 |
b284fd02 | 27 | BuildRequires: flatpak-devel >= 1.11.2 |
19c49b6b JB |
28 | # -std=gnu11 for C |
29 | BuildRequires: gcc >= 6:4.7 | |
35233ca9 | 30 | BuildRequires: gettext-tools >= 0.19.8 |
d0f45117 | 31 | BuildRequires: glib2-devel >= 1:2.75.0 |
1ccb0b24 JB |
32 | BuildRequires: gobject-introspection-devel >= 1.74 |
33 | BuildRequires: gtk4-devel >= 4.10 | |
be928a8e | 34 | %{?with_apidocs:BuildRequires: gi-docgen} |
d0f45117 | 35 | BuildRequires: gtk-webkit6-devel >= 2.40 |
1ccb0b24 | 36 | BuildRequires: gtksourceview5-devel >= 5.8 |
35233ca9 | 37 | BuildRequires: json-glib-devel >= 1.2.0 |
d0f45117 | 38 | BuildRequires: jsonrpc-glib-devel >= 3.43.0 |
1ccb0b24 JB |
39 | BuildRequires: libadwaita-devel >= 1.4 |
40 | BuildRequires: libdex-devel >= 0.2 | |
f622ebd8 | 41 | BuildRequires: libgit2-glib-devel >= 1.1.0 |
1ccb0b24 | 42 | BuildRequires: libpeas2-devel >= 2.0 |
d0f45117 | 43 | BuildRequires: libpanel-devel >= 1.1.2 |
f622ebd8 JB |
44 | BuildRequires: libportal-gtk4-devel |
45 | BuildRequires: libsoup3-devel >= 3.0 | |
b14f9614 JB |
46 | # -std=c++2a |
47 | BuildRequires: libstdc++-devel >= 6:8 | |
19c49b6b | 48 | BuildRequires: libxml2-devel >= 1:2.9.0 |
517ea467 | 49 | BuildRequires: llvm-devel >= 3.5 |
f622ebd8 | 50 | BuildRequires: meson >= 0.60 |
4c5bc2e8 | 51 | BuildRequires: ninja >= 1.5 |
3bb6040e | 52 | BuildRequires: ostree-devel |
35233ca9 | 53 | BuildRequires: pango-devel >= 1:1.38.0 |
be928a8e | 54 | BuildRequires: pcre2-common-devel |
19c49b6b | 55 | BuildRequires: pkgconfig >= 1:0.22 |
ac0c2738 | 56 | BuildRequires: python3-devel >= 1:3.2.3 |
be928a8e | 57 | %{?with_apidocs:BuildRequires: python3-sphinx_rtd_theme} |
336aa477 | 58 | BuildRequires: rpm-build >= 4.6 |
2af9d48e | 59 | BuildRequires: rpmbuild(macros) >= 2.029 |
d0f45117 | 60 | BuildRequires: sed >= 4.0 |
ee68e9fa | 61 | %{?with_apidocs:BuildRequires: sphinx-pdg-3} |
1ccb0b24 | 62 | %{?with_sysprof:BuildRequires: sysprof-devel >= 45.0} |
8498f58c | 63 | BuildRequires: tar >= 1:1.22 |
d0f45117 | 64 | BuildRequires: template-glib-devel >= 3.36.1 |
ac0c2738 | 65 | BuildRequires: vala >= 2:0.30.0.55 |
1ccb0b24 | 66 | BuildRequires: vala-gtksourceview5 >= 5.8 |
f622ebd8 | 67 | BuildRequires: vala-libgit2-glib >= 1.1.0 |
d0f45117 | 68 | BuildRequires: vala-template-glib >= 3.36.1 |
f622ebd8 | 69 | BuildRequires: vte-gtk4-devel >= 0.70.0 |
8498f58c | 70 | BuildRequires: xz |
ac0c2738 | 71 | BuildRequires: yelp-tools |
d0f45117 | 72 | Requires(post,postun): glib2 >= 1:2.75.0 |
8498f58c | 73 | Requires(post,postun): gtk-update-icon-cache |
be928a8e | 74 | Requires: cmark-lib >= 0.29.0 |
ac0c2738 | 75 | Requires: ctags |
f622ebd8 | 76 | Requires: dspy-libs >= 1.4.0 |
c661ac6e | 77 | Requires: enchant2 >= 2 |
b284fd02 | 78 | Requires: flatpak-libs >= 1.11.2 |
d0f45117 | 79 | Requires: glib2 >= 1:2.75.0 |
1ccb0b24 | 80 | Requires: gtk4 >= 4.10 |
d0f45117 | 81 | Requires: gtk-webkit6 >= 2.40 |
1ccb0b24 | 82 | Requires: gtksourceview5 >= 5.8 |
8498f58c | 83 | Requires: hicolor-icon-theme |
35233ca9 | 84 | Requires: json-glib >= 1.2.0 |
d0f45117 | 85 | Requires: jsonrpc-glib >= 3.43.0 |
1ccb0b24 JB |
86 | Requires: libadwaita >= 1.4 |
87 | Requires: libdex >= 0.2 | |
f622ebd8 | 88 | Requires: libgit2-glib >= 1.1.0 |
d0f45117 | 89 | Requires: libpanel >= 1.1.2 |
1ccb0b24 | 90 | Requires: libpeas2 >= 2.0 |
4c5bc2e8 | 91 | Requires: libportal >= 0.3 |
f622ebd8 | 92 | Requires: libsoup3 >= 3.0 |
19c49b6b | 93 | Requires: libxml2 >= 1:2.9.0 |
35233ca9 JB |
94 | Requires: pango >= 1:1.38.0 |
95 | Requires: python3-modules >= 1:3.2.3 | |
d0f45117 | 96 | Requires: template-glib >= 3.36.1 |
f622ebd8 | 97 | Requires: vte-gtk4 >= 0.70.0 |
3871e6e3 | 98 | Suggests: python3-jedi |
95b49819 | 99 | Suggests: python3-lxml |
336aa477 | 100 | Obsoletes: gnome-builder-mm < 3.24 |
8498f58c MB |
101 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
102 | ||
1ccb0b24 JB |
103 | %define abiver 45 |
104 | %define apiver 45 | |
4c5bc2e8 | 105 | |
d0f45117 JB |
106 | # must comply to pygobject3 due to "..importer" import |
107 | %define py3_gi_overridesdir %{py3_sitedir}/gi/overrides | |
8d63a934 | 108 | |
8498f58c MB |
109 | %description |
110 | Builder attempts to be an IDE for writing software for GNOME. It does | |
111 | not try to be a generic IDE, but one specialized for writing GNOME | |
112 | software. | |
113 | ||
19c49b6b JB |
114 | %description -l pl.UTF-8 |
115 | Builder jest próbą stworzenia IDE do rozwijania oprogramowania dla | |
116 | GNOME. Nie próbuje być ogólnym IDE, ale wyspecjalizowanym do pisania | |
117 | oprogramowania dla GNOME. | |
118 | ||
8498f58c MB |
119 | %package devel |
120 | Summary: Development files for GNOME Builder | |
19c49b6b | 121 | Summary(pl.UTF-8): Pliki programistyczne GNOME Buildera |
8498f58c | 122 | Group: Development/Libraries |
517ea467 | 123 | Requires: %{name} = %{version}-%{release} |
d0f45117 JB |
124 | Requires: glib2-devel >= 1:2.75.0 |
125 | Requires: gtk-webkit6-devel >= 2.40 | |
1ccb0b24 JB |
126 | Requires: gtk4-devel >= 4.10 |
127 | Requires: gtksourceview5-devel >= 5.8 | |
128 | Requires: libpeas2-devel >= 2.0 | |
d0f45117 | 129 | Requires: template-glib-devel >= 3.36.1 |
f622ebd8 | 130 | Requires: vte-gtk4-devel >= 0.70.0 |
336aa477 | 131 | Obsoletes: gnome-builder-mm-devel < 3.24 |
4c5bc2e8 | 132 | Obsoletes: vala-gnome-builder < 3.36 |
8498f58c MB |
133 | |
134 | %description devel | |
135 | This package provides development files for GNOME Builder. | |
136 | ||
19c49b6b JB |
137 | %description devel -l pl.UTF-8 |
138 | Ten pakiet zawiera pliki programistyczne GNOME Buildera. | |
139 | ||
c661ac6e JB |
140 | %package doc |
141 | Summary: GNOME Builder documentation | |
142 | Summary(pl.UTF-8): Dokumentacja do GNOME Buildera | |
143 | Group: Documentation | |
144 | Requires: %{name} = %{version}-%{release} | |
489a8f3e | 145 | BuildArch: noarch |
c661ac6e JB |
146 | |
147 | %description doc | |
148 | GNOME Builder documentation. | |
149 | ||
150 | %description doc -l pl.UTF-8 | |
151 | Dokumentacja do GNOME Buildera. | |
152 | ||
ee68e9fa JB |
153 | %package apidocs |
154 | Summary: API documentation for GNOME Builder libraries | |
155 | Summary(pl.UTF-8): Dokumentacja API bibliotek GNOME Buildera | |
156 | Group: Documentation | |
489a8f3e | 157 | BuildArch: noarch |
ee68e9fa JB |
158 | |
159 | %description apidocs | |
160 | API documentation for GNOME Builder libraries. | |
161 | ||
162 | %description apidocs -l pl.UTF-8 | |
163 | Dokumentacja API bibliotek GNOME Buildera. | |
164 | ||
8498f58c MB |
165 | %prep |
166 | %setup -q | |
8ce73bde | 167 | %patch0 -p1 |
8498f58c | 168 | |
d0f45117 JB |
169 | # drop useless shebang |
170 | grep -q /usr/bin/env src/libide/Ide.py || exit 1 | |
171 | %{__sed} -i -e '1d' src/libide/Ide.py | |
f777fa5b | 172 | |
8498f58c | 173 | %build |
d0f45117 JB |
174 | # python.purelibdir changed to place overrides file properly |
175 | # (possible only because there are no other system-wide python modules installed) | |
5512e48b | 176 | %meson build \ |
ee68e9fa JB |
177 | %if %{with apidocs} |
178 | -Ddocs=true \ | |
179 | -Dhelp=true \ | |
180 | %endif | |
b14f9614 | 181 | -Dplugin_clangd=true \ |
d0f45117 JB |
182 | -Dplugin_sysprof=%{__true_false sysprof} \ |
183 | -Dpython.bytecompile=2 \ | |
184 | -Dpython.purelibdir=%{py3_sitedir} | |
ee68e9fa | 185 | # -Dplugin_deviced=true |
5512e48b | 186 | |
60e8d9a8 | 187 | %ninja_build -C build |
8498f58c MB |
188 | |
189 | %install | |
190 | rm -rf $RPM_BUILD_ROOT | |
191 | ||
60e8d9a8 | 192 | %ninja_install -C build |
05a345d0 | 193 | |
f622ebd8 JB |
194 | # for external plugins |
195 | install -d $RPM_BUILD_ROOT%{_libdir}/gnome-builder/plugins | |
196 | ||
ee68e9fa | 197 | %if %{with apidocs} |
3fb38ab7 | 198 | %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/gnome-builder/en/{.buildinfo,_sources,objects.inv} |
be928a8e | 199 | |
2af9d48e JB |
200 | install -d $RPM_BUILD_ROOT%{_gidocdir} |
201 | %{__mv} $RPM_BUILD_ROOT%{_docdir}/libide $RPM_BUILD_ROOT%{_gidocdir} | |
ee68e9fa JB |
202 | %endif |
203 | ||
ac0c2738 | 204 | %find_lang %{name} --with-gnome |
8498f58c MB |
205 | |
206 | %clean | |
207 | rm -rf $RPM_BUILD_ROOT | |
208 | ||
209 | %post | |
210 | %glib_compile_schemas | |
211 | %update_icon_cache hicolor | |
212 | ||
213 | %postun | |
214 | %glib_compile_schemas | |
215 | %update_icon_cache hicolor | |
216 | ||
217 | %files -f %{name}.lang | |
218 | %defattr(644,root,root,755) | |
c2c301fb | 219 | %doc AUTHORS NEWS README.md |
8498f58c | 220 | %attr(755,root,root) %{_bindir}/gnome-builder |
19c49b6b | 221 | %dir %{_libdir}/gnome-builder |
19c49b6b | 222 | %dir %{_libdir}/gnome-builder/girepository-1.0 |
be928a8e | 223 | %{_libdir}/gnome-builder/girepository-1.0/Ide-%{abiver}.typelib |
517ea467 | 224 | %dir %{_libdir}/gnome-builder/plugins |
77929274 | 225 | %attr(755,root,root) %{_libexecdir}/gnome-builder-clang |
be928a8e | 226 | %attr(755,root,root) %{_libexecdir}/gnome-builder-flatpak |
d850a6cd | 227 | %attr(755,root,root) %{_libexecdir}/gnome-builder-git |
252de218 JB |
228 | %dir %{_datadir}/gnome-builder |
229 | %{_datadir}/gnome-builder/fonts | |
ee68e9fa | 230 | %{_datadir}/gnome-builder/icons |
f622ebd8 | 231 | %{_datadir}/gnome-builder/styles |
8498f58c | 232 | %{_datadir}/dbus-1/services/org.gnome.Builder.service |
19c49b6b | 233 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.gschema.xml |
ac0c2738 | 234 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.build.gschema.xml |
77929274 | 235 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.clang.gschema.xml |
19c49b6b | 236 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.code-insight.gschema.xml |
f622ebd8 JB |
237 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.copyright.gschema.xml |
238 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.debug.gschema.xml | |
8498f58c MB |
239 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.editor.gschema.xml |
240 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.editor.language.gschema.xml | |
517ea467 | 241 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.extension-type.gschema.xml |
d0f45117 | 242 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.flatpak.gschema.xml |
ac0c2738 | 243 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.plugin.gschema.xml |
ec500595 | 244 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.project.gschema.xml |
8498f58c | 245 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.project-tree.gschema.xml |
f622ebd8 JB |
246 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.shellcmd.gschema.xml |
247 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.shellcmd.command.gschema.xml | |
248 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.spelling.gschema.xml | |
249 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.sysprof.gschema.xml | |
ac0c2738 | 250 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.terminal.gschema.xml |
f622ebd8 | 251 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.valgrind.gschema.xml |
c661ac6e | 252 | %{_datadir}/metainfo/org.gnome.Builder.appdata.xml |
19c49b6b | 253 | %{_desktopdir}/org.gnome.Builder.desktop |
77929274 JR |
254 | %{_iconsdir}/hicolor/scalable/apps/org.gnome.Builder-symbolic.svg |
255 | %{_iconsdir}/hicolor/scalable/apps/org.gnome.Builder.svg | |
8d63a934 | 256 | %{py3_gi_overridesdir}/Ide.py |
d0f45117 | 257 | %{py3_gi_overridesdir}/__pycache__/Ide.cpython-*.py[co] |
8498f58c MB |
258 | |
259 | %files devel | |
260 | %defattr(644,root,root,755) | |
4c5bc2e8 | 261 | %{_includedir}/gnome-builder-%{apiver} |
517ea467 | 262 | %dir %{_datadir}/gnome-builder/gir-1.0 |
be928a8e | 263 | %{_datadir}/gnome-builder/gir-1.0/Ide-%{abiver}.gir |
b14f9614 | 264 | %{_pkgconfigdir}/gnome-builder-%{version}.pc |
ee68e9fa JB |
265 | |
266 | %if %{with apidocs} | |
267 | %files doc | |
268 | %defattr(644,root,root,755) | |
269 | %dir %{_docdir}/gnome-builder | |
270 | %{_docdir}/gnome-builder/en | |
271 | ||
272 | %files apidocs | |
273 | %defattr(644,root,root,755) | |
2af9d48e | 274 | %{_gidocdir}/libide |
ee68e9fa | 275 | %endif |