-
Notifications
You must be signed in to change notification settings - Fork 15
/
io.neovim.nvim.yaml
289 lines (266 loc) · 8.05 KB
/
io.neovim.nvim.yaml
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
app-id: io.neovim.nvim
runtime: org.freedesktop.Sdk
runtime-version: '22.08'
sdk: org.freedesktop.Sdk
command: nvim-wrapper
rename-desktop-file: nvim.desktop
rename-appdata-file: nvim.appdata.xml
rename-icon: nvim
finish-args:
# Edit anything
- --filesystem=host
- --filesystem=/tmp
- --filesystem=/var/tmp
# Plugin updates
- --share=network
# Clipboard access
- --socket=wayland
- --socket=fallback-x11
- --share=ipc
add-extensions:
io.neovim.nvim.tool:
directory: tools
subdirectories: true
add-ld-path: lib
no-autodownload: true
modules:
# deps from https://github.com/neovim/neovim/blob/v0.8.0/cmake.deps/CMakeLists.txt
# lua deps
- name: LuaJIT
no-autogen: true
make-args:
- PREFIX=/app
make-install-args:
- PREFIX=/app
post-install:
# Beta version doesn’t link the executable
- ln -s luajit-2.1.0-beta3 /app/bin/luajit
sources:
- type: git
url: https://github.com/LuaJIT/LuaJIT.git
# v2.1 branch
commit: 6c4826f12c4d33b8b978004bc681eb1eef2be977
cleanup:
- /bin
- /include
- /lib/pkgconfig
- /share/man
- '*.a'
- name: lpeg
no-autogen: true
no-make-install: true
make-args:
- LUADIR=/app/include/luajit-2.1/
post-install:
- install -Dm755 -t /app/lib/lua/5.1/ lpeg.so
- install -Dm644 -t /app/share/lua/5.1/ re.lua
sources:
- type: archive
url: http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.2.tar.gz
sha256: 48d66576051b6c78388faad09b70493093264588fcd0f258ddaab1cdd4a15ffe
cleanup:
- '*'
- name: mpack-lua
no-autogen: true
make-args:
- USE_SYSTEM_MPACK=yes
- LUA_INCLUDE=-I/app/include/luajit-2.1/
make-install-args:
- USE_SYSTEM_MPACK=yes
sources:
- type: archive
url: https://github.com/libmpack/libmpack-lua/archive/1.0.8.tar.gz
sha256: 6d84d272bff27800ba1d7b718d1005ac6bfe35c5f3a5bf5d07e6ffd7e341d560
- type: shell
commands:
- sed -i 's|/usr/lib|/app/lib|' ./Makefile
cleanup:
- '*'
modules:
- name: mpack
no-autogen: true
make-install-args:
- PREFIX=/app
sources:
- type: archive
url: https://github.com/libmpack/libmpack/archive/1.0.5.tar.gz
sha256: 4ce91395d81ccea97d3ad4cb962f8540d166e59d3e2ddce8a22979b49f108956
cleanup:
- '*'
- name: luv
buildsystem: cmake-ninja
config-opts:
- -DBUILD_MODULE=OFF
- -DBUILD_SHARED_LIBS=ON
- -DWITH_SHARED_LIBUV=ON
- -DLUA_BUILD_TYPE=System
sources:
- type: archive
url: https://github.com/luvit/luv/releases/download/1.44.2-1/luv-1.44.2-1.tar.gz
sha256: 3eb5c7bc44f61fbc4148ea30e3221d410263e0ffa285672851fc19debf9e5c30
x-checker-data:
type: anitya
project-id: 21510
url-template: https://github.com/luvit/luv/releases/download/$version/luv-$version.tar.gz
cleanup:
- /include
- /lib/pkgconfig
- '*.a'
- '*.la'
modules:
- name: libuv
sources:
- type: archive
url: https://github.com/libuv/libuv/archive/v1.45.0.tar.gz
sha256: 458e34d5ef7f3c0394a2bfd8c39d757cb1553baa5959b9b4b45df63aa027a228
x-checker-data:
type: anitya
project-id: 10784
url-template: https://github.com/libuv/libuv/archive/v$version.tar.gz
# lua deps end
- name: msgpack-c
buildsystem: cmake-ninja
sources:
- type: archive
url: https://github.com/msgpack/msgpack-c/releases/download/c-4.0.0/msgpack-c-4.0.0.tar.gz
sha256: 420fe35e7572f2a168d17e660ef981a589c9cbe77faa25eb34a520e1fcc032c8
cleanup:
- /include
- /lib/cmake
- /lib/pkgconfig
- '*.a'
- name: unibilium
no-autogen: true
make-install-args:
- PREFIX=/app
sources:
- type: archive
url: https://github.com/neovim/unibilium/archive/v2.1.1.tar.gz
sha256: 6f0ee21c8605340cfbb458cbd195b4d074e6d16dd0c0e12f2627ca773f3cabf1
cleanup:
- /include
- /lib/pkgconfig
- /share/man
- '*.la'
- name: libvterm
no-autogen: true
make-install-args:
- PREFIX=/app
sources:
- type: archive
url: https://www.leonerd.org.uk/code/libvterm/libvterm-0.3.tar.gz
sha256: 61eb0d6628c52bdf02900dfd4468aa86a1a7125228bab8a67328981887483358
cleanup:
- /bin
- /include
- /lib/pkgconfig
- '*.a'
- '*.la'
- name: libtermkey
no-autogen: true
make-install-args:
- PREFIX=/app
sources:
- type: archive
url: http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.22.tar.gz
sha256: 6945bd3c4aaa83da83d80a045c5563da4edd7d0374c62c0d35aec09eb3014600
cleanup:
- /include
- /lib/pkgconfig
- /share/man
- '*.la'
- name: wl-clipboard
buildsystem: meson
config-opts:
- -Dzshcompletiondir=no
- -Dfishcompletiondir=no
sources:
- type: archive
url: https://github.com/bugaevc/wl-clipboard/archive/v2.1.0.tar.gz
sha256: 72dab9a7d3835c76d6ff2089f15ffec9e064a321e5f3cbbe961a8fa81aff5573
x-checker-data:
type: anitya
project-id: 49082
url-template: https://github.com/bugaevc/wl-clipboard/archive/v$version.tar.gz
cleanup:
- /share/man
- name: xclip
sources:
- type: archive
url: https://github.com/astrand/xclip/archive/0.13.tar.gz
sha256: ca5b8804e3c910a66423a882d79bf3c9450b875ac8528791fb60ec9de667f758
cleanup:
- /share/man
- /bin/xclip-*file
modules:
- name: libXmu
config-opts:
- --disable-static
- --disable-docs
sources:
- type: archive
url: https://www.x.org/releases/individual/lib/libXmu-1.1.3.tar.bz2
sha256: 9c343225e7c3dc0904f2122b562278da5fed639b1b5e880d25111561bac5b731
cleanup:
- /include
- /lib/pkgconfig
- '*.la'
- python3-pynvim.yaml
- name: tree-sitter
no-autogen: true
make-install-args:
- PREFIX=/app
sources:
- type: archive
url: https://github.com/tree-sitter/tree-sitter/archive/v0.20.8.tar.gz
sha256: 6181ede0b7470bfca37e293e7d5dc1d16469b9485d13f13a605baec4a8b1f791
x-checker-data:
type: anitya
project-id: 142464
url-template: https://github.com/tree-sitter/tree-sitter/archive/v$version.tar.gz
cleanup:
- /lib/pkgconfig
- name: neovim
buildsystem: cmake-ninja
builddir: true
config-opts:
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DUSE_BUNDLED=OFF
post-install:
# Install/fix AppData
- sed -i "s|<id>nvim</id>|<id>$FLATPAK_ID</id>|" ../runtime/nvim.appdata.xml
- install -Dm644 ../runtime/nvim.appdata.xml -t /app/share/metainfo
# Install icon
- install -Dm644 ../neovim-mark.svg /app/share/icons/hicolor/scalable/apps/nvim.svg
# Set desktop
- desktop-file-edit --set-key=Exec --set-value=nvim-wrapper /app/share/applications/nvim.desktop
# Create directory for tool
- install -d "${FLATPAK_DEST}/tools"
sources:
- type: archive
url: https://github.com/neovim/neovim/archive/v0.9.1.tar.gz
sha256: 8db17c2a1f4776dcda00e59489ea0d98ba82f7d1a8ea03281d640e58d8a3a00e
x-checker-data:
is-main-source: true
type: anitya
project-id: 9037
url-template: https://github.com/neovim/neovim/archive/v$version.tar.gz
- type: file
path: neovim-mark.svg
- name: wrapper
buildsystem: meson
sources:
- type: dir
path: wrapper
- type: file
path: neovim-first-run.txt
- type: file
path: neovim-sdk-update.txt
config-opts:
- -Deditor_binary=/app/bin/nvim
- -Dprogram_name=nvim-wrapper
- -Deditor_title=Neovim
- -Dfirst_run_template=neovim-first-run.txt
- -Dsdk_update_template=neovim-sdk-update.txt
- -Dflagfile_prefix=flatpak-neovim
- -Ddefault_loglevel=0