aboutsummaryrefslogtreecommitdiff
path: root/net-im/conduit/conduit-0.5.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'net-im/conduit/conduit-0.5.0.ebuild')
-rw-r--r--net-im/conduit/conduit-0.5.0.ebuild183
1 files changed, 135 insertions, 48 deletions
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
-}