OpenBSD Journal

Ports Hackathon p2k8 in Budapest, Hungary

Contributed by weerd on from the porting-at-the-danube dept.

This week there is another OpenBSD hackathon. This time, the focus is on ports. Thirteen guys from all over Europe have gathered in one room in Budapest, Hungary to work on new ports, update existing ones, and improve the infrastructure. It is the third time the event has taken place here and my first time to attend. Please read on for my take on the events and what the others were up to.

Out of 13 porters, France and Germany were represented best, both with 3 developers. The French Connection (or EFC, but that is food for a later article) consisted of Antoine Jacoutot (ajacoutot@), Landry Breuil (landry@) and Marc Espie (espie@). Antoine imported two new exciting games (both involving frogs for some weird reason), Komi the Space Frog and Batrachians, added bsd_auth support to x11/xscreensaver, fixed some documentation ambiguity with regards to the USE_GCC[34] flags for the gcc3 and gcc4 MODULES (ports should not set these), and updated or fixed lots of other ports all over the tree. Landry tried to bring more stability to some of the browsers in ports by updating Midori (and its dependencies such as libunique and webkit) and working on an update for Kazehakase to enable both the gecko and webkit backends (not committed yet). He also worked on his sysutils/pkg_mgr, and spent a lot of time in an effort to update gtk to a newer version (together with some of the other guys). The last Frenchman in our midst, Marc Espie, was working on improving the ports infrastructure, expanding update-plist with better support for multi-packages situations. This will be very useful to people porting software to OpenBSD. For example, it allows new documentation files that come with a port update to be automatically assigned to the -doc package. Marc was also very helpful in answering questions for just about everyone else.

Steven Mestdagh (steven@) from Belgium and Bernd Ahlers (bernd@) from Germany were working on another important piece of infrastructure, a replacement for GNU Libtool to be used specifically with the OpenBSD portstree. Steven started working on this project about one year ago but did not get much further until this week, so during the hackathon he teamed up with Bernd and they both spent most of their time working on it. They explained that GNU Libtool is basically a large shellscript (roughly 8'000 lines of code) with very poor documentation and almost no debugging options. With 80-90% feature completeness their implementation weighs in at around 1'200 lines of Perl. They are now in the final phase of replacing GNU Libtool where they finish up the code, find (and fix) corner cases and go through all the ports using libtool (some 20% of all ports do).

When replaced, some ports will see a large decrease in time needed to build as the new libtool will be much faster. Certain ports (eg. KDE) are expected to be built in half the time it currently takes. Also, many issues with library ordering should be fixed, so that libtool does not pick up what's already installed when porting new versions. It will also give us greater freedom for future changes.

Two other guys from Germany were Matthias Kilian (kili@) and Christian Weisgerber (naddy@). Matthias worked on updating print/poppler (and making sure all dependent ports still work), updated ghostscript, worked on fixing a circular dependency between ghostscript and cups, improving the Glasgow Haskell Compiler, GHC infrastructure, committed a long overdue update for hugs (a Haskell interpreter) and was also working on a new port for snd, a very flexible audio editor. Christian also updated a large set of ports, including graphics/netpbm, graphics/tiff, devel/mpfr, audio/mpg321 and devel/gmp. He split graphics/gmt into multi-packages and also imported a new tool to analyze terminal control sequences (misc/teseq), worked with ckuethe@ (who was not in Budapest) on a new port, ptpd, implementing the Precision Time Protocol (this work has not been imported yet). Last but not least, he was adding libsndio support to some of the ports (working together with the sndio developers).

Visiting from the UK was Stuart Henderson (sthen@) who worked on hugin, a panorama photo stitching tool, Zabbix, a monitoring solution, gcc3/gcc4 issues with c++ libraries and worked on many smaller updates and new ports. Jasper Lievisse Adriaanse (jasper@) from The Netherlands worked on updating aspell and telepathy and imported gforth. He also spent a lot of time on the initial work to update Gnome, working with Landry and Antoine on gtk and their dependencies. From Switzerland came Marc Balmer (mbalmer@) who updated the Horde framework and its dependencies, worked with Robert on updating pear, updated R to 2.8.0 and worked with Stuart on having both version 2.3 and 2.4 of OpenLDAP in the tree for 4.5 and 4.6. This should give OpenLDAP users on OpenBSD a lot of time to upgrade their installations.

Our host in Hungary was Robert Nagy (robert@). He organized the hackathon, making sure the rest of us could hack on ports for a full week. Despite being the organizer of the event, he still managed to update OpenOffice.org to 2.4.2, fixing two security issues and import a preliminary port of OpenOffice 3.0 (which is not finished yet because of compiler issues).

Two attendees were new to the hackathon environment. Paul Irofti (pirofti@) travels from Romania and yours truly comes from The Netherlands. As this was our first time at a hackathon, we were getting to know the others mostly by asking many questions. Paul updated and added a bunch of ruby ports, imported www/youtube-dl, a tool to easily download movies from youtube, added a port for postgresql-odbc, updated two math libraries (math/ginac and devel/cln), and worked on the port of MPICH2. I worked on killing everyone's productivity with games such as OpenArena (a free Quake 3 Arena-alike game, after a submission from Antti Harri), ioquake3 (the engine behind the original Quake 3 Arena and OpenArena), ports for Doom datafiles (to be used with ports such as games/prboom), and many other games.

Of course, nobody can hack continuously for a full week, so Robert also organized some AFK events. There was a nightly boatride on the Danube with some nice food and good wine, and we went for a swim in Europe's largest spa, the Széchenyi Baths. Above all, we had a lot of fun. To finish in style, some of us will be going to Vienna to visit the OpenBSD 4.4 release party. If you are in the neighborhood of Vienna, please drop by.

We are almost at the end of a very productive week. Although a lot of the work is still in progress, the effects of the hackathon can already easily be seen in the archives. You can expect to see quite a lot of commits in the coming weeks as a direct result of the work done in Budapest.

(Comments are closed)


Comments
  1. By Marc Balmer (87.229.99.231) on

    For the sake of completeness, it was actually a user, Daniel Dickmann, who sent me a diff to update R to version 2.8.0. It's always nice to get this form of feedback ;)

  2. By Anonymous Coward (212.20.215.132) on

    "imported www/youtube-dl"

    There's also net/yt already in ports (since 4.1 I believe) that has worked very well for me.

    Just an FYI.

    Comments
    1. By Paul Irofti (193.6.223.142) pirofti@openbsd.org on gopher://sdf.lonestar.org/1/users/bulibuta

      > "imported www/youtube-dl"
      >
      > There's also net/yt already in ports (since 4.1 I believe) that has worked very well for me.
      >
      > Just an FYI.
      >

      Well... there are a few differences.

      - youtube-dl is kept more up-to-date with youtube's internal changes, or at least it catches up faster
      - yt depends on lang/lua and youtube-dl depends on lang/python.
      - youtube-dl just gets the flv, yt transforms it too

      And having a bit of diversity doesn't hurt.

      Comments
      1. By Anonymous Coward (212.20.215.132) on

        > > "imported www/youtube-dl"
        > >
        > > There's also net/yt already in ports (since 4.1 I believe) that has worked very well for me.
        > >
        > > Just an FYI.
        > >
        >
        > Well... there are a few differences.
        >
        > - youtube-dl is kept more up-to-date with youtube's internal changes, or at least it catches up faster
        > - yt depends on lang/lua and youtube-dl depends on lang/python.
        > - youtube-dl just gets the flv, yt transforms it too
        > And having a bit of diversity doesn't hurt.

        Absolutely. Though, perhaps yt should be moved to www? It doesn't really make any sense to have one in www and the other in net. I guess ports@ is the right place to mention this.

    2. By danh (71.126.23.201) daniel@harnett.name on

      For YouTube, you can also use mozplugger or mplayerplug-in embedded in firefox. It just requires the greasemonkey plugin for firefox, and a greasemonkey script called hqtube (screenshot).

  3. By Anonymous Coward (193.226.177.115) on

    I would like to see MailWatch (http://mailwatch.sourceforge.net) in the ports tree someday.

    Comments
    1. By Anonymous Coward (128.171.90.200) on

      You know what you have to do

  4. By Anonymous Coward (94.75.65.59) on

    Please port any Common Lisp unit testing framework
    * http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#Common_Lisp
    * http://wiki.alu.org/Test_Frameworks

    Also ocaml-ounit would be great
    * http://www.xs4all.nl/~mmzeeman/ocaml/

    Thank you for hard work and time. Long live OpenBSD! :-)

    Comments
    1. By Anonymous Coward (83.171.185.18) on

      > Please port any Common Lisp unit testing framework
      > * http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#Common_Lisp
      > * http://wiki.alu.org/Test_Frameworks
      >
      > Also ocaml-ounit would be great
      > * http://www.xs4all.nl/~mmzeeman/ocaml/
      >
      > Thank you for hard work and time. Long live OpenBSD! :-)

      I hope to see a ghc update, too :-)

      Comments
      1. By Matthias Kilian (213.129.230.12) on

        > I hope to see a ghc update, too :-)

        It may happen, but I really can't promise when. At p2k8, I managed to build a ghc-6.8.3 package using a separate trimmed, down port of ghc-6.6 (which is an ugly workaround). For ghc-6.10, there were still issues (with Cabal -- no surprise).

    2. By Anonymous Coward (85.19.213.88) on

      > Please port any Common Lisp unit testing framework

      Why don't you port it? If you're a programmer, it should be relatively easy. If you're not, I'm not sure what you need this for. So, prepare a port and post it to the ports mailing list. Thank you.

  5. By Richard Toohey (121.72.25.181) on

    Thanks for the report (and undeadly itself) - it's great being able to read about progress and who does what.

    And obviously a big thank you to the developers. Really appreciate your work, guys.

    Comments
    1. By Dean (63.227.127.121) on

      > Thanks for the report (and undeadly itself) - it's great being able to read about progress and who does what.
      >
      > And obviously a big thank you to the developers. Really appreciate your work, guys.

      Seconded, I thank all of you developers! My package of {multiple}4.4CDs has arrived.

      Has anyone looked at making a port of the DShield client for OpenBSD?
      I have tried over the past few years and sadly, my Perl skills are not up to the task.

  6. By Tomi (194.6.188.110) on

    According to the picture, the Invisible Man was here as well, and naked.

    Nice shoes !

    Comments
    1. By Paul 'WEiRD' de Weerd (weerd) weerd@weirdnet.nl on http://www.weirdnet.nl/openbsd/

      > According to the picture, the Invisible Man was here as well, and naked.
      >
      > Nice shoes !

      Thanks, I'm quite happy with my shoes indeed.

      Comments
      1. By Paul Irofti (91.199.104.3) pirofti@openbsd.org on gopher://sdf.lonestar.org/1/users/bulibuta

        > > According to the picture, the Invisible Man was here as well, and naked.
        > >
        > > Nice shoes !
        >
        > Thanks, I'm quite happy with my shoes indeed.

        Didn't you say you wanted to change them?

  7. By Marc Espie (213.41.185.88) espie@openbsd.org on

    After a few more optimizations, I can confirm that indeed, in some cases, the experimental libtool more than halves the build + fake time of some ports.

    Please note that this is *taking into account the time gcc spends compiling stuff*. That's right, if you explain to libtool how NOT to relink stuff all the time, the timings really shrink.

    koffice 1.6
    with gnu-libtool:
    115m31.10s real 57m35.85s user 73m40.18s system

    with `our' libtool:
    50m54.39s real 44m16.57s user 3m31.19s system


    I kid you not...

Latest Articles

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