OpenBSD Journal

New Ports of the Week #15 (April 12)

Contributed by merdely on from the perls-of-wisdom dept.

There are 22 new ports for the week of April 6 to April 12:

Several ports had updates that users should be aware of.

Ports are listed in the order they were committed to the tree:

  • x11/p5-Tk-Splash
    • Tk::Splash implements a splash screen widget for Perl/Tk.
  • audio/fluidsynth
    • FluidSynth is a real-time software synthesizer based on the SoundFont 2 specifications. Features:
      • Cross platform support (Linux, Mac OSX and Windows to name a few)
      • SoundFont 2 support
      • Realtime effect modulation using SoundFont 2.01 modulators
      • Shared library which can be used in other programs
      • Built in command line shell
      • Playback of MIDI files
  • www/p5-HTML-Template-JIT
    • HTML::Template::JIT provides a just-in-time compiler for HTML::Template. The module works in two phases:
      • Load
        When new() is called the module checks to see if it already has an up-to-date version of your template compiled. If it does it loads the compiled version and returns you a handle to call param() and output().
      • Compile
        If your template needs to be compiled - either because it has changed or because it has never been compiled - then HTML::Template::JIT loads HTML::Template::JIT::Compiler which uses HTML::Template and Inline::C to compile your template to native machine instructions.
        The compiled form is saved to disk in the jit_path directory and control returns to the Load phase.
      This may sound a lot like the way HTML::Template's cache mode works but there are some significant differences:
      • The compilation phase takes a long time. Depending on your system it might take several seconds to compile a large template.
      • The resulting compiled template is much faster than a normal cached template. My benchmarks show HTML::Template::JIT, with a precompiled template, performing 4 to 8 times faster than HTML::Template in cache mode.
      • The resulting compiled template should use less memory than a normal cached template. Also, if all your templates are already compiled then you don't even have to load HTML::Template to use the templates!
  • databases/pgloader
    • pgloader imports data from a flat file and inserts it into one or more PostgreSQL database tables. It uses a flat file per database table, and you can configure as many Sections as you want, each one associating a table name and a data file.
      Data are parsed and rewritten, then given to PostgreSQL COPY command. Parsing is necessary for dealing with end of lines and eventual trailing separator characters, and for column reordering: your flat data file may not have the same column order as the database table has.
      pgloader is also able to load some large objects data into PostgreSQL, as of now only Informix UNLOAD data files are supported. This command gives large objects data location information into the main data file. pgloader parse it add the text or bytea content properly escaped to the COPY data.
      pgloader issues some timing statistics every "commit_every" commits. At the end of processing each section, a summary of overall operations, numbers of rows copied and commits, time it took in seconds, errors logged and database errors is issued.
  • games/pokerth
    • PokerTH is a free implementation of "Texas Hold'em" card game. You can play the popular "Texas Hold'em" poker variant against up to six computer-opponents or play network games with people all over the world.
  • graphics/dcmtk
    • DCMTK is a collection of libraries and applications implementing large parts of the DICOM standard for medical imaging. It includes software for examining, constructing and converting DICOM image files, handling offline media, sending and receiving images over a network connection, as well as demonstrative image storage and worklist servers.
  • print/py-cups
    • pycups implements Python bindings for the CUPS API (written for use with system-config-printer, but can be put to other uses as well).
  • print/system-config-printer
    • system-config-printer is a CUPS configuration GUI for configuring a CUPS server. It uses the CUPS API to do this. The communication with the server is performed using IPP. As a result, it is equally able to configure a remote CUPS server as a local one.
  • graphics/babl
    • Babl Babl is a dynamic, any to any, pixel format conversion library. It provides conversions between the myriad of buffer types images can be stored in. Babl doesn't only help with existing pixel formats, but also facilitates creation of new and uncommon ones. GEGL uses babl both for enumeration of pixel formats as well as conversions between them. Features:
      • Tiny API in normal use.
      • Planar and linear buffers.
      • Thread safe processing.
      • Extendable formats, color models, components and datatypes
      • Reference 64bit floating point conversions for data types and color models.
  • graphics/gegl
    • GEGL (Generic Graphics Library) is a graph based image processing framework. GEGL's original design was made to scratch GIMP's itches for a new compositing and processing core. This core is being designed to have minimal dependencies. and a simple well defined API. The plugins subpackage provides the SDL, OpenEXR and FFmpeg optional plugins for GEPL.
  • devel/p5-Term-ProgressBar
    • Term::ProgressBar provides a simple progress bar on the terminal, to let the user know that something is happening, roughly how much stuff has been done, and maybe an estimate at how long remains. A typical use sets up the progress bar with a number of items to do, and then calls update to update the bar whenever an item is processed.
  • net/p5-DNS-ZoneParse
    • DNS::ZoneParse parses a Zone File and put all the Resource Records (RRs) into an anonymous hash structure. At the moment, the following types of RRs are supported: SOA, NS, MX, A, CNAME, TXT, PTR. It could be useful for maintaining DNS zones, or for transferring DNS zones to other servers.
  • telephony/asterisk-openbsd-moh
    • Asterisk OpenBSD "Music on Hold":
      Development of OpenBSD is a continuous, 24/7 activity. Every six months, Theo de Raadt and the team put a lot of effort into the OpenBSD release cycle. Every release since 3.0 has been accompanied by a release song, produced by Ty Semaka and a team of hired musicians.

      This port fetches the collected OpenBSD Release Songs and repackages them for use on Asterisk's Music-On-Hold feature, installing them so they "just work" with the standard Asterisk configuration. This provides some additional royalty-free music and is intended to promote the OpenBSD project.

      Copyright in these songs is held by Theo de Raadt. The songs are free for non-commercial use; you may use them in a company's phone system but may not resell them by themselves or as part of a collection.
  • graphics/ilmbase
    • ILM base libraries provide:
      • Half is a class that encapsulates our 16-bit floating-point format.
      • IlmThread is a thread abstraction library for use with OpenEXR and other software packages. It currently supports pthreads and Windows threads.
      • Imath implements 2D and 3D vectors, 3x3 and 4x4 matrices, quaternions and other useful 2D and 3D math functions.
      • Iex is an exception-handling library.
  • net/p5-Net-FTP-AutoReconnect
    • Net::FTP::AutoReconnect is a wrapper module around Net::FTP. For many commands, if anything goes wrong on the first try, it tries to disconnect and reconnect to the server, restore the state to the same as it was when the command was executed, then execute it again. The state includes login credentials, authorize credentials, trans- fer mode (ASCII or binary), current working directory, and any restart, passive, or port commands sent.
  • misc/supercat
    • Supercat colorizes text based on matching regular expressions/strings/characters. Supercat supports html output as well as standard ASCII text. Unlike some text-colorizing programs that exist, Supercat does not require you to have to be a programmer to make colorization rules.
  • www/p5-HTML-Copy
    • HTML::Copy copy a HTML file without breaking links in the file. HTML::Copy will be useful to maintain web sites and to handle HTML templates.
  • www/p5-HTML-SiteTear
    • HTML::SiteTear make a separated copy of a part of web site in local file system. All linked files (HTML file, image file, javascript, cascading style shieet) from a source HTML file will be copied under a new file.
  • www/p5-CSS-Minifier
    • CSS::Minifier removes unnecessary whitespace from CSS. The primary requirement developing this module is to not break working stylesheets: if working CSS is in input then working CSS is output.
  • www/p5-JavaScript-Minifier
    • JavaScript::Minifier removes unnecessary whitespace from JavaScript code. The primary requirement developing this module is to not break working code: if working JavaScript is in input then working JavaScript is output. It is ok if the input has missing semi-colons, snips like '++ +' or '12 .toString()', for example.
  • www/p5-pQuery
    • pQuery is a pragmatic attempt to port the jQuery JavaScript framework to Perl. It is pragmatic in the sense that it switches certain JavaScript idioms for Perl ones, in order to make the use of it concise. A primary goal of jQuery is to "Find things and do things, concisely". pQuery has the same goal.
  • audio/multimux
    • multimux allows you to multiplex up to 8 mono WAV files into a single PCM audio data stream. Additionally, multimux can add a WAV header to this stream or pipe the stream to ffmpeg to create a multichannel AC3 file as commonly found in DVDs.

Port update notes:

The ports system was updated to extend the VAR_SUBST syntax slightly: a supplementary ^ at the beginning of the variable substitution means the substitution shouldn't occur anywhere, but only at beginning of name. This is useful for backsubstitution of SYSCONFDIR, since /etc is used so frequently. It has also been extended to other variables such as PREFIX.
This only works in -current, so upgrade to a recent snapshot.

(Comments are closed)

  1. By Anonymous Coward ( on

    The Asterisk OpenBSD "Music on Hold" seems like an interesting port for the project.


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]