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.