Documentation Development Tools Beat
Ada is a modern programming language designed for large, long-lived applications – and embedded systems in particular – where reliability and efficiency are essential. It was originally developed in the early 1980s (this version is generally known as Ada 83) by a team led by Dr. Jean Ichbiah at CII-Honeywell-Bull in France. The language was revised and enhanced in an upward compatible fashion in the early 1990s, under the leadership of Mr. Tucker Taft from Intermetrics in the U.S. The resulting language, Ada 95, was the first internationally standardized (ISO) Object-Oriented Language. Under the auspices of ISO, a further (minor) revision was completed as an amendment to the standard; this version of the language is known as Ada 2005. Work is currently in progress on some additional features (including support for program anotations) and is expected to be completed in 2012.
Fedora 16 includes the latest open-source Ada development tools.
- Fedora 16 includes full stack of tools for Ada Development: Compiler (gcc-gnat), Project Builder (gprbuild), IDE (GPS) and some others
- Ada bindings for most popular tools such as: GTK, Qt, zeromq, Databases (PostgreSQL, MySQL and SQLite) etc
The GNU Autoconf Archive is a collection of more than 450 macros for GNU Autoconf that have been contributed as free software by friendly supporters of the cause from all over the Internet. Version 2011.04.12 is now included in Fedora 16. Refer to http://www.gnu.org/software/autoconf-archive/index.html for the project details.
Bugs Everywhere is a “distributed bugtracker”, designed to complement distributed revision control systems. By using distributed revision control as a backend for bug state, we gain several convenient features:
- Bugs and code that live on branches are tracked together—when a branch is merged, both the code changes and bug changes that the branch contains are merged alongside each other. We no longer have to be confused about whether a fix that is applied to the development branch but not yet present in the production branch means that our bug is “fixed”.
- Users can fully modify bug state while offline, unlike with many centralized bugtrackers.
- When a user checks out your source code, she gets the current bug state for free.
- We can still provide access to a friendly web interface for users—in this model, a web interface becomes just another client that merges with the main repository.
Fedora 16 includes version 1.0.1.
btparser is a backtrace parser and analyzer, which works with backtraces produced by the GNU Project Debugger. It can parse a text file with a backtrace to a tree of C structures, allowing the developer to analyze the threads and frames of the backtrace and work with them. The project's trac page may be found at https://fedorahosted.org/btparser/.
Caribou is a text entry and UI navigation application being developed as an alternative to the Gnome On-screen Keyboard. The overarching goal for Caribou is to create a usable solution for people whose primary way of accessing a computer is a switch device.
The initial goal is to make an in-place on-screen keyboard suitable for people who can use a mouse but not a hardware keyboard. This on-screen keyboard may also be useful for touch screen or tablet users. http://live.gnome.org/Caribou.
cddlib is a C library implementing of the Double Description Method of Motzkin et al. for generating all vertices (i.e. extreme points) and extreme rays of a general convex polyhedron. http://www.ifor.math.ethz.ch/~fukuda/cdd_home/.
emacs-ecb is an Emacs-based code browser. It displays a number of informational windows that allow for easy source code navigation and overview:
- A directory tree,
- a list of source files in the current directory (with full support and display of the VC-state),
- a list of functions/classes/methods/... in the current file, (ECB uses the CEDET-semantic, or Imenu, or etags, for getting this list so all languages supported by any of these tools are automatically supported by ECB too)
- a history of recently visited files (groupable by several criterias),
- a direct and auto-updated ecb-window for the semantic-analyzer for some intellisense,
- the Speedbar
- output from compilation (the compilation window) and other modes like help, grep etc. or whatever a user defines to be displayed in this window.
More information may be found at http://ecb.sourceforge.net/.
frama-c is a C source code analysis tool, which may be used standalone, or integrated with Emacs. frama-c includes a source browser, and can calculate simple metrics such as sloc, call depth and cyclomatic complexity for a project. It can also generate simple call graphs. Various assertions about the code may be tested, and the code may be validated against a number of theorems. frama-c accepts user written plugins for additional custom analyses. More information on frama-c may be found at http://frama-c.com/.
GCC Python Plugins
GCC plugins that embed Python are now available, enabling developers to more easily hook into GCC's inner workings (e.g. to add new compiler warnings). See the Feature Page for more details.
jruby is a Java implementation of the Ruby language, offering Ruby programmers the platform independence of Java. Version 1.6.2 of jruby is new to Fedora 16. The project page may be found at http://jruby.org.
libpipeline provides a set of functions for manipulating pipelines of subprocesses in a flexible and convenient way. http://libpipeline.nongnu.org/.
osm-gps-map-devel, a Gtk+ widget (and Python bindings) that when given GPS co-ordinates, draws a GPS track, and points of interest on a moving map display. Downloads map data from a number of websites, including openstreetmap.org. http://nzjrs.github.com/osm-gps-map/.
qwtpolar-devel is a library for plotting polar graphs. http://qwtpolar.sourceforge.net/.
shunit2 is a unit test framework for shell scripts similar to PyUnit or JUnit. http://code.google.com/p/shunit2/.
Static Analysis of CPython Extensions
Fedora now ships with a gcc-with-cpychecker variant of GCC, which adds additional compile-time checks to Python extension modules written in C, detecting various common problems (e.g. reference counting mistakes).
why-emacs is an Emacs add on for the Why software verification tool. http://why.lri.fr/. Why supports a number of theorem provers including Ergo, haRVey and Zenon, as well as a number of others.
New to Fedora 16, the WSO2 Web Services Framework for C++ is an enterprise grade C++ library for providing and consuming Web Services in C++. Fedora includes version 2.1.0 of the framework. Documentation may be found at http://wso2.org/project/wsf/cpp/2.0.0/docs/.