entrypoint.sh 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/bin/bash
  2. wget https://nodejs.org/dist/v20.10.0/node-v20.10.0-linux-x64.tar.xz
  3. tar -Jxvf ./node-v20.10.0-linux-x64.tar.xz
  4. export PATH=$(pwd)/node-v20.10.0-linux-x64/bin:$PATH
  5. npm install pnpm -g
  6. rustup target add "$INPUT_TARGET"
  7. if [ "$INPUT_TARGET" = "x86_64-unknown-linux-gnu" ]; then
  8. apt-get update
  9. apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev patchelf
  10. elif [ "$INPUT_TARGET" = "i686-unknown-linux-gnu" ]; then
  11. dpkg --add-architecture i386
  12. apt-get update
  13. apt-get install -y libstdc++6:i386 libgdk-pixbuf2.0-dev:i386 libatomic1:i386 gcc-multilib g++-multilib libwebkit2gtk-4.0-dev:i386 libssl-dev:i386 libgtk-3-dev:i386 librsvg2-dev:i386 patchelf:i386 libayatana-appindicator3-dev:i386
  14. export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig/:$PKG_CONFIG_PATH
  15. export PKG_CONFIG_SYSROOT_DIR=/
  16. elif [ "$INPUT_TARGET" = "aarch64-unknown-linux-gnu" ]; then
  17. dpkg --add-architecture arm64
  18. apt-get update
  19. apt-get install -y libncurses6:arm64 libtinfo6:arm64 linux-libc-dev:arm64 libncursesw6:arm64 libssl3:arm64 libcups2:arm64
  20. apt-get install -y --no-install-recommends g++-aarch64-linux-gnu libc6-dev-arm64-cross libwebkit2gtk-4.0-dev:arm64 libgtk-3-dev:arm64 patchelf:arm64 librsvg2-dev:arm64 libayatana-appindicator3-dev:arm64
  21. export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
  22. export CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc
  23. export CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++
  24. export PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
  25. export PKG_CONFIG_ALLOW_CROSS=1
  26. elif [ "$INPUT_TARGET" = "armv7-unknown-linux-gnueabihf" ]; then
  27. dpkg --add-architecture armhf
  28. apt-get update
  29. apt-get install -y libncurses6:armhf libtinfo6:armhf linux-libc-dev:armhf libncursesw6:armhf libssl3:armhf libcups2:armhf
  30. apt-get install -y --no-install-recommends g++-arm-linux-gnueabihf libc6-dev-armhf-cross libwebkit2gtk-4.0-dev:armhf libgtk-3-dev:armhf patchelf:armhf librsvg2-dev:armhf libayatana-appindicator3-dev:armhf
  31. export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc
  32. export CC_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc
  33. export CXX_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++
  34. export PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig
  35. export PKG_CONFIG_ALLOW_CROSS=1
  36. elif [ "$INPUT_TARGET" = "riscv64gc-unknown-linux-gnu" ]; then
  37. dpkg --add-architecture riscv64
  38. apt-get update
  39. apt-get install -y libncurses6:riscv64 libtinfo6:riscv64 linux-libc-dev:riscv64 libncursesw6:riscv64 libssl3:riscv64 libcups2:riscv64
  40. apt-get install -y --no-install-recommends g++-riscv64-linux-gnu libc6-dev-riscv64-cross libwebkit2gtk-4.0-dev:riscv64 libgtk-3-dev:riscv64 patchelf:riscv64 librsvg2-dev:riscv64 libayatana-appindicator3-dev:riscv64
  41. export CARGO_TARGET_RISCV64_UNKNOWN_LINUX_GNU_LINKER=riscv64-linux-gnu-gcc
  42. export CC_riscv64_unknown_linux_gnu=riscv64-linux-gnu-gcc
  43. export CXX_riscv64_unknown_linux_gnu=riscv64-linux-gnu-g++
  44. export PKG_CONFIG_PATH=/usr/lib/riscv64-linux-gnu/pkgconfig
  45. export PKG_CONFIG_ALLOW_CROSS=1
  46. else
  47. echo "Unknown target: $INPUT_TARGET" && exit 1
  48. fi
  49. bash .github/build-for-linux/build.sh