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