Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Sep 2008 21:57:08 +0400
From:      Dmitry Marakasov <amdmi3@amdmi3.ru>
To:        Thomas Donnelly <tad1214@aol.com>
Cc:        ports@FreeBSD.org
Subject:   Re: audio/Mixxx
Message-ID:  <20080922175707.GA22933@hades.panopticon>
In-Reply-To: <48D7843D.6080609@aol.com>
References:  <48D7843D.6080609@aol.com>

next in thread | previous in thread | raw e-mail | index | archive | help
* Thomas Donnelly (tad1214@aol.com) wrote:

> I noticed that there is no longer a maintainer of this port. It is quite  
> a few versions old now (1.4.2, now up to 1.6.0) and I was curious if it  
> was going to be updated. I would be willing to maintain this port, but I  
> feel it is out of my technical capabilities. I am unable to build the  
> 1.6.0 version from source with quite a few errors and I am not  
> completely sure what the previous maintainer did to get it working. I  
> did try emailing the previous maintainer, but I am not expecting a  
> response due to his no longer maintaining the port.
Actually, if you're going to maintain it, you should at be least able to
build it. If you can't build it yet, that's easily fixable :)

I've made a draft port for 1.6.0-beta2, you can use it for reference.
It compiles fine, but I didn't ran it yet. The main changes I had
to make for it to compile are:

SConstruct: fix include/lib paths:
+env.Prepend(CPPPATH=["/usr/local/include/qt4/Qt", "/usr/local/include/portaudio2", "/usr/local/include"])
+env.Prepend(LIBPATH=["/usr/local/lib/qt4", "/usr/local/lib/portaudio2", "/usr/local/lib"])

please note the order, it is crucial (as well as using Prepend
instead of Append). mixxx includes Qt stuff as #include <qfoobar.h>,
so it should search in /usr/local/include/qt4/Qt _before_
/usr/local/include, or it will pick up qt3 includes instead.
Same for portaudio2 - include/portaudio2 should come before
/usr/local/include, or includes for old portaudio v18 will be picked
(audio/portaudio = v18, audio/portaudio2 = v19 which we need).

Other changes to SConstruct include disabling linux-specific stuff
like ALSA and uncompatible input handlers and  making it respect
CC/CXX/CFLAGS/CXXFLAGS set by Ports Collection.

Other two patches under files/ are for removing linux-specific input
stuff as well, and additional REINPLACE_CMD's in post-patch are
for fixing includes for FreeBSD: endian.h->sys/endian.h and
malloc.h->stdlib.h and getting rid of qt4-linguist dependency we don't
actually need.

The port is ready to be committed as it is (I've checked it to be
buildable 6.x/7.x/8.x i386/amd64), but you should at least test it and
ensure that it works well. Maybe some other things should be fixed.

For instance, I'm concerned about it's usability after removing
linux-specific audio and input stuff. Is it of any use without MIDI
(MIDI throught ALSA is unavailable, and I'm not sure if portaudio
supports MIDI on its own) and support for input devices (joysticks, MIDI
keyboards etc.)?

Patch can be found here:
http://people.freebsd.org/~amdmi3/mixxx.diff

-- 
Dmitry Marakasov   .   55B5 0596 FF1E 8D84 5F56  9510 D35A 80DD F9D2 F77D
amdmi3@amdmi3.ru  ..:  jabber: amdmi3@jabber.ru    http://www.amdmi3.ru



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080922175707.GA22933>