Read-only Git, SVN Repo for Code::Blocks

Last month Berlios svn repo service was very unstable. Lack of access to repo is really frustrating, especially when we check repo for changes several times every day.

From now on I’ll be hosting a mirror of Code::Blocks repo on my server. This will give read-only access to everyone. I’m also hosting a read-only Git repo. This will give us access to Git repo to everyone who loves Git (including myself).

You can check out source via svn by issuing the following command-

svn checkout svn://cb.biplab.in/codeblocks/trunk

You can browse svn repo using WebSVN interface at the following url-

http://cb.biplab.in/websvn/

You can clone git repo by issuing following command-

git clone git://cb.biplab.in/codeblocks.git

You can browse git repo, download source tarball at the following url-

http://cb.biplab.in/cgit/

These repos are refreshed every 30 minutes. So if you find that my repo is not updated, then try again after sometime.

If you face any issue accessing my repo, please let me know.

GCC-4.4.0-MinGW Binary

Edited (12-February-2012):
The download links do not work anymore. I also do not have a copy of those files. If you need a recent GCC build head over to mingw.org website.

GCC-4.4.0 has been released recently. I have managed to compile it as a MinGW build and I want to share that with others. The package can be downloaded from the following links. Please download both the files and extract them to C:\MinGW folder. Then extract Win32API, MinGW Runtime, pthreads-win (If you want to use OpenMP) package to the same folder. Now you’ll be able to use gcc-4.4 on Windows.

Download Links: Continue reading

Creating Portable Code::Blocks: Part 2

To update all I have committed patch in trunk (in revision 5334). It should be available with the next nightly.

To run Code::Blocks portably you can write a batch file, set APPDATA variable to any directory you want and then launch Code::Blocks.

Alternatively you can download the CbLauncher v0.1.1 from my blog to run Code::Blocks portably.

Steps to use Cblauncher: Continue reading

Creating Portable Version of Code::Blocks

Recently I was irritated by the fact that Code::Blocks is not truly portable on Windows. Usually I keep two versions of Code::Blocks in my PC. One is the last released nightly and the other one is the one that I build from trunk. I use last released nightly to write code. However as Code::Blocks is not truly portable, these two versions of Code::Blocks share same configuration file.  Sometimes I run my newly built Code::Blocks from trunk, it crashes and corrupts my customised configuration file. And this irritates me a lot.

Other than this, you really can’t copy your configuration folder in a portable drive and expect entire Code::Blocks installation to behave as a truly portable software. There is one way; using personality feature of Code::Blocks. but that solves only one half of the problem. Yes, this makes your Code::Blocks portable. But your plugins are not! They still read their own settings from the default folder which is %APPDATA%CodeBlocks folder. Continue reading

File permission bug of C::B

A nasty bug was discovered by one of our user couple of months ago. The bug was affecting our last stable release as well as our latest nightly.

The bug was due to the way a file was being saved by C::B to avoid corrupting the existing file. C::B used to write the new contents to a temporary file before deleting the old one and then renaming the temp file to new file. But this created a bug as the temporary file may/may not get the file permission attributes of the original. Continue reading

Vote for us at SF.net

Last year we went to the finals of SourceForge.net Community Choice Awards 2007. But we could not win it.

This year we have another chance. The nomination for the SourceForge.net Community Choice Awards 2008 are now open. If you love Code::Blocks, please nominate us by clicking the following link.

Broken Link Removed
You can nominate us under Best Project, Best Project for the Enterprise or Best Tool or Utility for Developers category. Please note that you can nominate us in multiple categories. Also you would need a SourceForge.net account to nominate us.

Thanks for your support. :)

Unicode Support in Code::Blocks

Code::Blocks (C::B) had a long known problem of crashing / locking up while an accented character is used in the code. Or even worse when the encoding of a file is changed from one encoding to another. It was able to support upto UTF-8 encoding with occasional lock-up.

I started working on this around 2-3 months back. But during testing we found that C::B still hangs and it is due to Code-Completion (CC) plugin. The issue was due to the presence of some ANSI functions in Code-Completion parser. Morten then started his work to fix this. It almost resulted to a small re-write of Code-Completion. And we could finally test our Unicode changes with CC enabled.

We tested it for couple of weeks before we found it to be stable enough for further real-life testing by our users. In revision 4548, the first collection of patches were committed (including Morten’s patch on CC). Few users posted some issues which were then quickly resolved. As of writing, the code seems to be quite stable.

So what are the changes that have been made??

There were a number of changes that has been made.

  1. Encoding detection code has been improved by using a portion of MadEdit’s encoding detection code. Currently it can detect, UTF-8, UTF-16 BE/LE, UTF-32 BE/LE with/without BOM. The fall back code has been kept to ANSI (CP-1252 on Windows).
  2. Encoding conversion routine has been overhauled. Now it converts back and forth all supported encodings flawlessly.
  3. Now all the encoding detection and conversion code is much more efficient as it involves minimum disk reads and most of the operation is done in memory buffers (Thanks Thomas for keeping this strict criteria).
  4. The file load routine has been moved from a all in one load-plus-encoding detection code to efficiently distributed code.
  5. File save routine was overhauled to save files with all supported encodings.
  6. Project load routine has been tweaked to reduce the stalling while opening a large project with a large number of open files in it.
  7. Morten made CC parser Unicode compliant so that it can now parse any files without a single lock-up.

I would request users to use Build Revision 4553 onwards to get the most benefit out of it. Please post any related issues in the forum itself. :)

Code::Blocks August-September Month Update Summary

As usual the update summary is full of new changes made to Code::Blocks and lot of bug fixes.

Summary:

  • Help plugin now supports browsing of Man pages.
  • wxSmith got number of new features including support to visually edit layouts, add events, etc.
  • Support for generated source files in build system.
  • Few critical bugs have been fixed. This included a well known DDE bug, crash at close bug, project file corruption in some cases bug, etc.

Please note that the following changelog is based on SVN commit history of past two months. Detailed and organised changelog is as follows. Continue reading

Save Bandwidth – Download Delta-ISO

If you love to try latest GNU/Linux distributions then you may save yourself from downloading full Linux ISO everytime a new version has released. As the Linux ISOs are large in size, downloading them burns a huge amount of bandwidth both for the publisher and the end-user.

Couple of GNU/Linux distributors including OpenSUSE, Sabayon have started publishing Delta-ISO. This is basically an ISO file containing only the additions/updates/changes with respect to an old version. It contains binary diff of all the distributed packages. Thus the ISO is smaller to download.

On 9th August, 2007 OpenSUSE-10.3 Beta 1 was released. In the next few paragraphs, you’ll learn to convert the delta-iso to a full iso. I had downloaded OpenSUSE-10.3 Alpha 7 iso (openSUSE-10.3-Alpha7-GNOME-i386.iso) earlier. To create a New ISO of OpenSUSE-10.3-Beta 1, we need a delta ISO. Now browse to the following folder in any OpenSUSE mirror and download the appropriate delta iso.

/pub/opensuse/distribution/10.3-Alpha7/iso/delta/

For me, openSUSE-10.3-Alpha7_Beta1-GNOME-i386.delta.iso, is the appropriate one.

Now download applydeltaiso utility (for Windows). Then in the command line issue the following command. There’s a bare minimum GUI of applydeltaiso utility at the same link. You may wish to use the graphical utility, too.

applydeltaiso openSUSE-10.3-Alpha7-GNOME-i386.iso
              openSUSE-10.3-Alpha7_Beta1-GNOME-i386.delta.iso
              openSUSE-10.3-Beta1-GNOME-i386.delta.iso

Voila!! After 5-10 minutes (depending upon your hard-disc speed) you’ll get a new ISO by downloading just 189 MB of data!!

But please keep the following points in mind.

  1. Your hard disc should have enough space to create the new iso.
  2. If you are using FAT32, then 2GB limit will be applicable to you.
  3. Don’t forget to verify the new ISO by comparing it’s MD5 checksum with the one published by publisher (in this case OpenSUSE).

So keep enjoying latest changes in GNU/Linux world!