Pkgx seems to work fine

In case anyone was wondering, pkgx seems to work quite well on sfos:

[defaultuser@Xperia10III ~]$ ./pkgx deno@1.33 --version
✓  ~/.pkgx/deno.land/v1.33.4
deno 1.33.4 (release, aarch64-unknown-linux-gnu)
v8 11.4.183.2
typescript 5.0.4
[defaultuser@Xperia10III ~]$ ./pkgx gcc@13 --version
✓  ~/.pkgx/gnu.org/mpc/v1.3.1
✓  ~/.pkgx/gnu.org/mpfr/v4.2.1
✓  ~/.pkgx/gnu.org/gmp/v6.3.0
✓  ~/.pkgx/gnu.org/binutils/v2.42.0
✓  ~/.pkgx/gnu.org/gcc/v13.2.0
gcc (tea GCC 13.2.0) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[defaultuser@Xperia10III ~]$ ./pkgx node@20 --version
v20.12.2

Just managed to compile GitHub - smallstep/cli: 🧰 A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc. on device, so looks like it’s one way to get a working go compiler on sfos (from sources is a nightmare as newer versions require go and newest gcc compilable go source is x86 only). Pretty cool
Edit: node@20 did require installing libatomic
Edit2: yes they got infamous for using AI to generate package descriptions I'm confused: what's with the project descriptions at https://pkgx.dev/pkgs/? · Issue #5358 · pkgxdev/pantry · GitHub but thanks to that learned about the project, didn’t trust their curl/sh way of installing things so just extracted the release binary to home and symlinked to /usr/bin, all the downloads end up in ~/.pkgx which is nice, their way to integrate seems to work great so far:

eval "$(pkgx integrate)"
env +node

And you get latest node (requires gcc10 otherwise)

2 Likes

If you don’t trust the curl shell script which you can actually read first, you most certainly should not trust the compiled binary!

Still, thanks for trying it out!

1 Like

Bash scripts that check for debian/fedora/arch etc don’t really do well with detecting sfos, I’d rather copy the binary myself and symlink to save 150mb of rootfs

Ah, yes, that’s a valid point :slight_smile: So you’re running deno/node on the phone?

Quite a lot of people do as microtube ships its own nodejs18/npm build :slight_smile:

Heh :slight_smile: That is why I’ve never installed microtube.

Seems to no longer work fine on 4.6, integration with shell is somehow wonky now and it seems packaging of gcc changed and pkgx no longer detects it and downloads gcc14 when installing anything, which is problematic as binaries it generates require newer glibc, not sure yet if problem with pkgx checking gcc version or sfos gcc packaging, bummer nonetheless nevermind, having gcc@13 installed like I had on 4.5 works around it, so I was lucky I guess that never hit this originally

1 Like