compyy 1.2
A source code compiler
Requires Python: >=3.8

# compyy / Source Compiler
Project Code `occo257c`

Compyy is a CLI program written in Python to automatically / help compile source codes.

Compyy is a program that automatically compile a C or C++ source code from different sources such as tarball, zip and repository, it can also download a source code and compile it. Compyy has many features such as verify the checksum of downloaded package, cleanup after install and check the make file and change the install location. 

# Usage
**Installation**

The program can be install using pip.

    $ pip install compyy / $ pip3 install compyy

If the program is already installed the program can be upgraded with `$ pip install compyy --upgrade / $ pip3 install compyy --upgrade`

In other Linux distribution, where the Python path is different, the path should be added.

    $ echo 'export PATH=$HOME/bin:$PATH:$HOME/.local/bin' >> .bashrc
    $ source .bashrc

[Dependencies : # The program needs this to compile from the source](dependencies.txt)

**Program use**

The program can be called with `compyy [options] [input]]`.

```
$ compyy -h
usage: compyy [OPTIONS]

Compyy is a source compile helper

optional arguments:
  -h, --help            show this help message and exit
  -l LINK, --link LINK  compiles the link's repo.
  -f FILE, --file FILE  compile the input file.
  -c, --cleanup         perform a cleanup after compiling the source.
  -d DOWNLOAD, --download DOWNLOAD
                        compile the downloaded source code.
  -t TARGET, --target TARGET
                        locate the install location. Default is source's ./configure's default
  -Ch, --check          checks package's source using [make test].
  -v, --verify          verifies package's intergrity by comparing the calculated checksum and checksum
                        provided by the package's author.
  -li, --list           list all of compiled and installed packages using compyy.

Thank you for using compyy!
```

**Usage example**

    # Compile a source from git repository
    $ compyy -l https://github.com/jamesaaron13248/compyy

    # Download, verify and compile the source code and cleanup after compiling
    $ compyy -Cl -vc -d https://www.libarchive.de/downloads/libarchive-3.5.1.tar.gz 

    # The source is already downloaded, verify the integrity of the source code, run [make test] on the source and clean after install
    $ compyy -CC -vc -f sample.tar.gz

    # Install the program in other location (/etc). [Default is ./configure's default which is either /usr/bin or /usr/local/ or /usr/lib]. This specifies the --prefix=<t> in ./configure
    $ compyy -f sample.tar.gz -t /etc/

# Notes
(1.) There are flags that only works in other options.
```
Option				Available Flags
-l, --link			-t, --target ; -ch, --check ; -c, --cleanup
-f, --file			-t, --target ; -ch, --check ; -c, --cleanup ; -v, --verify
-d, --downloaded	-t, --target ; -ch, --check ; -c, --cleanup ; -v, --verify

-li, --list			NO AVAILABLE FLAG
```

(2.) Testing repo. The testing version can be installed using `setup.sh`. `setup.sh` clones and compiles the sources in your desktop, this also install the testing version of the program.

**Use `setup.sh`**

    $ git clone https://github.com/jamesaaron13248/compyy
    $ cd compyy
    $ chmod +x setup.sh
    $ ./setup.sh

# Links
https://pypi.org/project/compyy