forked from Ketok4321/aseprite-flatpak
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaseprite.yaml
More file actions
142 lines (139 loc) · 5.73 KB
/
aseprite.yaml
File metadata and controls
142 lines (139 loc) · 5.73 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
136
137
138
139
140
141
# Relevant docs:
# https://docs.flatpak.org/en/latest/first-build.html
# https://docs.flatpak.org/en/latest/manifests.html
# https://docs.flatpak.org/en/latest/module-sources.html
# https://docs.flatpak.org/en/latest/sandbox-permissions.html
# https://docs.flatpak.org/en/latest/flatpak-builder.html
# https://docs.flatpak.org/en/latest/flatpak-builder-command-reference.html
app-id: org.krakua0.Aseprite
# rename-icon: ase256.png
# rename-desktop-file: aseprite.desktop
# rename-appinfo-file: aseprite.metainfo.xml
runtime: org.freedesktop.Platform
runtime-version: '24.08'
sdk: org.freedesktop.Sdk
sdk-extensions:
- org.freedesktop.Sdk.Extension.llvm20
command: aseprite
finish-args:
- --socket=x11
#- --socket=wayland # As of 2025, Aseprite still doesn't support Wayland: https://github.com/aseprite/aseprite/issues/3448
#- --socket=fallback-x11
- --share=network
- --share=ipc
- --device=dri
- --filesystem=home
- --filesystem=/media
- --filesystem=/run/media
- --filesystem=/mnt
- --filesystem=xdg-desktop
- --filesystem=xdg-pictures
- --filesystem=xdg-videos
- --filesystem=xdg-music
- --filesystem=xdg-download
- --filesystem=xdg-documents
- --filesystem=xdg-public-share
cleanup:
- /include
- /lib/pkgconfig
- /bin/mdb*
- '*.a'
- /libexec
- /lib/cmake
- /bin/cmark
- /bin/event_rpcgen.py
- /bin/playout
- /bin/secret-tool
- /bin/gst-*
- /share/gdb
- /share/gst*
- /lib/girepository-1.0/
- /lib/gst-validate-launcher/
- /lib/gstreamer-1.0/include
- /lib/gstreamer-1.0/include/
- /lib/gstreamer-1.0/libgstcoreelements.so
- /lib/gstreamer-1.0/libgstopengl*
- /lib/gstreamer-1.0/libgstximagesink.so
- /lib/gstreamer-1.0/validate/
- /lib/libgst*
modules:
- name: aseprite
buildsystem: cmake-ninja
builddir: true
build-options:
prepend-ld-library-path: /usr/lib/sdk/llvm20/lib
prepend-path: /usr/lib/sdk/llvm20/bin
env:
CC: clang
CXX: clang++
config-opts:
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DCMAKE_CXX_FLAGS:STRING=-stdlib=libstdc++
- -DCMAKE_EXE_LINKER_FLAGS:STRING=-stdlib=libstdc++
- -DLAF_BACKEND=skia
- -DSKIA_DIR=/run/build/aseprite/skia
- -DSKIA_LIBRARY_DIR=/run/build/aseprite/skia/out/Release-x64
- -DSKIA_LIBRARY=/run/build/aseprite/skia/out/Release-x64/libskia.a
sources:
- type: git
url: https://github.com/aseprite/aseprite
tag: v1.3.13
- type: archive
url: https://github.com/aseprite/skia/releases/download/m102-861e4743af/Skia-Linux-Release-x64-libstdc++.zip
sha256: f233026f8bbe8d31ed99afa8128c75c9b649dff41987a0cc1f0fda2e72258048
dest: skia
strip-components: 0 # https://github.com/flatpak/flatpak-builder/issues/35
- type: file
path: aseprite.metainfo.xml
- type: file
path: aseprite.desktop
# - type: file # can be: `archive`, `bzr`, `file`, `git`, `hg`, `oci`, `script`, `tar`, `zip`, sometimes `dir` (discouraged)
# path: # relative to manifest file (i.e. this file)
# - path: scr
# type: dir
# skip:
# - ignored_path
# build-commands:
post-install:
# Can be most `coreutils` shell CLI commands (e.g. `find`, `ls`, `install0`, `cp`, `mkdir`, etc.)
# Debugging: Necessary because flatpak-builder is underdocumented
- echo "FLATPAK_BUILDER_BUILDDIR - ${FLATPAK_BUILDER_BUILDDIR}"
- echo "FLATPAK_ID - ${FLATPAK_ID}"
- echo "FLATPAK_ID - ${FLATPAK_ID}"
- pwd # Will show /run/build/aseprite/_flatpak_build
- echo "=========== /run/build/aseprite/_flatpak_build ==========="
- ls -1 . # Will list files in /run/build/aseprite/_flatpak_build
- echo "=========== /run/build/aseprite ==========="
- ls -1 .. # Will list files in /run/build/aseprite, i.e. FLATPAK_BUILDER_BUILDDIR
# - find ../.. -name "filename"
# - install -vDm644 ../data/icons/ase256.png ${FLATPAK_DEST}/share/icons/hicolor/256x256/apps/${FLATPAK_ID}.png
- install -vDm644 ${FLATPAK_BUILDER_BUILDDIR}/data/icons/ase256.png ${FLATPAK_DEST}/share/icons/hicolor/256x256/apps/${FLATPAK_ID}.png
# - install -vDm644 ../data/icons/ase256.png ${FLATPAK_DEST}/share/icons/hicolor/256x256/apps/${FLATPAK_ID}.png
# - install -Dm644 ../aseprite.desktop ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop
- install -Dm644 ${FLATPAK_BUILDER_BUILDDIR}/aseprite.desktop ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop
# - install -Dm644 ../aseprite.metainfo.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml
- install -Dm644 ${FLATPAK_BUILDER_BUILDDIR}/aseprite.metainfo.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml
# - mkdir -p ${FLATPAK_DEST}/share/${FLATPAK_ID}/screenshots/
# # - cp ../scr*.png ${FLATPAK_DEST}/share/${FLATPAK_ID}/screenshots
# - cp ${FLATPAK_BUILDER_BUILDDIR}/scr*.png ${FLATPAK_DEST}/share/${FLATPAK_ID}/screenshots/
#
# Explainer of the build system:
#
# There are env vars exposed to context of [post-install] & [build-commands]
# + FLATPAK_ID - ID if this flatpak
# + FLATPAK_ARCH - Architecture
# + FLATPAK_DEST - Directory where final flatpak files will be located
#
# ```
# /run/build/ #
# └── aseprite/ # same as FLATPAK_BUILDER_BUILDDIR
# ├── data/ #
# │ └── icons/ #
# │ └── ase256.png #
# ├── aseprite.metainfo.xml #
# ├── aseprite.desktop #
# ├── skia/ #
# ├── [any other source] #
# └── _flatpak_build/ # generated by `buildsystem: cmake-ninja` with `builddir: true`. In this case, [post-install] & [build-commands] run here.
# ```
#