sites

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit af97171414aa8487ceac77a915ab6e2f57c8289c
parent 218a07bc3a4c019db0b6eb6620e184bbeb158ff6
Author: Anonyrodent <dev@suckless.org>
Date:   Thu,  3 Mar 2011 14:41:24 +0100

updated libraries page
Diffstat:
Asuckless.org/misc/broken_libraries.md | 23+++++++++++++++++++++++
Msuckless.org/misc/cool_libraries.md | 42+++++++++++++++++++++++++++++++++++-------
2 files changed, 58 insertions(+), 7 deletions(-)

diff --git a/suckless.org/misc/broken_libraries.md b/suckless.org/misc/broken_libraries.md @@ -0,0 +1,23 @@ +Broken Libraries +================ + +These libraries are broken/considered harmful and should not be used if it's +possible to avoid them. If you use them, consider looking for alternatives. + +* [glib][1] - implements C++ STL on top of C (because C++ sucks so much, let's + reinvent it!), adding lots of useless data types for + ["portability" and "readability" reasons][2]. + Alternatives: whoever thinks it needs alternatives shall fill this space. + +* [GMP][3] - GNU's bignum/arbitrary precision library. Quite bloated, slow and + [calls abort() on failed malloc][4] + Alternatives: [libtommath][5], [TomsFastMath][6], [MPI][7] + + +[1]: http://library.gnome.org/devel/glib/ +[2]: http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html (glib Basic Types) +[3]: http://gmplib.org/ (The GNU Multiple Precision Arithmetic Library) +[4]: http://gmplib.org:8000/gmp/file/14cd74efb9de/memory.c#l44 "GMP calls abort() on failed malloc()" +[5]: http://libtom.org/?page=features&newsitems=5&whatfile=ltm +[6]: http://libtom.org/?page=features&newsitems=5&whatfile=tfm +[7]: http://spinning-yarns.org/michael/mpi/ diff --git a/suckless.org/misc/cool_libraries.md b/suckless.org/misc/cool_libraries.md @@ -1,10 +1,11 @@ COOL LIBRARIES ============== -This category is for small, usable development libraries, which can be used for writing -software that sucks less. -These should be under the MIT/X consortium or BSD licenses or public domain, because it makes -them legally compatible with other suckless projects. +This category is for small, usable development libraries, which can be used for +writing software that sucks less. +These should preferrably be under the MIT/X consortium or BSD licenses, WTFPL, +or public domain, or alternatively LGPL, because it makes them legally +compatible with other suckless projects. libc implementations -------------------- @@ -12,12 +13,39 @@ libc implementations * [musl](http://www.etalabs.net/musl/) - standard C library that attempts to be even smaller than uClibc * See also: [embedded libc comparison](http://www.etalabs.net/compare_libcs.html) -configuration file parsers +Configuration file parsers -------------------------- -* [iniparser](http://ndevilla.free.fr/iniparser/) - small implementation for parsing ini files (MIT licensed) +* [iniparser](http://ndevilla.free.fr/iniparser/) - relatively small ini parsing library, contains a dictionary data structure and accessory functions (MIT licensed) +* [ini.c](http://c.snippets.org/snip_lister.php?fname=ini.c) - code snippet on snippets.org (public domain) +* [cfg.c](http://c.snippets.org/snip_lister.php?fname=cfg.c) - code snippet for parsing a simple key-value config file (public domain) +* [initvars.c](http://c.snippets.org/snip_lister.php?fname=initvars.c) - yet another snippet (public domain) -compression +Compression ----------- * [liblzf](http://oldhome.schmorp.de/marc/liblzf.html) - very fast, legally unencumbered compression library (dual licensed: 2-clause BSD or GPL License) * [xz embedded](http://tukaani.org/xz/embedded.html) - lightweight decompressor for the xz LZMA compressor (public domain) * [zlib](http://zlib.net/) - the "standard" compression/decompression library used in many applications ([zlib license](http://zlib.net/zlib_license.html)) + +libtom project +-------------- +All of these are dual-licensed under WTFPL and also public domain. According +to the website, "[…] the GPG and OpenSSL folk assume that completely abhorrent +and messy source code is ok, so long as it works. The LibTom Projects aims to +change this line of thinking." +* [libtommath, libtomcrypt and libtomfastmath](http://libtom.org/) + +Cryptography +------------ +* [libtomcrypt](http://libtom.org/?page=features&newsitems=5&whatfile=crypt) - the cryptography library from the libtom project +* [polarssl](http://polarssl.org/) - lightweight SSL/TLS implementation using libmpi (unfortunately GPL) + +Mathematics +----------- +* [libtommath](http://libtom.org/?page=features&newsitems=5&whatfile=ltm) - math/bignum library (can be used insted of the much bigger [GNU MP](http://gmplib.org) library). +* [libtomfastmath](http://libtom.org/?page=features&newsitems=5&whatfile=tfm) - port of libtommath using inline assembler for speedup on various architectures +* [libmpi](http://spinning-yarns.org/michael/mpi/) - lightweight math lib from which libtommath was originally forked + +Miscellaneous +------------- +* [code snippets database](http://c.snippets.org/browser.php) - contains various code snippets, most of which are public domain +* [pjsip](http://www.pjsip.org/) - open source SIP stack (GPL)