Legcord / Legcord

Legcord is a custom client designed to enhance your Discord experience while keeping everything lightweight.
https://legcord.app
Open Software License 3.0
1.45k stars 76 forks source link

Add termux support #66

Closed fluffyloopy closed 2 years ago

fluffyloopy commented 2 years ago

Add packaging for android termux to use with sparkles or xsdl since android clients are annoying in their own way with lack of plugins even on aliucord

smartfrigde commented 2 years ago

Should work fine if other electron apps work. Build like for normal arm linux using Electron-builder CLI. If other Electron apps don't work then I can't help you

fluffyloopy commented 2 years ago

yeah i have no idea how to get it working

[nix-shell:~/ArmCord]# npm start

> ArmCord@2.7.0 start /data/local/root/ArmCord
> ./build.sh

> ArmCord@2.7.0 package /data/local/root/ArmCord
> electron-builder --dir

  • electron-builder  version=22.13.0 os=4.14.180 - Mint
  • loaded configuration  file=package.json ("build" field)
  • writing effective config  file=dist/builder-effective-config.yaml
  • packaging       platform=linux arch=arm64 electron=13.5.2 appOutDir=dist/linux-arm64-unpacked
./build.sh: line 2: ./dist/linux-arm64-unpacked/armcord: No such file or directory
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! ArmCord@2.7.0 start: `./build.sh`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the ArmCord@2.7.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /data/local/root/.npm/_logs/2022-01-06T11_57_53_580Z-debug.log
[nix-shell:~/ArmCord]# ls dist/linux-arm64-unpacked/armcord
dist/linux-arm64-unpacked/armcord
[nix-shell:~/ArmCord]# ./dist/linux-arm64-unpacked/armcord
bash: ./dist/linux-arm64-unpacked/armcord: No such file or directory
dist/linux-arm64-unpacked/armcord: ELF shared object, 64-bit LSB arm64, dynamic (/lib/ld-linux-aarch64.so.1), BuildID=ea63e0510cacd92819248ba7a7b03abb09a21882, not stripped
smartfrigde commented 2 years ago

npm scripts are a bit broken. Can you try with Linux binary for your architecture?

fluffyloopy commented 2 years ago

doesnt work, armcord arm64 from the appimage and tarfile both gives No such file or directory

SpacingBat3 commented 2 years ago

Electron does not work in bare Termux/Android environment, you will either need GNU libraries for Electron (if you don't want to patch an ELF binary, you will also need to place them in correct path – which would mean that you need to create a proot environment if your device is not rooted) to work or try to compile entire Electron under Android NDK (which would probably require some coding skills; it also requires a quite decent hardware because of Chromium).

With a proot solution, you can install electron apps the same way as in ARM Linux.

fluffyloopy commented 2 years ago

Electron does not work in bare Termux/Android environment, you will either need GNU libraries for Electron (if you don't want to patch an ELF binary, you will also need to place them in correct path – which would mean that you need to create a proot environment if your device is not rooted) to work or try to compile entire Electron under Android NDK (which would probably require some coding skills; it also requires a quite decent hardware because of Chromium).

With a proot solution, you can install electron apps the same way as in ARM Linux.

I was using nix on rooted android. Without proot or chroot

smartfrigde commented 2 years ago

Tagged as won't fix as this is more of a request to Electron themselves