Derelict on GitHub

I’ve finally got Derelict all set up on GitHub. But if you haven’t kept up with the Derelict forum, you may be surprised at the Derelict3 label. The short version is that my decision to move to GitHub coupled with the recent announcement by Andrei that D1 would be phased out this year led me to believe this was a good time to overhaul the code base. Read more about that in my forum post on the topic.

You can consider it in an alpha state. Currently, there are three packages: DerelictUtil, DerelictGL3 and DerelictGLFW3. The readme in the repository explains most of what you need to know to get started. Two things to note. First, if you aren’t using modern OpenGL, stick with Derelict2. Second, if you are using D1, stick with Derelict2. Otherwise, consider this an opportunity to easily get up and running with Modern OpenGL in D.

If you do want to dive in, you’ll likely want to get your hands on GLFW 3 if you haven’t got a framework already. I do intend to add bindings for SDL 2, but for now GLFW 3 is it.  You’ll have to check out the source from the Sourceforge git repository (the Subversion repository is the 2.7 branch — not what you want). You’ll then need CMake to build.

As I explain in the readme, non-Windows and/or non-DMD users will need to modify the Derelict build script to actually build Derelict3. It is currently set up only for Windows and is not in a final, configurable form yet. I just hacked it together, though I did put just a little bit of structure in it with an eye to the future. It shouldn’t take too much effort to get it going.

Enjoy!

News Roundup

Recent announcements from D Land.

* If you are doing any graphics programming in D, you may be interested in gl3n, a math library explicitly geared toward that purpose.

* Version 0.3.29 of VisualD has been announced. This release includes a nifty little tool that will convert C++ code to D.

* Another IDE plugin has hit the streets. This one, called Mono-D, is “a MonoDevelop AddIn which provides code completion/refactoring features and project management for D.”

* And good news for Windows developers who don’t want to use DMD. A new version of MingW GDC is out, with support for Thread-Local Storage. For this one, Daniel Green’s full newsgroup announcement is quoted below.

Please post all issues in D.gnu or on GDC’s bitbucket site https://bitbucket.org/goshawk/gdc

* Built against TDM GCC 4.6.1:  http://tdm-gcc.tdragon.net/
* Built against GDC revision 7e22befef29c.
* Working TLS support.
* Updated binutils and mingw runtime for TLS support.
* new gas directive @secrel32 will generate a constant offset usable
as an immediate or displacement value.
Works like posix counterparts @tpoff, @dtpoff, etc.
* Fixes an error with the mingw runtime related to TLS.
* 7-zip format for size reasons:  http://7-zip.org
* Release includes both D versions.
* -v1(default) compiles for D1.
* -v2 compiles for D2.
* The switch must be used for linking as well.
* Made possible by Iain Buclaw’s hard work in maintaining GDC.
* 64bit and up to date GDC forthcoming.

To install simply extract to you TDM MinGW32 directory.

This release
https://bitbucket.org/goshawk/gdc/downloads/gcc-4.6.1-tdm-1-gdc-7e22befef29c-20111205.zip

All MinGW GDC downloads.
It’s highly recommended to ignore all prior builds.  TLS *will* not work.
https://bitbucket.org/goshawk/gdc/downloads

All patches, source files and build scripts can be found at https://bitbucket.org/venix1/mingw-gdc/

Enjoy.

D Version Manager 0.3.0

Jacob Carlborg has announced a new version of DVM, a tool which allows you to download and manage different versions of the D compilers. Previously, it was only available for Mac and Linux, but the latest version includes support for Windows courtesy of Nick Sabalausky. Currently, only DMD is supported. Now that’s it’s available for Windows, I’m considering giving it a try. But, I’ve got my own method of running different DMD versions that I’ve been using so long it will be a hard habit to break.

New stuff from the DVM changelog:

* Added an option for installing the latest compiler
* Better compatibility between different shell implementations
* Added Windows support. Thanks to Nick Sabalausky
* Added a “list” command for listing installed compilers
* Added a “uninstall” command for uninstalling compilers