summaryrefslogtreecommitdiffstats
path: root/python/cryptography
diff options
context:
space:
mode:
author Andrew Clemons <andrew.clemons@gmail.com>2021-10-24 22:10:18 +1300
committer Willy Sudiarto Raharjo <willysr@slackbuilds.org>2021-10-27 08:40:37 +0700
commit5610d162930ea422f5c38dad8c22c1afab4bd7bf (patch)
treeaa6c618d7501a2e8cdf7b535f392b648b20783b5 /python/cryptography
parent472a754492f9c7856ea21ea38af27a38309488a4 (diff)
downloadslackbuilds-5610d162930ea422f5c38dad8c22c1afab4bd7bf.tar.gz
slackbuilds-5610d162930ea422f5c38dad8c22c1afab4bd7bf.tar.xz
python/cryptography: Fix offline build.
The rust component tries to download crates during the build. Signed-off-by: Andrew Clemons <andrew.clemons@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'python/cryptography')
-rw-r--r--python/cryptography/cryptography.SlackBuild53
-rw-r--r--python/cryptography/cryptography.info98
2 files changed, 149 insertions, 2 deletions
diff --git a/python/cryptography/cryptography.SlackBuild b/python/cryptography/cryptography.SlackBuild
index a2a609684d..7fa20362b6 100644
--- a/python/cryptography/cryptography.SlackBuild
+++ b/python/cryptography/cryptography.SlackBuild
@@ -71,6 +71,59 @@ cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
+
+# build offline
+# configuration tells cargo to use the configured directory
+# for dependencies intead of downloading from crates.io
+mkdir .cargo
+cat << EOF >> .cargo/config
+[source.crates-io]
+registry = 'https://github.com/rust-lang/crates.io-index'
+replace-with = 'vendored-sources'
+
+[source.vendored-sources]
+directory = '$(pwd)/src/rust/vendor'
+EOF
+
+(
+ cd src/rust
+
+ # deps and versions come from Cargo.lock
+ mkdir vendor
+ cd vendor
+
+ grep -h -A 3 "\[\[package\]\]" $(find ../ -maxdepth 1 -mindepth 1 -name Cargo.lock | tr '\n' ' ') | \
+ sed 's/[[:space:]]*=[[:space:]]*/=/g;s/^--//;s/^\[\[/--\n[[/' | \
+ awk 'BEGIN { RS = "--\n" ; FS="\n" } { print $2, $3, $4 }' | sed 's/"//g;s/name=//;s/ version=/=/' | \
+ grep crates\.io-index | sed 's/ source=.*$//' | sort -u | while read -r dep ; do
+
+ ver="$(printf "%s\n" "$dep" | cut -d= -f2)"
+ dep="$(printf "%s\n" "$dep" | cut -d= -f1)"
+
+ tar xvf $CWD/$dep-$ver.crate
+
+ touch $dep-$ver/.cargo-ok
+
+ # generate checksum
+ {
+ printf "{\n"
+ printf ' "files": {\n'
+
+ (
+ cd $dep-$ver
+ find . -type f -print0 | xargs -0 sha256sum | sed -n '/\.cargo-checksum\.json/!p' | sed 's/\.\///;s/^\([^ ]*\)[[:space:]][[:space:]]*\(.*\)$/"\2":"\1",/'
+ ) | sed '$ s/,$//'
+
+ printf " },\n"
+ printf ' "package": "'
+
+ sha256sum "$CWD/$dep-$ver.crate" | cut -f1 -d' ' | sed 's/$/"/'
+
+ printf "}\n"
+ } > $dep-$ver/.cargo-checksum.json
+ done
+)
+
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
diff --git a/python/cryptography/cryptography.info b/python/cryptography/cryptography.info
index 63357b37fe..03fbe487e2 100644
--- a/python/cryptography/cryptography.info
+++ b/python/cryptography/cryptography.info
@@ -1,8 +1,102 @@
PRGNAM="cryptography"
VERSION="35.0.0"
HOMEPAGE="https://cryptography.io/"
-DOWNLOAD="https://files.pythonhosted.org/packages/10/91/90b8d4cd611ac2aa526290ae4b4285aa5ea57ee191c63c2f3d04170d7683/cryptography-35.0.0.tar.gz"
-MD5SUM="ba34eba3ae36cbf3d2e1ee3239f07732"
+DOWNLOAD="https://files.pythonhosted.org/packages/10/91/90b8d4cd611ac2aa526290ae4b4285aa5ea57ee191c63c2f3d04170d7683/cryptography-35.0.0.tar.gz \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/Inflector/Inflector-0.11.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/aliasable/aliasable-0.1.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/asn1/asn1-0.6.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/asn1_derive/asn1_derive-0.6.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/base64/base64-0.13.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.3.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/chrono/chrono-0.4.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/indoc-impl/indoc-impl-0.3.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/indoc/indoc-0.3.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/instant/instant-0.1.11.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.103.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lock_api/lock_api-0.4.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-integer/num-integer-0.1.44.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-traits/num-traits-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/once_cell/once_cell-1.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ouroboros/ouroboros-0.11.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ouroboros_macro/ouroboros_macro-0.11.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/parking_lot/parking_lot-0.11.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/parking_lot_core/parking_lot_core-0.8.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/paste-impl/paste-impl-0.1.18.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/paste/paste-0.1.18.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pem/pem-0.8.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-error-attr/proc-macro-error-attr-1.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-error/proc-macro-error-1.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-hack/proc-macro-hack-0.5.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-1.0.29.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pyo3-build-config/pyo3-build-config-0.14.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pyo3-macros-backend/pyo3-macros-backend-0.14.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pyo3-macros/pyo3-macros-0.14.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pyo3/pyo3-0.14.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-1.0.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.2.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.25.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.5.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/scopeguard/scopeguard-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/smallvec/smallvec-1.7.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/stable_deref_trait/stable_deref_trait-1.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-1.0.77.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-xid/unicode-xid-0.2.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unindent/unindent-0.1.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/version_check/version_check-0.9.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.9.crate"
+MD5SUM="ba34eba3ae36cbf3d2e1ee3239f07732 \
+ b7f1a4cd029f5b6ffbc31b3acd5ae605 \
+ f02c179eca8c70ccdfa3f17b5c33563a \
+ 77290c6b441218228dcb3600002e6643 \
+ 8c9818e36319cd2a7493bef1674a4f51 \
+ c6443ec8d007c729ba5482008d0c864d \
+ 80a2c27647a6acb1890a3a7de8fded72 \
+ a295edb6953237ebbdfa8e731229f9a3 \
+ 74634128440dbc3766bda76fdf0aaa05 \
+ 1581b390d17f6e73a43ffc8a7b009e57 \
+ 9273d518c1b6082859f526fe56c9cd7c \
+ 2c56a546f0522e89a14f361e364d8921 \
+ afca29ce58f32545ee0dfafd43c20be7 \
+ fba3b040a55c01be7376d3dd5c4d4920 \
+ 3c2a573ec03b3a76aa6c0a46310fda41 \
+ 90bcfdd7962fdd94b0f3a70a0819d3cc \
+ a8ec1126ef06244ac1e3773981a005f1 \
+ c0e036fd990d0c9cae11b5876a5cb572 \
+ 09890b5c787af9aedc40f1d75cbe57bb \
+ b744a202582ea1f51e4efc903b13c2c0 \
+ fbbad6e0a99e297e8207e1029a0be443 \
+ 12e4ba5909e1f30b9142932571eaa4da \
+ 233dee08f26c9cbe78f29b66c0c20ccd \
+ 22030e124dbac93658e25bb2753d93db \
+ fe25af78df7a9c06f85cb07b336871fc \
+ 6cf30651a73c9e77564b44c52b5fa72d \
+ 7d76a523677de261dda1b65d29a93c4e \
+ 6a32bab57772c3a1146d599b65ffb0cb \
+ c7c38eb603bed6f42edbc4294806a44a \
+ 886ee6f94503dda907dbb4eae5ada5d9 \
+ b001d3a67891091136d51d68c01bcd27 \
+ 8ac62ed6da1170213528644af029d957 \
+ 31d6407263322a3d0dc88331d3fd1ac3 \
+ e1cc08b72122e8aee4ed635c1f1262ab \
+ 3233400d1bc56e7c78d4d7564d8e5b74 \
+ 4a80ab58144fc731cd12abc6d5139d7f \
+ 82401c70623ccc1bfc0bcb5c3b0ac8b7 \
+ 4606e4a248df4d70509afded817aca14 \
+ b4a0a98a54439a5a37952c8879187ee3 \
+ 508a7f3cd5f4b409e22cf877aecfca11 \
+ 5988bad1543264a9f48b542192e7de9a \
+ 4d8771e1e0fa2b08d3852954bc68f293 \
+ 087bfc476e9d73628cebd265590f11f7 \
+ 0db9f7738460991fc27d0e866e6e5885 \
+ 1c446b05ba6899a5b5801b7d4aee465c \
+ db96b50050277bf05a3c68534bbb9586 \
+ 09de9d01e7331ff3da11f58be8bef0df \
+ 0498c4a11448bfc35dc7bb2caa64c753"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="pyasn1 asn1crypto wheel python3-setuptools-rust"