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
* Change bugtracker address.
This Perl module reads and parses Apache configuration file, expanding constructs like Include
, IncludeOptional
, IfModule
, IfDefine
, Use
, etc.
Apache::Defaults
- Change bugtracker address.
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
- Change bugtracker address.
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
- Handle the 'resolvers' section. - New class methods for declaring (and undeclaring) sections. - Fix changing the argv of a Node.
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. This module is superseded by Config::Proxy, which is fully compatible with it and provides a generalized API for editing configuration files of HAProxy and Pound.
Config::Parser
- Change bugtracker address.
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
- Change bugtracker address
A Perl module for parsing the ldap.conf
configuration file.
Config::Proxy
- original revision
File::BackupCopy
- Change bugtracker address.
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
* Bugfix: escape single characters not occurring within a class.
Perl module that, given a list of strings, produces a regular expression that matches any of the input strings
Mojo::Log::Syslog
- Change bugtracker address.
Syslog logging for Mojo applications
POSIX::Run::Capture
- New constructor argument 'env' allows you to supply environment to the command to be run. - Fix packaging
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.
aspell-gcide
* New options gcide-include-tags and gcide-exclude-tags These options control which tags will be eligible for spell-checking.
A filter for spell-checking GCIDE dictionary files with GNU Aspell.
cflow
* 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
This tool analyzes a collection of C source files and prints a graph charting control flow within the program.
extrans
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
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.
gdbm
* New gdbm_load option: --update The --update (-U) option instructs gdbm_load to update an existing database. * Fix semantics of gdbm_load -r The --replace (-r) is valid only when used together with --update. * Use getline in gdbmtool shell. * New function: gdbm_load_from_file_ext In contrast to gdbm_load and gdbm_load_from_file, which derive the value of the flag parameter for gdbm_open from the value of their "replace" argument, this function allows the caller to specify it explicitly. The prototype is: int gdbm_load_from_file_ext (GDBM_FILE *pdbf, FILE *fp, int flags, int replace, int meta_mask, unsigned long *line); * Bugfixes ** Fix binary dump format for key and/or data of zero size. (see https://puszcza.gnu.org.ua/bugs/?565) ** Fix location tracking and recover command in gdbtool. (see https://puszcza.gnu.org.ua/bugs/?566) ** Fix possible buffer underflow in gdbmload. ** Ensure any padding bytes in avail_elem structure are filled with 0. (fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1031276) ** Improve the documentation.
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.
gint
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.
grecs
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.
gws
A complete implementation of WebSocket protocol, designed to be used as a git submodule.
imprimatur
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.
mix
* 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.
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
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.
podiff
* Fix https://puszcza.gnu.org.ua/bugs/?562
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
Convert byte-like objects to UTF-8 strings.
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
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.
slackdesc
Formats a slack-desc file for Slackware package.
tpnotify
- Fix operation without -d option
Notifies the Translation Project about new POT files
webtools
A collection of various web-related programs, mostly proof-of-concept ones.
wikitrans
Drop python 2 support
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.
wit
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
.
xenv
* Diagnostic directives: $$warning and $$error The $$warning directive emits warning message. It does not alter exit status in any way. The $$error directive reports a fatal error and sets exit status to 65 (or any other, if supplied as argument). After both directives, processing is resumed at the next line. * $$exit New directive $$exit causes immediate termination of the program. Decimal exit code may be supplied as argument. * New directive: $$eval The text between $$eval and $$end is expanded and the resulting expansion is scanned again, producing the actual output. This makes it possible to create variable names on the fly and obtain their values. Useful in loops, e.g.: $$loop I 0 1 2 3 4 5 6 7 $$ eval \$\$ ifset VAR_$I Expand \$VAR_$I; \$\$ endif $$ end $$end * Bugfixes ** Fix closing the $$range loop.
Xenv is a text preprocessor. It reads input from files (or the standard input, if none are supplied) and prints it on the standard output, replacing references to environment variables with their actual values. Variables are referenced using POSIX-compatible shell syntax: $NAME
, ${NAME}
, ${NAME:-word}
, ${NAME+=word}
, ${NAME:=word}
, ${NAME:?word}
. A special ternary construct is provided: ${NAME:|word1|word2}
, which substitutes the expansion of word1 if NAME is set and the expansion of word2 otherwise. Preprocessor directives provide support for inclusion of external files, conditional text expansion (depending on the value of an environment variable or exit code of an external command), diversions, for and foreach loops etc.
xmltools
A set of Guile primitives for parsing and processing XML files.