games/punchy: enable Wayland support

All Wayland compositors on FreeBSD support server-side decorations.
Mutter is X11-only on FreeBSD due to missing (e)logind dependency.
This commit is contained in:
Jan Beich 2022-09-13 13:27:53 +00:00
parent 582659278e
commit 4671753fd5
3 changed files with 286 additions and 2 deletions

View File

@ -1,7 +1,8 @@
PORTNAME= punchy
DISTVERSIONPREFIX= v
DISTVERSION= 0.0.4
CATEGORIES= games
PORTREVISION= 1
CATEGORIES= games wayland
MAINTAINER= jbeich@FreeBSD.org
COMMENT= 2.5D side-scroller beatemup, made in Bevy
@ -101,6 +102,7 @@ CARGO_CRATES= ab_glyph-0.2.16 \
byteorder-1.4.3 \
bytes-1.2.1 \
cache-padded-1.2.0 \
calloop-0.9.3 \
cc-1.0.73 \
cesu8-1.1.0 \
cexpr-0.6.0 \
@ -149,6 +151,7 @@ CARGO_CRATES= ab_glyph-0.2.16 \
directories-4.0.1 \
dirs-sys-0.3.7 \
dispatch-0.2.0 \
dlib-0.5.0 \
downcast-rs-1.2.0 \
egui-0.18.1 \
egui_extras-0.18.0 \
@ -242,6 +245,7 @@ CARGO_CRATES= ab_glyph-0.2.16 \
matches-0.1.9 \
matrixmultiply-0.3.2 \
memchr-2.5.0 \
memmap2-0.3.1 \
memoffset-0.6.5 \
metal-0.24.0 \
minimal-lexical-0.2.1 \
@ -332,6 +336,7 @@ CARGO_CRATES= ab_glyph-0.2.16 \
ryu-1.0.11 \
safe_arch-0.6.0 \
same-file-1.0.6 \
scoped-tls-1.0.0 \
scopeguard-1.1.0 \
self_cell-0.10.2 \
serde-1.0.144 \
@ -344,6 +349,7 @@ CARGO_CRATES= ab_glyph-0.2.16 \
slab-0.4.7 \
slotmap-1.0.6 \
smallvec-1.9.0 \
smithay-client-toolkit-0.15.4 \
spade-2.0.0 \
spirv-0.2.0+1.5.4 \
stdweb-0.1.3 \
@ -405,6 +411,12 @@ CARGO_CRATES= ab_glyph-0.2.16 \
wasm-bindgen-macro-0.2.82 \
wasm-bindgen-macro-support-0.2.82 \
wasm-bindgen-shared-0.2.82 \
wayland-client-0.29.5 \
wayland-commons-0.29.5 \
wayland-cursor-0.29.5 \
wayland-protocols-0.29.5 \
wayland-scanner-0.29.5 \
wayland-sys-0.29.5 \
web-sys-0.3.59 \
webbrowser-0.7.1 \
weezl-0.1.7 \
@ -428,7 +440,9 @@ CARGO_CRATES= ab_glyph-0.2.16 \
winit-0.26.1 \
x11-dl-2.20.0 \
x11rb-0.9.0 \
xi-unicode-0.3.0
xcursor-0.3.4 \
xi-unicode-0.3.0 \
xml-rs-0.8.4
post-patch:
# Search assets under PREFIX instead of current directory

View File

@ -159,6 +159,8 @@ SHA256 (rust/crates/bytes-1.2.1.crate) = ec8a7b6a70fde80372154c65702f00a0f56f3e1
SIZE (rust/crates/bytes-1.2.1.crate) = 54857
SHA256 (rust/crates/cache-padded-1.2.0.crate) = c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c
SIZE (rust/crates/cache-padded-1.2.0.crate) = 9125
SHA256 (rust/crates/calloop-0.9.3.crate) = bf2eec61efe56aa1e813f5126959296933cf0700030e4314786c48779a66ab82
SIZE (rust/crates/calloop-0.9.3.crate) = 55389
SHA256 (rust/crates/cc-1.0.73.crate) = 2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11
SIZE (rust/crates/cc-1.0.73.crate) = 57880
SHA256 (rust/crates/cesu8-1.1.0.crate) = 6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c
@ -255,6 +257,8 @@ SHA256 (rust/crates/dirs-sys-0.3.7.crate) = 1b1d1d91c932ef41c0f2663aa8b0ca0342d4
SIZE (rust/crates/dirs-sys-0.3.7.crate) = 10597
SHA256 (rust/crates/dispatch-0.2.0.crate) = bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b
SIZE (rust/crates/dispatch-0.2.0.crate) = 10229
SHA256 (rust/crates/dlib-0.5.0.crate) = ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794
SIZE (rust/crates/dlib-0.5.0.crate) = 5788
SHA256 (rust/crates/downcast-rs-1.2.0.crate) = 9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650
SIZE (rust/crates/downcast-rs-1.2.0.crate) = 11670
SHA256 (rust/crates/egui-0.18.1.crate) = eb095a8b9feb9b7ff8f00b6776dffcef059538a3f4a91238e03c900e9c9ad9a2
@ -441,6 +445,8 @@ SHA256 (rust/crates/matrixmultiply-0.3.2.crate) = add85d4dd35074e6fedc608f8c8f51
SIZE (rust/crates/matrixmultiply-0.3.2.crate) = 49247
SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
SIZE (rust/crates/memchr-2.5.0.crate) = 65812
SHA256 (rust/crates/memmap2-0.3.1.crate) = 00b6c2ebff6180198788f5db08d7ce3bc1d0b617176678831a7510825973e357
SIZE (rust/crates/memmap2-0.3.1.crate) = 18393
SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
SHA256 (rust/crates/metal-0.24.0.crate) = de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060
@ -621,6 +627,8 @@ SHA256 (rust/crates/safe_arch-0.6.0.crate) = 794821e4ccb0d9f979512f9c1973480123f
SIZE (rust/crates/safe_arch-0.6.0.crate) = 72016
SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
SIZE (rust/crates/same-file-1.0.6.crate) = 10183
SHA256 (rust/crates/scoped-tls-1.0.0.crate) = ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2
SIZE (rust/crates/scoped-tls-1.0.0.crate) = 9146
SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
SHA256 (rust/crates/self_cell-0.10.2.crate) = 1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8af
@ -645,6 +653,8 @@ SHA256 (rust/crates/slotmap-1.0.6.crate) = e1e08e261d0e8f5c43123b7adf3e4ca1690d6
SIZE (rust/crates/slotmap-1.0.6.crate) = 58954
SHA256 (rust/crates/smallvec-1.9.0.crate) = 2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1
SIZE (rust/crates/smallvec-1.9.0.crate) = 28396
SHA256 (rust/crates/smithay-client-toolkit-0.15.4.crate) = 8a28f16a97fa0e8ce563b2774d1e732dd5d4025d2772c5dba0a41a0f90a29da3
SIZE (rust/crates/smithay-client-toolkit-0.15.4.crate) = 129563
SHA256 (rust/crates/spade-2.0.0.crate) = 333b8c21ebd9a45c5e955f3d7a1f0c4a2214847dd7e8e1abb69f34ec9b88882d
SIZE (rust/crates/spade-2.0.0.crate) = 136056
SHA256 (rust/crates/spirv-0.2.0+1.5.4.crate) = 246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830
@ -767,6 +777,18 @@ SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.82.crate) = 5be8e654bdd9b7921
SIZE (rust/crates/wasm-bindgen-macro-support-0.2.82.crate) = 18529
SHA256 (rust/crates/wasm-bindgen-shared-0.2.82.crate) = 6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a
SIZE (rust/crates/wasm-bindgen-shared-0.2.82.crate) = 7197
SHA256 (rust/crates/wayland-client-0.29.5.crate) = 3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715
SIZE (rust/crates/wayland-client-0.29.5.crate) = 71041
SHA256 (rust/crates/wayland-commons-0.29.5.crate) = 8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902
SIZE (rust/crates/wayland-commons-0.29.5.crate) = 20771
SHA256 (rust/crates/wayland-cursor-0.29.5.crate) = 6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661
SIZE (rust/crates/wayland-cursor-0.29.5.crate) = 6195
SHA256 (rust/crates/wayland-protocols-0.29.5.crate) = b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6
SIZE (rust/crates/wayland-protocols-0.29.5.crate) = 140859
SHA256 (rust/crates/wayland-scanner-0.29.5.crate) = 8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53
SIZE (rust/crates/wayland-scanner-0.29.5.crate) = 17248
SHA256 (rust/crates/wayland-sys-0.29.5.crate) = be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4
SIZE (rust/crates/wayland-sys-0.29.5.crate) = 7926
SHA256 (rust/crates/web-sys-0.3.59.crate) = ed055ab27f941423197eb86b2035720b1a3ce40504df082cac2ecc6ed73335a1
SIZE (rust/crates/web-sys-0.3.59.crate) = 697461
SHA256 (rust/crates/webbrowser-0.7.1.crate) = fc6a3cffdb686fbb24d9fb8f03a213803277ed2300f11026a3afe1f108dc021b
@ -813,7 +835,11 @@ SHA256 (rust/crates/x11-dl-2.20.0.crate) = 0c83627bc137605acc00bb399c7b908ef460b
SIZE (rust/crates/x11-dl-2.20.0.crate) = 66836
SHA256 (rust/crates/x11rb-0.9.0.crate) = 6e99be55648b3ae2a52342f9a870c0e138709a3493261ce9b469afe6e4df6d8a
SIZE (rust/crates/x11rb-0.9.0.crate) = 626092
SHA256 (rust/crates/xcursor-0.3.4.crate) = 463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7
SIZE (rust/crates/xcursor-0.3.4.crate) = 6069
SHA256 (rust/crates/xi-unicode-0.3.0.crate) = a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a
SIZE (rust/crates/xi-unicode-0.3.0.crate) = 87001
SHA256 (rust/crates/xml-rs-0.8.4.crate) = d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3
SIZE (rust/crates/xml-rs-0.8.4.crate) = 52690
SHA256 (fishfolks-punchy-v0.0.4_GH0.tar.gz) = a2b956c6dd632a8cdc9a3b626598aa3b99e656070cfb9c8c4dc1b9e18e50add4
SIZE (fishfolks-punchy-v0.0.4_GH0.tar.gz) = 28802628

View File

@ -0,0 +1,244 @@
https://github.com/bevyengine/bevy/issues/4106
--- Cargo.lock.orig 2022-08-29 21:51:17 UTC
+++ Cargo.lock
@@ -1012,6 +1012,16 @@ checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f471
checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
[[package]]
+name = "calloop"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf2eec61efe56aa1e813f5126959296933cf0700030e4314786c48779a66ab82"
+dependencies = [
+ "log",
+ "nix 0.22.3",
+]
+
+[[package]]
name = "cc"
version = "1.0.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1502,6 +1512,15 @@ checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2
checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b"
[[package]]
+name = "dlib"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794"
+dependencies = [
+ "libloading",
+]
+
+[[package]]
name = "downcast-rs"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2395,6 +2414,15 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
+name = "memmap2"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00b6c2ebff6180198788f5db08d7ce3bc1d0b617176678831a7510825973e357"
+dependencies = [
+ "libc",
+]
+
+[[package]]
name = "memoffset"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2639,6 +2667,7 @@ dependencies = [
"bitflags",
"cfg-if 1.0.0",
"libc",
+ "memoffset",
]
[[package]]
@@ -3335,6 +3364,12 @@ dependencies = [
]
[[package]]
+name = "scoped-tls"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
+
+[[package]]
name = "scopeguard"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3441,6 +3476,25 @@ dependencies = [
]
[[package]]
+name = "smithay-client-toolkit"
+version = "0.15.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a28f16a97fa0e8ce563b2774d1e732dd5d4025d2772c5dba0a41a0f90a29da3"
+dependencies = [
+ "bitflags",
+ "calloop",
+ "dlib",
+ "lazy_static",
+ "log",
+ "memmap2",
+ "nix 0.22.3",
+ "pkg-config",
+ "wayland-client",
+ "wayland-cursor",
+ "wayland-protocols",
+]
+
+[[package]]
name = "spade"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4017,6 +4071,78 @@ checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e
checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a"
[[package]]
+name = "wayland-client"
+version = "0.29.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715"
+dependencies = [
+ "bitflags",
+ "downcast-rs",
+ "libc",
+ "nix 0.24.2",
+ "scoped-tls",
+ "wayland-commons",
+ "wayland-scanner",
+ "wayland-sys",
+]
+
+[[package]]
+name = "wayland-commons"
+version = "0.29.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902"
+dependencies = [
+ "nix 0.24.2",
+ "once_cell",
+ "smallvec",
+ "wayland-sys",
+]
+
+[[package]]
+name = "wayland-cursor"
+version = "0.29.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661"
+dependencies = [
+ "nix 0.24.2",
+ "wayland-client",
+ "xcursor",
+]
+
+[[package]]
+name = "wayland-protocols"
+version = "0.29.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6"
+dependencies = [
+ "bitflags",
+ "wayland-client",
+ "wayland-commons",
+ "wayland-scanner",
+]
+
+[[package]]
+name = "wayland-scanner"
+version = "0.29.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "xml-rs",
+]
+
+[[package]]
+name = "wayland-sys"
+version = "0.29.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4"
+dependencies = [
+ "dlib",
+ "pkg-config",
+]
+
+[[package]]
name = "web-sys"
version = "0.3.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4263,7 +4389,10 @@ dependencies = [
"parking_lot 0.11.2",
"percent-encoding",
"raw-window-handle",
+ "smithay-client-toolkit",
"wasm-bindgen",
+ "wayland-client",
+ "wayland-protocols",
"web-sys",
"winapi",
"x11-dl",
@@ -4293,7 +4422,22 @@ dependencies = [
]
[[package]]
+name = "xcursor"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7"
+dependencies = [
+ "nom",
+]
+
+[[package]]
name = "xi-unicode"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a"
+
+[[package]]
+name = "xml-rs"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3"
--- Cargo.toml.orig 2022-08-29 21:51:17 UTC
+++ Cargo.toml
@@ -16,6 +16,7 @@ features = [
version = "0.8"
default-features = false
features = [
+ "wayland",
"x11",
"png",
"filesystem_watcher",
--- cargo-crates/bevy-0.8.1/Cargo.toml.orig 1970-01-01 00:00:00 UTC
+++ cargo-crates/bevy-0.8.1/Cargo.toml
@@ -1511,6 +1511,7 @@ default = [
"png",
"hdr",
"vorbis",
+ "wayland",
"x11",
"filesystem_watcher",
]
--- cargo-crates/bevy_winit-0.8.1/Cargo.toml.orig 1970-01-01 00:00:00 UTC
+++ cargo-crates/bevy_winit-0.8.1/Cargo.toml
@@ -53,7 +53,7 @@ default-features = false
default-features = false
[features]
-wayland = ["winit/wayland"]
+wayland = ["winit/wayland", "winit/wayland-dlopen"]
x11 = ["winit/x11"]
[target."cfg(target_arch = \"wasm32\")".dependencies.crossbeam-channel]