#package-manager

app wng

The W package manager | WNG is a C package and projects manager written in Rust

13 stable releases

4.0.2 Feb 17, 2021
4.0.1 Feb 9, 2021
3.5.2 Jan 2, 2021
3.4.1 Dec 22, 2020
3.3.4 Nov 19, 2020

#1571 in Development tools

41 downloads per month

MPL-2.0 license

34KB
857 lines

WW WW NN NN GGGG
WW WW NNN NN GG GG
WW W WW NN N NN GG
WW WWW WW NN NNN GG GG
WW WW NN NN GGGGGG

The W package manager
Copyleft (ɔ) 2020-2021 Wafelack


ABOUT
=====

WNG is a C package and projects manager written in Rust. It permits
projects build, run, creation and dependencies management.

It is highly customizable by a plugin system and it based on a
highly modulable library.

It is available on Windows and Unix like systems.

It only requires a few prerequisties: a C compiler and git.

DISCLAIMER
==========

##############################################################
# #
# WNG is provided under the MPL-2.0 license on an "as is" #
# basis, without warranty of any kind, either expressed, #
# implied, orstatutory, including, without limitation, #
# warranties that WNG is free of defects, merchantable, #
# fit for aparticular purpose or non-infringing, #
# as specified in the LICENSE file. #
# #
##############################################################

INSTALLATION
============

- Installing directly

WNG is available on:
- cargo `cargo install wng`
- the releases page

- Building from source:

Prerequisties: The latest stable rust toolchain

* First method (all systems)

1. Clone the project `git clone git@github.com:wngland/wng`
2. Build it `cargo build --release`

* Second method (*Nix only)

1. Download the wng-userbuild.tar.gz archive from the releases
2. Extract it
3. cd in the produced folder
3. Run `bash install`

DOCUMENTATION
=============

SETUP
-----

Use `wng setup` to enter wng basic configuration.

CONFIG
------

* Use `wng config reinit` to wipe out all the config file content

* Use `wng config edit <key> <value>` to edit/add a configuration key.

NEW
---

* Use `wng new <path>` to create a new project.

This will create `src/main.c`, `project.toml` and the build folders.

BUILD
-----

* Use `wng build [--release]` to build the current project.

The `--release` flags specifies to build with the `-O3` flag activated.

RUN
---

* Use `wng run [--release]` to build the current project and to run
the produced binary.

The `--release` flags specifies to build with the `-O3` flag activated.

CLEAN
-----

* Use `wng clean` to remove all the binaries and object files from the
`build/` folder.

DEPENDENCIES
------------

* Use `wng dependencies add <dependency>` to add a dependency to
`project.toml`.
* Use `wng dependencies remove <dependency>` to remove a dependency from
`project.toml`.

INSTALL
-------

* Use `wng install` to install the project dependencies in the `src/`
folder.

PLUGINS
-------

* WNG plugins have to be placed in `$HOME/.wng/` with a name starting by `wng-`.

* A WNG plugin can be called with: `wng -p <plugin_name_without_the_wng->`.


FUTURE
======

- MSVC support.
- Ability to run tests.
- C++ support.

ACKNOWLEDGEMENTS
================

- Wafelack <wafelack@protonmail.com>: Idea and initial work.
- Sleepy Monax: Contribution.

Dependencies

~13MB
~277K SLoC