After tried Webkit's JSCore previously which is quite working despite unstable webkitgtk, I decide to compare it with Mozilla's offering: spidermonkey. Sadly neither it was new? (1.8.5) nor they provide win32 binary? Did they?
Anyway there is a VS build here www.kahusecurity.com/2010/spidermonkey-1-8-5-for-windows/
So why not MinGW?
Binaries and devel files (Mingw32 dwarf2 exceptions not MinGW-w64):
SpiderMonkey-1.8.5_mingw32.7z
The js.exe only depends on msvcrt.dll and libnspr4.dll, no WinSxS hell :-) Good, now I want to bind Gjs with python!
Build instructions:
Surprise, seems mozilla didn't care much about mingw (after seeking some pointers on their site)...
The source use autotooled configuration.. good :-) so does its dependencies: NSPR
1. To build it basically I just modify any line in configure that define CC/CXX as "cl" with gcc/g++ and remove all illegal options and flags such as -nologo and -mno-cygwin (GCC 4.6.2). Here is my configure for refenrence.
2. NSPR is easy to build: configure and make
3. For Spidermonkey be sure to define CC=gcc and CXX=g++ first, then I use: configure --with-nspr-prefix=[path to nspr] --with-windows-version=502 --disable-shared-js --enable-static
note: --with-windows-version=502 needed to silence windres version error
4. Once completed, we will soon encounter infamous error WinMain thingy when compiling nsinstall, I already have this tool so I skip this and replace all $(INSTALL) occurrences with [path to nsinstall.exe]
5. Continuing, If we're unlucky there is an undeclared intptr_t in nanojit.h, just include wchar.h there
6. Build will resume smoothly, up to linking step where it complain invalid path (python not automatically turn "\" to "/"), So we have to edit libjs_static.a.fake file and replace all slashes
7. Continue make, and then make check which give me 2 errors: a math and a date test...
22 January 2012
16 January 2012
PyGObject 3.0.3 MinGW
About a year ago I made a big but messy conservative PyGTK AIO now it's time for experimental stuff :-)
After testing GTK-3.3.6, I think they are much closer to a "usable" stage in win32 port. So why don't we try that in python...
Technically this pygobject-3.0.3 is more like pygi in the inside and IMO "PyGI" sounds cooler too ah well..
Here is win32 binary pygobject and pycairo for python 3.2
Downloads: http://opensourcepack.blogspot.com/p/pygobject-pygi-aio.html
Changelog:
24-01-12 Added WebkitGTK3 1.7.4 very unstable due to unstable Glib
20-01-12 Added WebkitGTK3 1.6.1 very unstable due to unstable Glib, added Clutter-1.8.2 and MX-1.4.1
17-01-12 Added GTK3 3.3.6 with broadway and Glade. to use broadway set environment variables: GDK_BACKEND=broadway and BROADWAY_DISPLAY=[some port number]
AIO runtimes for GI, GTK, Clutter/MX, Webkit, Gstreamer, GDA and Telepathy are planned later as well as supplementary apps like Glade-3 and Gtranslator. And if I in mood maybe a win64 binary too, however installer are not planned (I'm tired of NSIS)
I already played with MX and whooah you should try this OpenGL (bitmap/css skinnable) GUI library! it's very cool, as sleek as QtQuick!
notes:
be warned that this is mingw binaries, I'll assume you know the potential issues. Last weekend I've tried to compile python 3.2 with WDK (the infamous msvcrt.dll linking trick) the whole night but given up after several unreferenced functions. OTOH tried to compile the whole GTK3 with mingw against msvcr90 but also failed.
After testing GTK-3.3.6, I think they are much closer to a "usable" stage in win32 port. So why don't we try that in python...
Technically this pygobject-3.0.3 is more like pygi in the inside and IMO "PyGI" sounds cooler too ah well..
Here is win32 binary pygobject and pycairo for python 3.2
Downloads: http://opensourcepack.blogspot.com/p/pygobject-pygi-aio.html
Changelog:
24-01-12 Added WebkitGTK3 1.7.4 very unstable due to unstable Glib
20-01-12 Added WebkitGTK3 1.6.1 very unstable due to unstable Glib, added Clutter-1.8.2 and MX-1.4.1
17-01-12 Added GTK3 3.3.6 with broadway and Glade. to use broadway set environment variables: GDK_BACKEND=broadway and BROADWAY_DISPLAY=[some port number]
AIO runtimes for GI, GTK, Clutter/MX, Webkit, Gstreamer, GDA and Telepathy are planned later as well as supplementary apps like Glade-3 and Gtranslator. And if I in mood maybe a win64 binary too, however installer are not planned (I'm tired of NSIS)
I already played with MX and whooah you should try this OpenGL (bitmap/css skinnable) GUI library! it's very cool, as sleek as QtQuick!
notes:
be warned that this is mingw binaries, I'll assume you know the potential issues. Last weekend I've tried to compile python 3.2 with WDK (the infamous msvcrt.dll linking trick) the whole night but given up after several unreferenced functions. OTOH tried to compile the whole GTK3 with mingw against msvcr90 but also failed.
Categories:
custom build,
GTK,
python
11 January 2012
GTK 3.3.6 GDK Test
Today I give a try on latest gtk3 (3.3.6) which according its changelog have some win32 bugfixes.
During configure I also enable GDK broadway! with a little replacement: sys/socket.h -> winsock2.h in several c files and add missing brodway function exports in gdk.symbols (patch). Also don't forget to create etc\gtk-3.0\settings.ini and fill it with at least:
Sadly native theme still broken..and redraw issue like in GTK 3.0 also prevails :-(
Goodness that pango's win32 module is back so I can give a screenshot :-)
Below is two instances of gtk3-demo, one running broadway inside webkitgtk 1.6.1 (require html5 websocket) browser (two windows with oversized "x" button) and other one is the ordinary win32 backend.
Both demonstrating pixbuf animation, however the one in webkit runs very slow and webkit process hog 50% CPU during the animation :-( anyway that's one cool remote display we got here!
edit:
http://mail.gnome.org/archives/gtk-devel-list/2011-April/msg00050.html explain the broadway win32 situation better.
Almost forgot, pygi (pygobject 3.0.3) also works too:
During configure I also enable GDK broadway! with a little replacement: sys/socket.h -> winsock2.h in several c files and add missing brodway function exports in gdk.symbols (patch). Also don't forget to create etc\gtk-3.0\settings.ini and fill it with at least:
[Settings]
gtk-theme-name = MS-WindowsSadly native theme still broken..
Goodness that pango's win32 module is back so I can give a screenshot :-)
Below is two instances of gtk3-demo, one running broadway inside webkitgtk 1.6.1 (require html5 websocket) browser (two windows with oversized "x" button) and other one is the ordinary win32 backend.
Both demonstrating pixbuf animation, however the one in webkit runs very slow and webkit process hog 50% CPU during the animation :-( anyway that's one cool remote display we got here!
edit:
http://mail.gnome.org/archives/gtk-devel-list/2011-April/msg00050.html explain the broadway win32 situation better.
Almost forgot, pygi (pygobject 3.0.3) also works too:
this was run on python 3.2
GTK3 adwaita theme engine (in gtk3-theme-standard package) can be used instead before windows native theme fixed.
GTK3 adwaita theme engine (in gtk3-theme-standard package) can be used instead before windows native theme fixed.
10 January 2012
Indonesian Internet Social Culture Phenomenon
Before the booming of smartphone, here internet is mostly held by internet cafe, universities, workplace or subscribed home internet. Now everyone want a tablet or at least smartphone to replace their ordinary mobile phone and people start enjoying the "boxed" internet.
Boxed? the reason behind internet access mostly didn't came from true curiosity but rather a trend or prestige. Recently, I watch a commercial TV ads which illustrate how a rural newcomer always get everything for free in Jakarta because she have connections from facebook. Not surprising, here connection is too important, a mandatory survival asset for anyone. Which probably lead to common acceptance of nepotism and eventually corruption as a hobby.
Boxed? the reason behind internet access mostly didn't came from true curiosity but rather a trend or prestige. Recently, I watch a commercial TV ads which illustrate how a rural newcomer always get everything for free in Jakarta because she have connections from facebook. Not surprising, here connection is too important, a mandatory survival asset for anyone. Which probably lead to common acceptance of nepotism and eventually corruption as a hobby.
Categories:
personal
31 December 2011
30 December 2011
How to make PyGimp Portable
There are become more and more plugins being implemented in python right?
This was explained two years ago in my older post here
Here is the small patch (applicable for gimp-2.7.4 too)
After build Gimp, we need to adjust the following files
lib\gimp\2.0\environ\default.env :
add the following line and remove any existing PATH declaration
lib\gimp\2.0\environ\pygimp.env (there should be a blank line in the end) :
This was explained two years ago in my older post here
Here is the small patch (applicable for gimp-2.7.4 too)
After build Gimp, we need to adjust the following files
lib\gimp\2.0\environ\default.env :
add the following line and remove any existing PATH declaration
#add binpath in non hardecoded way
PATH=${gimp_plug_in_dir}/../../../bin
PATH=${gimp_plug_in_dir}/../../../python
lib\gimp\2.0\environ\pygimp.env (there should be a blank line in the end) :
; PYTHONPATH=${gimp_plug_in_dir}/python26 December 2011
OpenEXR with MinGW
I'm planning on updating my largest compile endeavor of err GTKGraphics Suite 2.0 however inkscape 0.49 seems take a bit more time (they are waiting for cairo 1.10.3?) obviously I'm reluctant to make inkscape 0.48.x build as it was the slowest before 0.49 (refactoring release). Then I'm thrilled that nip2 finally can directly open exr without crashing (no need to manually convert into .v image first).
However I wonder why openexr can't use pthreads under MinGW (note: I'm using pthread-win32 2.9) which I follow this build guide previously. Have a look at the following headers on IlmBase 1.0.1 (also in 1.0.2):
IlmThread.h, IlmThreadMutex.h, IlmThread and IlmThreadSemaphore.h
Clearly there is #ifdefs discrepancies..
However I wonder why openexr can't use pthreads under MinGW (note: I'm using pthread-win32 2.9) which I follow this build guide previously. Have a look at the following headers on IlmBase 1.0.1 (also in 1.0.2):
IlmThread.h, IlmThreadMutex.h, IlmThread and IlmThreadSemaphore.h
Clearly there is #ifdefs discrepancies..
20 December 2011
FFMPEG with AoTuV win32 binary
Combining the best audio encoder: AoTuV (http://www.geocities.jp/aoyoume/aotuv/) and FFMPEG
With aotuv we can use low bitrates ~48-64Kbps ogg vorbis (still in good quailty, at least I could say 64K is similar to 128K VBR LAME) which is not available in regular libvorbis. It should beat Apple's AAC too.
Happy encoding!
Changelog:
Mar 4, 2012
Version 0.10 (for Core2 - i7 processor) build with MinGW-W64 GCC 4.6.2
ffmpeg-0.10.exe 6.87MB
optional:
frei0r video FX plugins
ladspa audio FX plugins
timidity GUS pats (for MIDI support, currently sounds weird)
jack-1.9.8
ffmpeg-0.10-docs (ffmpeg's command options are changed overtime, be sure read this first)
ffmpeg-0.10-dev-docs
- enabling: ladspa, sox, jack (using static libjack) and flite
- force ffmpeg to accept negative value (quality), previously ffmpeg will reset (sorry)
- porting hundreds of ladspa plugins
- build experimental jack-1.9.8 for win32
- shrink frei0r plugins size by using gcc 3.4
- bundling timidity gravis GUS
Feb 10, 2012
Version 0.10 (for Core2 - i7 processor) build with MinGW-W64 GCC 4.6.2
This installer will extract ffmpeg.exe ffplay.exe and ffprobe.exe then create console-less version of the three with "w" suffix and then compress the executables with UPX. All in one go
Dec 20, 2011
Version 0.9 (for Core2 - i7 processor) build with MinGW32 GCC 4.6.2
ffmpeg with jackaudio and openal 1.1 input support (untested, explicitly require them to be installed):
3.88 MB
avconvw_nostd.exe 3.88 MB
ffmpeg_nostd.exe 3.89 MB
ffmpegw_nostd.exe 3.89 MB
ffmpeg.exe 3.89 MB
ffmpegw.exe 3.89 MB
avconv.exe 3.88 MB
avconvw.exe 3.88 MB
ffplay.exe 2.64 MB
ffplayw.exe 2.74 MB
ffprobe.exe 2.21 MB
ffprobew.exe 2.21 MB
ffmpeg_shared.7z
Optional files
frei0r.7z 3.84 MB (place frei0r folder alongside ffmpeg executables)
ffmpeg_docs_presets.7z 9.00 MB
ffmpeg_deps.7z 3.31MB (static library and headers of ffmpeg dependencies in dwarf2 mingw32 binary, for rebuild/updating ffmpeg)
Notes:
- I'm aware that due to intense UPX packing, some incompetent heuristic AV might report them as virus but I don't care...
- Executables with 'w' suffix means it wont show console dialog (mute), they maybe useful in some circumstance. Redirecting stdout to a file still works of course.
- I didn't go for performance when compiling so they might a bit slower but certainly smaller.
- GCC graphite auto-parallelism is enabled to most of external encoders. This may turn out good or bad
- Currently tested for usage with .mod, .ogg, .mp4(x264), mp3 and utvideo files.
With aotuv we can use low bitrates ~48-64Kbps ogg vorbis (still in good quailty, at least I could say 64K is similar to 128K VBR LAME) which is not available in regular libvorbis. It should beat Apple's AAC too.
Happy encoding!
Changelog:
Mar 4, 2012
Version 0.10 (for Core2 - i7 processor) build with MinGW-W64 GCC 4.6.2
ffmpeg-0.10.exe 6.87MB
optional:
frei0r video FX plugins
ladspa audio FX plugins
timidity GUS pats (for MIDI support, currently sounds weird)
jack-1.9.8
ffmpeg-0.10-docs (ffmpeg's command options are changed overtime, be sure read this first)
ffmpeg-0.10-dev-docs
configuration: --enable-gpl --enable-version3 --enable-libgsm --enable-libopencore-amrnb --enable-libschroedinger --enable-libspeex --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libxavs --enable-libcelt --enable-libmodplug --enable-libutvideo --enable-zlib --enable-bzlib --enable-avisynth --enable-libass --enable-libfreetype --enable-frei0r --enable-ladspa --enable-libsox --enable-libflite --enable-libcdio --enable-openal --enable-gnutls --enable-librtmp --enable-pthreads --enable-runtime-cpudetect --enable-small --disable-debug --disable-outdevs --disable-encoder='vorbis,aac' --disable-decoder='amrnb,dirac,gsm,gsm_ms,vp8'- merged with sastes-ffmpeg
- enabling: ladspa, sox, jack (using static libjack) and flite
- force ffmpeg to accept negative value (quality), previously ffmpeg will reset (sorry)
- porting hundreds of ladspa plugins
- build experimental jack-1.9.8 for win32
- shrink frei0r plugins size by using gcc 3.4
- bundling timidity gravis GUS
Feb 10, 2012
Version 0.10 (for Core2 - i7 processor) build with MinGW-W64 GCC 4.6.2
This installer will extract ffmpeg.exe ffplay.exe and ffprobe.exe then create console-less version of the three with "w" suffix and then compress the executables with UPX. All in one go
Dec 20, 2011
Version 0.9 (for Core2 - i7 processor) build with MinGW32 GCC 4.6.2
ffmpeg with jackaudio and openal 1.1 input support (untested, explicitly require them to be installed):
configuration: --enable-gpl --enable-version3 --enable-zlib --enable-bzlib --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libgsm --enable-libtheora --enable-libschroedinger --enable-libspeex --enable-libcelt --enable-libxavs --enable-libopencore-amrwb --enable-libopencore-amrnb --enable-libmp3lame --enable-libutvideo --enable-libmodplug --enable-libopenjpeg --enable-libass --enable-avisynth --enable-libfreetype --enable-frei0r --enable-openal --enable-libcdio --enable-librtmp --enable-gnutls --enable-runtime-cpudetect --enable-small --enable-pthreads --disable-w32threads --disable-debug --disable-outdevs --disable-encoder='vorbis,aac,jpeg2000' --disable-decoder='gsm,gsm_ms,vp8,dirac,jpeg2000,amrnb,amrwb' --extra-libs='-ldl -lstdc++' --prefix=/local/ffmpegavconv_nostd.exe
3.88 MB
avconvw_nostd.exe 3.88 MB
ffmpeg_nostd.exe 3.89 MB
ffmpegw_nostd.exe 3.89 MB
ffmpeg.exe 3.89 MB
ffmpegw.exe 3.89 MB
avconv.exe 3.88 MB
avconvw.exe 3.88 MB
ffplay.exe 2.64 MB
ffplayw.exe 2.74 MB
ffprobe.exe 2.21 MB
ffprobew.exe 2.21 MB
ffmpeg_shared.7z
Optional files
frei0r.7z 3.84 MB (place frei0r folder alongside ffmpeg executables)
ffmpeg_docs_presets.7z 9.00 MB
ffmpeg_deps.7z 3.31MB (static library and headers of ffmpeg dependencies in dwarf2 mingw32 binary, for rebuild/updating ffmpeg)
Notes:
- I'm aware that due to intense UPX packing, some incompetent heuristic AV might report them as virus but I don't care...
- Executables with 'w' suffix means it wont show console dialog (mute), they maybe useful in some circumstance. Redirecting stdout to a file still works of course.
- I didn't go for performance when compiling so they might a bit slower but certainly smaller.
- GCC graphite auto-parallelism is enabled to most of external encoders. This may turn out good or bad
- Currently tested for usage with .mod, .ogg, .mp4(x264), mp3 and utvideo files.
Categories:
custom build,
DAW,
video editing
13 December 2011
Yuk ngenet carane wong kere?
Piye tjuk lagi bokek? ra duwe duit? namung pengen fesbukan? Halah! ndeso...
Yen jenengan waos berita sa'niki, ngertos mboten soal "curi pulsa" sing tekan milyaran iku?
Nah iki dudu ngajari ben jenengan koyo ngono tjuk, cuma rada memper utawa "cara aluse"
Sa'umpamane jenengan kere mende tapi duwe kompie lan saged ngragati 'nggo tumbas modem cdma lan kertu perdana sing 7000an, kan kuwi ora larang banget tho tjuk? paling 'ntek satusan ewu ra nganti rongatus... Lah saiki jenengan pikir yen duit sakmono iso nggo ngenet sak puas'e?
Yen jenengan waos berita sa'niki, ngertos mboten soal "curi pulsa" sing tekan milyaran iku?
Nah iki dudu ngajari ben jenengan koyo ngono tjuk, cuma rada memper utawa "cara aluse"
Sa'umpamane jenengan kere mende tapi duwe kompie lan saged ngragati 'nggo tumbas modem cdma lan kertu perdana sing 7000an, kan kuwi ora larang banget tho tjuk? paling 'ntek satusan ewu ra nganti rongatus... Lah saiki jenengan pikir yen duit sakmono iso nggo ngenet sak puas'e?
03 December 2011
PyGTK 2.24.0 GTK+-2.24.8 AIO 64bit
Portable minimal 64bit PyGTK 2.24.0 with numpy (download the unoptimized one) support, without freetype, without libglade (don't confuse it with gtkbuilder) and without libffi. This one bundled with GTK+ 2.24.8 with new icons and cairo patch. Built using mingw-w64 gcc 4.6.2.
To install just extract to site-packages folder of python 2.6.x 64bit and you're ready to go.
pygtk-2.24.0-win64-AIO-minimal.7z
enjoy!
To install just extract to site-packages folder of python 2.6.x 64bit and you're ready to go.
pygtk-2.24.0-win64-AIO-minimal.7z
enjoy!
Categories:
64-hype,
custom build,
GTK
Subscribe to:
Posts (Atom)

