diff options
| author | Julien Roy <julien@jroy.ca> | 2023-01-18 14:07:43 -0500 | 
|---|---|---|
| committer | Julien Roy <julien@jroy.ca> | 2023-01-18 14:07:43 -0500 | 
| commit | 7eac72cb8571f6d297e7389cd0328a1f0ae4c92b (patch) | |
| tree | fe9bca2b66860032d0177b30a4d557ab78cf2545 | |
| parent | 7b89cd2458c9f7a6f32a4156e53253466f4e52a7 (diff) | |
| download | MrRoy-Overlay-7eac72cb8571f6d297e7389cd0328a1f0ae4c92b.tar.gz MrRoy-Overlay-7eac72cb8571f6d297e7389cd0328a1f0ae4c92b.tar.bz2 MrRoy-Overlay-7eac72cb8571f6d297e7389cd0328a1f0ae4c92b.zip  | |
net-im/conduit: [WIP] it finally compiles
Signed-off-by: Julien Roy <julien@jroy.ca>
| -rw-r--r-- | net-im/conduit/Manifest | 1 | ||||
| -rw-r--r-- | net-im/conduit/conduit-0.5.0.ebuild | 183 | 
2 files changed, 135 insertions, 49 deletions
diff --git a/net-im/conduit/Manifest b/net-im/conduit/Manifest index e247a29..8cfcc33 100644 --- a/net-im/conduit/Manifest +++ b/net-im/conduit/Manifest @@ -526,7 +526,6 @@ DIST winreg-0.6.2.crate 19338 BLAKE2B d866995d54b69077efc1bb900235a4c00d9e69779c  DIST winreg-0.7.0.crate 21225 BLAKE2B 5841db683dc0aa8b92de8ec43100403b029c8d3e544adcaab030d998e5af4644ea176ac0bcd97141d137450a7bd761a5291405202c445a326da7d4f240686230 SHA512 a0b7a2d239e30cea89a863b879831bc32b5f2988ef3f0586ddadda48827cafc82d3602d2f8df3c47dc1e80537149a1ca1dc1506f9fbf960d9ba081dff1bac731  DIST xshell-0.1.17.crate 21019 BLAKE2B c95a09f86b5a0b11f036f9e9f5ee2d925eb3a5ea76d1d168dd5a117a2e56f130edb84b4989e342ddbfedf8a963a955cea86bb0064ae0a6ded81d1d4beb74beec SHA512 534b4c4ba6cb424e60ac4bf0def6e51d5738e4e0f982ac319b5bf7b4cb6fae67505b6db0f9778b57149258a71d1df51e4ded029d79627dc64c394da832f147f2  DIST xshell-macros-0.1.17.crate 2682 BLAKE2B 8c79a2d499e7e12f56cf2801518159f26df2c70f0b7c4a6c5ff072e7f981fbc314a429a56c89ce89b74091f7e14888088da7c8e51e458e1d709e3ef6f0361810 SHA512 838f8bfc530051d8fe6c1b2a3c8e2fe7c6946705d6e6a084807b35817d5d6bae6f2941cb97a47fdf5c970aa3f4baef222aac938039bb520aadbb3fd7fd1a7bf7 -DIST xtask-0.1.0.crate 863 BLAKE2B b04f7cc66b9dabb3a85872c3670982f32e68e93ec4d56548d2e26cb4952db68404666233a6292c41d98ddd71628ba2f0831782d2f31fc7e2930affe473a239fd SHA512 fba59dd4e2318b87bb33bab16cce5237ba87006704148436f780494491405335e5bcf5b9c4ddeb99d175c1a6180168956b87990a3b99644b8a447d3aa678fdbc  DIST yansi-0.5.1.crate 16525 BLAKE2B 3b5a93b98293daae72f53bf3f13bfc05feba8d5b27921f79595f7448fbcb9a0dfa6cd70f467c5735b914c46b7d3592e6cce080c540a458a904308525eb3aa839 SHA512 7b33005a066cc612408a65df6533e8718d1de43efc0fd57416a19dc2b811497570e6e18f100fb26073565e395e711518c27de7d644ae64777713f1a102eb16d2  DIST yap-0.8.1.crate 15313 BLAKE2B e47688e5ce030216a9f132f3813eb7b810be5b426df3e242ab1ea3fe6d0303186357dcb95ca6a0bc94904f417e7c3a058aef29d792b7bb805db96631f274cff6 SHA512 2901876d358603b4031ab11b7b0d6f064bdf1666ecbb41b5b6320698edc5ede60e07b50d2c15f1e25ed5f793dd3615f05ca26069c15ce3f5e2c816cbaa6ab184  DIST zeroize-1.5.7.crate 18861 BLAKE2B 5f203d91aae732b928e2acd02656a486f0f930b8daea96b927552f5790862489d83c7bd48b0c7c62a3273e7a04833a16149ce489847f17fbb037e88922d359a2 SHA512 e0688681bceba324d36ea4dc552791801dc93b5882d106b79dd317af99cb718b711899bfd09917a811d23096693448801e64f0651bd9eeae7895618821d88fa9 diff --git a/net-im/conduit/conduit-0.5.0.ebuild b/net-im/conduit/conduit-0.5.0.ebuild index e4285e5..d33bcac 100644 --- a/net-im/conduit/conduit-0.5.0.ebuild +++ b/net-im/conduit/conduit-0.5.0.ebuild @@ -528,7 +528,6 @@ CRATES="  	winreg-0.7.0  	xshell-0.1.17  	xshell-macros-0.1.17 -	xtask-0.1.0  	yansi-0.5.1  	yap-0.8.1  	zeroize-1.5.7 @@ -567,66 +566,154 @@ DEPEND="${RDEPEND}"  src_unpack() {  	cargo_src_unpack -	# Prepare Ruma Crate +	# Conduit uses custom forks/commits for Heed, Reqwest and Ruma +	# The Heed and Ruma crates can't be used by portage as-is, +	# so they need to be unpacked and corrected manually + +	# Prepare Ruma Crates +	cd "${WORKDIR}/cargo_home/gentoo/ruma-${RUMACOMMIT}/crates" || die + +	# Remove references to workspaces since we are moving them out of the ruma workspace +	sed -i -e '/workspace/d' "ruma/Cargo.toml" || die +	sed -i -e '/workspace/d' "ruma-appservice-api/Cargo.toml" || die +	sed -i -e '/workspace/d' "ruma-client-api/Cargo.toml" || die +	sed -i -e '/workspace/d' "ruma-client/Cargo.toml" || die +	sed -i -e '/workspace/d' "ruma-common/Cargo.toml" || die +	sed -i -e '/workspace/d' "ruma-federation-api/Cargo.toml" || die +	sed -i -e '/workspace/d' "ruma-identifiers-validation/Cargo.toml" || die +	sed -i -e '/workspace/d' "ruma-identity-service-api/Cargo.toml" || die +	sed -i -e '/workspace/d' "ruma-macros/Cargo.toml" || die +	sed -i -e '/workspace/d' "ruma-push-gateway-api/Cargo.toml" || die +	sed -i -e '/workspace/d' "ruma-server-util/Cargo.toml" || die +	sed -i -e '/workspace/d' "ruma-signatures/Cargo.toml" || die +	sed -i -e '/workspace/d' "ruma-state-res/Cargo.toml" || die + +	# Because we undid the workspaces, some of the packages unpacked from +	# the ruma crate are missing dependencies, so we add them back here + +	RUMADEPS="\[dependencies\]" +	RUMADEPS+="\nassign = \"1.1.1\"" +	RUMADEPS+="\njs_int = { version = \"0.2.2\", features = \[\"serde\"\] }" +	sed -i -e "s/^\[dependencies\]$/${RUMADEPS}/" "ruma/Cargo.toml" || die + +	RUMEAPPSERVICEDEPS="\[dependencies\]" +	RUMEAPPSERVICEDEPS+="\njs_int = { version = \"0.2.2\", features = \[\"serde\"\] }" +	RUMEAPPSERVICEDEPS+="\nserde = { version = \"1.0.147\", features = \[\"derive\"\] }" +	RUMEAPPSERVICEDEPS+="\nserde_json = { version = \"1.0.87\", features = \[\"raw_value\"\] }" +	sed -i -e "s/^\[dependencies\]$/${RUMEAPPSERVICEDEPS}/" "ruma-appservice-api/Cargo.toml" || die + +	RUMACLIENTDEPS="\[dependencies\]" +	RUMACLIENTDEPS+="\nassign = \"1.1.1\"" +	RUMACLIENTDEPS+="\nhttp = \"0.2.8\"" +	RUMACLIENTDEPS+="\njs_int = { version = \"0.2.2\", features = \[\"serde\"\] }" +	RUMACLIENTDEPS+="\nmaplit = \"1.0.2\"" +	RUMACLIENTDEPS+="\nserde = { version = \"1.0.147\", features = \[\"derive\"\] }" +	RUMACLIENTDEPS+="\nserde_json = \"1.0.87\"" +	sed -i -e "s/^\[dependencies\]$/${RUMACLIENTDEPS}/" "ruma-client-api/Cargo.toml" || die + +	RUMACOMMONDEPS="\[dependencies\]" +	RUMACOMMONDEPS+="\nbase64 = \"0.20.0\"" +	RUMACOMMONDEPS+="\nhttp = { version = \"0.2.8\", optional = true }" +	RUMACOMMONDEPS+="\njs_int = { version = \"0.2.2\", features = \[\"serde\"\] }" +	RUMACOMMONDEPS+="\nserde = { version = \"1.0.147\", features = \[\"derive\"\] }" +	RUMACOMMONDEPS+="\nserde_json = { version = \"1.0.87\", features = \[\"raw_value\"\] }" +	RUMACOMMONDEPS+="\nthiserror = \"1.0.37\"" +	RUMACOMMONDEPS+="\ntracing = { version = \"0.1.37\", features = \[\"attributes\"\] }" +	sed -i -e "s/^\[dependencies\]$/${RUMACOMMONDEPS}/" "ruma-common/Cargo.toml" || die + +	RUMAIDENTIFIERSDEPS="\[dependencies\]" +	RUMAIDENTIFIERSDEPS+="\njs_int = \"0.2.2\"" +	RUMAIDENTIFIERSDEPS+="\nthiserror = \"1.0.37\"" +	sed -i -e "s/^\[dependencies\]$/${RUMAIDENTIFIERSDEPS}/" "ruma-identifiers-validation/Cargo.toml" || die + +	RUMAFEDERATIONDEPS="\[dependencies\]" +	RUMAFEDERATIONDEPS+="\njs_int = { version = \"0.2.2\", features = \[\"serde\"\] }" +	RUMAFEDERATIONDEPS+="\nserde = { version = \"1.0.147\", features = \[\"derive\"\] }" +	RUMAFEDERATIONDEPS+="\nserde_json = \"1.0.87\"" +	sed -i -e "s/^\[dependencies\]$/${RUMAFEDERATIONDEPS}/" "ruma-federation-api/Cargo.toml" || die + +	RUMAMACROSDEPS="\[dependencies\]" +	RUMAMACROSDEPS+="\nserde = { version = \"1.0.147\", features = \[\"derive\"\] }" +	sed -i -e "s/^\[dependencies\]$/${RUMAMACROSDEPS}/" "ruma-macros/Cargo.toml" || die + +	RUMAPUSHDEPS="\[dependencies\]" +	RUMAPUSHDEPS+="\njs_int = { version = \"0.2.2\", features = \[\"serde\"\] }" +	RUMAPUSHDEPS+="\nserde = { version = \"1.0.147\", features = \[\"derive\"\] }" +	RUMAPUSHDEPS+="\nserde_json = \"1.0.87\"" +	sed -i -e "s/^\[dependencies\]$/${RUMAPUSHDEPS}/" "ruma-push-gateway-api/Cargo.toml" || die + +	RUMASIGNDEPS="\[dependencies\]" +	RUMASIGNDEPS+="\nbase64 = \"0.20.0\"" +	RUMASIGNDEPS+="\nserde = { version = \"1.0.147\", features = \[\"derive\"\] }" +	RUMASIGNDEPS+="\nserde_json = { version = \"1.0.87\", features = \[\"raw_value\"\] }" +	RUMASIGNDEPS+="\nthiserror = \"1.0.37\"" +	sed -i -e "s/^\[dependencies\]$/${RUMASIGNDEPS}/" "ruma-signatures/Cargo.toml" || die + +	RUMASTATEDEPS="\[dependencies\]" +	RUMASTATEDEPS+="\njs_int = \"0.2.2\"" +	RUMASTATEDEPS+="\nserde = { version = \"1.0.147\", features = \[\"derive\"\] }" +	RUMASTATEDEPS+="\nserde_json = \"1.0.87\"" +	RUMASTATEDEPS+="\nthiserror = \"1.0.37\"" +	RUMASTATEDEPS+="\ntracing = { version = \"0.1.37\", features = \[\"std\"\] }" +	sed -i -e "s/^\[dependencies\]$/${RUMASTATEDEPS}/" "ruma-state-res/Cargo.toml" || die + +	# Copy the checksum so Cargo is happy +	cp "../.cargo-checksum.json" "ruma" || die +	cp "../.cargo-checksum.json" "ruma-appservice-api" || die +	cp "../.cargo-checksum.json" "ruma-client" || die +	cp "../.cargo-checksum.json" "ruma-client-api" || die +	cp "../.cargo-checksum.json" "ruma-common" || die +	cp "../.cargo-checksum.json" "ruma-federation-api" || die +	cp "../.cargo-checksum.json" "ruma-identifiers-validation" || die +	cp "../.cargo-checksum.json" "ruma-identity-service-api" || die +	cp "../.cargo-checksum.json" "ruma-macros" || die +	cp "../.cargo-checksum.json" "ruma-push-gateway-api" || die +	cp "../.cargo-checksum.json" "ruma-server-util" || die +	cp "../.cargo-checksum.json" "ruma-signatures" || die +	cp "../.cargo-checksum.json" "ruma-state-res" || die + +	# Move them in cargo home +	mv "ruma" "../../ruma-0.7.4" || die +	mv "ruma-appservice-api" "../../ruma-appservice-api-0.7.0" || die +	mv "ruma-client" "../../ruma-client-0.10.0" || die +	mv "ruma-client-api" "../../ruma-client-api-0.15.3" || die +	mv "ruma-common" "../../ruma-common-0.10.5" || die +	mv "ruma-federation-api" "../../ruma-federation-api-0.6.0" || die +	mv "ruma-identifiers-validation" "../../ruma-identifiers-validation-0.9.0" || die +	mv "ruma-identity-service-api" "../../ruma-identity-service-api-0.6.0" || die +	mv "ruma-macros" "../../ruma-macros-0.10.5" || die +	mv "ruma-push-gateway-api" "../../ruma-push-gateway-api-0.6.0" || die +	mv "ruma-server-util" "../../ruma-server-util-0.1.0" || die +	mv "ruma-signatures" "../../ruma-signatures-0.12.0" || die +	mv "ruma-state-res" "../../ruma-state-res-0.8.0" || die + +	# Repeat all of the above for xtask  	cd "${WORKDIR}/cargo_home/gentoo/ruma-${RUMACOMMIT}" || die +	sed -i -e '/workspace/d' "xtask/Cargo.toml" || die +	cp ".cargo-checksum.json" "xtask" || die  	mv "xtask" "../xtask-0.1.0" || die -	cp ".cargo-checksum.json" "../xtask-0.1.0" || die -	cd "crates" || die -	mv "ruma" "../ruma-0.7.4" || die -	cp ".cargo-checksum.json" "../ruma-0.7.4" || die -	mv "ruma-appservice-api" "../ruma-appservice-api-0.7.0" || die -	cp ".cargo-checksum.json" "../ruma-appservice-api-0.7.0" || die -	mv "ruma-client" "../ruma-client-0.10.0" || die -	cp ".cargo-checksum.json" "../ruma-client-0.10.0" || die -	mv "ruma-client-api" "../ruma-client-api-0.15.3" || die -	cp ".cargo-checksum.json" "../ruma-client-api-0.15.3" || die -	mv "ruma-common" "../ruma-common-0.10.5" || die -	cp ".cargo-checksum.json" "../ruma-common-0.10.5" || die -	mv "ruma-federation-api" "../ruma-federation-api-0.6.0" || die -	cp ".cargo-checksum.json" "../ruma-federation-api-0.6.0" || die -	mv "ruma-identifiers-validation" "../ruma-identifiers-validation-0.9.0" || die -	cp ".cargo-checksum.json" "../ruma-identifiers-validation-0.9.0" || die -	mv "ruma-identify-service-api" "../ruma-identity-service-api-0.6.0" || die -	cp ".cargo-checksum.json" "../ruma-identity-service-api-0.6.0" || die -	mv "ruma-macros" "../ruma-macros-0.10.5" || die -	cp ".cargo-checksum.json" "../ruma-macros-0.10.5" || die -	mv "ruma-push-gateway-api" "../ruma-push-gateway-api-0.6.0" || die -	cp ".cargo-checksum.json" "../ruma-push-gateway-api-0.6.0" || die -	mv "ruma-server-util" "../ruma-server-util-0.1.0" || die -	cp ".cargo-checksum.json" "../ruma-server-util-0.1.0" || die -	mv "ruma-signatures" "../ruma-signatures-0.12.0" || die -	cp ".cargo-checksum.json" "../ruma-0.12.0" || die -	mv "ruma-state-res" "../ruma-state-res-0.8.0" || die -	cp ".cargo-checksum.json" "../ruma-state-res-0.8.0" || die +	# Remove the now useless Cargo.toml +	rm "Cargo.toml" || die -	# Prepare Heed Crate +	# Repeat all of the above for heed  	cd "${WORKDIR}/cargo_home/gentoo/heed-${HEEDCOMMIT}" || die +	cp ".cargo-checksum.json" "heed" || die +	cp ".cargo-checksum.json" "heed-traits" || die +	cp ".cargo-checksum.json" "heed-types" || die  	mv "heed" "../heed-0.10.6" || die -	cp ".cargo-checksum.json" "../heed-0.10.6" || die  	mv "heed-traits" "../heed-traits-0.7.0" || die -	cp ".cargo-checksum.json" "../heed-traits-0.7.0" || die  	mv "heed-types" "../heed-types-0.7.2" || die -	cp ".cargo-checksum.json" "../heed-types-0.7.2" || die  	rm "Cargo.toml" || die  }  src_prepare() {  	# Conduit uses custom forks or specific commits of Ruma, Reqwest and Heed -	# Because of this, Cargo will complain that they are missing, so we remove them. -	sed -i -e '/^ruma.*$/d' Cargo.toml || die -	sed -i -e '/^reqwest.*$/d' Cargo.toml || die -	sed -i -e '/^heed.*$/d' Cargo.toml || die -	sed -i -e '/^backend_heed.*$/d' Cargo.toml || die +	# Because of this, Cargo will try to fetch from online. Since we +	# unpacked them in src_unpack, we update Cargo.toml to use those instead +	sed -i -e 's/^heed.*/heed = \{ version = "0.10.6", optional = true \}/' Cargo.toml || die +	sed -i -e 's/^reqwest.*/reqwest = { version = "0.11.9", features = \["rustls-tls-native-roots", "socks"\] }/' Cargo.toml || die +	sed -i -e 's/^ruma.*/ruma ={ version = "0.7.4", features = \["compat", "rand", "appservice-api-c", "client-api", "federation-api", "push-gateway-api-c", "state-res", "unstable-msc2448", "unstable-exhaustive-types", "ring-compat", "unstable-unspecified" \] }/' Cargo.toml || die  	default  } - -src_compile() { -	# cd "${WORKDIR}/reqwest-${REQCOMMIT}" || die -	# cargo_src_compile --package reqwest -	# cd "${WORKDIR}/ruma-${RUMACOMMIT}" || die -	# cargo_src_compile --package ruma -	# cd "${S}" || die -	cargo_src_compile --package conduit -}  | 
