forked from M-Labs/artiq-extrapkg
66 lines
2.5 KiB
Bash
Executable File
66 lines
2.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
cd $(dirname $0)
|
|
MSYS2DIR=`pwd`/msys2
|
|
rm -rf $MSYS2DIR
|
|
mkdir -p $MSYS2DIR/var/lib/pacman $MSYS2DIR/msys/etc
|
|
|
|
curl -L https://repo.msys2.org/msys/x86_64/pacman-mirrors-20240210-1-any.pkg.tar.zst | tar xvf - -C $MSYS2DIR --zstd
|
|
curl -L https://raw.githubusercontent.com/msys2/MSYS2-packages/master/pacman/pacman.conf | \
|
|
sed -e "s|/etc/pacman.d|$MSYS2DIR/etc/pacman.d|g" -e "s|SigLevel = Required|SigLevel = Never|g" > $MSYS2DIR/etc/pacman.conf
|
|
|
|
fakeroot pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf -Syy
|
|
pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf \
|
|
--cachedir $MSYS2DIR/msys/cache --sync --print-format "%l %n" \
|
|
mingw-w64-x86_64-cc mingw-w64-x86_64-python3.11 \
|
|
mingw-w64-x86_64-python-numpy mingw-w64-x86_64-python-setuptools > $MSYS2DIR/packages.txt
|
|
|
|
pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf \
|
|
--cachedir $MSYS2DIR/msys/cache --sync --print-format "%l %n" \
|
|
mingw-w64-x86_64-python\
|
|
mingw-w64-x86_64-python-h5py\
|
|
mingw-w64-x86_64-python-pyqt5\
|
|
mingw-w64-x86_64-qt5-svg\
|
|
mingw-w64-x86_64-python-qasync\
|
|
mingw-w64-x86_64-python-pyqtgraph\
|
|
mingw-w64-x86_64-python-numpy\
|
|
mingw-w64-x86_64-python-scipy\
|
|
mingw-w64-x86_64-python-dateutil\
|
|
mingw-w64-x86_64-python-prettytable\
|
|
mingw-w64-x86_64-python-tqdm\
|
|
mingw-w64-x86_64-python-pygit2\
|
|
mingw-w64-x86_64-python-llvmlite\
|
|
mingw-w64-x86_64-python-levenshtein\
|
|
mingw-w64-x86_64-python-lmdb\
|
|
mingw-w64-x86_64-lld \
|
|
mingw-w64-x86_64-python-aiohttp \
|
|
mingw-w64-x86_64-python-idna \
|
|
mingw-w64-x86_64-python-yarl \
|
|
mingw-w64-x86_64-python-regex \
|
|
mingw-w64-x86_64-python-pybase64 \
|
|
mingw-w64-x86_64-openocd mingw-w64-x86_64-bscan-spi-bitstreams > $MSYS2DIR/artiq_dep_packages.txt
|
|
|
|
pacman --root $MSYS2DIR --config $MSYS2DIR/etc/pacman.conf --cachedir $MSYS2DIR/msys/cache \
|
|
--sync --print-format "%l %n" mingw-w64-x86_64-qt-installer-framework > $MSYS2DIR/qt_ifw_packages.txt
|
|
|
|
function generate_nix_packages_from_pacman() {
|
|
echo "{ pkgs } : [" > $OUT
|
|
while IFS= read -r line; do
|
|
read -r url package <<< "$line"
|
|
hash=$(nix-prefetch-url $url --name $package)
|
|
echo "
|
|
(pkgs.fetchurl {
|
|
url = \"$url\";
|
|
name = \"$package\";
|
|
sha256 = \"$hash\";
|
|
})" >> $OUT
|
|
done < $IN
|
|
echo "]" >> $OUT
|
|
}
|
|
|
|
IN=$MSYS2DIR/packages.txt OUT=msys2_packages.nix generate_nix_packages_from_pacman
|
|
IN=$MSYS2DIR/qt_ifw_packages.txt OUT=msys2_qt_ifw_packages.nix generate_nix_packages_from_pacman
|
|
IN=$MSYS2DIR/artiq_dep_packages.txt OUT=artiq_dep_packages.nix generate_nix_packages_from_pacman
|