Paketmanager für die Programmiersprache C.
Erwartet, dass libcurl installiert und verknüpfbar ist.
Mit Homebrew:
$ brew install clib
Oder MacPorts:
$ sudo port selfupdate
$ sudo port install clib
Mit 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
Fedora:
# 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
Im Grunde ist es das Kopieren/Einfügen des faulen Mannes, das kleinere C-Dienstprogramme fördert und auch eine gute Möglichkeit darstellt, diese Art von Bibliotheken zu entdecken. Meiner Erfahrung nach sind C-Bibliotheken im gesamten Web verstreut und die Auffindbarkeit ist relativ schlecht. Der Platzbedarf dieser Bibliotheken ist normalerweise recht groß und unfokussiert. Das Ziel von clibs
besteht darin, eigenständige „Mikro“-C-Bibliotheken bereitzustellen, die Entwickler schnell installieren können, ohne eine Kopplung an große Frameworks.
Sie sollten clib(1)
verwenden, um diese Dateien für Sie abzurufen und in Ihr Repository einzuchecken. Endbenutzer und Mitwirkende sollten keine Installation von clib(1)
benötigen. Dadurch kann clib(1)
problemlos in jeden neuen oder vorhandenen C-Workflow integriert werden.
Die Wiki-Liste der Pakete fungiert als „Registrierung“ und füllt die clib-search(1)
-Ergebnisse.
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
Mehr zum Command Line Interface hier.
Weitere Beispiele und Best Practices unter BEST_PRACTICE.md.
Installieren Sie einige Abhängigkeiten zu ./deps
:
$ clib install clibs/ms clibs/commander
Installieren Sie sie stattdessen in ./src
:
$ clib install clibs/ms clibs/commander -o src
Wenn Sie Bibliotheken von der clibs
-Organisation installieren, können Sie den Namen weglassen:
$ clib install ms file hash
Installieren Sie einige ausführbare Dateien:
$ clib install visionmedia/mon visionmedia/every visionmedia/watch
Beispiel für eine clib.json, die die Quelle explizit auflistet:
{
"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 " ]
}
Beispiel einer clib.json für eine ausführbare Datei:
{
"name" : " mon " ,
"version" : " 1.1.1 " ,
"repo" : " visionmedia/mon " ,
"description" : " Simple process monitoring " ,
"keywords" : [ " process " , " monitoring " , " monitor " , " availability " ],
"license" : " MIT " ,
"install" : " make install "
}
Weitere Einzelheiten finden Sie in der Erläuterung von clib.json.
Wenn Sie daran interessiert sind, Teil dieser Initiative zu sein, lassen Sie es mich wissen und ich füge Sie der clibs
-Organisation hinzu, damit Sie hier Repos erstellen und zu bestehenden beitragen können.
Wenn Sie Probleme, Fragen oder Vorschläge haben, eröffnen Sie bitte hier ein Problem.
Sie finden uns auch auf Gitter: https://gitter.im/clibs/clib
Sie können hier auch gerne eine GitHub-Diskussion eröffnen.
Führen Sie vor dem Commit in das Repository bitte make commit-hook
aus. Dadurch wird ein Commit-Hook installiert, der .c
und .h
Dateien formatiert.