cad/surfer: Add new port

A waveform viewer with a focus on a snappy usable interface, and extensibility.

Reviewed by:		dch
Differential Revision:	https://reviews.freebsd.org/D49360
This commit is contained in:
Joel Bodenmann 2025-03-16 21:28:01 +01:00
parent 833b7a119f
commit d8edef27a6
5 changed files with 1870 additions and 0 deletions

View file

@ -142,6 +142,7 @@
SUBDIR += stm32flash
SUBDIR += sumo
SUBDIR += surelog
SUBDIR += surfer
SUBDIR += svlint
SUBDIR += svls
SUBDIR += sweethome3d

41
cad/surfer/Makefile Normal file
View file

@ -0,0 +1,41 @@
PORTNAME= surfer
DISTVERSIONPREFIX= v
DISTVERSION= 0.3.0
CATEGORIES= cad
MAINTAINER= jbo@FreeBSD.org
COMMENT= Extensible and snappy waveform viewer
WWW= https://surfer-project.org
LICENSE= EUPL12
LICENSE_FILE= ${WRKSRC}/LICENSE-EUPL-1.2.txt
USES= cargo ssl
USE_GITLAB= yes
GL_ACCOUNT= surfer-project
# For vendored crates (git submodules)
USE_GITHUB= nodefault # Cannot use yes because USE_GITLAB=yes above
GL_TUPLE= TheZoq2:fzcmd:1ae2b2c2e50ce7b99809dc7e2dd64749a51fd4f2:fzcmd
GH_TUPLE= jkarns275:f128:e60de395f0d6454c1dc546b87f06a6358425b6b6:f128 \
ics-jku:instruction-decoder:8894eaaf012df38a290f57c8867660eb65c114c3:instdec
PLIST_FILES= bin/surfer
# Move vendored crates (git submodules) to the correct location
post-extract:
${RM} -r ${WRKSRC}/fzcmd
${MV} ${WRKSRC_fzcmd} ${WRKSRC}/fzcmd
${RM} -r ${WRKSRC}/f128
${MV} ${WRKSRC_f128} ${WRKSRC}/f128
${RM} -r ${WRKSRC}/instruction-decoder
${MV} ${WRKSRC_instdec} ${WRKSRC}/instruction-decoder
do-install:
# workaround for error: found a virtual manifest at `xx` instead of a package manifest
${INSTALL_PROGRAM} \
${WRKDIR}/target/release/surfer \
${STAGEDIR}${PREFIX}/bin
.include <bsd.port.mk>

606
cad/surfer/Makefile.crates Normal file
View file

@ -0,0 +1,606 @@
CARGO_CRATES= ab_glyph-0.2.29 \
ab_glyph_rasterizer-0.1.8 \
accesskit-0.17.1 \
accesskit_atspi_common-0.10.1 \
accesskit_consumer-0.26.0 \
accesskit_macos-0.18.1 \
accesskit_unix-0.13.1 \
accesskit_windows-0.24.1 \
accesskit_winit-0.23.1 \
addr2line-0.21.0 \
adler-1.0.2 \
adler2-2.0.0 \
ahash-0.8.11 \
aho-corasick-1.1.3 \
allocator-api2-0.2.20 \
android-activity-0.6.0 \
android-properties-0.2.2 \
android-tzdata-0.1.1 \
android_system_properties-0.1.5 \
anstream-0.6.17 \
anstyle-1.0.9 \
anstyle-parse-0.2.6 \
anstyle-query-1.1.2 \
anstyle-wincon-3.0.6 \
anyhow-1.0.93 \
arboard-3.4.1 \
arrayvec-0.7.6 \
as-raw-xcb-connection-1.0.1 \
ash-0.38.0+1.3.281 \
ashpd-0.10.2 \
async-broadcast-0.7.1 \
async-channel-2.3.1 \
async-executor-1.13.1 \
async-fs-2.1.2 \
async-io-2.4.0 \
async-lock-3.4.0 \
async-process-2.3.0 \
async-recursion-1.1.1 \
async-signal-0.2.10 \
async-task-4.7.1 \
async-trait-0.1.83 \
atomic-waker-1.1.2 \
atspi-0.22.0 \
atspi-common-0.6.0 \
atspi-connection-0.6.0 \
atspi-proxies-0.6.0 \
autocfg-1.4.0 \
backtrace-0.3.71 \
base64-0.21.7 \
base64-0.22.1 \
beef-0.5.2 \
bincode-1.3.3 \
bindgen-0.70.1 \
bit-set-0.8.0 \
bit-vec-0.8.0 \
bitflags-1.3.2 \
bitflags-2.6.0 \
block-0.1.6 \
block-buffer-0.10.4 \
block2-0.5.1 \
blocking-1.6.1 \
bumpalo-3.16.0 \
bytemuck-1.20.0 \
bytemuck_derive-1.8.0 \
byteorder-1.5.0 \
byteorder-lite-0.1.0 \
bytes-1.8.0 \
bytesize-1.3.0 \
calloop-0.13.0 \
calloop-wayland-source-0.3.0 \
camino-1.1.9 \
cc-1.1.31 \
cesu8-1.1.0 \
cexpr-0.6.0 \
cfg-if-1.0.0 \
cfg_aliases-0.1.1 \
cfg_aliases-0.2.1 \
cgl-0.3.2 \
chrono-0.4.38 \
clang-sys-1.8.1 \
clap-4.5.20 \
clap_builder-4.5.20 \
clap_derive-4.5.18 \
clap_lex-0.7.2 \
clipboard-win-5.4.0 \
codespan-reporting-0.11.1 \
color-eyre-0.6.3 \
color-spantrace-0.2.1 \
colorchoice-1.0.3 \
colored-2.1.0 \
combine-4.6.7 \
concurrent-queue-2.5.0 \
config-0.15.0 \
core-foundation-0.9.4 \
core-foundation-0.10.0 \
core-foundation-sys-0.8.7 \
core-graphics-0.23.2 \
core-graphics-types-0.1.3 \
cpufeatures-0.2.16 \
crc32fast-1.4.2 \
crossbeam-deque-0.8.5 \
crossbeam-epoch-0.9.18 \
crossbeam-utils-0.8.20 \
crunchy-0.2.2 \
crypto-common-0.1.6 \
cursor-icon-1.1.0 \
darling-0.20.10 \
darling_core-0.20.10 \
darling_macro-0.20.10 \
deranged-0.3.11 \
derive-where-1.2.7 \
derive_builder-0.20.2 \
derive_builder_core-0.20.2 \
derive_builder_macro-0.20.2 \
derive_more-1.0.0 \
derive_more-impl-1.0.0 \
digest-0.10.7 \
directories-5.0.1 \
dirs-sys-0.4.1 \
dispatch-0.2.0 \
displaydoc-0.2.5 \
dlib-0.5.2 \
document-features-0.2.10 \
downcast-rs-1.2.1 \
dpi-0.1.1 \
ecolor-0.30.0 \
eframe-0.30.0 \
egui-0.30.0 \
egui-remixicon-0.29.1 \
egui-wgpu-0.30.0 \
egui-winit-0.30.0 \
egui_extras-0.30.0 \
egui_glow-0.30.0 \
egui_plot-0.30.0 \
either-1.13.0 \
emath-0.30.0 \
encoding_rs-0.8.35 \
endi-1.1.0 \
enum-iterator-2.1.0 \
enum-iterator-derive-1.4.0 \
enum-map-2.7.3 \
enum-map-derive-0.17.0 \
enumflags2-0.7.10 \
enumflags2_derive-0.7.10 \
enumn-0.1.14 \
env_filter-0.1.2 \
env_logger-0.11.5 \
epaint-0.30.0 \
epaint_default_fonts-0.30.0 \
equivalent-1.0.1 \
errno-0.3.9 \
error-code-3.3.1 \
event-listener-5.3.1 \
event-listener-strategy-0.5.2 \
eyre-0.6.12 \
fastrand-2.1.1 \
fdeflate-0.3.6 \
fern-0.7.1 \
filetime-0.2.25 \
flate2-1.0.34 \
fnv-1.0.7 \
foldhash-0.1.3 \
foreign-types-0.3.2 \
foreign-types-0.5.0 \
foreign-types-macros-0.2.3 \
foreign-types-shared-0.1.1 \
foreign-types-shared-0.3.1 \
form_urlencoded-1.2.1 \
fsevent-sys-4.1.0 \
fst-reader-0.9.0 \
ftr_parser-0.1.2 \
futures-0.3.31 \
futures-channel-0.3.31 \
futures-core-0.3.31 \
futures-executor-0.3.31 \
futures-io-0.3.31 \
futures-lite-2.5.0 \
futures-macro-0.3.31 \
futures-sink-0.3.31 \
futures-task-0.3.31 \
futures-util-0.3.31 \
fuzzy-matcher-0.3.7 \
generic-array-0.14.7 \
gethostname-0.4.3 \
getrandom-0.2.15 \
gimli-0.28.1 \
gl_generator-0.14.0 \
glob-0.3.1 \
glow-0.14.2 \
glow-0.16.0 \
glutin-0.32.1 \
glutin-winit-0.5.0 \
glutin_egl_sys-0.7.0 \
glutin_glx_sys-0.6.0 \
glutin_wgl_sys-0.6.0 \
gpu-alloc-0.6.0 \
gpu-alloc-types-0.3.0 \
gpu-descriptor-0.3.0 \
gpu-descriptor-types-0.2.0 \
h2-0.4.7 \
half-2.4.1 \
hashbrown-0.14.5 \
hashbrown-0.15.0 \
heck-0.4.1 \
heck-0.5.0 \
hermit-abi-0.3.9 \
hermit-abi-0.4.0 \
hex-0.4.3 \
hexf-parse-0.2.1 \
home-0.5.9 \
http-1.1.0 \
http-body-1.0.1 \
http-body-util-0.1.2 \
httparse-1.9.5 \
httpdate-1.0.3 \
hyper-1.5.0 \
hyper-rustls-0.27.3 \
hyper-tls-0.6.0 \
hyper-util-0.1.9 \
iana-time-zone-0.1.61 \
iana-time-zone-haiku-0.1.2 \
icu_collections-1.5.0 \
icu_locid-1.5.0 \
icu_locid_transform-1.5.0 \
icu_locid_transform_data-1.5.0 \
icu_normalizer-1.5.0 \
icu_normalizer_data-1.5.0 \
icu_properties-1.5.1 \
icu_properties_data-1.5.0 \
icu_provider-1.5.0 \
icu_provider_macros-1.5.0 \
ident_case-1.0.1 \
idna-1.0.3 \
idna_adapter-1.2.0 \
image-0.25.5 \
image-compare-0.4.1 \
immutable-chunkmap-2.0.6 \
indenter-0.3.3 \
indexmap-2.6.0 \
indoc-2.0.5 \
inotify-0.10.2 \
inotify-sys-0.1.5 \
instant-0.1.13 \
ipnet-2.10.1 \
is_terminal_polyfill-1.70.1 \
itertools-0.12.1 \
itertools-0.13.0 \
itoa-1.0.11 \
jni-0.21.1 \
jni-sys-0.3.0 \
jobserver-0.1.32 \
js-sys-0.3.72 \
khronos-egl-6.0.0 \
khronos_api-3.1.0 \
kqueue-1.0.8 \
kqueue-sys-1.0.4 \
lazy_static-1.5.0 \
leb128-0.2.5 \
libc-0.2.161 \
libloading-0.8.5 \
libredox-0.1.3 \
linux-raw-sys-0.4.14 \
litemap-0.7.4 \
litrs-0.4.1 \
local-impl-0.1.2 \
lock_api-0.4.12 \
log-0.4.22 \
logos-0.14.2 \
logos-codegen-0.14.2 \
logos-derive-0.14.2 \
lz4_flex-0.11.3 \
malloc_buf-0.0.6 \
matchers-0.1.0 \
memchr-2.7.4 \
memmap2-0.9.5 \
memoffset-0.9.1 \
metal-0.29.0 \
mime-0.3.17 \
minimal-lexical-0.2.1 \
miniz_oxide-0.7.4 \
miniz_oxide-0.8.0 \
mio-1.0.2 \
naga-23.1.0 \
native-tls-0.2.12 \
ndk-0.9.0 \
ndk-context-0.1.1 \
ndk-sys-0.5.0+25.2.9519653 \
ndk-sys-0.6.0+11769913 \
nesty-0.2.0 \
nix-0.29.0 \
nohash-hasher-0.2.0 \
nom-7.1.3 \
notify-7.0.0 \
notify-types-1.0.1 \
nu-ansi-term-0.46.0 \
nu-ansi-term-0.50.1 \
num-0.4.3 \
num-bigint-0.4.6 \
num-complex-0.4.6 \
num-conv-0.1.0 \
num-integer-0.1.46 \
num-iter-0.1.45 \
num-rational-0.4.2 \
num-traits-0.2.19 \
num_enum-0.7.3 \
num_enum_derive-0.7.3 \
num_threads-0.1.7 \
numeric-sort-0.1.4 \
objc-0.2.7 \
objc-sys-0.3.5 \
objc2-0.5.2 \
objc2-app-kit-0.2.2 \
objc2-cloud-kit-0.2.2 \
objc2-contacts-0.2.2 \
objc2-core-data-0.2.2 \
objc2-core-image-0.2.2 \
objc2-core-location-0.2.2 \
objc2-encode-4.0.3 \
objc2-foundation-0.2.2 \
objc2-link-presentation-0.2.2 \
objc2-metal-0.2.2 \
objc2-quartz-core-0.2.2 \
objc2-symbols-0.2.2 \
objc2-ui-kit-0.2.2 \
objc2-uniform-type-identifiers-0.2.2 \
objc2-user-notifications-0.2.2 \
object-0.32.2 \
once_cell-1.20.2 \
openssl-0.10.68 \
openssl-macros-0.1.1 \
openssl-probe-0.1.5 \
openssl-sys-0.9.104 \
option-ext-0.2.0 \
orbclient-0.3.48 \
ordered-stream-0.2.0 \
overload-0.1.1 \
owned_ttf_parser-0.25.0 \
owo-colors-3.5.0 \
parking-2.2.1 \
parking_lot-0.12.3 \
parking_lot_core-0.9.10 \
paste-1.0.15 \
pathdiff-0.2.3 \
percent-encoding-2.3.1 \
pin-project-1.1.7 \
pin-project-internal-1.1.7 \
pin-project-lite-0.2.15 \
pin-utils-0.1.0 \
piper-0.2.4 \
pkg-config-0.3.31 \
png-0.17.14 \
polling-3.7.4 \
pollster-0.3.0 \
portable-atomic-1.9.0 \
powerfmt-0.2.0 \
ppv-lite86-0.2.20 \
prettyplease-0.2.25 \
proc-macro-crate-3.2.0 \
proc-macro2-1.0.92 \
profiling-1.0.16 \
project-root-0.2.2 \
psm-0.1.24 \
pure-rust-locales-0.8.1 \
pyo3-0.21.2 \
pyo3-build-config-0.21.2 \
pyo3-ffi-0.21.2 \
pyo3-macros-0.21.2 \
pyo3-macros-backend-0.21.2 \
quick-xml-0.30.0 \
quick-xml-0.36.2 \
quote-1.0.37 \
rand-0.8.5 \
rand_chacha-0.3.1 \
rand_core-0.6.4 \
raw-window-handle-0.6.2 \
rayon-1.10.0 \
rayon-core-1.12.1 \
redox_syscall-0.4.1 \
redox_syscall-0.5.7 \
redox_users-0.4.6 \
regex-1.11.1 \
regex-automata-0.1.10 \
regex-automata-0.4.9 \
regex-syntax-0.6.29 \
regex-syntax-0.8.5 \
renderdoc-sys-1.1.0 \
reqwest-0.12.9 \
rfd-0.15.1 \
ring-0.17.8 \
ron-0.8.1 \
rustc-demangle-0.1.24 \
rustc-hash-1.1.0 \
rustc-hash-2.1.0 \
rustix-0.38.38 \
rustls-0.23.18 \
rustls-pemfile-2.2.0 \
rustls-pki-types-1.10.0 \
rustls-webpki-0.102.8 \
rustversion-1.0.18 \
ryu-1.0.18 \
same-file-1.0.6 \
schannel-0.1.27 \
scoped-tls-1.0.1 \
scopeguard-1.2.0 \
security-framework-2.11.1 \
security-framework-sys-2.12.1 \
serde-1.0.213 \
serde_derive-1.0.213 \
serde_json-1.0.132 \
serde_repr-0.1.19 \
serde_spanned-0.6.8 \
serde_stacker-0.1.11 \
serde_urlencoded-0.7.1 \
sha1-0.10.6 \
sharded-slab-0.1.7 \
shlex-1.3.0 \
signal-hook-registry-1.4.2 \
simd-adler32-0.3.7 \
skia-bindings-0.80.0 \
skia-safe-0.80.1 \
slab-0.4.9 \
slotmap-1.0.7 \
smallvec-1.13.2 \
smithay-client-toolkit-0.19.2 \
smithay-clipboard-0.7.2 \
smol_str-0.2.2 \
socket2-0.5.7 \
softposit-0.4.0 \
spin-0.9.8 \
spirv-0.3.0+sdk-1.3.268.0 \
stable_deref_trait-1.2.0 \
stacker-0.1.17 \
static_assertions-1.1.0 \
strsim-0.11.1 \
subtle-2.6.1 \
syn-2.0.90 \
sync_wrapper-1.0.2 \
synstructure-0.13.1 \
sys-locale-0.3.2 \
system-configuration-0.6.1 \
system-configuration-sys-0.6.0 \
tap-1.0.1 \
tar-0.4.43 \
target-lexicon-0.12.16 \
tempfile-3.13.0 \
termcolor-1.4.1 \
test-log-0.2.16 \
test-log-macros-0.2.16 \
thiserror-1.0.65 \
thiserror-2.0.8 \
thiserror-impl-1.0.65 \
thiserror-impl-2.0.8 \
thread_local-1.1.8 \
time-0.3.36 \
time-core-0.1.2 \
time-macros-0.2.18 \
tinystr-0.7.6 \
tokio-1.41.0 \
tokio-macros-2.4.0 \
tokio-native-tls-0.3.1 \
tokio-rustls-0.26.0 \
tokio-util-0.7.12 \
toml-0.8.19 \
toml_datetime-0.6.8 \
toml_edit-0.22.22 \
tower-service-0.3.3 \
tracing-0.1.40 \
tracing-attributes-0.1.28 \
tracing-core-0.1.32 \
tracing-error-0.2.0 \
tracing-log-0.2.0 \
tracing-subscriber-0.3.18 \
tracing-tree-0.4.0 \
try-lock-0.2.5 \
ttf-parser-0.25.0 \
twox-hash-1.6.3 \
type-map-0.5.0 \
typenum-1.17.0 \
uds_windows-1.1.0 \
unicode-ident-1.0.13 \
unicode-segmentation-1.12.0 \
unicode-width-0.1.14 \
unicode-xid-0.2.6 \
unindent-0.2.3 \
untrusted-0.9.0 \
url-2.5.4 \
urlencoding-2.1.3 \
utf16_iter-1.0.5 \
utf8_iter-1.0.4 \
utf8parse-0.2.2 \
valuable-0.1.0 \
vcpkg-0.2.15 \
vergen-9.0.2 \
vergen-gitcl-1.0.2 \
vergen-lib-0.1.5 \
version_check-0.9.5 \
walkdir-2.5.0 \
want-0.3.1 \
wasi-0.11.0+wasi-snapshot-preview1 \
wasite-0.1.0 \
wasm-bindgen-0.2.95 \
wasm-bindgen-backend-0.2.95 \
wasm-bindgen-futures-0.4.45 \
wasm-bindgen-macro-0.2.95 \
wasm-bindgen-macro-support-0.2.95 \
wasm-bindgen-shared-0.2.95 \
wasm-streams-0.4.2 \
wayland-backend-0.3.7 \
wayland-client-0.31.7 \
wayland-csd-frame-0.3.0 \
wayland-cursor-0.31.7 \
wayland-protocols-0.32.5 \
wayland-protocols-plasma-0.3.5 \
wayland-protocols-wlr-0.3.5 \
wayland-scanner-0.31.5 \
wayland-sys-0.31.5 \
web-sys-0.3.72 \
web-time-1.1.0 \
webbrowser-1.0.2 \
wellen-0.13.6 \
wgpu-23.0.1 \
wgpu-core-23.0.1 \
wgpu-hal-23.0.1 \
wgpu-types-23.0.0 \
whoami-1.5.2 \
winapi-0.3.9 \
winapi-i686-pc-windows-gnu-0.4.0 \
winapi-util-0.1.9 \
winapi-x86_64-pc-windows-gnu-0.4.0 \
windows-0.58.0 \
windows-core-0.52.0 \
windows-core-0.58.0 \
windows-implement-0.58.0 \
windows-interface-0.58.0 \
windows-registry-0.2.0 \
windows-result-0.2.0 \
windows-strings-0.1.0 \
windows-sys-0.45.0 \
windows-sys-0.48.0 \
windows-sys-0.52.0 \
windows-sys-0.59.0 \
windows-targets-0.42.2 \
windows-targets-0.48.5 \
windows-targets-0.52.6 \
windows_aarch64_gnullvm-0.42.2 \
windows_aarch64_gnullvm-0.48.5 \
windows_aarch64_gnullvm-0.52.6 \
windows_aarch64_msvc-0.42.2 \
windows_aarch64_msvc-0.48.5 \
windows_aarch64_msvc-0.52.6 \
windows_i686_gnu-0.42.2 \
windows_i686_gnu-0.48.5 \
windows_i686_gnu-0.52.6 \
windows_i686_gnullvm-0.52.6 \
windows_i686_msvc-0.42.2 \
windows_i686_msvc-0.48.5 \
windows_i686_msvc-0.52.6 \
windows_x86_64_gnu-0.42.2 \
windows_x86_64_gnu-0.48.5 \
windows_x86_64_gnu-0.52.6 \
windows_x86_64_gnullvm-0.42.2 \
windows_x86_64_gnullvm-0.48.5 \
windows_x86_64_gnullvm-0.52.6 \
windows_x86_64_msvc-0.42.2 \
windows_x86_64_msvc-0.48.5 \
windows_x86_64_msvc-0.52.6 \
winit-0.30.5 \
winnow-0.6.20 \
write16-1.0.0 \
writeable-0.5.5 \
x11-dl-2.21.0 \
x11rb-0.13.1 \
x11rb-protocol-0.13.1 \
xattr-1.3.1 \
xcursor-0.3.8 \
xdg-home-1.3.0 \
xkbcommon-dl-0.4.2 \
xkeysym-0.2.1 \
xml-rs-0.8.23 \
yoke-0.7.5 \
yoke-derive-0.7.5 \
zbus-4.4.0 \
zbus-5.2.0 \
zbus-lockstep-0.4.4 \
zbus-lockstep-macros-0.4.4 \
zbus_macros-4.4.0 \
zbus_macros-5.2.0 \
zbus_names-3.0.0 \
zbus_names-4.1.0 \
zbus_xml-4.0.0 \
zerocopy-0.7.35 \
zerocopy-derive-0.7.35 \
zerofrom-0.1.5 \
zerofrom-derive-0.1.5 \
zeroize-1.8.1 \
zerovec-0.10.4 \
zerovec-derive-0.10.3 \
zvariant-4.2.0 \
zvariant-5.1.0 \
zvariant_derive-4.2.0 \
zvariant_derive-5.1.0 \
zvariant_utils-2.1.0 \
zvariant_utils-3.0.2 \
egui_skia_renderer@git+https://gitlab.com/sornas/egui_skia_renderer?rev=3dab1450627f1368b2639c9c6c3f438dbd5db507\#3dab1450627f1368b2639c9c6c3f438dbd5db507 \
codespan,codespan-reporting@git+https://gitlab.com/spade-lang/codespan.git?branch=master\#a5656af9ed33460258fd1921bc6bede1ba0fb00e \
spade,spade-ast,spade-ast-lowering,spade-common,spade-diagnostics,spade-hir,spade-hir-lowering,spade-macros,spade-mir,spade-parser,spade-typeinference,spade-types,spade-wordlength-inference@git+https://gitlab.com/spade-lang/spade?rev=84f6e75016f40d9b3f82d8085e9b08393c56db95\#84f6e75016f40d9b3f82d8085e9b08393c56db95

1221
cad/surfer/distinfo Normal file

File diff suppressed because it is too large Load diff

1
cad/surfer/pkg-descr Normal file
View file

@ -0,0 +1 @@
A waveform viewer with a focus on a snappy usable interface, and extensibility.