My first port for FreeBSD is now available!
My first port for FreeBSD is now available!
Glee and happiness: my first port for FreeBSD has been validated and
accepted! You can now enjoy audio/wmmp to control musicpd
, the music
player daemon. Because it's a pretty effective stacking window manager
(and also probably because it reminds me of my first steps on Unix),
I've always kept a copy of Window Maker on my systems. There are a few
dockapps that I consider part of my default setup, and WMmp was one of
them. Was, because with the demise of the dockapps repository
dockapps.org, I thought I had lost it forever. Luckily, I managed to
find the sources somewhere and uploaded the thing first to my private
git repository, then to my public Github account. One day, I decided
the decent thing to do would be to make a port for FreeBSD. By doing
so, I found out that:
autoconf
,automake
andlibtool
are treacherous tools, kind of a cross between Nyarlatothep and Shub-Niggurath, where they would pretend to help you when they are in fact laying millions of eggs everywhere, under the names "configure.am", "configure.ac", "Makefile.am". Things look good until you realise that half of your disk is cluttered by all this mess. Also, I am now pretty sure the Necronomicon is actually a configure script written in m4.- The documentation for contributing a port could be clearer: given
the above and following the guide for doing a quick port I ended up
missing the fact that I already had some version of
autoconf
installed, and thus didn't think to include it as an explicit dependency. As a result, my first submission was quickly dismissed. So, if the guide could be clearer to help half-wit like me prepare ports, what is great is that bogus ports are effectively filtered out before they can reach the official ports repository. It would seem to me that following the guide to slow porting is not just the best, but the only way to go. It's a bit more involved, as you must set up an instance ofpoudriere
, but it's really worth it. - CMake is the way to go. Instead of just fixing the dependencies, I
ended up migrating the thing to
cmake
. It's cleaner, quicker and much, much easier to maintain.
I still need to update the port to point to the latest release, which
only cleans up a few uncessary files, and, as soon as I have time,
rework the application itself to have it rely on libmpdclient
proper, instead of the old libmpdclient.c
interface file that comes
bundled with it, and that dates back to the dawn of time.
Also, this.