aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Roy <julien@jroy.ca>2023-01-18 14:07:43 -0500
committerJulien Roy <julien@jroy.ca>2023-01-18 14:07:43 -0500
commit7eac72cb8571f6d297e7389cd0328a1f0ae4c92b (patch)
treefe9bca2b66860032d0177b30a4d557ab78cf2545
parent7b89cd2458c9f7a6f32a4156e53253466f4e52a7 (diff)
downloadMrRoy-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/Manifest1
-rw-r--r--net-im/conduit/conduit-0.5.0.ebuild183
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
-}