Repository navigation
Expand file tree
/
Copy patharm-flatpak.yml
More file actions
135 lines (124 loc) · 4.66 KB
/
Copy patharm-flatpak.yml
File metadata and controls
135 lines (124 loc) · 4.66 KB
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
# vim:set expandtab shiftwidth=2:
id: edu.ucsf.rbvi.ChimeraX
runtime: org.freedesktop.Platform
runtime-version: "24.08"
sdk: org.freedesktop.Sdk
command: ChimeraX
build-options:
build_args:
# need to fetch files from https://cxtoolshed.rbvi.ucsf.edu/prereqs
- --share=network
#? FontConfig error while running ChimeraX --nogui
#? - --ro-bind /usr/share/fonts /run/host/fonts
finish-args:
# X11 + Xshm access
- --share=ipc
- --socket=x11
# fallback-x11 to use X11 if wayland is not found
# -- currently, we need X11
#- --socket=fallback-x11
# Wayland access
- --socket=wayland
# OpenGL rendering
- --device=dri
# Network access
- --share=network
# Share setup with other installations of ChimeraX
- --filesystem=xdg-cache/ChimeraX:create
- --filesystem=xdg-config/ChimeraX:create
- --filesystem=xdg-data/ChimeraX:create
- --filesystem=xdg-download/ChimeraX:create
# Want "Spin Movie" icon to be able to save to Desktop
- --filesystem=xdg-desktop
# Want to be able to open files in current directory on command
# line (both in shell and within ChimeraX)
# --fileystem=home allows for files in the home directory tree
# --fileystem=host allows for files in /tmp, /var/tmp, etc.
# This makes the previous filesystem entries redundent
# unless these permissions are turned off (with the
# FlatSeal flatpak application).
- --filesystem=home
- --filesystem=host
modules:
- name: rsync
no-autogen: true
sources:
- type: archive
url: https://download.samba.org/pub/rsync/src/rsync-3.4.1.tar.gz
sha256: 2924bcb3a1ed8b551fc101f740b9f0fe0a202b115027647cf69850d65fd88c52
- name: patchelf
sources:
- type: archive
url: https://github.com/NixOS/patchelf/archive/refs/tags/0.18.0.tar.gz
sha256: 1451d01ee3a21100340aed867d0b799f46f0b1749680028d38c3f5d0128fb8a7
- name: libevent
sources:
- type: archive
url: https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
sha256: 92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
- name: glu
buildsystem: meson
sources:
- type: archive
url: https://archive.mesa3d.org/glu/glu-9.0.3.tar.xz
sha256: bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f
- name: libsnappy
buildsystem: cmake-ninja
config-opts:
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DBUILD_SHARED_LIBS=ON
- -DSNAPPY_BUILD_TESTS=OFF
#- -DCMAKE_INSTALL_PREFIX=/app
sources:
- type: git
url: https://github.com/google/snappy.git
commit: 6af9287fbdb913f0794d0148c6aa43b58e63c8e3
tag: 1.2.2
- name: libminzip
buildsystem: cmake-ninja
config-opts:
- -DBUILD_SHARED_LIBS=ON
- -DMZ_COMPAT=ON
- -DMZ_ZLIB=ON
sources:
- type: git
url: https://github.com/nmoinvaz/minizip.git
commit: 95ba7abdd24a956bde584db54d1d55e37d511e2f
tag: 4.0.9
- name: chimerax
builddir: true
buildsystem: simple
sources:
- type: dir
path: .
build-commands:
- mkdir -p /app
- NO_PREBUILT=1 FLATPAK_DIST=24.08 FLATPAK_APPNAME=edu.ucsf.rbvi.ChimeraX MAKEOPTS="-j$(nproc)" make -j$(nproc) install-rbvi
- /app/bin/ChimeraX --nogui --exit --cmd "linux flatpak-files edu.ucsf.rbvi.ChimeraX"
- install -Dm644 -t /app/share/metainfo edu.ucsf.rbvi.ChimeraX.metainfo.xml
- install -Dm644 -t /app/share/applications edu.ucsf.rbvi.ChimeraX.desktop
- FLATPAK_DIST=24.08 USE_COVERAGE=1 make pytest-install
- FLATPAK_DIST=24.08 make prepare-coverage
- FLATPAK_DIST=24.08 USE_COVERAGE=1 make pytest-both-exes
- FLATPAK_DIST=24.08 USE_COVERAGE=1 make pytest-wheel
- FLATPAK_DIST=24.08 USE_COVERAGE=1 make pytest-app
- FLATPAK_DIST=24.08 make report-coverage
# libQt6Network.so.6 from the Qt Group needs
# libgssapi_krb5.so.2, but is not in flatpak runtime environment
- name: krb5
buildsystem: simple
sources:
- type: archive
url: https://kerberos.org/dist/krb5/1.21/krb5-1.21.2.tar.gz
sha256: 9560941a9d843c0243a71b17a7ac6fe31c7cebb5bce3983db79e52ae7e850491
build-commands:
- cd src && ./configure
- make -j -C src/util
- make -j -C src/include
# need rpath to point to installation directory, not /usr/local/lib
- (cd lib; for m in $(find . -name Makefile); do sed -i "s/SHLIB_RDIRS=.*/SHLIB_RDIRS='\$\$ORIGIN'/" $m; done)
- make -j -C src/lib
- cd src/lib && cp libkrb5.so.3 libk5crypto.so.3 libcom_err.so.3 libkrb5support.so.0 libgssapi_krb5.so.2 /app/lib/python3*/site-packages/PySide6/Qt/lib/
cleanup:
- "/bin/rsync*"
- "/bin/patchelf*"