Skip to content

Commit 6ad8304

Browse files
authored
Change source type to archive for flatpak-external-data-checker (#129)
* Update dependencies with x-checker-data and runtime version to support Python 3.13.9 * Fix paths for config.sub and config.guess in fftw2 module * Improve pypi-dependencies script formatting and add Cython to requirements * Update flatpak-builder-tools submodule to latest commit * Refactor pypi-dependencies script to improve error handling and streamline dependency installation * Fix library_utils.c in libccp4 module to include stdlib.h and declare putenv function * Add build-options for unused-result warning * Add 'old-style-definition' to cflags in YAML config * Update g-wrap module SHA256 checksum for source integrity * chore: Alter comment for pypi deps * Fix cflags formatting for libgd module build options * Update g-wrap module URL and SHA256 checksum for source integrity * Update raster3d module URL and SHA256 checksum for source integrity * Fix raster3d module URL to remove `.gz` suffix * Rename a patch file and path in the manifest * Add minimum CMake policy version to config options for eigen module * Update rdkit module tag to `Release_2025_03_3` * Include `better_enums` and modify build scripts Add `better_enums` of a single header library and prevent `FetchContent_MakeAvailable(better_enums)` in CMakeLists.txt * Change source type to archive for `x-checker-data` Updated source type from git to archive for multiple dependencies, including OpenBLAS, gemmi, libgd, boost, glm, bdwgc, swig, Catch2, eigen, and others. Added SHA256 checksums for integrity verification. * Update dependency entries with x-checker-data Added x-checker-data for several dependencies. * Clarify comments in io.github.pemsley.coot.yaml Updated comments for clarity in io.github.pemsley.coot.yaml. * Simplify cleanup section in io.github.pemsley.coot.yaml Removed unnecessary cleanup entries from the YAML configuration. * Implement gcc 15 workarounds in Coot YAML config Add workarounds for gcc 15 in library_utils.c * Document Guile 3.0 incompatibility with GTK4 Added notes regarding Guile version compatibility with GTK4.
1 parent e6bfb58 commit 6ad8304

File tree

1 file changed

+84
-49
lines changed

1 file changed

+84
-49
lines changed

io.github.pemsley.coot.yaml

Lines changed: 84 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -41,20 +41,17 @@ modules:
4141
- ln -s /app/lib/libopenblas.so /app/lib/liblapack.so
4242
cleanup:
4343
- /bin
44-
- /include
45-
- /lib/cmake
46-
- /lib/*.a
47-
- /lib/*.la
48-
- /lib/pkgconfig
49-
- /share/man
5044
sources:
51-
- type: git
52-
url: https://github.com/OpenMathLib/OpenBLAS.git
53-
tag: v0.3.29
45+
- type: archive
46+
url: https://github.com/OpenMathLib/OpenBLAS/archive/v0.3.29.tar.gz
47+
sha256: 38240eee1b29e2bde47ebb5d61160207dc68668a54cac62c076bb5032013b1eb
5448
x-checker-data:
5549
type: anitya
5650
project-id: 2540
51+
stable-only: true
5752
url-template: https://github.com/OpenMathLib/OpenBLAS/archive/v$version.tar.gz
53+
versions:
54+
<: '0.3.30' # Refer to https://github.com/OpenMathLib/OpenBLAS/issues/5324
5855

5956
# markupsafe, meson-python, nanobind, numpy, Cython
6057
- deps/pypi-dependencies.json
@@ -67,12 +64,13 @@ modules:
6764
build-options:
6865
cxxflags: -fPIC -O2
6966
sources:
70-
- type: git
71-
url: https://github.com/project-gemmi/gemmi.git
72-
tag: v0.7.3
67+
- type: archive
68+
url: https://github.com/project-gemmi/gemmi/archive/refs/tags/v0.7.3.tar.gz
69+
sha256: ed5e1d0665f27d623d877fa36f6c99a5de21310cc8715337ff9f6b545bd2e9d3
7370
x-checker-data:
7471
type: anitya
7572
project-id: 22936
73+
stable-only: false
7674
tag-pattern: https://github.com/project-gemmi/gemmi/archive/refs/tags/v$version.tar.gz
7775

7876
- name: fftw2
@@ -103,6 +101,11 @@ modules:
103101
- type: archive
104102
url: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/mmdb2-2.0.22.tar.gz
105103
sha256: a9646933ce9f34633e1ae4901f2383af0e5318d6490851328f5b6aa06195ab51
104+
x-checker-data:
105+
type: html
106+
url: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/
107+
version-pattern: mmdb2-([\d\.]+)\.tar\.gz
108+
url-template: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/mmdb2-$version.tar.gz
106109

107110
- name: libccp4
108111
buildsystem: autotools
@@ -117,8 +120,14 @@ modules:
117120
- type: archive
118121
url: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/libccp4-8.0.0.tar.gz
119122
sha256: cb813ae86612a0866329deab7cee96eac573d81be5b240341d40f9ad5322ff2d
123+
x-checker-data:
124+
type: html
125+
url: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/
126+
version-pattern: libccp4-([\d\.]+)\.tar\.gz
127+
url-template: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/libccp4-$version.tar.gz
120128
- type: shell
121129
commands:
130+
# Workarounds for gcc 15
122131
- cd ccp4 && if ! grep -q '^#include <stdlib.h>' library_utils.c; then sed
123132
-i '1i \#include <stdlib.h>' library_utils.c; fi
124133
- cd ccp4 && sed -i -E 's/^[[:space:]]*int[[:space:]]+putenv[[:space:]]*\([^;]*\)[[:space:]]*;/extern
@@ -140,12 +149,35 @@ modules:
140149
- type: archive
141150
url: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/clipper-2.1.20180802.tar.gz
142151
sha256: 7c7774f224b59458e0faa104d209da906c129523fa737e81eb3b99ec772b81e0
152+
x-checker-data:
153+
type: html
154+
url: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/
155+
version-pattern: clipper-([\d\.]+)\.tar\.gz
156+
url-template: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/clipper-$version.tar.gz
143157
- type: patch
144158
path: patches/clipper-configure-2.patch
145159
- type: shell
146160
commands:
147161
- sed -i 's/libccp4c/ccp4c/g' configure
148162

163+
- name: ssm
164+
buildsystem: autotools
165+
config-opts:
166+
- --enable-ccp4
167+
- --enable-shared
168+
- --disable-static
169+
build-options:
170+
cflags: -fPIC
171+
sources:
172+
- type: archive
173+
url: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/ssm-1.4.tar.gz
174+
sha256: 56e7e64ed86d7d9ec59500fd34f26f881bdb9d541916d9a817c3bfb8cf0e9508
175+
x-checker-data:
176+
type: html
177+
url: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/
178+
version-pattern: ssm-([\d\.]+)\.tar\.gz
179+
url-template: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/ssm-$version.tar.gz
180+
149181
- name: libgd
150182
buildsystem: autotools
151183
config-opts:
@@ -154,12 +186,13 @@ modules:
154186
build-options:
155187
cflags: -Wno-error=unused-result -Wno-error=old-style-definition
156188
sources:
157-
- type: git
158-
url: https://github.com/libgd/libgd.git
159-
tag: gd-2.3.3
189+
- type: archive
190+
url: https://github.com/libgd/libgd/releases/download/gd-2.3.3/libgd-2.3.3.tar.xz
191+
sha256: 3fe822ece20796060af63b7c60acb151e5844204d289da0ce08f8fdf131e5a61
160192
x-checker-data:
161193
type: anitya
162194
project-id: 880
195+
stable-only: true
163196
url-template: https://github.com/libgd/libgd/releases/download/gd-$version/libgd-$version.tar.xz
164197
- type: patch
165198
path: patches/gd.h.patch
@@ -176,22 +209,14 @@ modules:
176209
- type: archive
177210
url: http://www.bmsc.washington.edu/raster3d/Raster3D_3.0-8.tar
178211
sha256: 4f6999f8d446ed2d7ef32d4f7abaa1d63fa1fa78686e79cecafc06c5ae6b122d
212+
x-checker-data:
213+
type: html
214+
url: http://www.bmsc.washington.edu/raster3d/
215+
version-pattern: Raster3D_([\d\.-]+)\.tar\.gz
216+
url-template: http://www.bmsc.washington.edu/raster3d/Raster3D_$version.tar.gz
179217
- type: patch
180218
path: patches/fix-raster3d-Makefile.template.patch
181219

182-
- name: ssm
183-
buildsystem: autotools
184-
config-opts:
185-
- --enable-ccp4
186-
- --enable-shared
187-
- --disable-static
188-
build-options:
189-
cflags: -fPIC
190-
sources:
191-
- type: archive
192-
url: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/dependencies/ssm-1.4.tar.gz
193-
sha256: 56e7e64ed86d7d9ec59500fd34f26f881bdb9d541916d9a817c3bfb8cf0e9508
194-
195220
- name: boost
196221
buildsystem: simple
197222
build-commands:
@@ -206,12 +231,13 @@ modules:
206231
cleanup:
207232
- /share/boost
208233
sources:
209-
- type: git
210-
url: https://github.com/boostorg/boost.git
211-
tag: boost-1.87.0
234+
- type: archive
235+
url: https://github.com/boostorg/boost/releases/download/boost-1.87.0/boost-1.87.0-b2-nodocs.tar.xz
236+
sha256: 3abd7a51118a5dd74673b25e0a3f0a4ab1752d8d618f4b8cea84a603aeecc680
212237
x-checker-data:
213238
type: anitya
214239
project-id: 6845
240+
stable-only: true
215241
url-template: https://github.com/boostorg/boost/releases/download/boost-$version/boost-$version-b2-nodocs.tar.xz
216242

217243
- name: libdwarf
@@ -225,6 +251,7 @@ modules:
225251
x-checker-data:
226252
type: anitya
227253
project-id: 1597
254+
stable-only: true
228255
url-template: https://www.prevanders.net/libdwarf-$version.tar.xz
229256

230257
- name: gsl
@@ -236,6 +263,7 @@ modules:
236263
x-checker-data:
237264
type: anitya
238265
project-id: 1267
266+
stable-only: true
239267
url-template: https://ftp.gnu.org/gnu/gsl/gsl-$version.tar.gz
240268

241269
- name: glm
@@ -244,12 +272,13 @@ modules:
244272
- -DGLM_BUILD_TESTS=OFF
245273
- -DBUILD_SHARED_LIBS=ON
246274
sources:
247-
- type: git
248-
url: https://github.com/g-truc/glm.git
249-
tag: 1.0.1
275+
- type: archive
276+
url: https://github.com/g-truc/glm/archive/refs/tags/1.0.1.tar.gz
277+
sha256: 9f3174561fd26904b23f0db5e560971cbf9b3cbda0b280f04d5c379d03bf234c
250278
x-checker-data:
251279
type: anitya
252280
project-id: 1181
281+
stable-only: true
253282
url-template: https://github.com/g-truc/glm/archive/refs/tags/$version.tar.gz
254283

255284
- name: bdw-gc
@@ -261,14 +290,17 @@ modules:
261290
build-options:
262291
cflags: -fPIC -O2
263292
sources:
264-
- type: git
265-
url: https://github.com/ivmai/bdwgc.git
266-
tag: v8.2.4
293+
- type: archive
294+
url: https://github.com/ivmai/bdwgc/archive/refs/tags/v8.2.4.tar.gz
295+
sha256: 18e63ab1428bd52e691da107a6a56651c161210b11fbe22e2aa3c31f7fa00ca5
267296
x-checker-data:
268297
type: anitya
269298
project-id: 17108
299+
stable-only: true
270300
url-template: https://github.com/ivmai/bdwgc/archive/refs/tags/v$version.tar.gz
271301

302+
# NOTE: Guile 3.0 is currently incompatible with the GTK4-based Coot build.
303+
# Keep at 2.2.7 until upstream supports 3.0.
272304
- name: guile
273305
buildsystem: autotools
274306
config-opts:
@@ -314,12 +346,13 @@ modules:
314346
- name: swig
315347
buildsystem: autotools
316348
sources:
317-
- type: git
318-
url: https://github.com/swig/swig.git
319-
tag: v4.3.0
349+
- type: archive
350+
url: https://github.com/swig/swig/archive/refs/tags/v4.3.0.tar.gz
351+
sha256: f2136da1137a20dfcec795fe0d17ca1a2465d28e3b307f122526629b6b2f2294
320352
x-checker-data:
321353
type: anitya
322354
project-id: 6131
355+
stable-only: true
323356
url-template: https://github.com/swig/swig/archive/refs/tags/v$version.tar.gz
324357

325358
- name: Catch2
@@ -328,12 +361,13 @@ modules:
328361
config-opts:
329362
- -DCMAKE_CXX_STANDARD=17
330363
sources:
331-
- type: git
332-
url: https://github.com/catchorg/Catch2.git
333-
tag: v3.7.1
364+
- type: archive
365+
url: https://github.com/catchorg/Catch2/archive/refs/tags/v3.7.1.tar.gz
366+
sha256: c991b247a1a0d7bb9c39aa35faf0fe9e19764213f28ffba3109388e62ee0269c
334367
x-checker-data:
335368
type: anitya
336369
project-id: 7680
370+
stable-only: true
337371
url-template: https://github.com/catchorg/Catch2/archive/refs/tags/v$version.tar.gz
338372

339373
- name: eigen
@@ -342,12 +376,13 @@ modules:
342376
config-opts:
343377
- -DCMAKE_POLICY_VERSION_MINIMUM=3.5
344378
sources:
345-
- type: git
346-
url: https://gitlab.com/libeigen/eigen.git
347-
tag: 3.3.9
379+
- type: archive
380+
url: https://gitlab.com/libeigen/eigen/-/archive/3.3.9/eigen-3.3.9.tar.gz
381+
sha256: 7985975b787340124786f092b3a07d594b2e9cd53bbfe5f3d9b1daee7d55f56f
348382
x-checker-data:
349383
type: anitya
350384
project-id: 13751
385+
stable-only: true
351386
url-template: https://gitlab.com/libeigen/eigen/-/archive/$version/eigen-$version.tar.gz
352387

353388
- name: rdkit
@@ -390,7 +425,7 @@ modules:
390425
sha256: 765339356391422ad7f0258f8b746d8010da205762784a84980936e8b38e03ce
391426
strip-components: 0
392427
- type: file
393-
url: https://raw.githubusercontent.com/aantron/better-enums/refs/tags/0.11.3/enum.h
428+
url: https://raw.githubusercontent.com/aantron/better-enums/refs/tags/0.11.3/enum.h # Single header-only library
394429
sha256: 43a55c487052cfe068ecf1e4496d52128161bfb82c06c343eea85f177f235e04
395430
- type: shell
396431
commands:
@@ -403,8 +438,8 @@ modules:
403438
- cp -r RingDecomposerLib-1.1.3_rdkit/* External/RingFamilies/RingDecomposerLib
404439
- cp -r pubchem-align3d-daefab3dd0c90ca56da9d3d5e375fe4d651e6be3/* External/pubchem_shape/pubchem-align3d
405440
- cp -r rapidjson-858451e5b7d1c56cf8f6d58f88cf958351837e53/* External/rapidjson-1.1.0
406-
- cp enum.h Code/RDGeneral
407-
- sed -i 's|FetchContent_MakeAvailable(better_enums)||' Code/RDGeneral/CMakeLists.txt
441+
- cp enum.h Code/RDGeneral # Place it in the required location in advance
442+
- sed -i 's|FetchContent_MakeAvailable(better_enums)||' Code/RDGeneral/CMakeLists.txt # Prevent downloading
408443

409444
- name: coot
410445
buildsystem: autotools

0 commit comments

Comments
 (0)