Guides & References

About Vala

The Vala Tutorial by GNOME

Vala for C# Programmers by GNOME

Vala for Java Programmers by GNOME

Gtk+ Kick-Start Tutorial for Vala by Alberto Ruiz

Vala Language Introduction by Andre Masella

Creating elementary OS apps with GTK & Vala

Learn Vala and Gtk+ from Scratch (Playlist)

Packages

Submitting API-Bugs and Patches

For all bindings where the status is not marked as external, and unless otherwise noted, bugs and pull-requests should be submitted to the Vala product in the GNOME GitLab instance.

Projects without VAPI files

Most GObject-instrospected projects are shipping their own bindings and Vala also ships with many of them. For many non-GObject introspected libraries, a repository is available in the vala-extra-vapis project in the GNOME GitLab instance.

GNOME & Friends

Core

gee-0.8 Libgee is a collection library providing GObject-based interfaces and classes for commonly used data structures.

gio-2.0 GIO provides a modern and easy-to-use VFS API. It provides a file system abstraction which allows applications to access local and remote files with a single consistent API.

gio-unix-2.0 UNIX-specific file abstractions for GIO.

glib-2.0 GLib provides the core application building blocks for libraries and applications written in C. It provides the core object system used in GNOME, the main loop implementation, and a large set of utility functions for strings and common data structures.

gmodule-2.0 Portable method for dynamically loading 'plug-ins'

gobject-2.0 GObject provides the object system used for Pango and GTK+.

libpeas-gtk-1.0 A GObject-based plugins engine

User Interface

champlain-gtk-0.12 Libchamplain-gtk is a C library on top of libchamplain providing a Gtk+ widget to display maps in GTK+ applications.

clutter-1.0 Clutter is a GObject based library for creating fast, visually rich, graphical user interfaces.

clutter-gtk-1.0 GTK clutter widget.

gegl-gtk3-0.1 Utility library for using GEGL in GTK+ 3 based applications

goocanvas-2.0 GooCanvas is a canvas widget for GTK+ that uses the cairo 2D library for drawing.

gtk+-3.0 GTK+ is the primary library used to construct user interfaces in GNOME applications. It provides user interface controls and signal callbacks to control user interfaces.

gtk4 GTK is the primary library used to construct user interfaces in GNOME applications. It provides user interface controls and signal callbacks to control user interfaces.

gtksourceview-3.0 GtkSourceView is a portable C library that extends the standard GTK+ framework for multiline text editing with support for configurable syntax highlighting, unlimited undo/redo, search and replace, a completion framework, printing and other features typical of a source code editor.

gtksourceview-4 GtkSourceView is a GNOME library that extends GtkTextView, the standard GTK+ widget for multiline text editing. GtkSourceView adds support for syntax highlighting, undo/redo, file loading and saving, search and replace, a completion system, printing, displaying line numbers, and other features typical of a source code editor.

javascriptcoregtk-4.0 WebKitGTK+ is a full-featured port of the WebKit rendering engine, suitable for projects requiring any kind of web integration, from hybrid HTML/CSS applications to full-fledged web browsers. This is the library to use to acces JavaScript from WebKitGTK.

libdazzle-1.0 The libdazzle library is a companion library to GObject and Gtk+. It provides various features that we wish were in the underlying library but cannot for various reasons. In most cases, they are wildly out of scope for those libraries. In other cases, our design isn't quite generic enough to work for everyone.

libgda-ui-5.0 Libgda is a (relatively small) database access library. This package provides GTK+ widgets to database access.

libgnome-menu-3.0 Utility library for loading .desktop files.

libhandy-0.0 A library full of GTK+ widgets for mobile phones

libhandy-1 Building blocks for modern adaptive GNOME apps

vte-2.91 Terminal emulator widget used by GNOME terminal.

webkit2gtk-4.0 WebKitGTK+ is a full-featured port of the WebKit rendering engine, suitable for projects requiring any kind of web integration, from hybrid HTML/CSS applications to full-fledged web browsers.

webkit2gtk-web-extension-4.0 WebKitGTK+ is a full-featured port of the WebKit rendering engine, suitable for projects requiring any kind of web integration, from hybrid HTML/CSS applications to full-fledged web browsers. This is the library to use to build extensions running in the separated webprocess.

Multimedia

babl-0.1 babl is pixel encoding and color space conversion engine in C. It allows converting between different methods of storing pixels known as pixel formats that have with different bitdepths and other data representations, color models, color spaces and component permutations. A vocabulary to formulate new pixel formats from existing primitives is provided as well as the framework to add new color models, spaces and data types.

clutter-gst-3.0 GStreamer bindings for clutter.

gegl-0.3 GEGL (Generic Graphics Library) is a data flow based image processing framework, providing floating point processing and non-destructive image processing capabilities to GNU Image Manipulation Program and other projects (imgflo, GNOME Photos, gcut, iconographer, …)

gegl-0.4 GEGL (Generic Graphics Library) is a data flow based image processing framework, providing floating point processing and non-destructive image processing capabilities to GNU Image Manipulation Program and other projects (imgflo, GNOME Photos, gcut, iconographer, …)

gexiv2 gexiv2 is a GObject wrapper around the Exiv2 photo metadata library. It allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP metadata in photo and video files of various formats

grilo-0.3 Framework that provides access to various sources of multimedia content

grilo-net-0.3 Network classes for Grilo

gssdp-1.0 GObject-based API for handling resource discovery and announcement over SSDP.

gst-editing-services-1.0 The GStreamer Editing Services (GES) aims to fill the gap between GStreamer/NLE and the application developer by offering a series of classes to simplify the creation of many kind of editing-related applications.

gstreamer-1.0 Powerful framework for creating multimedia applications. Supports both Audio and Video.

gstreamer-allocators-1.0 GStreamer Allocators Library

gstreamer-app-1.0 GStreamer App Library

gstreamer-audio-1.0 GStreamer Audio Library

gstreamer-base-1.0 GStreamer Multimedia Framework Base plugin libraries.

gstreamer-check-1.0 GStreamer Check Unit Testing

gstreamer-controller-1.0 GStreamer Dynamic Parameter Control

gstreamer-fft-1.0 GStreamer FFT Library

gstreamer-net-1.0 GStreamer Network Classes

gstreamer-pbutils-1.0 General Application and Plugin Utility Library

gstreamer-player-1.0 GStreamer Player Library

gstreamer-riff-1.0 GStreamer RIFF Library

gstreamer-rtp-1.0 GStreamer RTP Library

gstreamer-rtsp-1.0 GStreamer RTSP Library

gstreamer-rtsp-server-1.0 GStreamer RTSP Server-Library

gstreamer-sdp-1.0 GStreamer SDP Library

gstreamer-tag-1.0 GStreamer Tag Support Library

gstreamer-video-1.0 Support library for video operations

gstreamer-webrtc-1.0 GStreamer WebRTC Library

gupnp-1.0 Core UPnP API built on top of gssdp

gupnp-av-1.0 Small utility library that aims to ease the handling and implementation of UPnP audio/video profiles

gupnp-dlna-2.0 GUPnP DLNA is a set of utility APIs to simplify DLNA-specific bits of MediaServer implementations, such as DLNA media profile guessing.

gupnp-dlna-gst-2.0 GStreamer integration for GUPnP DLNA

libcanberra A small and lightweight implementation of the XDG Sound Theme Specification.

libcanberra-gtk Libcanberra-gtk provides a few functions that simplify libcanberra usage from Gtk+.

rygel-core-2.6 Librygel-core is a collection of classes useful to Rygel's server and renderer implementation libraries and useful to plugin implementors.

rygel-db-2.6 This library implements a generic database abstraction used by rygel and rygel plugins

rygel-renderer-2.6 This library may be used to create UPnP or DLNA Renderers. For instance, librygel-renderer-gst uses librygel-renderer with GStreamer to implement its RygelPlaybinRenderer renderer.

rygel-renderer-gst-2.6 This library may be used to create UPnP or DLNA Renderers using GStreamer. The RygelPlaybinRenderer may wrap an existing GStreamer playbin or create its own. See the example.

rygel-ruih-2.0 This library implements the Remote User Interface Server protocol interfaces.

rygel-server-2.6 This library may be used to create UPnP or DLNA servers, Rygel Server plugins or Rygel Media Engines

Under the Hood

atk ATK provides the set of accessibility interfaces that are implemented by other toolkits and applications. Using the ATK interfaces, accessibility tools have full access to view and control running applications.

atspi-2 AT-SPI2 is a D-Bus based accessibility framework. It defines a D-Bus protocol for providing and accessing application accessibility information. The project includes a library for bridging the D-Bus protocol to the ATK API, allowing Gtk based applications to be made accessible.

cairo Cairo is a 2D graphics library with support for multiple output devices like the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG.

cogl-1.0 COGL is a low level OpenGL abstraction library developed for (and part of) Clutter. It is used primarily by Clutter to provide a common rendering API that works transparently across OpenGL >=1.4, OpenGL ES 1.1 and OpenGL ES 2.0.

cogl-pango-1.0 Binding for the CoglPango 1.0 library.

gdk-3.0 An intermediate layer which isolates GTK+ from the details of the windowing system.

gdk-pixbuf-2.0 GdkPixbuf is a library for image loading and manipulation. The GdkPixbuf documentation contains both the programmer's guide and the API reference.

gdk-x11-3.0 X backend-specific API for gdk.

graphene-gobject-1.0 A thin layer of types for graphic libraries

ibus-1.0 Next Generation Input Bus for Linux.

librsvg-2.0 Library for rendering of SVG vector graphics.

pango Pango is the core text and font handling library used in GNOME applications. It has extensive support for the different writing systems used throughout the world.

pangocairo Rendering with the Cairo backend.

Data Storage

camel-1.2 Camel is a generic messaging library. It supports the standard messaging system for receiving and sending messages. It is the messaging backend for Evolution.

folks Libfolks is a library that aggregates people from multiple sources (eg, Telepathy connection managers and eventually evolution data server, Facebook, etc.) to create metacontacts.

gcalc-1 GNOME Calculator's library to parse and evaluate math expressions

libaccounts-glib Accounts management library for online services.

libebook-1.2 This package is a client library for evolution addressbooks.

libebook-contacts-1.2 This package is a client library for evolution addressbooks.

libecal-2.0 This package is a client library for evolution calendars.

libecalendar-1.2 This package is a client library for evolution calendars.

libedataserver-1.2 The data server, called "Evolution Data Server" is responsible for managing calendar and addressbook information.

libgda-5.0 Libgda is a (relatively small) database access library.

libgda-6.0 Libgda is a (relatively small) database access library.

libgeoclue-2.0 GeoClue is a D-Bus geoinformation service. The goal of the Geoclue project is to make creating location-aware applications as simple as possible.

libical-glib Implementation of the iCalendar protocols and protocol data units. The iCalendar specification describes how calendar clients can communicate with calendar servers so users can store their calendar data and arrange meetings with other users.

libmediaart-1.0 The libmediaart library is the foundation for media art caching, extraction and lookup for applications on the desktop.

libsecret-1 libsecret is a library for storing and retrieving passwords and other secrets. It communicates with the "Secret Service" using DBus. gnome-keyring and ksecretservice are both implementations of a Secret Service.

sqlite3 A C library that implements an SQL database engine.

tracker-control-2.0 External control and monitoring of miners

tracker-miner-2.0 The libtracker-miner library is the foundation for Tracker data miners, these miners will extract metadata and insert it in SPARQL form to a TrackerSparqlConnection.

tracker-sparql-2.0 The libtracker-sparql library is the foundation for Tracker querying and inserting into the data store. The data store allows both querying and inserting using SPARQL based on the Nepomuk ontology.

vda-1 Vala Data Access library, a set of interfaces to connect to databases and execute queries

vgda-1 VDA implementation using GDA as backend, suitable to implement new GDA supported implementations

vgpg-1 VDA implementation using GDA as backend to connect to PostgreSQL databases

vgsl-1 VDA implementation using GDA as backend to connect to SQLite databases

vpg-1 VDA implementation using to connect directly to PostgreSQL databases

Web Services & HTTP

gmime-3.0 MIME message parser and creator library

gnutls A library which provides a secure layer over a reliable transport layer

goa-1.0 A centralized service that allows a set of online accounts to be configured for use with core GNOME applications. In UX terms, GOA provides a static list of online accounts that can be setup by users (through the Online Accounts panel in System Settings). These accounts can then be used by core GNOME applications.

gsignond Single signon daemon library.

gweather-3.0 Location and timezone database and weather-lookup library.

libcurl An open source command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMTP, SMTPS, Telnet and TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, HTTP/2, cookies, user+password authentication (Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos), file transfer resume, proxy tunneling and more.

libgdata GData (Google data) is a set of Application Programming Interfaces (APIs) for the Common Language Infrastructure (CLI) which provide a simple protocol for reading and writing data on the web.

libnm Network management framework.

libnm-glib Network management framework. (replaced by libnm)

libnm-util Network management framework, utils.

libsignon-glib Single signon authentication library for online services.

libsoup-2.4 libsoup is an HTTP client/server library for GNOME. It uses GObjects and the glib main loop, to integrate well with GNOME applications.

libuhttpmock-0.0 HTTP web service mocking project for projects which use libsoup

mock-service-0 Mock service

rest-0.7 A helper library for RESTful services.

rest-extras-0.7 This extra package provides Facebook and Flickr support.

telepathy-glib Telepathy is a D-Bus framework for unifying real time communication, including instant messaging, voice calls and video calls. It abstracts differences between protocols to provide a unified interface for applications.

valum-0.3 Web micro-framework written in Vala

vsgi-0.3 Middleware that interfaces various Web server technologies

Markup

gxml-0.16 GObject XML library and serialization framework.

json-glib-1.0 JSON-GLib is a library for reading and parsing JSON using GLib and GObject data types and API.

libgrss LibGRSS is a library for easy management of RSS/Atom/Pie feeds. Includes methods to fetch, parse and handle XML documents, an implementation of PubSubHubBub client, an OPML parser and some more utility.

libxml-2.0 Powerful and feature complete XML handling library.

template-glib-1.0 Template-GLib is a library to generate text from a template and user defined state. Template-GLib allows you to access properties on GObjects as well as call simple methods via GObject-Introspection Template-GLib does not use a language runtime, so it is safe to use from any GObject-Introspectable language.

Remote Display Systems & Virtualization

gtk-vnc-2.0 A VNC viewer widget for GTK+.

gvnc-1.0 VNC gobject wrapper.

gvncpulse-1.0 A bridge to the Pulse Audio system for VNC. It allows VNC clients to play back audio on the local system

libguestfs-gobject-1.0 GObject binding for libguestfs, a set of tools for accessing and modifying virtual machine disk images.

libvirt-gconfig-1.0 libvirt object APIs for processing object configuration.

libvirt-glib-1.0 API for controlling virtualization engines. (openvz,kvm,qemu,virtualbox,xen,etc)

libvirt-gobject-1.0 GLib and GObject mapping of libvirt.

spice-client-glib-2.0 GObject for communicating with Spice servers.

spice-client-gtk-3.0 A Gtk client and libraries for SPICE remote desktop servers.

spice-protocol Headers for SPICE protocol.

Other

accountsservice Query and manipulate user account information

appstream AppStream is a cross-distro effort for enhancing the way we interact with the software repositories provided by the distribution by standardizing sets of additional metadata.

avahi-client The Avahi package is a system which facilitates service discovery on a local network.

avahi-gobject Avahi is a system which facilitates service discovery on a local network via the mDNS/DNS-SD protocol suite. This enables you to plug your laptop or computer into a network and instantly be able to view other people who you can chat with, find printers to print to or find files being shared. Compatible technology is found in Apple MacOS X (branded Bonjour and sometimes Zeroconf).

champlain-0.12 Libchamplain is a C library providing a ClutterActor to display maps.

colord System daemon for managing color devices.

colord-gtk GTK integration for libcolord.

dbus-glib-1 Initial D-Bus Support (Do not use in new projects, use DBus support included in GLib instead)

enchant A wrapper library for generic spell checking.

gck-1 Glib wrapper library for PKCS#11

gcr-3 A library for bits of crypto UI and parsing

gcr-ui-3 GCR widgets

gdl-1.0 The GNOME Devtools Library package provides a docking system and several utilities useful to GNOME development tools and GNOME applications in general.

gdl-3.0 The GNOME Devtools Library package provides a docking system and several utilities useful to GNOME development tools and GNOME applications in general.

gedit Official text editor of the GNOME desktop environment.

geocode-glib-1.0 Geocode Helper library

gobject-introspection-1.0 GObject introspection is a middleware layer between C libraries (using GObject) and language bindings.

gudev-1.0 Gudev is a system device management application for the GNOME desktop.

jsonrpc-glib-1.0 Jsonrpc-GLib is a library to communicate with JSON-RPC based peers in either a synchronous or asynchronous fashion. It also allows communicating using the GVariant serialization format instead of JSON when both peers support it. You might want that when communicating on a single host to avoid parser overhead and memory-allocator fragmentation

libarchive Library that can create and read several streaming archive formats.

libdmapsharing-3.0 A library that implements the DMAP family of protocols

libepc-1.0 The Easy Publish and Consume library (libepc) provides an easy method to publish data using HTTPS, announce that information via DNS-SD, find that information and finally consume it.

libgit2-glib-1.0 GLib wrapper library around the libgit2 git access library.

libgitg-1.0 Small, fast and convenient set of widgets to visualize the history of git repositories.

libgitg-ext-1.0 Gitg extensions library.

libgsf-1 Structured File Library (GSF) is an I/O abstraction for reading/writing compound files.

libnotify libnotify is a library that sends desktop notifications to a notification daemon, as defined in the Desktop Notifications spec. These notifications can be used to inform the user about an event or display some form of information without getting in the user's way.

liboobs-1 GObject based interface to system-tools-backends.

libosinfo-1.0 Library for managing information about operating systems and hypervisors.

libpeas-1.0 libpeas is a gobject-based plugins engine, and is targetted at giving every application the chance to assume its own extensibility.

libwnck-3.0 Library to manage X windows and workspaces (via pagers, tasklists, etc.)

packagekit-glib2 Library for accessing PackageKit using GLib.

pkcs11 Provides a way to load and enumerate PKCS#11 modules. Provides a standard configuration setup for installing PKCS#11 modules in such a way that they're discoverable.

poppler-glib PDF rendering library.

udisks2 Disk Management Service.

Ubuntu

dbusmenu-glib-0.4 A small little library that was created by pulling out some comon code out of indicator-applet. It passes a menu structure across DBus so that a program can create a menu simply without worrying about how it is displayed on the other side of the bus.

dbusmenu-gtk3-0.4 A small little library that was created by pulling out some comon code out of indicator-applet. It passes a menu structure across DBus so that a program can create a menu simply without worrying about how it is displayed on the other side of the bus.

dee-1.0 Library to provide objects allowing to create Model-View-Controller type programs across DBus.

snapd-glib Library providing a GLib interface to snapd

unity A library for instrumenting- and integrating with all aspects of the Unity shell.

unity-trace Logging using Unity's Trace system.

zeitgeist-2.0 Zeitgeist is a service which logs the users's activities and events (files opened, websites visites, conversations held with other people, etc.) and makes relevant information available to other applications. It is able to establish relationships between items based on similarity and usage patterns.

zeitgeist-datamodel-2.0 Zeitgeist, data model

Pantheon

granite Granite is an extension of GTK+. Among other things, it provides complex widgets and convenience functions designed for use in apps built for elementary OS.

switchboard-2.0 Switchboard is a modular system settings hub containing plugs (settings panels)

SDL

sdl A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard.

sdl-gfx SDL Graphic Primitives.

sdl-image A simple library to load images of various formats as SDL surfaces.

sdl-mixer A simple multi-channel audio mixer.

sdl-net A small sample cross-platform networking library.

sdl-ttf A library that allows you to use TrueType fonts in your SDL applications.

Databases & Resource Description

libpq Client API for PostgreSQL.

mysql Client API for MySQL.

raptor A library that parses RDF/XML/N-Triples into RDF triples

rasqal A free library that handles Resource Description Framework (RDF) query syntaxes, query construction and query execution returning result bindings

tokyocabinet Kyoto Cabinet is a library of routines for managing a database.

System

alsa An alternative implementation of Linux sound support

atasmart ATA S.M.A.R.T. Reading and Parsing Library

curses Character screen handling and windowing.

fuse A library that makes it possible to implement a filesystem in a userspace program.

gusb GLib wrapper around libusb-1.0

hal These pages attempt to provide a specification and an implementation of a hardware abstraction layer.

libftdi A library to talk to FTDI chips.

libmm-glib ModemManager provides a unified high level API for communicating with (mobile broadband) modems.

libnl-3.0 The libnl suite is a collection of libraries providing APIs to netlink protocol based Linux kernel interfaces.

libpulse A featureful, general-purpose sound server (client library)

libpulse-mainloop-glib A featureful, general-purpose sound server (client library)

libpulse-simple A featureful, general-purpose sound server (client library)

libusb-1.0 A cross-platform user-mode library, for generic access to USB devices

linux API for the Linux-based GNU systems.

posix The Portable Operating System Interface.

readline GNU readline library.

v4l2 A universal control panel for Video for Linux Two (V4L2) devices

x11 Binding to the X11 graphics library.

xtst X11 Testing -- Resource extension library.

Multimedia

libgvc Graph visualization software.

libmagic An image manipulation library.

pixman-1 The pixel-manipulation library for X and cairo.

taglib_c TagLib Audio Meta-Data Library.

tiff Library for manipulation of TIFF images.

Other

bump Bump is a library designed to make asynchronous programming easy by providing high-level data structures for concurrency management, including multi-threading and main loop callbacks, in GObject/GIO based projects, especially those written in Vala.

bzlib Libraries and include files for the bzip2 compressor library.

gpseq-1.0 A parallelism library for Vala and GObject.

gsl A collection of numerical routines for scientific computing.

hildon-1 Hildon Widgets is a set of widgets present in the Hildon framework. Its aim is to create finger-friendly graphical interfaces specially designed for use in mobile devices.

hildon-fm-2 Hildon File Management.

libdaemon Libdaemon is a leightweight C library which eases the writing of UNIX daemons.

libesmtp LibESMTP is a library to manage posting (or submission of) electronic mail using SMTP to a preconfigured Mail Transport Agent (MTA) such as Exim. It may be used as part of a Mail User Agent (MUA) or another program that must be able to post electronic mail but where mail functionality is not the program's primary purpose.

libosso Libosso is a wrapper library for user applications for platform-specific, frequently-used D-Bus services.

libproxy-1.0 Automatic proxy configuration management library.

loudmouth-1.0 Loudmouth is a C library that enables applications to use the Jabber protocol. It is designed to be cross platform, and straightforward to use.

lua Programming language designed for extending applications.

mx-2.0 The Moblin UI Toolkit is a project to create useful widgets for Clutter-based applications. It includes widgets such as edit controls, buttons, and many more.

orc-0.4 The Open Resource Container is a general-purpose, platform-independant file format for storing many different types of data that applications may need.

purple IM library extracted from Pidgin.

zlib A Massively Spiffy Yet Delicately Unobtrusive Compression Library

Vala Extra Vapis

aubio Plugins to allow abiword to import file types from other wordprocessors.

augeas A library for changing configuration files.

cairo-xcb Cairo - multi-platform 2D graphics library

cairosdl convenience functions for setting up drawing to SDL surfaces using cairo.

check Check is a unit testing framework for C. It features a simple interface for defining unit tests, putting little in the way of the developer. Tests are run in a separate address space, so both assertion failures and code errors that cause segmentation faults or other signals can be caught. Test results are reportable in the following: Subunit, TAP, XML, and a generic logging format.

cpufreq An initscript to set CPU frequency settings.

ctpl CTPL is a template library written in C. It allows fast and easy parsing of templates from many sources (including in-memory data and local and remote streaming, thanks to GIO) and fine control over template parsing environment.

cups CUPS printing system.

fcgi A language independent, scalable, open extension to CGI that provides high performance without the limitations of server specific APIs.

gcrypt A general purpose crypto library based on the code used in GNU Privacy Guard. This is a development version.

gles2 The Standard for Embedded Accelerated 3D Graphics.

glfw3 A free, open source, multi-platform library for OpenGL application development that provides a powerful API for handling operating system specific tasks such as opening an OpenGL window, reading keyboard, mouse, joystick and time input, creating threads, and more.

gpg-error This is a library that defines common error values for all GnuPG components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt, pinentry, SmartCard Daemon and possibly more in the future.

gpgme A library designed to make access to GnuPG easier for applications. It provides a high-level Crypto API for encryption, decryption, signing, signature verification, and key management. Currently it uses GnuPG as its back-end, but the API is not restricted to this engine.

kiss_fft A Fast Fourier Transform based up on the principle, "Keep It Simple, Stupid." Kiss FFT is a very small, reasonably efficient, mixed radix FFT library that can use either fixed or floating point data types.

leveldb A fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.

libcolumbus A lightweight library for document indexing and fuzzy searching.

libcouchbase The C library provides fast access to documents in Couchbase Server 2.0. With JSON documents and Couchbase server 2.0 you have new ways to index and query data stored in the cluster through views. This client library, libcouchbase, also simplifies requests to Views through its handling of HTTP transport.

libevent Abstract asynchronous event notification library. The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. libevent is meant to replace the asynchronous event loop found in event driven network servers.

libgsasl The library includes support for the SASL framework and at least partial support for the CRAM-MD5, EXTERNAL, GSSAPI, ANONYMOUS, PLAIN, SECURID, DIGEST-MD5, LOGIN, and NTLM mechanisms.

libmatheval Library for parsing and evaluating symbolic expressions input as text

libmemcached Client library and command line tools for memcached server

libmemcachedutil Libmemcached is a C and C++ client library to the memcached server. It has been designed to be light on memory usage, thread safe, and provide full access to server side methods. The libmemcachedutil library contains utility functions used by libmemcached.

libqpid-proton Qpid Proton is a high-performance, lightweight messaging library. It can be used in the widest range of messaging applications, including brokers, client libraries, routers, bridges, proxies, and more. Proton makes it trivial to integrate with the AMQP 1.0 ecosystem from any platform, environment, or language.

libqrencode QRencode is a library to encode a string as a QR code and save it as a PNG image.

librabbitmq This is a C-language AMQP client library for use with AMQP servers.

libserialport libserialport is a minimal library written in C that is intended to take care of the OS-specific details when writing software that uses serial ports. By writing your serial code to use libserialport, you enable it to work transparently on any platform supported by the library.

libstemmer Snowball stemming algorithms for use in Information Retrieval Snowball provides access to efficient algorithms for calculating a "stemmed" form of a word. This is a form with most of the common morphological endings removed; hopefully representing a common linguistic base form. This is most useful in building search engines and information retrieval software; for example, a search with stemming enabled should be able to find a document containing "cycling" given the query "cycles".

libsystemd-id128 This package provides the systemd-id128 shared library.

libsystemd-journal This package provides the systemd-journal shared library.

libzmq The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.

magic A very capable VLSI layout tool.

oniguruma Oniguruma is a regular expressions library. The characteristics of this library is that different character encoding for every regular expression object can be specified. (supported APIs: GNU regex, POSIX and Oniguruma native)

OpenCL OpenCL (Open Computing Language) is the open, royalty-free standard for cross-platform, parallel programming of diverse processors found in personal computers, servers, mobile devices and embedded platforms.

opencv OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library.

portaudio PortAudio is a portable audio I/O library designed for cross-platform support of audio. It uses a callback mechanism to request audio processing. Audio can be generated in various formats, including 32 bit floating point, and will be converted to the native format internally.

portmidi Real-time MIDI input/output, audio I/O library.

pwquality The library purpose is to provide common functions for password quality checking and also scoring them based on their apparent randomness. The library also provides a function for generating random passwords with good pronounceability. The library supports reading and parsing of a configuration file.

samplerate A Sample Rate Converter for audio.

sane-backends Scanner Access Now Easy (SANE) is a universal scanner interface. The SANE application programming interface (API) provides standardized access to any raster image scanner hardware (flatbed scanner, hand-held scanner, video and still cameras, frame-grabbers, etc.).

sdl2 Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

sdl2-android Android-specific API for SDL.

sdl2-gfx Provides the basic drawing functions such as lines, circles or polygons provided by SDL_gfx on SDL2 against renderers of SDL2.

sdl2-image An image file loading library.

sdl2-ios IOS-specific API for SDL.

sdl2-mixer A sample multi-channel audio mixer library.

sdl2-net A small sample cross-platform networking library, with a sample chat client and server application. The chat client uses the GUIlib GUI framework library.

sdl2-ttf A sample library which allows you to use TrueType fonts in your SDL applications. It comes with an example program "showfont" which displays an example string for a given TrueType font file.

sdl2-windows Windows-specific API for SDL.

sensors Hardware health monitoring for Linux. Includes programs that show data from some sensor chips. The interface /proc/bus/i2c/ is provided by loading kernel modules.

snappy Fast compression and decompression library. It does not aim for maximum compression, or compatibility with any other compression library; instead, it aims for very high speeds and reasonable compression.

sndfile GNUstep GUI package.

tcc Tiny C Compiler.

uchardet Universal charset detection.

uuid Universally Unique Identifier library.

xcb The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.

xcb-composite X11 Composite Extension C library.

xcb-damage X11 Damage Extension C library.

xcb-dri2 X11 DRI2 Extension C library.

xcb-dri3 X11 DRI3 Extension C library.

xcb-icccm XCB utility module for client- and WM-side ICCCM helpers.

xcb-present X11 Present Extension C library.

xcb-randr X11 RandR Extension C library.

xcb-render XCB utility module for the Render extension.

xcb-res X11 Resource Extension library.

xcb-shape X11 Shape Extension library.

xcb-shm X11 Shared Memory Extension library.

xcb-sync X11 Sync Extension library.

xcb-xfixes X11 Xfixes Extension library.

xcb-xinerama X11 Xinerama Extension library.

xcb-xtest X11 XTEST Extension library.