Menu

Tree [729464] master /
 History

HTTPS access


File Date Author Commit
 .gitignore 2020-11-15 Lucy Lucy [2bf8bc] add support for local giblets, add help command
 LICENSE 2022-12-01 Lucy Lucy [729464] Switch to X11 license
 README.md 2021-05-24 Lucy Osmond Lucy Osmond [4838c8] changed gcc command to Linux-x86_64 (Manjaro) t...
 _version.py 2021-05-31 arainflake arainflake [f9c102] fixed parser bug not finding second header. inc...
 colors.py 2020-11-20 Lucy Lucy [5110ac] Make the miniscule "b" in "bLUE" majiscule.
 gib.py 2021-05-23 Lucy Osmond Lucy Osmond [d8d1c2] Switched back to gib.py
 gib.spec 2021-05-23 Lucy Osmond Lucy Osmond [84554e] fix readme, gib.spec
 parser.py 2021-06-06 Lucy Lucy [c84e0a] fix indentation
 setup.py 2021-05-23 Lucy Osmond Lucy Osmond [16a2f9] made setup.py remove gib.pyx if it exists, so w...

Read Me

Gib Is the Best agnostic package manager extender

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.

Installation

Building from source

Prerequisites

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.

Building & Installing

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

Cython (reccomended)

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

Pyinstaller

Build
pyinstaller gib.spec

Move the resulting binary to /usr/local/bin
sudo mv ./dist/gib /usr/local/bin

Contribute

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.