diff --git a/configure.ac b/configure.ac
index facd6597..a12edf55 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,513 +1,521 @@
# configure.ac for GPG4Win
# Copyright (C) 2005, 2006, 2007, 2008, 2010, 2023 g10 Code GmbH
#
# This file is part of GPG4Win
#
# GPG4Win is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# GPG4Win is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see .
# (Process this file with autoconf to produce a configure script.)
AC_PREREQ(2.59)
min_automake_version="1.9.3"
# To build a release you need to create a tag with the version number
# (git tag -s gpg4win-2.x.y) and run "./autogen.sh --force". Please
# bump the version number immediately after the release and do another
# commit and push so that the git magic is able to work.
m4_define([mym4_package],[gpg4win])
m4_define([mym4_isvsd],m4_if(m4_esyscmd([ls packages/gnupg-2.*.tar.* | \
head -1 | cut -d. -f2 | tr -d '\n']),[2],
[yes], [no]))
m4_if(mym4_isvsd,yes,
[m4_define([mym4_major],[3])
m4_define([mym4_minor],[1])
m4_define([mym4_micro],[27])],
[m4_define([mym4_major],[4])
m4_define([mym4_minor],[2])
m4_define([mym4_micro],[0])])
# Below is m4 magic to extract and compute the git revision number,
# the decimalized short revision number, a beta version string and a
# flag indicating a development version (mym4_isbeta). Note that the
# m4 processing is done by autoconf and not during the configure run.
m4_define([mym4_verslist], m4_split(m4_esyscmd([./autogen.sh --find-version] \
mym4_package mym4_major mym4_minor mym4_micro),[:]))
m4_define([mym4_isbeta], m4_argn(2, mym4_verslist))
m4_define([mym4_ingit], m4_argn(3, mym4_verslist))
m4_define([mym4_version], m4_argn(4, mym4_verslist))
m4_define([mym4_betastr], m4_argn(6, mym4_verslist))
m4_define([mym4_revision], m4_argn(7, mym4_verslist))
m4_define([mym4_revision_dec], m4_argn(8, mym4_verslist))
AC_INIT([mym4_package],[mym4_version],[https://bugs.gnupg.org])
# Remember to update these version numbers also in the NEWS file.
MANUALVERSION_EINSTEIGER="2.0.2"
MANUALDATE_EINSTEIGER="30. Mai 2006"
MANUALVERSION_DURCHBLICKER="2.0.2"
MANUALDATE_DURCHBLICKER="30. Mai 2006"
MANUALVERSION_NOVICES="1.0.0"
MANUALDATE_NOVICES="Nov. 30, 2006"
MANUALVERSION_ADVANCED="0.0.0"
MANUALDATE_ADVANCED="Nov. 30, 2006"
COMPENDIUM_VERSION_DE="4.0.1"
COMPENDIUM_DATE_DE="3. April 2018"
COMPENDIUMINPROGRESS_DE="zuletzt leicht korrigiert am 3. April 2018"
COMPENDIUM_VERSION_EN="3.0.0"
COMPENDIUM_DATE_EN="30th November 2016"
COMPENDIUMINPROGRESS_EN="last minor changes from 30th November 2016"
MANUALINPROGRESS_DE=m4_if(my_isbeta,[yes],["~und evtl. seitdem weiter bearbeitet"])
MANUALINPROGRESS_EN=m4_if(my_isbeta,[yes],["~and may have been further edited"])
IS_VSD_BUILD=mym4_isvsd
PACKAGE=$PACKAGE_NAME
VERSION=$PACKAGE_VERSION
GIT_REVISION=mym4_revision
GIT_REVISION_DEC=mym4_revision_dec
GIT_BETASTRING=mym4_betastr
IS_BETA_BUILD=mym4_isbeta
IS_VSD_BUILD=mym4_isvsd
# XXX: It seems to be impossible in the way we call cmake to pass
# defines with spaces. So we use a nice "FOUR-PER-EM SPACE" U+2005 *cough*
DISTRIBUTION_TEXT=m4_if(mym4_isvsd, [yes], ["g10 Code GmbH"], ["Gpg4win"])
AC_CONFIG_SRCDIR(src/config.nsi.in)
AC_CONFIG_MACRO_DIR(m4)
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([tar-ustar])
AM_MAINTAINER_MODE
AC_CANONICAL_HOST
AM_CONFIG_HEADER(config.h)
# Language support
AM_PO_SUBDIRS
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_SUBST(MANUALVERSION_EINSTEIGER)
AC_SUBST(MANUALDATE_EINSTEIGER)
AC_SUBST(MANUALVERSION_DURCHBLICKER)
AC_SUBST(MANUALDATE_DURCHBLICKER)
AC_SUBST(MANUALINPROGRESS_DE)
AC_SUBST(MANUALVERSION_NOVICES)
AC_SUBST(MANUALDATE_NOVICES)
AC_SUBST(MANUALVERSION_ADVANCED)
AC_SUBST(MANUALDATE_ADVANCED)
AC_SUBST(MANUALINPROGRESS_EN)
AC_SUBST(COMPENDIUM_VERSION_DE)
AC_SUBST(COMPENDIUM_DATE_DE)
AC_SUBST(COMPENDIUMINPROGRESS_DE)
AC_SUBST(COMPENDIUM_VERSION_EN)
AC_SUBST(COMPENDIUM_DATE_EN)
AC_SUBST(COMPENDIUMINPROGRESS_EN)
AC_SUBST(GIT_BETASTRING)
AC_SUBST(IS_BETA_BUILD)
AC_SUBST(IS_VSD_BUILD)
AC_SUBST(DISTRIBUTION_TEXT)
# Generate extended version information. Note, that for NSIS use we
# must not translate the dots to commas in the BUILD_FILEVERSION.
BUILD_TIMESTAMP=`date --iso-8601=minutes`
BUILD_ISODATE=`date --iso-8601`
changequote(,)dnl
BUILD_FILEVERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./'`
changequote([,])dnl
BUILD_FILEVERSION="${BUILD_FILEVERSION}${GIT_REVISION_DEC}"
AC_SUBST(BUILD_TIMESTAMP)
AC_SUBST(BUILD_ISODATE)
AC_SUBST(BUILD_FILEVERSION)
# The final release is copied to an archive server. The default
# location may be changed by setting the RELEASEHOST envvar.
if test -z "$RELEASEHOST" ; then
RELEASEHOST="vigenere:tarballs/gpg4win"
if test "${IS_BETA_BUILD}" = yes ; then
RELEASEHOST="${RELEASEHOST}/Beta"
fi
fi
AC_SUBST(RELEASEHOST)
# Substitutions to set generated files in a Emacs buffer to read-only.
AC_SUBST(emacs_local_vars_begin, ['Local Variables:'])
AC_SUBST(emacs_local_vars_read_only, ['buffer-read-only: t'])
AC_SUBST(emacs_local_vars_end, ['End:'])
GPG4WIN_BUILD_RELEASE(gpg4win, no)
GPG4WIN_BUILD_RELEASE(appimage, no)
# For development it is often faster to build without manuals.
AC_ARG_ENABLE(manuals,
AC_HELP_STRING([--disable-manuals],
[Do not build the manuals (for debugging)]),
build_manuals=$enableval,
build_manuals=yes)
AM_CONDITIONAL(BUILD_MANUALS, test "$build_manuals" = yes)
# Additionaly enable building gpgex for another host
AC_ARG_WITH([additional-gpgex-host],
AC_HELP_STRING([--with-additional-gpgex-host=HOST],
[Additionaly build gpgex for this host]),
[if test "$withval" = yes; then
AC_MSG_FAILURE(
[--with-additional-gpgex-host was given,
but no host specified])
else
gpgex_host=$withval
fi
],
gpgex_host=no)
if test "$gpgex_host" != no; then
GPGEX_ADD_HOST="$gpgex_host"
fi
AC_SUBST(GPGEX_ADD_HOST)
AC_ARG_ENABLE(fast-makensis,
AC_HELP_STRING([--enable-fast-makensis],
[Use a less efficient compressor to speed up building]),
use_fast_makensis=$enableval,
use_fast_makensis=no)
if test "$use_fast_makensis" = yes; then
EXTRA_MAKENSIS_FLAGS="${EXTRA_MAKENSIS_FLAGS} -DDISABLE_LZMA=1"
fi
AC_SUBST(EXTRA_MAKENSIS_FLAGS)
#
# Set variables for use by automake makefiles.
#
AM_CONDITIONAL(BUILD_GPG4WIN, test "$build_gpg4win" = "yes")
AM_CONDITIONAL(BUILD_APPIMAGE, test "$build_appimage" = "yes")
# Required tools.
AC_PROG_CC
AC_PROG_CPP
AC_PROG_RANLIB
AC_CHECK_TOOL(AR, ar, :)
AC_CHECK_TOOLS(STRIP, strip)
AC_CHECK_TOOLS(DLLTOOL, dlltool)
AC_CHECK_PROGS(MAKE, make)
AC_CHECK_PROGS(UNZIP, unzip)
AC_CHECK_PROGS(TAR, tar)
AC_CHECK_PROGS(MKDIR, mkdir)
AC_CHECK_PROGS(CP, cp)
AC_CHECK_PROGS(RM, rm)
AC_CHECK_PROGS(STOW, stow)
AC_CHECK_PROGS(MAKENSIS, makensis)
AC_CHECK_PROGS(ZCAT, zcat)
AC_CHECK_PROGS(TEXI2DVI, texi2dvi)
AC_CHECK_PROGS(DVIPDF, dvipdf)
AC_CHECK_PROGS(CONVERT, convert)
AC_CHECK_PROGS(SHA1SUM, sha1sum)
AC_CHECK_PROGS(MSGFMT, msgfmt)
AC_CHECK_PROGS(GITLOG_TO_CHANGELOG, gitlog-to-changelog,
[build-aux/gitlog-to-changelog])
AC_CHECK_PROGS(BUILD_CC, gcc cc)
AC_CHECK_PROGS(CMAKE, cmake3 cmake)
AC_CHECK_PROGS(RSYNC, rsync)
AC_PROG_INSTALL
if test -n "$GPGEX_ADD_HOST"; then
AC_CHECK_TOOLS(STRIP_EX, ${GPGEX_ADD_HOST}-strip)
fi
if test -z "$GPG4WIN_PARALLEL"; then
JOBS=$(nproc 2>/dev/null || echo 1)
GPG4WIN_PARALLEL=-j$JOBS
AC_MSG_NOTICE([Using autodetected $JOBS make jobs. You can override this by setting GPG4WIN_PARALLEL.])
fi
AC_SUBST(GPG4WIN_PARALLEL)
required_tools="MAKE TAR MKDIR CP RM ZCAT SHA1SUM MSGFMT BUILD_CC CMAKE"
if test "$build_gpg4win" = yes ; then
required_tools="$required_tools DLLTOOL UNZIP STOW MAKENSIS TEXI2DVI DVIPDF CONVERT"
fi
if test "$build_appimage" = yes ; then
required_tools="$required_tools RSYNC"
fi
missing_tools=
for i in $required_tools; do
eval tmp='$'$i
if test -z "$tmp"; then
missing_tools="$missing_tools `echo $i | tr 'A-Z' 'a-z'`"
fi
done
if test "$build_gpg4win" = yes ; then
# Try to find the KF5ConfigConfig to set up host tooling
# variable for the kconfig compiler.
# A variable path here would probably be better but we cant
# use $libdir to avoid it beeing required to configure gpg4win
# build with a multiarch libdir set.
kf5_host_tooling="/usr/lib/x86_64-linux-gnu/cmake"
if test ! -f "$kf5_host_tooling/KF5Config/KF5ConfigConfig.cmake"; then
missing_tools="$missing_tools libkf5config-dev"
fi
AC_SUBST(kf5_host_tooling)
GPG4WIN_RUNTIME_LIBRARY(libstdc++-6)
GPG4WIN_RUNTIME_LIBRARY(libwinpthread-1)
if test -f "/usr/lib/gcc/i686-w64-mingw32/10-win32/libgcc_s_dw2-1.dll"; then
AC_MSG_NOTICE([Using dw2 exceptions.])
GPG4WIN_RUNTIME_LIBRARY(libgcc_s_dw2-1)
$CP /dev/null src/libgcc_s_sjlj-1.dll-x
else
AC_MSG_NOTICE([Using sjlj exceptions.])
GPG4WIN_RUNTIME_LIBRARY(libgcc_s_sjlj-1)
$CP /dev/null src/libgcc_s_dw2-1.dll-x
fi
fi
AC_CHECK_PROGS(WGET, wget)
# Packages for Gpg4Win.
if test "$build_gpg4win" = yes ; then
gpg4win_dup_sources=""
GPG4WIN_SPKG([zlib])
GPG4WIN_BPKG_GTK([pkgconfig])
GPG4WIN_SPKG([bzip2])
GPG4WIN_SPKG([libgpg-error], [libiconv gettext])
GPG4WIN_SPKG([libassuan], [libgpg-error])
GPG4WIN_SPKG([scute], [libgpg-error libassuan])
GPG4WIN_SPKG([pinentry], [qtbase libassuan libiconv])
GPG4WIN_SPKG([gpgme], [libgpg-error libassuan qtbase])
GPG4WIN_SPKG([gpgol], [gpgme libassuan])
GPG4WIN_SPKG([gpgex], [libassuan])
GPG4WIN_SPKG([paperkey])
GPG4WIN_SPKG([libiconv])
GPG4WIN_SPKG([gettext], [libiconv])
GPG4WIN_SPKG([libpng], [zlib])
GPG4WIN_SPKG([jpeg])
# Packages needed for gpgex
GPG4WIN_SPKGEX([libgpg-error])
GPG4WIN_SPKGEX([libassuan], [libgpg-error])
GPG4WIN_SPKGEX([gpgex], [libassuan])
GPG4WIN_SPKGEX([gpgme], [libgpg-error libassuan])
GPG4WIN_SPKGEX([gpgol], [gpgme])
GPG4WIN_IPKG([compendium])
# The GnuPG Package.
GPG4WIN_BPKG_BINSRC([gnupg-w32])
GPG4WIN_BPKG_MSISRC([gnupg-msi])
# Qt related stuff.
GPG4WIN_SPKG([qtbase])
GPG4WIN_SPKG([qttools], [qtbase])
GPG4WIN_SPKG([qttranslations], [qtsvg qttools qtwinextras])
GPG4WIN_SPKG([qtwinextras], [qtbase])
GPG4WIN_SPKG([qtsvg], [qtbase])
GPG4WIN_KDEPKG([tiff])
GPG4WIN_KDEPKG([openjpeg], [tiff jpeg])
GPG4WIN_KDEPKG([breeze-icons], [extra-cmake-modules qtbase])
GPG4WIN_KDEPKG([kleopatra], [kio gnupg-w32 breeze-icons kxmlgui libkleo kitemmodels qttranslations ktextwidgets])
GPG4WIN_KDEPKG([extra-cmake-modules])
GPG4WIN_KDEPKG([kconfig], [qtbase qttools extra-cmake-modules])
GPG4WIN_KDEPKG([ki18n], [qtbase gettext qttools extra-cmake-modules])
GPG4WIN_KDEPKG([kwidgetsaddons], [kconfig qttools qtbase])
GPG4WIN_KDEPKG([kcompletion], [kwidgetsaddons])
GPG4WIN_KDEPKG([kwindowsystem], [qtbase qtwinextras qttools])
GPG4WIN_KDEPKG([kcoreaddons], [qtbase qttools])
GPG4WIN_KDEPKG([kcodecs], [qtbase qttools])
GPG4WIN_KDEPKG([kguiaddons], [qtbase qttools])
GPG4WIN_KDEPKG([kmime], [kcodecs ki18n])
GPG4WIN_KDEPKG([kconfigwidgets], [kwidgetsaddons kguiaddons ki18n kcodecs kconfig])
GPG4WIN_KDEPKG([kitemviews], [qtbase qttools])
GPG4WIN_KDEPKG([kitemmodels], [qtbase qttools])
GPG4WIN_KDEPKG([karchive], [qtbase qttools extra-cmake-modules])
GPG4WIN_KDEPKG([kcrash], [kwindowsystem kcoreaddons])
GPG4WIN_KDEPKG([solid], [qttools qtbase extra-cmake-modules])
GPG4WIN_KDEPKG([kjobwidgets], [kwidgetsaddons kcoreaddons qtbase extra-cmake-modules])
GPG4WIN_KDEPKG([kservice], [kconfig kcoreaddons ki18n])
GPG4WIN_KDEPKG([kbookmarks], [kconfig kxmlgui kcoreaddons kconfigwidgets kwidgetsaddons kcodecs])
GPG4WIN_KDEPKG([kio], [kcrash kjobwidgets solid kservice kbookmarks kwidgetsaddons kxmlgui kwindowsystem karchive kconfig kcoreaddons ki18n])
GPG4WIN_KDEPKG([kiconthemes], [qtsvg kconfigwidgets karchive])
GPG4WIN_KDEPKG([kxmlgui], [kiconthemes kconfigwidgets kitemviews ktextwidgets])
GPG4WIN_KDEPKG([libkleo], [kmime kconfigwidgets kwindowsystem kcompletion gpgme])
GPG4WIN_KDEPKG([gpg4win-tools], [libkleo gpgme])
GPG4WIN_KDEPKG([threadweaver], [qtbase extra-cmake-modules])
GPG4WIN_KDEPKG([freetype], [zlib bzip2])
GPG4WIN_KDEPKG([sonnet], [qtbase qttools])
GPG4WIN_KDEPKG([ktextwidgets], [sonnet kcompletion kconfig kconfigwidgets ki18n kwidgetsaddons])
GPG4WIN_KDEPKG([poppler], [libpng openjpeg tiff gpgme kio qtbase freetype])
GPG4WIN_KDEPKG([kparts], [kio kservice kxmlgui kconfigwidgets kwidgetsaddons ktextwidgets])
GPG4WIN_KDEPKG([okular], [kparts gpgme kio poppler threadweaver qtsvg])
GPG4WIN_FINALIZE
fi
# Packages for the AppImage
if test "$build_appimage" = yes ; then
appimage_dup_sources=""
APPIMAGE_SPKG([sqlite])
APPIMAGE_SPKG([libgpg-error])
APPIMAGE_SPKG([libassuan], [libgpg-error])
APPIMAGE_SPKG([npth])
APPIMAGE_SPKG([libgcrypt], [libgpg-error])
APPIMAGE_SPKG([libksba], [libgpg-error])
APPIMAGE_SPKG([ntbtls], [libgcrypt libksba])
APPIMAGE_SPKG([gnupg], [libgpg-error libassuan npth libgcrypt libksba sqlite ntbtls])
APPIMAGE_SPKG([pinentry], [qtbase qtx11extras])
# Note that GPGME needs Qt
APPIMAGE_SPKG([gpgme], [libgpg-error libassuan qtbase])
APPIMAGE_SPKG([paperkey])
# Qt related stuff.
# (dependency on gnupg is only to make sure gnupg is build first so
# that we don't need to wait for the long running Qt builds)
APPIMAGE_SPKG([qtbase], [gnupg])
APPIMAGE_SPKG([qttools], [qtbase])
APPIMAGE_SPKG([qttranslations], [qtsvg qttools qtx11extras])
APPIMAGE_SPKG([qtx11extras], [qtbase])
APPIMAGE_SPKG([qtwayland], [qtbase])
APPIMAGE_SPKG([qtsvg], [qtbase])
# KDE Frameworks Tier 1
APPIMAGE_KDEPKG([extra-cmake-modules], [qttools])
APPIMAGE_KDEPKG([breeze-icons], [extra-cmake-modules qtbase])
APPIMAGE_KDEPKG([karchive], [qtbase qttools extra-cmake-modules])
+ APPIMAGE_KDEPKG([kauth], [qtbase qttools extra-cmake-modules])
APPIMAGE_KDEPKG([kcodecs], [qtbase qttools extra-cmake-modules])
APPIMAGE_KDEPKG([kconfig], [qtbase qttools extra-cmake-modules])
APPIMAGE_KDEPKG([kcoreaddons], [qtbase qttools extra-cmake-modules])
APPIMAGE_KDEPKG([kdbusaddons], [qtbase qttools extra-cmake-modules])
APPIMAGE_KDEPKG([kguiaddons], [qtbase qttools extra-cmake-modules])
APPIMAGE_KDEPKG([ki18n], [qtbase qttools extra-cmake-modules])
APPIMAGE_KDEPKG([kitemmodels], [qtbase qttools extra-cmake-modules])
APPIMAGE_KDEPKG([kitemviews], [qtbase qttools extra-cmake-modules])
APPIMAGE_KDEPKG([kwidgetsaddons], [kconfig qttools qtbase])
APPIMAGE_KDEPKG([kwindowsystem], [qtbase qtx11extras extra-cmake-modules])
+ APPIMAGE_KDEPKG([solid], [qtbase extra-cmake-modules])
+ APPIMAGE_KDEPKG([sonnet], [qtbase extra-cmake-modules])
# KDE Frameworks Tier 2
APPIMAGE_KDEPKG([kcompletion], [kwidgetsaddons])
APPIMAGE_KDEPKG([kcrash], [kwindowsystem kcoreaddons])
+ APPIMAGE_KDEPKG([kjobwidgets], [kwidgetsaddons kcoreaddons qtbase extra-cmake-modules])
# KDE Frameworks Tier 3
APPIMAGE_KDEPKG([kconfigwidgets], [kwidgetsaddons kguiaddons ki18n kcodecs kconfig])
APPIMAGE_KDEPKG([kiconthemes], [qtsvg kconfigwidgets karchive])
- APPIMAGE_KDEPKG([kxmlgui], [kiconthemes kconfigwidgets kitemviews])
+ APPIMAGE_KDEPKG([ktextwidgets], [sonnet kcompletion kconfig kconfigwidgets ki18n kwidgetsaddons])
+ APPIMAGE_KDEPKG([kxmlgui], [kiconthemes kconfigwidgets kitemviews ktextwidgets])
+ APPIMAGE_KDEPKG([kbookmarks], [kconfig kxmlgui kcoreaddons kconfigwidgets kwidgetsaddons kcodecs])
+ APPIMAGE_KDEPKG([kservice], [kconfig kcoreaddons ki18n])
+ APPIMAGE_KDEPKG([kio], [kcrash kjobwidgets solid kservice kbookmarks kwidgetsaddons kxmlgui kwindowsystem karchive kconfig kcoreaddons ki18n kauth])
# KDE PIM
APPIMAGE_KDEPKG([kmime], [kcodecs ki18n])
APPIMAGE_KDEPKG([libkleo], [kmime kconfigwidgets kwindowsystem kcompletion gpgme])
- APPIMAGE_KDEPKG([kleopatra], [gnupg gpgme breeze-icons kxmlgui libkleo kitemmodels qttranslations kdbusaddons])
+ APPIMAGE_KDEPKG([kleopatra], [gnupg gpgme breeze-icons kio kxmlgui libkleo kitemmodels qttranslations kdbusaddons])
APPIMAGE_FINALIZE
fi
# Throw an error if required tools are missing
if test -n "$missing_tools"; then
for i in $missing_tools; do
AC_MSG_NOTICE([$i is missing])
done
AC_MSG_ERROR([[
***
*** Required tools not found. Please consult the above messages
*** and install them before running configure again.
***]])
fi
# Throw an error if any duplicate source packages have been found
if test -n "$gpg4win_dup_sources"; then
tmp=
for i in $gpg4win_dup_sources; do
tmp="$tmp
$i"
done
tmp2="
You might remove them with:"
for i in $gpg4win_rm_candidates; do
if ! grep -q $(basename $i) packages/packages.common packages/packages.3 packages/packages.4; then
tmp2="$tmp2
rm $i"
fi
done
AC_MSG_ERROR([Packages with more that one source version:$tmp$tmp2])
fi
if test -n "$appimage_dup_sources"; then
tmp=
for i in $appimage_dup_sources; do
tmp="$tmp
$i"
done
tmp2="
You might remove them with:"
for i in $appimage_rm_candidates; do
if ! grep -q $(basename $i) packages/packages.common packages/packages.3 packages/packages.4; then
tmp2="$tmp2
rm $i"
fi
done
AC_MSG_ERROR([Packages with more that one source version:$tmp$tmp2])
fi
# Finalize.
AC_CONFIG_FILES(Makefile)
AC_CONFIG_FILES(packages/Makefile src/Makefile po/Makefile.in)
AC_CONFIG_FILES(po/build-cc)
AC_CONFIG_FILES(src/config.nsi src/gpg4win.mk)
AC_CONFIG_FILES(doc/Makefile)
AC_CONFIG_FILES(doc/logo/Makefile)
AC_CONFIG_FILES(doc/manual/Makefile doc/manual/version.tex)
AC_CONFIG_FILES(src/toolchain.cmake)
AC_CONFIG_FILES(src/appimage/Makefile src/appimage/appimage.mk)
AC_CONFIG_FILES(src/appimage/rsync-filters/Makefile)
AC_OUTPUT
# Throw a warning if optional tools are missing
if test -n "$missing_opt_tools"; then
AC_MSG_WARN([[
***
*** Some tools not found. They may or may not be needed depending on
*** the packages you want to include. For example GLIB and GTK+
*** require certain tools; you may need to install a recent version of
*** GLIB and GTK+ on the build machine to allow for cross-compiling.
***]])
for i in $missing_opt_tools; do
AC_MSG_NOTICE([$i is missing])
done
fi
echo -n "
$PACKAGE_NAME-$PACKAGE_VERSION prepared for make
Revision: ${GIT_REVISION} (${GIT_REVISION_DEC})
32bit platform: $host
64bit platform: ${GPGEX_ADD_HOST}
Distribution: ${DISTRIBUTION_TEXT}
"
if test -n "$JOBS"; then
echo " make jobs: ${JOBS}"
else
echo ""
fi
diff --git a/docker/appimage/Dockerfile b/docker/appimage/Dockerfile
index b93472ae..6f139a6e 100644
--- a/docker/appimage/Dockerfile
+++ b/docker/appimage/Dockerfile
@@ -1,117 +1,118 @@
# Dockerfile - docker/appimage
# Copyright (C) 2021 g10 Code GmbH
#
# Software engineering by Ingo Klöcker
#
# This file is part of GnuPG.
#
# Gpg4win is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# Gpg4win is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see .
#
# SPDX-License-Identifier: GPL-2.0+
FROM centos:7
# Import the CentOS 7 package signing key after verifying its fingerprint.
# Then add the software collections repository from the CentOS SCLo SIG and
# import its package signing key after verifying the fingerprint.
# Ditto for the EPEL 7 package signing key.
RUN test $(gpg --with-colons --with-fingerprint < /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 | grep ^pub: | wc -l) = 1 \
&& gpg --with-colons --with-fingerprint < /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 | grep -q ^fpr:::::::::6341AB2753D78A78A7C27BB124C6A8A7F4A80EB5 \
&& rpmkeys --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 \
&& yum -y update \
&& yum -y install \
centos-release-scl \
&& test $(gpg --with-colons --with-fingerprint < /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo | grep ^pub: | wc -l) = 1 \
&& gpg --with-colons --with-fingerprint < /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo | grep -q ^fpr:::::::::C4DBD535B1FBBA14F8BA64A84EB84E71F2EE9D55 \
&& rpmkeys --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo \
&& yum -y update \
&& yum -y install \
epel-release \
&& test $(gpg --with-colons --with-fingerprint < /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 | grep ^pub: | wc -l) = 1 \
&& gpg --with-colons --with-fingerprint < /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 | grep -q ^fpr:::::::::91E97D7C4A5E96F17F3E888F6A2FAEA2352C64E5 \
&& rpmkeys --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 \
&& yum -y update \
&& rm -rf /root/.gnupg
RUN yum -y install \
at-spi2-core-devel \
automake \
boost169-devel \
bzip2 \
bzip2-devel \
cmake3 \
cups-devel \
dbus-devel \
devtoolset-10-binutils \
devtoolset-10-gcc \
devtoolset-10-gcc-c++ \
devtoolset-10-make \
double-conversion-devel \
egl-wayland-devel \
file \
fontconfig-devel \
freetype-devel \
gettext \
git \
gnutls-devel \
gperf \
gtk-update-icon-cache \
harfbuzz-devel \
libXrender-devel \
libicu-devel \
libinput-devel \
libjpeg-devel \
+ libmount-devel \
libpng-devel \
libusbx-devel \
libxkbcommon-x11-devel \
libzstd-devel \
mesa-libEGL-devel \
mesa-libGL-devel \
mtdev-devel \
openldap-devel \
openssl11-devel \
patch \
pcre2-devel \
python36-lxml \
readline-devel \
stow \
systemd-devel \
wayland-devel \
wget \
which \
xcb-util-image-devel \
xcb-util-keysyms-devel \
xcb-util-renderutil-devel \
xcb-util-wm-devel \
xcb-util-devel \
xz-devel \
zlib-devel
# download the necessary linuxdeploy AppImages and extract them because we have no fuse in the container
RUN mkdir -p /tmp/download \
&& cd /tmp/download \
&& wget --no-verbose https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage \
&& wget --no-verbose https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage \
&& chmod +x linuxdeploy-* \
&& cd /tmp \
&& download/linuxdeploy-plugin-qt-x86_64.AppImage --appimage-extract \
&& download/linuxdeploy-x86_64.AppImage --appimage-extract \
&& rm -rf /tmp/download \
&& mkdir -p /opt \
&& mv /tmp/squashfs-root /opt/linuxdeploy
# No need to copy the build scripts becuase it is available
# in the mounted /src hierachy.
# COPY build-appimage.sh /
# RUN chmod +x build-appimage.sh
diff --git a/packages/packages.common b/packages/packages.common
index 49af7225..ba5365bd 100644
--- a/packages/packages.common
+++ b/packages/packages.common
@@ -1,538 +1,545 @@
# packages.common - list of packages for use with gpg4win -*- sh -*-
#
# The download script processes the statements here to
# actually download the packages. The syntax is trivial:
#
# If the first non whitespace character of a line is #, the line is
# considered a comment. If the first word of a line is "server", the
# rest of the line will be taken as the base URL for following file
# commands. If the first word of a line is "file" the rest of the
# line will be appended to the current base URL (with a / as
# delimiter). The statement "chk" is followed by the SHA256 checksum of
# the last file.
#
# zlib
#
server https://gnupg.org/ftp/gcrypt
# last-changed: 2022-04-07
# by: wk
# verified: swdb
file zlib/zlib-1.2.12.tar.gz
chk 91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
#
# GNU
#
server ftp://ftp.gnu.org/pub/gnu
# last-changed: 2017-02-15
# by: ah
# verified: Sig 68D9 4D8A AEEA D48A E7DC 5B90 4F49 4A94 2E46 16C2
file libiconv/libiconv-1.15.tar.gz
chk ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178
# last-changed: 2021-08-17
# by: ah (checksum added by ik)
# verified: Sig 9001 B85A F9E1 B83D F1BD A942 F5BE 8B26 7C6A 406D
file gettext/gettext-0.21.tar.xz
chk d20fcbb537e02dcf1383197ba05bd0734ef7bf5db06bdb241eb69b7d16b73192
# last-changed: 2023-05-03
# by ah
# verified: verification of checksum from both sf and libpng.org
server https://downloads.sourceforge.net
file libpng/libpng16/1.6.39/libpng-1.6.39.tar.xz
chk 1f4696ce70b4ee5f85f1e1623dc1229b210029fa4b7aee573df3e2ba7b036937
# verified: verification of checksum from multiple sources
server https://www.ijg.org
name jpeg-9e.tar.gz
file files/jpegsrc.v9e.tar.gz
chk 4077d6a6a75aeb01884f708919d25934c93305e49f7e3f36db9129320e6f4f3d
# last-changed: 2023-05-03
# by ah
# verified: verification of checksum from multiple sources e.g. homebrew
server https://github.com/uclouvain/openjpeg/archive/refs/tags/
name openjpeg-2.5.0.tar.gz
file v2.5.0.tar.gz
chk 0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a
# last-changed: 2023-05-03
# by ah
# verified: SIG B1FA7D81EEB8E66399178B9733EBBFC47B3DD87D
server https://download.osgeo.org
file libtiff/tiff-4.5.0.tar.xz
chk dafac979c5e7b6c650025569c5a4e720995ba5f17bc17e6276d1f12427be267c
#
# GIMP stuff for W32
#
server http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies
# checked: 2012-03-28 wk - Not updated - not a security problem
name pkgconfig-0.23.tar.gz
file pkg-config-0.23.tar.gz
chk 08a0e072d6a05419a58124db864f0685e6ac96e71b2875bf15ac12714e983b53
name pkgconfig-0.23.zip
file pkg-config_0.23-3_win32.zip
chk 677d6055494e24cad6c49eab33eee618ddc6ed65da827c8b5b7da761b4063278
server https://download.savannah.gnu.org/releases/
# last-changed: 2023-04-19
# by: ah
# verified: SIG E30674707856409FF1948010BE6C3AAC63AD8E3F
file freetype/freetype-2.13.0.tar.xz
chk 5ee23abd047636c24b2d43c6625dcafc66661d1aca64dec9e0d05df29592624c
#
# SQLite
#
server https://www.sqlite.org
# last changed: 2021-09-20
# by: ik
# verified: SHA1 checksum on https://web.archive.org/web/20190228201545/https://www.sqlite.org/download.html
name sqlite-3.27.2.tar.gz
file 2019/sqlite-autoconf-3270200.tar.gz
chk 50c39e85ea28b5ecfdb3f9e860afe9ba606381e21836b2849efca6a0bfe6ef6e
#
# Stripped down version of BZIP2
# (full source at http://bzip.org)
#
server ftp://ftp.g10code.com/g10code/bzip2
# checked: 2014-07-16 ah
file bzip2-1.0.6-g10.tar.gz
chk c2a9b3aec1a38d34b66106116a39f64b01d84f475fef75c40ea0bda0ea67ed07
#
# GnuPG et al.
#
# All tarballs from this server are verified with an openpgp
# signature made by "Werner Koch (dist sig)" or one of the other
# gnupg main contributors.
# Server changed from ftp to https by wk 2021-09-22
server https://gnupg.org/ftp/gcrypt
# last changed 2023-04-11
# by wk
# verified: swdb
file libgpg-error/libgpg-error-1.47.tar.bz2
chk 9e3c670966b96ecc746c28c2c419541e3bcb787d1a73930f5e5f5e1bcbbb9bdb
# last-changed: 2021-04-21
# by: ah
# verified: distsigkey.gpg
file libassuan/libassuan-2.5.5.tar.bz2
chk 8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4
# last changed 2021-09-20
# by ik
# verified: distsigkey.gpg
file npth/npth-1.6.tar.bz2
chk 1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1
# last changed 2022-12-19
# by ah
# verified: Signature from: 6DAA6E64A76D2840571B4902528897B826403ADA
file libksba/libksba-1.6.3.tar.bz2
chk 3f72c68db30971ebbf14367527719423f0a4d5f8103fc9f4a1c01a9fa440de5c
# last changed 2022-04-07
# by wk
# verified: swdb
file ntbtls/ntbtls-0.3.1.tar.bz2
chk 8922181fef523b77b71625e562e4d69532278eabbd18bc74579dbe14135729ba
#name gnupg-msi-2.3.1-beta18-20210420-src.tar.xz
#file binary/gnupg-w32-2.3.1_20210420.tar.xz
#chk e1a2dc705c940938b7bf7a17f521a41b1ef14139acd8860b2fd59aed2750aa3b
#name gnupg-msi-2.3.1-20210420-bin.wixlib
#file binary/gnupg-w32-2.3.1_20210420.wixlib
#chk 133817a4c4d11996956676c5c200222839ee5dc16e9476bd682d4e68b33ef73e
# pinentry
# last changed: 2022-08-24
# by: wk
# verified: swdb
file pinentry/pinentry-1.2.1.tar.bz2
chk 457a185e5a85238fb945a955dc6352ab962dc8b48720b62fc9fa48c7540a4067
# last changed 2023-04-20
# by wk
# verified: [build tree]
file gpgme/gpgme-1.20.0.tar.bz2
chk 25a5785a5da356689001440926b94e967d02e13c49eb7743e35ef0cf22e42750
# last changed: 2021-01-07
# by: ah
file scute/scute-1.7.0.tar.bz2
chk 437fe758b27c243a5ee2535c6b065ea1d09f2c9a02d83567d2f934bb6395c249
# GpgOL
# last-changed: 2023-05-16
# by: ah
# verified: build tree
file gpgol/gpgol-2.5.7.tar.bz2
chk c07aa700ca98aa6465ed3b521edfbc9a670d451b4ad67109afb78c5d75728efd
#
# GpgEX
#
# last-changed: 2022-11-18
# by: ah
# verified: distsigkey.gpg
#file gpgex/gpgex-1.0.10-beta5.tar.bz2
#chk f7e4c619aefed02dfbb07363a4435878a50999b290c60779e670fceb826e283e
#
# GnuPG utilities
#
server http://www.jabberwocky.com/software/paperkey
# last-changed: 2017-12-05
# by: ah
# verified: SIG 7D92 FD31 3AB6 F373 4CC5 9CA1 DB69 8D71 9924 2560
file paperkey-1.5.tar.gz
chk c4737943083ce92e41faf13c27a9d608105b6285c0840dfb684a7ee294142ddf
#
# Kleopatra and dependencies
#
# Qt base
# last changed: 2023-05-08
# by: ah
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.9/submodules/qtbase-everywhere-opensource-src-5.15.9.tar.xz.sha256
server http://download.qt.io/official_releases/qt/
name qtbase-5.15.9.tar.xz
file 5.15/5.15.9/submodules/qtbase-everywhere-opensource-src-5.15.9.tar.xz
chk 1947deb9d98aaf46bf47e6659b3e1444ce6616974470523756c082041d396d1e
# Qt Tools
# last changed: 2023-05-08
# by: ah
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.9/submodules/qttools-everywhere-opensource-src-5.15.9.tar.xz.sha256
name qttools-5.15.9.tar.xz
file 5.15/5.15.9/submodules/qttools-everywhere-opensource-src-5.15.9.tar.xz
chk 40dce7845bc156dce7878b304e05b19f1ce7dedd4221c67af3bdf0138196006d
# Qt Winextras
# last changed: 2023-05-08
# by: ah
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.9/submodules/qtwinextras-everywhere-opensource-src-5.15.9.tar.xz.sha256
name qtwinextras-5.15.9.tar.xz
file 5.15/5.15.9/submodules/qtwinextras-everywhere-opensource-src-5.15.9.tar.xz
chk ea5107105b2072ea7194c16cc0721212f28f77c484ce38b370aaa78bfca45798
# Qt X11 extras
# last changed: 2021-09-20
# by: ik
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.9/submodules/qtx11extras-everywhere-opensource-src-5.15.9.tar.xz.sha256
name qtx11extras-5.15.9.tar.xz
file 5.15/5.15.9/submodules/qtx11extras-everywhere-opensource-src-5.15.9.tar.xz
chk 7ba3123de7b4ff87d02f513ffa1e4c4284e8f882563d114f29cb98d4c00fcbdb
# Qt WaylandClient
# last changed: 2021-09-21
# by: ik
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.9/submodules/qtwayland-everywhere-opensource-src-5.15.9.tar.xz.sha256
name qtwayland-5.15.9.tar.xz
file 5.15/5.15.9/submodules/qtwayland-everywhere-opensource-src-5.15.9.tar.xz
chk b719baf33068f3b92309ac610c3b7ed70edb5bf1e8fa07eefc7cbae6ab6a3c12
# Qt svg
# last changed: 2023-05-08
# by: ah
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.9/submodules/qtsvg-everywhere-opensource-src-5.15.9.tar.xz.sha256
name qtsvg-5.15.9.tar.xz
file 5.15/5.15.9/submodules/qtsvg-everywhere-opensource-src-5.15.9.tar.xz
chk 881f75d3c4a29a4ef88202763115c19d4869af2638227e9c3474e422639abb5a
# Qt translations
# last changed: 2023-05-08
# by: ah
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.9/submodules/qttranslations-everywhere-opensource-src-5.15.9.tar.xz.sha256
name qttranslations-5.15.9.tar.xz
file 5.15/5.15.9/submodules/qttranslations-everywhere-opensource-src-5.15.9.tar.xz
chk 35f4c4496e8a1f0605b3fb2e28c4b08e191796c9c03c32175a608e9c4dc4bb60
# KDE Frameworks generated by gen-frameworks.sh
# When outdated activate this link:
#server https://download.kde.org/Attic/frameworks/
server https://download.kde.org/stable/frameworks
##### Paste Here #####
#
# Don't forget to update gpg4win.mk.in with new version numbers
#
# extra-cmake-modules
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/extra-cmake-modules-5.104.0.tar.xz
chk e49eb21fdb66634b84cccbf6ba65eae3f8e0eee0dc72d50f627280f49df585d9
# kconfig
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kconfig-5.104.0.tar.xz
chk b8e7a6b7b0e78e3eb01755a965d893bd95c231befeff10479243e5a182ec2938
# ki18n
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/ki18n-5.104.0.tar.xz
chk fe815b9e28c680fa472c7ab56e4d7934a8915f19409734a13433797a4be14ee1
# kwidgetsaddons
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kwidgetsaddons-5.104.0.tar.xz
chk 4abbb552cd43e51ad2070d8780ca7112e2c9771c2258734ae4a97712b9123120
# kcompletion
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kcompletion-5.104.0.tar.xz
chk b0ed0246871283df04c62f0df2b221e32911cb4d292d5ae42f860958032eb510
# kwindowsystem
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kwindowsystem-5.104.0.tar.xz
chk 6b10ee354ebb7d2dfd6baa1374929d30811f8169c8233e55849e31e38e6af81a
# kcoreaddons
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kcoreaddons-5.104.0.tar.xz
chk ed760d4a7fed6c03480dcc3cfe621a49ac5ca9853c846080afe393f7ce794e40
# kcodecs
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kcodecs-5.104.0.tar.xz
chk 7ec909f6865eba87a99b046a9aeaa6a83c01308ad1dda87be3f69e91a7909d6b
# kconfigwidgets
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kconfigwidgets-5.104.0.tar.xz
chk eb9014b813a1c8a18c78ef11be296964b31338e5237080a74234bf97ead64522
# kdbusaddons
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kdbusaddons-5.104.0.tar.xz
chk 4c6add0481c407bc3768729e27e8644feba748c333872e62aaa3260338fd56b4
# kxmlgui
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kxmlgui-5.104.0.tar.xz
chk f45d5a5411b3ca0197c1e4720c27c7d85e351aeee03aca861066e8db3c7c93e6
# kguiaddons
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kguiaddons-5.104.0.tar.xz
chk fb8d8de25b684af6f9e9e893912664a18231486ac995d2522676018c3e93840d
# kitemviews
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kitemviews-5.104.0.tar.xz
chk 94920dc68c187319fa79c64e194e9ebecaef8c97fc4bd6aba342c18bc75a48bc
# kitemmodels
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kitemmodels-5.104.0.tar.xz
chk 0bac2fe2fc607443e3332911655ced5dd309e346f2f6a2ff3f29b2f45b7b18d7
# kiconthemes
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kiconthemes-5.104.0.tar.xz
chk 70f4d9f950acdaa28b539838226ed1cff7e70cdcf177272185bac7c75a6cccdf
# breeze-icons
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/breeze-icons-5.104.0.tar.xz
chk ff2dacc3fb6f1c7acd378638329f2e5b5fc4fdb3dab1321716d2d54b32eaae6a
# karchive
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/karchive-5.104.0.tar.xz
chk b62f3dfe68691ad2917d0592d66ffc02cfbcc7571b7d1fb1d3fadd695534fd2e
# kcrash
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kcrash-5.104.0.tar.xz
chk 12d6004f9e2e51a9d74f044462753dd7410e10a40a1f6b07727dcd5b52a7ea96
# kio
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kio-5.104.0.tar.xz
chk 5a8b93a5de72406fc4cc7b9aa4715be6d1d5264e617b26be257f5d0e26dde310
# kbookmarks
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kbookmarks-5.104.0.tar.xz
chk 85e565590233cfc6dc8c3459717c327961e79c74199d4d1c2741b40946936354
# kservice
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kservice-5.104.0.tar.xz
chk 215b109738ea5a10f97c4abbd3c9b9da58c826127708eddd34af345b4e8ad8a3
# solid
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/solid-5.104.0.tar.xz
chk 2a9a33bc71b4cafec35b9692bd7681a736eeb4e4b81c25f5bd87dbec38c143cf
# kjobwidgets
# last changed: 2023-03-22
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kjobwidgets-5.104.0.tar.xz
chk 3b254124d3bf20666a514710fef8990325da2ade14f49368b1bed1256eb8fea1
# threadweaver
# last changed: 2023-04-19
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/threadweaver-5.104.0.tar.xz
chk 963decfdf0cf780406eb585efdb213539a00cd16ae4dff2b2ffe8822a609a647
# kparts
# last changed: 2023-04-19
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/kparts-5.104.0.tar.xz
chk 66a40646cc4890669991cc63d33803ec335b0c08b7aeb0476b2a852951e700cd
# ktextwidgets
# last changed: 2023-05-08
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/ktextwidgets-5.104.0.tar.xz
chk 48fe28cbe8a54b1227a0ce502c3f4534e46789a4988db44b2e5f362ee2e17dea
# sonnet
# last changed: 2023-05-08
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.104/sonnet-5.104.0.tar.xz
chk 17276e51f0f4ac2f8745796db135d3143f2f91ee3fc8fb823c94072de5c0b953
+# kauth
+# last changed: 2023-06-05
+# by: ikloecker
+# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
+file 5.104/kauth-5.104.0.tar.xz
+chk 614086598e66c1f136e5a6296f358548509e0e868f62a03c97ade73d9b7d581e
+
### END PASTE ###
server http://download.kde.org/stable/release-service/
# kmime
# last changed: 2022-02-01
# by: ah
# verified: PGP Sig D81C0CB38EB725EF6691C385BB463350D6EF31EF
#file 21.12.1/src/kmime-21.12.1.tar.xz
#chk c1f4c06c61f6b4ddde7395b1cfb1f2411a32638e09c6f0a58c6557a7dffe4120
#
# Snapshots stored on the GnuPG server
#
server https://gnupg.org/ftp/gcrypt/snapshots
# gpgex
# last changed: 2022-12-06
# by: aheinecke
# verified: Tarball created by aheinecke.
file gpgex/gpgex-1.0.10-beta5.tar.xz
chk 2c227634528ef76bcca7fd4b7fe5c38a535f6e68bbe5b2cdc6cc4a74810b2dba
# gpg4win-tools
# last changed: 2022-08-29
# by: aheinecke
# verified: Tarball created by aheinecke.
file gpg4win-tools/gpg4win-tools-202208290924.tar.xz
chk fe20b69d84893618625d76e55f772477a80628da98411c8bb9c1a5e01028b3f9
# kmime
# last changed: 2023-03-22
# by: aheinecke
# verified: Tarball created by aheinecke.
file kmime/kmime-202303221649.tar.xz
chk 0a26c6b7a1b921191e52ee17d8d131f606a1def9ed09e31074a1c7aed5c4c6b7
# libkleo
# last changed: 2023-06-05
# by: aheinecke
# verified: Tarball created by aheinecke.
file libkleo/libkleo-202306051058.tar.xz
chk 6dce5cbf864f20fd50c69d03cf6300b21b2a8d3a26f1c79b6b5d21d4a97c32da
# kleopatra
# last changed: 2023-06-05
# by: aheinecke
# verified: Tarball created by aheinecke.
file kleopatra/kleopatra-202306051115.tar.xz
chk 2b32e6ae78a4989d91b68e4201ae077554e3abc66d4b6cb7910eff57e38b8dcd
# Okular and dependencies
# poppler
# last changed: 2023-05-31
# by: aheinecke
# verified: Tarball created by aheinecke.
file poppler/poppler-202305311402.tar.xz
chk cb86be10bb3f3f937e0bcba1adca74f0d0b610fd1072b409ea558c2af6882566
# okular
# last changed: 2023-05-31
# by: aheinecke
# verified: Tarball created by aheinecke.
file okular/okular-202305311441.tar.xz
chk 8645ebfc9cbd359daf2505de09d919f0cc89cf42b6bb6530a87b560f7d189397
diff --git a/src/appimage/Makefile.am b/src/appimage/Makefile.am
index 9821ad82..1ab05191 100644
--- a/src/appimage/Makefile.am
+++ b/src/appimage/Makefile.am
@@ -1,208 +1,212 @@
# Makefile.am - Makefile for building AppImage of Kleopatra
# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2021 g10 Code GmbH
#
# Software engineering by Ingo Klöcker
#
# This file is part of Gpg4win.
#
# Gpg4win is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# Gpg4win is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see .
#
# SPDX-License-Identifier: GPL-2.0+
EXTRA_DIST = AppRun start-shell build-appimage.sh
SUBDIRS = rsync-filters
root := /build
stampdir := $(root)/stamps
# Source packages for the AppImage (see also ../src/Makefile.am)
appimage_spkgs = sqlite libgpg-error libassuan npth libgcrypt libksba gnupg \
pinentry gpgme paperkey ntbtls
appimage_pkg_libgpg_error_configure = --enable-install-gpg-error-config
# Qt packages for the AppImage
appimage_qtpkgs = qtbase qttools qtx11extras qtwayland qtsvg qttranslations
# KDE packages for the AppImage
appimage_kdepkgs = kconfig kwidgetsaddons ki18n extra-cmake-modules \
kcompletion kwindowsystem kcoreaddons libkleo kcodecs \
kmime kconfigwidgets kxmlgui kguiaddons kitemviews \
kiconthemes kleopatra breeze-icons kitemmodels karchive \
- kcrash kdbusaddons
+ kcrash kdbusaddons kio kbookmarks kservice solid \
+ kjobwidgets \
+ sonnet ktextwidgets kauth
# Binary packages for the AppImage
# appimage_bpkgs =
appimage_pkg_gpgme_configure = --enable-languages=cpp,qt \
--disable-gpg-test \
--disable-gpgsm-test
# TODO: Disable Qt Sql?
# TODO: Disable Qt Testlib?
appimage_pkg_qtbase_configure = ../$$$${pkg_version}/configure -opensource \
-confirm-license \
-platform linux-g++ \
-release \
-shared \
-prefix $$$${pkgidir} \
-I '$(idir)/include' \
-L '$(idir)/lib' \
-opengl desktop \
-no-glib \
-accessibility \
-nomake examples \
-nomake tests \
-no-sql-mysql \
-no-sql-sqlite \
-no-sql-odbc \
-no-sql-psql \
-no-sql-tds \
-qt-harfbuzz \
-v \
-xcb \
OPENSSL_INCDIR=/usr/include/openssl11
define appimage_pkg_qtbase_post_install
(cd $$$${pkgbdir}; \
make install;)
endef
appimage_pkg_qttools_configure = \
"$(idir)/bin/qmake" ../$$$${pkg_version}
define appimage_pkg_qttools_post_install
(cd $$$${pkgbdir}; \
mkdir -p $$$${pkgidir}; \
cp -r bin lib include $$$${pkgidir})
endef
appimage_pkg_qtx11extras_configure = \
"$(idir)/bin/qmake" ../$$$${pkg_version}
define appimage_pkg_qtx11extras_post_install
(cd $$$${pkgbdir}; \
mkdir -p $$$${pkginstallroot}; \
make install INSTALL_ROOT=$$$${pkginstallroot}; \
mkdir -p $$$${pkgidir}; \
mv $$$${pkgbladir}/* $$$${pkgidir}; \
rm -rf $$$${pkginstallroot};)
endef
appimage_pkg_qtwayland_configure = \
"$(idir)/bin/qmake" ../$$$${pkg_version}
define appimage_pkg_qtwayland_post_install
(cd $$$${pkgbdir}; \
mkdir -p $$$${pkginstallroot}; \
make install INSTALL_ROOT=$$$${pkginstallroot}; \
mkdir -p $$$${pkgidir}; \
mv $$$${pkgbladir}/* $$$${pkgidir}; \
rm -rf $$$${pkginstallroot};)
endef
appimage_pkg_qtsvg_configure = \
"$(idir)/bin/qmake" ../$$$${pkg_version}
# XXX Adding the qtconf after qtsvg is a weird hack
# because somhow (yay qmake) zlib is not linked if
# the qt conf exists before that. The qt conf is
# needed for qttranslations to find the correct path
# of the translation tools.
define appimage_pkg_qtsvg_post_install
(cd $$$${pkgbdir}; \
mkdir -p $$$${pkgidir}; \
cp -r lib include plugins $$$${pkgidir}; \
mkdir -p $$$${pkgidir}/bin; \
echo "[Paths]" > $$$${pkgidir}/bin/qt.conf; \
echo "Prefix = .." >> $$$${pkgidir}/bin/qt.conf)
endef
appimage_pkg_qttranslations_configure = \
"$(idir)/bin/qmake" ../$$$${pkg_version}
define appimage_pkg_qttranslations_post_install
( rm -rf $$$${pkgidir}/translations; \
mkdir -p $$$${pkgidir}; \
cp -r $$$${pkgbdir}/translations $$$${pkgidir}/translations;)
endef
# do not create the huge icon resource files
appimage_pkg_breeze_icons_configure = -DBINARY_ICONS_RESOURCE=OFF
appimage_pkg_kcompletion_configure = \
-DBUILD_DESIGNERPLUGIN=OFF
appimage_pkg_kconfigwidgets_configure = \
-DBUILD_DESIGNERPLUGIN=OFF
appimage_pkg_kconfig_configure = -DKCONFIG_USE_DBUS=OFF -DKCONFIG_USE_QML=OFF
appimage_pkg_kguiaddons_configure = -DWITH_WAYLAND=OFF
+appimage_pkg_sonnet_configure = -DSONNET_USE_QML=OFF
+
appimage_pkg_ki18n_configure = -DBUILD_WITH_QML=OFF
appimage_pkg_kiconthemes_configure = \
-DBUILD_DESIGNERPLUGIN=OFF
appimage_pkg_kitemviews_configure = \
-DBUILD_DESIGNERPLUGIN=OFF
appimage_pkg_kwidgetsaddons_configure = \
-DBUILD_DESIGNERPLUGIN=OFF
# FIXME: Uses spaces in distribution text
appimage_pkg_kxmlgui_configure = \
-DBUILD_DESIGNERPLUGIN=OFF \
-DFORCE_DISABLE_KGLOBALACCEL=ON \
-DXMLGUI_DISTRIBUTION_TEXT=g10_Code_GmbH_AppImage
appimage_pkg_libkleo_configure = \
-DBOOST_INCLUDEDIR=/usr/include/boost169 \
-DBOOST_LIBRARYDIR=/usr/lib64/boost169
appimage_pkg_kleopatra_configure = \
-DBOOST_INCLUDEDIR=/usr/include/boost169 \
-DBOOST_LIBRARYDIR=/usr/lib64/boost169 \
-DDISABLE_KWATCHGNUPG=ON \
-DRELEASE_SERVICE_VERSION=AppImage-$(VERSION)
########################################################################
# Now do the bunch of the work. This is a bunch of dirty magic to
# integrate our special makefile into automake, while not actually
# including it (make should include it). This is in turn necessary
# because automake can't deal with the elegant magic in the actual
# Makefile.
define INCLUDE_BY_MAKE
include $(1)
endef
$(eval $(call INCLUDE_BY_MAKE,appimage.mk))
clean-local: clean-appimage
license.blurb: $(top_srcdir)/doc/license-page $(top_srcdir)/doc/GPLv3
cat $(top_srcdir)/doc/license-page $(top_srcdir)/doc/GPLv3 >$@
all-local: $(stampdir)/stamp-final
@echo "###################################################"
@echo " AppDir prepared successfully for the AppImage!"
@echo " Now run linuxdeploy to create the AppImage."
@echo "###################################################"