summaryrefslogtreecommitdiffstats
path: root/development/lean-elan
diff options
context:
space:
mode:
Diffstat (limited to 'development/lean-elan')
-rw-r--r--development/lean-elan/README19
-rw-r--r--development/lean-elan/lean-elan.SlackBuild202
-rw-r--r--development/lean-elan/lean-elan.info470
-rw-r--r--development/lean-elan/slack-desc19
4 files changed, 710 insertions, 0 deletions
diff --git a/development/lean-elan/README b/development/lean-elan/README
new file mode 100644
index 0000000000..ac103f4061
--- /dev/null
+++ b/development/lean-elan/README
@@ -0,0 +1,19 @@
+elan is a small tool for managing your installations of the Lean
+theorem prover. It places lean and lake binaries in your PATH that
+automatically select and, if necessary, download the Lean version
+described in your project's lean-toolchain file. You can also install,
+select, run, and uninstall Lean versions manually using the commands
+of the elan executable.
+
+elan is basically a fork of rustup. Apart from new features and
+adaptions to the Lean infrastructure, these are the basic changes to
+the original code:
+
+Replaced every mention of rustup with elan, cargo with lake, and
+rust(c) with lean Merged CARGO_HOME and RUSTUP_HOME Removed options to
+configure host triple
+
+Note: elan is one of the ways to manage Lean toolchains. The SB author
+cannot guarantee that it is the best one. Learning on the experience
+of other GNU/Linux distributions, it might be reasonable to have other
+packages from the lean-* package family in the future.
diff --git a/development/lean-elan/lean-elan.SlackBuild b/development/lean-elan/lean-elan.SlackBuild
new file mode 100644
index 0000000000..124b0c88f6
--- /dev/null
+++ b/development/lean-elan/lean-elan.SlackBuild
@@ -0,0 +1,202 @@
+#!/bin/bash
+
+# Slackware build script for lean-elan
+
+# Copyright 2023 Lockywolf
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=lean-elan
+TARNAM=elan
+CMDNAM=elan-init
+VERSION=${VERSION:-3.0.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ 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
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ CARGOTARGET="--target $ARCH-unknown-linux-gnu"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ CARGOTARGET="--target $ARCH-unknown-linux-gnu"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ CARGOTARGET="--target $ARCH-unknown-linux-gnu"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "aarch64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ CARGOTARGET="--target $ARCH-unknown-linux-gnu"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ CARGOTARGET=""
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $TARNAM-$VERSION
+tar xvf $CWD/$TARNAM-$VERSION.tar.gz
+cd $TARNAM-$VERSION/
+
+# build offline
+# configuration tells cargo to use the configured directory
+# for dependencies instead of downloading from crates.io
+rm -rf $TMP/$TARNAM-$VERSION/.cargo
+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)/vendor'
+EOF
+
+# 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 \
+ -o -perm 511 \) -exec chmod 755 {} + -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} +
+
+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
+
+CARGO_HOME=.cargo \
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+cargo --verbose build --offline --release --features no-self-update --bin elan-init $CARGOTARGET
+
+mkdir -p $PKG/usr/bin/
+find target -name $CMDNAM -exec install -m 755 {} $PKG/usr/bin/$CMDNAM \;
+
+# mkdir -p $PKG/usr/share/applications
+# install -m 644 misc/$PRGNAM.desktop $PKG/usr/share/applications/
+
+# mkdir -p $PKG/usr/share/icons/hicolor/scalable/apps
+# install -m 644 images/logo.svg $PKG/usr/share/icons/hicolor/scalable/apps/$PRGNAM.svg
+
+# mkdir -p $PKG/usr/man/man1
+# install -m 644 misc/ncspot.1 $PKG/usr/man/man1/
+# gzip -9 $PKG/usr/man/man1/*
+
+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 LICENSE LICENSE-APACHE LICENSE-MIT CHANGELOG.md README.md $PKG/usr/doc/$PRGNAM-$VERSION/
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+# # Completions
+# mkdir -p $PKG/usr/share/bash-completion/completions
+# install -m 644 misc/$PRGNAM.bash $PKG/usr/share/bash-completion/completions
+# mkdir -p $PKG/usr/share/zsh/site-functions
+# install -m 644 misc/_$PRGNAM $PKG/usr/share/zsh/site-functions
+# # Only install the fish completions if fish is installed.
+# if [ -x /usr/bin/fish ]; then
+# mkdir -p $PKG/usr/share/fish/vendor_completions.d
+# install -m 644 misc/$PRGNAM.fish $PKG/usr/share/fish/vendor_completions.d
+# fi
+# # Keep files for fish, PowerShell and Elvish completions in the doc directory.
+# install -m 644 misc/$PRGNAM.fish $PKG/usr/doc/$PRGNAM-$VERSION
+# install -m 644 misc/_$PRGNAM.ps1 $PKG/usr/doc/$PRGNAM-$VERSION
+# install -m 644 misc/$PRGNAM.elv $PKG/usr/doc/$PRGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+#cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/development/lean-elan/lean-elan.info b/development/lean-elan/lean-elan.info
new file mode 100644
index 0000000000..54dc71acd2
--- /dev/null
+++ b/development/lean-elan/lean-elan.info
@@ -0,0 +1,470 @@
+PRGNAM="lean-elan"
+VERSION="3.0.0"
+HOMEPAGE="https://github.com/leanprover/elan"
+DOWNLOAD="UNSUPPORTED"
+MD5SUM=""
+DOWNLOAD_x86_64="https://github.com/leanprover/elan/archive/v3.0.0/elan-3.0.0.tar.gz \
+https://static.crates.io/crates/addr2line/addr2line-0.19.0.crate \
+https://static.crates.io/crates/adler/adler-1.0.2.crate \
+https://static.crates.io/crates/aes/aes-0.7.5.crate \
+https://static.crates.io/crates/aho-corasick/aho-corasick-1.0.1.crate \
+https://static.crates.io/crates/aligned/aligned-0.4.1.crate \
+https://static.crates.io/crates/ansi_term/ansi_term-0.12.1.crate \
+https://static.crates.io/crates/as-slice/as-slice-0.2.1.crate \
+https://static.crates.io/crates/atty/atty-0.2.14.crate \
+https://static.crates.io/crates/autocfg/autocfg-1.1.0.crate \
+https://static.crates.io/crates/backtrace/backtrace-0.3.67.crate \
+https://static.crates.io/crates/base64/base64-0.21.0.crate \
+https://static.crates.io/crates/base64ct/base64ct-1.0.1.crate \
+https://static.crates.io/crates/bitflags/bitflags-1.3.2.crate \
+https://static.crates.io/crates/block-buffer/block-buffer-0.10.4.crate \
+https://static.crates.io/crates/block-buffer/block-buffer-0.9.0.crate \
+https://static.crates.io/crates/bumpalo/bumpalo-3.12.1.crate \
+https://static.crates.io/crates/byteorder/byteorder-1.4.3.crate \
+https://static.crates.io/crates/bytes/bytes-1.4.0.crate \
+https://static.crates.io/crates/bzip2-sys/bzip2-sys-0.1.11+1.0.8.crate \
+https://static.crates.io/crates/bzip2/bzip2-0.4.4.crate \
+https://static.crates.io/crates/cc/cc-1.0.79.crate \
+https://static.crates.io/crates/cfg-if/cfg-if-1.0.0.crate \
+https://static.crates.io/crates/cipher/cipher-0.3.0.crate \
+https://static.crates.io/crates/clap/clap-2.34.0.crate \
+https://static.crates.io/crates/constant_time_eq/constant_time_eq-0.1.5.crate \
+https://static.crates.io/crates/core-foundation-sys/core-foundation-sys-0.8.4.crate \
+https://static.crates.io/crates/core-foundation/core-foundation-0.9.3.crate \
+https://static.crates.io/crates/cpufeatures/cpufeatures-0.2.7.crate \
+https://static.crates.io/crates/crc32fast/crc32fast-1.3.2.crate \
+https://static.crates.io/crates/crossbeam-utils/crossbeam-utils-0.8.15.crate \
+https://static.crates.io/crates/crypto-common/crypto-common-0.1.6.crate \
+https://static.crates.io/crates/curl-sys/curl-sys-0.4.61+curl-8.0.1.crate \
+https://static.crates.io/crates/curl/curl-0.4.44.crate \
+https://static.crates.io/crates/cvt/cvt-0.1.2.crate \
+https://static.crates.io/crates/digest/digest-0.10.6.crate \
+https://static.crates.io/crates/digest/digest-0.9.0.crate \
+https://static.crates.io/crates/dirs-next/dirs-next-2.0.0.crate \
+https://static.crates.io/crates/dirs-sys-next/dirs-sys-next-0.1.2.crate \
+https://static.crates.io/crates/dirs-sys/dirs-sys-0.3.7.crate \
+https://static.crates.io/crates/dirs/dirs-3.0.2.crate \
+https://static.crates.io/crates/either/either-1.8.1.crate \
+https://static.crates.io/crates/encoding_rs/encoding_rs-0.8.32.crate \
+https://static.crates.io/crates/env_proxy/env_proxy-0.4.1.crate \
+https://static.crates.io/crates/errno-dragonfly/errno-dragonfly-0.1.2.crate \
+https://static.crates.io/crates/errno/errno-0.3.1.crate \
+https://static.crates.io/crates/error-chain/error-chain-0.12.4.crate \
+https://static.crates.io/crates/fastrand/fastrand-1.9.0.crate \
+https://static.crates.io/crates/filetime/filetime-0.2.21.crate \
+https://static.crates.io/crates/flate2/flate2-1.0.25.crate \
+https://static.crates.io/crates/fnv/fnv-1.0.7.crate \
+https://static.crates.io/crates/foreign-types-shared/foreign-types-shared-0.1.1.crate \
+https://static.crates.io/crates/foreign-types/foreign-types-0.3.2.crate \
+https://static.crates.io/crates/form_urlencoded/form_urlencoded-1.1.0.crate \
+https://static.crates.io/crates/fs_at/fs_at-0.1.5.crate \
+https://static.crates.io/crates/futures-channel/futures-channel-0.3.28.crate \
+https://static.crates.io/crates/futures-core/futures-core-0.3.28.crate \
+https://static.crates.io/crates/futures-executor/futures-executor-0.3.28.crate \
+https://static.crates.io/crates/futures-io/futures-io-0.3.28.crate \
+https://static.crates.io/crates/futures-macro/futures-macro-0.3.28.crate \
+https://static.crates.io/crates/futures-sink/futures-sink-0.3.28.crate \
+https://static.crates.io/crates/futures-task/futures-task-0.3.28.crate \
+https://static.crates.io/crates/futures-util/futures-util-0.3.28.crate \
+https://static.crates.io/crates/futures/futures-0.3.28.crate \
+https://static.crates.io/crates/gcc/gcc-0.3.55.crate \
+https://static.crates.io/crates/generic-array/generic-array-0.14.7.crate \
+https://static.crates.io/crates/getrandom/getrandom-0.2.9.crate \
+https://static.crates.io/crates/gimli/gimli-0.27.2.crate \
+https://static.crates.io/crates/h2/h2-0.3.18.crate \
+https://static.crates.io/crates/hashbrown/hashbrown-0.12.3.crate \
+https://static.crates.io/crates/hermit-abi/hermit-abi-0.1.19.crate \
+https://static.crates.io/crates/hermit-abi/hermit-abi-0.3.1.crate \
+https://static.crates.io/crates/hmac/hmac-0.12.1.crate \
+https://static.crates.io/crates/http-body/http-body-0.4.5.crate \
+https://static.crates.io/crates/http/http-0.2.9.crate \
+https://static.crates.io/crates/httparse/httparse-1.8.0.crate \
+https://static.crates.io/crates/httpdate/httpdate-1.0.2.crate \
+https://static.crates.io/crates/hyper-tls/hyper-tls-0.5.0.crate \
+https://static.crates.io/crates/hyper/hyper-0.14.26.crate \
+https://static.crates.io/crates/idna/idna-0.3.0.crate \
+https://static.crates.io/crates/indexmap/indexmap-1.9.3.crate \
+https://static.crates.io/crates/instant/instant-0.1.12.crate \
+https://static.crates.io/crates/io-lifetimes/io-lifetimes-1.0.10.crate \
+https://static.crates.io/crates/ipnet/ipnet-2.7.2.crate \
+https://static.crates.io/crates/itertools/itertools-0.10.5.crate \
+https://static.crates.io/crates/itoa/itoa-1.0.6.crate \
+https://static.crates.io/crates/jobserver/jobserver-0.1.26.crate \
+https://static.crates.io/crates/js-sys/js-sys-0.3.61.crate \
+https://static.crates.io/crates/json/json-0.12.4.crate \
+https://static.crates.io/crates/lazy_static/lazy_static-1.4.0.crate \
+https://static.crates.io/crates/libc/libc-0.2.142.crate \
+https://static.crates.io/crates/libz-sys/libz-sys-1.1.8.crate \
+https://static.crates.io/crates/linux-raw-sys/linux-raw-sys-0.3.4.crate \
+https://static.crates.io/crates/log/log-0.4.17.crate \
+https://static.crates.io/crates/markdown/markdown-0.3.0.crate \
+https://static.crates.io/crates/memchr/memchr-2.5.0.crate \
+https://static.crates.io/crates/mime/mime-0.3.17.crate \
+https://static.crates.io/crates/miniz_oxide/miniz_oxide-0.6.2.crate \
+https://static.crates.io/crates/mio/mio-0.8.6.crate \
+https://static.crates.io/crates/native-tls/native-tls-0.2.11.crate \
+https://static.crates.io/crates/nix/nix-0.26.2.crate \
+https://static.crates.io/crates/normpath/normpath-1.1.1.crate \
+https://static.crates.io/crates/object/object-0.30.3.crate \
+https://static.crates.io/crates/ole32-sys/ole32-sys-0.2.0.crate \
+https://static.crates.io/crates/once_cell/once_cell-1.17.1.crate \
+https://static.crates.io/crates/opaque-debug/opaque-debug-0.3.0.crate \
+https://static.crates.io/crates/openssl-macros/openssl-macros-0.1.1.crate \
+https://static.crates.io/crates/openssl-probe/openssl-probe-0.1.5.crate \
+https://static.crates.io/crates/openssl-src/openssl-src-111.25.3+1.1.1t.crate \
+https://static.crates.io/crates/openssl-sys/openssl-sys-0.9.86.crate \
+https://static.crates.io/crates/openssl/openssl-0.10.51.crate \
+https://static.crates.io/crates/password-hash/password-hash-0.3.2.crate \
+https://static.crates.io/crates/pbkdf2/pbkdf2-0.10.1.crate \
+https://static.crates.io/crates/percent-encoding/percent-encoding-2.2.0.crate \
+https://static.crates.io/crates/pest/pest-2.5.7.crate \
+https://static.crates.io/crates/pin-project-lite/pin-project-lite-0.2.9.crate \
+https://static.crates.io/crates/pin-utils/pin-utils-0.1.0.crate \
+https://static.crates.io/crates/pipeline/pipeline-0.5.0.crate \
+https://static.crates.io/crates/pkg-config/pkg-config-0.3.26.crate \
+https://static.crates.io/crates/ppv-lite86/ppv-lite86-0.2.17.crate \
+https://static.crates.io/crates/proc-macro2/proc-macro2-1.0.56.crate \
+https://static.crates.io/crates/quote/quote-1.0.26.crate \
+https://static.crates.io/crates/rand/rand-0.8.5.crate \
+https://static.crates.io/crates/rand_chacha/rand_chacha-0.3.1.crate \
+https://static.crates.io/crates/rand_core/rand_core-0.6.4.crate \
+https://static.crates.io/crates/redox_syscall/redox_syscall-0.2.16.crate \
+https://static.crates.io/crates/redox_syscall/redox_syscall-0.3.5.crate \
+https://static.crates.io/crates/redox_users/redox_users-0.4.3.crate \
+https://static.crates.io/crates/regex-syntax/regex-syntax-0.7.1.crate \
+https://static.crates.io/crates/regex/regex-1.8.1.crate \
+https://static.crates.io/crates/remove_dir_all/remove_dir_all-0.8.2.crate \
+https://static.crates.io/crates/reqwest/reqwest-0.11.16.crate \
+https://static.crates.io/crates/rustc-demangle/rustc-demangle-0.1.23.crate \
+https://static.crates.io/crates/rustix/rustix-0.37.14.crate \
+https://static.crates.io/crates/rustversion/rustversion-1.0.12.crate \
+https://static.crates.io/crates/ryu/ryu-1.0.13.crate \
+https://static.crates.io/crates/same-file/same-file-1.0.6.crate \
+https://static.crates.io/crates/schannel/schannel-0.1.21.crate \
+https://static.crates.io/crates/scopeguard/scopeguard-1.1.0.crate \
+https://static.crates.io/crates/security-framework-sys/security-framework-sys-2.8.0.crate \
+https://static.crates.io/crates/security-framework/security-framework-2.8.2.crate \
+https://static.crates.io/crates/semver-parser/semver-parser-0.10.2.crate \
+https://static.crates.io/crates/semver/semver-0.11.0.crate \
+https://static.crates.io/crates/serde/serde-1.0.160.crate \
+https://static.crates.io/crates/serde_derive/serde_derive-1.0.160.crate \
+https://static.crates.io/crates/serde_json/serde_json-1.0.96.crate \
+https://static.crates.io/crates/serde_urlencoded/serde_urlencoded-0.7.1.crate \
+https://static.crates.io/crates/sha1/sha1-0.10.5.crate \
+https://static.crates.io/crates/sha2/sha2-0.10.6.crate \
+https://static.crates.io/crates/sha2/sha2-0.9.9.crate \
+https://static.crates.io/crates/slab/slab-0.4.8.crate \
+https://static.crates.io/crates/smart-default/smart-default-0.6.0.crate \
+https://static.crates.io/crates/socket2/socket2-0.4.9.crate \
+https://static.crates.io/crates/stable_deref_trait/stable_deref_trait-1.2.0.crate \
+https://static.crates.io/crates/static_assertions/static_assertions-1.1.0.crate \
+https://static.crates.io/crates/strsim/strsim-0.8.0.crate \
+https://static.crates.io/crates/subtle/subtle-2.4.1.crate \
+https://static.crates.io/crates/syn/syn-1.0.109.crate \
+https://static.crates.io/crates/syn/syn-2.0.15.crate \
+https://static.crates.io/crates/tar/tar-0.4.38.crate \
+https://static.crates.io/crates/tempfile/tempfile-3.5.0.crate \
+https://static.crates.io/crates/term/term-0.7.0.crate \
+https://static.crates.io/crates/textwrap/textwrap-0.11.0.crate \
+https://static.crates.io/crates/thiserror-impl/thiserror-impl-1.0.40.crate \
+https://static.crates.io/crates/thiserror/thiserror-1.0.40.crate \
+https://static.crates.io/crates/time-core/time-core-0.1.0.crate \
+https://static.crates.io/crates/time-macros/time-macros-0.2.8.crate \
+https://static.crates.io/crates/time/time-0.3.20.crate \
+https://static.crates.io/crates/tinyvec/tinyvec-1.6.0.crate \
+https://static.crates.io/crates/tinyvec_macros/tinyvec_macros-0.1.1.crate \
+https://static.crates.io/crates/tokio-native-tls/tokio-native-tls-0.3.1.crate \
+https://static.crates.io/crates/tokio-util/tokio-util-0.7.7.crate \
+https://static.crates.io/crates/tokio/tokio-1.27.0.crate \
+https://static.crates.io/crates/toml/toml-0.5.11.crate \
+https://static.crates.io/crates/tower-service/tower-service-0.3.2.crate \
+https://static.crates.io/crates/tracing-core/tracing-core-0.1.30.crate \
+https://static.crates.io/crates/tracing/tracing-0.1.37.crate \
+https://static.crates.io/crates/try-lock/try-lock-0.2.4.crate \
+https://static.crates.io/crates/typenum/typenum-1.16.0.crate \
+https://static.crates.io/crates/ucd-trie/ucd-trie-0.1.5.crate \
+https://static.crates.io/crates/unicode-bidi/unicode-bidi-0.3.13.crate \
+https://static.crates.io/crates/unicode-ident/unicode-ident-1.0.8.crate \
+https://static.crates.io/crates/unicode-normalization/unicode-normalization-0.1.22.crate \
+https://static.crates.io/crates/unicode-width/unicode-width-0.1.10.crate \
+https://static.crates.io/crates/url/url-2.3.1.crate \
+https://static.crates.io/crates/vcpkg/vcpkg-0.2.15.crate \
+https://static.crates.io/crates/vec_map/vec_map-0.8.2.crate \
+https://static.crates.io/crates/version_check/version_check-0.9.4.crate \
+https://static.crates.io/crates/wait-timeout/wait-timeout-0.2.0.crate \
+https://static.crates.io/crates/walkdir/walkdir-2.3.3.crate \
+https://static.crates.io/crates/want/want-0.3.0.crate \
+https://static.crates.io/crates/wasi/wasi-0.11.0+wasi-snapshot-preview1.crate \
+https://static.crates.io/crates/wasm-bindgen-backend/wasm-bindgen-backend-0.2.84.crate \
+https://static.crates.io/crates/wasm-bindgen-futures/wasm-bindgen-futures-0.4.34.crate \
+https://static.crates.io/crates/wasm-bindgen-macro-support/wasm-bindgen-macro-support-0.2.84.crate \
+https://static.crates.io/crates/wasm-bindgen-macro/wasm-bindgen-macro-0.2.84.crate \
+https://static.crates.io/crates/wasm-bindgen-shared/wasm-bindgen-shared-0.2.84.crate \
+https://static.crates.io/crates/wasm-bindgen/wasm-bindgen-0.2.84.crate \
+https://static.crates.io/crates/web-sys/web-sys-0.3.61.crate \
+https://static.crates.io/crates/winapi-build/winapi-build-0.1.1.crate \
+https://static.crates.io/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
+https://static.crates.io/crates/winapi-util/winapi-util-0.1.5.crate \
+https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate \
+https://static.crates.io/crates/winapi/winapi-0.2.8.crate \
+https://static.crates.io/crates/winapi/winapi-0.3.9.crate \
+https://static.crates.io/crates/windows-sys/windows-sys-0.42.0.crate \
+https://static.crates.io/crates/windows-sys/windows-sys-0.45.0.crate \
+https://static.crates.io/crates/windows-sys/windows-sys-0.48.0.crate \
+https://static.crates.io/crates/windows-targets/windows-targets-0.42.2.crate \
+https://static.crates.io/crates/windows-targets/windows-targets-0.48.0.crate \
+https://static.crates.io/crates/windows_aarch64_gnullvm/windows_aarch64_gnullvm-0.42.2.crate \
+https://static.crates.io/crates/windows_aarch64_gnullvm/windows_aarch64_gnullvm-0.48.0.crate \
+https://static.crates.io/crates/windows_aarch64_msvc/windows_aarch64_msvc-0.42.2.crate \
+https://static.crates.io/crates/windows_aarch64_msvc/windows_aarch64_msvc-0.48.0.crate \
+https://static.crates.io/crates/windows_i686_gnu/windows_i686_gnu-0.42.2.crate \
+https://static.crates.io/crates/windows_i686_gnu/windows_i686_gnu-0.48.0.crate \
+https://static.crates.io/crates/windows_i686_msvc/windows_i686_msvc-0.42.2.crate \
+https://static.crates.io/crates/windows_i686_msvc/windows_i686_msvc-0.48.0.crate \
+https://static.crates.io/crates/windows_x86_64_gnu/windows_x86_64_gnu-0.42.2.crate \
+https://static.crates.io/crates/windows_x86_64_gnu/windows_x86_64_gnu-0.48.0.crate \
+https://static.crates.io/crates/windows_x86_64_gnullvm/windows_x86_64_gnullvm-0.42.2.crate \
+https://static.crates.io/crates/windows_x86_64_gnullvm/windows_x86_64_gnullvm-0.48.0.crate \
+https://static.crates.io/crates/windows_x86_64_msvc/windows_x86_64_msvc-0.42.2.crate \
+https://static.crates.io/crates/windows_x86_64_msvc/windows_x86_64_msvc-0.48.0.crate \
+https://static.crates.io/crates/winreg/winreg-0.10.1.crate \
+https://static.crates.io/crates/winreg/winreg-0.8.0.crate \
+https://static.crates.io/crates/xattr/xattr-0.2.3.crate \
+https://static.crates.io/crates/zip/zip-0.6.2.crate \
+https://static.crates.io/crates/zstd-safe/zstd-safe-4.1.6+zstd.1.5.2.crate \
+https://static.crates.io/crates/zstd-sys/zstd-sys-1.6.3+zstd.1.5.2.crate \
+https://static.crates.io/crates/zstd/zstd-0.10.2+zstd.1.5.2.crate"
+MD5SUM_x86_64="e1febb2f00281127804a0a528daf0d8c \
+b8e7ee27350aad1efd1cbe7a6a32c551 \
+669215548c64019c08c92b2c1afd3deb \
+815dfe34d3e7a3ab4fdd827fde9e3d04 \
+8ad2bf7329daec74312f767d402aac50 \
+d82a09f1c1a60aa9f46c0f76e4ea1265 \
+f44e8d1d2e61974b268852797530ea41 \
+fdd18ab1fcd6905d1abb3dce8a86ea68 \
+142cb4b9a653e56e56311f0c883b8582 \
+05d77ef52e90ad161fdd41b252420467 \
+58637599fb4e68ecbca68939709aca1a \
+cf0f1cbb3733e7153959edffc25adac4 \
+69b33d6c893f518954721f7769fea248 \
+a295edb6953237ebbdfa8e731229f9a3 \
+023b03cf9968b29253a5dfe62051008d \
+c7fbaf61245dc847237ab7c72b3ee9ea \
+41000ac8c8baa61b8021a258d60a7839 \
+1e704be5ddde9d6b5383ef1035309f91 \
+596cab766930d487256260ab9ca55b71 \
+455a318aaa74bb2d7c39cfda2e8f818d \
+b80c91663e5990a3770774abdce0f257 \
+7d83f411bb22318c65fec8bbee937ece \
+74634128440dbc3766bda76fdf0aaa05 \
+5f2578209a4d7964623462e402375ac0 \
+59ae9122b2946d4d52bc48a1da5c5e06 \
+ec9751a4c0d35e7313e52ddb7147376b \
+b477cc1c7b45e2187b3cad0377b504d8 \
+ae6dd0cd5319220586d8ace4c4be87ce \
+5960ae429b2ba6544a3e3a755aef1bbb \
+a9d6492a1bd21d93dbc27c32eabd0c70 \
+375958fb68bc683f8366d2f3ec1f33ba \
+89e88633cab0e4b6f3d3878b84dffe8b \
+192a849c6c392476fad9b205a894f0e4 \
+2055aa2a8c9da89dadfd1e9012a26a20 \
+30ec1b3363b03c11d30f45a0c7005411 \
+732c54e5b65b869d7301eec81c97f6a1 \
+493a2f042d86baa5c6bac75202c64554 \
+3681f813c502d911e9eea940dddd26a5 \
+056c8d712ee146347c412b72f4077b2f \
+4c21da37e71a52f26c8c5490f3ec4837 \
+92499f5db37eadb0efa33bcc91248577 \
+ba94e4b62665e48cc27ca8b14c5f5ff7 \
+28925d0d3649d0577f07bc9ab288999c \
+249636a8c8e57527d0e72ae772df5acd \
+fc65414dcac661c46f2cfad7722304f9 \
+b21aa70c76c22f8936338797372236bf \
+da699c4c8e4c153cbdb9fb0ef3fb3056 \
+06e723078de46119c270eea21ec4344e \
+3091bf9ce6381222c8dbf65a439ab524 \
+40290701abf90017215441da33b0dc15 \
+8dab3b3ec00dc56cffde0b0c410d47b5 \
+667e86b8b8d96ab4e9605627ce7dcc9a \
+78c898fdaa3968e23904bf8538c4a271 \
+357f2bcdc622476ad883fe9d07f874c3 \
+033882a55750c5f139f14711a5eb9131 \
+378bd2c8eb6adcc1a837558e1927e1eb \
+b2458958308a0923a65777b9297bf11a \
+2399b8b3b39b993d8e44d2fc1628663c \
+6052db16e7627061500931e7f53b0128 \
+3f798ffba5e1f1ec5ad2df0afd1f76f8 \
+3e2c0b885f7430e02dd6df1f8c626bc7 \
+83e4c4337a8dac395b19ebcb8e3136a7 \
+7ee7fac47a513e4f7e44c66195ad8051 \
+10764f40bd10141d9f12920d7cfa123c \
+d024d23a2c7e5dae75422a514daa686f \
+64a6d8fe0c9a450bcefa41894e17d7ac \
+9a1e26d4bea50aebcd8ce9f2f992c756 \
+9b80c255701a8957ff28e86e6a1d2719 \
+da8d709e9f342d4e917d22d5444a1076 \
+1b41b97d982520b7364a87a39e2a1ed8 \
+0b7994d1256215201bdfb810a357ffa2 \
+c9fa9187985880eb320b350bd9024510 \
+4e0c068ba38fa8e0aa6c46bce5e9d2ab \
+c21c16e3bdc619cf65a31b23136d62ce \
+c6a140bb2c9817edf8792e3c754c6e12 \
+92968aee56cb2f162a55008fedddbb78 \
+4918da28fbc2f6888ad71c159996a9b5 \
+6540f0c2d7dce570f06661292fc68cab \
+2f559daf118046b6788718794ec3ab70 \
+c3425a02781d0bb3c4f8d5d025d12266 \
+11ce8b5f52cd315e8f52985b834b87eb \
+5f153f7135dceb02f88266121c836b4e \
+f2014011b58783d34882b84571965cf6 \
+3ecd97b1dc15c9b2229192a0c609249f \
+20b9f5d97aaf06b0f580f12860b67ba8 \
+ffbab2186e43af074b619d6d8bfe3566 \
+eacabd60e755d2a003031643241781dc \
+0779350c00b03603f72eef7f737686ad \
+b1c4a08cc8222b3fff6d2d6dcf821689 \
+fba3b040a55c01be7376d3dd5c4d4920 \
+1f4aa5455ed7c45d2fe4171ef3040ff9 \
+591b0243c421bf8e6df09e3209fce861 \
+850ea71a54d22e85d50296abc1eb2c84 \
+b31bf94ffe7e0f2ada93afae1076eaeb \
+b5944eba016f7b965f3e2db3fcf3e3e4 \
+94b8bf179385ff071bdc33b58bf047c0 \
+dfdf2484a5545f51cf6b1f5f23b9f92e \
+bb21a8ff26ec16bc15758b1625bc0f46 \
+7d439888f1d12b29249e4f12e0e420fa \
+790ae5bbcccc91d97517bb1bde7ecd8e \
+580f8f88379ff0678e8336a781dda55d \
+8d526535233ee01e0f1402b5e8f4e8e9 \
+e1a629a86bfa03f5c17180a8b213c74c \
+e1c08dd529c5e71ff0f06c4fe4dcff7e \
+ec9e9fe40bacdde764862148c53386de \
+653e04baa68a4484b3b839c19221e474 \
+28d34115cfbbe0e8f80333591f2cdd84 \
+907244c0d3791f3f981c7cc8e4cad0a3 \
+5919927ef79b56c530e305f690ef2850 \
+2a214c072a003c02718590da3cdad632 \
+8fdb98f1648696852edd8dbd42aef7aa \
+bd37a742884c141bd2ede0ae2902d937 \
+f6984103b5729fd3ee8a7d718639c71b \
+c7ce684666ac9c76223b1a0a5034ce99 \
+42eec6b52b5a84621c18973fca40c043 \
+ce6dde2ea2691fdd97632fb8c9b3e042 \
+07c75fec267864bcbb800ca7709ceae2 \
+6ee5c12c25f9ef371ac4f3fa8546b9af \
+57a5575d623bcbc7ba5c033c9f87744f \
+5c69337d37e58a380e00eac9ce0373bb \
+4ed863e96f34f750bebed5d8bf9a7f89 \
+323153a8ec1da78a73131fec9d900c2e \
+ee7a5f842c39bc47c474196e83b0df5f \
+e30085994bbeb4b7f4895d48216d5476 \
+a1626b8f4d165b1b60d960862eba4cf0 \
+16111f31a29feae4ce4a324b83dc0189 \
+782ea88d8e5b517b1c9e7d870e20e9e3 \
+2793ed3e6807d79ff72271baec586531 \
+33d7c3ed27fd9033f0a61150a7516139 \
+62618c0255e3bd569371cf4ce4c424f2 \
+8f5ff45e31f879a4bb4f8815fb25acc1 \
+1986ea08bedd21c84bca46ff190b78a1 \
+24fcbc2986fad09b25c9a4f9aef0a9e4 \
+0680bc5a4f39b4a060281119f75bf962 \
+d9a04f4fbf3a21f7ef6be47a007cb611 \
+853888e375addadf7e85c8499e0745d3 \
+2d8d8b377d144f5e32b4f65a69eb0b24 \
+0bf4ac47fef874d61250f4d4afe4866b \
+b4a0a98a54439a5a37952c8879187ee3 \
+020e58f9782f7cec01a5a585a103432c \
+0ee7a1ea2700dab59dd62c27e5843f8c \
+42408be0352a76b14f1e77a6b8858a77 \
+d2cc4e584ed64165fc56d2c9081eb3ee \
+80dacf2cdea8879fbe9b508bb9a4972a \
+de0c5121b2b2518027169cc63d373ce3 \
+f4e16ed6fedc75de9647dee3ff4d3967 \
+47151b766b6b73e638fabe6fae7b723d \
+602d4f1e2fe53f870b70e83c8cee49db \
+e3e93a5606f450c13fcad764fa1c4bed \
+9420cc533b8572ae0d04750421127f80 \
+cf636206d0c3287ce209551fc5b02d88 \
+26b4ac1432c227434bc943817f42872e \
+4acc1eadff484a737c93592e15b31f8a \
+5988bad1543264a9f48b542192e7de9a \
+c9defe80406280bcfce4ecf31c0200b3 \
+781d4ccf5d04c98fa02af207a9639249 \
+8e053c23f1d36fbf3f276fbf501e3e35 \
+64d9f46e9ba78f68c30c486be3d8b7df \
+ccc93b4c981265eaa8908edd6a9459b3 \
+7645c62a572f12b67d1b582d7257776e \
+af8a44faf77b1d50155a07041284ca65 \
+53928078ab8d120d5459d86d64bbc1ef \
+a8de006fe0c7e373c560dd51599287a8 \
+dd290e713c28d2e565d78eedd471ed78 \
+ab44b0c93adeb9ee88e1c66555b8e6a7 \
+e8e543c3dd8daff1ef7afe657a1dcb62 \
+03c2a5849e585e44ddbbe0b991d7229c \
+f2dd02db1d2830d70da1a7614eb1896a \
+5f0470696baaa4e5953bddbf196998f9 \
+c678a7da0ee4b850ebde0474144a0415 \
+9e2f7831d5c7d8bd2f430984e47c3065 \
+b5670d9b6d6560440845d23ca563d44d \
+7eb63c76c58f57c48527d6bb37f86fcd \
+b21820f2664242498beba7783b32bef4 \
+60d7c3a9f75ac64cffbb9ccda7c1c8e5 \
+e3189db1511d7f2fe59fd1b15ebac8ff \
+97e8197912c3d06f0b7486d07c31e182 \
+a25ff12cdf468d4a5b4bf75b7fc6d743 \
+63ce54e1fcbbdb45c15146fd082528bb \
+11ad59bd731103e90d688afc5f35271b \
+04c5de5f2fcb441ced909a45cff020bd \
+7544c989c31232ae0d941e321dfe9bb2 \
+c12d182417999fc365f952e701f6071f \
+7d6d4fc9fad200d6e295f6930e97e022 \
+41a9cb1cc86d75f991241c9c3f725556 \
+e900a384ac7dbb320fe6a7279fbfef89 \
+333b4ba3f64c35b6f89b521e8d64548b \
+d18d362345c4fe512ef67b738b239fb8 \
+6708629acf3d2ecb7404e43255d2df85 \
+250acb3063bbdc870cbb54edcd6fff8f \
+e334c03160b1e0989c2a71ca55f631fc \
+e972ea58ec203bfa6c79c1207852298b \
+a277676f11a4b8df65f0bd10cf91c34d \
+6dedf2077979fbca816469b7685d9e28 \
+edd96c9a12dc3e04aa4d9a345ee6dd0f \
+8c58a7b08dcaaf1e6bc55616ce88582e \
+eff90729cd4a439c36ff89f3ee0904d0 \
+5ad255225437a92850eaea3cd7aa0051 \
+d04b3c91526662b97397fc1e04e007b1 \
+c900e7dbce808ff8ced375077b17a163 \
+db96b50050277bf05a3c68534bbb9586 \
+b9e37d5fc4ad28b612b78ad37816684d \
+09de9d01e7331ff3da11f58be8bef0df \
+b44489eb4799c4fabac3fceb48de54f7 \
+0498c4a11448bfc35dc7bb2caa64c753 \
+110789f2dd21a2ea820ebed976b4b1c2 \
+b58284cb8ce52b8de07e09f4f8fb9653 \
+f2797ade0e36f1e5d6be9d11b5076582 \
+a369d510325342310c7ab159bd181dae \
+7244738a73643f06df82069d00393ad7 \
+7968284877e481b58df1569b68b5dc26 \
+e8732bb9eec91463ea10020fc16991c1 \
+34d06a94727c506c11e4710160e90f32 \
+3d2bf2e578fe93c538d4f8c5cfddbe9b \
+017691b927b405669e1139b054a35f4a \
+631f9e1bcfe18e3976ef4c893ee13531 \
+f56c70fbae23f08fb0912284333f7851 \
+f3dad0f67aa70c6618c1593bd2086c36 \
+d20c2b0f45a62cc15c503ea610706a8f \
+085ec81e4ced998bb7f1aea30b7a630e \
+ec7e437088dc741e6a0653e553abca4e \
+e24dfcf625e130a1e6db0ae375a17dd7 \
+8cec8a187df7a7b971009a7693f60140 \
+2fa0c13b386de68baa17168774b1c5fa \
+8aa3cbf525ad9e68c3619664a3401dbe \
+ab839ba7cdb06278c67f0ff9ad05ab61 \
+8479d907dcb0e97f59f2d01336bbd1ae \
+019d75d45065f42f1e17df5d4a021b75 \
+cd575847adb9f45de20ff0d457327702 \
+b09cf677221739808e8a5424e1510985 \
+2841796570646c31589d2c54e14f53e9"
+REQUIRES="rust16"
+MAINTAINER="Lockywolf"
+EMAIL="for_sbo.lean-elan_2023-09-21@lockywolf.net"
diff --git a/development/lean-elan/slack-desc b/development/lean-elan/slack-desc
new file mode 100644
index 0000000000..4eced7e8c7
--- /dev/null
+++ b/development/lean-elan/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+lean-elan: lean-elan (toolchain manager for the lean prover)
+lean-elan:
+lean-elan: elan is a small tool for managing your installations of the Lean
+lean-elan: theorem prover. It places lean and lake binaries in your PATH that
+lean-elan: automatically select and, if necessary, download the Lean version
+lean-elan: described in your project's lean-toolchain file. You can also
+lean-elan: install, select, run, and uninstall Lean versions manually using the
+lean-elan: commands of the elan executable.
+lean-elan:
+lean-elan:
+lean-elan: