]> git.pld-linux.org Git - packages/kicad.git/blob - kicad.spec
efc3ebb2c98b61b6ca0027b3dbde986aca54639f
[packages/kicad.git] / kicad.spec
1 # TODO:
2 # - fix mimelnk installation
3 #
4 # Conditional build:
5 %bcond_without  packages3D      # do not build packages3D
6 %bcond_without  tests           # unit tests
7
8 %ifarch %{ix86}
9 %undefine       with_tests
10 %endif
11
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
14 Name:           kicad
15 Version:        7.0.10
16 Release:        1
17 Epoch:          1
18 License:        GPL v2+
19 Group:          X11/Applications
20 Source0:        https://gitlab.com/kicad/code/kicad/-/archive/%{version}/%{name}-%{version}.tar.bz2
21 # Source0-md5:  b459188bcc2cc7096f4682e94eb1e5dc
22 Source1:        https://gitlab.com/kicad/services/kicad-doc/-/archive/%{version}/%{name}-doc-%{version}.tar.bz2
23 # Source1-md5:  905f814d112f6da0e108368926a53283
24 Source3:        https://gitlab.com/kicad/libraries/kicad-symbols/-/archive/%{version}/%{name}-symbols-%{version}.tar.bz2
25 # Source3-md5:  3962af58c2493350f758465bd9064c0d
26 Source4:        https://gitlab.com/kicad/libraries/kicad-footprints/-/archive/%{version}/%{name}-footprints-%{version}.tar.bz2
27 # Source4-md5:  3d386334c33a2276257abae63ded3856
28 Source5:        https://gitlab.com/kicad/libraries/kicad-packages3D/-/archive/%{version}/%{name}-packages3D-%{version}.tar.bz2
29 # Source5-md5:  e2aaef632be4475da024bff33b823043
30 Source6:        https://gitlab.com/kicad/libraries/kicad-templates/-/archive/%{version}/%{name}-templates-%{version}.tar.bz2
31 # Source6-md5:  71e752f3a5a035f4ddf719498c8daaef
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:  ngspice-devel
47 BuildRequires:  openssl-devel
48 BuildRequires:  perl-Unicode-LineBreak
49 BuildRequires:  po4a >= 0.51
50 BuildRequires:  python3-wxPython-devel
51 BuildRequires:  rpmbuild(macros) >= 1.600
52 BuildRequires:  ruby-asciidoctor
53 BuildRequires:  sed >= 4.0
54 BuildRequires:  which
55 BuildRequires:  wxGTK3-unicode-devel >= 3.2.2
56 BuildRequires:  wxGTK3-unicode-gl-devel >= 3.2.2
57 BuildRequires:  wxWidgets-devel >= 3.0.0
58 BuildRequires:  zlib-devel
59 Obsoletes:      kicad-doc-hu < 1:4.0.6-1
60 Obsoletes:      kicad-doc-nl < 1:5.1.0-1
61 Obsoletes:      kicad-doc-pt < 1:4.0.6-1
62 Obsoletes:      kicad-doc-zh_CN < 1:4.0.6-1
63 Obsoletes:      kicad-library < 1:7.0.7
64 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
65
66 %description
67 KiCad consists of a project manager and four main programs:
68 - kicad - the project manager.
69 - eeschema - the schematic editor.
70 - cvpcb - the footprint selector for components used in the circuit
71   design.
72 - pcbnew - the PCB layout program.
73 - gerbview - the Gerber (photoplotter documents) viewer.
74
75 %description -l pl.UTF-8
76 KiCad składa się z menadżera projektów oraz czterech głównych
77 programów:
78 - kicad - menadżer projektów.
79 - eeschema - edytor schematów.
80 - cvpcb - narzędzie do wybierania elementów używanych przy
81   projektowaniu płytek drukowanych.
82 - pcbnew - program do projektowania płytek drukowanych.
83 - gerbview - przeglądarka plików Gerber (dokumentów dla fotoplotera).
84
85 %package packages3D
86 Summary:        Packages3D for kicad
87 Summary(pl.UTF-8):      Trójwymiarowe modele obudów dla kicad
88 Requires:       kicad >= 1:5.0.0
89 BuildArch:      noarch
90
91 %description packages3D
92 Packages3D for kicad
93
94 %description packages3D -l pl.UTF-8
95 Trójwymiarowe modele obudów dla kicad.
96
97 %package doc
98 Summary:        Documentation for kicad
99 Summary(fr.UTF-8):      Documentations pour kicad en anglais
100 License:        GPL v2+
101 Group:          Documentation
102 BuildArch:      noarch
103
104 %description doc
105 Documentation and tutorials for kicad in English
106
107 %package doc-ca
108 Summary:        Documentation for Kicad in Catalan
109 Group:          Documentation
110 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
111 BuildArch:      noarch
112
113 %description doc-ca
114 Documentation and tutorials for Kicad in Catalan.
115
116 %package doc-de
117 Summary:        Documentation for Kicad in German
118 Summary(fr.UTF-8):      Documentations pour kicad en allemand
119 Group:          Documentation
120 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
121 BuildArch:      noarch
122
123 %description doc-de
124 Documentation and tutorials for Kicad in German.
125
126 %package doc-es
127 Summary:        Documentation for Kicad in Spanish
128 Summary(fr.UTF-8):      Documentations pour kicad en espagnol
129 Group:          Documentation
130 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
131 BuildArch:      noarch
132
133 %description doc-es
134 Documentation and tutorials for Kicad in Spanish.
135
136 %package doc-fr
137 Summary:        Documentation for Kicad in French
138 Summary(fr.UTF-8):      Documentations pour kicad en français
139 Group:          Documentation
140 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
141 BuildArch:      noarch
142
143 %description doc-fr
144 Documentation and tutorials for Kicad in French.
145
146 %package doc-id
147 Summary:        Documentation for Kicad in Indonesian
148 Group:          Documentation
149 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
150 BuildArch:      noarch
151
152 %description doc-id
153 Documentation and tutorials for Kicad in Indonesian.
154
155 %package doc-it
156 Summary:        Documentation for Kicad in Italian
157 Summary(fr.UTF-8):      Documentations pour kicad en italien
158 Group:          Documentation
159 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
160 BuildArch:      noarch
161
162 %description doc-it
163 Documentation and tutorials for Kicad in Italian.
164
165 %package doc-ja
166 Summary:        Documentation for Kicad in Japanese
167 Summary(fr.UTF-8):      Documentations pour kicad en japonais
168 Group:          Documentation
169 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
170 BuildArch:      noarch
171
172 %description doc-ja
173 Documentation and tutorials for Kicad in Japanese.
174
175 %package doc-pl
176 Summary:        Documentation for Kicad in Polish
177 Summary(fr.UTF-8):      Documentations pour kicad en polonais
178 Group:          Documentation
179 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
180 BuildArch:      noarch
181
182 %description doc-pl
183 Documentation and tutorials for Kicad in Polish.
184
185 %package doc-ru
186 Summary:        Documentation for Kicad in Russian
187 Summary(fr.UTF-8):      Documentations pour kicad en russe
188 Group:          Documentation
189 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
190 BuildArch:      noarch
191
192 %description doc-ru
193 Documentation and tutorials for Kicad in Russian.
194
195 %package doc-zh
196 Summary:        Documentation for Kicad in Chinese
197 Summary(fr.UTF-8):      Documentations pour kicad en chinois
198 Group:          Documentation
199 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
200 BuildArch:      noarch
201
202 %description doc-zh
203 Documentation and tutorials for Kicad in Chinese.
204
205 %prep
206 %setup -q -a 1 -a 3 -a 4 %{?with_packages3D:-a 5} -a 6
207
208 %ifarch x32
209 %{__sed} -i -e '/test_coroutine.cpp/d' qa/unittests/common/CMakeLists.txt
210 %endif
211
212 %build
213
214 build_library() {
215   mkdir -p "$1/build"
216   cd "$1/build"
217   %cmake ..
218   %{__make} VERBOSE=1
219   cd ../..
220 }
221 # Symbols libraries
222 build_library %{name}-symbols-%{version}
223 build_library %{name}-footprints-%{version}
224 build_library %{name}-templates-%{version}
225 %if %{with packages3D}
226 build_library %{name}-packages3D-%{version}
227 %endif
228
229 # Documentation
230 mkdir -p %{name}-doc-%{version}/build
231 cd %{name}-doc-%{version}/build
232 %cmake .. \
233         -DBUILD_FORMATS=html
234 %{__make} VERBOSE=1
235 cd ../..
236
237 # Core components
238 mkdir -p build
239 cd build
240 # Use bundled GLEW because GLEW compiled with EGL support is required
241 # See thirdparty/glew/README.md
242 %cmake .. \
243         -DKICAD_BUILD_VERSION="%{version}-%{release}" \
244         -DKICAD_BUILD_I18N=ON \
245         -DKICAD_I18N_UNIX_STRICT_PATH=ON \
246         -DwxWidgets_CONFIG_EXECUTABLE=%{_bindir}/wx-gtk3-unicode-config \
247         -DKICAD_USE_OCC=ON \
248         -DKICAD_USE_EGL=ON \
249         -DKICAD_USE_BUNDLED_GLEW=ON \
250         -DKICAD_SCRIPTING=ON \
251         -DKICAD_SCRIPTING_PYTHON3=ON \
252         -DKICAD_SCRIPTING_MODULES=ON \
253         -DKICAD_SCRIPTING_WXPYTHON=OFF \
254         -DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON \
255         %{cmake_on_off tests KICAD_BUILD_QA_TESTS}
256
257 %{__make} VERBOSE=1
258
259 %if %{with tests}
260 %{__make} test ARGS=--output-on-failure
261 %endif
262
263 %install
264 rm -rf $RPM_BUILD_ROOT
265
266 install_library() {
267   %{__make} -C $1/build install \
268         DESTDIR=$RPM_BUILD_ROOT
269 }
270
271 # KiCAD itself
272 %{__make} -C build install \
273         DESTDIR=$RPM_BUILD_ROOT
274
275 # Symbols libraries
276 install_library %{name}-symbols-%{version}
277 install_library %{name}-footprints-%{version}
278 install_library %{name}-templates-%{version}
279 %if %{with packages3D}
280 install_library %{name}-packages3D-%{version}
281 %endif
282
283 # Documentation
284 %{__make} -C %{name}-doc-%{version}/build install \
285         DESTDIR=$RPM_BUILD_ROOT
286
287 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{no,nb}
288
289 %find_lang %{name}
290
291 %post
292 /sbin/ldconfig
293 %update_mime_database
294 %update_desktop_database_post
295 %update_icon_cache hicolor
296
297 %postun
298 /sbin/ldconfig
299 %update_mime_database
300 %update_desktop_database_postun
301 %update_icon_cache hicolor
302
303 %clean
304 rm -rf $RPM_BUILD_ROOT
305
306 %files -f %{name}.lang
307 %defattr(644,root,root,755)
308 %doc AUTHORS.txt README.md
309 %attr(755,root,root) %{_bindir}/bitmap2component
310 %attr(755,root,root) %{_bindir}/_cvpcb.kiface
311 %attr(755,root,root) %{_bindir}/dxf2idf
312 %attr(755,root,root) %{_bindir}/eeschema
313 %attr(755,root,root) %{_bindir}/_eeschema.kiface
314 %attr(755,root,root) %{_bindir}/gerbview
315 %attr(755,root,root) %{_bindir}/_gerbview.kiface
316 %attr(755,root,root) %{_bindir}/idf2vrml
317 %attr(755,root,root) %{_bindir}/idfcyl
318 %attr(755,root,root) %{_bindir}/idfrect
319 %attr(755,root,root) %{_bindir}/kicad
320 %attr(755,root,root) %{_bindir}/kicad-cli
321 %attr(755,root,root) %{_bindir}/_kipython.kiface
322 %attr(755,root,root) %{_bindir}/pcb_calculator
323 %attr(755,root,root) %{_bindir}/_pcb_calculator.kiface
324 %attr(755,root,root) %{_bindir}/pcbnew
325 %attr(755,root,root) %{_bindir}/_pcbnew.kiface
326 %attr(755,root,root) %{_bindir}/pl_editor
327 %attr(755,root,root) %{_bindir}/_pl_editor.kiface
328 %attr(755,root,root) %{_libdir}/libkicad_3dsg.so.*.*.*
329 %ghost %{_libdir}/libkicad_3dsg.so
330 %dir %{_libdir}/%{name}
331 %dir %{_libdir}/%{name}/plugins
332 %dir %{_libdir}/%{name}/plugins/3d
333 %attr(755,root,root) %{_libdir}/%{name}/plugins/3d/*.so
334 #python - to subpackage?
335 %attr(755,root,root) %{py3_sitedir}/_pcbnew.so
336 %{py3_sitedir}/pcbnew.py
337 %dir %{_datadir}/%{name}
338 %{_datadir}/%{name}/demos
339 %{_datadir}/%{name}/footprints
340 %{_datadir}/%{name}/plugins
341 %{_datadir}/%{name}/resources
342 %{_datadir}/%{name}/schemas
343 %{_datadir}/%{name}/scripting
344 %{_datadir}/%{name}/symbols
345 %{_datadir}/%{name}/template
346 %{_iconsdir}/hicolor/*x*/*/*.png
347 %{_iconsdir}/hicolor/scalable/*/*.svg
348 %{_datadir}/mime/packages/kicad-*.xml
349 %{_metainfodir}/org.kicad.kicad.metainfo.xml
350 %{_desktopdir}/org.kicad.eeschema.desktop
351 %{_desktopdir}/org.kicad.kicad.desktop
352 %{_desktopdir}/org.kicad.bitmap2component.desktop
353 %{_desktopdir}/org.kicad.gerbview.desktop
354 %{_desktopdir}/org.kicad.pcbcalculator.desktop
355 %{_desktopdir}/org.kicad.pcbnew.desktop
356 #%{_datadir}/mimelnk/application/x-kicad-pcb.desktop
357 #%{_datadir}/mimelnk/application/x-kicad-project.desktop
358 #%{_datadir}/mimelnk/application/x-kicad-schematic.desktop
359
360 %dir %{_docdir}/%{name}
361
362 %if %{with packages3D}
363 %files packages3D
364 %defattr(644,root,root,755)
365 %{_datadir}/%{name}/3dmodels
366 %endif
367
368 %files doc
369 %defattr(644,root,root,755)
370 %dir %{_docdir}/%{name}
371 %dir %{_docdir}/%{name}/help
372 %{_docdir}/%{name}/help/en
373
374 %files doc-ca
375 %defattr(644,root,root,755)
376 %lang(ca) %{_docdir}/%{name}/help/ca
377
378 %files doc-de
379 %defattr(644,root,root,755)
380 %lang(de) %{_docdir}/%{name}/help/de
381
382 %files doc-es
383 %defattr(644,root,root,755)
384 %lang(es) %{_docdir}/%{name}/help/es
385
386 %files doc-fr
387 %defattr(644,root,root,755)
388 %lang(fr) %{_docdir}/%{name}/help/fr
389
390 %files doc-id
391 %defattr(644,root,root,755)
392 %lang(id) %{_docdir}/%{name}/help/id
393
394 %files doc-it
395 %defattr(644,root,root,755)
396 %lang(it) %{_docdir}/%{name}/help/it
397
398 %files doc-ja
399 %defattr(644,root,root,755)
400 %lang(ja) %{_docdir}/%{name}/help/ja
401
402 %files doc-pl
403 %defattr(644,root,root,755)
404 %lang(pl) %{_docdir}/%{name}/help/pl
405
406 %files doc-ru
407 %defattr(644,root,root,755)
408 %lang(ru) %{_docdir}/%{name}/help/ru
409
410 %files doc-zh
411 %defattr(644,root,root,755)
412 %lang(zh) %{_docdir}/%{name}/help/zh
This page took 0.07297 seconds and 2 git commands to generate.