Compare commits
8 Commits
d22abc2ae5
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 68a5c49062 | |||
| e9be85d5fd | |||
| 8540f184aa | |||
| 9edb9ce768 | |||
| 446fdcca15 | |||
| 86d72fadda | |||
| b9d720a944 | |||
| dadd86183b |
61
README.md
61
README.md
@@ -1,3 +1,64 @@
|
|||||||
# Nebula <img src="icon/icon.svg" width = 24>
|
# Nebula <img src="icon/icon.svg" width = 24>
|
||||||
|
|
||||||
The package manager for the Comet programming language.
|
The package manager for the Comet programming language.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
Nebula can be installed using `pipx` with the following command:
|
||||||
|
> pipx install nebpkg
|
||||||
|
or from `pip`:
|
||||||
|
> pip3 install nebpkg
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
Nebula has several subcommands. Type `neb --help` to see the help menu.
|
||||||
|
|
||||||
|
### Getting package index
|
||||||
|
|
||||||
|
> neb pull
|
||||||
|
|
||||||
|
### Installing a package
|
||||||
|
|
||||||
|
> neb install <package_name>
|
||||||
|
|
||||||
|
You can provide a version with an @ symbol:
|
||||||
|
|
||||||
|
> neb install io@0.1.0
|
||||||
|
|
||||||
|
### Uninstalling a package
|
||||||
|
|
||||||
|
> neb uninstall <package_name>
|
||||||
|
|
||||||
|
### Searching for packages
|
||||||
|
|
||||||
|
> neb search <query>
|
||||||
|
|
||||||
|
By default the command won't show packages you already have installed, you can include installed packages with the `--show-installed` option.
|
||||||
|
|
||||||
|
### Listing installed packages
|
||||||
|
|
||||||
|
> neb list
|
||||||
|
|
||||||
|
### Building a package
|
||||||
|
|
||||||
|
You can use Nebula to build your package you're developing in C. Run the following command from the root of your package, and ensure you have a `src` directory:
|
||||||
|
|
||||||
|
> neb build .
|
||||||
|
|
||||||
|
You can replace the `.` with a directory if you want to build a directory as a package.
|
||||||
|
|
||||||
|
## How do I make a package?
|
||||||
|
There are some templates that you can use created by the Comet group. There is a [tutorial](https://chookspace.com/Comet/Comet/wiki/External+Libs+-+Table+of+Contents.-) on the [Comet repo's wiki](https://chookspace.com/Comet/Comet/wiki) with documentation on creating external libraries.
|
||||||
|
|
||||||
|
## Getting a package on Nebula
|
||||||
|
First, create a repository with your package. Once you've done that, submit a pull request with a commit editting the `package_index.json` file in the Nebula repository. Add the following the the index:
|
||||||
|
|
||||||
|
```json
|
||||||
|
...
|
||||||
|
"your_package_name": {
|
||||||
|
"repository": "https://chookspace.com/owner of the package/your package name",
|
||||||
|
"description": "description here",
|
||||||
|
"gitAuthor": "owner of the package"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Your package will be checked and if all is well, added to the Nebula index!
|
||||||
@@ -19,6 +19,9 @@ neb install packageName@1.0.0
|
|||||||
(replace the number with the version number of the rock you want to install)
|
(replace the number with the version number of the rock you want to install)
|
||||||
|
|
||||||
## Changelog
|
## Changelog
|
||||||
|
### 1.2.1
|
||||||
|
- Made `neb build` look for C files in a src/ folder instead of the current folder
|
||||||
|
|
||||||
### 1.2.0
|
### 1.2.0
|
||||||
- Add support for modules written in Comet
|
- Add support for modules written in Comet
|
||||||
- Made it so that you don't have to build Comet to install the headers
|
- Made it so that you don't have to build Comet to install the headers
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ def build(args):
|
|||||||
|
|
||||||
out_path = os.path.join(comet_libs_dir, f"{folder_name}.cometlib")
|
out_path = os.path.join(comet_libs_dir, f"{folder_name}.cometlib")
|
||||||
|
|
||||||
c_files = glob.glob(f"{args.path}/*.c", recursive=True)
|
c_files = glob.glob(f"{args.path}/src/*.c", recursive=True)
|
||||||
if len(c_files) == 0:
|
if len(c_files) == 0:
|
||||||
print_error_message(f"No C files were found in that directory! [d white]({folder_name})[/d white]")
|
print_error_message(f"No C files were found in that directory! [d white]({folder_name}/src)[/d white]")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
with console.status("Building", spinner="moon") as status:
|
with console.status("Building", spinner="moon") as status:
|
||||||
|
|||||||
@@ -3,5 +3,10 @@
|
|||||||
"repository": "https://chookspace.com/Comet/io",
|
"repository": "https://chookspace.com/Comet/io",
|
||||||
"description": "Input / Output in Comet.",
|
"description": "Input / Output in Comet.",
|
||||||
"gitAuthor": "Comet"
|
"gitAuthor": "Comet"
|
||||||
|
},
|
||||||
|
"socket": {
|
||||||
|
"repository": "https://chookspace.com/Comet/socket",
|
||||||
|
"description": "Socket implementation in Comet.",
|
||||||
|
"gitAuthor": "Comet"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
2
setup.py
2
setup.py
@@ -5,7 +5,7 @@ with open("neb/README.md", "r") as f:
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="nebpkg",
|
name="nebpkg",
|
||||||
version="1.2.0",
|
version="1.2.1",
|
||||||
description="Nebula, the package manager for the Comet programming language.",
|
description="Nebula, the package manager for the Comet programming language.",
|
||||||
classifiers=[
|
classifiers=[
|
||||||
"Development Status :: 4 - Beta",
|
"Development Status :: 4 - Beta",
|
||||||
|
|||||||
Reference in New Issue
Block a user