Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

platform support megaticket #607

Open
6 tasks
mxcl opened this issue Jun 7, 2023 · 20 comments
Open
6 tasks

platform support megaticket #607

mxcl opened this issue Jun 7, 2023 · 20 comments
Labels
enhancement New feature or request

Comments

@mxcl
Copy link
Member

mxcl commented Jun 7, 2023

Maybe

Architectures

What do we need? Let us know.

Supported

  • macOS >= 11
    • aarch64
    • x86-64
  • Linux (glibc >= 2.28)
    • aarch64
    • x86-64
  • WSL2
    • x86-64
@mxcl mxcl pinned this issue Jun 7, 2023
@mxcl mxcl changed the title Platform Support Megathread platform support megaticket Jun 7, 2023
@mxcl mxcl added the enhancement New feature or request label Jun 7, 2023
This was referenced Jun 7, 2023
@burdiyan
Copy link

Having native Windows support would be massive! Can't wait.

@felipecrs
Copy link
Contributor

Deno supports Ubuntu 16.04, but Tea does not (because of the old version of glibc).

I'm just wondering... would it be too hard to add support for older versions of GLIBC?

@jhheider
Copy link
Contributor

jhheider commented Sep 13, 2023

I'm just wondering... would it be too hard to add support for older versions of GLIBC?

Yes, extremely. ;)

If you're interested, I've been working on getting a build of glibc we can inject for tea binaries on pkgxdev/pantry#147. glibc is a tricky beast, since it's all the way at the bottom of the stack. If you have insights or assistance to offer, it's always greatly appreciated.

(I won't badger you to move to an LTS that's still in standard support, even though 16.04 is over 7 years old. I want to, because it's easier for me, but I'm too nice to do it.)

It's entirely possible, of course, that you can build tea and many packages manually on 16.04. But our bottles are built against a debian buster GLIBC (2.28) and ubuntu 16.04 is 2.23, it looks like.

@felipecrs
Copy link
Contributor

Alright, it's perfectly understandable.

My needs to use Ubuntu 16.04 are beyond me, thanks for understanding that. And I wanted to use Tea on Ubuntu 16.04 to make that less painful (e.g. I need to install Python 3.10 on Ubuntu 16.04).

If you're interested, I've been working on getting a build of glibc we can inject for tea binaries on pkgxdev/pantry#147. glibc is a tricky beast, since it's all the way at the bottom of the stack.

Nevertheless this sounds amazing. If someday it gets done, I suppose curl -fsS https://tea.xyz | sh could handle it as well (i.e. installing tea's glibc manually before invoking tea itself).

If you have insights or assistance to offer, it's always greatly appreciated.

Sorry but I have no assistance to offer at this point. I can just say that I think you are doing the right thing. :)

@jhheider
Copy link
Contributor

Well, I appreciate the encouragement, except for the fact that working at the glibc level is utterly painful and I'd love to bin the whole idea. 😆

There are a non-zero number of people using Alpine or Amazon Linux 2 who also need this, so it should be figured out.

@jhheider
Copy link
Contributor

i don't recall, per se. My gut says it's not tiny. probably in the 10-100MB range, if i were doing fermi approximation.

@felipecrs
Copy link
Contributor

Sorry, for context I had asked:

Out of curiosity, do you know how big (MB) a bottle of glibc would look like?

But I deleted it from here and posted in pkgxdev/pantry#147 instead. Now that you asked, I deleted it from pkgxdev/pantry#147 too.


i don't recall, per se. My gut says it's not tiny. probably in the 10-100MB range, if i were doing fermi approximation.

That's not bad at all, I was just wondering since you mentioned Alpine users. lol

@Trung0246
Copy link

Is freebsd supported if compile from source?

@jhheider
Copy link
Contributor

jhheider commented Oct 4, 2023

this is a fantastic question. in theory, supporting it should be trivial, since it uses most of the same low-level tools. patches would be needed to libpkgx and pkgx to recognize the platform, and there would probably be some changes needed to deal with libc differences. but if deno/rust work on freebsd (and i assume they do), a port isn't a big deal (until we get to building the entire pantry. that is a big deal. ;) )

if you get libpkgx/pkgx working, we'd love to support freebsd.

@mxcl
Copy link
Member Author

mxcl commented Oct 5, 2023

Is freebsd supported if compile from source?

We would love to support freebsd.

Sadly, it is not currently trivial to boostrap the key packages required to build the rest.

  1. install deno with the freebsd system package manager
  2. clone pkgx
  3. deno task install
  4. pkgx integrate (required to easily use the pantry, sorry, will fix eventually)
  5. clone the pantry
  6. In the clone: dev
  7. pkg edit llvm.org remove deps (install them from system)
  8. pkg build llvm.org

then work from there.

what we need is some kind of “bootstrap pkgx for a new system” manual with helper scripts. Let me put that on my TODO list. We'll need it for Windows native anyway.

Once we have verified a new system can be supported we will put it into our CI/CD so that all packages are built and hosted on our infra.

@mxcl
Copy link
Member Author

mxcl commented Oct 17, 2023

First steps for native Windows are almost complete, just got some npm build issues pkgxdev/libpkgx#48)

@burdiyan
Copy link

I recently learned about Pixi at https://prefix.dev (not affiliated, and I'm sorry to post a competitor here). It supports Windows and all the other platforms, and because they are based on Conda packages, they already have pretty good collection of existing packages.

Would be great for you guys to join forces, because the world would be a better place :)

@deadcoder0904
Copy link

would be great if you can mention windows isn't supported on the site. i was trying to find install script but alas, curl doesn't work on windows.

i use powershell-based terminal bdw. its fast so i stick with it. i do have git bash but dont use it.

@felipecrs
Copy link
Contributor

Windows has curl preinstalled btw. Make sure to call curl.exe and not just curl.

@deadcoder0904
Copy link

oops. just past week did something with .exe & already forgot. linux/mac ruined me.

although i got this error:

sh : The term 'sh' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:33
+ curl.exe -fsS https://pkgx.sh | sh
+                                 ~~
    + CategoryInfo          : ObjectNotFound: (sh:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

@felipecrs
Copy link
Contributor

Yeah, of course. sh is only for Linux and Mac.

@deadcoder0904
Copy link

so how do i install it?

@felipecrs
Copy link
Contributor

felipecrs commented Nov 17, 2023

lol, what do you mean? pkgx is not supported on Windows yet. I supposed you knew that already since you said:

would be great if you can mention windows isn't supported on the site.

@jhheider
Copy link
Contributor

Your best bet for windows support at present is WSL2; since it's a full (enough) linux environment running inside your windows, everything we know of works in the appropriate linux way.

@deadcoder0904
Copy link

lol, what do you mean? pkgx is not supported on Windows yet. I supposed you knew that already since you said:

oh i thought since you mentioned curl.exe exists, so i thought installation worked haha.

yeah i dont use wsl2. i tried setting up one-time but gave up bcz of some errors. didnt try again. i'll wait for windows support without wsl like bun.sh :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants