Program Development

This category gathers projects related to program and web-page development.

To facilitate navigating in this list, projects are categorized by their purpose, authorship, and current state. Each project entry lists the categories it pertains to. Clicking on a category name will bring a listing of all projects in that category.

Additionally, a list of related projects is provided where applicable. Each element in that list is a link to the corresponding project entry.

Clicking on a project's name will bring this project's entry as a separate page (a permalink).

Hovering your mouse over the version information of a project shows the list of changes introduced by that version.

Sort controls below allow you to order the list either lexicographically or by the most recent release date, in both directions.

Using the Search control, you can select projects by name. Shell-style globbing patterns (wildcards) are accepted.

(Return to the project listing)

Apache::Config::Preproc

Version: 1.07  —  2021-02-12
* Change bugtracker address.

	  
Category:
Description:

This Perl module reads and parses Apache configuration file, expanding constructs like Include, IncludeOptional, IfModule, IfDefine, Use, etc.

Related projects:

Apache::Defaults

Version: 1.03  —  2021-02-12
	- Change bugtracker address.
	  
Category:
Description:

This Perl module provides a mechanism for detecting version, default settings, and the preloaded modules of the Apache httpd server. It does so by locating the server binary, invoking it with appropriate options and analyzing the output it produces.

Config::AST

Version: 1.07  —  2021-02-12
	- Change bugtracker address.

	  
Category:
Description:

This perl module aims to provide a generalized implementation of parse tree for various configuration files. It does not implement parser for any existing configuration file format. Instead, it provides an API that can be used by parser implementors to build internal representation for the particular configuration file format.

Config::HAProxy

Version: 1.08  —  Thu Jun 23 15:21:17 2022
	- Handle the 'resolvers' section.
	- New class methods for declaring (and undeclaring) sections.
	- Fix changing the argv of a Node.
	  
Category:
Description:

A perl module supplying a parser that converts the HAProxy configuration file to a parse tree and provides methods for various operations on this tree, such as: searching, modifying and saving it to a file.

Config::Parser

Version: 1.05  —  2021-02-12
	- Change bugtracker address.

	  
Category:
Description:

Config::Parser provides a framework for writing configuration file parsers. It is an intermediate layer between the abstract syntax tree (Config::AST) and implementation of a parser for a particular configuration file format. The package provides also Config::Parser::Ini – a configuration file parser for ini-style files.

Config::Parser::ldap

Version: 1.02  —  2021-02-13
	- Change bugtracker address
	
	  
Category:
Description:

A Perl module for parsing the ldap.conf configuration file.

Related projects:

File::BackupCopy

Version: 1.02  —  2021-02-13
	- Change bugtracker address.
	
	  
Category:
Description:

Perl extension for creating backup file copies. Three backup naming schemes are supported: simple backup creates backup file name by appending single tilde character to the original file name, numbered backup creates backup name by suffixing the original file name with .~N~, where N is a decimal number. Finally, automatic backup selects numbered scheme if at least one numbered backup file already exists and falls back to the simple backup otherwise.

List::Regexp

Version: 1.04  —  2021-02-13
* Change bugtracker address.

	  
Category:
Description:

Perl module that, given a list of strings, produces a regular expression that matches any of the input strings

Mojo::Log::Syslog

Version: 1.03  —  2021-02-13
	- Change bugtracker address.

	  
Category:
Description:

Syslog logging for Mojo applications

POSIX::Run::Capture

Version: 1.03  —  2021-02-23
	- Fix packaging
	
	  
Category:
Description:

A Perl module for running external commands and capturing their output. It prefers performance and effectiveness over portability. As its name suggests, it can be used only on POSIX systems.

Related projects:

cflow

Version: 1.7  —  2021-12-30
* Multiple start functions are allowed

The '--main' option can be given multiple times.  A separate graph
will be drawn for each function given as its argument.

* New option --target=FUNCTION

If this option is given, the produced graph will contain only paths
leading from start function (or functions) to the given FUNCTION.

Multiple '--target' options are allowed.

* New output format: dot

The '-f dot' (or '--format=dot') option instructs cflow to output
graph as a description in DOT language, suitable as input to graphviz
programs.

* cflow-mode: new commands for navigating in the graph:

  c   go to the calling function
  n   go to the next function at the same nesting level
  p   go to the previous function at the same nesting level

* Bugfixes:

** CVE-2019-16165
** CVE-2019-16166
** Fix parsing of K&R style function declarations
** Improve parsing of typecasts
** Fix recursive call detection

	  
Category:
Description:

This tool analyzes a collection of C source files and prints a graph charting control flow within the program.

Related projects:

extrans

(Not released)
Category:
Description:

This is a modified versions of Romuald Texier’s eXtrans. It was used as the underlying mechanism for Ellinika and Runasimi at early stages of their development, before switching to xmltools.

gamma

(Not released)
Category:
Description:

GAMMA stands for a Guile Archive of Multiple Modules with an A just for the ‘A’ of it. It contains a set of useful Guile modules. In particular, it is used by runasimi.org and ellinika.gnu.org.ua.

Related projects:

gdbm

Version: 1.23  —  2022-02-04
* Bucket cache switched from balanced tree to hash table

Change suggested by Terence Kelly.

* Speed up flushing the changed buckets on disk

* New option codes for gdbm_setopt

** GDBM_GETDBFORMAT

Return the database format.

** GDBM_GETDIRDEPTH

Return the directory depth, i.e. the number of initial (most significant)
bits in hash value that are interpreted as index to the directory.

** GDBM_GETBUCKETSIZE

Return maximum number of keys per bucket.

** GDBM_GETCACHEAUTO

Return the status of the automatic cache adjustment.

** GDBM_SETCACHEAUTO

Enable or disable automatic cache adjustment.
	  
Category:
Description:

GNU dbm is a library of database functions that use extendible hashing and works similar to the standard UNIX dbm functions. These routines are provided to a programmer needing to create and manipulate a hashed database.

Related projects:

gint

(Not released)
Category:
Description:

GINT provides a framework for easy integration of Guile into arbitrary software projects. It includes Autoconf macros for detecting the presence of Guile on the system, detecting its version number and location of its components, a set of Makefile and Automake rules for snarfing C sources, i.e. generating auxiliary files (.x files, containing symbol information for Guile interpreter, and .doc files, containing information about Guile primitives, their arguments and docstrings), and a C lexer program for extracting docstrings from a C file.

Related projects:

gitaclhook

(Not released)
Category:
Description:

Access control lists for git.

gnulib

(Not released)
Category:
Description:

Gnulib is a central location for common GNU code, which is shared among many GNU (and non-GNU) packages.

grecs

(Not released)
Category:
Description:

Grecs is a library for parsing structured configuration files from C programs. A structured configuration file has hierarchical structure, with block statements enclosing lower-level statements. Such configurations files are used by many programs, such as, e.g. Bind or Dico.

Related projects:

imprimatur

(Not released)
Category:
Description:

Imprimatur provides Texinfo macros for various editing tasks such as adding editor notes and annotations, as well as Makeinfo rules for verifying Texinfo document structure, format, and (to a certain extent) content coverage.

Related projects:

mix

Version: 2.0  —  2007-09-23
* Licensed under GPLv3 or later.

* mixal

** Location of listing file

By default, mixal creates listing file in the current working directory.

* mixsim

** The .mixsim file
When started in terminal mode, the utility searches for file `.mixsim'
in the current working directory and reads it, if present. The file
may contain any mixsim commands.

** The set of terminal commands is improved to make it compatible with GDB.

** New command, PASSCOUNT
Set the number of crossings after whcih to clear the breakpoint.

** Removed optional second argument to BREAK.
The functionality of `BREAK <ADDR> <COUNT>' is now obtained by two
commands:

BREAK <ADDR>
PASSCOUNT <N> <COUNT>

** New command DELETE.
An alias to CLEAR.

** New command IGNORE
Sets the number of hits to ignore before enabling the breakpoint.

** New commands ENABLE and DISABLE
Enable or disable the breakpoint with the given number.

** New command RUN
It is an alias for GO.

** New command SOURCE
Execute a file of mixsim commands.

** New command ADDRESS.
This command takes as its argument a breakpoint manipulation command
(DELETE, IGNORE, ENABLE, DISABLE, PASSCOUNT) with arguments
appropriate for the associated command.  However, the first argument
of the corresponding command is treated as MIX address, instead of a
breakpoint number.

** New command INFO.
An alias to LIST.

** New command SHELL.
Executes a subordinate shell or a shell command. Abbreviated to !.

** NEXT and STEP take optional argument.
The argument, if given, specifies number of instructions to
execute. Default is 1.

** INFO BREAK takes an optional argument specifying breakpoint number to list.
If prefixed with ADDRESS, it treats the argument as a MIX location and
lists all breakpoints set on that location.

	  
Category:
Description:

MIX is a set of tools for assembling, running and debugging programs, written in MIXAL, an assembly language for an imaginary computer, MIX, used in The Art of Computer Programming of D. Knuth.

mockmta

Version: 1.0
Category:
Description:

A simplistic implementation of the SMTP mail transport agent, designed for testing purposes. It behaves almost identically to any real MTA, except that it listens on localhost only and delivers all messages to the given UNIX mailbox file.

Related projects:

podiff

Version: 1.3  —  2020-12-30
* podiff -L

New option -L instructs podiff to pass two -L options to the
external diff, supplying it the traditional git labels "a/file"
and "b/file".

* Bugfixes

** https://puszcza.gnu.org.ua/bugs/index.php?471
** https://puszcza.gnu.org.ua/bugs/index.php?473
	  
Category:
Description:

This tool finds differences in translatable strings and translations between two PO files or between two revisions of the same file. It ignores any differences in comments, entry ordering and spacing.

releaselogparser

Version: 1.0.2  —  2018-11-05
Convert byte-like objects to UTF-8 strings.
	  
Category:
Description:

Software packages usually include textual files describing noteworthy changes in each subsequent release. There exist several formats of such files. This package provides Python framework for parsing the most often used formats of such release log files. Support for any new format can be easily added.

runcap

(Not released)
Category:
Description:

A C module providing an API for running external command and capturing its output.

The function runcap runs an external command and waits for its termination, capturing its stdout and/or stderr and optionally piping the supplied data to its stdin.

Related projects:

slackdesc

(Not released)
Category:
Description:

Formats a slack-desc file for Slackware package.

Related projects:

texinfo

Version: 6.8  —  3 July 2021
* Language
  . new command @displaymath for formatting of mathematical notation
  . @example takes an argument to specify the language
  . mark these commands as deprecated, not to be used:
    @centerchap, @definfoenclose, @refill, @inforef.
  . new paper size @bsixpaper

* texi2any
  . should be faster as Perl XS parser is enabled by default
  . SHOW_MENU customization variable replaced by FORMAT_MENU.
    FORMAT_MENU set to 'menu' is the same as SHOW_MENU set to 1, and
    FORMAT_MENU set to 'nomenu' is the same as SHOW_MENU set to 0.
  . only check menu structure if CHECK_NORMAL_MENU_STRUCTURE variable is set
  . changes to HTML output:
      . MathJax support for display of math.  new variables HTML_MATH,
        MATHJAX_SCRIPT and MATHJAX_SOURCE.
      . new variables JS_WEBLABELS and JS_WEBLABELS_FILE to support
        JavaScript License Web Labels
      . by default, use sectional tables of contents instead of menus
      . use section names in links by default (configure with
        xrefautomaticsectiontitle customization variable)
      . CONTENTS_OUTPUT_LOCATION sets location of table of contents
      . document sections wrapped in <div> elements
      . new variable USE_NODE_DIRECTIONS to use node or section structure
        for node directions
      . copiable anchor links for definitions with COPIABLE_ANCHORS variable
      . experimental JavaScript browsing interface enabled with INFO_JS_DIR
      . don't add an extra period before file extension given as an argument
        to @image if image file is not found

* info
  . support compressed dir files

* texi2dvi
  . stop on first error in input file

* texinfo.tex
  . put logical page numbers into PDF's ('page labels')
  . put chapter numbers in the PDF outline
  . new Finnish translation

* Distribution
  . autoconf 2.71, automake 1.16.3, gettext 0.21
	  
Category:
Description:

Texinfo is the official documentation format of the GNU project. It uses a single source file to produce output in a number of formats, both online and printed (dvi, html, info, pdf, xml, etc.).

Related projects:

tpnotify

Version: 1.04  —  2021-08-09
	- Fix operation without -d option
	
	  
Category:
Description:

Notifies the Translation Project about new POT files

webtools

(Not released)
Category:
Description:

A collection of various web-related programs, mostly proof-of-concept ones.

wikitrans

Version: 1.3  —  2018-09-01
Don't throw exception on invalid tokens.
  Fix python 3 compatibility
	  
Category:
Description:

Provides Python framework for translating WikiMedia articles to various formats. The present version supports conversions to plain text, HTML, and Texinfo. A command line translator utility is included.

Related projects:

wit

(Not released)
Category:
Description:

A wiki translator, a package that supplies Python classes for translating Wiki Markup into another kind of markup, such as, e.g. plain text and HTML. It has been superseded by wikitrans.

Related projects:

xmltools

(Not released)
Category:
Description:

A set of Guile primitives for parsing and processing XML files.

Related projects: