<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4047215424426423275</id><updated>2012-01-19T01:07:17.483-08:00</updated><category term='linux'/><category term='xorg'/><category term='mingw'/><category term='zeroconf'/><category term='php'/><category term='security'/><category term='xfce'/><category term='cross-compiling'/><category term='new'/><category term='mozilla'/><category term='multimedia'/><category term='kde'/><category term='gnome'/><title type='text'>Cygwin Ports</title><subtitle type='html'>Official blog for the Cygwin Ports project, which ports a wide variety of FOSS (especially GNOME and KDE) to the Cygwin platform.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-7064259909102636936</id><published>2011-12-02T00:20:00.001-08:00</published><updated>2011-12-02T01:39:33.098-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cross-compiling'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><title type='text'>A Qt hat, isn't it?</title><content type='html'>Fedora users may have noticed that F16 ships with Qt 4.8-RC.  While I'm not sure what the rush was, it did cause an interesting problem when it came to the &lt;a href="ftp://ftp.cygwinports.org/pub/cygwinports/fedora-cygwin/repoview/cygwin-qt.html" target="_blank"&gt;cygwin-qt&lt;/a&gt; cross-compiling package.&lt;br /&gt;&lt;br /&gt;Building anything based on Qt requires more than just headers and libraries; Qt's object system requires code to be processed by &lt;a href="http://doc.qt.nokia.com/4.7/moc.html" target="_blank"&gt;moc&lt;/a&gt;, which generates additional C++ code for signal/slot handling and the like.  There is also a number of other tools which "compile" various types of data into C++ code.I had been relying on the native tools in qt-devel to do this, since the generated code is not arch-specific.&lt;br /&gt;&lt;br /&gt;The problem here is that moc-generated code is very internal-specific; code generated with one version of Qt will not compile with headers from another version.  Since the version of cygwin-qt needs to match that of the Cygwin (Ports) qt4 package, and I have no plans of updating that to 4.8 until its proven stable in conjunction with KDE, this created a bit of an impasse. There was another issue with relying on qt-devel, in that qmake requires patches to build libraries or plugins correctly on Cygwin, which limited cygwin-qt cross-compiling to CMake-based packages.&lt;br /&gt;&lt;br /&gt;The solution to all this was to change the cygwin-qt-qmake package, which had previously just included qmake mkspecs, to provide native-built tools from the same version of Qt as cygwin-qt and with the necessary patches.  While &lt;a href="http://doc.qt.nokia.com/4.7/qmake-manual.html" target="_blank"&gt;qmake&lt;/a&gt;/moc/&lt;a href="http://doc.qt.nokia.com/4.7/rcc.html" target="_blank"&gt;rcc&lt;/a&gt;/&lt;a href="http://doc.qt.nokia.com/4.7/uic.html" target="_blank"&gt;uic&lt;/a&gt; are always statically linked with the necessary Qt code, the linguist, qdbus, and qt3support build tools are linked against the Qt libraries; for now, they are also statically linked with their Qt prerequisites.&lt;br /&gt;&lt;br /&gt;The updated cygwin-qt and cygwin-qt-qmake are now available for Fedora 14 and up on both arches, along with an updated &lt;a href="ftp://ftp.cygwinports.org/pub/cygwinports/fedora-cygwin/repoview/cygwin-filesystem.html" target="_blank"&gt;cygwin-filesystem&lt;/a&gt; to support these changes.  Even better, thanks to a patched qmake, I was also able to add &lt;a href="ftp://ftp.cygwinports.org/pub/cygwinports/fedora-cygwin/repoview/cygwin-qscintilla.html" target="_blank"&gt;cygwin-qscintilla&lt;/a&gt; and &lt;a href="ftp://ftp.cygwinports.org/pub/cygwinports/fedora-cygwin/repoview/cygwin-qwt.html" target="_blank"&gt;cygwin-qwt&lt;/a&gt;&amp;nbsp;packages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-7064259909102636936?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/7064259909102636936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=7064259909102636936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/7064259909102636936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/7064259909102636936'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2011/12/qt-hat-isnt-it.html' title='A Qt hat, isn&apos;t it?'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-4788592128659936352</id><published>2011-12-01T21:03:00.001-08:00</published><updated>2011-12-02T12:57:25.865-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Spicy Vinagre</title><content type='html'>One of the more eventful version bumps during the GNOME 3.2 update was with &lt;a href="http://live.gnome.org/Vinagre" target="_blank"&gt;Vinagre&lt;/a&gt;, the Remote Desktop Viewer, which supports a number of protocols via plugins. &amp;nbsp;These plugins used to be managed by &lt;a href="http://live.gnome.org/Libpeas" target="_blank"&gt;libpeas&lt;/a&gt;, a GNOME framework which makes it easier to develop and manage plugins. &amp;nbsp;However, in the case of Vinagre, it was a bit of an overkill, as the only plugins that were needed were those that shipped with Vinagre itself.&lt;br /&gt;&lt;br /&gt;So, during the 3.2 development cycle, the devs decided to replace libpeas with their own &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;VinagreStaticExtension&lt;/span&gt; class. In theory, a sensible move, but they made one major mistake: &lt;i&gt;they never added any code to actually &lt;b&gt;load &lt;/b&gt;the plugins&lt;/i&gt;!&lt;br /&gt;&lt;br /&gt;Now that got your attention, didn't it?&lt;br /&gt;&lt;br /&gt;Of course, if you try vinagre 3.2 on Linux, you may find that it works perfectly (but we'll get back to that). &amp;nbsp;But only because they used the most unportable, Linux/ELF-centric hack that I've ever seen (and trust me, I've seen my fair share of them). &amp;nbsp;It took me a while to figure it out at first, but here is what they did:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;the plugin init functions are marked &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;__attribute__((constructor))&lt;/span&gt;, a &lt;a href="http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html" target="_blank"&gt;GCC extension&lt;/a&gt; which causes the indicated function to be called automatically;&lt;/li&gt;&lt;li&gt;the plugins rely on symbols in the main binary, of course, but furthermore...&lt;/li&gt;&lt;li&gt;the executable also relied on symbols in the vnc plugin, and to top it off...&lt;/li&gt;&lt;li&gt;the executable is linked against the plugins!! (If you don't think you misread that, then try again.)&lt;/li&gt;&lt;/ol&gt;In short, the only reason that this worked is that, by linking the plugins into the executable regardless of symbol dependency, the ELF runtime loader would load the plugin as a runtime dependency, at which time the plugin init function would be called due to being marked as a ctor.&lt;br /&gt;&lt;br /&gt;To be fair, technique #1 is also used by LADSPA plugins, and #2 isn't uncommon and can be made to work even on PE platforms.  However, #3, while theoretically possible, is impractical with plugins due to a lack of rpath in PE linkage, and relying on #4 wouldn't work at all because with PE only those DLLs whose symbols are required are hard-coded as runtime dependencies.  And here's the kicker: &lt;i&gt;even on ELF platforms&lt;/i&gt;, &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=653558" target="_blank"&gt;this doesn't work if linked with &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;-Wl,--as-needed&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Fortunately, the fix is fairly easy: make the plugins static instead, link them into the executable as before, and actually call the ctors in main().  So not only is vinagre 3.2 working and available with the rest of GNOME 3.2 in Ports, but while I was at it, I added &lt;a href="http://www.spice-space.org/" target="_blank"&gt;SPICE protocol&lt;/a&gt; support as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-4788592128659936352?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/4788592128659936352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=4788592128659936352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/4788592128659936352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/4788592128659936352'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2011/12/spicy-vinagre.html' title='Spicy Vinagre'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-4283575518830312497</id><published>2011-07-06T01:59:00.000-07:00</published><updated>2011-07-06T02:08:21.013-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='cross-compiling'/><title type='text'>Fedora Cygwin repos moved</title><content type='html'>&lt;div&gt;I have updated the Fedora 14 Cygwin gcc to 4.5.3, and have added the toolchain packages built for F15 as well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;In order to properly support multiple RPM repositories, I had to relocate the Fedora Cygwin repos to Cygwin Ports' FTP area.  You will need to manually update the &lt;a href="http://downloads.sourceforge.net/fedora-cygwin/fedora-cygwin-release-3-1.noarch.rpm"&gt;release RPM&lt;/a&gt; (with '&lt;tt&gt;rpm -U&lt;/tt&gt;') followed by &lt;tt&gt;yum update&lt;/tt&gt; in order to get the new packages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-4283575518830312497?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/4283575518830312497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=4283575518830312497' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/4283575518830312497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/4283575518830312497'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2011/07/fedora-cygwin-repos-moved.html' title='Fedora Cygwin repos moved'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-3183316252783532877</id><published>2011-07-03T11:52:00.000-07:00</published><updated>2011-07-03T14:10:18.034-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zeroconf'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>This Lemur can be found outside of Madagascar</title><content type='html'>&lt;div&gt;&lt;i&gt;(alternative tagline: did you realize that &lt;a href="http://en.wikipedia.org/wiki/Malagasy_Hippopotamus"&gt;hippos&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Woolly_lemur"&gt;lemurs&lt;/a&gt; used to be neighbours?)&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm referring, of course, to &lt;a href="http://avahi.org/"&gt;Avahi&lt;/a&gt;.  GNOME relies on Avahi to provide &lt;a href="http://en.wikipedia.org/wiki/Zeroconf"&gt;mDNS/DNS-SD (aka Zeroconf)&lt;/a&gt; functionality.  Until now, that's been missing on Cygwin, and for good reason.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In order to deal with anything beyond wide area browsing, Avahi requires low-level networking support, and it currently &lt;a href="http://avahi.org/wiki/DownloadAvahi#Requirements"&gt;only has that support for Linux, BSD, and Darwin&lt;/a&gt;.  Any other platform, and well, you might think you're out of luck, except that we're in good company: OpenSolaris is also a GNOME distro and has been in the same boat.  For technical reasons, they chose to make Apple's Bonjour (mDNSResponder) the primary mDNS/DNS-SD service, and &lt;a href="http://src.opensolaris.org/source/xref/jds/spec-files/trunk/patches/"&gt;patched avahi-daemon&lt;/a&gt; to be a client thereof, circumventing the lack of networking support.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It turns out that this solution works for Cygwin as well.  A Cygwin-built mDNSResponder wouldn't work for the same reason a vanilla avahi-daemon won't, but the former does work on Windows (as used by iTunes, Safari, and &lt;a href="http://en.wikipedia.org/wiki/Bonjour_(software)#Overview"&gt;much more&lt;/a&gt;).  As for the client, since it communicates with the daemon solely via UDP, a Cygwin-native libdns_sd works just fine with a Windows daemon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So thanks to FOSS, we have a working Windows mDNSResponder, a portable libdns_sd client, and patches for Avahi to use it.  The result?  A mDNS/DNS-SD stack that works for both Windows and Cygwin seamlessly.  The possibilities are endless.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This does mean that you need a working Windows mDNSResponder running on your machine.  While it is open source (Apache-2.0), it requires Visual Studio in order to build, so you'll need to get that binary from elsewhere.  You might already have it, as it comes with the aforementioned Windows software (look for the "Bonjour Service" in Services or mDNSResponder in taskmgr); otherwise you can &lt;a href="http://developer.apple.com/opensource/"&gt;download an installer&lt;/a&gt; directly from Apple.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Existing GNOME components which can benefit from Avahi have been rebuilt to enable this support, and a handful new programs and plugins have been added as well.  A few packages (mpd, xmms2, and libdmapsharing, the latter of which is used by rhythmbox) which support either stack use libdns_sd directly to minimize overhead.  As for KDE, 4.6.5 is due to be released upstream any day now, so this feature will be added there as part of that update.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-3183316252783532877?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/3183316252783532877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=3183316252783532877' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/3183316252783532877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/3183316252783532877'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2011/07/this-lemur-can-be-found-outside-of.html' title='This Lemur can be found outside of Madagascar'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-3673734868632126709</id><published>2011-03-12T21:03:00.000-08:00</published><updated>2011-03-12T21:18:33.261-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='cross-compiling'/><title type='text'>Fedora Cygwin RPM repository</title><content type='html'>&lt;p&gt;I have uploaded the first stages of the Fedora Cygwin RPM repository for Fedora 14 i686 and x86_64.   I have added a &lt;a href="https://sourceforge.net/projects/fedora-cygwin/files/RPMS/noarch/fedora-cygwin-release-1-1.fc14.noarch.rpm"&gt;release RPM&lt;/a&gt; which will allow installing the packages with Yum or the various PackageKit frontends.   Any questions or issues with these packages should be directed to the &lt;a href="https://sourceforge.net/mail/?group_id=99645"&gt;cygwin-ports-general list&lt;/a&gt; for now.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-3673734868632126709?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/3673734868632126709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=3673734868632126709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/3673734868632126709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/3673734868632126709'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2011/03/fedora-cygwin-rpm-repository.html' title='Fedora Cygwin RPM repository'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-601184610740046926</id><published>2011-03-11T00:02:00.000-08:00</published><updated>2011-03-11T01:21:31.780-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Planting Season</title><content type='html'>&lt;p&gt;Well, at least in some parts of the world. But not here, it's still below freezing (although not by much).&lt;/p&gt;&lt;p&gt;Yesterday,  I was testing the two programs in Ports which use GObject Introspection at runtime (&lt;tt&gt;lightsoff&lt;/tt&gt; and &lt;tt&gt;swell-foop&lt;/tt&gt;), I found that those programs were completely nonfunctional. Not only that, I found that &lt;a href="https://bugs.launchpad.net/ubuntu/+source/seed/+bug/725320"&gt;it wasn't just me&lt;/a&gt;. But as I dug deeper, I found that &lt;i&gt;everything&lt;/i&gt; went wrong at once:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Pango's typelibs were broken due to &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=621718"&gt;improperly shipped GIRs&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;The gtk_clutter_init* functions needed some &lt;a href="http://git.clutter-project.org/clutter-gtk/commit/?h=clutter-gtk-0.10&amp;amp;id=0d77c7c"&gt;introspection annotations&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;Seed &lt;a href="http://cygwin-ports.git.sourceforge.net/git/gitweb.cgi?p=cygwin-ports/seed;a=blob;f=2.31.91-g_module_build_path.patch"&gt;module loading broke&lt;/a&gt; in 2.31;&lt;/li&gt;&lt;li&gt;The games should have been using &lt;a href="http://git.gnome.org/browse/gnome-games/commit/?id=f355bdc"&gt;GtkClutter.init() instead of init_with_args()&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;The games were trying to use a Glib function &lt;a href="http://git.gnome.org/browse/gnome-games/commit/?id=98b73ad"&gt;which was no longer exported&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;The games were not specifying &lt;a href="http://cygwin-ports.git.sourceforge.net/git/gitweb.cgi?p=cygwin-ports/gnome-games;a=blob;f=2.32-introspection-versions.patch"&gt;which versions of its dependencies&lt;/a&gt; were needed, causing the wrong versions to be loaded if gtk3 libraries are present.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The good news is, four packages and six patches later, the games are working again, and will be shipped in the next upload (hopefully next week).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-601184610740046926?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/601184610740046926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=601184610740046926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/601184610740046926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/601184610740046926'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2011/03/planting-season.html' title='Planting Season'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-6302770245890126303</id><published>2011-02-17T02:37:00.000-08:00</published><updated>2011-03-10T20:43:39.150-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mingw'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='cross-compiling'/><title type='text'>Across and Back Again</title><content type='html'>As you may be aware, last summer I added cross-compiling support to cygport, resulting in a new 0.10 series.  The results so far have been quite promising, with cygwin-based cross-toolchains now available for the following targets:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;MinGW (&lt;tt&gt;i686-pc-mingw32&lt;/tt&gt;), with the basic packages &lt;a href="http://cygwin.com/ml/cygwin-apps/2010-11/msg00161.html"&gt;available here&lt;/a&gt; pending an ITA, and many more in Ports&lt;/li&gt;&lt;li&gt;MinGW-w64 (&lt;tt&gt;i686-w64-mingw32&lt;/tt&gt; and &lt;tt&gt;x86_64-w64-mingw32&lt;/tt&gt;), already in &lt;a href="http://cygwin.com/cgi-bin2/package-grep.cgi?grep=mingw64"&gt;the distro&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Linux x86 (&lt;tt&gt;i686-pc-linux-gnu&lt;/tt&gt;) and x64 (&lt;tt&gt;x86_64-pc-linux-gnu&lt;/tt&gt;)&lt;/li&gt;&lt;li&gt;Solaris 10 x86 (&lt;tt&gt;i386-pc-solaris2.10&lt;/tt&gt;) and SPARC (&lt;tt&gt;sparc-sun-solaris2.10&lt;/tt&gt;)&lt;/li&gt;&lt;li&gt;Solaris 11 x86 (&lt;tt&gt;i386-pc-solaris2.11&lt;/tt&gt;)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;AVR microcontrollers (&lt;tt&gt;avr&lt;/tt&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;With this improvement to cygport, cross-compiling &lt;b&gt;from&lt;/b&gt; Cygwin comes with the ease you would expect from a Linux distribution.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This week, I decided it was time to turn things around and make it easier to cross-compile &lt;b&gt;to&lt;/b&gt; Cygwin as well.  To that end, I have created a minimal Linux-to-Cygwin cross-compiler toolchain for Fedora Linux.  Under my "fedora-cygwin" (sub)project, I have posted .spec files and patches to &lt;a href="http://fedora-cygwin.git.sourceforge.net/git/gitweb-index.cgi"&gt;SourceForge git&lt;/a&gt; and RPMs for both ix86 and x86_64 to the &lt;a href="http://sourceforge.net/projects/fedora-cygwin/files/"&gt;File Release area&lt;/a&gt;.  For now it is necessary to manually download and install the RPMs until I have the chance to figure out how to setup a yum repository.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While these packages are mostly based on the work of the &lt;a href="http://fedoraproject.org/wiki/MinGW"&gt;fedora-mingw&lt;/a&gt; project, there are important differences.   I'll admit that these are my first RPM spec files, so I'll gladly take constructive suggestions for improvement, or better yet, git patches.  Furthermore, these have yet to be tested beyond building themselves.  If you do find these useful, or discover any problems, please let me know through the &lt;a href="http://sourceforge.net/mail/?group_id=99645"&gt;Cygwin Ports mailing list&lt;/a&gt; for now.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-6302770245890126303?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/6302770245890126303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=6302770245890126303' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/6302770245890126303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/6302770245890126303'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2011/02/across-and-back-again.html' title='Across and Back Again'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-5390326967389851408</id><published>2009-09-08T22:58:00.000-07:00</published><updated>2009-09-08T23:20:00.545-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>A Time to Introspect</title><content type='html'>&lt;a href="http://live.gnome.org/GObjectIntrospection"&gt;GObject Introspection&lt;/a&gt; looks to be the future of GNOME language bindings, and the good news is, you need not wait until 3.0 to use it.  I have just finished adding all the components currently available to Ports SVN, together with &lt;a href="http://live.gnome.org/Seed"&gt;Seed&lt;/a&gt;, a WebKit-based JavaScript interpreter which automatically includes "bindings" to any of 30+ libraries which ship with Introspection data.&lt;br /&gt;&lt;br /&gt;Here is &lt;a href="http://sourceforge.net/project/screenshots.php?group_id=99645&amp;amp;ssid=112518"&gt;a screenshot&lt;/a&gt; of several Seed examples using the GTK+, Clutter, VTE, and WebKit libraries through GObject Introspection.  The LightsOff game shown there will be part of GNOME Games 2.28, but I've made a preview of the latest beta release available.  All this will be part of the next upload, which I hope will be this week or next.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-5390326967389851408?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/5390326967389851408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=5390326967389851408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/5390326967389851408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/5390326967389851408'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2009/09/time-to-introspect.html' title='A Time to Introspect'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-815997980985161482</id><published>2009-06-24T22:00:00.000-07:00</published><updated>2009-06-24T22:08:35.928-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xfce'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Google Gadgets for Linux</title><content type='html'>I just added &lt;a href="https://sourceforge.net/project/screenshots.php?group_id=99645&amp;amp;ssid=107327"&gt;a screenshot&lt;/a&gt; of Xfce 4.6.1 with &lt;a href="http://code.google.com/p/google-gadgets-for-linux/"&gt;Google Gadgets for Linux&lt;/a&gt; (which I &lt;a href="http://cygwin-ports.svn.sourceforge.net/viewvc/cygwin-ports/ports/trunk/x11/google-gadgets-for-linux/"&gt;just finished building today&lt;/a&gt;) and Konqueror 4.2.4 running on my new computer.  Unfortunately, XWin multiwindow mode doesn't have the compositing support to make GGL look right, but it works fine on a desktop.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-815997980985161482?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/815997980985161482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=815997980985161482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/815997980985161482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/815997980985161482'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2009/06/google-gadgets-for-linux.html' title='Google Gadgets for Linux'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-7858440282998144431</id><published>2009-06-17T17:46:00.000-07:00</published><updated>2009-06-17T18:20:06.493-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='new'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>The Path of Evolution</title><content type='html'>&lt;a href="http://projects.gnome.org/evolution/"&gt;GNOME Evolution&lt;/a&gt;, that is.  This is one of those packages that has been bugging me for years; it would build but not run.  But in the process of buildings &lt;a href="http://www.pimlico-project.org/"&gt;Contacts, Dates, and Tasks&lt;/a&gt;, which also use Evolution-Data-Server but have very simple interfaces, I discovered that NSS still wasn't working, causing E-D-S to not initialize.  So I rebuilt E-D-S and Evolution without NSS, and voila, it runs like a charm.&lt;br /&gt;&lt;br /&gt;So Evolution will be part of the next upload, albeit without SSL support, together with the rest of GNOME 2.26.2.  As for SSL support, as much as I would like to have it, I'll admit trying to fix &lt;a href="http://cygwin-ports.svn.sourceforge.net/viewvc/cygwin-ports/ports/trunk/libs/nspr/"&gt;NSPR&lt;/a&gt;/&lt;a href="http://cygwin-ports.svn.sourceforge.net/viewvc/cygwin-ports/ports/trunk/libs/nss/"&gt;NSS&lt;/a&gt; again isn't my highest priority right now.  (Why can't they use something more normal, like GnuTLS, instead?)  As always, &lt;a href="http://cygwin.com/acronyms/#PTC"&gt;PTC&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-7858440282998144431?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/7858440282998144431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=7858440282998144431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/7858440282998144431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/7858440282998144431'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2009/06/path-of-evolution.html' title='The Path of Evolution'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-1734544741978606821</id><published>2008-10-02T23:40:00.001-07:00</published><updated>2008-10-02T23:52:45.072-07:00</updated><title type='text'>New website</title><content type='html'>While SunSite.dk has been an accommodating host of an ever-growing Ports repository, recent issues with downtime, responsiveness, and storage limits (albeit generous) have held up progress over the last few months.  While I am grateful for all their help, the time has come to find another home.&lt;br /&gt;&lt;br /&gt;Thanks to the graciousness of a sourceware.org admin, Cygwin Ports has found a new home for the &lt;a href="http://sourceware.org/cygwinports/"&gt;website&lt;/a&gt; and &lt;a href="ftp://sourceware.org/pub/cygwinports/"&gt;package repository&lt;/a&gt;.  This will allow for easier updating and continued expansion of Ports' offerings.  The sunsite.dk package repository has been removed, and all website links now point to our new home.&lt;br /&gt;&lt;br /&gt;I invite all Ports users to visit the new website, and follow the directions there to update their packages.  As always, questions/comments/issues/testimonials/thanks/etc. go to the cygwin-ports-general list.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-1734544741978606821?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/1734544741978606821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=1734544741978606821' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/1734544741978606821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/1734544741978606821'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2008/10/new-website.html' title='New website'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-8201719705738378329</id><published>2008-05-12T11:22:00.000-07:00</published><updated>2008-05-12T13:37:23.345-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multimedia'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='mozilla'/><title type='text'>Netscape plugins</title><content type='html'>What does Netscape have to do with Cygwin, you ask?  Didn't I just say that anything Mozilla-related doesn't work yet on Cygwin?&lt;br /&gt;&lt;br /&gt;Fortunately we still have one working browser on Cygwin: &lt;a href="http://www.konqueror.org/"&gt;Konqueror&lt;/a&gt;.  The &lt;span style="font-family:courier new;"&gt;nsplugins&lt;/span&gt; package allows Konqueror to load and use Netscape-compatible plugins.  At the next upload, there will be two such working plugins: &lt;a href="http://cygwin-ports.cvs.sourceforge.net/cygwin-ports/ports/libs/djvulibre/"&gt;DjView3&lt;/a&gt; and &lt;a href="http://cygwin-ports.cvs.sourceforge.net/cygwin-ports/ports/media/xine-plugin/"&gt;Xine&lt;/a&gt;.  I tried, but failed, to get &lt;a href="http://cygwin-ports.cvs.sourceforge.net/cygwin-ports/ports/media/swfdec-mozilla/"&gt;swfdec-mozilla&lt;/a&gt; 0.5 working as well; another try with 0.6 will have to wait for GNOME 2.22.&lt;br /&gt;&lt;br /&gt;Yes, swfdec itself and the swfdec-gnome player are working, but I had to disable sound support.  Enabling the OSS sound support would lock up video playback while the audio was playing.  In the meantime, at least it works for games.&lt;br /&gt;&lt;br /&gt;If you're looking to play YouTube videos within Cygwin, a &lt;a href="http://www.linux.com/feature/133157"&gt;recent Linux.com article&lt;/a&gt; lists several downloaders.  FFmpeg support allows the following applications to play the FLV videos: ffplay (&lt;span style="font-family: courier new;"&gt;ffmpeg&lt;/span&gt;), gxine, kaffeine, kmplayer, kplayer, mplayer, totem, vlc, xine (&lt;span style="font-family: courier new;"&gt;xine-ui&lt;/span&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-8201719705738378329?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/8201719705738378329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=8201719705738378329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/8201719705738378329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/8201719705738378329'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2008/05/netscape-plugins.html' title='Netscape plugins'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-4217327157775693821</id><published>2008-05-12T10:29:00.000-07:00</published><updated>2008-05-12T11:19:18.421-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>GtkMozEmbed challenge</title><content type='html'>One of the biggest things missing from Ports' GNOME is &lt;a href="http://www.mozilla.org/unix/gtk-embedding.html"&gt;GtkMozEmbed&lt;/a&gt;, nowadays often provided by &lt;a href="http://developer.mozilla.org/en/docs/XULRunner"&gt;XULRunner&lt;/a&gt;.  This would allow adding, updating, or new features for the following packages, among others:&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://developer.imendio.com/projects/devhelp"&gt;Devhelp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gnome.org/projects/epiphany/"&gt;Epiphany&lt;/a&gt;&lt;br /&gt;&lt;a href="http://galeon.sourceforge.net/"&gt;Galeon&lt;/a&gt;&lt;br /&gt;&lt;a href="http://kazehakase.sourceforge.jp/"&gt;Kazehakase&lt;/a&gt;&lt;br /&gt;&lt;a href="http://liferea.sourceforge.net/"&gt;Liferea&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.monodevelop.com/Main_Page"&gt;MonoDevelop&lt;/a&gt;&lt;br /&gt;&lt;a href="http://live.gnome.org/Yelp"&gt;Yelp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://search.cpan.org/dist/Mozilla-DOM/"&gt;Mozilla::DOM&lt;/a&gt;&lt;br /&gt;&lt;a href="http://search.cpan.org/dist/Gtk2-MozEmbed/"&gt;Gtk2::MozEmbed&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pygtk.org/pygtkmozembed/"&gt;pygtkmozembed&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ruby-gnome2.sourceforge.jp/hiki.cgi?Ruby/GtkMozEmbed"&gt;ruby-gtkmozembed&lt;/a&gt;&lt;/blockquote&gt;Besides being extremely large (34MB source), Mozilla has always abused Cygwin as a build platform for MinGW/MSVC.  I really don't like it when people do that.  Cygwin is a fairly capable platform of its own accord, not just a means to an unrelated end, and treating it otherwise is not just insulting to those of us who use and develop it, but confuses new users to no end.  (Which is why I'd be glad to see the end of &lt;span style="font-family:courier new;"&gt;-mno-cygwin&lt;/span&gt; as well.)&lt;br /&gt;&lt;br /&gt;But since GNOME starting using GtkMozEmbed a few years ago, I've taken a few attempts at removing all the anti-Cygwin hacks, all ending without a successful build.  A recent (partially successful) experiment with Netscape plugins in Konqueror inspired me to try again.  Thanks to Gentoo's ebuild, I managed to get a successful build, but it just crashes (although sometimes a window appears for a split second).  My gut feeling is that it's a problem in the XPCOM initialization, but at this point it's way beyond me.&lt;br /&gt;&lt;br /&gt;So here's the challenge for anyone who chooses to accept it: get XULRunner to run.  To get you started, here's my &lt;a href="http://cygwin-ports.cvs.sourceforge.net/cygwin-ports/ports/net/xulrunner/"&gt;cygport and patch&lt;/a&gt;.  You'll need GTK+ and the GNOME libs from Ports (with their -devel packages) as prerequisites. The build can be tested with the included TestGtkEmbed.exe, or build and install both &lt;a href="http://cygwin-ports.cvs.sourceforge.net/cygwin-ports/ports/perl/Mozilla-DOM/"&gt;Mozilla::DOM&lt;/a&gt; and &lt;a href="http://cygwin-ports.cvs.sourceforge.net/cygwin-ports/ports/perl/Gtk2-MozEmbed/"&gt;Gtk2::MozEmbed&lt;/a&gt; and try the examples.  (The latter require &lt;a href="http://cygwin-ports.cvs.sourceforge.net/cygwin-ports/cygport/lib/gtk2-perl.cygclass?r1=1.15&amp;amp;r2=1.16&amp;amp;view=patch"&gt;a recent patch to cygport&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;If you do succeed, please drop a note to the mailing list with your modified cygport and patch.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-4217327157775693821?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/4217327157775693821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=4217327157775693821' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/4217327157775693821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/4217327157775693821'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2008/05/gtkmozembed-challenge.html' title='GtkMozEmbed challenge'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-7959396047361834747</id><published>2007-12-03T19:58:00.000-08:00</published><updated>2007-12-03T20:04:35.276-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><title type='text'>KDE and gamin</title><content type='html'>In the Ports builds of KDE 3.5.8, I enabled FAM (with &lt;a href="http://www.gnome.org/~veillard/gamin/"&gt;gamin&lt;/a&gt;) support in kdelibs.  Unfortunately, the tradeoff has been excessive CPU usage by gam_server, much more than is normal with GNOME.  Some &lt;a href="http://www.google.ca/search?q=KDE+fam+cpu"&gt;googling&lt;/a&gt; showed that this may not be unique to Cygwin, but can happen on Linux as well.  While I'd be interested to hear if anyone has noticed any positive effects from the FAM support, at this point, I think I'm going to have to rebuild kdelibs without it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-7959396047361834747?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/7959396047361834747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=7959396047361834747' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/7959396047361834747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/7959396047361834747'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2007/12/kde-and-gamin.html' title='KDE and gamin'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-6964906513160097877</id><published>2007-12-03T19:55:00.000-08:00</published><updated>2007-12-03T19:58:21.435-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>SECURITY: link-grammar</title><content type='html'>A &lt;a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-5395"&gt;security vulnerability&lt;/a&gt; has been announced for &lt;a href="http://www.abisource.com/projects/link-grammar/"&gt;link-grammar&lt;/a&gt;.  A version bump to fix this is in CVS, and will be included in the next upload.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-6964906513160097877?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/6964906513160097877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=6964906513160097877' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/6964906513160097877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/6964906513160097877'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2007/12/security-link-grammar.html' title='SECURITY: link-grammar'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-7659906829256883640</id><published>2007-10-11T22:32:00.000-07:00</published><updated>2007-10-14T21:29:25.047-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='new'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PHP on Cygwin</title><content type='html'>Efforts to bring &lt;a href="http://www.php.net/"&gt;PHP&lt;/a&gt; to Cygwin have waxed and waned over the years.  One of the big problems, at least with PHP5, was dealing with shared extensions, as discussed last year in &lt;a href="http://www.cygwin.com/ml/cygwin-apps/2006-06/msg00007.html"&gt;this thread&lt;/a&gt;.  Unfortunately the sources mentioned there are no longer available, so unfortunately I didn't even have that to start with.&lt;br /&gt;&lt;br /&gt;PHP consists of multiple interpreters (called SAPIs) which serve different purposes, e.g. a command-line interface, a CGI interface, Apache modules, etc., together with dozens of extensions written in C, which can either be built in to the interpreter or can exist as loadable modules.  Additional C extensions are also available on &lt;a href="http://pecl.php.net/"&gt;PECL&lt;/a&gt;, which must be built as shared modules, as they are installed after building the runtime.&lt;br /&gt;&lt;br /&gt;PHP extensions require symbols that would normally be (on Linux) in the interpreters, but that doesn't work for Cygwin because all symbols must be resolved at link time.  But if an extension is linked against one SAPI but loaded by another, a segfault will result.&lt;br /&gt;&lt;br /&gt;The solution is, as is done with MSVC, is to build almost all the core sources into a shared library, then link the SAPIs (with just their SAPI-specific code) and the extensions against the library.  Implementing this within the autotool framework took a lot of work to get right, but it looks promising so far: both the CLI and CGI load all the modules, PECL extensions can be built, and even better, &lt;a href="http://gtk.php.net/"&gt;PHP-GTK&lt;/a&gt; is working.&lt;br /&gt;&lt;br /&gt;This solution does require a few minor changes to the build procedure for PECL extensions, hence I've added &lt;a href="http://cygwin-ports.cvs.sourceforge.net/cygwin-ports/cygport/lib/php.cygclass"&gt;php.cygclass&lt;/a&gt; to cygport for this purpose; in most cases, a one-liner 'inherit php' is enough.&lt;br /&gt;&lt;br /&gt;PHP, PHP-GTK, and several other sample PECL extensions are now in &lt;a href="http://cygwin-ports.cvs.sourceforge.net/cygwin-ports/ports/php/"&gt;CVS&lt;/a&gt;; the PHP .cygport is heavily commented, which should help make sense of what was needed to make this work, for those who are interested.  PHP, with separate packages for each of the standard extensions, as well as PHP-GTK, will be available in binary form with the next upload.&lt;br /&gt;&lt;br /&gt;BTW, at this point I have no intention of packaging PEAR (pure PHP extension) libraries, as they require no compilation; instead, just install php-pear and install them as on any other platform.&lt;br /&gt;&lt;br /&gt;If anyone is running Apache, then I would like to hear if those SAPIs are working; please post a comment below or to the mailing list.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-7659906829256883640?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/7659906829256883640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=7659906829256883640' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/7659906829256883640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/7659906829256883640'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2007/10/php-on-cygwin.html' title='PHP on Cygwin'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-8646412870795672353</id><published>2007-10-08T10:37:00.000-07:00</published><updated>2007-10-08T10:44:03.975-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multimedia'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>SECURITY: libsndfile</title><content type='html'>The Gentoo Security team has &lt;a href="http://security.gentoo.org/glsa/glsa-200710-04.xml"&gt;announced&lt;/a&gt; a security vulnerability in all versions of &lt;a href="http://www.mega-nerd.com/libsndfile/"&gt;libsndfile&lt;/a&gt;.  I have rebuilt libsndfile with their patch, as well as for the new FLAC API.  This is now in &lt;a href="http://cygwin-ports.cvs.sourceforge.net/cygwin-ports/ports/libs/libsndfile/"&gt;CVS&lt;/a&gt;, and will be included in the next upload.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-8646412870795672353?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/8646412870795672353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=8646412870795672353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/8646412870795672353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/8646412870795672353'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2007/10/security-libsndfile.html' title='SECURITY: libsndfile'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-6920599497055200702</id><published>2007-10-07T19:47:00.000-07:00</published><updated>2007-10-08T11:16:32.668-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Pidgin and SILC</title><content type='html'>I just &lt;a href="http://cygwin-ports.cvs.sourceforge.net/cygwin-ports/ports/gnome/pidgin/pidgin-2.2.1-1.cygport"&gt;finished&lt;/a&gt; building &lt;a href="http://pidgin.im/"&gt;Pidgin&lt;/a&gt; 2.2.1 with &lt;a href="http://silcnet.org/software/download/toolkit/"&gt;SILC&lt;/a&gt; support.  But I came across an interesting problem:&lt;br /&gt;&lt;br /&gt;SILC can either use &lt;a href="http://gmplib.org/"&gt;GNU MP&lt;/a&gt; or its own code for multiple-precision arithmetic, and that causes the problem, because "silcmp.h" begins with:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;#ifdef SILC_MP_GMP&lt;br /&gt;#include "mp_gmp.h"&lt;br /&gt;#else&lt;br /&gt;#include "mp_tma.h"&lt;br /&gt;#endif&lt;/blockquote&gt;Only one of those "mp_*.h" headers will be installed, depending on which MP is enabled.  But that means that anything building against SILC needs to know if GMP was used or not; if it was, and you don't &lt;span style="font-family:courier new;"&gt;#define SILC_MP_GMP&lt;/span&gt;, then you obviously get errors at compile time (since mp_tma.h is not installed in that case).&lt;br /&gt;&lt;br /&gt;For Pidgin, I just worked around this by adding &lt;span style="font-family:courier new;"&gt;-DSILC_MP_GMP&lt;/span&gt; to &lt;span style="font-family:courier new;"&gt;CPPFLAGS&lt;/span&gt;, but there should be a better solution:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The best solution would be for SILC to add this flag to silc.pc via an &lt;span style="font-family:courier new;"&gt;AC_SUBST&lt;/span&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Otherwise, Pidgin (and other software depending on SILC) should be calling in configure.ac:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;CFLAGS_save="$CFLAGS"&lt;br /&gt;CFLAGS="$CFLAGS $SILC_CFLAGS"&lt;br /&gt;AC_CHECK_HEADER(mp_gmp.h, silc_mp_gmp=yes)&lt;br /&gt;CFLAGS="$CFLAGS_save"&lt;br /&gt;if test "x$silc_mp_gmp" = "xyes"; then&lt;br /&gt;AC_DEFINE(SILC_MP_GMP, 1, [Define if SILC uses GNU MP])&lt;br /&gt;fi&lt;/blockquote&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Now you understand why the first solution is much better. But does anyone know how other distros deal with this?  &lt;a href="http://cygwin.com/acronyms/#PTC"&gt;Comments Thoughtfully Considered&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-6920599497055200702?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/6920599497055200702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=6920599497055200702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/6920599497055200702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/6920599497055200702'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2007/10/pidgin-and-silc.html' title='Pidgin and SILC'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-6438036807785408585</id><published>2007-10-07T19:34:00.000-07:00</published><updated>2007-10-07T19:39:59.963-07:00</updated><title type='text'>New blog</title><content type='html'>As it seems that blogging is becoming more common among open source projects, I decided it's only fitting that Cygwin Ports should join the club.  Don't expect long essays here, but I will try to share my experiences from building and maintaining a wide variety of software on a not-so-common platform.&lt;br /&gt;&lt;br /&gt;Also, this isn't meant to be a support forum; keep using the cygwin-ports-general mailing list for that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-6438036807785408585?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/6438036807785408585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=6438036807785408585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/6438036807785408585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/6438036807785408585'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2007/10/new-blog.html' title='New blog'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4047215424426423275.post-244897668947693335</id><published>2007-10-07T19:29:00.000-07:00</published><updated>2007-10-07T19:34:15.422-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='xorg'/><title type='text'>SECURITY: xfs</title><content type='html'>X.org has &lt;a href="http://lists.freedesktop.org/archives/xorg-announce/2007-October/000416.html"&gt;announced &lt;/a&gt;that xfs (&lt;1.0.5) contains several security vulnerabilities; an update is already in Ports CVS and will be included in the next upload.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4047215424426423275-244897668947693335?l=cygwinports.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cygwinports.blogspot.com/feeds/244897668947693335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4047215424426423275&amp;postID=244897668947693335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/244897668947693335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4047215424426423275/posts/default/244897668947693335'/><link rel='alternate' type='text/html' href='http://cygwinports.blogspot.com/2007/10/security-xfs.html' title='SECURITY: xfs'/><author><name>Yaakov</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
