]>
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 JB |
12 | Version: 45.0 |
13 | Release: 1 | |
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 | |
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 |
1ccb0b24 JB |
31 | BuildRequires: gobject-introspection-devel >= 1.74 |
32 | BuildRequires: gtk4-devel >= 4.10 | |
be928a8e | 33 | %{?with_apidocs:BuildRequires: gi-docgen} |
d0f45117 | 34 | BuildRequires: gtk-webkit6-devel >= 2.40 |
1ccb0b24 | 35 | BuildRequires: gtksourceview5-devel >= 5.8 |
35233ca9 | 36 | BuildRequires: json-glib-devel >= 1.2.0 |
d0f45117 | 37 | BuildRequires: jsonrpc-glib-devel >= 3.43.0 |
1ccb0b24 JB |
38 | BuildRequires: libadwaita-devel >= 1.4 |
39 | BuildRequires: libdex-devel >= 0.2 | |
f622ebd8 | 40 | BuildRequires: libgit2-glib-devel >= 1.1.0 |
1ccb0b24 | 41 | BuildRequires: libpeas2-devel >= 2.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 |
2af9d48e | 58 | BuildRequires: rpmbuild(macros) >= 2.029 |
d0f45117 | 59 | BuildRequires: sed >= 4.0 |
ee68e9fa | 60 | %{?with_apidocs:BuildRequires: sphinx-pdg-3} |
1ccb0b24 | 61 | %{?with_sysprof:BuildRequires: sysprof-devel >= 45.0} |
8498f58c | 62 | BuildRequires: tar >= 1:1.22 |
d0f45117 | 63 | BuildRequires: template-glib-devel >= 3.36.1 |
ac0c2738 | 64 | BuildRequires: vala >= 2:0.30.0.55 |
1ccb0b24 | 65 | BuildRequires: vala-gtksourceview5 >= 5.8 |
f622ebd8 | 66 | BuildRequires: vala-libgit2-glib >= 1.1.0 |
d0f45117 | 67 | BuildRequires: vala-template-glib >= 3.36.1 |
f622ebd8 | 68 | BuildRequires: vte-gtk4-devel >= 0.70.0 |
8498f58c | 69 | BuildRequires: xz |
ac0c2738 | 70 | BuildRequires: yelp-tools |
d0f45117 | 71 | Requires(post,postun): glib2 >= 1:2.75.0 |
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 |
d0f45117 | 78 | Requires: glib2 >= 1:2.75.0 |
1ccb0b24 | 79 | Requires: gtk4 >= 4.10 |
d0f45117 | 80 | Requires: gtk-webkit6 >= 2.40 |
1ccb0b24 | 81 | Requires: gtksourceview5 >= 5.8 |
8498f58c | 82 | Requires: hicolor-icon-theme |
35233ca9 | 83 | Requires: json-glib >= 1.2.0 |
d0f45117 | 84 | Requires: jsonrpc-glib >= 3.43.0 |
1ccb0b24 JB |
85 | Requires: libadwaita >= 1.4 |
86 | Requires: libdex >= 0.2 | |
f622ebd8 | 87 | Requires: libgit2-glib >= 1.1.0 |
d0f45117 | 88 | Requires: libpanel >= 1.1.2 |
1ccb0b24 | 89 | Requires: libpeas2 >= 2.0 |
4c5bc2e8 | 90 | Requires: libportal >= 0.3 |
f622ebd8 | 91 | Requires: libsoup3 >= 3.0 |
19c49b6b | 92 | Requires: libxml2 >= 1:2.9.0 |
35233ca9 JB |
93 | Requires: pango >= 1:1.38.0 |
94 | Requires: python3-modules >= 1:3.2.3 | |
f622ebd8 | 95 | %{?with_sysprof:Requires: sysprof-ui-libs >= 3.46.0} |
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 | |
167 | ||
d0f45117 JB |
168 | # drop useless shebang |
169 | grep -q /usr/bin/env src/libide/Ide.py || exit 1 | |
170 | %{__sed} -i -e '1d' src/libide/Ide.py | |
f777fa5b | 171 | |
8498f58c | 172 | %build |
d0f45117 JB |
173 | # python.purelibdir changed to place overrides file properly |
174 | # (possible only because there are no other system-wide python modules installed) | |
5512e48b | 175 | %meson build \ |
ee68e9fa JB |
176 | %if %{with apidocs} |
177 | -Ddocs=true \ | |
178 | -Dhelp=true \ | |
179 | %endif | |
b14f9614 | 180 | -Dplugin_clangd=true \ |
d0f45117 JB |
181 | -Dplugin_sysprof=%{__true_false sysprof} \ |
182 | -Dpython.bytecompile=2 \ | |
183 | -Dpython.purelibdir=%{py3_sitedir} | |
ee68e9fa | 184 | # -Dplugin_deviced=true |
5512e48b JR |
185 | |
186 | %meson_build -C build | |
8498f58c MB |
187 | |
188 | %install | |
189 | rm -rf $RPM_BUILD_ROOT | |
190 | ||
5512e48b | 191 | %meson_install -C build |
05a345d0 | 192 | |
f622ebd8 JB |
193 | # for external plugins |
194 | install -d $RPM_BUILD_ROOT%{_libdir}/gnome-builder/plugins | |
195 | ||
ee68e9fa | 196 | %if %{with apidocs} |
3fb38ab7 | 197 | %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/gnome-builder/en/{.buildinfo,_sources,objects.inv} |
be928a8e | 198 | |
2af9d48e JB |
199 | install -d $RPM_BUILD_ROOT%{_gidocdir} |
200 | %{__mv} $RPM_BUILD_ROOT%{_docdir}/libide $RPM_BUILD_ROOT%{_gidocdir} | |
ee68e9fa JB |
201 | %endif |
202 | ||
ac0c2738 | 203 | %find_lang %{name} --with-gnome |
8498f58c MB |
204 | |
205 | %clean | |
206 | rm -rf $RPM_BUILD_ROOT | |
207 | ||
208 | %post | |
209 | %glib_compile_schemas | |
210 | %update_icon_cache hicolor | |
211 | ||
212 | %postun | |
213 | %glib_compile_schemas | |
214 | %update_icon_cache hicolor | |
215 | ||
216 | %files -f %{name}.lang | |
217 | %defattr(644,root,root,755) | |
c2c301fb | 218 | %doc AUTHORS NEWS README.md |
8498f58c | 219 | %attr(755,root,root) %{_bindir}/gnome-builder |
19c49b6b | 220 | %dir %{_libdir}/gnome-builder |
19c49b6b | 221 | %dir %{_libdir}/gnome-builder/girepository-1.0 |
be928a8e | 222 | %{_libdir}/gnome-builder/girepository-1.0/Ide-%{abiver}.typelib |
517ea467 | 223 | %dir %{_libdir}/gnome-builder/plugins |
77929274 | 224 | %attr(755,root,root) %{_libexecdir}/gnome-builder-clang |
be928a8e | 225 | %attr(755,root,root) %{_libexecdir}/gnome-builder-flatpak |
d850a6cd | 226 | %attr(755,root,root) %{_libexecdir}/gnome-builder-git |
252de218 JB |
227 | %dir %{_datadir}/gnome-builder |
228 | %{_datadir}/gnome-builder/fonts | |
ee68e9fa | 229 | %{_datadir}/gnome-builder/icons |
f622ebd8 | 230 | %{_datadir}/gnome-builder/styles |
8498f58c | 231 | %{_datadir}/dbus-1/services/org.gnome.Builder.service |
19c49b6b | 232 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.gschema.xml |
ac0c2738 | 233 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.build.gschema.xml |
77929274 | 234 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.clang.gschema.xml |
19c49b6b | 235 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.code-insight.gschema.xml |
f622ebd8 JB |
236 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.copyright.gschema.xml |
237 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.debug.gschema.xml | |
8498f58c MB |
238 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.editor.gschema.xml |
239 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.editor.language.gschema.xml | |
517ea467 | 240 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.extension-type.gschema.xml |
d0f45117 | 241 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.flatpak.gschema.xml |
ac0c2738 | 242 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.plugin.gschema.xml |
ec500595 | 243 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.project.gschema.xml |
8498f58c | 244 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.project-tree.gschema.xml |
f622ebd8 JB |
245 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.shellcmd.gschema.xml |
246 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.shellcmd.command.gschema.xml | |
247 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.spelling.gschema.xml | |
248 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.sysprof.gschema.xml | |
ac0c2738 | 249 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.terminal.gschema.xml |
f622ebd8 | 250 | %{_datadir}/glib-2.0/schemas/org.gnome.builder.valgrind.gschema.xml |
c661ac6e | 251 | %{_datadir}/metainfo/org.gnome.Builder.appdata.xml |
19c49b6b | 252 | %{_desktopdir}/org.gnome.Builder.desktop |
77929274 JR |
253 | %{_iconsdir}/hicolor/scalable/apps/org.gnome.Builder-symbolic.svg |
254 | %{_iconsdir}/hicolor/scalable/apps/org.gnome.Builder.svg | |
8d63a934 | 255 | %{py3_gi_overridesdir}/Ide.py |
d0f45117 | 256 | %{py3_gi_overridesdir}/__pycache__/Ide.cpython-*.py[co] |
8498f58c MB |
257 | |
258 | %files devel | |
259 | %defattr(644,root,root,755) | |
4c5bc2e8 | 260 | %{_includedir}/gnome-builder-%{apiver} |
517ea467 | 261 | %dir %{_datadir}/gnome-builder/gir-1.0 |
be928a8e | 262 | %{_datadir}/gnome-builder/gir-1.0/Ide-%{abiver}.gir |
b14f9614 | 263 | %{_pkgconfigdir}/gnome-builder-%{version}.pc |
ee68e9fa JB |
264 | |
265 | %if %{with apidocs} | |
266 | %files doc | |
267 | %defattr(644,root,root,755) | |
268 | %dir %{_docdir}/gnome-builder | |
269 | %{_docdir}/gnome-builder/en | |
270 | ||
271 | %files apidocs | |
272 | %defattr(644,root,root,755) | |
2af9d48e | 273 | %{_gidocdir}/libide |
ee68e9fa | 274 | %endif |