Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.

Ticket #32 (closed task: fixed)

Opened 17 years ago

Last modified 17 years ago

DSSS support

Reported by: clayasaurus Assigned to: ChristianK
Priority: major Milestone: 0.2
Component: unspecified Version: svn
Keywords: Cc:

Description

DSSS net install & config for ArcLib v.2.

Right before ArcLib is released, the Arc v.2 SVN should be on its own path after the release as well, so we can backport some Arc v.3 bugfixes to v.2 (that make sense), but do major changes in v.3 if necessary without effecting v.2 or the v.2 dsss install.

Each ArcLib version should probably have its own DSSS install starting with v.2, probably named

arclib02

Which will download and install arclib from the version v.2 SVN.

Examples for Arc v.2 should probably be kept in the arclib02 svn structure as well, and be given a name like

arclib02examples

Change History

05/02/07 18:27:05 changed by ChristianK

I propose making a copy of trunk to branches/0.2 - when we're releasing and after cleaning it up, see #24 - so we have a 0.2 tree for arc, examples and unittests.

05/11/07 17:30:45 changed by ChristianK

I added DSSS support for local builds. To allow net installation, we will have to follow the appropriate steps from the DSSS docs though. It seems to support versioning out of the box, but I don't know how far that goes. Maybe speak to Gregor about it.

I did not add the libdl dependency for linux, since I expect derelict to be installed seperatly when using DSSS.

05/14/07 20:03:00 changed by ChristianK

  • owner changed from clayasaurus to ChristianK.

I made an account with the DSSS administration site and talked to Gregor about it. I'll set things up once we're ready to branch off 0.2.

He told me DSSS will get proper versioning support eventually, so we can use plain "arclib" as a module name.

06/18/07 19:40:23 changed by clayasaurus

From babali on IRC:

"on linux, you should add `-llz -llfreetype' to the build flags in arclib/examples/asteroids/dsss.conf"

06/19/07 08:08:10 changed by ChristianK

Since compiling the asteroids example on linux works very well without linking these libraries explicitly for me, I think it might have something to do with whether you have derelict installed by DSSS or use the arc local copy.

Basically, the local derelict copy is superfluous for DSSS users: a simple 'dsss net deps' will build and compile and install an up-to-date one for them. It is very handy for people doing things manually though.

I'll see whether we can detect if derelict is DSSS installed in the build file.

06/19/07 15:57:29 changed by clayasaurus

One more time...

IRC.freenode.net #arclib

http://pastebin.com/931999

gave me that

06/20/07 07:14:35 changed by ChristianK

But then people doing "dsss install" for arc would overwrite their derelict installation with our (not always up-to-date) version?

That's not an option. I think using the exclude dsss option on the derelict tree in arc might work. It'd require dsss users to have derelict installed, but since it's so easy to do that's not an issue.

By the way, you were wondering how to get arc dsss net installable in another ticket: I already talked about it to Gregor and will set it up as soon as our 0.2 branch is done.

06/20/07 15:24:26 changed by clayasaurus

I setup the Arc01 branch here for retro-arc users (and saving a piece of history :-P )

http://svn.dsource.org/projects/arclib/branches/arc01/

It has all arc01 derelict, arc, examples, documentation, and tutorials. I removed arcpkg1.zip because we will use DSSS to distribute from now on, which will grab from our current SVN version. I think the v.2 branch should follow the arc01 branch layout pattern of

arc01/ .arc/ .derelict/ .doc/ ..api/ ..tutorial/ .examples

I wasn't going to, but someone on IRC freenode #arclib asked me for up to date Arc v02 docs, so I put up http://svn.dsource.org/projects/arclib/branches/arc02/doc/api/ for them.

06/20/07 16:57:12 changed by ChristianK

Yes, the branch layout looks good. Except maybe I'd put the documentation somewhere seperate (dsss users are going to pull all files in branches/arc02 and will generate the source-based docs afresh anyway).

About up-to-date arc 0.2 docs: can you regenerate them with dsss? Currently the documentation for same-name modules is broken (arc.scenegraph.sprite and arc.sprite mostly).

06/20/07 19:21:37 changed by clayasaurus

I generated them and put them online, but they are not candy doc formatted.

I'm confused.

~ Clay

06/20/07 19:50:47 changed by ChristianK

Now that is odd. I've been running "dsss build --doc" and it generated candydoced files in a dsss_docs subdirectory. Is that what you did?

06/20/07 21:18:59 changed by clayasaurus

I found sound weird bug with the order of passing flags to the DMD compiler on windows. On windows, -D needs to be one of the first flags passed. I've told Gregor about it and I hope he'll fix it. Maybe you can generate the docs and put them in the proper place, since it works on linux?

06/21/07 15:44:25 changed by ChristianK

It doesn't work for me either -but I am sure it worked earlier! Odd.

06/21/07 15:57:35 changed by clayasaurus

DSSS .64 works for me, but .65 doesn't.

06/21/07 16:02:39 changed by clayasaurus

I got the full DSSS docs up online now.

06/21/07 16:32:31 changed by ChristianK

Great!

About the libraries on linux: Building works fine without the freetype and lz links for me, even after having deinstalled the derelict libraries...

06/21/07 17:03:13 changed by clayasaurus

babali IRC

babali> clayasaurus: can you configure dsss to exclude derelict/opengl/wingdi.d for verion(linux) ?

Does it work for you?

06/21/07 18:48:53 changed by ChristianK

Yes, I can compile and link asteroids just fine - wingdi.d doesn't get compiled automatically.

06/22/07 23:05:03 changed by clayasaurus

I moved the API docs somewhere seperate in branches/api/arc02

06/23/07 08:42:10 changed by ChristianK

Okay, dsss.codu.org is up again too. So once we're comfortable with the state of trunk/, we can make the 0.2 branch and I'll get it dsss net installable.

06/27/07 04:11:31 changed by clayasaurus

Put arc and derelict in the arc02 branch folder.

Maybe for DSSS we can have

arclib 
arcunittest
arcexamples
arcderelict

As currently only our derelict version can support arc. Or maybe just one

arclib

will install all of the above.

06/27/07 08:19:20 changed by ChristianK

Only our derelict version works with arc? When did that start? It worked fine a few weeks ago.

I'm not sure what Gregor thinks about splitting up packages like this - at the moment we only got 'arclib' to work with, so I guess it'll install all of the above.

I want to try manually adding the 'requires' line for derelict to our dsss.conf files. Maybe that'll work. Also, please add all the root files from trunk to branches/arc02 too (LICENSE, AUTHORS, dsss.conf...).

Anyway, I have tried to setup the arclib dsss information, but it gives me an error. Will email Gregor...

06/27/07 15:50:36 changed by clayasaurus

When I started using Tomasz Stachowiak's new font renderer. He says he'll submit a patch to derelict eventually... we could do it ourselves too, and add that as a v.2 ticket.

Installing everything in http://svn.dsource.org/projects/arclib/branches/arc02/ directory should be good then.

Okay then. Yea the branch still needs a little touching up/finalizing.

06/28/07 22:14:00 changed by clayasaurus

got access to dsss.codu.org and added arc svn :) now I should be able to test my tutorials and stuff once dsss net list updates itself

06/28/07 23:19:25 changed by clayasaurus

hrm... 'dsss net install arclib' doesn't seem to work...

also added branches/arc02/unittest branches/downloads/arc02/unittestbin

06/28/07 23:29:18 changed by clayasaurus

seems to work... builds arc and derelict libraries on install

06/28/07 23:39:53 changed by clayasaurus

on IRC

	<clayasaurus>	and if i want to make a dsss conf that uses arclib, I just use /requires=arclib/ line and dsss will use the installed lib?
	<GregorR-L>	Just import arc.whatever in your source.
	<clayasaurus>	oh, ok.. then dsss will figure it out
	<GregorR-L>	Yup.
	<GregorR-L>	You only need to explicitly list dependencies when they don't manifest themselves in source.

removed derelict, since dsss automatically grabs the latest version

06/28/07 23:49:18 changed by clayasaurus

added

arclib-examples and arclib-unittest

06/29/07 07:23:50 changed by ChristianK

Very well! I assume that closes this ticket?

06/29/07 15:34:43 changed by clayasaurus

I adjusted the SVN repo to be more DSSS friendly. DSSS will reflect that at 10:00AM mountain time.

Basically, an arclib basic install would download unittest and examples folders as well, but now it will only grab the arclib sources.


There is only one thing I was wondering about. I am going to find out if DSSS can automatically grad the media files it needs to run the programs and put them in the correct DSSS location. I set up the media files here: http://svn.dsource.org/projects/arclib/branches/downloads/arc02/

06/29/07 16:40:41 changed by clayasaurus

Also... the joystick code is now barfing it's errors and failing dsss net install arclib with the latest DSSS version. I guess we do have to fix the joystick thing afterall, gah!

06/30/07 02:44:07 changed by clayasaurus

I made it so DSSS appropriately gets the right media files and puts them in the right place for both asteroids and unittest.

The weird problem now is this, (note: i tested, this problem only occurs when linking arc as a library such as -Larc.lib, it doesn't occur when build/rebuild builds all arc files from source every time)

Ok. The weird problem is

Error: Collision between arc.physics.shapes.box.Box and arc.physics.shapes.circle.Circle or any of their base classes are not registered!

Also, currently arclib installs only with DSSS v.66 due to compile errors.

06/30/07 02:44:58 changed by clayasaurus

That is a runtime error, when ever it's trying to collide physics objects.

06/30/07 02:49:50 changed by clayasaurus

Also, please remember, we have two different branches of arc/ unittest/ asteroid/ etc. If you make changes to one, try and do it to the other as well. It is a PITA but worth it for the end user.

06/30/07 06:49:54 changed by ChristianK

Does the application in question import arc.physics.colliders.boxcircle? It registers the collision handler for boxes and circles. If it does, I fear there must be another static this() bug somewhere. Does this happen for the asteroids example?

06/30/07 19:11:24 changed by clayasaurus

Yes, this happens with the asteroids example, and physics pg. They work when compiled with arc from source, but not with arc as a library.

06/30/07 21:33:35 changed by clayasaurus

  • status changed from new to closed.
  • resolution set to fixed.

I provided a work around in arc.physics.physics.d and implemented it within both branches of arc. The user needs to call

arc.physics.physics.open()

if they use DSSS static linking, otherwise the static this() will be called properly.

Probably should make another bug report for Walter. DSSS is working excellently now, type

'dsss net install arclib'
'dsss net install arclib-examples'
'dsss net install arclib-unittest'

to install DSSS and it grabs the dll's on windows platforms and the media files as well.

The bulk work is already done, so I'm going to close down this ticket.

The only last thing that might need investigating is the un-installation of the examples and unittest ... currently only this works

dsss net uninstall examples
dsss net uninstall unittest

07/01/07 16:20:45 changed by ChristianK

I assume the static this() bug is still this one: http://d.puremagic.com/issues/show_bug.cgi?id=668

About uninstallation: maybe changing the name or target settings in the dsss.conf file helps?

07/03/07 00:41:02 changed by clayasaurus

No, I tried both name and target... it doesn't help.