changeset: 699:55a3adb4ba5b
tag: tip
user: Anonyrodent <dev_AT_suckless.org>
date: Thu Mar 03 14:41:24 2011 +0100
files: suckless.org/misc/broken_libraries.md suckless.org/misc/cool_libraries.md
description:
updated libraries page
diff -r 46b2086a32e1 -r 55a3adb4ba5b suckless.org/misc/broken_libraries.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/suckless.org/misc/broken_libraries.md Thu Mar 03 14:41:24 2011 +0100
_AT_@ -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 -r 46b2086a32e1 -r 55a3adb4ba5b suckless.org/misc/cool_libraries.md
--- a/suckless.org/misc/cool_libraries.md Tue Mar 01 18:42:50 2011 +0300
+++ b/suckless.org/misc/cool_libraries.md Thu Mar 03 14:41:24 2011 +0100
_AT_@ -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
--------------------
_AT_@ -12,12 +13,39 @@
* [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)
Received on Thu Mar 03 2011 - 14:40:51 CET