Gerenciador de pacotes para a linguagem de programação C.
Espera que o libcurl seja instalado e vinculável.
Com cerveja caseira:
$ brew install clib
Ou MacPorts:
$ sudo port selfupdate
$ sudo port install clib
Com 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
Fedor:
# install libcurl
$ sudo dnf install libcurl-devel
# clone
$ git clone https://github.com/clibs/clib.git /tmp/clib && cd /tmp/clib
# build
$ make
# put on path
$ sudo make install
Basicamente, o copiar/colar do preguiçoso promove utilitários C menores, servindo também como uma ótima maneira de descobrir esse tipo de biblioteca. Pela minha experiência, as bibliotecas C estão espalhadas por toda a web e a descoberta é relativamente pobre. A área ocupada por essas bibliotecas é geralmente bastante grande e desfocada. O objetivo dos clibs
é fornecer "micro" bibliotecas C independentes para os desenvolvedores instalarem rapidamente sem acoplar a grandes estruturas.
Você deve usar clib(1)
para buscar esses arquivos para você e colocá-los em seu repositório, o usuário final e os contribuidores não devem exigir a instalação clib(1)
. Isso permite que clib(1)
se encaixe em qualquer fluxo de trabalho C novo ou existente sem atrito.
A listagem de pacotes do wiki atua como o "registro" e preenche os resultados clib-search(1)
.
clib [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 Display help for cmd
Mais sobre a interface de linha de comando aqui.
Mais exemplos e práticas recomendadas em BEST_PRACTICE.md.
Instale algumas dependências em ./deps
:
$ clib install clibs/ms clibs/commander
Instale-os em ./src
:
$ clib install clibs/ms clibs/commander -o src
Ao instalar bibliotecas da organização clibs
você pode omitir o nome:
$ clib install ms file hash
Instale alguns executáveis:
$ clib install visionmedia/mon visionmedia/every visionmedia/watch
Exemplo de clib.json listando explicitamente a fonte:
{
"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 " ]
}
Exemplo de clib.json para um executável:
{
"name" : " mon " ,
"version" : " 1.1.1 " ,
"repo" : " visionmedia/mon " ,
"description" : " Simple process monitoring " ,
"keywords" : [ " process " , " monitoring " , " monitor " , " availability " ],
"license" : " MIT " ,
"install" : " make install "
}
Consulte a explicação de clib.json para obter mais detalhes.
Se você estiver interessado em fazer parte desta iniciativa, me avise e irei adicioná-lo à organização clibs
para que você possa criar repositórios aqui e contribuir com os já existentes.
Se você tiver algum problema, dúvida ou sugestão, abra um problema aqui.
Você também pode nos encontrar no Gitter: https://gitter.im/clibs/clib
Sinta-se também à vontade para abrir uma discussão no GitHub aqui.
Antes de enviar para o repositório, execute make commit-hook
. Isso instala um gancho de commit que formata os arquivos .c
e .h
.