FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Suggestions for Derelict 2
Goto page 1, 2  Next
 
Post new topic   Reply to topic     Forum Index -> Derelict
View previous topic :: View next topic  
Author Message
aldacron



Joined: 05 May 2004
Posts: 1322
Location: Seoul, South Korea

PostPosted: Tue Oct 21, 2008 5:52 am    Post subject: Suggestions for Derelict 2 Reply with quote

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
View user's profile Send private message Send e-mail
doob



Joined: 06 Jan 2007
Posts: 367

PostPosted: Tue Oct 21, 2008 6:25 am    Post subject: Reply with quote

Support ldc as one of the compilers.
Back to top
View user's profile Send private message
JarrettBillingsley



Joined: 20 Jun 2006
Posts: 457
Location: Pennsylvania!

PostPosted: Tue Oct 21, 2008 7:21 am    Post subject: Reply with quote

By the way, the links from your blog don't actually come to this thread.
Back to top
View user's profile Send private message
fraz



Joined: 19 May 2008
Posts: 6

PostPosted: Tue Oct 21, 2008 10:54 am    Post subject: Reply with quote

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
View user's profile Send private message
KeYeR



Joined: 14 Aug 2006
Posts: 1
Location: Torun

PostPosted: Tue Oct 21, 2008 12:06 pm    Post subject: Reply with quote

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 Wink )
_________________
cast(Dream)KeYeR.thinkAbout("Shangi la");
Back to top
View user's profile Send private message
sandford



Joined: 16 Jan 2007
Posts: 3

PostPosted: Tue Oct 21, 2008 2:41 pm    Post subject: Re: Build System Reply with quote

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
View user's profile Send private message
zzzzrrr



Joined: 17 Feb 2007
Posts: 139
Location: Washington, DC

PostPosted: Tue Oct 21, 2008 3:11 pm    Post subject: Derelict Reply with quote

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
View user's profile Send private message
zzzzrrr



Joined: 17 Feb 2007
Posts: 139
Location: Washington, DC

PostPosted: Tue Oct 21, 2008 3:11 pm    Post subject: Derelict Reply with quote

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
View user's profile Send private message
hduregger



Joined: 15 Aug 2007
Posts: 11

PostPosted: Wed Oct 22, 2008 7:18 am    Post subject: Reply with quote

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
View user's profile Send private message
korDen



Joined: 12 Mar 2008
Posts: 11

PostPosted: Sun Oct 26, 2008 1:24 pm    Post subject: Reply with quote

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
View user's profile Send private message
aldacron



Joined: 05 May 2004
Posts: 1322
Location: Seoul, South Korea

PostPosted: Sun Oct 26, 2008 6:06 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
korDen



Joined: 12 Mar 2008
Posts: 11

PostPosted: Sat Nov 01, 2008 11:46 am    Post subject: Reply with quote

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
View user's profile Send private message
aldacron



Joined: 05 May 2004
Posts: 1322
Location: Seoul, South Korea

PostPosted: Sun Nov 02, 2008 1:46 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
ogtrax



Joined: 18 Apr 2007
Posts: 1

PostPosted: Wed Dec 03, 2008 7:56 am    Post subject: Reply with quote

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
View user's profile Send private message
AmosWenger



Joined: 14 Dec 2008
Posts: 3
Location: Chavannes-pres-Renens, Switzerland

PostPosted: Sun Dec 14, 2008 9:36 pm    Post subject: Reply with quote

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
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Derelict All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
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