[Pkg-pascal-devel] Castle Game Engine 6.0 release in Debian

Michalis Kamburelis michalis.kambi at gmail.com
Sat Feb 25 02:12:19 UTC 2017


We have released a new major version of Castle Game Engine 6.0!

Much joy follows, as the release is a result of a lot of work:) The
official news announcement is on
. The downloads are on https://castle-engine.sourceforge.io/ , hosted
on SourceForge -- same place as usual.

Compared to the previous release (5.2.0), the engine 6.0 has some
additions that may be important for a Debian Developer interesting in
packaging it. We have discussed most of them earlier, in this thread a
year ago: http://lists.alioth.debian.org/pipermail/pkg-pascal-devel/Week-of-Mon-20160201/000992.html
. This mail is partially just a reminder and a summary of that thread.

So, read this when you're ready to package latest CGE/view3dscene in Debian:)

1. We include five "tools" along with the engine, in the tools/
subdirectory of the sources. Some of them are smaller, but one
("castle-engine") is larger and very useful -- we call it the "build
tool" throughout the documentation (
https://github.com/castle-engine/castle-engine/wiki/Build%20Tool ).

  It would be best if the Debian (binary) package installed these
tools in a precompiled version, placed in /usr/bin/.

  They are all simple programs, requiring only FPC and the engine
units to be compiled.
  - Four of them are console programs.
  - But one ("castle-curves") is a GUI program using GTK2 and GtkGlExt
(just like "view3dscene"). It will require also GTK and GtkGlExt -dev
packages to build, like view3dscene.

  All these tools are compiled with "make", handled by "make install"
and "make uninstall" following all the usual Unix conventions and
environment variables. They can also be compiled with xxx_compile.sh
scripts inside their directories. They can even be compiled with the
"build tool" ("castle-engine"), which means that you could even
"bootstrap" the build tool with itself (but that's probably a
complication you don't need for the Debian packaging...).

  I hope that this makes it easy to package them. Please let me know
if I can do something better, e.g. if you would like a target like
"make build-tools" that compiles only the tools? (In the next CGE

2. The engine tarball also includes a number of libraries (.dll, so)
which we provide in a binary-only form.

  These libraries are for Windows and Android applications, and are
really only useful when building applications for these platforms.
They are not essential, and they can be simply removed from the
packaging, if that's easier for you. Everything is coded such that
lack of them will be handled gracefully.

  Reproducing them from source, while definitely possible, would be
some work. These are all libraries with an open-source code, and in
theory they could all be reproduced using open-source tools. But doing
it would probably be an effort larger than packaging CGE itself, and
neither you nor I are probably much interested in spending time on
compiling Windows libraries:)

  There's a target in the Makefile to simply strip them, that's what
we agreed on in the mailing thread linked above, so you can just do
"make strip-precompiled-libraries".

3. Our version number is now simpler: X.Y instead of X.Y.Z. We have
simply decided to drop the .Z for now, as it was not useful to us (we
may bring it back, once needed!). So I refer to the engine 6.0, not
6.0.0, everywhere.

  Also, a new convention is that when the ".Y" is odd, then you have
an unstable (bleeding-edge, from GitHub) version of the engine. So, in
practice, Debian will always want to package versions with ".Y" even.
Next release will be 6.2, then 6.4...

  If needed, you can imagine that we did't drop ".Z", but that it
always equals zero at a release. If for some reason changing version
number scheme X.Y.Z -> X.Y is uncomfortable in Debian, feel free to
treat new version as "X.Y.0" (6.0.0).

4. We also released a new version of "view3dscene" 3.16.0 along with
the new engine ( https://castle-engine.sourceforge.io/view3dscene.php
). Due to a lot of engine changes, the latest "view3dscene" source
code is in practice only compatible with the latest engine version
(6.0), so you will probably want to update them both
("castle-game-engine" and "view3dscene") at once in Debian. Old
view3dscene will not compile with new CGE -- there were some
incompatible changes in CGE API (and view3dscene was using some API
that I treat as "internal"...).

5. Minor: our website address has changed:
http://castle-engine.sourceforge.net/ ->
https://castle-engine.sourceforge.io/ (http->https, and the ".net"
suffix -> ".io").

I hope that this information will be useful when packaging new version
of Castle Game Engine and view3dscene in Debian. Please ask if
anything is unclear, or could be done better upstream:)

P.S. A careful reader will notice that in my mail from February 2016
, I wanted to release next engine version "in a month". But we have
now February 2017... A careful reader will then forgive me kindly:)

Best regards,

More information about the Pkg-pascal-devel mailing list