2 # - fix mimelnk installation
5 %bcond_without packages3D # do not build packages3D
6 %bcond_without tests # unit tests
12 Summary: KiCad - is a GPL'd suite of programs for EDA
13 Summary(pl.UTF-8): KiCad - zestaw programów na licencji GPL zaliczany do kategorii EDA
19 Group: X11/Applications
20 Source0: https://gitlab.com/kicad/code/kicad/-/archive/%{version}/%{name}-%{version}.tar.bz2
21 # Source0-md5: ed08d6778639bf956e7c53e53aa3442f
22 Source1: https://gitlab.com/kicad/services/kicad-doc/-/archive/%{version}/%{name}-doc-%{version}.tar.bz2
23 # Source1-md5: 5f17f61092b57b35650bf1a9078de8e7
24 Source3: https://gitlab.com/kicad/libraries/kicad-symbols/-/archive/%{version}/%{name}-symbols-%{version}.tar.bz2
25 # Source3-md5: d314c9250731acd6c4fe0931a7ecff82
26 Source4: https://gitlab.com/kicad/libraries/kicad-footprints/-/archive/%{version}/%{name}-footprints-%{version}.tar.bz2
27 # Source4-md5: 06717879d96ceffa251103ca89788a2d
28 Source5: https://gitlab.com/kicad/libraries/kicad-packages3D/-/archive/%{version}/%{name}-packages3D-%{version}.tar.bz2
29 # Source5-md5: c5841a019136ab0b9389ab7e51bc92f4
30 Source6: https://gitlab.com/kicad/libraries/kicad-templates/-/archive/%{version}/%{name}-templates-%{version}.tar.bz2
31 # Source6-md5: e944b3995b851e8eec6b4fda147531f4
32 URL: http://www.kicad.org/
33 BuildRequires: EGL-devel
34 BuildRequires: GLM >= 0.9.9.4
35 BuildRequires: OpenCASCADE-devel >= 7.3.0
36 BuildRequires: appstream-glib
37 BuildRequires: asciidoc
38 BuildRequires: boost-devel
39 BuildRequires: cairo-devel >= 1.12
40 BuildRequires: cmake >= 2.6.4
41 BuildRequires: curl-devel
42 BuildRequires: dblatex
43 BuildRequires: desktop-file-utils
44 BuildRequires: doxygen
45 BuildRequires: gtk+3-devel
46 BuildRequires: libgit2-devel
47 BuildRequires: ngspice-devel
48 BuildRequires: openssl-devel
49 BuildRequires: perl-Unicode-LineBreak
50 BuildRequires: po4a >= 0.51
52 BuildRequires: python3-cairosvg
54 BuildRequires: python3-wxPython-devel
55 BuildRequires: rpmbuild(macros) >= 1.600
56 BuildRequires: ruby-asciidoctor
57 BuildRequires: sed >= 4.0
59 BuildRequires: wxGTK3-unicode-devel >= 3.2.2
60 BuildRequires: wxGTK3-unicode-gl-devel >= 3.2.2
61 BuildRequires: wxWidgets-devel >= 3.0.0
62 BuildRequires: zlib-devel
63 Obsoletes: kicad-doc-hu < 1:4.0.6-1
64 Obsoletes: kicad-doc-nl < 1:5.1.0-1
65 Obsoletes: kicad-doc-pt < 1:4.0.6-1
66 Obsoletes: kicad-doc-zh_CN < 1:4.0.6-1
67 Obsoletes: kicad-library < 1:7.0.7
68 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71 KiCad consists of a project manager and four main programs:
72 - kicad - the project manager.
73 - eeschema - the schematic editor.
74 - cvpcb - the footprint selector for components used in the circuit
76 - pcbnew - the PCB layout program.
77 - gerbview - the Gerber (photoplotter documents) viewer.
79 %description -l pl.UTF-8
80 KiCad składa się z menadżera projektów oraz czterech głównych
82 - kicad - menadżer projektów.
83 - eeschema - edytor schematów.
84 - cvpcb - narzędzie do wybierania elementów używanych przy
85 projektowaniu płytek drukowanych.
86 - pcbnew - program do projektowania płytek drukowanych.
87 - gerbview - przeglądarka plików Gerber (dokumentów dla fotoplotera).
90 Summary: Packages3D for kicad
91 Summary(pl.UTF-8): Trójwymiarowe modele obudów dla kicad
92 Requires: kicad >= 1:5.0.0
95 %description packages3D
98 %description packages3D -l pl.UTF-8
99 Trójwymiarowe modele obudów dla kicad.
102 Summary: Documentation for kicad
103 Summary(fr.UTF-8): Documentations pour kicad en anglais
109 Documentation and tutorials for kicad in English
112 Summary: Documentation for Kicad in Catalan
114 Requires: %{name}-doc = %{epoch}:%{version}-%{release}
118 Documentation and tutorials for Kicad in Catalan.
121 Summary: Documentation for Kicad in German
122 Summary(fr.UTF-8): Documentations pour kicad en allemand
124 Requires: %{name}-doc = %{epoch}:%{version}-%{release}
128 Documentation and tutorials for Kicad in German.
131 Summary: Documentation for Kicad in Spanish
132 Summary(fr.UTF-8): Documentations pour kicad en espagnol
134 Requires: %{name}-doc = %{epoch}:%{version}-%{release}
138 Documentation and tutorials for Kicad in Spanish.
141 Summary: Documentation for Kicad in French
142 Summary(fr.UTF-8): Documentations pour kicad en français
144 Requires: %{name}-doc = %{epoch}:%{version}-%{release}
148 Documentation and tutorials for Kicad in French.
151 Summary: Documentation for Kicad in Indonesian
153 Requires: %{name}-doc = %{epoch}:%{version}-%{release}
157 Documentation and tutorials for Kicad in Indonesian.
160 Summary: Documentation for Kicad in Italian
161 Summary(fr.UTF-8): Documentations pour kicad en italien
163 Requires: %{name}-doc = %{epoch}:%{version}-%{release}
167 Documentation and tutorials for Kicad in Italian.
170 Summary: Documentation for Kicad in Japanese
171 Summary(fr.UTF-8): Documentations pour kicad en japonais
173 Requires: %{name}-doc = %{epoch}:%{version}-%{release}
177 Documentation and tutorials for Kicad in Japanese.
180 Summary: Documentation for Kicad in Polish
181 Summary(fr.UTF-8): Documentations pour kicad en polonais
183 Requires: %{name}-doc = %{epoch}:%{version}-%{release}
187 Documentation and tutorials for Kicad in Polish.
190 Summary: Documentation for Kicad in Russian
191 Summary(fr.UTF-8): Documentations pour kicad en russe
193 Requires: %{name}-doc = %{epoch}:%{version}-%{release}
197 Documentation and tutorials for Kicad in Russian.
200 Summary: Documentation for Kicad in Chinese
201 Summary(fr.UTF-8): Documentations pour kicad en chinois
203 Requires: %{name}-doc = %{epoch}:%{version}-%{release}
207 Documentation and tutorials for Kicad in Chinese.
210 %setup -q -a 1 -a 3 -a 4 %{?with_packages3D:-a 5} -a 6
213 %{__sed} -i -e '/test_coroutine.cpp/d' qa/unittests/common/CMakeLists.txt
226 build_library %{name}-symbols-%{version}
227 build_library %{name}-footprints-%{version}
228 build_library %{name}-templates-%{version}
229 %if %{with packages3D}
230 build_library %{name}-packages3D-%{version}
234 mkdir -p %{name}-doc-%{version}/build
235 cd %{name}-doc-%{version}/build
244 # Use bundled GLEW because GLEW compiled with EGL support is required
245 # See thirdparty/glew/README.md
247 -DKICAD_BUILD_VERSION="%{version}-%{release}" \
248 -DKICAD_BUILD_I18N=ON \
249 -DKICAD_I18N_UNIX_STRICT_PATH=ON \
250 -DwxWidgets_CONFIG_EXECUTABLE=%{_bindir}/wx-gtk3-unicode-config \
253 -DKICAD_USE_BUNDLED_GLEW=ON \
254 -DKICAD_SCRIPTING=ON \
255 -DKICAD_SCRIPTING_PYTHON3=ON \
256 -DKICAD_SCRIPTING_MODULES=ON \
257 -DKICAD_SCRIPTING_WXPYTHON=OFF \
258 -DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON \
259 %{cmake_on_off tests KICAD_BUILD_QA_TESTS}
264 %{__make} test ARGS=--output-on-failure
268 rm -rf $RPM_BUILD_ROOT
271 %{__make} -C $1/build install \
272 DESTDIR=$RPM_BUILD_ROOT
276 %{__make} -C build install \
277 DESTDIR=$RPM_BUILD_ROOT
280 install_library %{name}-symbols-%{version}
281 install_library %{name}-footprints-%{version}
282 install_library %{name}-templates-%{version}
283 %if %{with packages3D}
284 install_library %{name}-packages3D-%{version}
288 %{__make} -C %{name}-doc-%{version}/build install \
289 DESTDIR=$RPM_BUILD_ROOT
291 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{no,nb}
297 %update_mime_database
298 %update_desktop_database_post
299 %update_icon_cache hicolor
303 %update_mime_database
304 %update_desktop_database_postun
305 %update_icon_cache hicolor
308 rm -rf $RPM_BUILD_ROOT
310 %files -f %{name}.lang
311 %defattr(644,root,root,755)
312 %doc AUTHORS.txt README.md
313 %attr(755,root,root) %{_bindir}/bitmap2component
314 %attr(755,root,root) %{_bindir}/_cvpcb.kiface
315 %attr(755,root,root) %{_bindir}/dxf2idf
316 %attr(755,root,root) %{_bindir}/eeschema
317 %attr(755,root,root) %{_bindir}/_eeschema.kiface
318 %attr(755,root,root) %{_bindir}/gerbview
319 %attr(755,root,root) %{_bindir}/_gerbview.kiface
320 %attr(755,root,root) %{_bindir}/idf2vrml
321 %attr(755,root,root) %{_bindir}/idfcyl
322 %attr(755,root,root) %{_bindir}/idfrect
323 %attr(755,root,root) %{_bindir}/kicad
324 %attr(755,root,root) %{_bindir}/kicad-cli
325 %attr(755,root,root) %{_bindir}/_kipython.kiface
326 %attr(755,root,root) %{_bindir}/pcb_calculator
327 %attr(755,root,root) %{_bindir}/_pcb_calculator.kiface
328 %attr(755,root,root) %{_bindir}/pcbnew
329 %attr(755,root,root) %{_bindir}/_pcbnew.kiface
330 %attr(755,root,root) %{_bindir}/pl_editor
331 %attr(755,root,root) %{_bindir}/_pl_editor.kiface
332 %attr(755,root,root) %{_libdir}/libkicad_3dsg.so.*.*.*
333 %ghost %{_libdir}/libkicad_3dsg.so
334 %attr(755,root,root) %{_libdir}/libkicommon.so.*.*.*
335 %ghost %{_libdir}/libkicommon.so
336 %attr(755,root,root) %{_libdir}/libkigal.so.*.*.*
337 %ghost %{_libdir}/libkigal.so
338 %dir %{_libdir}/%{name}
339 %dir %{_libdir}/%{name}/plugins
340 %dir %{_libdir}/%{name}/plugins/3d
341 %attr(755,root,root) %{_libdir}/%{name}/plugins/3d/*.so
342 #python - to subpackage?
343 %attr(755,root,root) %{py3_sitedir}/_pcbnew.so
344 %{py3_sitedir}/pcbnew.py
345 %dir %{_datadir}/%{name}
346 %{_datadir}/%{name}/demos
347 %{_datadir}/%{name}/footprints
348 %{_datadir}/%{name}/plugins
349 %{_datadir}/%{name}/resources
350 %{_datadir}/%{name}/schemas
351 %{_datadir}/%{name}/scripting
352 %{_datadir}/%{name}/symbols
353 %{_datadir}/%{name}/template
354 %{_iconsdir}/hicolor/*x*/*/*.png
355 %{_iconsdir}/hicolor/scalable/*/*.svg
356 %{_datadir}/mime/packages/kicad-*.xml
357 %{_metainfodir}/org.kicad.kicad.metainfo.xml
358 %{_desktopdir}/org.kicad.eeschema.desktop
359 %{_desktopdir}/org.kicad.kicad.desktop
360 %{_desktopdir}/org.kicad.bitmap2component.desktop
361 %{_desktopdir}/org.kicad.gerbview.desktop
362 %{_desktopdir}/org.kicad.pcbcalculator.desktop
363 %{_desktopdir}/org.kicad.pcbnew.desktop
364 #%{_datadir}/mimelnk/application/x-kicad-pcb.desktop
365 #%{_datadir}/mimelnk/application/x-kicad-project.desktop
366 #%{_datadir}/mimelnk/application/x-kicad-schematic.desktop
368 %dir %{_docdir}/%{name}
370 %if %{with packages3D}
372 %defattr(644,root,root,755)
373 %{_datadir}/%{name}/3dmodels
377 %defattr(644,root,root,755)
378 %dir %{_docdir}/%{name}
379 %dir %{_docdir}/%{name}/help
380 %{_docdir}/%{name}/help/en
383 %defattr(644,root,root,755)
384 %lang(ca) %{_docdir}/%{name}/help/ca
387 %defattr(644,root,root,755)
388 %lang(de) %{_docdir}/%{name}/help/de
391 %defattr(644,root,root,755)
392 %lang(es) %{_docdir}/%{name}/help/es
395 %defattr(644,root,root,755)
396 %lang(fr) %{_docdir}/%{name}/help/fr
399 %defattr(644,root,root,755)
400 %lang(id) %{_docdir}/%{name}/help/id
403 %defattr(644,root,root,755)
404 %lang(it) %{_docdir}/%{name}/help/it
407 %defattr(644,root,root,755)
408 %lang(ja) %{_docdir}/%{name}/help/ja
411 %defattr(644,root,root,755)
412 %lang(pl) %{_docdir}/%{name}/help/pl
415 %defattr(644,root,root,755)
416 %lang(ru) %{_docdir}/%{name}/help/ru
419 %defattr(644,root,root,755)
420 %lang(zh) %{_docdir}/%{name}/help/zh