1 |
# limit parallel builds on aarch64 |
2 |
%ifarch aarch64 |
3 |
%global _smp_ncpus_max 8 |
4 |
%endif |
5 |
|
6 |
# Turn off the brp-python-bytecompile automagic |
7 |
%global _python_bytecompile_extra 0 |
8 |
|
9 |
%define Werror_cflags %nil |
10 |
|
11 |
%define docname kicad-doc |
12 |
%define symname kicad-symbols |
13 |
%define p3dname kicad-packages3D |
14 |
%define templname kicad-templates |
15 |
%define fpname kicad-footprints |
16 |
%define i18nname kicad-i18n |
17 |
|
18 |
Name: kicad |
19 |
Summary: An open source program for the creation of electronic schematic diagrams |
20 |
Epoch: 1 |
21 |
Version: 5.1.9 |
22 |
%define subrel 1 |
23 |
Release: %mkrel 2 |
24 |
License: GPLv3+ |
25 |
Group: Sciences/Computer science |
26 |
Url: http://kicad-pcb.org/ |
27 |
Source0: https://gitlab.com/kicad/code/kicad/-/archive/%{version}/%{name}-%{version}.tar.bz2 |
28 |
Source1: https://gitlab.com/kicad/services/%{docname}/-/archive/%{version}/%{docname}-%{version}.tar.bz2 |
29 |
Source2: https://gitlab.com/kicad/libraries/%{symname}/-/archive/%{version}/%{symname}-%{version}.tar.gz |
30 |
Source3: https://gitlab.com/kicad/libraries/%{p3dname}/-/archive/%{version}/%{p3dname}-%{version}.tar.gz |
31 |
Source4: https://gitlab.com/kicad/libraries/%{templname}/-/archive/%{version}/%{templname}-%{version}.tar.gz |
32 |
Source5: https://gitlab.com/kicad/libraries/%{fpname}/-/archive/%{version}/%{fpname}-%{version}.tar.gz |
33 |
Source6: https://gitlab.com/kicad/code/%{i18nname}/-/archive/%{version}/%{i18nname}-%{version}.tar.bz2 |
34 |
|
35 |
# This needs to be aligned with kicad-library-*/template/fp-lib-table.for-pretty |
36 |
|
37 |
Patch1: 0001-Do-not-strip-executables.patch |
38 |
|
39 |
BuildRequires: wxgtk-devel |
40 |
BuildRequires: mesa-common-devel |
41 |
BuildRequires: imagemagick |
42 |
BuildRequires: boost-devel |
43 |
BuildRequires: glm-devel |
44 |
BuildRequires: opencascade-devel |
45 |
BuildRequires: pkgconfig(ngspice) |
46 |
BuildRequires: pkgconfig(glew) |
47 |
BuildRequires: pkgconfig(cairo) |
48 |
BuildRequires: pkgconfig(openssl) >= 1.1 |
49 |
BuildRequires: libgomp-devel |
50 |
BuildRequires: pkgconfig(libcurl) |
51 |
BuildRequires: cmake |
52 |
# doc |
53 |
BuildRequires: dblatex |
54 |
BuildRequires: po4a |
55 |
BuildRequires: asciidoc |
56 |
BuildRequires: git |
57 |
BuildRequires: perl(Unicode::LineBreak) |
58 |
BuildRequires: source-highlight |
59 |
# python scripting |
60 |
BuildRequires: pkgconfig(python3) |
61 |
BuildRequires: python3-wxpython4 |
62 |
BuildRequires: swig |
63 |
|
64 |
BuildRequires: desktop-file-utils |
65 |
Requires: %{name}-library |
66 |
Requires: %{docname} |
67 |
Requires: %{i18nname} |
68 |
Requires: python3-wxpython4 |
69 |
|
70 |
%description |
71 |
Kicad is an open source (GPL) program for the creation of electronic |
72 |
schematic diagrams and printed circuit board artwork. |
73 |
|
74 |
Kicad is a set of four programs and a project manager: |
75 |
|
76 |
* Eeschema: Schematic entry. |
77 |
* Pcbnew: Board editor. |
78 |
* Gerbview: GERBER viewer (photoplotter documents). |
79 |
* Cvpcb: footprint selector for components used in the circuit design. |
80 |
* Kicad: project manager. |
81 |
|
82 |
%package doc |
83 |
Summary: Documentation for kicad (creation of electronic schematic diagrams) |
84 |
Requires: %{name} |
85 |
BuildArch: noarch |
86 |
|
87 |
%description doc |
88 |
Kicad is an open source (GPL) program for the creation of electronic |
89 |
schematic diagrams and printed circuit board artwork. |
90 |
|
91 |
Kicad-doc is the documentation for kicad. |
92 |
|
93 |
%package i18n |
94 |
Summary: Kicad locales |
95 |
Requires: %{name} |
96 |
BuildArch: noarch |
97 |
|
98 |
Obsoletes: kicad-locales-ca |
99 |
Obsoletes: kicad-locales-cs |
100 |
Obsoletes: kicad-locales-de |
101 |
Obsoletes: kicad-locales-en |
102 |
Obsoletes: kicad-locales-es |
103 |
Obsoletes: kicad-locales-fi |
104 |
Obsoletes: kicad-locales-fr |
105 |
Obsoletes: kicad-locales-hu |
106 |
Obsoletes: kicad-locales-it |
107 |
Obsoletes: kicad-locales-ja |
108 |
Obsoletes: kicad-locales-ko |
109 |
Obsoletes: kicad-locales-lt |
110 |
Obsoletes: kicad-locales-nl |
111 |
Obsoletes: kicad-locales-pl |
112 |
Obsoletes: kicad-locales-pt |
113 |
Obsoletes: kicad-locales-ru |
114 |
Obsoletes: kicad-locales-sl |
115 |
Obsoletes: kicad-locales-sv |
116 |
Obsoletes: kicad-locales-zh-cn |
117 |
|
118 |
%description i18n |
119 |
Kicad is an open source (GPL) program for the creation of electronic |
120 |
schematic diagrams and printed circuit board artwork. |
121 |
|
122 |
Kicad-i18n provides locales for kicad. |
123 |
|
124 |
|
125 |
%package library |
126 |
Summary: Library for kicad (creation of electronic schematic diagrams) |
127 |
License: LGPLv2 |
128 |
Requires: %{name} |
129 |
BuildArch: noarch |
130 |
|
131 |
%description library |
132 |
Kicad is an open source (GPL) program for the creation of electronic |
133 |
schematic diagrams and printed circuit board artwork. |
134 |
|
135 |
Kicad-library is a set of libraries needed by kicad. |
136 |
|
137 |
%prep |
138 |
%setup -q -a 1 -a 2 -a 3 -a 4 -a 5 -a 6 |
139 |
%autopatch -p1 |
140 |
|
141 |
%build |
142 |
export LC_ALL=C |
143 |
|
144 |
# Building kicad |
145 |
# Set CMAKE_PREFIX_PATH because of a misconfiguration in opencascade |
146 |
%cmake \ |
147 |
-DBUILD_SHARED_LIBS:BOOL=OFF \ |
148 |
-DCMAKE_BUILD_TYPE=Release \ |
149 |
-DKICAD_BUILD_VERSION=%{version} \ |
150 |
-DBUILD_GITHUB_PLUGIN=ON \ |
151 |
-DKICAD_SPICE=ON \ |
152 |
-DKICAD_USE_OCC=ON \ |
153 |
-DKICAD_SCRIPTING=ON \ |
154 |
-DKICAD_SCRIPTING_MODULES=ON \ |
155 |
-DKICAD_SCRIPTING_WXPYTHON=ON \ |
156 |
-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON \ |
157 |
-DKICAD_SCRIPTING_PYTHON3=ON \ |
158 |
-DKICAD_SCRIPTING_ACTION_MENU=ON \ |
159 |
-DCPACK_DO_STRIP=OFF |
160 |
%cmake_build |
161 |
# for %%cmake: |
162 |
|
163 |
# Building kicad-doc |
164 |
pushd %{docname}-%{version} |
165 |
%cmake \ |
166 |
-DCMAKE_BUILD_TYPE=Release \ |
167 |
-DBUILD_FORMATS=html |
168 |
%cmake_build |
169 |
popd |
170 |
|
171 |
# Building kicad-symbols |
172 |
pushd %{symname}-%{version} |
173 |
%cmake \ |
174 |
-DCMAKE_BUILD_TYPE=Release |
175 |
%cmake_build |
176 |
popd |
177 |
|
178 |
# Building kicad-packages3D |
179 |
pushd %{p3dname}-%{version} |
180 |
%cmake \ |
181 |
-DCMAKE_BUILD_TYPE=Release |
182 |
%cmake_build |
183 |
popd |
184 |
|
185 |
# Building kicad-templates |
186 |
pushd %{templname}-%{version} |
187 |
%cmake \ |
188 |
-DCMAKE_BUILD_TYPE=Release |
189 |
%cmake_build |
190 |
popd |
191 |
|
192 |
# Building kicad-footprints |
193 |
pushd %{fpname}-%{version} |
194 |
%cmake \ |
195 |
-DCMAKE_BUILD_TYPE=Release |
196 |
%cmake_build |
197 |
popd |
198 |
|
199 |
|
200 |
# Building kicad-i18n |
201 |
pushd %{i18nname}-%{version} |
202 |
%cmake \ |
203 |
-DCMAKE_BUILD_TYPE=Release \ |
204 |
-DKICAD_I18N_UNIX_STRICT_PATH=ON |
205 |
%cmake_build |
206 |
popd |
207 |
|
208 |
%install |
209 |
pushd %{docname}-%{version} |
210 |
# Installing kicad-doc |
211 |
%cmake_install |
212 |
popd |
213 |
|
214 |
# Installing kicad-symbols |
215 |
pushd %{symname}-%{version} |
216 |
%cmake_install |
217 |
popd |
218 |
|
219 |
# Installing kicad-packages3D |
220 |
pushd %{p3dname}-%{version} |
221 |
%cmake_install |
222 |
popd |
223 |
|
224 |
# Installing kicad-templates |
225 |
pushd %{templname}-%{version} |
226 |
%cmake_install |
227 |
popd |
228 |
|
229 |
# Installing kicad-footprints |
230 |
pushd %{fpname}-%{version} |
231 |
%cmake_install |
232 |
popd |
233 |
|
234 |
# Installing kicad-i18n |
235 |
pushd %{i18nname}-%{version} |
236 |
%cmake_install |
237 |
popd |
238 |
%find_lang %{name} |
239 |
|
240 |
# Installing kicad |
241 |
%cmake_install |
242 |
|
243 |
# create desktop file |
244 |
desktop-file-install --vendor='' \ |
245 |
--remove-category='Scientific' \ |
246 |
--add-category='Science;Electronics;Education' \ |
247 |
--dir=%buildroot%{_datadir}/applications \ |
248 |
%buildroot%{_datadir}/applications/*.desktop |
249 |
|
250 |
# remove unwanted devel files |
251 |
rm -r %{buildroot}%{_libdir}/libkicad_3dsg.so |
252 |
|
253 |
%files |
254 |
%{_bindir}/* |
255 |
%{_libdir}/libkicad_3dsg.so.* |
256 |
%{_iconsdir}/*/*/* |
257 |
%{python3_sitelib}/_pcbnew.so |
258 |
%{python3_sitelib}/pcbnew.* |
259 |
%{python3_sitelib}/__pycache__/* |
260 |
%{_datadir}/%{name}/demos/ |
261 |
%{_datadir}/%{name}/template/ |
262 |
%{_datadir}/applications/*.desktop |
263 |
%{_datadir}/mime/packages/kicad-*.xml |
264 |
%{_datadir}/appdata/kicad.*.xml |
265 |
%{_libdir}/%{name}/plugins/ |
266 |
%{_datadir}/%{name}/plugins/ |
267 |
%{_datadir}/%{name}/scripting/ |
268 |
%dir %{_libdir}/%{name} |
269 |
%dir %{_datadir}/%{name} |
270 |
|
271 |
%files doc |
272 |
%doc %{_docdir}/%{name}/ |
273 |
|
274 |
%files i18n -f %{name}.lang |
275 |
|
276 |
%files library |
277 |
%{_datadir}/%{name}/library |
278 |
%{_datadir}/%{name}/modules |