summaryrefslogtreecommitdiffstats
path: root/python/python3-bcrypt
diff options
context:
space:
mode:
Diffstat (limited to 'python/python3-bcrypt')
-rw-r--r--python/python3-bcrypt/python3-bcrypt.SlackBuild113
-rw-r--r--python/python3-bcrypt/python3-bcrypt.info118
2 files changed, 223 insertions, 8 deletions
diff --git a/python/python3-bcrypt/python3-bcrypt.SlackBuild b/python/python3-bcrypt/python3-bcrypt.SlackBuild
index c2155df029..666a649ed0 100644
--- a/python/python3-bcrypt/python3-bcrypt.SlackBuild
+++ b/python/python3-bcrypt/python3-bcrypt.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=python3-bcrypt
SRCNAM=${PRGNAM#python3-*}
-VERSION=${VERSION:-3.2.2}
+VERSION=${VERSION:-4.1.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -35,11 +35,14 @@ if [ -z "$ARCH" ]; then
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
+
+ if [ "$ARCH" = "i586" ]; then
+ if rustc -Vv | grep host | grep i686 > /dev/null ; then
+ ARCH=i686
+ fi
+ fi
fi
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@@ -49,6 +52,27 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+ CARGOTARGET="--target $ARCH-unknown-linux-gnu"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+ CARGOTARGET="--target $ARCH-unknown-linux-gnu"
+elif [ "$ARCH" = "x86_64" ] || [ "$ARCH" = "aarch64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ CARGOTARGET="--target $ARCH-unknown-linux-gnu"
+elif [ "$ARCH" = "aarch64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ CARGOTARGET=""
+fi
+
set -e
rm -rf $PKG
@@ -57,6 +81,79 @@ cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
cd $SRCNAM-$VERSION
+
+# Using more recent rust version
+export PATH="/opt/rust16/bin:$PATH"
+if [ -z "$LD_LIBRARY_PATH" ]; then
+ export LD_LIBRARY_PATH="/opt/rust16/lib$LIBDIRSUFFIX"
+else
+ export LD_LIBRARY_PATH="/opt/rust16/lib$LIBDIRSUFFIX:$LD_LIBRARY_PATH"
+fi
+
+# build offline
+# configuration tells cargo to use the configured directory
+# for dependencies intead of downloading from crates.io
+mkdir .cargo
+cat << EOF >> .cargo/config.toml
+[source]
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "vendor"
+EOF
+
+# deps and versions come from Cargo.lock
+mkdir vendor
+(
+ cd vendor
+
+ grep -h -A 4 "\[\[package\]\]" \
+ $(find "../" -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, $5 }' | \
+ sed 's/"//g;s/name=//;s/ version=/=/' | \
+ grep " source=" | \
+ sed 's/ dependencies=.*$//' | \
+ sed 's/ source=[^ ]*//' | \
+ sed 's/ checksum=/=/' | \
+ sort -u | \
+ while read -r dep ; do
+
+ cksum="$(printf "%s\n" "$dep" | cut -d= -f3)"
+ ver="$(printf "%s\n" "$dep" | cut -d= -f2)"
+ dep="$(printf "%s\n" "$dep" | cut -d= -f1)"
+
+ CRATE_FILE=$CWD/$dep-$ver.crate
+
+ if [ -z "$cksum" ] ; then
+ mkdir $dep-$ver
+ tar xvf $CRATE_FILE -C $dep-$ver --strip-components=1
+ cksum="null"
+ else
+ tar xvf $CRATE_FILE
+ fi
+
+ 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": "%s"' "$cksum"
+
+ 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 \
@@ -64,8 +161,16 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+PYVER=$(python3 -c 'import sys; print("%d.%d" % sys.version_info[:2])')
+export PYTHONPATH=/opt/python$PYVER/site-packages/
+CARGO_HOME=.cargo \
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
python3 setup.py install --root=$PKG
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a README.rst LICENSE MANIFEST.in $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/python/python3-bcrypt/python3-bcrypt.info b/python/python3-bcrypt/python3-bcrypt.info
index 8ad5e61f5e..0428c05a3f 100644
--- a/python/python3-bcrypt/python3-bcrypt.info
+++ b/python/python3-bcrypt/python3-bcrypt.info
@@ -1,10 +1,120 @@
PRGNAM="python3-bcrypt"
-VERSION="3.2.2"
+VERSION="4.1.3"
HOMEPAGE="https://github.com/pyca/bcrypt/"
-DOWNLOAD="https://pypi.python.org/packages/source/b/bcrypt/bcrypt-3.2.2.tar.gz"
-MD5SUM="3978ac76158b6241d1c2ca140dac1b56"
+DOWNLOAD="https://pypi.python.org/packages/source/b/bcrypt/bcrypt-4.1.3.tar.gz \
+ https://static.crates.io/crates/autocfg/autocfg-1.3.0.crate \
+ https://static.crates.io/crates/base64/base64-0.22.1.crate \
+ https://static.crates.io/crates/bcrypt-pbkdf/bcrypt-pbkdf-0.10.0.crate \
+ https://static.crates.io/crates/bcrypt/bcrypt-0.15.1.crate \
+ https://static.crates.io/crates/bitflags/bitflags-2.5.0.crate \
+ https://static.crates.io/crates/block-buffer/block-buffer-0.10.4.crate \
+ https://static.crates.io/crates/blowfish/blowfish-0.9.1.crate \
+ https://static.crates.io/crates/byteorder/byteorder-1.5.0.crate \
+ https://static.crates.io/crates/cfg-if/cfg-if-1.0.0.crate \
+ https://static.crates.io/crates/cipher/cipher-0.4.4.crate \
+ https://static.crates.io/crates/cpufeatures/cpufeatures-0.2.12.crate \
+ https://static.crates.io/crates/crypto-common/crypto-common-0.1.6.crate \
+ https://static.crates.io/crates/digest/digest-0.10.7.crate \
+ https://static.crates.io/crates/generic-array/generic-array-0.14.7.crate \
+ https://static.crates.io/crates/getrandom/getrandom-0.2.14.crate \
+ https://static.crates.io/crates/heck/heck-0.4.1.crate \
+ https://static.crates.io/crates/indoc/indoc-2.0.5.crate \
+ https://static.crates.io/crates/inout/inout-0.1.3.crate \
+ https://static.crates.io/crates/libc/libc-0.2.154.crate \
+ https://static.crates.io/crates/lock_api/lock_api-0.4.12.crate \
+ https://static.crates.io/crates/memoffset/memoffset-0.9.1.crate \
+ https://static.crates.io/crates/once_cell/once_cell-1.19.0.crate \
+ https://static.crates.io/crates/parking_lot/parking_lot-0.12.2.crate \
+ https://static.crates.io/crates/parking_lot_core/parking_lot_core-0.9.10.crate \
+ https://static.crates.io/crates/pbkdf2/pbkdf2-0.12.2.crate \
+ https://static.crates.io/crates/portable-atomic/portable-atomic-1.6.0.crate \
+ https://static.crates.io/crates/proc-macro2/proc-macro2-1.0.81.crate \
+ https://static.crates.io/crates/pyo3-build-config/pyo3-build-config-0.21.2.crate \
+ https://static.crates.io/crates/pyo3-ffi/pyo3-ffi-0.21.2.crate \
+ https://static.crates.io/crates/pyo3-macros-backend/pyo3-macros-backend-0.21.2.crate \
+ https://static.crates.io/crates/pyo3-macros/pyo3-macros-0.21.2.crate \
+ https://static.crates.io/crates/pyo3/pyo3-0.21.2.crate \
+ https://static.crates.io/crates/quote/quote-1.0.36.crate \
+ https://static.crates.io/crates/redox_syscall/redox_syscall-0.5.1.crate \
+ https://static.crates.io/crates/scopeguard/scopeguard-1.2.0.crate \
+ https://static.crates.io/crates/sha2/sha2-0.10.8.crate \
+ https://static.crates.io/crates/smallvec/smallvec-1.13.2.crate \
+ https://static.crates.io/crates/subtle/subtle-2.5.0.crate \
+ https://static.crates.io/crates/syn/syn-2.0.60.crate \
+ https://static.crates.io/crates/target-lexicon/target-lexicon-0.12.14.crate \
+ https://static.crates.io/crates/typenum/typenum-1.17.0.crate \
+ https://static.crates.io/crates/unicode-ident/unicode-ident-1.0.12.crate \
+ https://static.crates.io/crates/unindent/unindent-0.2.3.crate \
+ https://static.crates.io/crates/version_check/version_check-0.9.4.crate \
+ https://static.crates.io/crates/wasi/wasi-0.11.0+wasi-snapshot-preview1.crate \
+ https://static.crates.io/crates/windows-targets/windows-targets-0.52.5.crate \
+ https://static.crates.io/crates/windows_aarch64_gnullvm/windows_aarch64_gnullvm-0.52.5.crate \
+ https://static.crates.io/crates/windows_aarch64_msvc/windows_aarch64_msvc-0.52.5.crate \
+ https://static.crates.io/crates/windows_i686_gnu/windows_i686_gnu-0.52.5.crate \
+ https://static.crates.io/crates/windows_i686_gnullvm/windows_i686_gnullvm-0.52.5.crate \
+ https://static.crates.io/crates/windows_i686_msvc/windows_i686_msvc-0.52.5.crate \
+ https://static.crates.io/crates/windows_x86_64_gnu/windows_x86_64_gnu-0.52.5.crate \
+ https://static.crates.io/crates/windows_x86_64_gnullvm/windows_x86_64_gnullvm-0.52.5.crate \
+ https://static.crates.io/crates/windows_x86_64_msvc/windows_x86_64_msvc-0.52.5.crate \
+ https://static.crates.io/crates/zeroize/zeroize-1.7.0.crate"
+MD5SUM="30617ec75d7867f586948842030621db \
+ 88a8c7336f056de768ee2966cefd8303 \
+ 20084c4c04bcc06fd3d7ff662deca706 \
+ 60cbc9c6df95ebe4e5ecd67569b866a6 \
+ 22d36854f49eaf43d4c012b414632ceb \
+ f3406374808b01be3a263666aa9aa2f5 \
+ 023b03cf9968b29253a5dfe62051008d \
+ c0d5296acca72ce01a0058b7b8f56e55 \
+ 45339d90b2b3a4f123af5ec459954102 \
+ 74634128440dbc3766bda76fdf0aaa05 \
+ ef4cc5591659a050ca0de3363b6ab353 \
+ 162407e4c09897085d00344230f375a0 \
+ 89e88633cab0e4b6f3d3878b84dffe8b \
+ 3d62bfbbe08bdcee55fcb8cda85554d9 \
+ 64a6d8fe0c9a450bcefa41894e17d7ac \
+ 8fa6facea904eb4b4c8d2e4eded272fe \
+ b92fa50f56a1e06a7f1bf665442d4a73 \
+ 3081de27c16d004a798de20d4bb6d314 \
+ 5f3fd38b7aefc1ca48efe279994953f8 \
+ 0bc840b564ce2b698189d5b204538624 \
+ eb44c81f81e4aecdbdbafeac9c0fdcab \
+ 1fb91af1c97373201990f1baedc58c35 \
+ 8390247ae7126c00e162732b249be9d7 \
+ 9d6c117b30034665155c9e6852b86e88 \
+ fe316e1d51e3dff1e0455d0142dd37e4 \
+ 8dcc72ff75b917257f9e9bb29de4b9e1 \
+ b9d053b396a8cc2c6632e05985ba2ae1 \
+ 11d049cc954c7a9744b9fa85d9596b0c \
+ 5be59fce5e8c3c36abf98595ba16e1ed \
+ a9a6a8eb929c86a45615784380070f5a \
+ f955aa331b1daa8265dd13a976048d1c \
+ 32ae58173ef8d72fbd8a5964c28c01bd \
+ f092a97f5047a1cfb815f69916256e5d \
+ 7267e731f46f52edb7b5304b60982cf4 \
+ ea6dadf813d422419f900efa67ed9170 \
+ f1358be8c98b98837cbd2cf51e75f8b3 \
+ 289b776935f2184c6ba2974877285013 \
+ 50d5a501f911bb592f0dce2d052c2aa8 \
+ 24e0b498b23c398c49e3af66373c91cc \
+ 5f38b77f4cd61a26d90079aaf5ad2257 \
+ 1f3035abdc5ab99eeb519a06568d9b01 \
+ 6ebb8deee5a5a0d1c26b20eeee1926b3 \
+ ca65153603a1a7240bbd9d2ce19f2d67 \
+ 812b2b925f9734bbc39717f284bc712b \
+ d18d362345c4fe512ef67b738b239fb8 \
+ e972ea58ec203bfa6c79c1207852298b \
+ 940f8708332e8e3720266a7bce4d761d \
+ 967cf93762a3bc25e18d0b8b7e811b84 \
+ 0bc2062598ed9d8ed536e27fddd81ce7 \
+ a35e6187f2f41e601cf885c279ebb43e \
+ 183b6a856fadbc8f21a6c53ca81155c9 \
+ cc1f120172ea435e8ac1e813435bc630 \
+ 1dbfec917710e57b574e92effa934924 \
+ 3817cf594b24311c4ea944398a58a48d \
+ 7cc8e977768423992930663aadcc43dd \
+ 4ca31ec33e1508b14d3445f19a16ba55"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="python3-setuptools-rust-opt rust16"
MAINTAINER="Yth - Arnaud"
EMAIL="yth@ythogtha.org"