]>
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 |
d0f45117 | 12 | Version: 44.2 |
4dcc82bf | 13 | Release: 2 |
19c49b6b | 14 | License: GPL v3+ |
8498f58c | 15 | Group: X11/Applications |
d0f45117 JB |
16 | Source0: https://download.gnome.org/sources/gnome-builder/44/%{name}-%{version}.tar.xz |
17 | # Source0-md5: 81985d5bf55185052107bc6b14345cb5 | |
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 |
d0f45117 | 30 | BuildRequires: glib2-devel >= 1:2.75.0 |
ac0c2738 | 31 | BuildRequires: gobject-introspection-devel >= 1.48.0 |
d0f45117 | 32 | BuildRequires: gtk4-devel >= 4.8 |
be928a8e | 33 | %{?with_apidocs:BuildRequires: gi-docgen} |
d0f45117 JB |
34 | BuildRequires: gtk-webkit6-devel >= 2.40 |
35 | BuildRequires: gtksourceview5-devel >= 5.7.2 | |
35233ca9 | 36 | BuildRequires: json-glib-devel >= 1.2.0 |
d0f45117 JB |
37 | BuildRequires: jsonrpc-glib-devel >= 3.43.0 |
38 | BuildRequires: libadwaita-devel >= 1.3.0 | |
39 | BuildRequires: libdex-devel >= 0.1.1 | |
f622ebd8 JB |
40 | BuildRequires: libgit2-glib-devel >= 1.1.0 |
41 | BuildRequires: libpeas-devel >= 1.34.0 | |
d0f45117 | 42 | BuildRequires: libpanel-devel >= 1.1.2 |
f622ebd8 JB |
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 |
d0f45117 | 59 | BuildRequires: sed >= 4.0 |
ee68e9fa | 60 | %{?with_apidocs:BuildRequires: sphinx-pdg-3} |
f622ebd8 JB |
61 | %{?with_sysprof:BuildRequires: sysprof-devel >= 3.46.0} |
62 | %{?with_sysprof:BuildRequires: sysprof-ui-devel >= 3.46.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 |
d0f45117 | 66 | BuildRequires: vala-gtksourceview5 >= 5.7.2 |
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 JB |
79 | Requires: glib2 >= 1:2.75.0 |
80 | Requires: gtk4 >= 4.8 | |
81 | Requires: gtk-webkit6 >= 2.40 | |
82 | Requires: gtksourceview5 >= 5.7.2 | |
8498f58c | 83 | Requires: hicolor-icon-theme |
35233ca9 | 84 | Requires: json-glib >= 1.2.0 |
d0f45117 JB |
85 | Requires: jsonrpc-glib >= 3.43.0 |
86 | Requires: libadwaita >= 1.3.0 | |
87 | Requires: libdex >= 0.1.1 | |
f622ebd8 | 88 | Requires: libgit2-glib >= 1.1.0 |
d0f45117 | 89 | Requires: libpanel >= 1.1.2 |
f622ebd8 | 90 | Requires: libpeas >= 1.34.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 | |
f622ebd8 | 96 | %{?with_sysprof:Requires: sysprof-ui-libs >= 3.46.0} |
d0f45117 | 97 | Requires: template-glib >= 3.36.1 |
f622ebd8 | 98 | Requires: vte-gtk4 >= 0.70.0 |
3871e6e3 | 99 | Suggests: python3-jedi |
95b49819 | 100 | Suggests: python3-lxml |
336aa477 | 101 | Obsoletes: gnome-builder-mm < 3.24 |
8498f58c MB |
102 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
103 | ||
d0f45117 JB |
104 | %define abiver 44 |
105 | %define apiver 44 | |
4c5bc2e8 | 106 | |
d0f45117 JB |
107 | # must comply to pygobject3 due to "..importer" import |
108 | %define py3_gi_overridesdir %{py3_sitedir}/gi/overrides | |
8d63a934 | 109 | |
8498f58c MB |
110 | %description |
111 | Builder attempts to be an IDE for writing software for GNOME. It does | |
112 | not try to be a generic IDE, but one specialized for writing GNOME | |
113 | software. | |
114 | ||
19c49b6b JB |
115 | %description -l pl.UTF-8 |
116 | Builder jest próbą stworzenia IDE do rozwijania oprogramowania dla | |
117 | GNOME. Nie próbuje być ogólnym IDE, ale wyspecjalizowanym do pisania | |
118 | oprogramowania dla GNOME. | |
119 | ||
8498f58c MB |
120 | %package devel |
121 | Summary: Development files for GNOME Builder | |
19c49b6b | 122 | Summary(pl.UTF-8): Pliki programistyczne GNOME Buildera |
8498f58c | 123 | Group: Development/Libraries |
517ea467 | 124 | Requires: %{name} = %{version}-%{release} |
d0f45117 JB |
125 | Requires: glib2-devel >= 1:2.75.0 |
126 | Requires: gtk-webkit6-devel >= 2.40 | |
127 | Requires: gtk4-devel >= 4.8 | |
128 | Requires: gtksourceview5-devel >= 5.7.2 | |
f622ebd8 | 129 | Requires: libpeas-devel >= 1.34.0 |
d0f45117 | 130 | Requires: template-glib-devel >= 3.36.1 |
f622ebd8 | 131 | Requires: vte-gtk4-devel >= 0.70.0 |
336aa477 | 132 | Obsoletes: gnome-builder-mm-devel < 3.24 |
4c5bc2e8 | 133 | Obsoletes: vala-gnome-builder < 3.36 |
8498f58c MB |
134 | |
135 | %description devel | |
136 | This package provides development files for GNOME Builder. | |
137 | ||
19c49b6b JB |
138 | %description devel -l pl.UTF-8 |
139 | Ten pakiet zawiera pliki programistyczne GNOME Buildera. | |
140 | ||
c661ac6e JB |
141 | %package doc |
142 | Summary: GNOME Builder documentation | |
143 | Summary(pl.UTF-8): Dokumentacja do GNOME Buildera | |
144 | Group: Documentation | |
145 | Requires: %{name} = %{version}-%{release} | |
489a8f3e | 146 | BuildArch: noarch |
c661ac6e JB |
147 | |
148 | %description doc | |
149 | GNOME Builder documentation. | |
150 | ||
151 | %description doc -l pl.UTF-8 | |
152 | Dokumentacja do GNOME Buildera. | |
153 | ||
ee68e9fa JB |
154 | %package apidocs |
155 | Summary: API documentation for GNOME Builder libraries | |
156 | Summary(pl.UTF-8): Dokumentacja API bibliotek GNOME Buildera | |
157 | Group: Documentation | |
489a8f3e | 158 | BuildArch: noarch |
ee68e9fa JB |
159 | |
160 | %description apidocs | |
161 | API documentation for GNOME Builder libraries. | |
162 | ||
163 | %description apidocs -l pl.UTF-8 | |
164 | Dokumentacja API bibliotek GNOME Buildera. | |
165 | ||
8498f58c MB |
166 | %prep |
167 | %setup -q | |
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 JR |
186 | |
187 | %meson_build -C build | |
8498f58c MB |
188 | |
189 | %install | |
190 | rm -rf $RPM_BUILD_ROOT | |
191 | ||
5512e48b | 192 | %meson_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 JB |
199 | |
200 | # FIXME: where to package gi-docgen generated docs? | |
201 | install -d $RPM_BUILD_ROOT%{_gtkdocdir} | |
202 | %{__mv} $RPM_BUILD_ROOT%{_docdir}/libide $RPM_BUILD_ROOT%{_gtkdocdir} | |
ee68e9fa JB |
203 | %endif |
204 | ||
ac0c2738 | 205 | %find_lang %{name} --with-gnome |
8498f58c MB |
206 | |
207 | %clean | |
208 | rm -rf $RPM_BUILD_ROOT | |
209 | ||
210 | %post | |
211 | %glib_compile_schemas | |
212 | %update_icon_cache hicolor | |
213 | ||
214 | %postun | |
215 | %glib_compile_schemas | |
216 | %update_icon_cache hicolor | |
217 | ||
218 | %files -f %{name}.lang | |
219 | %defattr(644,root,root,755) | |
c2c301fb | 220 | %doc AUTHORS NEWS README.md |
8498f58c | 221 | %attr(755,root,root) %{_bindir}/gnome-builder |
19c49b6b | 222 | %dir %{_libdir}/gnome-builder |
19c49b6b | 223 | %dir %{_libdir}/gnome-builder/girepository-1.0 |
be928a8e | 224 | %{_libdir}/gnome-builder/girepository-1.0/Ide-%{abiver}.typelib |
517ea467 | 225 | %dir %{_libdir}/gnome-builder/plugins |
77929274 | 226 | %attr(755,root,root) %{_libexecdir}/gnome-builder-clang |
be928a8e | 227 | %attr(755,root,root) %{_libexecdir}/gnome-builder-flatpak |
d850a6cd | 228 | %attr(755,root,root) %{_libexecdir}/gnome-builder-git |
252de218 JB |
229 | %dir %{_datadir}/gnome-builder |
230 | %{_datadir}/gnome-builder/fonts | |
ee68e9fa | 231 | %{_datadir}/gnome-builder/icons |
f622ebd8 | 232 | %{_datadir}/gnome-builder/styles |
8498f58c | 233 | %{_datadir}/dbus-1/services/org.gnome.Builder.service |
19c49b6b | 234 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.gschema.xml |
ac0c2738 | 235 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.build.gschema.xml |
77929274 | 236 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.clang.gschema.xml |
19c49b6b | 237 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.code-insight.gschema.xml |
f622ebd8 JB |
238 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.copyright.gschema.xml |
239 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.debug.gschema.xml | |
8498f58c MB |
240 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.editor.gschema.xml |
241 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.editor.language.gschema.xml | |
517ea467 | 242 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.extension-type.gschema.xml |
d0f45117 | 243 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.flatpak.gschema.xml |
ac0c2738 | 244 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.plugin.gschema.xml |
ec500595 | 245 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.project.gschema.xml |
8498f58c | 246 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.project-tree.gschema.xml |
f622ebd8 JB |
247 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.shellcmd.gschema.xml |
248 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.shellcmd.command.gschema.xml | |
249 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.spelling.gschema.xml | |
250 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.sysprof.gschema.xml | |
ac0c2738 | 251 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.terminal.gschema.xml |
f622ebd8 | 252 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.valgrind.gschema.xml |
c661ac6e | 253 | %{_datadir}/metainfo/org.gnome.Builder.appdata.xml |
19c49b6b | 254 | %{_desktopdir}/org.gnome.Builder.desktop |
77929274 JR |
255 | %{_iconsdir}/hicolor/scalable/apps/org.gnome.Builder-symbolic.svg |
256 | %{_iconsdir}/hicolor/scalable/apps/org.gnome.Builder.svg | |
8d63a934 | 257 | %{py3_gi_overridesdir}/Ide.py |
d0f45117 | 258 | %{py3_gi_overridesdir}/__pycache__/Ide.cpython-*.py[co] |
8498f58c MB |
259 | |
260 | %files devel | |
261 | %defattr(644,root,root,755) | |
4c5bc2e8 | 262 | %{_includedir}/gnome-builder-%{apiver} |
517ea467 | 263 | %dir %{_datadir}/gnome-builder/gir-1.0 |
be928a8e | 264 | %{_datadir}/gnome-builder/gir-1.0/Ide-%{abiver}.gir |
b14f9614 | 265 | %{_pkgconfigdir}/gnome-builder-%{version}.pc |
ee68e9fa JB |
266 | |
267 | %if %{with apidocs} | |
268 | %files doc | |
269 | %defattr(644,root,root,755) | |
270 | %dir %{_docdir}/gnome-builder | |
271 | %{_docdir}/gnome-builder/en | |
272 | ||
273 | %files apidocs | |
274 | %defattr(644,root,root,755) | |
275 | %{_gtkdocdir}/libide | |
276 | %endif |