26 March 2012

Curl 7.24 with IPv6

cURL is a sophisticated downloader (okay, plus many others) utility that except for spider/batch is way better than wget. I decided to build this one because oddly enough the official build did not support IPv6, I noticed it when building PHP last week which by default when built with MSVC curl will have IPv6 but not with MinGW. The issue is in auto-generated curl_config.h file which have bogus values despite claiming (on screen) that it was configured with IPv6 enabled.

Okay enough talking here is two flavor of cURL:

cURL.exe 773KB with SSH, SSL(OpenSSL 1.0.1), IPv6, Asynchronous-DNS, RTMP, SSPI, IDN (via libidn) and WinLDAP
cURL_vista.exe 739KB same as above except IDN is natively supported that's why it need at least Vista

23 March 2012

Static build PHP 5.4.0 with MinGW

Experimental fully static build of PHP 5.4.0 with moderate bundled extensions compiled with MinGW. Though not supported, PHP turned out can be built with modern GCC under windows as long as we specify the correct  _WIN32_WINNT. Most features can be enabled too with exception dotnet module due to insufficient headers and libraries and also Zend inline optimization need to be disabled.

The CLI version has readline support in interactive mode (good for learning) similar to those linux build.

Configuration:
configure --enable-static --enable-embed=static --disable-fpm --disable-posix --disable-inline-optimization --enable-fd-setsize=256 --enable-maintainer-zts --disable-shared --with-readline --with-openssl --with-zlib --with-bz2 --enable-zip --with-libxml-dir --with-libexpat-dir --with-xsl --enable-wddx --enable-soap --with-xmlrpc --with-gd --with-jpeg-dir --with-png-dir --with-vpx-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-freetype-dir --with-t1lib --enable-exif --enable-calendar --with-curl --with-curlwrappers --enable-ftp --with-libmbfl --with-onig --enable-mbstring --enable-sockets --enable-shmop --enable-bcmath --with-gmp --enable-intl --with-icu-dir --with-pspell --with-iconv-dir --with-gettext --with-mhash --with-mcrypt --with-tidy --with-ldap --with-imap --with-snmp --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pgsql --with-pdo-pgsql --with-pdo-odbc=generic,/usr/local,odbc32 --with-pdo-dblib --with-db4 --enable-dba --with-custom-odbc CUSTOM_ODBC_LIBS=-lodbc32
Autotools configuration should not be used since it missing winsock awareness and can be replaced by supplied win32 config (used for MSVC). Being a static build means all extensions are loaded at startup therefor it's quite a dog for repetitive processing but convenient enough for interactive mode.

CGI: php-cgi.exe 8.45MB
CLI: php.exe 8.44MB

For more detailed info, use php-cgi -i > config.html

update: php-5.4.10 static binary (mingw patch and hints included)

15 March 2012

My Dropbox is choked


Error (509)
This account's public links are generating too much traffic and have been temporarily disabled!


A reader notify me this morning that my dropbox account is not usable. I currently very busy with projects and don't know if I could mirror them to my another dropbox account (that's 2GB upload for my poor 128Kbps connection). This make me wonder whether my blog is popular? for ~300hits/day? I don't think so. Let see if my account could back to normal again or else.. well.. I don't know what to do. Help me? anyone? sourceforge? googlecode? because this issue would hit back again in the future since this is the first time.

If anyone interested to help please email me, I'll give my account credentials

My apology

edit:
according to this thread http://forums.dropbox.com/topic.php?id=52227
my account possibly reach 10GB/day.. seriously? How come?
anyway any volunteer? a very kind person with decent bandwidth :-) just to mirror the files to another free file hosting, I'd be very grateful!

edit:
since no one replied, this weekend I will start move all download links into one page possibly "other builds" then start mirroring to other account (will takes sometime). I believe that 10GB/day quota provided by dropbox is more than sufficient and very generous at it, what happened is probably someone spread a public link recklessly? I need to change the links in the future once in a while deliberately.

edit:
took longer than I thought.. downloads will spread into two dropbox account and now partially available again. Package larger than 50MB will stayed disabled until banning lifted up. Guess I need onr more account to balance the quota

edit:
Apparently it's not a regular 72-hours suspension from dropbox (Sadly my request for inquiry regarding the issue hasn't been replied), I will resume the remaining mirroring and all new download will be passed to goo.gl link shortener so it can be monitored but remained a "direct link"

04 March 2012

Ported LADSPA plugins collection

Hundreds of ladspa plugins for Windows!

Originally I want to try interesting ffmpeg branch here https://gitorious.org/~saste/ffmpeg/sastes-ffmpeg which if works would make ffmpeg a formidable both audio and video editor. Alas after porting many of those plugins, I have no idea how to apply them in ffmpeg :-( with a little change in af_ladspa.c ffmpeg could load and initialize ladspa correctly but that's all it refuse to be applied when input is video (saying invalid src) and completely ignored if input is audio.

Anyhow all is not lost, these plugins still work with audacity or lmms. Few interesting audio effects: rubberband, caps, calf, pvoc and more.. some are generator/synth though

To install
Audacity: copy files inside ladspa folder into [Audacity]\Plug-Ins
LMMS: extract archive to [LMMS]\plugins
FFMPEG: extract archive to the same place where ffmpeg.exe reside (applicable to my ffmpeg-aoutuv build only)


Demo:

Download
ladspa.7z (5.6 MB) enjoy!

Changelog:
16 October 2012

- rebuild some core2 optimized plugins into sse3 optimized, strip debug symbols
- remove some crasher plugins
- add plugins from FAUST, OOM, StudioBlood and axonlib

To port invada-ladspa, I made this small static library containing srand48, drand48 and etc functions taken from libnewlib 1.18 xrand48.7z