| File | Date | Author | Commit |
|---|---|---|---|
| .gitignore | 2020-11-15 |
|
[2bf8bc] add support for local giblets, add help command |
| LICENSE | 2022-12-01 |
|
[729464] Switch to X11 license |
| README.md | 2021-05-24 |
|
[4838c8] changed gcc command to Linux-x86_64 (Manjaro) t... |
| _version.py | 2021-05-31 |
|
[f9c102] fixed parser bug not finding second header. inc... |
| colors.py | 2020-11-20 |
|
[5110ac] Make the miniscule "b" in "bLUE" majiscule. |
| gib.py | 2021-05-23 |
|
[d8d1c2] Switched back to gib.py |
| gib.spec | 2021-05-23 |
|
[84554e] fix readme, gib.spec |
| parser.py | 2021-06-06 |
|
[c84e0a] fix indentation |
| setup.py | 2021-05-23 |
|
[16a2f9] made setup.py remove gib.pyx if it exists, so w... |
Gib is a Package Manager extender. It allows you to install multiple packages at once by specifying a 'giblet'. You can think of it as installing a suite of packages at once, instead of having to remember them and type them all out.
Python 3 (tested on Python 3.8.6, 3.9.1, 3.9.5)
Cython
pip install Cython
or
Pyinstaller
pip install pyinstaller
Cython provides a smaller binary, and is slightly faster, whereas Pyinstaller is more convenient, but provides a ~35x larger binary.
Clone the git repo and cd into the new directory
git clone git clone https://git.code.sf.net/p/gib-pkg/git gib && cd gib
Prepare Gib for building with Cython
python3 setup.py
This script shoves all the code for Gib into one gib.pyx file, and then uses cython gib.pyx -3 --embed to generate gib.c
Build
gcc gib.c -I<pythonIncludeDir> -L<libpythonDir> -l<nameOfLibpythonWithout'lib'> -o gib
Here is the command we use on Linux-x86_64 (Manjaro) as an example:
gcc gib.c -I/usr/include/python3.9 -L/usr/lib/python3.9 -lpython3.9 -o gib
Move the resulting binary to /usr/local/bin
sudo mv gib /usr/local/bin
Build
pyinstaller gib.spec
Move the resulting binary to /usr/local/bin
sudo mv ./dist/gib /usr/local/bin
You can either write new code directly into gib.py, or into a new .py file, as you see fit. When you are done with debugging your code to the best of your ability, make a pull request to the master branch. If you do use a seperate .py file, remember to import it in gib.py and the gib.spec file. If you add new commands, remember to add it to the help.sh file.