1 |
# limit parallel builds on aarch64 |
2 |
%ifarch aarch64 |
3 |
%global _smp_ncpus_max 4 |
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 |
%define branch 5.0 |
19 |
|
20 |
|
21 |
Name: kicad |
22 |
Summary: An open source program for the creation of electronic schematic diagrams |
23 |
Epoch: 1 |
24 |
Version: 5.1.5 |
25 |
Release: %mkrel 1 |
26 |
License: GPLv3+ |
27 |
Group: Sciences/Computer science |
28 |
Url: http://kicad-pcb.org/ |
29 |
Source0: https://launchpad.net/%{name}/%{branch}/%{version}/+download/%{name}-%{version}.tar.xz |
30 |
Source1: https://github.com/KiCad/%{docname}/archive/%{version}/%{docname}-%{version}.tar.gz |
31 |
Source2: https://github.com/KiCad/%{symname}/archive/%{version}/%{symname}-%{version}.tar.gz |
32 |
Source3: https://github.com/KiCad/%{p3dname}/archive/%{version}/%{p3dname}-%{version}.tar.gz |
33 |
Source4: https://github.com/KiCad/%{templname}/archive/%{version}/%{templname}-%{version}.tar.gz |
34 |
Source5: https://github.com/KiCad/%{fpname}/archive/%{version}/%{fpname}-%{version}.tar.gz |
35 |
Source6: https://github.com/KiCad/%{i18nname}/archive/%{version}/%{i18nname}-%{version}.tar.gz |
36 |
|
37 |
# This needs to be aligned with kicad-library-*/template/fp-lib-table.for-pretty |
38 |
|
39 |
Patch1: kicad-5.1.0-nostrip.patch |
40 |
|
41 |
BuildRequires: wxgtk3.0-devel |
42 |
BuildRequires: mesa-common-devel |
43 |
BuildRequires: imagemagick |
44 |
BuildRequires: boost-devel |
45 |
BuildRequires: glm-devel |
46 |
BuildRequires: opencascade-devel |
47 |
BuildRequires: ngspice-devel |
48 |
BuildRequires: pkgconfig(glew) |
49 |
BuildRequires: pkgconfig(cairo) |
50 |
BuildRequires: pkgconfig(openssl) >= 1.1 |
51 |
BuildRequires: libgomp-devel |
52 |
BuildRequires: pkgconfig(libcurl) |
53 |
BuildRequires: cmake |
54 |
# doc |
55 |
BuildRequires: dblatex |
56 |
BuildRequires: po4a |
57 |
BuildRequires: asciidoc |
58 |
BuildRequires: git |
59 |
BuildRequires: perl(Unicode::LineBreak) |
60 |
BuildRequires: source-highlight |
61 |
# python scripting |
62 |
BuildRequires: pkgconfig(python3) |
63 |
BuildRequires: python3-wxpython4 |
64 |
BuildRequires: swig |
65 |
|
66 |
BuildRequires: desktop-file-utils |
67 |
Requires: %{name}-library |
68 |
Requires: %{docname} |
69 |
Requires: %{i18nname} |
70 |
Requires: python3-wxpython4 |
71 |
|
72 |
%description |
73 |
Kicad is an open source (GPL) program for the creation of electronic |
74 |
schematic diagrams and printed circuit board artwork. |
75 |
|
76 |
Kicad is a set of four programs and a project manager: |
77 |
|
78 |
* Eeschema: Schematic entry. |
79 |
* Pcbnew: Board editor. |
80 |
* Gerbview: GERBER viewer (photoplotter documents). |
81 |
* Cvpcb: footprint selector for components used in the circuit design. |
82 |
* Kicad: project manager. |
83 |
|
84 |
%package doc |
85 |
Summary: Documentation for kicad (creation of electronic schematic diagrams) |
86 |
Requires: %{name} |
87 |
BuildArch: noarch |
88 |
|
89 |
%description doc |
90 |
Kicad is an open source (GPL) program for the creation of electronic |
91 |
schematic diagrams and printed circuit board artwork. |
92 |
|
93 |
Kicad-doc is the documentation for kicad. |
94 |
|
95 |
%package i18n |
96 |
Summary: Kicad locales |
97 |
Requires: %{name} |
98 |
BuildArch: noarch |
99 |
|
100 |
Obsoletes: kicad-locales-ca |
101 |
Obsoletes: kicad-locales-cs |
102 |
Obsoletes: kicad-locales-de |
103 |
Obsoletes: kicad-locales-en |
104 |
Obsoletes: kicad-locales-es |
105 |
Obsoletes: kicad-locales-fi |
106 |
Obsoletes: kicad-locales-fr |
107 |
Obsoletes: kicad-locales-hu |
108 |
Obsoletes: kicad-locales-it |
109 |
Obsoletes: kicad-locales-ja |
110 |
Obsoletes: kicad-locales-ko |
111 |
Obsoletes: kicad-locales-lt |
112 |
Obsoletes: kicad-locales-nl |
113 |
Obsoletes: kicad-locales-pl |
114 |
Obsoletes: kicad-locales-pt |
115 |
Obsoletes: kicad-locales-ru |
116 |
Obsoletes: kicad-locales-sl |
117 |
Obsoletes: kicad-locales-sv |
118 |
Obsoletes: kicad-locales-zh-cn |
119 |
|
120 |
%description i18n |
121 |
Kicad is an open source (GPL) program for the creation of electronic |
122 |
schematic diagrams and printed circuit board artwork. |
123 |
|
124 |
Kicad-i18n provides locales for kicad. |
125 |
|
126 |
|
127 |
%package library |
128 |
Summary: Library for kicad (creation of electronic schematic diagrams) |
129 |
License: LGPLv2 |
130 |
Requires: %{name} |
131 |
BuildArch: noarch |
132 |
|
133 |
%description library |
134 |
Kicad is an open source (GPL) program for the creation of electronic |
135 |
schematic diagrams and printed circuit board artwork. |
136 |
|
137 |
Kicad-library is a set of libraries needed by kicad. |
138 |
|
139 |
%prep |
140 |
%setup -q -a 1 -a 2 -a 3 -a 4 -a 5 -a 6 |
141 |
%patch1 -p1 |
142 |
|
143 |
%build |
144 |
export LC_ALL=C |
145 |
|
146 |
# Building kicad |
147 |
# Set CMAKE_PREFIX_PATH because of a misconfiguration in opencascade |
148 |
%cmake \ |
149 |
-DBUILD_SHARED_LIBS:BOOL=OFF \ |
150 |
-DCMAKE_BUILD_TYPE=Release \ |
151 |
-DKICAD_BUILD_VERSION=%{version} \ |
152 |
-DBUILD_GITHUB_PLUGIN=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 |