automate/python_deb2dsp/broken/020_ruff_deb2dsp.sh

80 lines
1.8 KiB
Bash

#!/bin/bash
DEST=${1:-/etc/skel}
USER=astral-sh
PROJECT=ruff
git_url="https://github.com/${USER}/${PROJECT}"
VERSION=$(curl "https://api.github.com/repos/${USER}/${PROJECT}/tags?per_page=5" | jq -r '.[0] | .name')
RSS_FEED="https://github.com/${USER}/${PROJECT}/releases.atom"
# xdg-open ${RSS_FEED}
echo ${RSS_FEED}
# the dependencies for the python package
# sudo apt-get install python3-tifffile python3-sklearn
# sudo apt-get -f install
# the dependencies for py2dsp
sudo apt install -y pristine-tar pypi2deb python3-maturin
# if the build fails with 'unrecognized build system: pybuild' add
# export PYBUILD_SYSTEM=distutils
# to the debian/rules file.
#
mkdir -p ${DEST}/.cargo
cat <<-EOF | tee -a ${DEST}/.cargo/config.toml
[env]
RUSTC_BOOTSTRAP = "1"
[unstable]
sparse-registry = true
[registries.crates-io]
protocol = "sparse"
# protocol = "git"
[net]
git-fetch-with-cli = true
EOF
BUILD_HOME="/var/tmp/build_${PROJECT}-${VERSION#v}"
mkdir -p "${BUILD_HOME}"
pushd "${BUILD_HOME}" || exit
sudo -H py2dsp --profile dpt --distribution unstable --revision 1 --github "${git_url}"
# strace -o /tmp/strace_output.txt py2dsp --profile dpt --distribution unstable --revision 1 --github "${git_url}"
#
# Add rust to the venv
conda install conda-forge::rust
pushd "${BUILD_HOME}/result/${PROJECT}-${VERSION#v}"
cat <<EOF | sudo tee "debian/rules" || exit
#!/usr/bin/make -f
#export DH_VERBOSE=1
export PYBUILD_NAME=${PROJECT}
export PIPX_BIN_DIR=/usr/bin
export PIPX_HOME=/usr/share/pipx
%:
dh \$@ --with python3 --buildsystem=pybuild
EOF
# dpkg-buildpackage -rfakeroot -uc -b
# DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -rfakeroot -Tclean
DEB_BUILD_OPTIONS=nocheck sudo -H dpkg-buildpackage -rfakeroot -us -uc -b
popd || return
# dpkg -i result/*.deb
sudo dpkg -i "${BUILD_HOME}/result/python3-${PROJECT}_${VERSION#v}-1_all.deb"
sudo apt-get -f install