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

Create ports tree #37

Open
YusufKhan-gamedev opened this issue Jan 16, 2022 · 15 comments
Open

Create ports tree #37

YusufKhan-gamedev opened this issue Jan 16, 2022 · 15 comments
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@YusufKhan-gamedev
Copy link

YusufKhan-gamedev commented Jan 16, 2022

Umm, I dont think its exactly wise to put things like doom in the sysroot, you should create a ports tree where you can access these packages using the internet to download the source, then compiling it(and create eth drivers). Just a thought.
(I also dont want to cherry pick what commits I want to add to uwux, im building other projects rn)

@Andy-Python-Programmer Andy-Python-Programmer added enhancement New feature or request good first issue Good for newcomers labels Jan 16, 2022
@Andy-Python-Programmer
Copy link
Owner

It would be nice to have a config.toml where we could enable or disable ports that we want to build. For example:

# ---- config.toml -----
[sysroot]
# by default no ports will be enabled.
ports = ["gcc", "rust", "ripgrep"]

and this config file will be read by aero.py when called with --sysroot and will make xbstrap only build those enabled ports. Pretty nice idea actually.

@YusufKhan-gamedev
Copy link
Author

YusufKhan-gamedev commented Jan 16, 2022

It would be nice to have a config.toml where we could enable or disable ports that we want to build. For example:

# ---- config.toml -----
[sysroot]
# by default no ports will be enabled.
ports = ["gcc", "rust", "ripgrep"]

and this config file will be read by aero.py when called with --sysroot and will make xbstrap only build those enabled ports. Pretty nice idea actually.

Hmm, that would seem amazing, but I think there should be a equivalent of a "classical" ports tree or something more intuitive that would use "cutting edge" sources.

@Andy-Python-Programmer
Copy link
Owner

Andy-Python-Programmer commented Jan 16, 2022

Hmm, that would seem amazing, but I think there should be a equivalent of a "classical" ports tree.

We could have a config.toml.example which will be copied over to config.toml (if it does not exist) where config.toml.example will contain the classic ports and the actual config.toml which we can modify will then be in the gitignore.

@YusufKhan-gamedev
Copy link
Author

YusufKhan-gamedev commented Jan 16, 2022

Hmm, that would seem amazing, but I think there should be a equivalent of a "classical" ports tree.

We could have a config.toml.example which will be copied over to config.toml (if it does not exist) where config.toml.example will contain the classic ports and the actual config.toml which we can modify will then be in the gitignore.

Maybe add a cli on top of that for better user experience...

@Andy-Python-Programmer
Copy link
Owner

Maybe add a cli on top of that...

What do you mean by that? It will all be handled by aero.py

@YusufKhan-gamedev
Copy link
Author

YusufKhan-gamedev commented Jan 16, 2022

Maybe add a cli on top of that...

What do you mean by that? It will all be handled by aero.py

I mean for example when running *BSD on a system you can install and compile ports on the system without recompiling *BSD(https://www.freebsd.org/ports/).

Clarification: the source of the ports is not installed on the system, its only installed while in the dir of the port(its quite confusing to me too, basically im asking for something like portage).

@48cf
Copy link
Collaborator

48cf commented Jan 17, 2022

Maybe add a cli on top of that for better user experience...

aero.py is the CLI though 🤔

@YusufKhan-gamedev
Copy link
Author

YusufKhan-gamedev commented Jan 17, 2022

Maybe add a cli on top of that for better user experience...

aero.py is the CLI though thinking

I cant run ./aero.py inside a default aero install though :^) You cant download, install and compile ports inside aero yet though you can do that while compiling aero. Look at the examples I showed, *BSD ports tree and portage(its very hard to explain unless youve actually used it).

@48cf
Copy link
Collaborator

48cf commented Jan 17, 2022

You cant download, install and compile ports inside aero yet though you can do that while compiling aero. Look at the examples I showed, *BSD ports tree and portage(its very hard to explain unless youve actually used it).

Oh, you want something similar to a package manager, which would download and build ports inside of aero itself? I think that wont be a thing until we can successfully run GCC inside of aero, which will probably take a while :^) Definitely something I would keep in mind though.

@YusufKhan-gamedev
Copy link
Author

Oh, you want something similar to a package manager, which would download and build ports inside of aero itself? I think that wont be a thing until we can successfully run GCC inside of aero, which will probably take a while :^) Definitely something I would keep in mind though.

Yep! A "proper" package manager like cargo/pacman would be used for "stable" packages and the ports would be used for bleeding edge, "commited 2 seconds ago" commits.

@Dennisbonke
Copy link

Considering you're already using xbstrap under aero.py, and you're using mlibc as libc, may I recommend xbps as a package manager? It's almost fully working on Managarm, which means the libc side of things is mature enough to run this.

@YusufKhan-gamedev
Copy link
Author

Considering you're already using xbstrap under aero.py, and you're using mlibc as libc, may I recommend xbps as a package manager? It's almost fully working on Managarm, which means the libc side of things is mature enough to run this.

That looks good, but a ports manager would reaaaly be appreciated.

@Dennisbonke
Copy link

Considering you're already using xbstrap under aero.py, and you're using mlibc as libc, may I recommend xbps as a package manager? It's almost fully working on Managarm, which means the libc side of things is mature enough to run this.

That looks good, but a ports manager would reaaaly be appreciated.

What is the difference between a ports manager and a package manager? What you want is a way for end users to download and install packages. Preferably those are prebuilt for Aero, not gentoo style right? Then they are the same? If you do want gentoo style, port xbstrap and done

@Andy-Python-Programmer
Copy link
Owner

Keep the issue open, it's not resolved yet.

@jwpjrdev
Copy link
Contributor

Maybe add a cli on top of that...

What do you mean by that? It will all be handled by aero.py

this reminds me, aero.py is kinda annoying to use with just flags because some flags only apply to certain things. it would be nice to have subcommands as well as flags.

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

No branches or pull requests

5 participants