View previous topic :: View next topic |
Author |
Message |
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Tue Oct 21, 2008 5:52 am Post subject: Suggestions for Derelict 2 |
|
|
I think now is the time to start considering what to do about a new branch of Derelict. I've been wanting to do this for a while, but was waiting for D2 to stabilize a bit and for the Tango/Phobos compatibility issue to be resolved. The latter is (mostly) settled with the latest DMD 2.x release and I'm sure the former will be upon us in the near future.
I'm not ready to start pumping out code yet, but I am looking for suggestions on what to do about Derelict 2. I'll start by telling you a few things I know I'm going to target.
Already Decided
New Branch. - The first step is to move the current trunk (as it exists when I start on the new code base) into a new branch called Derelict Stable (or Derelict 1, perhaps). Whether or not that branch gets anything other than bug fixes in the future depends entirely on the next step.
Adding D2 support - Ideally, I would like Derelict 2 to be compatible with both versions of D. If that's possible, the Derelict 1 branch will eventually be removed once Derelict 2 is in ready state. If not, I'll go on maintaining both branches separately (you can't get much farther from ideal than that). The only headache I currently foresee isn't so much a D1 vs. D2 thing as it is a druntime thing. But the amount of Tango/Phobos code in Derelict is small, so it's probably not going to be a big deal.
Package Consolidation - There are certainly good reasons to keep the package structure as it is, but there are equally good reasons to consolidate. What I would like to do is take related packages and combine them into one single package. This would mean the following changes:
DerelictSDL, SDLImage, SDLNet, SDLMixer, SDLttf -> DerelictSDL
DerelictGL, GLU -> DerelictGL
DerelictIL, ILU, ILUT -> DerelictIL
For DerelictGL* and DerelictIL*, this makes perfect sense as they are generally distributed together anyway. The argument can be made that the SDL* libraries are all separate, so they should remain separate in Derelict. But I don't think it's a big deal, since they are one module each.
This would not break any exisiting code, as each package would now be considered a 'sub-package' and would retain the current loader functions (e.g., DerelictSDLImage.load). The import paths wouldn't change, either. For example, right now all of the DerelictSDL* packages are imported as derelict.sdl.xxx. This would continue to be true.
Personally, I see no drawbacks to doing this, but a benefit in making the source tree smaller and improving maintainability.
Not Yet Decided
Build System - with DSSS/Rebuild development having slowed and bud having been dormant for ages, what should I do about the build system? I'm fairly certain I'm going to rip out the old bud-based build scripts completely. The big question is what to do about DSSS support. It makes sense to leave it in such that DSSS users can pull Derelict down with 'dsss net-install', but as for using it as the primaty build system outside of that scenario, I'm not so sure.
What I'm considering, as much as I hate to do it, is to go back to a make file system. I hate, hate, hate maintaining make files. However, not long ago I learned of premake and have been using it to manage a C project I'm working on part-time. I love, love, love it. Since it's an open-source project, I'm going to investigate modifying it to produce DMD/GDC make files as well as D project files for Code::Blocks and other D IDEs. Once implemented, I would only need to maintain a few simple Lua scripts (which can be written once and largely forgotten) and run premake before committing any additions or removals to the trunk (a potential build-breaker if forgotten, but one I can live with).
New Packages - not sure what yet. There are a couple I had intended to add at one point, but never got around to it. There are several others I'm weighing. The package consolidation step above will make it much more likely that I will seriously consider packages I might have rejected in the past. Still, I'm going to be picky about it.
Suggestions and Feedback
Please use this thread to make your own suggestions for changes you'd like to see in Derelict, including packages you'd like to add, as well as feedback on what I've listed above. I don't intend to comment on every post, though, as I won't make any final decisions until I get to the point where I need to. I'm just looking to gauge the community of Derelict users (such as there are).
A couple of givens that I didn't mention above: the docs will certainly get an overhaul (to reflect any changes in the trunk as well as to improve usability -- Derelict 2 only, though) and packages in both branches will be updated to the latest version of each bound library. Oh, and I intend to start with SDL 1.3 in Derelict 2 (even if it isn't released yet) and will likely make that the minimum version required by Derelict. I probably will not not update Derelict 1 for it. I'll have to wait and see. _________________ The One With D | The One With Aldacron | D Bits
Last edited by aldacron on Thu Mar 12, 2009 7:50 am; edited 1 time in total |
|
Back to top |
|
|
doob
Joined: 06 Jan 2007 Posts: 367
|
Posted: Tue Oct 21, 2008 6:25 am Post subject: |
|
|
Support ldc as one of the compilers. |
|
Back to top |
|
|
JarrettBillingsley
Joined: 20 Jun 2006 Posts: 457 Location: Pennsylvania!
|
Posted: Tue Oct 21, 2008 7:21 am Post subject: |
|
|
By the way, the links from your blog don't actually come to this thread. |
|
Back to top |
|
|
fraz
Joined: 19 May 2008 Posts: 6
|
Posted: Tue Oct 21, 2008 10:54 am Post subject: |
|
|
Some initial reactions:
- Sounds good to me. I can't come to think of any serious objections.
- D2 support would be great.
- I don't really care about the build system as long as dsss is supported. Be it in a limited way.
- I'm quite happy with the current packages. And, yes, be picky. |
|
Back to top |
|
|
KeYeR
Joined: 14 Aug 2006 Posts: 1 Location: Torun
|
Posted: Tue Oct 21, 2008 12:06 pm Post subject: |
|
|
hai!
About the packages, I would love to see DirectX bindings.
As I am (for now) an opengl user, I see that professional game industry is MUCH more interested in DirectX, so easy possibility to use it in D will be awsame to adwartise the language to gamedev community. ( Telling them "you always can do your onw bindings!" sounds little ... lame ) _________________ cast(Dream)KeYeR.thinkAbout("Shangi la"); |
|
Back to top |
|
|
sandford
Joined: 16 Jan 2007 Posts: 3
|
Posted: Tue Oct 21, 2008 2:41 pm Post subject: Re: Build System |
|
|
For what it's worth I use Derelict with Code::Blocks. Currently I copy out the modules I need into a separate directory, which conforms to the actual module statements in the code. I'd recommend changing Derelict's directory layout so one can simply include the files they want in their IDE of choice and go. Also, it would be nice to be able to use a script (i.e. dmd -lib) to build the object file and be able to simply include a root directory for the rest. |
|
Back to top |
|
|
zzzzrrr
Joined: 17 Feb 2007 Posts: 139 Location: Washington, DC
|
Posted: Tue Oct 21, 2008 3:11 pm Post subject: Derelict |
|
|
Good to see the Derelict project alive and well!
Premake looks like an excellent solution. It would be nice to have a build tool for D that will generate a script for my IDE of choice!
Support for ldc and Leopard would also be great. |
|
Back to top |
|
|
zzzzrrr
Joined: 17 Feb 2007 Posts: 139 Location: Washington, DC
|
Posted: Tue Oct 21, 2008 3:11 pm Post subject: Derelict |
|
|
Good to see the Derelict project alive and well!
Premake looks like an excellent solution. It would be nice to have a build tool for D that will generate a script for my IDE of choice!
Support for ldc and Leopard would also be great. |
|
Back to top |
|
|
hduregger
Joined: 15 Aug 2007 Posts: 11
|
Posted: Wed Oct 22, 2008 7:18 am Post subject: |
|
|
Good news!
I think merging the packages is a good choice as it makes things easier.
DSSS is a great tool, although I've mostly used it for building only, less for downloading/installing, so please keep the support like you said.
Make is great but I hope I don't have to use it for D developement. As far as I know there is no easy solution to the whitespaces in paths problem. I haven't used DSSS for bigger projects yet, so I don't know what configuration would be needed there. But as it seems you would've to use Makefiles or DSSS when using Eclipse for D development |
|
Back to top |
|
|
korDen
Joined: 12 Mar 2008 Posts: 11
|
Posted: Sun Oct 26, 2008 1:24 pm Post subject: |
|
|
I have fixed FT bindings (long ago actually), but not commited them to the repo. I can do it if you need them, though. |
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Sun Oct 26, 2008 6:06 pm Post subject: |
|
|
korDen wrote: | I have fixed FT bindings (long ago actually), but not commited them to the repo. I can do it if you need them, though. |
What do you mean by 'fixed'? The trunk version of DerelictFT works fine, AFAIK. _________________ The One With D | The One With Aldacron | D Bits |
|
Back to top |
|
|
korDen
Joined: 12 Mar 2008 Posts: 11
|
Posted: Sat Nov 01, 2008 11:46 am Post subject: |
|
|
aldacron wrote: | korDen wrote: | I have fixed FT bindings (long ago actually), but not commited them to the repo. I can do it if you need them, though. |
What do you mean by 'fixed'? The trunk version of DerelictFT works fine, AFAIK. |
Quote: | A more critical problem is that DerelictFT fails to compile with the latest D2 (not tried previous versions). It still works fine with D1, but D2 keeps barfing with assert failures by the compiler. |
I've got the same problem when migrating from D1 to D2 and successfully solved it. That's all I was talking about. |
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Sun Nov 02, 2008 1:46 am Post subject: |
|
|
korDen wrote: | I've got the same problem when migrating from D1 to D2 and successfully solved it. That's all I was talking about. |
In that case, I'd love to have the fix. If you could submit a ticket with the patch, that would be great. _________________ The One With D | The One With Aldacron | D Bits |
|
Back to top |
|
|
ogtrax
Joined: 18 Apr 2007 Posts: 1
|
Posted: Wed Dec 03, 2008 7:56 am Post subject: |
|
|
I would love to see ffmpeg support ( libavcodec in specific ). Its a really great library for video encoding/decoding, its cross-platform, and it supports many codecs. Squirrel would also be nice, there is a upcoming 3.0 release( alpha is out ), and its a very nice and fast scripting language for multimedia applications |
|
Back to top |
|
|
AmosWenger
Joined: 14 Dec 2008 Posts: 3 Location: Chavannes-pres-Renens, Switzerland
|
Posted: Sun Dec 14, 2008 9:36 pm Post subject: |
|
|
LDC support would be very, very much appreciated, for me.
From my researches, there exists a package in ArchLinux's AUR, named "derelict-ldc-svn", which contains this patch http://aur.archlinux.org/packages/derelict-ldc-svn/derelict-ldc-svn/derelict.patch which looks pretty interesting. (Also, the author *seems* to be MrSunshine which *seems* to be active on the forums here, in which case, hello & thanks to you!).
So, well, to sum it up : GDC looks dead, DMD feels buggy (sometimes CPU usage goes 100%) and isn't open enough, LDC/LLVM is a nightmare to install/configure, but looks bright+fast, so really something that the great Derelict(2) should support.
Needless to say, I am willing to dedicate some time to that ! _________________ Everything boils down to a lot of simple things. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|