Package: wnpp Severity: wishlist Owner: Alexander Saprykin <saprykin....@gmail.com>
* Package name : libplibsys0 Version : 0.0.3 Upstream Author : Alexander Saprykin <saprykin....@gmail.com> * URL : https://github.com/saprykin/plibsys * License : LGPL Programming Lang: C Description : Highly portable C system library plibsys is a cross-platform system C library with some helpful routines. It has zero third-party dependencies and uses only native system calls. plibsys provides: - Platform independent data types - Threads, mutexes, condition variables, RW locks - Syste-wide semaphores and shared memory - Optimized spinlock, atomic operations - Socket support (UDP, TCP) with IPv4 and IPv6 - Hash functions (MD5, SHA-1, SHA-2, SHA-3, GOST) - Binary trees (RB, AVL) - INI file parser - High resolution time profiler - Files and directories operations - Shared library loading - Macros to detect CPU architecture, OS and compiler - Some other useful routines to manage linked lists, strings, hash tables To achieve maximum native performance on each platform several implementation models are used: - Threading models: POSIX, Solaris, OS/2, BeOS, AtheOS, Win32 - IPC models: POSIX, System V, OS/2, Win32 - Time profiler models: POSIX, Solaris, Mach, OS/2, BeOS, Win32, generic - Directory iterating models: POSIX, OS/2, Win32 - Shared library loading models: POSIX, HP-UX, OS/2, BeOS, Win32 - Atomic operations models: sync (GCC), C11, DECC, Win32, simulated - Sockets: BSD with Win32 support plibsys is fully covered with unit tests and was tested on the following platforms: - GNU/Linux - macOS - Windows - Cygwin, MSYS - FreeBSD, NetBSD, OpenBSD, DragonFlyBSD - Solaris - AIX - HP-UX - Tru64 - OpenVMS - OS/2 - IRIX - QNX Neutrino - UnixWare 7 - SCO OpenServer 5 - Haiku - Syllable - BeOS It also supports the following modile platforms: - BlackBerry 10 plibsys was tested with the following compilers: - MSVC (x86, x64) 2003 and above - MinGW (x86, x64) - Open Watcom (x86) - Borland (x86) - GCC (x86, x64, PPC32be, PPC64be/le, IA-64/32, IA-64, Alpha, HPPA2.0-32, MIPS32, AArch32, SPARCv9) - Clang (x86, x64, PPC32be) - Intel (x86, x64) - QCC (x86, AArch32) - Oracle Solaris Studio (x86, x64, SPARCv9) - MIPSpro (MIPS32) - XL C (PPC64le) - DEC C (Alpha) - PGI (x86, x64) This library provides most of the functionality you need when writing cross-platform system software. It doesn't have any other dependencies, thus is very lightweight. The build system is written completely using modern CMake. It was already used in some proprietary mission-critical projects. Probably, the closest package would be GLib, but plibsys supports more operating systems (especially if you need to support old ones), more compilers, much easier to port on new platforms and compilers. I'm planning to add and maintain native support for Debian packages. Actually I have already had a draft version of Debian package support, but I still need someone to check and verify it, and also correct my first steps in making packages for Debian.