yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #00036
Re: Packages for Gentoo Linux
Tiziano Müller said: (by the date of Sun, 30 Jul 2006 01:04:28 +0200)
> Hi
>
> I'm trying to make packages for Gentoo Linux. While trying this, I
> encountered some problems with the current build-system and I would like
> to make some suggestions. I already reported a bug in the
> berlios-bugtracker about that.
Wow! Hello, I'm very happy about your input.
Current build system is flawed, I'm aware of that. First of all those
INSTALL_DIR and PREFIX_DIR in fact still do not work in the same way as
they work in numerous other packages. In fact I'm still learning how to
do that :) Czesiu helped me with that a bit, but it is still not done...
In fact, if you are working on a gentoo package I would be vary happy,
to make it a bit more official and put your name in 'Authors - Package
Maintainers' section on the webpage. And give you acces to subversion
repository, so that all your valuable work will not be lost. There is
already a directory for that: yade/trunk/packaging/gentoo
Even if you don't want to get involved too much in yade (eg. you are
afraid of having subversion access) - you can send us what you have done
to make gentoo package and I will put it in that directory in the
repository, so then, someone else will be able to start from your work.
> a) Instead of a handwritten Makefile in the top-folder of each
> package/lib/whatever, you can just put a .pro-file with the following
> content:
>
> TEMPLATE=subdirs
> SUBDIRS=src/yade-lib-wm3-math
> CONFIG += release thread warn_on
Looks reasonable. I can't remember now why I haven't done it like that.
I think it was at the time when we were splitting yade into separate
packages, and wasn't sure how to perform that split effectively.
> b) Instead of using the YADE_QMAKE_PATH, you can use a variable PREFIX
> as follows (in src/yade-lib-wm3-math/yade-lib-wm3-math.pro):
>
> isEmpty ( PREFIX ) {
> PREFIX = /usr/local
> }
yes, thanks! I'm still learning qmake :)
> c) ... and together with the following, you get the "install"-target in
> the makefile (in src/yade-lib-wm3-math/yade-lib-wm3-math.pro),
> which can again be controlled by passing INSTALL_ROOT to make.
>
> INCLUDEPATH += $${PREFIX}/include
> LIBS += -L$${PREFIX}/lib/yade
>
> target.path += $${PREFIX}/lib/yade
> headers.path += $${PREFIX}/include/yade/yade-lib-wm3-math
> headers.files = $${HEADERS}
> INSTALLS += target headers
indeed I haven't thought about that.
> d) ... and to pass additional INCLUDES and/or LIBS variables to ALL
> .pro-files, you can create a ".qmake.cache" file in the top-folder of
> each project or the AllInOne-package with the needed variables, which
> will be passed by qmake to all subdirs.
about this one I'm not sure. those packages are also supposed to be
compilable separately. Will this work then? Also - the number of
packages will drastically decrease for next release. I have already laid
out plans for that:
yade-lib-loki - delete and use boost::fusion, boost::function
yade-lib-wm3-math - delete and use math from libOpenSceneGraph (GPL license)
yade-lib-algorithms - merge with computational-geometry
yade-lib-factory + simplify, only DynLib interface remains.
yade-lib-multimethods + rewrite with boost::fusion
yade-lib-serialization \ + rewrite, remove singleton.
yade-lib-serialization-xml | + SaxParser should use boost::spirit for XML
yade-lib-serialization-bin > merge! + add binary stream compression
yade-lib-serialization-txt | + write
yade-lib-serialization-qt / + add containers and pointers support
yade-lib-threads - already removed ;)
yade-lib-computational-geometry + add sphere volume, cylinder, etc..., later swith to boost::geometry once it is written.
yade-lib-time - delete, and use boost::timer
yade-lib-opengl + add TinyGLViewer. change lib name, remove FPSTracker and OpenGLWindowManager
yade-lib-qhull - delete
yade-lib-swiftpp - delete
If all those changes will be succesfull, yade will have just 5
libraries. And I really hope that they will be reusable by other
unrelated projects.
If you will decide to have access to subversion and put your gentoo
stuff there, then maybe also you will want to experiment with the
current build system :) This week I have a deadline to write an article
to journal about lattice model, so I will be able to use your
suggestions next week (or a bit later..). So you try try earlier if you
want to ;)
There is no way that you could break something - we have subversion
history and can revert back to any point in the past :)
--
Janek Kozicki |
_______________________________________________
yade-dev mailing list
yade-dev@xxxxxxxxxxxxxxxx
http://bat.berlios.de/mailman/listinfo/yade-dev
References