Skip to content

Commit 8582b8c

Browse files
committed
x11/rio: New port: Hardware-accelerated GPU terminal emulator powered by WebGPU
1 parent 51c94d2 commit 8582b8c

4 files changed

Lines changed: 1081 additions & 0 deletions

File tree

x11/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,7 @@
329329
SUBDIR += remontoire
330330
SUBDIR += rendercheck
331331
SUBDIR += rgb
332+
SUBDIR += rio
332333
SUBDIR += rlaunch
333334
SUBDIR += rofi
334335
SUBDIR += rofi-calc

x11/rio/Makefile

Lines changed: 379 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,379 @@
1+
PORTNAME= rio
2+
DISTVERSIONPREFIX= v
3+
DISTVERSION= 0.0.8-20230703
4+
CATEGORIES= x11
5+
PKGNAMESUFFIX= -terminal-emulator
6+
7+
MAINTAINER= yuri@FreeBSD.org
8+
COMMENT= Hardware-accelerated GPU terminal emulator powered by WebGPU
9+
WWW= https://raphamorim.io/rio
10+
11+
LICENSE= MIT
12+
LICENSE_FILE= ${WRKSRC}/LICENSE
13+
14+
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
15+
libfreetype.so:print/freetype2
16+
17+
USES= cargo
18+
19+
USE_GITHUB= yes
20+
GH_ACCOUNT= raphamorim
21+
GH_TAGNAME= 4636f43
22+
23+
CARGO_CRATES= ab_glyph-0.2.17 \
24+
ab_glyph_rasterizer-0.1.7 \
25+
addr2line-0.19.0 \
26+
adler-1.0.2 \
27+
adler32-1.2.0 \
28+
ahash-0.7.6 \
29+
aho-corasick-0.7.20 \
30+
android-activity-0.4.1 \
31+
android-properties-0.2.2 \
32+
android_system_properties-0.1.5 \
33+
anes-0.1.6 \
34+
anstream-0.3.2 \
35+
anstyle-1.0.0 \
36+
anstyle-parse-0.2.0 \
37+
anstyle-query-1.0.0 \
38+
anstyle-wincon-1.0.1 \
39+
approx-0.5.1 \
40+
arrayvec-0.7.2 \
41+
ash-0.37.2+1.3.238 \
42+
autocfg-1.1.0 \
43+
backtrace-0.3.67 \
44+
base64-0.21.0 \
45+
bit-set-0.5.3 \
46+
bit-vec-0.6.3 \
47+
bit_field-0.10.2 \
48+
bitflags-1.3.2 \
49+
bitflags-2.0.2 \
50+
block-0.1.6 \
51+
block-sys-0.1.0-beta.1 \
52+
block2-0.2.0-alpha.6 \
53+
bumpalo-3.11.1 \
54+
bytemuck-1.13.1 \
55+
bytemuck_derive-1.4.1 \
56+
byteorder-1.4.3 \
57+
bytes-0.3.0 \
58+
bytes-1.2.1 \
59+
calloop-0.10.4 \
60+
cast-0.3.0 \
61+
cc-1.0.73 \
62+
cfg-if-0.1.10 \
63+
cfg-if-1.0.0 \
64+
cfg_aliases-0.1.1 \
65+
ciborium-0.2.1 \
66+
ciborium-io-0.2.1 \
67+
ciborium-ll-0.2.1 \
68+
clap-4.3.4 \
69+
clap_builder-4.3.4 \
70+
clap_derive-4.3.2 \
71+
clap_lex-0.5.0 \
72+
clipboard-win-3.1.1 \
73+
cmake-0.1.50 \
74+
codespan-reporting-0.11.1 \
75+
color_quant-1.1.0 \
76+
colorchoice-1.0.0 \
77+
com-rs-0.2.1 \
78+
console_error_panic_hook-0.1.7 \
79+
console_log-0.2.2 \
80+
const-cstr-0.3.0 \
81+
copypasta-0.8.2 \
82+
corcovado-0.0.1 \
83+
core-foundation-0.9.3 \
84+
core-foundation-sys-0.8.3 \
85+
core-graphics-0.22.3 \
86+
core-graphics-types-0.1.1 \
87+
core-text-19.2.0 \
88+
crc32fast-1.3.2 \
89+
criterion-0.5.1 \
90+
criterion-plot-0.5.0 \
91+
crossbeam-channel-0.5.6 \
92+
crossbeam-deque-0.8.2 \
93+
crossbeam-epoch-0.9.11 \
94+
crossbeam-utils-0.8.12 \
95+
crunchy-0.2.2 \
96+
d3d12-0.6.0 \
97+
deflate-1.0.0 \
98+
dirs-5.0.0 \
99+
dirs-next-2.0.0 \
100+
dirs-sys-0.4.0 \
101+
dirs-sys-next-0.1.2 \
102+
dispatch-0.2.0 \
103+
dlib-0.5.0 \
104+
downcast-rs-1.2.0 \
105+
dwrote-0.11.0 \
106+
either-1.8.0 \
107+
env_logger-0.4.3 \
108+
env_logger-0.10.0 \
109+
errno-0.3.1 \
110+
errno-dragonfly-0.1.2 \
111+
exr-1.6.3 \
112+
fdeflate-0.3.0 \
113+
filetime-0.2.21 \
114+
flate2-1.0.24 \
115+
float-ord-0.2.0 \
116+
flume-0.10.14 \
117+
font-kit-0.11.0 \
118+
foreign-types-0.3.2 \
119+
foreign-types-shared-0.1.1 \
120+
freetype-0.7.0 \
121+
freetype-sys-0.13.1 \
122+
fsevent-sys-4.1.0 \
123+
fuchsia-cprng-0.1.1 \
124+
fuchsia-zircon-0.3.3 \
125+
fuchsia-zircon-sys-0.3.3 \
126+
futures-core-0.3.28 \
127+
futures-sink-0.3.28 \
128+
gethostname-0.2.3 \
129+
getrandom-0.2.8 \
130+
gif-0.12.0 \
131+
gimli-0.27.2 \
132+
glow-0.12.1 \
133+
glyph_brush-0.7.7 \
134+
glyph_brush_draw_cache-0.1.5 \
135+
glyph_brush_layout-0.2.3 \
136+
gpu-alloc-0.5.3 \
137+
gpu-alloc-types-0.2.0 \
138+
gpu-allocator-0.22.0 \
139+
gpu-descriptor-0.2.3 \
140+
gpu-descriptor-types-0.1.1 \
141+
half-1.8.2 \
142+
half-2.2.1 \
143+
hashbrown-0.12.3 \
144+
hassle-rs-0.10.0 \
145+
heck-0.4.1 \
146+
hermit-abi-0.1.19 \
147+
hermit-abi-0.3.1 \
148+
hexf-parse-0.2.1 \
149+
humantime-2.1.0 \
150+
image-0.24.6 \
151+
indexmap-1.9.3 \
152+
inotify-0.9.6 \
153+
inotify-sys-0.1.5 \
154+
instant-0.1.12 \
155+
io-lifetimes-1.0.11 \
156+
iovec-0.1.4 \
157+
is-terminal-0.4.7 \
158+
itertools-0.10.5 \
159+
itoa-1.0.6 \
160+
jni-sys-0.3.0 \
161+
jobserver-0.1.26 \
162+
jpeg-decoder-0.3.0 \
163+
js-sys-0.3.61 \
164+
khronos-egl-4.1.0 \
165+
kqueue-1.0.7 \
166+
kqueue-sys-1.0.3 \
167+
lazy-bytes-cast-5.0.1 \
168+
lazy_static-1.4.0 \
169+
lazycell-1.3.0 \
170+
lebe-0.5.2 \
171+
libc-0.2.141 \
172+
libloading-0.7.3 \
173+
libloading-0.8.0 \
174+
linked-hash-map-0.5.6 \
175+
linux-raw-sys-0.3.8 \
176+
lock_api-0.4.9 \
177+
log-0.3.9 \
178+
log-0.4.18 \
179+
malloc_buf-0.0.6 \
180+
memchr-2.5.0 \
181+
memmap2-0.5.8 \
182+
memoffset-0.6.5 \
183+
metal-0.24.0 \
184+
minimal-lexical-0.2.1 \
185+
miniz_oxide-0.5.4 \
186+
miniz_oxide-0.6.2 \
187+
miniz_oxide-0.7.1 \
188+
mio-0.8.6 \
189+
miow-0.5.0 \
190+
naga-0.12.1 \
191+
nanorand-0.7.0 \
192+
ndk-0.7.0 \
193+
ndk-context-0.1.1 \
194+
ndk-sys-0.4.1+23.1.7779620 \
195+
net2-0.2.38 \
196+
nix-0.24.2 \
197+
nix-0.25.1 \
198+
nom-7.1.1 \
199+
notify-6.0.0 \
200+
num-integer-0.1.45 \
201+
num-rational-0.4.1 \
202+
num-traits-0.2.15 \
203+
num_cpus-1.13.1 \
204+
num_enum-0.5.7 \
205+
num_enum_derive-0.5.7 \
206+
objc-0.2.7 \
207+
objc-foundation-0.1.1 \
208+
objc-sys-0.2.0-beta.2 \
209+
objc2-0.3.0-beta.3.patch-leaks.2 \
210+
objc2-encode-2.0.0-pre.2 \
211+
objc_exception-0.1.2 \
212+
objc_id-0.1.1 \
213+
object-0.30.3 \
214+
once_cell-1.15.0 \
215+
oorandom-11.1.3 \
216+
orbclient-0.3.43 \
217+
ordered-float-3.3.0 \
218+
owned_ttf_parser-0.15.2 \
219+
parking_lot-0.12.1 \
220+
parking_lot_core-0.9.4 \
221+
pathfinder_geometry-0.5.1 \
222+
pathfinder_simd-0.5.1 \
223+
percent-encoding-2.2.0 \
224+
pest-2.6.0 \
225+
pin-project-1.1.0 \
226+
pin-project-internal-1.1.0 \
227+
pin-project-lite-0.2.9 \
228+
pkg-config-0.3.25 \
229+
plotters-0.3.5 \
230+
plotters-backend-0.3.5 \
231+
plotters-svg-0.3.5 \
232+
png-0.17.8 \
233+
ppv-lite86-0.2.16 \
234+
proc-macro-crate-1.2.1 \
235+
proc-macro2-1.0.60 \
236+
profiling-1.0.7 \
237+
qoi-0.4.1 \
238+
quote-1.0.28 \
239+
rand-0.4.6 \
240+
rand-0.8.5 \
241+
rand_chacha-0.3.1 \
242+
rand_core-0.3.1 \
243+
rand_core-0.4.2 \
244+
rand_core-0.6.4 \
245+
range-alloc-0.1.2 \
246+
raw-window-handle-0.5.2 \
247+
rayon-1.5.3 \
248+
rayon-core-1.11.0 \
249+
rdrand-0.4.0 \
250+
redox_syscall-0.2.16 \
251+
redox_syscall-0.3.5 \
252+
redox_users-0.4.3 \
253+
regex-1.7.2 \
254+
regex-syntax-0.6.29 \
255+
remove_dir_all-0.5.3 \
256+
renderdoc-sys-1.0.0 \
257+
rustc-demangle-0.1.21 \
258+
rustc-hash-1.1.0 \
259+
rustc_version-0.3.3 \
260+
rustix-0.37.13 \
261+
ryu-1.0.13 \
262+
same-file-1.0.6 \
263+
scoped-tls-1.0.0 \
264+
scopeguard-1.1.0 \
265+
semver-0.11.0 \
266+
semver-parser-0.10.2 \
267+
serde-1.0.163 \
268+
serde_derive-1.0.163 \
269+
serde_json-1.0.97 \
270+
serde_spanned-0.6.1 \
271+
signal-hook-0.3.15 \
272+
signal-hook-registry-1.4.0 \
273+
simd-adler32-0.3.5 \
274+
slab-0.4.8 \
275+
slotmap-1.0.6 \
276+
smallvec-1.10.0 \
277+
smithay-client-toolkit-0.16.0 \
278+
smithay-clipboard-0.6.6 \
279+
socket2-0.4.7 \
280+
spin-0.9.8 \
281+
spirv-0.2.0+1.5.4 \
282+
static_assertions-1.1.0 \
283+
strsim-0.10.0 \
284+
sugarloaf-0.0.7 \
285+
syn-1.0.109 \
286+
syn-2.0.18 \
287+
tempdir-0.3.7 \
288+
termcolor-1.1.3 \
289+
thiserror-1.0.37 \
290+
thiserror-impl-1.0.37 \
291+
tiff-0.8.1 \
292+
tinytemplate-1.2.1 \
293+
tokio-1.26.0 \
294+
tokio-macros-1.8.0 \
295+
toml-0.5.9 \
296+
toml-0.7.3 \
297+
toml_datetime-0.6.1 \
298+
toml_edit-0.19.7 \
299+
ttf-parser-0.15.2 \
300+
twox-hash-1.6.3 \
301+
ucd-trie-0.1.5 \
302+
unicode-ident-1.0.5 \
303+
unicode-width-0.1.10 \
304+
unicode-xid-0.2.4 \
305+
utf8parse-0.2.1 \
306+
vec_map-0.8.2 \
307+
version_check-0.9.4 \
308+
vte-0.11.1 \
309+
vte_generate_state_changes-0.1.1 \
310+
walkdir-2.3.3 \
311+
wasi-0.11.0+wasi-snapshot-preview1 \
312+
wasm-bindgen-0.2.87 \
313+
wasm-bindgen-backend-0.2.87 \
314+
wasm-bindgen-futures-0.4.34 \
315+
wasm-bindgen-macro-0.2.87 \
316+
wasm-bindgen-macro-support-0.2.87 \
317+
wasm-bindgen-shared-0.2.87 \
318+
wasm-bindgen-test-0.3.34 \
319+
wasm-bindgen-test-macro-0.3.34 \
320+
wayland-client-0.29.5 \
321+
wayland-commons-0.29.5 \
322+
wayland-cursor-0.29.5 \
323+
wayland-protocols-0.29.5 \
324+
wayland-scanner-0.29.5 \
325+
wayland-sys-0.29.5 \
326+
web-sys-0.3.61 \
327+
weezl-0.1.7 \
328+
wgpu-0.16.1 \
329+
wgpu-core-0.16.1 \
330+
wgpu-hal-0.16.0 \
331+
wgpu-types-0.16.0 \
332+
widestring-1.0.2 \
333+
winapi-0.3.9 \
334+
winapi-i686-pc-windows-gnu-0.4.0 \
335+
winapi-util-0.1.5 \
336+
winapi-wsapoll-0.1.1 \
337+
winapi-x86_64-pc-windows-gnu-0.4.0 \
338+
windows-0.42.0 \
339+
windows-0.44.0 \
340+
windows-sys-0.42.0 \
341+
windows-sys-0.45.0 \
342+
windows-sys-0.48.0 \
343+
windows-targets-0.42.2 \
344+
windows-targets-0.48.0 \
345+
windows_aarch64_gnullvm-0.42.2 \
346+
windows_aarch64_gnullvm-0.48.0 \
347+
windows_aarch64_msvc-0.42.2 \
348+
windows_aarch64_msvc-0.48.0 \
349+
windows_i686_gnu-0.42.2 \
350+
windows_i686_gnu-0.48.0 \
351+
windows_i686_msvc-0.42.2 \
352+
windows_i686_msvc-0.48.0 \
353+
windows_x86_64_gnu-0.42.2 \
354+
windows_x86_64_gnu-0.48.0 \
355+
windows_x86_64_gnullvm-0.42.2 \
356+
windows_x86_64_gnullvm-0.48.0 \
357+
windows_x86_64_msvc-0.42.2 \
358+
windows_x86_64_msvc-0.48.0 \
359+
winit-0.28.6 \
360+
winnow-0.3.6 \
361+
wio-0.2.2 \
362+
x11-clipboard-0.7.1 \
363+
x11-dl-2.20.0 \
364+
x11rb-0.10.1 \
365+
x11rb-protocol-0.10.0 \
366+
xcursor-0.3.4 \
367+
xi-unicode-0.3.0 \
368+
xml-rs-0.8.4 \
369+
yeslogic-fontconfig-sys-3.2.0 \
370+
zune-inflate-0.2.54
371+
372+
PLIST_FILES= bin/${PORTNAME}
373+
374+
do-install:
375+
# workaround for error: found a virtual manifest at `/usr/ports/x11/rio/work/rio-4636f43/Cargo.toml` instead of a package manifest
376+
${INSTALL_PROGRAM} ${WRKDIR}/target/*-freebsd/release/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
377+
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
378+
379+
.include <bsd.port.mk>

0 commit comments

Comments
 (0)