<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Defective Semantics &#187; macports</title>
	<atom:link href="http://scarff.id.au/blog/tag/macports/feed/" rel="self" type="application/rss+xml" />
	<link>http://scarff.id.au</link>
	<description>Dean Scarff's perpetual struggle with technology, and other anecdotes</description>
	<lastBuildDate>Sun, 05 Sep 2010 04:34:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Muxic Beta 2, XMMS2 0.6 Macport</title>
		<link>http://scarff.id.au/blog/2009/muxic-beta-2-xmms2-drmattdestruction-macport/</link>
		<comments>http://scarff.id.au/blog/2009/muxic-beta-2-xmms2-drmattdestruction-macport/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 14:31:19 +0000</pubDate>
		<dc:creator>Dean</dc:creator>
				<category><![CDATA[Programs]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[macports]]></category>
		<category><![CDATA[muxic]]></category>
		<category><![CDATA[xmms2]]></category>

		<guid isPermaLink="false">http://scarff.id.au/?p=275</guid>
		<description><![CDATA[<p>I finally got around to updating Muxic to the new xmms2-0.6DrMattDestruction API.  There were a few changes to the xmms2 clientlib that needed attention.</p>
<p>While I was doing this, I noticed that the xmms2 CF clientlib isn&#8217;t just superficially unusable, but will rev up your CPU something awful if the xmms2d drops its connection after registration of the clientlib CF runloop event source.  It needs a shutdown function, and that shutdown function needs some connection-specific CF variables from the init function.  Hence we can&#8217;t use the API in its current state (unless there&#8217;s some way to inject mainloop-specific state into the xmmsc_connection_t that I don&#8217;t know about).</p>
<p>I&#8217;ve reported it and presented a patch as XMMS2 bug #2232, but essentially it means that the libxmmsclient-cf that currently comes with xmms2 is very bugged.</p>
<p><small class="postscript">Update: patch accepted into xmms2-devel.git.</small></p>
<p>Since macports haven&#8217;t updated their port of xmms2, here is my xmms2&#8230; <a href="http://scarff.id.au/blog/2009/muxic-beta-2-xmms2-drmattdestruction-macport/" class="read_more">more</a></p>]]></description>
			<content:encoded><![CDATA[<p>I finally got around to updating Muxic to the new xmms2-0.6DrMattDestruction API.  There were a few <a href="http://wiki.xmms2.xmms.se/wiki/Release:DrMattDestruction#For_developers">changes to the xmms2 clientlib</a> that needed attention.</p>
<p>While I was doing this, I noticed that the xmms2 CF clientlib isn&#8217;t just <a href="http://bugs.xmms2.xmms.se/view.php?id=2191">superficially unusable</a>, but will rev up your CPU something awful if the xmms2d drops its connection after registration of the clientlib CF runloop event source.  It needs a shutdown function, and that shutdown function needs some connection-specific CF variables from the init function.  Hence we can&#8217;t use the API in its current state (unless there&#8217;s some way to inject mainloop-specific state into the xmmsc_connection_t that I don&#8217;t know about).</p>
<p>I&#8217;ve reported it and presented a patch as <a href="http://bugs.xmms2.xmms.se/view.php?id=2232">XMMS2 bug #2232</a>, but essentially it means that the libxmmsclient-cf that currently comes with xmms2 is very bugged.</p>
<p><small class="postscript">Update: patch accepted into <a href="http://git.xmms.se/?p=xmms2-devel.git;a=commit;h=3ab1c686d6aa3a5e98b0c690da62f1c42566d837">xmms2-devel.git</a>.</small></p>
<p>Since macports haven&#8217;t updated their port of xmms2, here is my <a href="/file/macports/audio/xmms2/Portfile">xmms2 @0.6DrMattDestruction portfile</a>.  I would have liked to support variants, but whenever I add my own &#8211;with-optionals or &#8211;with-plugins options to waf configure, the build breaks with link errors.  This happens even when I copy the exact list that waf configure automagically selects without arguments.  I haven&#8217;t figured out why this is, and trying to trace the internals of waf is a bitch.</p>
<p>Anyway, presenting <a href="/file/muxic-1.0beta2.dmg">Muxic Beta 2</a>, source code available in the <a href="http://scarff.id.au/cgit/muxic.git/">Muxic git repository</a> as usual.</p>
]]></content:encoded>
			<wfw:commentRss>http://scarff.id.au/blog/2009/muxic-beta-2-xmms2-drmattdestruction-macport/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unclean macports gettext upgrade</title>
		<link>http://scarff.id.au/blog/2009/unclean-macports-gettext-upgrade/</link>
		<comments>http://scarff.id.au/blog/2009/unclean-macports-gettext-upgrade/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 11:54:56 +0000</pubDate>
		<dc:creator>Dean</dc:creator>
				<category><![CDATA[Problems]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[macports]]></category>

		<guid isPermaLink="false">http://scarff.id.au/?p=240</guid>
		<description><![CDATA[<p>An innocent <code>port upgrade -uc outdated</code> turned into macports breakage after it tried to deactivate gettext.  The error messages, ad infinitum, are:</p>
<pre class="codeblock">
--->  Deactivating gettext @0.17_3
Error: Deactivating gettext 0.17_3 failed:
Error: Unable to upgrade port: dyld: Library not loaded:
/opt/local/lib/libintl.8.dylib
  Referenced from: /opt/local/bin/ln
  Reason: image not found
Error: Unable to exec port: dyld: Library not loaded:
/opt/local/lib/libintl.8.dylib
  Referenced from: /opt/local/bin/ln
  Reason: image not found
</pre>
<p>The reason is that I have the coreutils+with_default_names port installed, and those binaries link to the gettext libraries.  The coreutils binaries are used by the macports activation scripts, and the macports coreutils are earlier on the PATH.  Cue breakage.</p>
<p>The solution, as explained on macports-users, is:</p>
<ul>
<li>Add a binpath to macports.conf that has the (presumably working) Apple coreutils in /usr/bin and /bin before the macports ones</li>
<li><code>port deactivate coreutils</code></li>
<li><code>port deactivate gettext</code></li>
<li><code>port activate gettext</code></li>
<li><code>port activate coreutils</code></li>
</ul>
]]></description>
			<content:encoded><![CDATA[<p>An innocent <code>port upgrade -uc outdated</code> turned into macports breakage after it tried to deactivate gettext.  The error messages, ad infinitum, are:</p>
<pre class="codeblock">
--->  Deactivating gettext @0.17_3
Error: Deactivating gettext 0.17_3 failed:
Error: Unable to upgrade port: dyld: Library not loaded:
/opt/local/lib/libintl.8.dylib
  Referenced from: /opt/local/bin/ln
  Reason: image not found
Error: Unable to exec port: dyld: Library not loaded:
/opt/local/lib/libintl.8.dylib
  Referenced from: /opt/local/bin/ln
  Reason: image not found
</pre>
<p>The reason is that I have the coreutils+with_default_names port installed, and those binaries link to the gettext libraries.  The coreutils binaries are used by the macports activation scripts, and the macports coreutils are earlier on the PATH.  Cue breakage.</p>
<p>The solution, as explained on <a href="http://permalink.gmane.org/gmane.os.apple.macports.user/12860">macports-users</a>, is:</p>
<ul>
<li>Add a binpath to macports.conf that has the (presumably working) Apple coreutils in /usr/bin and /bin before the macports ones</li>
<li><code>port deactivate coreutils</code></li>
<li><code>port deactivate gettext</code></li>
<li><code>port activate gettext</code></li>
<li><code>port activate coreutils</code></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://scarff.id.au/blog/2009/unclean-macports-gettext-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
