OpenBSD Journal

New Ports of the Week #17 (April 26)

Contributed by merdely on from the sbcl-was-last-week-joshe dept.

There are 13 new ports for the week of April 20 to April 26:

Asterisk had an update that users should be aware of.

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

  • sysutils/rpl
    • rpl (Replace Stings) is a UN*X text replacement utility. It will replace strings with new strings in multiple text files. It can work recursively over directories and supports limiting the search to specific file suffixes.
  • telephony/iaxmodem
    • IAXmodem is a software modem written in C that uses an IAX channel (commonly provided by an Asterisk PBX system) instead of a traditional phone line and uses a DSP library instead of DSP hardware chipsets.

      IAXmodem was originally conceived to function as a fax modem usable with HylaFAX, and it does that well. However IAXmodem also has been known to function with mgetty+sendfax and efax.
  • x11/farsiweb-ttf
    • farsiweb-ttf is the first standard set of Unicode Persian fonts ever published, including Titr, Nazli, Nazli Bold, and Homa.
  • x11/arabeyes-ttf
    • The arabeyes-ttf project aims at increasing the number of available Arabic free and open source fonts. The goals of this project are:
      • Create and/or salvage free and open TTF Arabic fonts.
      • Create a central repository of all free and open source Arabic fonts (TTF and otherwise) in order to get them included into the various distributions.
      • To better couple and artistically match Arabic fonts to their latin counterparts.
  • devel/py-epsilon
    • Epsilon is a set of utility modules, commonly used by all Divmod projects.

      This is intended mainly as a support package for code used by Divmod projects, and not as an external library. However, it contains many useful modules and you can feel free to use them! Currently included:
      • A powerful date/time formatting and import/export class (ExtimeDotTime), for exchanging date and time information between all Python's various ways to interpret objects as times or time deltas.
      • Tools for managing concurrent asynchronous processes within Twisted.
      • A metaclass which helps you define classes with explicit states.
      • A featureful Version class.
      • A formal system for application of monkey-patches.
  • www/py-nevow
    • Divmod Nevow is a web application construction kit written in Python. It is designed to allow the programmer to express as much of the view logic as desired in Python, and includes a pure Python XML expression syntax named stan to facilitate this. However it also provides rich support for designer-edited templates, using a very small XML attribute language to provide bi-directional template manipulation capability.

      Nevow also includes Divmod Athena, a "two way web" implementation, providing a two-way bridge between Python code on the server and JavaScript code on the client. Modular portions of a page, known as "athena fragments" in the server python and "athena widgets" in the client javascript, can be individually developed and placed on any Nevow-rendered page with a small template renderer. Athena abstracts the intricacies of HTTP communication, session security, and browser-specific bugs behind a simple remote-method-call interface, where individual widgets or fragments can call remote methods on their client or server peer with one method: "callRemote".
  • net/libcares
    • c-ares is a C library that performs DNS requests and name resolves asynchronously. c-ares is a fork of the library named 'ares', written by Greg Hudson at MIT.
  • x11/matchbox/matchbox-themes-extra
  • lang/tcl/8.5
    • Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more. Open source and business-friendly, Tcl is a mature yet evolving language that is truly cross platform, easily deployed and highly extensible.

      Highlights of Tcl 8.5:
      • Speed: 8.5 now runs 10% faster than 8.4 with bytecode improvements, object caching and reduced memory usage.
      • Bignums: Tcl now supports arbitrary-precision integers, which improves math operations on large integers.
      • Safer interps: Tcl's powerful safe interpreter mechanism now has improved control of time and command limits in slave interpreters.
      • clock command: More robust implementation of command for specifying time, with significant l10n and i18n improvements.
      • dict command: New data structure that allows access to data by value rather than a variable name, which is substantially faster.
      • Additional improvements: Faster list search, new and improved mathematics procedures, anonymous procedures, new ways to package Tcl extensions, Tcl-level custom channel types, file and line location information for each command, and more.
  • x11/tk/8.5
    • Tk is a graphical user interface toolkit that takes developing desktop applications to a higher level than conventional approaches. Tk is the standard GUI not only for Tcl, but for many other dynamic languages, and can produce rich, native applications that run unchanged across most platforms.

      Highlights of Tk 8.5:
      • New modern theming engine: New and complementary widgets that make use of platform-specific theming on Mac OS X and Windows to better fit in with those environments, and feature an improved look and feel under X11.
      • New widgets: Part of the themed widget set, Tk now has core notebook, combobox, treeview and progressbar widgets.
      • text widget: Smooth scrolling, widget peering, and improved procedures for counting and replacing text.
      • Font rendering: Now uses anti-aliased text under X11, and a more modern text engine (ATSUI) on Mac OS X.
      • Additional improvements: Window transparency, new fullscreen option for windows, enhancements to specific widgets and window layout, and more.
  • www/ruby-merb/activerecord
  • www/ruby-merb/helpers
    • A plugin for the Merb Web framework that provides different view helpers.
  • devel/p5-parent
    • p5-parent allows you to both load one or more modules, while setting up inheritance from those modules at the same time. By default, every base class needs to live in a file of its own. If you want to have a subclass and its parent class in the same file, you can tell parent not to load any modules by using the -norequire switch.

Port update notes:

(Comments are closed)


Comments
  1. By Anonymous Coward (122.49.175.109) on

    find + sed?

    Comments
    1. By Anonymous Coward (70.173.172.228) on

      > find + sed?

      more like find and perl or just perl with File::Find since the sed in openbsd doesn't edit in place.

      Comments
      1. By Anonymous Coward (134.58.253.57) on

        > > find + sed?
        >
        > more like find and perl or just perl with File::Find since the sed in openbsd doesn't edit in place.

        ... but ed does!

        actually, sed is just a variant of ed that works on streams instead of files. But it takes some GNUbies to forget this, and add cruft to sed to make it behave like ed again ;-)

        Comments
        1. By Terrell Prude', Jr. (151.188.213.162) tprude@cmosnetworks.com (this is a spamtrap address) on http://www.cmosnetworks.com

          > > > find + sed?
          > >
          > > more like find and perl or just perl with File::Find since the sed in openbsd doesn't edit in place.
          >
          > ... but ed does!
          >
          > actually, sed is just a variant of ed that works on streams instead of files. But it takes some GNUbies to forget this, and add cruft to sed to make it behave like ed again ;-)
          >

          You must be an 31337 h4x0r, |_|r 5y573m 5|_|xx0rz, all that. The fact is that either approach is good, kiddo, because both get the job done well. I use either one, and I thank both the GNU-folk and the BSD-folk for giving me top-notch software to use and do systems engineering with. Without both teams, I wouldn't have my GNU/Linux system on which I'm typing this...nor the OpenBSD spamd gateway that sits in front of it.

          --TP

      2. By sthen (2a01:348:108:155:20a:e4ff:fe2d:99ee) on

        > > find + sed?
        >
        > more like find and perl or just perl with File::Find since the sed in openbsd doesn't edit in place.

        sed does, but you have to use the standard syntax, not GNU's extended syntax.

        sed -a 's/xx/yy/wfile' file

        Comments
        1. By Matthias Kilian (91.3.39.248) on

          > sed does, but you have to use the standard syntax, not GNU's extended syntax.
          >
          > sed -a 's/xx/yy/wfile' file

          Careful here. If it starts to write before it has read all input, you may end up with a truncated result. For example

          $ cp access_log foo
          $ sed -n -a s/mod_ssl/FOO/wfoo foo
          $ wc -l foo
          14 foo
          $ grep -c mod_ssl access_log
          83

          Comments
          1. By Andrew Fresh (Andrew) on http://openbsd.somedomain.net

            > > sed does, but you have to use the standard syntax, not GNU's extended
            > > syntax.
            > >
            > > sed -a 's/xx/yy/wfile' file
            >
            > Careful here. If it starts to write before it has read all input, you may
            > end up with a truncated result.

            I don't think that is actually what happened. In the example, it only writes to the file the lines that match. You need to have two separate sed commands.

            cp /var/www/logs/access_log foo
            sed -na 's/favicon.ico/FOO/wfoo' foo

            cp /var/www/logs/access_log bar
            sed -na 's/favicon.ico/BAR/;wbar' bar

            wc -l /var/www/logs/access_log foo bar
            14 /var/www/logs/access_log
            3 foo
            14 bar
            31 total

            Comments
            1. By sthen (2a01:348:108:155:20a:e4ff:fe2d:99ee) on

              > > > sed -a 's/xx/yy/wfile' file
              > >
              > > Careful here. If it starts to write before it has read all input, you may
              > > end up with a truncated result.
              >
              > I don't think that is actually what happened. In the example, it only writes to the file the lines that match. You need to have two separate sed commands.
              >
              > cp /var/www/logs/access_log foo
              > sed -na 's/favicon.ico/FOO/wfoo' foo
              >
              > cp /var/www/logs/access_log bar
              > sed -na 's/favicon.ico/BAR/;wbar' bar
              >
              > wc -l /var/www/logs/access_log foo bar
              > 14 /var/www/logs/access_log
              > 3 foo
              > 14 bar
              > 31 total

              You're both right. I did miss out the ; *and* there's a truncation at 8K if you directly overwrite the file, rather than working with a temporary copy.

  2. By Richard Toohey (203.167.190.49) richardtoohey@hotmail.com on

    Thanks to everyone behind the Tcl/Tk 8.5 port.

    Tcl seems to be a bit out of fashion these days, but it works for me!

Credits

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 deadly.org 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.]