]> git.pld-linux.org Git - packages/kicad.git/blob - kicad.spec
- updated to 8.0.0
[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:        8.0.0
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:  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
51 %if %{with tests}
52 BuildRequires:  python3-cairosvg
53 %endif
54 BuildRequires:  python3-wxPython-devel
55 BuildRequires:  rpmbuild(macros) >= 1.600
56 BuildRequires:  ruby-asciidoctor
57 BuildRequires:  sed >= 4.0
58 BuildRequires:  which
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)
69
70 %description
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
75   design.
76 - pcbnew - the PCB layout program.
77 - gerbview - the Gerber (photoplotter documents) viewer.
78
79 %description -l pl.UTF-8
80 KiCad składa się z menadżera projektów oraz czterech głównych
81 programów:
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).
88
89 %package packages3D
90 Summary:        Packages3D for kicad
91 Summary(pl.UTF-8):      Trójwymiarowe modele obudów dla kicad
92 Requires:       kicad >= 1:5.0.0
93 BuildArch:      noarch
94
95 %description packages3D
96 Packages3D for kicad
97
98 %description packages3D -l pl.UTF-8
99 Trójwymiarowe modele obudów dla kicad.
100
101 %package doc
102 Summary:        Documentation for kicad
103 Summary(fr.UTF-8):      Documentations pour kicad en anglais
104 License:        GPL v2+
105 Group:          Documentation
106 BuildArch:      noarch
107
108 %description doc
109 Documentation and tutorials for kicad in English
110
111 %package doc-ca
112 Summary:        Documentation for Kicad in Catalan
113 Group:          Documentation
114 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
115 BuildArch:      noarch
116
117 %description doc-ca
118 Documentation and tutorials for Kicad in Catalan.
119
120 %package doc-de
121 Summary:        Documentation for Kicad in German
122 Summary(fr.UTF-8):      Documentations pour kicad en allemand
123 Group:          Documentation
124 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
125 BuildArch:      noarch
126
127 %description doc-de
128 Documentation and tutorials for Kicad in German.
129
130 %package doc-es
131 Summary:        Documentation for Kicad in Spanish
132 Summary(fr.UTF-8):      Documentations pour kicad en espagnol
133 Group:          Documentation
134 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
135 BuildArch:      noarch
136
137 %description doc-es
138 Documentation and tutorials for Kicad in Spanish.
139
140 %package doc-fr
141 Summary:        Documentation for Kicad in French
142 Summary(fr.UTF-8):      Documentations pour kicad en français
143 Group:          Documentation
144 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
145 BuildArch:      noarch
146
147 %description doc-fr
148 Documentation and tutorials for Kicad in French.
149
150 %package doc-id
151 Summary:        Documentation for Kicad in Indonesian
152 Group:          Documentation
153 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
154 BuildArch:      noarch
155
156 %description doc-id
157 Documentation and tutorials for Kicad in Indonesian.
158
159 %package doc-it
160 Summary:        Documentation for Kicad in Italian
161 Summary(fr.UTF-8):      Documentations pour kicad en italien
162 Group:          Documentation
163 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
164 BuildArch:      noarch
165
166 %description doc-it
167 Documentation and tutorials for Kicad in Italian.
168
169 %package doc-ja
170 Summary:        Documentation for Kicad in Japanese
171 Summary(fr.UTF-8):      Documentations pour kicad en japonais
172 Group:          Documentation
173 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
174 BuildArch:      noarch
175
176 %description doc-ja
177 Documentation and tutorials for Kicad in Japanese.
178
179 %package doc-pl
180 Summary:        Documentation for Kicad in Polish
181 Summary(fr.UTF-8):      Documentations pour kicad en polonais
182 Group:          Documentation
183 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
184 BuildArch:      noarch
185
186 %description doc-pl
187 Documentation and tutorials for Kicad in Polish.
188
189 %package doc-ru
190 Summary:        Documentation for Kicad in Russian
191 Summary(fr.UTF-8):      Documentations pour kicad en russe
192 Group:          Documentation
193 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
194 BuildArch:      noarch
195
196 %description doc-ru
197 Documentation and tutorials for Kicad in Russian.
198
199 %package doc-zh
200 Summary:        Documentation for Kicad in Chinese
201 Summary(fr.UTF-8):      Documentations pour kicad en chinois
202 Group:          Documentation
203 Requires:       %{name}-doc = %{epoch}:%{version}-%{release}
204 BuildArch:      noarch
205
206 %description doc-zh
207 Documentation and tutorials for Kicad in Chinese.
208
209 %prep
210 %setup -q -a 1 -a 3 -a 4 %{?with_packages3D:-a 5} -a 6
211
212 %ifarch x32
213 %{__sed} -i -e '/test_coroutine.cpp/d' qa/unittests/common/CMakeLists.txt
214 %endif
215
216 %build
217
218 build_library() {
219   mkdir -p "$1/build"
220   cd "$1/build"
221   %cmake ..
222   %{__make} VERBOSE=1
223   cd ../..
224 }
225 # Symbols libraries
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}
231 %endif
232
233 # Documentation
234 mkdir -p %{name}-doc-%{version}/build
235 cd %{name}-doc-%{version}/build
236 %cmake .. \
237         -DBUILD_FORMATS=html
238 %{__make} VERBOSE=1
239 cd ../..
240
241 # Core components
242 mkdir -p build
243 cd build
244 # Use bundled GLEW because GLEW compiled with EGL support is required
245 # See thirdparty/glew/README.md
246 %cmake .. \
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 \
251         -DKICAD_USE_OCC=ON \
252         -DKICAD_USE_EGL=ON \
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}
260
261 %{__make} VERBOSE=1
262
263 %if %{with tests}
264 %{__make} test ARGS=--output-on-failure
265 %endif
266
267 %install
268 rm -rf $RPM_BUILD_ROOT
269
270 install_library() {
271   %{__make} -C $1/build install \
272         DESTDIR=$RPM_BUILD_ROOT
273 }
274
275 # KiCAD itself
276 %{__make} -C build install \
277         DESTDIR=$RPM_BUILD_ROOT
278
279 # Symbols libraries
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}
285 %endif
286
287 # Documentation
288 %{__make} -C %{name}-doc-%{version}/build install \
289         DESTDIR=$RPM_BUILD_ROOT
290
291 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{no,nb}
292
293 %find_lang %{name}
294
295 %post
296 /sbin/ldconfig
297 %update_mime_database
298 %update_desktop_database_post
299 %update_icon_cache hicolor
300
301 %postun
302 /sbin/ldconfig
303 %update_mime_database
304 %update_desktop_database_postun
305 %update_icon_cache hicolor
306
307 %clean
308 rm -rf $RPM_BUILD_ROOT
309
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
367
368 %dir %{_docdir}/%{name}
369
370 %if %{with packages3D}
371 %files packages3D
372 %defattr(644,root,root,755)
373 %{_datadir}/%{name}/3dmodels
374 %endif
375
376 %files doc
377 %defattr(644,root,root,755)
378 %dir %{_docdir}/%{name}
379 %dir %{_docdir}/%{name}/help
380 %{_docdir}/%{name}/help/en
381
382 %files doc-ca
383 %defattr(644,root,root,755)
384 %lang(ca) %{_docdir}/%{name}/help/ca
385
386 %files doc-de
387 %defattr(644,root,root,755)
388 %lang(de) %{_docdir}/%{name}/help/de
389
390 %files doc-es
391 %defattr(644,root,root,755)
392 %lang(es) %{_docdir}/%{name}/help/es
393
394 %files doc-fr
395 %defattr(644,root,root,755)
396 %lang(fr) %{_docdir}/%{name}/help/fr
397
398 %files doc-id
399 %defattr(644,root,root,755)
400 %lang(id) %{_docdir}/%{name}/help/id
401
402 %files doc-it
403 %defattr(644,root,root,755)
404 %lang(it) %{_docdir}/%{name}/help/it
405
406 %files doc-ja
407 %defattr(644,root,root,755)
408 %lang(ja) %{_docdir}/%{name}/help/ja
409
410 %files doc-pl
411 %defattr(644,root,root,755)
412 %lang(pl) %{_docdir}/%{name}/help/pl
413
414 %files doc-ru
415 %defattr(644,root,root,755)
416 %lang(ru) %{_docdir}/%{name}/help/ru
417
418 %files doc-zh
419 %defattr(644,root,root,755)
420 %lang(zh) %{_docdir}/%{name}/help/zh
This page took 0.099393 seconds and 3 git commands to generate.