diff options
Diffstat (limited to 'net-im/conduit')
-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 -} |