C package manager-ish

Overview

clib(1)

Build Status Codacy Badge

Package manager for the C programming language.

c package manager screenshot

Installation

Expects libcurl to be installed and linkable.

With homebrew:

$ brew install clib

Or MacPorts:

$ sudo port selfupdate
$ sudo port install clib

With git:

$ git clone https://github.com/clibs/clib.git /tmp/clib
$ cd /tmp/clib
$ make install

Ubuntu:

# install libcurl
$ sudo apt-get install libcurl4-gnutls-dev -qq
# clone
$ git clone https://github.com/clibs/clib.git /tmp/clib && cd /tmp/clib
# build
$ make
# put on path
$ sudo make install

About

Basically the lazy-man's copy/paste promoting smaller C utilities, also serving as a nice way to discover these sort of libraries. From my experience C libraries are scattered all over the web and discovery is relatively poor. The footprint of these libraries is usually quite large and unfocused. The goal of clibs is to provide stand-alone "micro" C libraries for developers to quickly install without coupling to large frameworks.

You should use clib(1) to fetch these files for you and check them into your repository, the end-user and contributors should not require having clib(1) installed. This allows clib(1) to fit into any new or existing C workflow without friction.

The wiki listing of packages acts as the "registry" and populates the clib-search(1) results.

Usage

  clib <command> [options]

  Options:

    -h, --help     Output this message
    -V, --version  Output version information

  Commands:

    init                 Start a new project
    i, install [name...] Install one or more packages
    up, update [name...] Update one or more packages
    upgrade [version]    Upgrade clib to a specified or latest version\
    configure [name...]  Configure one or more packages
    build [name...]      Build one or more packages
    search [query]       Search for packages
    help <cmd>           Display help for cmd

More about the Command Line Interface here.

Examples

More examples and best practices at BEST_PRACTICE.md.

Install a few dependencies to ./deps:

$ clib install clibs/ms clibs/commander

Install them to ./src instead:

$ clib install clibs/ms clibs/commander -o src

When installing libraries from the clibs org you can omit the name:

$ clib install ms file hash

Install some executables:

$ clib install visionmedia/mon visionmedia/every visionmedia/watch

clib.json

Example of a clib.json explicitly listing the source:

{
  "name": "term",
  "version": "0.0.1",
  "repo": "clibs/term",
  "description": "Terminal ansi escape goodies",
  "keywords": ["terminal", "term", "tty", "ansi", "escape", "colors", "console"],
  "license": "MIT",
  "src": ["src/term.c", "src/term.h"]
}

Example of a clib.json for an executable:

{
  "name": "mon",
  "version": "1.1.1",
  "repo": "visionmedia/mon",
  "description": "Simple process monitoring",
  "keywords": ["process", "monitoring", "monitor", "availability"],
  "license": "MIT",
  "install": "make install"
}

See explanation of clib.json for more details.

Contributing

If you're interested in being part of this initiative let me know and I'll add you to the clibs organization so you can create repos here and contribute to existing ones.

If you have any issues, questions or suggestions, please open an issue here.

You can also find us on Gitter: https://gitter.im/clibs/clib

Also feel free to open a GitHub Discussion here.

Before committing to the repository, please run make commit-hook. This installs a commit hook which formats .c and .h files.

Articles

Comments
  • Introducing valgrind to detect memory leaks

    Introducing valgrind to detect memory leaks

    In C, memory leaks are major issues of a project. To detect memory leaks and test it continuously, I suggest introducing a test with valgrind to detect memory leaks in CI.

    help wanted 
    opened by Constellation 25
  • Win32 binaries

    Win32 binaries

    I did one. (The link is no longer valid) I've not tested this on 32-bit windows actually. It works on my system (64-bit Win7 Home Basic), but all exe and dlls are in 32-bit format. So... maybe... someone... wants this one? I would be happy if someone just test this thing on another machine. Or if it would be just helpful for someone.

    opened by georgy7 16
  • Addition of a build system generator

    Addition of a build system generator

    opened by elfring 15
  • Different name than package.json?  clib.json?

    Different name than package.json? clib.json?

    I guess there is Arduino packaging util called leo that uses the same name. No idea how prevalent or widespread it is used.

    @AdamMagaluk added a package.json to his fork of the c library js0n. When I first saw that, I though cool, he already packaged it up for clib. :) (https://github.com/quartzjer/js0n/network)

    opened by mbucc 15
  • Windows executables missing in recent releases

    Windows executables missing in recent releases

    Not sure what happened, but it looks like we're no longer building/uploading Windows binaries when we release. This is a bummer for Windows people.

    An example of a release with binaries is v1.8.1.

    enhancement ci 
    opened by stephenmathieson 13
  • clib gets confused if not invoked via PATH

    clib gets confused if not invoked via PATH

    It seems clib gets confused if it's not invoked via PATH:

    $ ./result/bin/clib search
    Unsupported command "search"
    

    This however, works:

    $ PATH=./result/bin clib search | head
    
      clibs/buffer
      url: https://github.com/clibs/buffer
      desc: tiny c-string library
    
      nami-doc/trim.c
      url: https://github.com/nami-doc/trim.c
      desc: trim a string, in place
    
      nami-doc/strlen.c
    

    Tested clib version 1.4.2.

    bug wontfix 
    opened by bjornfor 13
  • Fetch makefiles

    Fetch makefiles

    Thoughts on something like this:

    {
      "name": "whatever",
      "makefile": "path/to/makefile",
      "repo": ...
    }
    

    So we could:

    mylib: libwhatever
      $(CC) ...
    
    libwhatever:
      $(MAKE) -C deps/whatever
      ...
    

    EDIT: gypfiles?

    opened by stephenmathieson 13
  • Publishing package process - suggestions

    Publishing package process - suggestions

    I've been looking at documenting how to publish a project to clib, but I've come to realise we might need to first figure out a sustainable publishing process.

    I think a sustainable publishing process has these two qualities:

    • Maximises the user's ease of publishing packages to clib
    • Minimises any intervention required by clib organisation members

    Below are some suggestions for a publishing process.

    a. User raises "publish" issues

    1. User adds a package.json file to their repo
    2. User submits an issue with the "publish" label to clib (includes repo details)
    3. clibs organisation member will then add the project to wiki/packages

    | Pros | Cons | | --- | --- | | No changes to clib required | clibs organisation member does a bit of work |

    b. User becomes clibs organisation member

    1. User sends email request for clibs organisation membership
    2. clibs member grants membership
    3. User adds package.json to their repo
    4. User modifies wiki/packages

    | Pros | Cons | | --- | --- | | No changes to clib required | Users have to do a bit of work | | | clibs organisation member has to handle memberships |

    c. User raises pull requests against clibs/packages text file

    1. User adds a package.json file to their repo
    2. User clones clibs/packages (this is a repo that contains a single text file which is used instead of wiki/packages)
    3. User adds a line in the text file for their project, submits pull request to clibs/packages
    4. clibs organisation member merges pull request

    | Pros | Cons | | --- | --- | | clibs organisation member just merges pull requests | clib changes required |

    d. User raises pull requests against clibs/packages package.json files

    1. User clones clibs/packages (this is a repo that contains package.json files for each package instead of wiki/packages. Each package.json is given a file name based off its package name, eg. clibs-buffer.json)
    2. User adds a package.json file for their package. The json file is actually named after the package, eg. clibs-buffer.json.
    3. User submits pull request to clibs/packages
    4. clibs organisation member merges pull request

    | Pros | Cons | | --- | --- | | clibs organisation member just merges pull requests | clib changes required | | Users can publish packages for upstream repos that don't want to add package.json to their repo | |

    question 
    opened by willemt 10
  • unable to fetch package.json?

    unable to fetch package.json?

    I try to use clib to install memcached like this clib install memcached/memcached, but it outputs an error:

    error : unable to fetch https://raw.github.com/memcached/memcached/master/package.json

    Does that mean if I want to install a repository, then the repository must provide a package.json file? If so, why not provide some common libraries in clib project itself?

    opened by Charles0429 10
  • add libuv as clibs' dep?

    add libuv as clibs' dep?

    See #29 and I have a plan to do 3 following stuffs for clibs:

    • a network client library based on libuv and openssl, it provided a common API for net or tls, same for http and https.(most implemented by me)
    • to be refactoring clibs/clib based on 1st plan.
    • to be contributing to clibs/http based on 1st plan.

    After that, clib is based on libuv, as @stephenmathieson said, it is so huge dependence, and do you have some suggestion for this?

    /cc @clibs

    question 
    opened by yorkie 10
  • want to add a lib to clibs

    want to add a lib to clibs

    Hi, clibs guys,

    This is the link of my library: https://github.com/yorkie/readline It do a tiny stuff like split('/n') in javascript, but I think it's needed to be added to the bundles of awesome packages.

    I'm looking forward to your reply :p

    opened by yorkie 10
  • dependency errors

    dependency errors

    Hi,

    We recently conducted a study to detect build dependency errors, focusing on missing dependencies and redundant dependencies. For missing dependency, it is a dependency that is not declared in the build script but it will be used in the full build. For redundant dependency, it is a dependency that is declared in the build script but it will not be used in the full build. We analyze the actual software construction process and detect the dependency errors. We have detected the following dependency errors in your public projects. Could you please help us to check these dependency errors? The data format is dependency --- target.

    MS 0['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-get-elements-by-tag-name/get-elements-by-tag-name.o'] 1['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/list/list.h---deps/gumbo-get-elements-by-tag-name/get-elements-by-tag-name.o'] 2['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/trim/trim.h---deps/gumbo-get-elements-by-tag-name/get-elements-by-tag-name.o'] 3['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/case/case.h---deps/gumbo-get-elements-by-tag-name/get-elements-by-tag-name.o'] 4['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-get-element-by-id/get-element-by-id.o'] 5['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-get-element-by-id/get-element-by-id.h---deps/gumbo-get-element-by-id/get-element-by-id.o'] 6['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-text-content/gumbo-text-content.h---deps/gumbo-text-content/gumbo-text-content.o'] 7['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-text-content/gumbo-text-content.o'] 8['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/str-starts-with/str-starts-with.h---deps/str-starts-with/str-starts-with.o'] 9['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/strdup/strdup.h---deps/path-normalize/path-normalize.o'] 10['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/path-normalize/path-normalize.h---deps/path-normalize/path-normalize.o'] 11['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/console-colors/console-colors.h---deps/console-colors/console-colors.o'] 12['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/str-ends-with/str-ends-with.h---deps/str-ends-with/str-ends-with.o'] 13['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/strdup/strdup.h---deps/wiki-registry/wiki-registry.o'] 14['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-get-elements-by-tag-name/get-elements-by-tag-name.h---deps/wiki-registry/wiki-registry.o'] 15['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/substr/substr.h---deps/wiki-registry/wiki-registry.o'] 16['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/case/case.h---deps/wiki-registry/wiki-registry.o'] 17['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/list/list.h---deps/wiki-registry/wiki-registry.o'] 18['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/http-get/http-get.h---deps/wiki-registry/wiki-registry.o'] 19['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/wiki-registry/wiki-registry.o'] 20['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/wiki-registry/wiki-registry.h---deps/wiki-registry/wiki-registry.o'] 21['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-get-element-by-id/get-element-by-id.h---deps/wiki-registry/wiki-registry.o'] 22['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-text-content/gumbo-text-content.h---deps/wiki-registry/wiki-registry.o'] 23['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/trim/trim.h---deps/wiki-registry/wiki-registry.o'] 24['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/string_buffer.h---deps/gumbo-parser/string_buffer.o'] 25['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-parser/string_buffer.o'] 26['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/util.h---deps/gumbo-parser/string_buffer.o'] 27['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/string_piece.h---deps/gumbo-parser/string_buffer.o'] 28['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-parser/string_piece.o'] 29['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/util.h---deps/gumbo-parser/string_piece.o'] 30['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/string_piece.h---deps/gumbo-parser/string_piece.o'] 31['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/clib-package/clib-package.h---deps/clib-package/clib-package.o'] 32['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/strdup/strdup.h---deps/clib-package/clib-package.o'] 33['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/fs/fs.h---deps/clib-package/clib-package.o'] 34['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/mkdirp/mkdirp.h---deps/clib-package/clib-package.o'] 35['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/substr/substr.h---deps/clib-package/clib-package.o'] 36['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/console-colors/console-colors.h---deps/clib-package/clib-package.o'] 37['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/list/list.h---deps/clib-package/clib-package.o'] 38['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/parse-repo/parse-repo.h---deps/clib-package/clib-package.o'] 39['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/http-get/http-get.h---deps/clib-package/clib-package.o'] 40['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/path-join/path-join.h---deps/clib-package/clib-package.o'] 41['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/parson/parson.h---deps/clib-package/clib-package.o'] 42['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/logger/logger.h---deps/clib-package/clib-package.o'] 43['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/debug/debug.h---deps/clib-package/clib-package.o'] 44['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/occurrences/occurrences.h---deps/occurrences/occurrences.o'] 45['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/wildcardcmp/wildcardcmp.h---deps/wildcardcmp/wildcardcmp.o'] 46['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-parser/attribute.o'] 47['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/util.h---deps/gumbo-parser/attribute.o'] 48['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/attribute.h---deps/gumbo-parser/attribute.o'] 49['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/char_ref.h---deps/gumbo-parser/tokenizer.o'] 50['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/token_type.h---deps/gumbo-parser/tokenizer.o'] 51['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-parser/tokenizer.o'] 52['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/string_buffer.h---deps/gumbo-parser/tokenizer.o'] 53['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/parser.h---deps/gumbo-parser/tokenizer.o'] 54['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/util.h---deps/gumbo-parser/tokenizer.o'] 55['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/attribute.h---deps/gumbo-parser/tokenizer.o'] 56['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/insertion_mode.h---deps/gumbo-parser/tokenizer.o'] 57['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/tokenizer_states.h---deps/gumbo-parser/tokenizer.o'] 58['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/error.h---deps/gumbo-parser/tokenizer.o'] 59['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/utf8.h---deps/gumbo-parser/tokenizer.o'] 60['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/tokenizer.h---deps/gumbo-parser/tokenizer.o'] 61['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/vector.h---deps/gumbo-parser/tokenizer.o'] 62['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/string_piece.h---deps/gumbo-parser/tokenizer.o'] 63['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/char_ref.h---deps/gumbo-parser/char_ref.o'] 64['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/token_type.h---deps/gumbo-parser/char_ref.o'] 65['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-parser/char_ref.o'] 66['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/string_buffer.h---deps/gumbo-parser/char_ref.o'] 67['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/util.h---deps/gumbo-parser/char_ref.o'] 68['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/insertion_mode.h---deps/gumbo-parser/char_ref.o'] 69['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/error.h---deps/gumbo-parser/char_ref.o'] 70['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/utf8.h---deps/gumbo-parser/char_ref.o'] 71['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/string_piece.h---deps/gumbo-parser/char_ref.o'] 72['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/parse-repo/parse-repo.h---deps/parse-repo/parse-repo.o'] 73['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/strdup/strdup.h---deps/parse-repo/parse-repo.o'] 74['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/substr/substr.h---deps/parse-repo/parse-repo.o'] 75['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-parser/vector.o'] 76['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/util.h---deps/gumbo-parser/vector.o'] 77['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/vector.h---deps/gumbo-parser/vector.o'] 78['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/parser.h---deps/gumbo-parser/parser.o'] 79['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/insertion_mode.h---deps/gumbo-parser/parser.o'] 80['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/tokenizer_states.h---deps/gumbo-parser/parser.o'] 81['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/vector.h---deps/gumbo-parser/parser.o'] 82['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-parser/parser.o'] 83['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/string_buffer.h---deps/gumbo-parser/parser.o'] 84['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/attribute.h---deps/gumbo-parser/parser.o'] 85['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/error.h---deps/gumbo-parser/parser.o'] 86['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/utf8.h---deps/gumbo-parser/parser.o'] 87['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/token_type.h---deps/gumbo-parser/parser.o'] 88['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/util.h---deps/gumbo-parser/parser.o'] 89['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/tokenizer.h---deps/gumbo-parser/parser.o'] 90['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/commander/commander.h---deps/commander/commander.o'] 91['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/token_type.h---deps/gumbo-parser/error.o'] 92['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-parser/error.o'] 93['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/string_buffer.h---deps/gumbo-parser/error.o'] 94['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/parser.h---deps/gumbo-parser/error.o'] 95['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/util.h---deps/gumbo-parser/error.o'] 96['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/insertion_mode.h---deps/gumbo-parser/error.o'] 97['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/error.h---deps/gumbo-parser/error.o'] 98['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/vector.h---deps/gumbo-parser/error.o'] 99['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/token_type.h---deps/gumbo-parser/utf8.o'] 100['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-parser/utf8.o'] 101['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/string_buffer.h---deps/gumbo-parser/utf8.o'] 102['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/parser.h---deps/gumbo-parser/utf8.o'] 103['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/util.h---deps/gumbo-parser/utf8.o'] 104['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/insertion_mode.h---deps/gumbo-parser/utf8.o'] 105['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/error.h---deps/gumbo-parser/utf8.o'] 106['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/utf8.h---deps/gumbo-parser/utf8.o'] 107['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/vector.h---deps/gumbo-parser/utf8.o'] 108['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/parser.h---deps/gumbo-parser/util.o'] 109['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-parser/util.o'] 110['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/util.h---deps/gumbo-parser/util.o'] 111['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/asprintf/asprintf.h---deps/asprintf/asprintf.o'] 112['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/gumbo-parser/gumbo.h---deps/gumbo-parser/tag.o'] 113['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/tempdir/tempdir.h---deps/tempdir/tempdir.o'] 114['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/strdup/strdup.h---deps/tempdir/tempdir.o'] 115['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/strdup/strdup.h---deps/mkdirp/mkdirp.o'] 116['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/mkdirp/mkdirp.h---deps/mkdirp/mkdirp.o'] 117['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/path-normalize/path-normalize.h---deps/mkdirp/mkdirp.o'] 118['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/strdup/strdup.h---deps/strdup/strdup.o'] 119['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/strdup/strdup.h---deps/debug/debug.o'] 120['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/asprintf/asprintf.h---deps/debug/debug.o'] 121['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/wildcardcmp/wildcardcmp.h---deps/debug/debug.o'] 122['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/debug/debug.h---deps/debug/debug.o'] 123['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/strdup/strdup.h---deps/which/which.o'] 124['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/which/which.h---deps/which/which.o'] 125['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/case/case.h---deps/case/case.o'] 126['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/trim/trim.h---deps/trim/trim.o'] 127['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/fs/fs.h---deps/fs/fs.o'] 128['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/commander/commander.h---clib-install'] 129['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/tempdir/tempdir.h---clib-install'] 130['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/clib-package/clib-package.h---clib-install'] 131['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/fs/fs.h---clib-install'] 132['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/asprintf/asprintf.h---clib-install'] 133['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/console-colors/console-colors.h---clib-install'] 134['/home/lv/WorkSpace/vmake_experiment/clib-master/src/version.h---clib-install'] 135['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/list/list.h---clib-install'] 136['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/http-get/http-get.h---clib-install'] 137['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/parson/parson.h---clib-install'] 138['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/str-replace/str-replace.h---clib-install'] 139['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/logger/logger.h---clib-install'] 140['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/str-concat/str-concat.h---clib-install'] 141['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/debug/debug.h---clib-install'] 142['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/commander/commander.h---clib-search'] 143['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/tempdir/tempdir.h---clib-search'] 144['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/clib-package/clib-package.h---clib-search'] 145['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/strdup/strdup.h---clib-search'] 146['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/fs/fs.h---clib-search'] 147['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/asprintf/asprintf.h---clib-search'] 148['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/case/case.h---clib-search'] 149['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/console-colors/console-colors.h---clib-search'] 150['/home/lv/WorkSpace/vmake_experiment/clib-master/src/version.h---clib-search'] 151['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/list/list.h---clib-search'] 152['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/http-get/http-get.h---clib-search'] 153['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/wiki-registry/wiki-registry.h---clib-search'] 154['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/logger/logger.h---clib-search'] 155['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/debug/debug.h---clib-search'] 156['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/str-flatten/str-flatten.h---clib'] 157['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/which/which.h---clib'] 158['/home/lv/WorkSpace/vmake_experiment/clib-master/deps/trim/trim.h---clib']

    RD 0['src/clib.c---clib-install'] 1['src/clib-search.c---clib-install'] 2['src/clib-install.c---clib-search'] 3['src/clib.c---clib-search']

    opened by Meiye-lj 2
  • Famous libs

    Famous libs

    I think it will be great if clib provides famous libs like cmake or Qt. You can delegate the namespace for these project, such as a clibs. E.g when user want to install Qt he installs official and tested clibs/qt package, not %random-nickname%/qt Maybe it's a good idea.

    help wanted discussion 
    opened by nagayev 1
  • Use GitHub Contents API

    Use GitHub Contents API

    Currently, we make requests to raw.githubusercontent.com which fails to work with private repositories as the [email protected] scheme no longer works. PATs do not seem to work as a query string ?token=.

    The solution appears to be in the GitHub Contents API with the usage basic auth

    enhancement help wanted 
    opened by jwerle 0
  • can't assume master branch any more?

    can't assume master branch any more?

    Now that github is encouraging people to call their primary branch "main" instead of "master" it probably makes sense to default to main or master rather than just master

    enhancement 
    opened by jkroso 3
Releases(2.8.2)
Owner
clibs
Package manager for the C programming language along with some packages.
clibs
📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.

Setup-free CMake dependency management CPM.cmake is a CMake script that adds dependency management capabilities to CMake. It's built as a thin wrapper

CPM.cmake 1.6k Jan 9, 2023
Examples of using Hunter package manager to build and run Android application.

Examples of using Hunter package manager to build and run Android application. Requirements Android NDK Go to download page and choose NDK for your pl

null 33 Oct 11, 2022
CMake wrapper for Xrepo C and C++ package manager

xrepo-cmake CMake wrapper for Xrepo C and C++ package manager. Supporting the project Support this project by becoming a sponsor. Your logo will show

xmake-io 23 Nov 29, 2022
C++ Library Manager for Windows, Linux, and MacOS

Vcpkg: Overview 中文总览 Español 한국어 Français Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are constant

Microsoft 17.5k Jan 1, 2023
Enhanced CMake Project Manager plugin for Qt Creator

CMakeProjectManager2 Alternative CMake support for Qt Creator. Main differents from original CMakeProject plugin: Project file list readed from file s

Alexander Drozdov 71 Nov 20, 2022
C++ package retrieval

cget Cmake package retrieval. This can be used to download and install cmake packages. The advantages of using cget are: Non-intrusive: There is no ne

Paul Fultz II 421 Jan 7, 2023
C package manager-ish

clib(1) Package manager for the C programming language. Installation Expects libcurl to be installed and linkable. With homebrew: $ brew install clib

clibs 4.5k Jan 6, 2023
PMM - The C++ Package Manager Manager

PMM - The Package Manager Manager PMM is a module for CMake that manages... package managers. Wha- Why? People hate installing new software. Especiall

Edgar 13 Dec 14, 2022
Spack is a package manager, and package managers should be trivial to install.

?? Spack with batteries included (linux/x86_64) Spack is a package manager, and package managers should be trivial to install. This repo offers a sing

Harmen Stoppels 22 Dec 1, 2022
BakePKG is a package archive that can install itself without without a package manager.

BakePKG A bad way of packaging applications. Introduction BakePKG is a package archive that can install itself without without a package manager. The

bread 3 Sep 3, 2022
Minimal-ish implementation of Unreal Online Subsystem + ImGui UI

Minimal-ish implementation of Unreal Online Subsystem + ImGui UI

Brace Yourself Games 4 Mar 14, 2022
An implementation of OpenGL 3.x-ish in clean C

PortableGL "Because of the nature of Moore's law, anything that an extremely clever graphics programmer can do at one point can be replicated by a mer

Robert Winkler 652 Jan 7, 2023
Modern(-ish) password hashing for your software and your servers

bcrypt Good password hashing for your software and your servers Installation To install bcrypt, simply: $ pip install bcrypt Note that bcrypt should b

Python Cryptographic Authority 947 Dec 28, 2022
"Sigma File Manager" is a free, open-source, quickly evolving, modern file manager (explorer / finder) app for Windows, MacOS, and Linux.

"Sigma File Manager" is a free, open-source, quickly evolving, modern file manager (explorer / finder) app for Windows, MacOS, and Linux.

Aleksey Hoffman 1.1k Dec 31, 2022
C++ Package Manager

CPM Note CPM is not being actively maintained. I plan on keeping the website active but don't plan on making further modifications to the codebase. If

James 720 Dec 18, 2022
The decentralized package manager for C++ and friends 🏝️

Buckaroo The decentralized package manager for C++ and friends. Why Buckaroo? Package managers like Yarn and Cargo have shown how productive developer

LoopPerfect 903 Jan 6, 2023
📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.

Setup-free CMake dependency management CPM.cmake is a CMake script that adds dependency management capabilities to CMake. It's built as a thin wrapper

CPM.cmake 1.6k Jan 9, 2023
CMake driven cross-platform package manager for C/C++.

Hunter CMake driven cross-platform package manager for C/C++. Linux, Windows, macOS, iOS, Android, Raspberry Pi, etc. Documentation: https://hunter.re

null 497 Jan 3, 2023
Package manager for linux that installs windows apps through wine

Winepkg A package manager for linux that installs windows apps through wine. Usage winepkg -Si mspaint Install Dependencies: wine winetricks wget cur

null 2 May 27, 2022
📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.

Setup-free CMake dependency management CPM.cmake is a CMake script that adds dependency management capabilities to CMake. It's built as a thin wrapper

CPM.cmake 1.6k Jan 9, 2023