-
Notifications
You must be signed in to change notification settings - Fork 5
/
org.kicad.KiCad.yml
342 lines (326 loc) · 10.8 KB
/
org.kicad.KiCad.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
app-id: org.kicad.KiCad
runtime: org.freedesktop.Sdk
runtime-version: '24.08'
sdk: org.freedesktop.Sdk
command: kicad-startup
finish-args:
- --device=dri
- --filesystem=home
- --share=ipc
- --share=network
- --socket=x11
add-extensions:
org.kicad.KiCad.Library:
version: stable
directory: extensions/Library
autodelete: true
no-autodownload: false
subdirectories: true
merge-dirs: template;symbols;footprints;3dmodels
org.kicad.KiCad.ODBCDriver:
version: stable
directory: extensions/ODBCDriver
autodelete: true
no-autodownload: true
subdirectories: true
add-ld-path: lib
merge-dirs: lib;template
cleanup:
- /lib/cmake
- /lib/pkgconfig
- /lib/wx
- /lib64
- /share/aclocal
- /share/bakefile
- '*.la'
- '*.a'
modules:
- shared-modules/glu/glu-9.json
- shared-modules/glew/glew.json
- shared-modules/libsecret/libsecret.json
- name: glm
buildsystem: simple
build-commands:
- cp -r glm /app/include
cleanup:
- /include
sources:
- type: git
url: https://github.com/g-truc/glm
tag: 1.0.1
commit: 0af55ccecd98d4e5a8d1fad7de25ba429d60e863
x-checker-data:
type: git
tag-pattern: ^([\d\.]+)$
- name: libXmu
cleanup:
- /include
- /share/doc
sources:
- type: git
url: https://gitlab.freedesktop.org/xorg/lib/libxmu.git
tag: libXmu-1.2.1
commit: 792f80402ee06ce69bca3a8f2a84295999c3a170
x-checker-data:
type: git
tag-pattern: ^libXmu-([\d\.]+)$
- name: OCCT
buildsystem: cmake-ninja
cleanup:
- /bin
- /include
- /share/doc
config-opts:
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DBUILD_LIBRARY_TYPE=Shared
- -DBUILD_Inspector=OFF
- -DBUILD_DOC_Overview=OFF
- -DBUILD_MODULE_ApplicationFramework=ON
- -DBUILD_MODULE_DataExchange=ON
- -DBUILD_MODULE_Draw=OFF
- -DBUILD_MODULE_FoundationClasses=ON
- -DBUILD_MODULE_ModelingAlgorithms=ON
- -DBUILD_MODULE_ModelingData=ON
- -DBUILD_MODULE_Visualization=ON
- -DUSE_VTK=OFF
- -DUSE_TBB=OFF
- -DINSTALL_FREETYPE=OFF
- -DINSTALL_SAMPLES=OFF
- -DINSTALL_TEST_CASES=OFF
sources:
- type: git
commit: bd2a789f15235755ce4d1a3b07379a2e062fdc2e
url: https://github.com/Open-Cascade-SAS/OCCT
tag: V7_8_1
x-checker-data:
type: git
tag-pattern: ^V([\d_]+)$
- type: patch
path: patches/occt_0001_FreeType-Use-unsigned-point-and-contour-indexing-in-FT_Outline.patch
- name: boost
buildsystem: simple
build-commands:
- ./bootstrap.sh --prefix=/app --with-libraries=context,date_time,filesystem,iostreams,locale,program_options,regex,system,thread,test
- ./b2 -j $FLATPAK_BUILDER_N_JOBS install
cleanup:
- /include
sources:
- type: archive
url: https://archives.boost.io/release/1.87.0/source/boost_1_87_0.tar.gz
sha256: f55c340aa49763b1925ccf02b2e83f35fdcf634c9d5164a2acb87540173c741d
x-checker-data:
type: html
url: https://www.boost.org/feed/downloads.rss
url-template: https://archives.boost.io/release/1.87.0/source/boost_${version0}_${version1}_${version2}.tar.gz
version-pattern: <title>Version (\d+\.?\d+\.\d+)(?!\sbeta)|</title>$
- name: wxWidgets
cleanup:
- /bin
- /include
config-opts:
- --with-opengl
- --disable-glcanvasegl
sources:
- type: git
commit: 5ff25322553c1870cf20a2e1ba6f20ed50d9fe9a
tag: v3.2.6
url: https://github.com/wxWidgets/wxWidgets
x-checker-data:
is-important: true
type: git
tag-pattern: ^v([\d\.]+)$
- python3-wxPython.yml
- python3-requests.yml
- name: swig
buildsystem: autotools
cleanup:
- /bin
- /share
sources:
- type: archive
url: https://sourceforge.net/projects/swig/files/swig/swig-4.3.0/swig-4.3.0.tar.gz
sha256: f7203ef796f61af986c70c05816236cbd0d31b7aa9631e5ab53020ab7804aa9e
x-checker-data:
type: html
url: https://www.swig.org/download.html
version-pattern: The latest release is <a href=".+">swig-([\d\.]+)</a>
url-template: https://sourceforge.net/projects/swig/files/swig/swig-$version/swig-$version.tar.gz
- name: ngspice
cleanup:
- /bin
- /include
- /share/man
config-opts:
- --disable-silent-rules
- --enable-xspice
- --enable-cider
- --enable-openmp
- --with-ngshared
rm-configure: true
sources:
- type: archive
url: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/43/ngspice-43.tar.gz
sha256: 14dd6a6f08531f2051c13ae63790a45708bd43f3e77886a6a84898c297b13699
x-checker-data:
is-important: true
type: html
url: https://ngspice.sourceforge.io/download.html
url-template: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/$version/ngspice-$version.tar.gz
version-pattern: <strong>ngspice-([\d]+)</strong>
- type: script
commands:
- cp -p /usr/share/automake-*/config.{sub,guess} .
- autoconf -f -B build/autoconf_prepend-include
- name: unixodbc
cleanup:
- /share/man
sources:
- type: git
url: https://github.com/lurcher/unixODBC.git
tag: 2.3.12
commit: c335dbf3fa25b524e935e98cf26b96a2e13f5c81
x-checker-data:
type: git
tag-pattern: ^([\d\.]+)$
- type: script
commands:
- autoreconf -fi
- name: libgit2
buildsystem: cmake-ninja
cleanup:
- /bin
- /include
- /lib/pkgconfig
config-opts:
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
sources:
- type: git
commit: 338e6fb681369ff0537719095e22ce9dc602dbf0
tag: v1.9.0
url: https://github.com/libgit2/libgit2
x-checker-data:
type: git
tag-pattern: ^(v[\d\.]+)$
- python3-pytest.yml
- name: kicad
builddir: true
buildsystem: cmake-ninja
config-opts:
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DCMAKE_CTEST_ARGUMENTS="--output-on-failure"
- -DGLEW_INCLUDE_DIR=/app/include/GL
- -DOCC_INCLUDE_DIR=/app/include/opencascade
- -DOPENGL_glu_LIBRARY=/app/lib/libGLU.so
- -DKICAD_BUILD_FLATPAK=ON
- -DKICAD_BUILD_I18N=ON
- -DKICAD_USE_EGL=OFF
- -DKICAD_LIBRARY_DATA=/app/extensions/Library
post-install:
- install ../../flatpak-extra/kicad-startup /app/bin/kicad-startup
- install ../../flatpak-extra/eeschema-startup /app/bin/eeschema-startup
- install ../../flatpak-extra/pcbnew-startup /app/bin/pcbnew-startup
- install ../../flatpak-extra/python /app/bin/python
- install ../../flatpak-extra/pip3 /app/bin/pip3.10
- ln -s /app/bin/pip3.10 /app/bin/pip3
- ln -s /app/bin/pip3 /app/bin/pip
- install -d /app/extensions/ODBCDriver
# Alter the desktop files for kicad, eeschema, and pcbnew to use the
# wrapper scripts installing/uninstalling the ODBC drivers before
# launching the apps.
- >
for f in $FLATPAK_DEST/share/applications/*.desktop; do
desktop_name="$(basename $f)";
if [ "$desktop_name" = "org.kicad.KiCad.desktop" ]; then
desktop-file-edit \
--set-key=Exec \
--set-value="kicad-startup %f" \
"$f";
else
if [[ "$desktop_name" =~ ^org\.kicad\.KiCad\.(eeschema|pcbnew)\.desktop$
]]; then
desktop-file-edit \
--set-key=Exec \
--set-value="${BASH_REMATCH[1]}-startup %f" \
"$f";
fi;
fi;
done;
unset desktop_name
# TODO (post-install script): Re-add <kudos> tag to metainfo.xml for UserDocs.
#run-tests: true # Temporarily disable due to https://buildbot.flathub.org/#/builders/31/builds/13639
subdir: kicad-git
sources:
- type: git
dest: kicad-git
url: https://gitlab.com/kicad/code/kicad.git
commit: ad43570ec03cd2de6d05d71ffb44898ba0c0ff4f
tag: 8.0.7
x-checker-data:
is-main-source: true
type: git
tag-pattern: ^([\d\.]+)$
versions:
<: 8.99.0
- type: script
dest: flatpak-extra
dest-filename: pip3
commands:
- export PYTHONUSERBASE="$XDG_DATA_HOME/python"
- export PATH="$XDG_DATA_HOME/python/bin":$PATH
- exec /usr/bin/pip3 "$@"
- type: script
dest: flatpak-extra
dest-filename: python
commands:
- export PYTHONUSERBASE="$XDG_DATA_HOME/python"
- export PATH="$XDG_DATA_HOME/python/bin":$PATH
- exec /usr/bin/python "$@"
- type: script
dest: flatpak-extra
dest-filename: kicad-startup
commands:
- mkdir -p ${XDG_CONFIG_HOME}/unixodbc
- export ODBCSYSINI=${XDG_CONFIG_HOME}/unixodbc
# Remove config file, and recreate it from all available templates.
# This handles uninstallation of ODBCDriver extensions.
- rm -f ${ODBCSYSINI}/odbcinst.ini
# Install available ODBC drivers
- >
for template in /app/extensions/ODBCDriver/template/*.ini; do
test -f "$template" || continue;
odbcinst -i -d -f "$template" >/dev/null;
done
- exec /app/bin/kicad "$@"
- type: script
dest: flatpak-extra
dest-filename: eeschema-startup
commands:
- mkdir -p ${XDG_CONFIG_HOME}/unixodbc
- export ODBCSYSINI=${XDG_CONFIG_HOME}/unixodbc
# Remove config file, and recreate it from all available templates.
# This handles uninstallation of ODBCDriver extensions.
- rm -f ${ODBCSYSINI}/odbcinst.ini
# Install available ODBC drivers
- >
for template in /app/extensions/ODBCDriver/template/*.ini; do
test -f "$template" || continue;
odbcinst -i -d -f "$template" >/dev/null;
done
- exec /app/bin/eeschema "$@"
- type: script
dest: flatpak-extra
dest-filename: pcbnew-startup
commands:
- mkdir -p ${XDG_CONFIG_HOME}/unixodbc
- export ODBCSYSINI=${XDG_CONFIG_HOME}/unixodbc
# Remove config file, and recreate it from all available templates.
# This handles uninstallation of ODBCDriver extensions.
- rm -f ${ODBCSYSINI}/odbcinst.ini
# Install available ODBC drivers
- >
for template in /app/extensions/ODBCDriver/template/*.ini; do
test -f "$template" || continue;
odbcinst -i -d -f "$template" >/dev/null;
done
- exec /app/bin/pcbnew "$@"
- kicad-doc.yml