]> git.pld-linux.org Git - packages/gnome-builder.git/blob - gnome-builder.spec
a01180c163daf64b30f4c3054f33dcf77c91365b
[packages/gnome-builder.git] / gnome-builder.spec
1 # TODO:
2 # - switch to gtk4-update-icon-cache
3 # - deviced plugin (BR: libdeviced-devel >= 3.27.4)
4 #
5 # Conditional build:
6 %bcond_without  sysprof         # sysprof system profiler plugin
7 %bcond_without  apidocs         # Sphinx based help + gi-docgen API documentation
8 #
9 Summary:        IDE for writing GNOME-based software
10 Summary(pl.UTF-8):      IDE do tworzenia oprogramowania opartego na GNOME
11 Name:           gnome-builder
12 Version:        45.0
13 Release:        3
14 License:        GPL v3+
15 Group:          X11/Applications
16 Source0:        https://download.gnome.org/sources/gnome-builder/45/%{name}-%{version}.tar.xz
17 # Source0-md5:  dc095a68d1b4d44b7ee7eda5fd3c9c10
18 Patch0:         missing-includes.patch
19 URL:            https://wiki.gnome.org/Apps/Builder
20 BuildRequires:  appstream-glib
21 BuildRequires:  clang-devel >= 3.5
22 BuildRequires:  cmark-devel >= 0.29.0
23 BuildRequires:  desktop-file-utils
24 BuildRequires:  dspy-devel >= 1.4.0
25 BuildRequires:  editorconfig-devel
26 BuildRequires:  enchant2-devel >= 2
27 BuildRequires:  flatpak-devel >= 1.11.2
28 # -std=gnu11 for C
29 BuildRequires:  gcc >= 6:4.7
30 BuildRequires:  gettext-tools >= 0.19.8
31 BuildRequires:  glib2-devel >= 1:2.75.0
32 BuildRequires:  gobject-introspection-devel >= 1.74
33 BuildRequires:  gtk4-devel >= 4.10
34 %{?with_apidocs:BuildRequires:  gi-docgen}
35 BuildRequires:  gtk-webkit6-devel >= 2.40
36 BuildRequires:  gtksourceview5-devel >= 5.8
37 BuildRequires:  json-glib-devel >= 1.2.0
38 BuildRequires:  jsonrpc-glib-devel >= 3.43.0
39 BuildRequires:  libadwaita-devel >= 1.4
40 BuildRequires:  libdex-devel >= 0.2
41 BuildRequires:  libgit2-glib-devel >= 1.1.0
42 BuildRequires:  libpeas2-devel >= 2.0
43 BuildRequires:  libpanel-devel >= 1.1.2
44 BuildRequires:  libportal-gtk4-devel
45 BuildRequires:  libsoup3-devel >= 3.0
46 # -std=c++2a
47 BuildRequires:  libstdc++-devel >= 6:8
48 BuildRequires:  libxml2-devel >= 1:2.9.0
49 BuildRequires:  llvm-devel >= 3.5
50 BuildRequires:  meson >= 0.60
51 BuildRequires:  ninja >= 1.5
52 BuildRequires:  ostree-devel
53 BuildRequires:  pango-devel >= 1:1.38.0
54 BuildRequires:  pcre2-common-devel
55 BuildRequires:  pkgconfig >= 1:0.22
56 BuildRequires:  python3-devel >= 1:3.2.3
57 %{?with_apidocs:BuildRequires:  python3-sphinx_rtd_theme}
58 BuildRequires:  rpm-build >= 4.6
59 BuildRequires:  rpmbuild(macros) >= 2.029
60 BuildRequires:  sed >= 4.0
61 %{?with_apidocs:BuildRequires:  sphinx-pdg-3}
62 %{?with_sysprof:BuildRequires:  sysprof-devel >= 45.0}
63 BuildRequires:  tar >= 1:1.22
64 BuildRequires:  template-glib-devel >= 3.36.1
65 BuildRequires:  vala >= 2:0.30.0.55
66 BuildRequires:  vala-gtksourceview5 >= 5.8
67 BuildRequires:  vala-libgit2-glib >= 1.1.0
68 BuildRequires:  vala-template-glib >= 3.36.1
69 BuildRequires:  vte-gtk4-devel >= 0.70.0
70 BuildRequires:  xz
71 BuildRequires:  yelp-tools
72 Requires(post,postun):  glib2 >= 1:2.75.0
73 Requires(post,postun):  gtk-update-icon-cache
74 Requires:       cmark-lib >= 0.29.0
75 Requires:       ctags
76 Requires:       dspy-libs >= 1.4.0
77 Requires:       enchant2 >= 2
78 Requires:       flatpak-libs >= 1.11.2
79 Requires:       glib2 >= 1:2.75.0
80 Requires:       gtk4 >= 4.10
81 Requires:       gtk-webkit6 >= 2.40
82 Requires:       gtksourceview5 >= 5.8
83 Requires:       hicolor-icon-theme
84 Requires:       json-glib >= 1.2.0
85 Requires:       jsonrpc-glib >= 3.43.0
86 Requires:       libadwaita >= 1.4
87 Requires:       libdex >= 0.2
88 Requires:       libgit2-glib >= 1.1.0
89 Requires:       libpanel >= 1.1.2
90 Requires:       libpeas2 >= 2.0
91 Requires:       libportal >= 0.3
92 Requires:       libsoup3 >= 3.0
93 Requires:       libxml2 >= 1:2.9.0
94 Requires:       pango >= 1:1.38.0
95 Requires:       python3-modules >= 1:3.2.3
96 Requires:       template-glib >= 3.36.1
97 Requires:       vte-gtk4 >= 0.70.0
98 Suggests:       python3-jedi
99 Suggests:       python3-lxml
100 Obsoletes:      gnome-builder-mm < 3.24
101 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
102
103 %define         abiver  45
104 %define         apiver  45
105
106 # must comply to pygobject3 due to "..importer" import
107 %define         py3_gi_overridesdir     %{py3_sitedir}/gi/overrides
108
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
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
119 %package devel
120 Summary:        Development files for GNOME Builder
121 Summary(pl.UTF-8):      Pliki programistyczne GNOME Buildera
122 Group:          Development/Libraries
123 Requires:       %{name} = %{version}-%{release}
124 Requires:       glib2-devel >= 1:2.75.0
125 Requires:       gtk-webkit6-devel >= 2.40
126 Requires:       gtk4-devel >= 4.10
127 Requires:       gtksourceview5-devel >= 5.8
128 Requires:       libpeas2-devel >= 2.0
129 Requires:       template-glib-devel >= 3.36.1
130 Requires:       vte-gtk4-devel >= 0.70.0
131 Obsoletes:      gnome-builder-mm-devel < 3.24
132 Obsoletes:      vala-gnome-builder < 3.36
133
134 %description devel
135 This package provides development files for GNOME Builder.
136
137 %description devel -l pl.UTF-8
138 Ten pakiet zawiera pliki programistyczne GNOME Buildera.
139
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}
145 BuildArch:      noarch
146
147 %description doc
148 GNOME Builder documentation.
149
150 %description doc -l pl.UTF-8
151 Dokumentacja do GNOME Buildera.
152
153 %package apidocs
154 Summary:        API documentation for GNOME Builder libraries
155 Summary(pl.UTF-8):      Dokumentacja API bibliotek GNOME Buildera
156 Group:          Documentation
157 BuildArch:      noarch
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
165 %prep
166 %setup -q
167 %patch0 -p1
168
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
172
173 %build
174 # python.purelibdir changed to place overrides file properly
175 # (possible only because there are no other system-wide python modules installed)
176 %meson build \
177 %if %{with apidocs}
178         -Ddocs=true \
179         -Dhelp=true \
180 %endif
181         -Dplugin_clangd=true \
182         -Dplugin_sysprof=%{__true_false sysprof} \
183         -Dpython.bytecompile=2 \
184         -Dpython.purelibdir=%{py3_sitedir}
185 # -Dplugin_deviced=true
186
187 %ninja_build -C build
188
189 %install
190 rm -rf $RPM_BUILD_ROOT
191
192 %ninja_install -C build
193
194 # for external plugins
195 install -d $RPM_BUILD_ROOT%{_libdir}/gnome-builder/plugins
196
197 %if %{with apidocs}
198 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/gnome-builder/en/{.buildinfo,_sources,objects.inv}
199
200 install -d $RPM_BUILD_ROOT%{_gidocdir}
201 %{__mv} $RPM_BUILD_ROOT%{_docdir}/libide $RPM_BUILD_ROOT%{_gidocdir}
202 %endif
203
204 %find_lang %{name} --with-gnome
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)
219 %doc AUTHORS NEWS README.md
220 %attr(755,root,root) %{_bindir}/gnome-builder
221 %dir %{_libdir}/gnome-builder
222 %dir %{_libdir}/gnome-builder/girepository-1.0
223 %{_libdir}/gnome-builder/girepository-1.0/Ide-%{abiver}.typelib
224 %dir %{_libdir}/gnome-builder/plugins
225 %attr(755,root,root) %{_libexecdir}/gnome-builder-clang
226 %attr(755,root,root) %{_libexecdir}/gnome-builder-flatpak
227 %attr(755,root,root) %{_libexecdir}/gnome-builder-git
228 %dir %{_datadir}/gnome-builder
229 %{_datadir}/gnome-builder/fonts
230 %{_datadir}/gnome-builder/icons
231 %{_datadir}/gnome-builder/styles
232 %{_datadir}/dbus-1/services/org.gnome.Builder.service
233 %{_datadir}/glib-2.0/schemas/org.gnome.builder.gschema.xml
234 %{_datadir}/glib-2.0/schemas/org.gnome.builder.build.gschema.xml
235 %{_datadir}/glib-2.0/schemas/org.gnome.builder.clang.gschema.xml
236 %{_datadir}/glib-2.0/schemas/org.gnome.builder.code-insight.gschema.xml
237 %{_datadir}/glib-2.0/schemas/org.gnome.builder.copyright.gschema.xml
238 %{_datadir}/glib-2.0/schemas/org.gnome.builder.debug.gschema.xml
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
241 %{_datadir}/glib-2.0/schemas/org.gnome.builder.extension-type.gschema.xml
242 %{_datadir}/glib-2.0/schemas/org.gnome.builder.flatpak.gschema.xml
243 %{_datadir}/glib-2.0/schemas/org.gnome.builder.plugin.gschema.xml
244 %{_datadir}/glib-2.0/schemas/org.gnome.builder.project.gschema.xml
245 %{_datadir}/glib-2.0/schemas/org.gnome.builder.project-tree.gschema.xml
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
250 %{_datadir}/glib-2.0/schemas/org.gnome.builder.terminal.gschema.xml
251 %{_datadir}/glib-2.0/schemas/org.gnome.builder.valgrind.gschema.xml
252 %{_datadir}/metainfo/org.gnome.Builder.appdata.xml
253 %{_desktopdir}/org.gnome.Builder.desktop
254 %{_iconsdir}/hicolor/scalable/apps/org.gnome.Builder-symbolic.svg
255 %{_iconsdir}/hicolor/scalable/apps/org.gnome.Builder.svg
256 %{py3_gi_overridesdir}/Ide.py
257 %{py3_gi_overridesdir}/__pycache__/Ide.cpython-*.py[co]
258
259 %files devel
260 %defattr(644,root,root,755)
261 %{_includedir}/gnome-builder-%{apiver}
262 %dir %{_datadir}/gnome-builder/gir-1.0
263 %{_datadir}/gnome-builder/gir-1.0/Ide-%{abiver}.gir
264 %{_pkgconfigdir}/gnome-builder-%{version}.pc
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)
274 %{_gidocdir}/libide
275 %endif
This page took 0.083248 seconds and 2 git commands to generate.