Instructions:
=============
-1. Download the source and binary packages that are required to build
- the installer:
+1. Download the source and binary packages that are required to build the installer:
$ cd packages
- $ sh download.sh
+ $ ./download.sh
[...]
$ cd ..
The source tarball will be made available in:
-claws-mail-win32-X.Y.Z-R.tar.bz2
+claws-mail-win32-X.Y.Z-R.tar.xz
To collect files with debug symbols:
configure script.
-The configure script has two parameters for developers:
+The configure script has three parameters for developers:
+
+--disable-fancy-plugin will skip building the fancy plugin and its dependencies
--disable-strip will skip stripping the debug symbols from the build binaries
into separate .debug files
Note - at the time of writing, the meson package in Debian Buster
(currently 0.49.1) is too old to build pixman, but a sufficiently
-recent version can be installed from buster-backports (currently 0.52.1).
+recent version can be installed from buster-backports.
build-essential
automake
autoconf
mingw-w64
+mingw-w64-tools
nsis
stow
unzip
libgettextpo-dev
meson
python3-distutils
-mingw-w64-tools
ruby
--------8<---------8<---------8<--------
FROM debian:buster
-RUN apt-get update && apt-get -y install automake autoconf mingw-w64 nsis stow unzip texinfo imagemagick docbook-utils libglib2.0-dev libgdk-pixbuf2.0-dev ghostscript git binutils make cmake bison flex gperf intltool gcc g++ libtool libgettextpo-dev meson pkg-config-mingw-w64-x86-64 gobject-introspection && apt-get clean
+RUN apt-get update && apt-get -y install build-essential automake autoconf mingw-w64 mingw-w64-tools nsis stow unzip docbook-utils libglib2.0-dev-bin git cmake bison flex gperf intltool libtool libgettextpo-dev meson python3-distutils ruby & apt-get clean
--------8<---------8<---------8<--------
To build the image locally (run in the directory with Dockerfile
and build the Claws Mail package according to the instructions above
in this README files.
+
Adding new packages to the installer:
=====================================
This requires editing a couple of files.
1. Add package to toplevel configure.ac, stating its dependencies.
+ The CM_BPKG macro is for pre-built binaries
+ The CM_MPKG macro is for packages that only use a makefile
+ The CM_SPKG macro is for autotools, cmake, or meson packages
2. Add download information to packages/packages.current.
-3. Add variables cm_pkg_<package>_configure, cm_pkg_<package_make_args
- to src/Makefile.am. Also add the package to cm_spkgs in same file.
+3. Add variables to src/Makefile.am
+ cm_pkg_<pkg>_cmake if the package uses cmake
+ cm_pkg_<pkg>_meson if the package uses meson
+ cm_pkg_<pkg>_configure is the arguments passed to the configure script (or cmake/meson equivalent)
+ cm_pkg_<pkg>_make_dir if make should be invoked from a directory besides the top-level directory
+ cm_pkg_<pkg>_make_dir_inst if make install should be invoked from a directory besides the top-level directory
+ cm_pkg_<pkg>_meson_cppflags are appended to -Dc_args and -Dcpp_args for meson setup
+ cm_pkg_<pkg>_meson_ldflags are appended to -Dc_link_args and -Dcpp_link_args for meson setup
+ cm_pkg_<pkg>_make_args if the package needs special arguments to make
+ cm_pkg_<pkg>_make_args_inst if the package needs special arguments to make install
4. Specify what files from the built package should be included in
the installation (and uninstallation) in src/sections-(un)installer.nsi.
-5. If the package ships pkg-config (*.pc) support files, you need add
- post install instructions to Makefile.am. Note that *.pc files may
- be in the "runtime" directory ${pkgidir} if the package is built
- within Claws Mail (or peculiarly shipped), or in the development
- package ${pkgidir_dev}.
-
-Then run the usual "./autogen.sh" to create the actual configure file
-and run configure as described above.
-
-If the package is using cmake, set pkg_cm_<package>_cmake to "yes",
-and optionally set pkg_cm_<package>_cmake_args. Libical is an example
-to follow.
+Then follow the standard build instructions listed above.
SASL and unofficial patches