NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.27k stars 14.25k forks source link

Package request: mojo #257274

Open ShubhamBhut opened 1 year ago

ShubhamBhut commented 1 year ago

Project description

Mojo is a new programming language that aims to become a superset of Python over time. It is claimed to be as fast a C and specifically designed for AI development.

Metadata

MikaelFangel commented 1 year ago

Before deciding to add this package, it's important to check what kind of license the project will eventually have. Currently, it doesn't have a clear license and is only talking about gradually becoming open source. Additionally, it's worth noting that the SDK is still in its early stages, as it was recently made available for download, even though it shows promise as discussed here.

calacuda commented 11 months ago

The Mojo GitHub repo license was updated. Previously, only the examples were under the Apache v2.0 license. However, it seems that as of this commit, the entire repo is under the Apache v2.0 License.

Is this change sufficient for Mojo to get a NixOS package?

NOTE: the license update was made in response to a pull request from Dec 4th, 2023. (i.e. it is a fairly recent change)

MikaelFangel commented 11 months ago

Unfortunately this is not enough because the repo does not include the SDK download.

Furthermore, you need an account to download it and this account must only be used by one person (written in their terms), thus making it infeasible to create a nix package in its current state. That is, of course, if I haven't missed something. Let me know if there is some important details I'm missing.

I would suggest creating a derivation for personal use outside nixpkgs until or if it becomes adoptable.

calacuda commented 10 months ago

Sorry for a late reply!

Unfortunately this is not enough because the repo does not include the SDK download.

Oh, I hadn't realized that, whoops! 🥲

I would suggest creating a derivation for personal use outside nixpkgs until or if it becomes adoptable.

Thanks for the advice, I'll try that! 😁

MikiVanousek commented 8 months ago

Can it not be added as an unfree package? Later, when (if) the project is open-sourced, we can update the licence.

greygoody commented 7 months ago

i can't understand why you take it so lightly , it's the one of the most important enhancements of one of the most important programming languages of current times, and you say just because it's in early stages we have to wait ? it's very very important to have this, sadly i'm new to nixos but i encourage anybody that knows how, please have some attempts on this , maybe as previous comment suggested add it as unfree package, by the way stdlib is opensource now.

Before deciding to add this package, it's important to check what kind of license the project will eventually have. Currently, it doesn't have a clear license and is only talking about gradually becoming open source. Additionally, it's worth noting that the SDK is still in its early stages, as it was recently made available for download, even though it shows promise as discussed here.

MikiVanousek commented 7 months ago

I will attempt to package it when I can find the time. In the meantime, you can use modular cli to download mojo in Distrobox.

distrobox create --name ubuntu --init --image ubuntu:latest

Then, for the modular cli installation (as per the instructions) you need to enter the image not using Distrobox, but Podman (docker might work, but I did not try it).

podman container exec -it ubuntu bash

Inside the Ubuntu image, install modular cli and mojo as you would normally. After you install Mojo, you can use it in the distrobox, no need to enter the image with Podman.

distrobox enter ubuntu
mojo

Just make sure you correctly appended PATH.

koalazub commented 7 months ago

Before deciding to add this package, it's important to check what kind of license the project will eventually have. Currently, it doesn't have a clear license and is only talking about gradually becoming open source. Additionally, it's worth noting that the SDK is still in its early stages, as it was recently made available for download, even though it shows promise as discussed here.

Seems like the promise was (mostly)honoured. They also talk about their intent to roll out everything as open source as time goes on in their community livestream.

It's definitely worth adding as a package.

Lemanrp commented 7 months ago

I was wondering if anything has changed in regards to adding mojo to a nix package? I ask because of this article (below) mentioning that mojo is now open sourcing it's core components. https://blog.stackademic.com/mojo-90-000-times-faster-than-python-finally-open-sourced-777bdd9a1896

Jaage commented 6 months ago

Also very interested in a package for Mojo.

aaronmondal commented 6 months ago

We now have an experimental mojo package, wrapped with a custom C++ toolchain and Bazel compatibility in rules_mojo:

Mourey commented 5 months ago

Any updates on this? The python inter ops is essential

narup commented 2 months ago

👍🏽

JeffLabonte commented 3 weeks ago

The licence of Mojo is now Apache 2.

timosarkar commented 4 days ago

@all?