Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Feb 2022 00:39:51 GMT
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 96ea10b7ee3d - main - games/fishfight: add new port
Message-ID:  <202202210039.21L0dp27035369@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=96ea10b7ee3d7c2bd248c1eca1887d7e30822022

commit 96ea10b7ee3d7c2bd248c1eca1887d7e30822022
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2022-02-20 22:33:17 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2022-02-21 00:39:16 +0000

    games/fishfight: add new port
    
    Fish Fight is a tactical 2D shooter, played by up to 4 players online
    or on a shared screen. Aim either left or right; the rest is up to
    clever movement and positioning in this fish-on-fish brawler! Made
    with Rust-lang and Macroquad.
    
     ### Key Features (WIP)
    
    - 2 to 4 players in either Local Multiplayer or Online Play
    - Easy to pick up, emphasizing strategy over twitch reaction
    - Customize characters with hats, saved to your cross-platform profile
    - Create & explore user-made weapons, levels, audio and other scripted
      extensions
    - Smart level creation tools
    - Tournaments & matchmaking built in
    
    https://fishfight.org/
---
 games/Makefile                       |   1 +
 games/fishfight/Makefile             | 145 +++++++++++++++++++++++
 games/fishfight/distinfo             | 219 +++++++++++++++++++++++++++++++++++
 games/fishfight/files/patch-miniquad | 154 ++++++++++++++++++++++++
 games/fishfight/files/patch-quad-snd |  39 +++++++
 games/fishfight/pkg-descr            |  16 +++
 6 files changed, 574 insertions(+)

diff --git a/games/Makefile b/games/Makefile
index 8711ff590621..074cea637b99 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -258,6 +258,7 @@
     SUBDIR += fightorperish
     SUBDIR += fillets-ng
     SUBDIR += filters
+    SUBDIR += fishfight
     SUBDIR += fishsupper
     SUBDIR += five-or-more
     SUBDIR += fkiss
diff --git a/games/fishfight/Makefile b/games/fishfight/Makefile
new file mode 100644
index 000000000000..5784014397ab
--- /dev/null
+++ b/games/fishfight/Makefile
@@ -0,0 +1,145 @@
+PORTNAME=	fishfight
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.4.1
+CATEGORIES=	games
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	Tactical 2D shooter in fishy pixels style
+
+LICENSE=	MIT CC-BY-NC-4.0
+LICENSE_COMB=	multi
+LICENSE_FILE_MIT=	${WRKSRC}/licenses/LICENSE-MIT
+
+LIB_DEPENDS=	libasound.so:audio/alsa-lib
+RUN_DEPENDS=	${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins
+
+USES=		cargo gl sdl xorg
+USE_GITHUB=	yes
+USE_GL=		gl
+USE_SDL=	sdl2
+USE_XORG=	x11 xi
+GH_PROJECT=	FishFight
+PLIST_FILES=	bin/${PORTNAME}
+PORTDATA=	*
+
+CARGO_CRATES=	adler32-1.2.0 \
+		ahash-0.4.7 \
+		ahash-0.7.6 \
+		async-trait-0.1.52 \
+		audir-sles-0.1.0 \
+		audrey-0.3.0 \
+		autocfg-1.0.1 \
+		base-x-0.2.8 \
+		bitflags-1.3.2 \
+		bumpalo-3.9.1 \
+		bytemuck-1.7.3 \
+		byteorder-1.4.3 \
+		cc-1.0.72 \
+		cfg-if-1.0.0 \
+		color_quant-1.1.0 \
+		core-foundation-0.6.4 \
+		core-foundation-sys-0.6.2 \
+		crc32fast-1.3.1 \
+		dasp_frame-0.11.0 \
+		dasp_sample-0.11.0 \
+		deflate-0.8.6 \
+		discard-1.0.4 \
+		ff-particles-0.1.2 \
+		fishsticks-0.2.0 \
+		fnv-1.0.7 \
+		fontdue-0.5.2 \
+		getrandom-0.2.4 \
+		gilrs-0.8.2 \
+		gilrs-core-0.3.2 \
+		glam-0.14.0 \
+		hashbrown-0.9.1 \
+		hashbrown-0.12.0 \
+		hecs-0.7.5 \
+		hound-3.4.0 \
+		image-0.23.14 \
+		io-kit-sys-0.1.0 \
+		itoa-1.0.1 \
+		js-sys-0.3.56 \
+		lazy_static-1.4.0 \
+		lewton-0.9.4 \
+		libc-0.2.116 \
+		libudev-sys-0.1.4 \
+		log-0.4.14 \
+		mach-0.2.3 \
+		macroquad-0.3.13 \
+		macroquad-platformer-0.1.2 \
+		macroquad_macro-0.1.7 \
+		maybe-uninit-2.0.0 \
+		memoffset-0.6.5 \
+		miniquad-0.3.0-alpha.42 \
+		miniz_oxide-0.3.7 \
+		ndk-sys-0.2.2 \
+		nix-0.23.1 \
+		num-integer-0.1.44 \
+		num-iter-0.1.42 \
+		num-rational-0.3.2 \
+		num-traits-0.2.14 \
+		ogg-0.7.1 \
+		once_cell-1.9.0 \
+		pkg-config-0.3.24 \
+		png-0.16.8 \
+		proc-macro2-1.0.36 \
+		quad-alsa-sys-0.3.2 \
+		quad-rand-0.2.1 \
+		quad-snd-0.2.3 \
+		quote-1.0.15 \
+		rustc_version-0.2.3 \
+		rusty-xinput-1.2.0 \
+		ryu-1.0.9 \
+		sapp-android-0.1.14 \
+		sapp-darwin-0.1.6 \
+		sapp-dummy-0.1.5 \
+		sapp-ios-0.1.2 \
+		sapp-linux-0.1.13 \
+		sapp-wasm-0.1.26 \
+		sapp-windows-0.2.19 \
+		sdl2-0.35.1 \
+		sdl2-sys-0.35.1 \
+		semver-0.9.0 \
+		semver-parser-0.7.0 \
+		serde-1.0.136 \
+		serde_derive-1.0.136 \
+		serde_json-1.0.78 \
+		sha1-0.6.1 \
+		sha1_smol-1.0.0 \
+		smallvec-0.6.14 \
+		spin-0.9.2 \
+		stdweb-0.4.20 \
+		stdweb-derive-0.5.3 \
+		stdweb-internal-macros-0.2.9 \
+		stdweb-internal-runtime-0.1.5 \
+		syn-1.0.86 \
+		ttf-parser-0.12.3 \
+		unicode-xid-0.2.2 \
+		uuid-0.8.2 \
+		vec_map-0.8.2 \
+		version-compare-0.1.0 \
+		version_check-0.9.4 \
+		wasi-0.10.2+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.79 \
+		wasm-bindgen-backend-0.2.79 \
+		wasm-bindgen-macro-0.2.79 \
+		wasm-bindgen-macro-support-0.2.79 \
+		wasm-bindgen-shared-0.2.79 \
+		web-sys-0.3.56 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-x86_64-pc-windows-gnu-0.4.0
+
+post-patch:
+# Disable bundled SDL2 in favor of system
+	@${REINPLACE_CMD} 's,"bundled-sdl2",,' \
+			${WRKSRC}/core/Cargo.toml \
+			${WRKSRC}/Cargo.toml
+# Search assets under PREFIX instead of current directory
+	@${REINPLACE_CMD} '/_dir/s,"\.,"${DATADIR},' ${WRKSRC}/src/main.rs
+
+post-install:
+	(cd ${WRKSRC} && ${COPYTREE_SHARE} "assets mods" ${STAGEDIR}${DATADIR})
+
+.include <bsd.port.mk>
diff --git a/games/fishfight/distinfo b/games/fishfight/distinfo
new file mode 100644
index 000000000000..f2fe19f60d00
--- /dev/null
+++ b/games/fishfight/distinfo
@@ -0,0 +1,219 @@
+TIMESTAMP = 1645227666
+SHA256 (rust/crates/adler32-1.2.0.crate) = aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234
+SIZE (rust/crates/adler32-1.2.0.crate) = 6411
+SHA256 (rust/crates/ahash-0.4.7.crate) = 739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e
+SIZE (rust/crates/ahash-0.4.7.crate) = 51474
+SHA256 (rust/crates/ahash-0.7.6.crate) = fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47
+SIZE (rust/crates/ahash-0.7.6.crate) = 38030
+SHA256 (rust/crates/async-trait-0.1.52.crate) = 061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3
+SIZE (rust/crates/async-trait-0.1.52.crate) = 25913
+SHA256 (rust/crates/audir-sles-0.1.0.crate) = ea47348666a8edb7ad80cbee3940eb2bccf70df0e6ce09009abe1a836cb779f5
+SIZE (rust/crates/audir-sles-0.1.0.crate) = 19230
+SHA256 (rust/crates/audrey-0.3.0.crate) = 58b92a84e89497e3cd25d3672cd5d1c288abaac02c18ff21283f17d118b889b8
+SIZE (rust/crates/audrey-0.3.0.crate) = 80961
+SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
+SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
+SHA256 (rust/crates/base-x-0.2.8.crate) = a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b
+SIZE (rust/crates/base-x-0.2.8.crate) = 10614
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bumpalo-3.9.1.crate) = a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899
+SIZE (rust/crates/bumpalo-3.9.1.crate) = 77507
+SHA256 (rust/crates/bytemuck-1.7.3.crate) = 439989e6b8c38d1b6570a384ef1e49c8848128f5a97f3914baef02920842712f
+SIZE (rust/crates/bytemuck-1.7.3.crate) = 27879
+SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
+SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
+SHA256 (rust/crates/cc-1.0.72.crate) = 22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee
+SIZE (rust/crates/cc-1.0.72.crate) = 57495
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/core-foundation-0.6.4.crate) = 25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d
+SIZE (rust/crates/core-foundation-0.6.4.crate) = 25233
+SHA256 (rust/crates/core-foundation-sys-0.6.2.crate) = e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b
+SIZE (rust/crates/core-foundation-sys-0.6.2.crate) = 16204
+SHA256 (rust/crates/crc32fast-1.3.1.crate) = a2209c310e29876f7f0b2721e7e26b84aff178aa3da5d091f9bfbf47669e60e3
+SIZE (rust/crates/crc32fast-1.3.1.crate) = 38655
+SHA256 (rust/crates/dasp_frame-0.11.0.crate) = b2a3937f5fe2135702897535c8d4a5553f8b116f76c1529088797f2eee7c5cd6
+SIZE (rust/crates/dasp_frame-0.11.0.crate) = 4910
+SHA256 (rust/crates/dasp_sample-0.11.0.crate) = 0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f
+SIZE (rust/crates/dasp_sample-0.11.0.crate) = 11617
+SHA256 (rust/crates/deflate-0.8.6.crate) = 73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174
+SIZE (rust/crates/deflate-0.8.6.crate) = 62365
+SHA256 (rust/crates/discard-1.0.4.crate) = 212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0
+SIZE (rust/crates/discard-1.0.4.crate) = 4700
+SHA256 (rust/crates/ff-particles-0.1.2.crate) = 456005c433b73c5268369b27894cd5fa94a0abb3e0489540152383849f1045c0
+SIZE (rust/crates/ff-particles-0.1.2.crate) = 15120
+SHA256 (rust/crates/fishsticks-0.2.0.crate) = b58c0572ea130de4f1734217e364d885237134ab934c4a6aec35f9b6d9a7613b
+SIZE (rust/crates/fishsticks-0.2.0.crate) = 9531
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/fontdue-0.5.2.crate) = c75712fff1702bac51b7eaa5a5ca9f9853b8055ef5906088a32f4fe196595a1d
+SIZE (rust/crates/fontdue-0.5.2.crate) = 140953
+SHA256 (rust/crates/getrandom-0.2.4.crate) = 418d37c8b1d42553c93648be529cb70f920d3baf8ef469b74b9638df426e0b4c
+SIZE (rust/crates/getrandom-0.2.4.crate) = 26800
+SHA256 (rust/crates/gilrs-0.8.2.crate) = 1550c8bdebc993576e343d600a954654708a9a1182396ee1e805d6fe60c72909
+SIZE (rust/crates/gilrs-0.8.2.crate) = 97156
+SHA256 (rust/crates/gilrs-core-0.3.2.crate) = 84c7262ce1e88429c9b1d847820c9d2ba00adafc955218393d9c0861d5aaab88
+SIZE (rust/crates/gilrs-core-0.3.2.crate) = 33958
+SHA256 (rust/crates/glam-0.14.0.crate) = 333928d5eb103c5d4050533cec0384302db6be8ef7d3cebd30ec6a35350353da
+SIZE (rust/crates/glam-0.14.0.crate) = 124814
+SHA256 (rust/crates/hashbrown-0.9.1.crate) = d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04
+SIZE (rust/crates/hashbrown-0.9.1.crate) = 77734
+SHA256 (rust/crates/hashbrown-0.12.0.crate) = 8c21d40587b92fa6a6c6e3c1bdbf87d75511db5672f9c93175574b3a00df1758
+SIZE (rust/crates/hashbrown-0.12.0.crate) = 90663
+SHA256 (rust/crates/hecs-0.7.5.crate) = 6c0eac587c883895f32067e69a2e241c57b6248eccee80e684033d4e2e1e43c3
+SIZE (rust/crates/hecs-0.7.5.crate) = 71823
+SHA256 (rust/crates/hound-3.4.0.crate) = 8a164bb2ceaeff4f42542bdb847c41517c78a60f5649671b2a07312b6e117549
+SIZE (rust/crates/hound-3.4.0.crate) = 35390
+SHA256 (rust/crates/image-0.23.14.crate) = 24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1
+SIZE (rust/crates/image-0.23.14.crate) = 226804
+SHA256 (rust/crates/io-kit-sys-0.1.0.crate) = f21dcc74995dd4cd090b147e79789f8d65959cbfb5f0b118002db869ea3bd0a0
+SIZE (rust/crates/io-kit-sys-0.1.0.crate) = 33069
+SHA256 (rust/crates/itoa-1.0.1.crate) = 1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35
+SIZE (rust/crates/itoa-1.0.1.crate) = 11059
+SHA256 (rust/crates/js-sys-0.3.56.crate) = a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04
+SIZE (rust/crates/js-sys-0.3.56.crate) = 70520
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/lewton-0.9.4.crate) = 8d542c1a317036c45c2aa1cf10cc9d403ca91eb2d333ef1a4917e5cb10628bd0
+SIZE (rust/crates/lewton-0.9.4.crate) = 63667
+SHA256 (rust/crates/libc-0.2.116.crate) = 565dbd88872dbe4cc8a46e527f26483c1d1f7afa6b884a3bd6cd893d4f98da74
+SIZE (rust/crates/libc-0.2.116.crate) = 566648
+SHA256 (rust/crates/libudev-sys-0.1.4.crate) = 3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324
+SIZE (rust/crates/libudev-sys-0.1.4.crate) = 6177
+SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
+SIZE (rust/crates/log-0.4.14.crate) = 34582
+SHA256 (rust/crates/mach-0.2.3.crate) = 86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1
+SIZE (rust/crates/mach-0.2.3.crate) = 18940
+SHA256 (rust/crates/macroquad-0.3.13.crate) = 8bbc44698249e98c7aedb8eef94b8806b5d68187c0c3d8c2a0912cb9efab1950
+SIZE (rust/crates/macroquad-0.3.13.crate) = 850819
+SHA256 (rust/crates/macroquad-platformer-0.1.2.crate) = 7a912b373a1edc678242e262010d58e3e7e7977bf00227d5343dd9e641d52fa2
+SIZE (rust/crates/macroquad-platformer-0.1.2.crate) = 3420
+SHA256 (rust/crates/macroquad_macro-0.1.7.crate) = f5cecfede1e530599c8686f7f2d609489101d3d63741a6dc423afc997ce3fcc8
+SIZE (rust/crates/macroquad_macro-0.1.7.crate) = 7559
+SHA256 (rust/crates/maybe-uninit-2.0.0.crate) = 60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00
+SIZE (rust/crates/maybe-uninit-2.0.0.crate) = 11809
+SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
+SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
+SHA256 (rust/crates/miniquad-0.3.0-alpha.42.crate) = 75bba73cbdaa1cb8f7889fcbb083941eae39ad4257d47e0d8e819d1de9963ba0
+SIZE (rust/crates/miniquad-0.3.0-alpha.42.crate) = 48536
+SHA256 (rust/crates/miniz_oxide-0.3.7.crate) = 791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435
+SIZE (rust/crates/miniz_oxide-0.3.7.crate) = 44996
+SHA256 (rust/crates/ndk-sys-0.2.2.crate) = e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121
+SIZE (rust/crates/ndk-sys-0.2.2.crate) = 279365
+SHA256 (rust/crates/nix-0.23.1.crate) = 9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6
+SIZE (rust/crates/nix-0.23.1.crate) = 240531
+SHA256 (rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
+SIZE (rust/crates/num-integer-0.1.44.crate) = 22216
+SHA256 (rust/crates/num-iter-0.1.42.crate) = b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59
+SIZE (rust/crates/num-iter-0.1.42.crate) = 10450
+SHA256 (rust/crates/num-rational-0.3.2.crate) = 12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07
+SIZE (rust/crates/num-rational-0.3.2.crate) = 26359
+SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
+SIZE (rust/crates/num-traits-0.2.14.crate) = 45476
+SHA256 (rust/crates/ogg-0.7.1.crate) = 13e571c3517af9e1729d4c63571a27edd660ade0667973bfc74a67c660c2b651
+SIZE (rust/crates/ogg-0.7.1.crate) = 26819
+SHA256 (rust/crates/once_cell-1.9.0.crate) = da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5
+SIZE (rust/crates/once_cell-1.9.0.crate) = 30702
+SHA256 (rust/crates/pkg-config-0.3.24.crate) = 58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe
+SIZE (rust/crates/pkg-config-0.3.24.crate) = 16489
+SHA256 (rust/crates/png-0.16.8.crate) = 3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6
+SIZE (rust/crates/png-0.16.8.crate) = 52598
+SHA256 (rust/crates/proc-macro2-1.0.36.crate) = c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029
+SIZE (rust/crates/proc-macro2-1.0.36.crate) = 41411
+SHA256 (rust/crates/quad-alsa-sys-0.3.2.crate) = c66c2f04a6946293477973d85adc251d502da51c57b08cd9c997f0cfd8dcd4b5
+SIZE (rust/crates/quad-alsa-sys-0.3.2.crate) = 36228
+SHA256 (rust/crates/quad-rand-0.2.1.crate) = 658fa1faf7a4cc5f057c9ee5ef560f717ad9d8dc66d975267f709624d6e1ab88
+SIZE (rust/crates/quad-rand-0.2.1.crate) = 3304
+SHA256 (rust/crates/quad-snd-0.2.3.crate) = 86e0b4259cfd6a317a46df7b7cb4c09a08ba150642e6f6fb7df5a6b3450a0a29
+SIZE (rust/crates/quad-snd-0.2.3.crate) = 936041
+SHA256 (rust/crates/quote-1.0.15.crate) = 864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145
+SIZE (rust/crates/quote-1.0.15.crate) = 27281
+SHA256 (rust/crates/rustc_version-0.2.3.crate) = 138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a
+SIZE (rust/crates/rustc_version-0.2.3.crate) = 10210
+SHA256 (rust/crates/rusty-xinput-1.2.0.crate) = d2aa654bc32eb9ca14cce1a084abc9dfe43949a4547c35269a094c39272db3bb
+SIZE (rust/crates/rusty-xinput-1.2.0.crate) = 11998
+SHA256 (rust/crates/ryu-1.0.9.crate) = 73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f
+SIZE (rust/crates/ryu-1.0.9.crate) = 48391
+SHA256 (rust/crates/sapp-android-0.1.14.crate) = 27c54dc8d8fc38874a0e5cca3a8fba35c7db8e46a3d65f47d0fc999aa48d6a9f
+SIZE (rust/crates/sapp-android-0.1.14.crate) = 75251
+SHA256 (rust/crates/sapp-darwin-0.1.6.crate) = 0310e2445f307468aa13f1cde94d6fba6b8fd329afbb642dedbe3faf1a145f31
+SIZE (rust/crates/sapp-darwin-0.1.6.crate) = 85144
+SHA256 (rust/crates/sapp-dummy-0.1.5.crate) = 66f1ad26a5b6c682b9ca27c66db9aa91002b8d98a82ac7101ded57285215a478
+SIZE (rust/crates/sapp-dummy-0.1.5.crate) = 83306
+SHA256 (rust/crates/sapp-ios-0.1.2.crate) = 081e6e5261c9ac2e938979b6a854a53b439f065fc3c897205ce7e69d3028b4a9
+SIZE (rust/crates/sapp-ios-0.1.2.crate) = 77026
+SHA256 (rust/crates/sapp-linux-0.1.13.crate) = bbdb2f8011955c62544d9e626a58333e788810d00bd7411d52b81611b92af142
+SIZE (rust/crates/sapp-linux-0.1.13.crate) = 139669
+SHA256 (rust/crates/sapp-wasm-0.1.26.crate) = 00e859e8645a3bcb85aecd40bab883438e4105f21b21bccbeac2348760f508bb
+SIZE (rust/crates/sapp-wasm-0.1.26.crate) = 26747
+SHA256 (rust/crates/sapp-windows-0.2.19.crate) = f3e9a4ab4682752ffcbbacf87b44c75373479331dfe408432280d305e0563c9c
+SIZE (rust/crates/sapp-windows-0.2.19.crate) = 25538
+SHA256 (rust/crates/sdl2-0.35.1.crate) = f035f8e87735fa3a8437292be49fe6056450f7cbb13c230b4bcd1bdd7279421f
+SIZE (rust/crates/sdl2-0.35.1.crate) = 175240
+SHA256 (rust/crates/sdl2-sys-0.35.1.crate) = 94cb479353c0603785c834e2307440d83d196bf255f204f7f6741358de8d6a2f
+SIZE (rust/crates/sdl2-sys-0.35.1.crate) = 7459715
+SHA256 (rust/crates/semver-0.9.0.crate) = 1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403
+SIZE (rust/crates/semver-0.9.0.crate) = 17344
+SHA256 (rust/crates/semver-parser-0.7.0.crate) = 388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3
+SIZE (rust/crates/semver-parser-0.7.0.crate) = 10268
+SHA256 (rust/crates/serde-1.0.136.crate) = ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789
+SIZE (rust/crates/serde-1.0.136.crate) = 76158
+SHA256 (rust/crates/serde_derive-1.0.136.crate) = 08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9
+SIZE (rust/crates/serde_derive-1.0.136.crate) = 54776
+SHA256 (rust/crates/serde_json-1.0.78.crate) = d23c1ba4cf0efd44be32017709280b32d1cea5c3f1275c3b6d9e8bc54f758085
+SIZE (rust/crates/serde_json-1.0.78.crate) = 144364
+SHA256 (rust/crates/sha1-0.6.1.crate) = c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770
+SIZE (rust/crates/sha1-0.6.1.crate) = 2931
+SHA256 (rust/crates/sha1_smol-1.0.0.crate) = ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012
+SIZE (rust/crates/sha1_smol-1.0.0.crate) = 9782
+SHA256 (rust/crates/smallvec-0.6.14.crate) = b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0
+SIZE (rust/crates/smallvec-0.6.14.crate) = 22855
+SHA256 (rust/crates/spin-0.9.2.crate) = 511254be0c5bcf062b019a6c89c01a664aa359ded62f78aa72c6fc137c0590e5
+SIZE (rust/crates/spin-0.9.2.crate) = 28755
+SHA256 (rust/crates/stdweb-0.4.20.crate) = d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5
+SIZE (rust/crates/stdweb-0.4.20.crate) = 194102
+SHA256 (rust/crates/stdweb-derive-0.5.3.crate) = c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef
+SIZE (rust/crates/stdweb-derive-0.5.3.crate) = 3894
+SHA256 (rust/crates/stdweb-internal-macros-0.2.9.crate) = 58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11
+SIZE (rust/crates/stdweb-internal-macros-0.2.9.crate) = 11828
+SHA256 (rust/crates/stdweb-internal-runtime-0.1.5.crate) = 213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0
+SIZE (rust/crates/stdweb-internal-runtime-0.1.5.crate) = 5445
+SHA256 (rust/crates/syn-1.0.86.crate) = 8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b
+SIZE (rust/crates/syn-1.0.86.crate) = 235126
+SHA256 (rust/crates/ttf-parser-0.12.3.crate) = 7ae2f58a822f08abdaf668897e96a5656fe72f5a9ce66422423e8849384872e6
+SIZE (rust/crates/ttf-parser-0.12.3.crate) = 105969
+SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
+SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
+SHA256 (rust/crates/uuid-0.8.2.crate) = bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7
+SIZE (rust/crates/uuid-0.8.2.crate) = 37909
+SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191
+SIZE (rust/crates/vec_map-0.8.2.crate) = 14466
+SHA256 (rust/crates/version-compare-0.1.0.crate) = fe88247b92c1df6b6de80ddc290f3976dbdf2f5f5d3fd049a9fb598c6dd5ca73
+SIZE (rust/crates/version-compare-0.1.0.crate) = 14169
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
+SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
+SHA256 (rust/crates/wasm-bindgen-0.2.79.crate) = 25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06
+SIZE (rust/crates/wasm-bindgen-0.2.79.crate) = 164276
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.79.crate) = 8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca
+SIZE (rust/crates/wasm-bindgen-backend-0.2.79.crate) = 25776
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.79.crate) = 2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01
+SIZE (rust/crates/wasm-bindgen-macro-0.2.79.crate) = 11806
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.79.crate) = bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.79.crate) = 17861
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.79.crate) = 3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2
+SIZE (rust/crates/wasm-bindgen-shared-0.2.79.crate) = 7204
+SHA256 (rust/crates/web-sys-0.3.56.crate) = c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb
+SIZE (rust/crates/web-sys-0.3.56.crate) = 666465
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (fishfight-FishFight-v0.4.1_GH0.tar.gz) = 58c59c6ea24c2af327b59a50685cb7ddd790dd1eab2804b670af25fa89435a03
+SIZE (fishfight-FishFight-v0.4.1_GH0.tar.gz) = 36926301
diff --git a/games/fishfight/files/patch-miniquad b/games/fishfight/files/patch-miniquad
new file mode 100644
index 000000000000..435804e18990
--- /dev/null
+++ b/games/fishfight/files/patch-miniquad
@@ -0,0 +1,154 @@
+https://github.com/not-fl3/miniquad/pull/270
+
+error[E0428]: the name `GL_TIME_ELAPSED` is defined multiple times
+    --> cargo-crates/sapp-dummy-0.1.5/src/gl.rs:1455:1
+     |
+922  | pub const GL_TIME_ELAPSED: u32 = 35007;
+     | --------------------------------------- previous definition of the value `GL_TIME_ELAPSED` here
+...
+1455 | pub const GL_TIME_ELAPSED: u32 = 35007;
+     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `GL_TIME_ELAPSED` redefined here
+     |
+     = note: `GL_TIME_ELAPSED` must be defined only once in the value namespace of this module
+
+--- cargo-crates/miniquad-0.3.0-alpha.42/Cargo.toml.orig	1970-01-01 00:00:01 UTC
++++ cargo-crates/miniquad-0.3.0-alpha.42/Cargo.toml
+@@ -32,7 +32,7 @@ version = "0.1"
+ default = ["sapp-linux"]
+ kms = ["sapp-kms"]
+ log-impl = []
+-[target."cfg(not(any(target_os=\"linux\", target_os=\"macos\", target_os=\"android\", target_os=\"ios\", target_arch=\"wasm32\", windows)))".dependencies.sapp-dummy]
++[target."cfg(not(any(unix, target_arch=\"wasm32\", windows)))".dependencies.sapp-dummy]
+ version = "=0.1.5"
+ [target."cfg(target_arch = \"wasm32\")".dependencies.sapp-wasm]
+ version = "=0.1.26"
+@@ -40,11 +40,11 @@ version = "=0.1.26"
+ version = "=0.1.14"
+ [target."cfg(target_os = \"ios\")".dependencies.sapp-ios]
+ version = "=0.1.2"
+-[target."cfg(target_os = \"linux\")".dependencies.sapp-kms]
++[target."cfg(all(unix, not(any(target_os = \"macos\", target_os = \"ios\", target_os = \"android\"))))".dependencies.sapp-kms]
+ version = "=0.1.1"
+ optional = true
+ 
+-[target."cfg(target_os = \"linux\")".dependencies.sapp-linux]
++[target."cfg(all(unix, not(any(target_os = \"macos\", target_os = \"ios\", target_os = \"android\"))))".dependencies.sapp-linux]
+ version = "=0.1.13"
+ optional = true
+ [target."cfg(target_os = \"macos\")".dependencies.sapp-darwin]
+diff --git cargo-crates/miniquad-0.3.0-alpha.42/src/clipboard.rs cargo-crates/miniquad-0.3.0-alpha.42/src/clipboard.rs
+index 3251b24df2b6..a8561a89aeb9 100644
+--- cargo-crates/miniquad-0.3.0-alpha.42/src/clipboard.rs
++++ cargo-crates/miniquad-0.3.0-alpha.42/src/clipboard.rs
+@@ -2,7 +2,7 @@
+ 
+ use crate::Context;
+ 
+-#[cfg(all(target_os = "linux", feature = "sapp-linux"))]
++#[cfg(all(unix, not(any(target_os = "macos", target_os = "ios", target_os = "android")), feature = "sapp-linux"))]
+ mod linux_x11 {
+     use crate::Context;
+ 
+@@ -53,7 +53,7 @@ mod windows {
+ }
+ 
+ #[cfg(not(any(
+-    all(target_os = "linux", feature = "sapp-linux"),
++    all(all(unix, not(target_os = "macos"), not(target_os = "ios"), not(target_os = "android")), feature = "sapp-linux"),
+     target_os = "windows",
+     target_arch = "wasm32"
+ )))]
+@@ -68,12 +68,12 @@ mod dummy {
+ }
+ 
+ #[cfg(not(any(
+-    all(target_os = "linux", feature = "sapp-linux"),
++    all(all(unix, not(target_os = "macos"), not(target_os = "ios"), not(target_os = "android")), feature = "sapp-linux"),
+     target_os = "windows",
+     target_arch = "wasm32"
+ )))]
+ use dummy as clipboard;
+-#[cfg(all(target_os = "linux", feature = "sapp-linux"))]
++#[cfg(all(all(unix, not(target_os = "macos"), not(target_os = "ios"), not(target_os = "android")), feature = "sapp-linux"))]
+ use linux_x11 as clipboard;
+ #[cfg(target_arch = "wasm32")]
+ use wasm as clipboard;
+diff --git cargo-crates/miniquad-0.3.0-alpha.42/src/lib.rs cargo-crates/miniquad-0.3.0-alpha.42/src/lib.rs
+index 4718901dd2d8..f69cb15e13c1 100644
+--- cargo-crates/miniquad-0.3.0-alpha.42/src/lib.rs
++++ cargo-crates/miniquad-0.3.0-alpha.42/src/lib.rs
+@@ -7,19 +7,16 @@ pub use sapp_android;
+ #[cfg(target_os = "macos")]
+ extern crate sapp_darwin as sapp;
+ #[cfg(not(any(
+-    target_os = "linux",
+-    target_os = "macos",
+-    target_os = "ios",
+-    target_os = "android",
++    unix,
+     target_arch = "wasm32",
+     windows
+ )))]
+ extern crate sapp_dummy as sapp;
+ #[cfg(target_os = "ios")]
+ extern crate sapp_ios as sapp;
+-#[cfg(all(target_os = "linux", feature = "kms"))]
++#[cfg(all(unix, not(any(target_os = "macos", target_os = "ios", target_os = "android")), feature = "kms"))]
+ extern crate sapp_kms as sapp;
+-#[cfg(all(target_os = "linux", not(feature = "kms")))]
++#[cfg(all(unix, not(any(target_os = "macos", target_os = "ios", target_os = "android")), not(feature = "kms")))]
+ extern crate sapp_linux as sapp;
+ 
+ #[cfg(target_arch = "wasm32")]
+@@ -140,7 +137,7 @@ impl Context {
+     pub fn set_mouse_cursor(&self, _cursor_icon: CursorIcon) {
+         #[cfg(any(
+             target_arch = "wasm32",
+-            all(target_os = "linux", not(feature = "kms")),
++            all(unix, not(any(target_os = "macos", target_os = "ios", target_os = "android")), not(feature = "kms")),
+             windows,
+         ))]
+         unsafe {
+@@ -164,12 +161,9 @@ impl Context {
+     /// Set the application's window size.
+     #[allow(unused_variables)]
+     pub fn set_window_size(&self, new_width: u32, new_height: u32) {
+-        #[cfg(not(any(
+-            target_os = "linux",
+-            target_os = "macos",
+-            target_os = "ios",
+-            target_os = "android",
+-        )))]
++        #[cfg(not(
++            unix,
++        ))]
+         unsafe {
+             if sapp::sapp_is_fullscreen() {
+                 #[cfg(feature = "log-impl")]
+@@ -183,10 +177,7 @@ impl Context {
+     #[allow(unused_variables)]
+     pub fn set_fullscreen(&self, fullscreen: bool) {
+         #[cfg(not(any(
+-            target_os = "linux",
+-            target_os = "macos",
+-            target_os = "ios",
+-            target_os = "android",
++            unix,
+         )))]
+         unsafe {
+             sapp::sapp_set_fullscreen(fullscreen);
+--- cargo-crates/sapp-linux-0.1.13/build.rs.orig	1970-01-01 00:00:00 UTC
++++ cargo-crates/sapp-linux-0.1.13/build.rs
+@@ -1,12 +1,6 @@
+ use std::env;
+ 
+ fn main() {
+-    let target = env::var("TARGET").unwrap_or_else(|e| panic!("{}", e));
+-
+-    if target.contains("linux") == false {
+-        panic!("sapp_linux support only linux target");
+-    }
+-
+     println!("cargo:rustc-link-lib=dylib=GL");
+     println!("cargo:rustc-link-lib=dylib=X11");
+     println!("cargo:rustc-link-lib=dylib=Xi");
diff --git a/games/fishfight/files/patch-quad-snd b/games/fishfight/files/patch-quad-snd
new file mode 100644
index 000000000000..e2e079357ec6
--- /dev/null
+++ b/games/fishfight/files/patch-quad-snd
@@ -0,0 +1,39 @@
+https://github.com/not-fl3/quad-snd/pull/36
+
+error[E0432]: unresolved import `snd`
+  --> cargo-crates/quad-snd-0.2.3/src/lib.rs:32:9
+   |
+32 | pub use snd::{AudioContext, Sound};
+   |         ^^^ use of undeclared crate or module `snd`
+   |
+help: there is a crate or module with a similar name
+   |
+32 | pub use std::{AudioContext, Sound};
+   |         ~~~
+
+--- cargo-crates/quad-snd-0.2.3/Cargo.toml.orig	1970-01-01 00:00:01 UTC
++++ cargo-crates/quad-snd-0.2.3/Cargo.toml
+@@ -22,10 +22,10 @@ features = ["wav", "ogg_vorbis"]
+ default-features = false
+ [target."cfg(target_os = \"android\")".dependencies.audir-sles]
+ version = "0.1.0"
+-[target."cfg(target_os = \"linux\")".dependencies.libc]
++[target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\"))".dependencies.libc]
+ version = "0.2"
+ 
+-[target."cfg(target_os = \"linux\")".dependencies.quad-alsa-sys]
++[target."cfg(any(target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\"))".dependencies.quad-alsa-sys]
+ version = "0.3.2"
+ [target."cfg(target_os = \"windows\")".dependencies.winapi]
+ version = "0.3.8"
+--- cargo-crates/quad-snd-0.2.3/src/lib.rs.orig	1970-01-01 00:00:01 UTC
++++ cargo-crates/quad-snd-0.2.3/src/lib.rs
+@@ -10,7 +10,7 @@ pub use error::Error;
+ #[path = "opensles_snd.rs"]
+ mod snd;
+ 
+-#[cfg(target_os = "linux")]
++#[cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd"))]
+ #[path = "alsa_snd.rs"]
+ mod snd;
+ 
diff --git a/games/fishfight/pkg-descr b/games/fishfight/pkg-descr
new file mode 100644
index 000000000000..6656529dc531
--- /dev/null
+++ b/games/fishfight/pkg-descr
@@ -0,0 +1,16 @@
+Fish Fight is a tactical 2D shooter, played by up to 4 players online
+or on a shared screen. Aim either left or right; the rest is up to
+clever movement and positioning in this fish-on-fish brawler! Made
+with Rust-lang and Macroquad.
+
+### Key Features (WIP)
+
+- 2 to 4 players in either Local Multiplayer or Online Play
+- Easy to pick up, emphasizing strategy over twitch reaction
+- Customize characters with hats, saved to your cross-platform profile
+- Create & explore user-made weapons, levels, audio and other scripted
+  extensions
+- Smart level creation tools
+- Tournaments & matchmaking built in
+
+WWW: https://fishfight.org/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202202210039.21L0dp27035369>