Packaging specifications for Gambas development version
REVISION: 2024-05-05
Gambas binary packages must have the following names and contents:
The runtime package
This package includes the Gambas interpreter needed to run Gambas
applications, and various components that have no other dependency than the interpreter.
It contains:
-
The interpreter:
gbx3
.
-
The symbolic link on
gbx3
: gbr3
.
-
The man pages
gbx3.1
and gbr3.1
.
-
The internal component description:
gb.component
, gb.info
and gb.list
.
-
The readme files,
TODO
files, and so on.
And the following components:
-
The
gb.debug
component: gb.debug.info
, gb.debug.list
, gb.debug.component
, gb.debug.so.*
, gb.debug.la
.
-
The
gb.eval
component: gb.eval.info
, gb.eval.list
, gb.eval.component
, gb.eval.so.*
, gb.eval.la
.
-
The
gb.geom
hidden component: gb.geom.info
, gb.geom.list
, gb.geom.component
, gb.geom.so.*
, gb.geom.la
.
-
The
gb.draw
hidden component: gb.draw.info
, gb.draw.list
, gb.draw.so.*
, gb.draw.la
.
-
The
gb.gui
component: gb.gui.info
, gb.gui.list
, gb.gui.component
, gb.gui.so.*
, gb.gui.la
.
-
The
gb.gui.base
hidden component: gb.gui.base.info
, gb.gui.base.list
, gb.gui.base.gambas
.
-
The
gb.gui.opengl
component: gb.gui.opengl.info
, gb.gui.opengl.list
, gb.gui.opengl.component
, gb.gui.opengl.so.*
, gb.gui.opengl.la
.
-
The
gb.gui.qt
component: gb.gui.qt.info
, gb.gui.qt.list
, gb.gui.qt.component
, gb.gui.qt.so.*
, gb.gui.qt.la
.
-
The
gb.gui.qt.ext
component: gb.gui.qt.ext.info
, gb.gui.qt.ext.list
, gb.gui.qt.ext.component
, gb.gui.qt.ext.so.*
, gb.gui.qt.ext.la
.
-
The
gb.gui.qt.opengl
component: gb.gui.qt.opengl.info
, gb.gui.qt.opengl.list
, gb.gui.qt.opengl.component
, gb.gui.qt.opengl.so.*
, gb.gui.qt.opengl.la
.
-
The
gb.gui.qt.webkit
component: gb.gui.qt.webkit.info
, gb.gui.qt.webkit.list
, gb.gui.qt.webkit.component
, gb.gui.qt.webkit.so.*
, gb.gui.qt.webkit.la
.
-
The
gb.gui.trayicon
component: gb.gui.trayicon.info
, gb.gui.trayicon.list
, gb.gui.trayicon.component
, gb.gui.trayicon.so.*
, gb.gui.trayicon.la
.
-
The
gb.gui.webview
component: gb.gui.webview.info
, gb.gui.webview.list
, gb.gui.webview.component
, gb.gui.webview.so.*
, gb.gui.webview.la
.
-
The
gb.hash
component: gb.hash.info
, gb.hash.list
, gb.hash.component
, gb.hash.so.*
, gb.hash.la
.
-
The
gb.jit
component: gb.jit.info
, gb.jit.list
, gb.jit.component
, gb.jit.so.*
, gb.jit.la
, gb.jit.gambas
.
-
The
gb.test
component: gb.test.info
, gb.test.list
, gb.test.component
, gb.test.gambas
.
Its name must be
gambas3-runtime
.
This package must register the
application/x-gambas3
mime type as specified by the
application-x-gambas3.xml
file and
the
application-x-gambas3.png
icon.
Note that gb.la
, gb.so
, gb.so.0
and gb.so.0.0.0
do not need to be distributed. They are temporary files used for generating
gb.info
and gb.list
only.
The components included in this package have no dependency on any other components.
The gbr3
symbolic link MUST be in the PATH
, otherwise executables will not work.
gb.gui.base
is a component written in Gambas that cannot actually be used on its own.
It implements many GUI controls for GUI components, and it is explicitly loaded by them (like gb.draw
).
The Gambas JIT compiler needs a compiler to work: either gcc
or clang
, which can become an optional dependency of the package.
The development tools package
This package includes all tools needed to compile Gambas projects without
having to install the complete development environment.
It contains:
-
The compiler:
gbc3
.
-
The archiver:
gba3
.
-
The informer:
gbi3
.
-
The help generator:
gbh3
.
-
The man pages
gbc3.1
, gba3.1
, gbi3.1
and gbr3.1
.
Its name must be
gambas3-dev-tools
.
This package was previously named
gambas3-dev
or
gambas3-devel
.
This was a mistake, as these names are used in various distributions for packages that allows to
develop Gambas,
not to develop
with Gambas.
The scripter package
This package includes the scripter program that allows to write script files in Gambas
and to serve Gambas webpages when run with another name.
It contains:
-
The scripter:
gbs3.gambas
.
-
The symbolic link on it:
gbs3
.
-
Another symbolic link on it with a specific name:
gbw3
.
-
The man pages
gbs3.1
and gbw3.1
.
Its name must be
gambas3-scripter
.
It depends on the following Gambas packages:
-
gambas3-runtime
.
-
gambas3-dev-tools
.
-
gambas3-gb-pcre
.
This package must register the
application/x-gambasscript
mime type as specified by the
application-x-gambasscript.xml
file and
the
application-x-gambasscript.png
icon.
The gbs3
symbolic link MUST be in the PATH
, otherwise scripts will not work.
The GUI package
This package is a virtual package that must depends on either:
-
gambas3-gb-qt4
.
-
gambas3-gb-qt5
.
-
gambas3-gb-qt6
.
-
gambas3-gb-gtk
.
-
gambas3-gb-gtk3
.
It is used as a dependency for packages that requires any GUI package (like
gambas3-gb-form
).
Its name must be
gambas3-gui
.
The component packages
Each gambas component must have its own package.
The package of a component contains:
-
The shared library files:
gb.XXX.la
, gb.XXX.so
, gb.XXX.so.0
, gb.XXX.so.0.0.0
.
-
The component file:
gb.XXX.component
.
-
The information file:
gb.XXX.info
and gb.XXX.list
.
-
Sometimes a part written in Gambas:
gb.XXX.gambas
.
...where
gb.XXX
is the name of the component
Then name of a component package
MUST BE gambas3-gb-XXX
where
gb-XXX
is
the name of the component, the point being replaced by a minus sign.
For example, the
gb.qt4
component package name is
gambas3-gb-qt4
.
It must include:
-
gb.qt4.la
-
gb.qt4.so
-
gb.qt4.so.0
-
gb.qt4.so.0.0.0
-
gb.qt4.component
-
gb.qt4.gambas
-
gb.qt4.info
-
gb.qt4.list
Some component are entirely written in Gambas, i.e. they have only a Gambas part.
These components are located in the
comp
directory of the source archive.
You must follow the previous rules for these components, except that there is no
shared library files inside.
If a component is written in Gambas, or has a Gambas part, then it must depend on gambas3-runtime
.
Note that gb.debug
, gb.eval
, gb.draw
, gb.geom
, gb.gui
, gb.gui.qt
, gb.gui.qt.webkit
, gb.gui.base
and gb.gui.opengl
do not have their own package, as they are distributed with
the gambas3-runtime
package.
The development environment package
This package includes the complete Gambas Development Environment.
It contains:
-
The development environment:
gambas3.gambas
.
-
The symbolic link on it:
gambas3
.
-
The project templates needed to create new projects. They are all gambas projects located in
/app/template
in the source
directory, and installed in /usr/share/gambas3/template
.
-
The man page
gambas3.1
.
It depends on the following Gambas packages:
-
gambas3-runtime
.
-
gambas3-dev-tools
.
-
The packages of the components needed by the IDE:
-
gb.clipper
-
gb.db
-
gb.db.form
-
gb.debug
-
gb.desktop
-
gb.desktop.x11
-
gb.eval
-
gb.highlight
-
gb.form
-
gb.form.dialog
-
gb.form.editor
-
gb.form.mdi
-
gb.form.print
-
gb.form.stock
-
gb.form.terminal
-
gb.image
-
gb.markdown
-
gb.net
-
gb.net.curl
-
gb.settings
-
gb.signal
-
gb.term
-
gb.util
Moreover you must add dependencies on either:
-
gambas3-gb-qt4-webview
.
-
gambas3-gb-qt5-webview
.
-
gambas3-gb-qt6-webview
.
-
or
gambas3-gb-gtk3-webview
.
You
MAY make this package depend on all Gambas components, so that they are all installed,
but this is not recommended.
Its name must be
gambas3-ide
.
The IDE relies on the following external tools:
-
The GNU translation tools for translating a project.
-
The rpm tools for creating RPM packages.
-
The deb tools for creating DEB packages.
-
The ARCH tool for creating ARCH packages.
-
The
tar
& gzip
tools for creating *.tar.gz
archives.
-
The
wget
utility for downloading offline help from the wiki.
And optionally on these tools:
-
pngquant
for PNG compression optimizations.
-
translate-shell
for automatic translation.
-
git
for project version control.
-
subversion
for project version control.
So you must add the dependencies on the packages that provide these tools. The name of these
packages depends on the distribution.
Package list
Here is the list of all packages that must be made:
Package
|
Depends on these packages
|
gambas3-dev-tools
|
|
gambas3-runtime
|
|
gambas3-ide
|
gambas3-runtime
gambas3-dev-tools
gambas3-gb-clipper
gambas3-gb-db2
gambas3-gb-db2-form
gambas3-gb-desktop
gambas3-gb-form
gambas3-gb-form-dialog
gambas3-gb-form-editor
gambas3-gb-form-htmlview
gambas3-gb-form-mdi
gambas3-gb-form-print
gambas3-gb-form-stock
gambas3-gb-form-terminal
gambas3-gb-highlight
gambas3-gb-image
gambas3-gb-markdown
gambas3-gb-net
gambas3-gb-net-curl
gambas3-gb-pcre
gambas3-gb-settings
gambas3-gb-signal
gambas3-gb-term
gambas3-gb-util
gambas3-gb-util-web
|
gambas3-scripter
|
gambas3-runtime
gambas3-dev-tools
gambas3-gb-pcre
|
gambas3-gb
|
|
gambas3-gb-args
|
|
gambas3-gb-cairo
|
gambas3-gb-image
|
gambas3-gb-chart
|
gambas3-gb-form
|
gambas3-gb-clipper
|
|
gambas3-gb-complex
|
|
gambas3-gb-compress
|
|
gambas3-gb-compress-bzlib2
|
gambas3-gb-compress
|
gambas3-gb-compress-zlib
|
gambas3-gb-compress
|
gambas3-gb-compress-zstd
|
gambas3-gb-compress
|
gambas3-gb-crypt
|
|
gambas3-gb-data
|
|
gambas3-gb-db
|
|
gambas3-gb-db-form
|
gambas3-gb-db
gambas3-gb-form
|
gambas3-gb-db-mysql
|
gambas3-gb-db
|
gambas3-gb-db-odbc
|
gambas3-gb-db
|
gambas3-gb-db-postgresql
|
gambas3-gb-db
|
gambas3-gb-db-sqlite2
|
gambas3-gb-db
|
gambas3-gb-db-sqlite3
|
gambas3-gb-db
|
gambas3-gb-dbus
|
|
gambas3-gb-dbus-trayicon
|
gambas3-gb-dbus
gambas3-gb-image
|
gambas3-gb-desktop
|
gambas3-gb-image
|
gambas3-gb-desktop-gnome-keyring
|
gambas3-gb-desktop
|
gambas3-gb-desktop-x11
|
gambas3-gb-image
gambas3-gb-desktop
|
gambas3-gb-eval-highlight
|
|
gambas3-gb-form
|
|
gambas3-gb-form-dialog
|
gambas3-gb-form
|
gambas3-gb-form-editor
|
gambas3-gb-util
gambas3-gb-form
gambas3-gb-highlight
|
gambas3-gb-form-htmlview
|
|
gambas3-gb-form-mdi
|
gambas3-gb-form
gambas3-gb-settings
|
gambas3-gb-form-print
|
gambas3-gb-form
|
gambas3-gb-form-stock
|
|
gambas3-gb-form-terminal
|
gambas3-gb-term
|
gambas3-gb-gmp
|
|
gambas3-gb-gsl
|
|
gambas3-gb-gtk
|
gambas3-gb-image
|
gambas3-gb-gtk-opengl
|
gambas3-gb-gtk
gambas3-gb-opengl
|
gambas3-gb-gtk3
|
gambas3-gb-image
|
gambas3-gb-gtk3-opengl
|
gambas3-gb-gtk3
gambas3-gb-opengl
|
gambas3-gb-gtk3-wayland
|
gambas3-gb-qt5
|
gambas3-gb-gtk3-webview
|
gambas3-gb-gtk3
|
gambas3-gb-gtk3-x11
|
gambas3-gb-qt5
|
gambas3-gb-hash
|
|
gambas3-gb-highlight
|
gambas3-gb-image
gambas3-gb-pcre
|
gambas3-gb-httpd
|
|
gambas3-gb-image
|
|
gambas3-gb-image-effect
|
gambas3-gb-image
|
gambas3-gb-image-imlib
|
gambas3-gb-image
|
gambas3-gb-image-io
|
gambas3-gb-image
|
gambas3-gb-inotify
|
|
gambas3-gb-jit
|
|
gambas3-gb-libxml
|
|
gambas3-gb-logging
|
|
gambas3-gb-map
|
gambas3-gb-net-curl
gambas3-gb-net
|
gambas3-gb-markdown
|
|
gambas3-gb-media
|
gambas3-gb-image
|
gambas3-gb-media-form
|
gambas3-gb-media
|
gambas3-gb-memcached
|
gambas3-gb-net
|
gambas3-gb-mime
|
|
gambas3-gb-mongodb
|
|
gambas3-gb-mysql
|
gambas3-gb-db
gambas3-gb-db-mysql
|
gambas3-gb-ncurses
|
|
gambas3-gb-net
|
|
gambas3-gb-net-curl
|
gambas3-gb-net
|
gambas3-gb-net-pop3
|
gambas3-gb-net
gambas3-gb-mime
|
gambas3-gb-net-smtp
|
gambas3-gb-net
|
gambas3-gb-openal
|
|
gambas3-gb-opengl
|
gambas3-gb-image
|
gambas3-gb-opengl-glsl
|
gambas3-gb-opengl
|
gambas3-gb-opengl-glu
|
gambas3-gb-opengl
|
gambas3-gb-opengl-sge
|
gambas3-gb-opengl
|
gambas3-gb-openssl
|
|
gambas3-gb-option
|
|
gambas3-gb-pcre
|
|
gambas3-gb-pdf
|
gambas3-gb-image
|
gambas3-gb-poppler
|
gambas3-gb-image
|
gambas3-gb-qt4
|
gambas3-gb-image
|
gambas3-gb-qt4-ext
|
gambas3-gb-qt4
|
gambas3-gb-qt4-opengl
|
gambas3-gb-qt4
gambas3-gb-opengl
|
gambas3-gb-qt4-webkit
|
gambas3-gb-qt4
|
gambas3-gb-qt4-webview
|
gambas3-gb-qt4
|
gambas3-gb-qt5
|
gambas3-gb-image
|
gambas3-gb-qt5-ext
|
gambas3-gb-qt5
|
gambas3-gb-qt5-opengl
|
gambas3-gb-qt5
gambas3-gb-opengl
|
gambas3-gb-qt5-wayland
|
gambas3-gb-qt5
|
gambas3-gb-qt5-webkit
|
gambas3-gb-qt5
|
gambas3-gb-qt5-webview
|
gambas3-gb-qt5
|
gambas3-gb-qt5-x11
|
gambas3-gb-qt5
|
gambas3-gb-qt6
|
gambas3-gb-image
|
gambas3-gb-qt6-ext
|
gambas3-gb-qt6
|
gambas3-gb-qt6-opengl
|
gambas3-gb-qt6
gambas3-gb-opengl
|
gambas3-gb-qt6-wayland
|
gambas3-gb-qt6
|
gambas3-gb-qt6-webview
|
gambas3-gb-qt6
|
gambas3-gb-qt6-x11
|
gambas3-gb-qt6
|
gambas3-gb-report
|
gambas3-gb-form
|
gambas3-gb-report2
|
gambas3-gb-form
|
gambas3-gb-scanner
|
|
gambas3-gb-sdl
|
gambas3-gb-image
gambas3-gb-image-io
|
gambas3-gb-sdl-sound
|
|
gambas3-gb-sdl2
|
gambas3-gb-image
|
gambas3-gb-sdl2-audio
|
|
gambas3-gb-settings
|
|
gambas3-gb-signal
|
|
gambas3-gb-term
|
|
gambas3-gb-term-form
|
gambas3-gb-term
|
gambas3-gb-test
|
|
gambas3-gb-util
|
|
gambas3-gb-util-web
|
|
gambas3-gb-v4l
|
gambas3-gb-image
|
gambas3-gb-vb
|
|
gambas3-gb-web
|
gambas3-gb-util-web
|
gambas3-gb-web-feed
|
gambas3-gb-xml
gambas3-gb-util
|
gambas3-gb-web-form
|
gambas3-gb-web
gambas3-gb-util-web
gambas3-gb-util
|
gambas3-gb-web-gui
|
gambas3-gb-util
gambas3-gb-web
gambas3-gb-util-web
gambas3-gb-signal
|
gambas3-gb-xml
|
|
gambas3-gb-xml-html
|
gambas3-gb-xml
|
gambas3-gb-xml-rpc
|
|
gambas3-gb-xml-xslt
|
gambas3-gb-xml
|
Additional dependencies
The following packages must depends on
gambas3-gui
too:
-
gambas3-gb-form
.
-
gambas3-gb-media-form
.
-
gambas3-gb-form-terminal
.
You may have a gambas3-debug
package to store the debugging information of all previous packages.