Page Menu
Home
GnuPG
Search
Configure Global Search
Log In
Files
F34252403
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Size
160 KB
Subscribers
None
View Options
diff --git a/configure.ac b/configure.ac
index 519112a5..afaa8e52 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,550 +1,547 @@
# 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 <http://www.gnu.org/licenses/>.
# (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.
# BUILDTYPE can be used to build the VSD or GPD versions. Note that
# IS_VSD_BUILD is set along with IS_GPD_BUILD.
m4_define([mym4_package],[gpg4win])
m4_define([mym4_isvsd],[no])
m4_define([mym4_isgpd],[no])
m4_define([mym4_buildtype],
m4_chomp_all(m4_esyscmd([(cat packages/BUILDTYPE 2>/dev/null\
|| echo default)])))
m4_if(mym4_buildtype,[vsd],[m4_define([mym4_isvsd],[yes])])
# For VSD we use a different version number.
m4_if(mym4_isvsd,yes,
[m4_define([mym4_major],[3])
m4_define([mym4_minor],[3])
m4_define([mym4_micro],[0])],
[m4_define([mym4_major],[4])
m4_define([mym4_minor],[4])
m4_define([mym4_micro],[1])])
# We need to set isgpd only after having set the version number.
m4_if(mym4_buildtype,[gpd],[m4_define([mym4_isvsd],[yes])
m4_define([mym4_isgpd],[yes])])
# 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))
m4_define([mym4_commitid], m4_argn(9, mym4_verslist))
m4_esyscmd([echo ]mym4_version[>VERSION])
m4_esyscmd([echo ]mym4_commitid[>>VERSION])
AC_INIT([mym4_package],[mym4_version],[https://bugs.gnupg.org])
PACKAGE=$PACKAGE_NAME
VERSION=$PACKAGE_VERSION
BUILD_COMMITID="mym4_commitid"
GIT_REVISION=mym4_revision
GIT_REVISION_DEC=mym4_revision_dec
GIT_BETASTRING=mym4_betastr
IS_BETA_BUILD=mym4_isbeta
IS_VSD_BUILD=mym4_isvsd
IS_GPD_BUILD=mym4_isgpd
# Variables for the version info
PRODUCT_NAME=m4_if(mym4_isvsd, [yes], ["GnuPG VS-Desktop"],
m4_if(mym4_isgpd, [yes], ["GnuPG Desktop"], ["Gpg4win"]))
COMPANY_NAME=m4_if(mym4_buildtype, [default],
["Gpg4win Community"], ["g10 Code GmbH"])
# Early sanity checks and dirs
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
AC_CONFIG_HEADERS([config.h])
# Language support
AM_PO_SUBDIRS
AC_SUBST(PRODUCT_NAME)
AC_SUBST(COMPANY_NAME)
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_SUBST(GIT_BETASTRING)
AC_SUBST(IS_BETA_BUILD)
AC_SUBST(IS_VSD_BUILD)
AC_SUBST(IS_GPD_BUILD)
AC_SUBST(BUILD_COMMITID)
# 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}"
BUILD_FILEVERSION_TR=`echo "${BUILD_FILEVERSION}" | tr . ,`
BUILD_BETANUM=`echo "${GIT_BETASTRING}" | sed 's/-beta//'`
AC_SUBST(BUILD_BETANUM)
AC_SUBST(BUILD_TIMESTAMP)
AC_SUBST(BUILD_ISODATE)
AC_SUBST(BUILD_FILEVERSION)
AC_SUBST(BUILD_FILEVERSION_TR)
# 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)
# Additionaly enable building gpgex for another host
AC_ARG_WITH([additional-gpgex-host],
AS_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,
AS_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(MSGFMT, msgmerge)
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_candidates="/usr/lib/x86_64-linux-gnu/cmake /usr/lib64/cmake"
for i in $kf5_host_tooling_candidates; do
if test -f "$i/KF5Config/KF5ConfigConfig.cmake"; then
kf5_host_tooling="$i"
break;
fi
done
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, REQUIRED)
GPG4WIN_RUNTIME_LIBRARY(libwinpthread-1, REQUIRED)
# This is only required if you also use the pthread flavor for x64
GPG4WIN_RUNTIME_LIBRARY_X64(libwinpthread-1)
# One of these is required
GPG4WIN_RUNTIME_LIBRARY(libgcc_s_dw2-1)
GPG4WIN_RUNTIME_LIBRARY(libgcc_s_sjlj-1)
if [ ! test -s "src/libgcc_s_dw2-1.dll-x" -o -s "src/libgcc_s_sjlj-1.dll-x" ]; then
AC_MSG_ERROR(No exception library found. Please check what your system
uses and see above message about either dw2 or sjlj
dlls.)
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])
- GPG4WIN_KDEPKG([gpgmepp], [gpgme])
- GPG4WIN_KDEPKG([qgpgme], [gpgmepp qtbase])
- GPG4WIN_SPKG([gpgol], [gpgmepp libassuan])
+ 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])
GPG4WIN_SPKG([qrencode], [libpng libiconv])
# Packages needed for gpgex
GPG4WIN_SPKGEX([libgpg-error])
GPG4WIN_SPKGEX([libassuan], [libgpg-error])
GPG4WIN_SPKGEX([gpgex], [libassuan])
GPG4WIN_SPKGEX([gpgme], [libgpg-error libassuan])
- GPG4WIN_CMKPKGEX([gpgmepp], [gpgme])
- GPG4WIN_SPKGEX([gpgol], [gpgmepp])
+ 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], [jpeg zlib libpng freetype pcre2])
GPG4WIN_SPKG([qttools], [qtbase])
GPG4WIN_SPKG([qttranslations], [qtsvg qttools qtwinextras])
GPG4WIN_SPKG([qtwinextras], [qtbase])
GPG4WIN_SPKG([qtsvg], [qtbase])
GPG4WIN_KDEPKG([tiff])
GPG4WIN_KDEPKG([pcre2])
GPG4WIN_KDEPKG([openjpeg], [tiff jpeg])
GPG4WIN_KDEPKG([breeze-icons], [extra-cmake-modules qtbase])
GPG4WIN_KDEPKG([kleopatra], [mimetreeparser 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([kmbox], [kmime])
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 qgpgme])
- GPG4WIN_KDEPKG([gpg4win-tools], [libkleo qgpgme])
+ 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 gpgmepp kio qtbase freetype])
+ GPG4WIN_KDEPKG([poppler], [libpng openjpeg tiff gpgme kio qtbase freetype])
GPG4WIN_KDEPKG([kparts], [kio kservice kxmlgui kconfigwidgets kwidgetsaddons ktextwidgets])
- GPG4WIN_KDEPKG([okular], [kparts gpgmepp kio poppler threadweaver qtsvg])
+ GPG4WIN_KDEPKG([okular], [kparts gpgme kio poppler threadweaver qtsvg])
GPG4WIN_KDEPKG([libical])
GPG4WIN_KDEPKG([kcalendarcore], [qtbase libical extra-cmake-modules])
GPG4WIN_KDEPKG([mimetreeparser], [libkleo kwidgetsaddons ki18n kmbox kmime kcodecs kcalendarcore])
GPG4WIN_KDEPKG([prison], [qtbase extra-cmake-modules qrencode])
- GPG4WIN_KDEPKG([gpgpass], [prison kio kconfigwidgets kiconthemes ki18n qgpgme])
+ GPG4WIN_KDEPKG([gpgpass], [prison kio kconfigwidgets kiconthemes ki18n gpgme])
GPG4WIN_FINALIZE
fi
# Packages for the AppImage
if test "$build_appimage" = yes ; then
appimage_dup_sources=""
APPIMAGE_SPKG([freetype])
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])
APPIMAGE_KDEPKG([gpgmepp], [gpgme])
APPIMAGE_KDEPKG([qgpgme], [gpgmepp 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], [freetype 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])
APPIMAGE_KDEPKG([threadweaver], [qtbase extra-cmake-modules])
# KDE Frameworks Tier 2
APPIMAGE_KDEPKG([kactivities], [kwindowsystem])
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([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])
APPIMAGE_KDEPKG([kparts], [kio kservice kxmlgui kconfigwidgets kwidgetsaddons ktextwidgets])
# KDE PIM
APPIMAGE_KDEPKG([libical])
APPIMAGE_KDEPKG([kcalendarcore], [qtbase libical extra-cmake-modules])
APPIMAGE_KDEPKG([mimetreeparser], [libkleo kwidgetsaddons ki18n kmime kcodecs kcalendarcore kmbox])
APPIMAGE_KDEPKG([kmime], [kcodecs ki18n])
APPIMAGE_KDEPKG([kmbox], [kmime])
APPIMAGE_KDEPKG([libkleo], [kmime kconfigwidgets kwindowsystem kcompletion qgpgme])
APPIMAGE_KDEPKG([kleopatra], [mimetreeparser gnupg qgpgme breeze-icons kio kxmlgui libkleo kitemmodels qttranslations kdbusaddons])
# Okular/Poppler
APPIMAGE_KDEPKG([poppler], [gpgmepp kio qtbase freetype])
APPIMAGE_KDEPKG([okular], [kparts gpgmepp kio poppler threadweaver qtsvg kactivities])
# Gpgpass
APPIMAGE_SPKG([qrencode], [libpng libiconv])
APPIMAGE_KDEPKG([prison], [qtbase extra-cmake-modules qrencode])
APPIMAGE_KDEPKG([gpgpass], [prison kconfigwidgets kiconthemes ki18n qgpgme])
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(src/toolchain.cmake)
AC_CONFIG_FILES(src/toolchain-ex.cmake)
AC_CONFIG_FILES(src/appimage/Makefile src/appimage/appimage.mk)
AC_CONFIG_FILES(src/appimage/rsync-filters/Makefile)
AC_CONFIG_FILES(src/versioninfo.rc.in)
AC_CONFIG_FILES(src/gpg4win.w32-manifest.in)
AC_CONFIG_FILES(src/gccwrap.sh)
AC_OUTPUT_COMMANDS([chmod +x src/gccwrap.sh])
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})
Main platform : $host
Extra platform: ${GPGEX_ADD_HOST}
Distribution .: ${PRODUCT_NAME} (mym4_buildtype)
"
if test -n "$JOBS"; then
echo " make jobs ....: ${JOBS}"
else
echo ""
fi
diff --git a/doc/pkg-copyright.txt b/doc/pkg-copyright.txt
index 55688717..fead8886 100644
--- a/doc/pkg-copyright.txt
+++ b/doc/pkg-copyright.txt
@@ -1,1371 +1,1314 @@
Here is a list with collected copyright notices. For details see the
description of each individual package. This list is not meant as an
exhaustive list of copyright notices. Notices from several packages
are even not listed. The license with the most restrictive terms is
the GNU General Public License version 3 (GPLv3+); thus complying to
those terms and conditions will be sufficient. If in doubt check the
source code of the individual packages.
The installer is
Copyright (C) 2005-2013,2019-2023 g10 Code GmbH
2013-2018 Intevation GmbH
2015-2018 Bundesamt für Sicherheit in der Informationstechnik
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 <https://gnu.org/licenses/>.
GNUPG is
Copyright (C) 1997-2019 Werner Koch
Copyright (C) 1994-2021 Free Software Foundation, Inc.
Copyright (C) 2003-2023 g10 Code GmbH
Copyright (C) 2002 Klarälvdalens Datakonsult AB
Copyright (C) 1995-1997, 2000-2007 Ulrich Drepper <drepper@gnu.ai.mit.edu>
Copyright (C) 1994 X Consortium
Copyright (C) 1998 by The Internet Society.
Copyright (C) 1998-2004 The OpenLDAP Foundation
Copyright (C) 1998-2004 Kurt D. Zeilenga.
Copyright (C) 1998-2004 Net Boolean Incorporated.
Copyright (C) 2001-2004 IBM Corporation.
Copyright (C) 1999-2003 Howard Y.H. Chu.
Copyright (C) 1999-2003 Symas Corporation.
Copyright (C) 1998-2003 Hallvard B. Furuseth.
Copyright (C) 1992-1996 Regents of the University of Michigan.
Copyright (C) 2000 Dimitrios Souflis
Copyright (C) 2008,2009,2010,2012-2016 William Ahern
Copyright (C) 2017 Bundesamt für Sicherheit in der Informationstechnik
GnuPG 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 3 of the License, or
(at your option) any later version.
GnuPG 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 <https://www.gnu.org/licenses/>.
LIBGCRYPT is
Copyright (C) 2012-2023 g10 Code GmbH
Copyright (C) 2013-2018 Jussi Kivilinna
Copyright (C) 1989,1991-2019 Free Software Foundation, Inc.
Copyright (C) 1994 X Consortium
Copyright (C) 1996 L. Peter Deutsch
Copyright (C) 1997 Werner Koch
Copyright (C) 1998 The Internet Society
Copyright (C) 1996-1999 Peter Gutmann, Paul Kendall, and Chris Wedgwood
Copyright (C) 1996-2006 Peter Gutmann, Matt Thomlinson and Blake Coverett
Copyright (C) 2003 Nikos Mavroyanopoulos
Copyright (C) 2006-2007 NTT (Nippon Telegraph and Telephone Corporation)
Copyright (C) 2012 Simon Josefsson, Niels Möller
Copyright (c) 2012 Intel Corporation
Copyright (C) 2013 Christian Grothoff
Copyright (C) 2013-2014 Dmitry Eremin-Solenikov
Copyright (C) 2014 Stephan Mueller
Copyright (C) 2017 Bundesamt für Sicherheit in der Informationstechnik
Libgcrypt is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of
the License, or (at your option) any later version.
Libgcrypt 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this program; if not, see <http://www.gnu.org/licenses/>.
LIBGPG-ERROR is
Copyright (C) 2001-2023 g10 Code GmbH
Copyright (C) 1995-2017 Free Software Foundation, Inc.
Copyright (C) 1998-2006, 2008-2017 Werner Koch
Copyright (C) 2014 Jedi Lin
Libgpg-error is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 2.1 of
the License, or (at your option) any later version.
Libgpg-error 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>.
LIBASSUAN is
Copyright (C) 1992-2013 Free Software Foundation, Inc.
Copyright (C) 1994 X Consortium
Copyright (C) 2000 Werner Koch (dd9jn)
Copyright (C) 2001-2021 g10 Code GmbH
Copyright (C) 2004 Simon Josefsson
Libassuan is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of
the License, or (at your option) any later version.
Libassuan 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this program; if not, see <http://www.gnu.org/licenses/>.
LIBKSBA is
Copyright (C) 2001-2006, 2010-2015, 2018-2023 g10 Code GmbH
Copyright (C) 2001-2003, 2007 Free Software Foundation, Inc.
Copyright (C) 2000, 2001 Fabio Fiorina
The library and the header files are distributed under the following
terms (LGPLv3+/GPLv2+):
KSBA is free software; you can redistribute it and/or modify
it under the terms of either
- the GNU Lesser General Public License as published by the Free
Software Foundation; either version 3 of the License, or (at
your option) any later version.
or
- 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.
or both in parallel, as here.
KSBA 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.
The other parts (e.g. manual, build system, tests) are distributed
under the following terms (GPLv3):
KSBA 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 3 of the License, or
(at your option) any later version.
KSBA 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.
NPTH is
Copyright (C) 2011, 2012, 2014, 2015, 2017 g10 Code GmbH
nPth is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of
the License, or (at your option) any later version.
nPth 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this program; if not, see <https://www.gnu.org/licenses/>.
NTBTLS is
Copyright (C) 2006-2014 Brainspark B.V.
Copyright (C) 2014-2022 g10 Code GmbH
NTBTLS 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 3 of the License, or
(at your option) any later version.
NTBTLS 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 <http://www.gnu.org/licenses/>.
PINENTRY is
Copyright (C) 1999 Robert Bihlmeyer <robbe@orcus.priv.at>
Copyright (C) 2001-2004, 2007-2008, 2010, 2015-2016 g10 Code GmbH
Copyright (C) 2002, 2008 Klarälvdalens Datakonsult AB (KDAB)
Copyright (C) 2004 by Albrecht Dreß <albrecht.dress@arcor.de>
Copyright 2007 Ingo Klöcker
Copyright (C) 2014 Serge Voilokov
Copyright (C) 2015 Daiki Ueno
Copyright (C) 2015 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Copyright 2016 Intevation GmbH
PINENTRY 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.
PINENTRY 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 <https://www.gnu.org/licenses/>.
GPGME is
Copyright (C) 1991-2013 Free Software Foundation, Inc.
Copyright (C) 2000-2001 Werner Koch
Copyright (C) 2001-2023 g10 Code GmbH
Copyright (C) 2002 Klarälvdalens Datakonsult AB
Copyright (C) 2004-2008 Igor Belyi
Copyright (C) 2002 John Goerzen
Copyright (c) 2009 Dave Gamble
Copyright (C) 2014, 2015 Martin Albrecht
Copyright (C) 2015, 2018 Ben McGinnes
Copyright (C) 2015, 2016, 2018
Bundesamt für Sicherheit in der Informationstechnik
Copyright (C) 2016 Intevation GmbH
GPGME is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of
the License, or (at your option) any later version.
GPGME 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>.
-GPGME++ is
-
- Copyright (C) 1992-2022 Free Software Foundation, Inc.
- Copyright (C) 2000 Werner Koch
- Copyright (C) 2001-2024 g10 Code GmbH
- Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010
- Klarälvdalens Datakonsult AB
- Copyright (C) 2004-2016 several members of the KDE community
- (see git log of gpgmepp repository in KDE's git)
- Copyright (C) 2016, 2017
- Bundesamt für Sicherheit in der Informationstechnik
- Copyright (C) 2016, 2018 Intevation GmbH
-
-
- GPGME++ is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation; either version 2.1 of
- the License, or (at your option) any later version.
-
- GPGME++ 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with this program; if not, see <http://www.gnu.org/licenses/>.
-
-
-QGPGME is
-
- Copyright (C) 1992-2022 Free Software Foundation, Inc.
- Copyright (C) 2000 Werner Koch
- Copyright (C) 2001-2024 g10 Code GmbH
- Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010, 2016
- Klarälvdalens Datakonsult AB
- Copyright (C) 2004-2016 several members of the KDE community
- (see git log of gpgmepp, kdepimlibs and kdepim repositories
- in KDE's git)
- Copyright (C) 2016, 2017
- Bundesamt für Sicherheit in der Informationstechnik
- Copyright (C) 2016, 2017 Intevation GmbH
-
-
- QGPGME 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.
-
- QGPGME 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 <https://gnu.org/licenses/>.
-
-
NSIS is
Copyright 1999-2009 Nullsoft and Contributors
Copyright 2002-2008 Amir Szekely
Copyright 2003 Ramon
This license applies to everything in the NSIS package, except where
otherwise noted.
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
The user interface used with the installer is
Copyright 2002-2009 Joost Verburg
[It is distributed along with NSIS and the same conditions as stated
above apply]
TinySCHEME is part of the GnuPG package and is
Copyright (c) 2000, Dimitrios Souflis
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
Neither the name of Dimitrios Souflis nor the names of the
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
LIBDNS is part of the GnuPG package and is
Copyright (c) 2008, 2009, 2010, 2012-2016 William Ahern
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
ZLIB is
(C) 1995-2013 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Jean-loup Gailly Mark Adler
jloup@gzip.org madler@alumni.caltech.edu
BZIP2 is
This program, "bzip2", the associated library "libbzip2", and all
documentation, are copyright (C) 1996-2010 Julian R Seward. All
rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
3. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.
4. The name of the author may not be used to endorse or promote
products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SQLITE has
been put into the public-domain by its author D. Richard Hipp:
The author disclaims copyright to this source code. In place of
a legal notice, here is a blessing:
May you do good and not evil.
May you find forgiveness for yourself and forgive others.
May you share freely, never taking more than you give.
GPGEX is
Copyright (C) 2007-2023 g10 Code GmbH
GpgEX is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
GpgEX 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this program; if not, see <http://www.gnu.org/licenses/>.
GpgOL is
Copyright (C) 2004-2011,2019-2023 g10 Code GmbH
2015-2018 Bundesamt für Sicherheit in der Informationstechnik
2013-2018 Intevation GmbH
GpgOL is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
GpgOL 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this program; if not, see <http://www.gnu.org/licenses/>.
Mimetreeparser
Copyright 1998,1999,2000,2001,2002,2003 Free Software Foundation, Inc.
Copyright 2001,2002 the KPGP authors
Copyright 2002-2004,2009,2010 Klarälvdalens Datakonsult AB
Copyright 2002-2003 Karl-Heinz Zimmer
Copyright 2003,2004 Marc Mutz
Copyright 2004 Ingo Kloecker
Copyright 2006 Alexander Neundorf
Copyright 2009 Andras Mantia
Copyright 2009 Thomas McGuire
Copyright 2010 Leo Franchi
Copyright 2013,2015,2016 Sandro Knauß
Copyright 2015-2023 Laurent Montel
Copyright 2015 Volker Krause
Copyright 2016 Christian Mollekopf
Copyright 2016 Michael Bohlender
Copyright 2017-2019 Christian Mollekopf
Copyright 2017 Daniel Vrátil
Copyright 2021-2023 Carl Schwan
Copyright 2022 Devin Lin
Copyright 2023 Eloy Cuadra
Copyright 2023 Freek de Kruijf
Copyright 2023 g10 Code GmbH
Copyright 2023 Vincenzo Reale
Copyright 2023 Xavier BESNARD
This Program is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This Program 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this program; if not, see <http://www.gnu.org/licenses/>.
KMime
Copyright 2001-2002 the KMime authors.
Copyright 2001-2002 Marc Mutz
Copyright 2006-2015 Volker Krause
Copyright 2009 Constantin Berzan
Copyright 2009 Thomas McGuire
Copyright 2010 Leo Franchi
Copyright 2015 Albert Astals Cid
Copyright 2016 Daniel Vrátil
Copyright 2021-2023 Laurent Montel
This Program is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This Program 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this program; if not, see <http://www.gnu.org/licenses/>.
KMbox
Copyright 1996-1998 Stefan Taferner
Copyright 2009 Bertjan Broeksema
Copyright 2010 Tobias Koenig
Copyright 2014 Christophe Giboudeaux
Copyright 2016 Daniel Vrátil
Copyright 2021-2023 Laurent Montel
This Program is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This Program 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this program; if not, see <http://www.gnu.org/licenses/>.
Paperkey
Copyright (C) 2007, 2008, 2009 David Shaw <dshaw@jabberwocky.com>
This program 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.
This program 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, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA.
The included man page is
Copyright (C) 2007 Peter Palfrader <peter@palfrader.org>
Examples have been taken from David Shaw's README. The license is
the same as for Paperkey.
Scute
Copyright 2006, 2008 g10 Code GmbH
Scute is licensed under the GNU General Pubic License, either
version 2, or (at your option) any later version with this special
exception:
In addition, as a special exception, g10 Code GmbH gives permission
to link this library: with the Mozilla Foundation's code for
Mozilla (or with modified versions of it that use the same license
as the "Mozilla" code), and distribute the linked executables. You
must obey the GNU General Public License in all respects for all of
the code used other than "Mozilla". If you modify the software, you
may extend this exception to your version of the software, but you
are not obligated to do so. If you do not wish to do so, delete this
exception statement from your version and from all source files.
PCRE2
PCRE2 LICENCE
-------------
PCRE2 is a library of functions to support regular expressions whose syntax
and semantics are as close as possible to those of the Perl 5 language.
Releases 10.00 and above of PCRE2 are distributed under the terms of the "BSD"
licence, as specified below, with one exemption for certain binary
redistributions. The documentation for PCRE2, supplied in the "doc" directory,
is distributed under the same terms as the software itself. The data in the
testdata directory is not copyrighted and is in the public domain.
The basic library functions are written in C and are freestanding. Also
included in the distribution is a just-in-time compiler that can be used to
optimize pattern matching. This is an optional feature that can be omitted when
the library is built.
THE BASIC LIBRARY FUNCTIONS
---------------------------
Written by: Philip Hazel
Email local part: Philip.Hazel
Email domain: gmail.com
Retired from University of Cambridge Computing Service,
Cambridge, England.
Copyright (c) 1997-2022 University of Cambridge
All rights reserved.
PCRE2 JUST-IN-TIME COMPILATION SUPPORT
--------------------------------------
Written by: Zoltan Herczeg
Email local part: hzmester
Email domain: freemail.hu
Copyright(c) 2010-2022 Zoltan Herczeg
All rights reserved.
STACK-LESS JUST-IN-TIME COMPILER
--------------------------------
Written by: Zoltan Herczeg
Email local part: hzmester
Email domain: freemail.hu
Copyright(c) 2009-2022 Zoltan Herczeg
All rights reserved.
THE "BSD" LICENCE
-----------------
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notices,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notices, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the University of Cambridge nor the names of any
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES
------------------------------------------
The second condition in the BSD licence (covering binary redistributions) does
not apply all the way down a chain of software. If binary package A includes
PCRE2, it must respect the condition, but if package B is software that
includes package A, the condition is not imposed on package B unless it uses
PCRE2 independently.
Freetype
The FreeType Project LICENSE
----------------------------
2006-Jan-27
Copyright 1996-2002, 2006 by
David Turner, Robert Wilhelm, and Werner Lemberg
Introduction
============
The FreeType Project is distributed in several archive packages;
some of them may contain, in addition to the FreeType font engine,
various tools and contributions which rely on, or relate to, the
FreeType Project.
This license applies to all files found in such packages, and
which do not fall under their own explicit license. The license
affects thus the FreeType font engine, the test programs,
documentation and makefiles, at the very least.
This license was inspired by the BSD, Artistic, and IJG
(Independent JPEG Group) licenses, which all encourage inclusion
and use of free software in commercial and freeware products
alike. As a consequence, its main points are that:
o We don't promise that this software works. However, we will be
interested in any kind of bug reports. (`as is' distribution)
o You can use this software for whatever you want, in parts or
full form, without having to pay us. (`royalty-free' usage)
o You may not pretend that you wrote this software. If you use
it, or only parts of it, in a program, you must acknowledge
somewhere in your documentation that you have used the
FreeType code. (`credits')
We specifically permit and encourage the inclusion of this
software, with or without modifications, in commercial products.
We disclaim all warranties covering The FreeType Project and
assume no liability related to The FreeType Project.
Finally, many people asked us for a preferred form for a
credit/disclaimer to use in compliance with this license. We thus
encourage you to use the following text:
"""
Portions of this software are copyright © <year> The FreeType
Project (www.freetype.org). All rights reserved.
"""
Please replace <year> with the value from the FreeType version you
actually use.
Legal Terms
===========
0. Definitions
--------------
Throughout this license, the terms `package', `FreeType Project',
and `FreeType archive' refer to the set of files originally
distributed by the authors (David Turner, Robert Wilhelm, and
Werner Lemberg) as the `FreeType Project', be they named as alpha,
beta or final release.
`You' refers to the licensee, or person using the project, where
`using' is a generic term including compiling the project's source
code as well as linking it to form a `program' or `executable'.
This program is referred to as `a program using the FreeType
engine'.
This license applies to all files distributed in the original
FreeType Project, including all source code, binaries and
documentation, unless otherwise stated in the file in its
original, unmodified form as distributed in the original archive.
If you are unsure whether or not a particular file is covered by
this license, you must contact us to verify this.
The FreeType Project is copyright (C) 1996-2000 by David Turner,
Robert Wilhelm, and Werner Lemberg. All rights reserved except as
specified below.
1. No Warranty
--------------
THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO
USE, OF THE FREETYPE PROJECT.
2. Redistribution
-----------------
This license grants a worldwide, royalty-free, perpetual and
irrevocable right and license to use, execute, perform, compile,
display, copy, create derivative works of, distribute and
sublicense the FreeType Project (in both source and object code
forms) and derivative works thereof for any purpose; and to
authorize others to exercise some or all of the rights granted
herein, subject to the following conditions:
o Redistribution of source code must retain this license file
(`FTL.TXT') unaltered; any additions, deletions or changes to
the original files must be clearly indicated in accompanying
documentation. The copyright notices of the unaltered,
original files must be preserved in all copies of source
files.
o Redistribution in binary form must provide a disclaimer that
states that the software is based in part of the work of the
FreeType Team, in the distribution documentation. We also
encourage you to put an URL to the FreeType web page in your
documentation, though this isn't mandatory.
These conditions apply to any software derived from or based on
the FreeType Project, not just the unmodified files. If you use
our work, you must acknowledge us. However, no fee need be paid
to us.
3. Advertising
--------------
Neither the FreeType authors and contributors nor you shall use
the name of the other for commercial, advertising, or promotional
purposes without specific prior written permission.
We suggest, but do not require, that you use one or more of the
following phrases to refer to this software in your documentation
or advertising materials: `FreeType Project', `FreeType Engine',
`FreeType library', or `FreeType Distribution'.
As you have not signed this license, you are not required to
accept it. However, as the FreeType Project is copyrighted
material, only this license, or another one contracted with the
authors, grants you the right to use, distribute, and modify it.
Therefore, by using, distributing, or modifying the FreeType
Project, you indicate that you understand and accept all the terms
of this license.
4. Contacts
-----------
There are two mailing lists related to FreeType:
o freetype@nongnu.org
Discusses general use and applications of FreeType, as well as
future and wanted additions to the library and distribution.
If you are looking for support, start in this list if you
haven't found anything to help you in the documentation.
o freetype-devel@nongnu.org
Discusses bugs, as well as engine internals, design issues,
specific licenses, porting, etc.
Our home page can be found at
https://www.freetype.org
LibPNG
PNG Reference Library License version 2
---------------------------------------
* Copyright (c) 1995-2023 The PNG Reference Library Authors.
* Copyright (c) 2018-2023 Cosmin Truta.
* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
* Copyright (c) 1996-1997 Andreas Dilger.
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
The software is supplied "as is", without warranty of any kind,
express or implied, including, without limitation, the warranties
of merchantability, fitness for a particular purpose, title, and
non-infringement. In no event shall the Copyright owners, or
anyone distributing the software, be liable for any damages or
other liability, whether in contract, tort or otherwise, arising
from, out of, or in connection with the software, or the use or
other dealings in the software, even if advised of the possibility
of such damage.
Permission is hereby granted to use, copy, modify, and distribute
this software, or portions hereof, for any purpose, without fee,
subject to the following restrictions:
1. The origin of this software must not be misrepresented; you
must not claim that you wrote the original software. If you
use this software in a product, an acknowledgment in the product
documentation would be appreciated, but is not required.
2. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.
3. This Copyright notice may not be removed or altered from any
source or altered source distribution.
JPEG
The authors make NO WARRANTY or representation, either express or implied,
with respect to this software, its quality, accuracy, merchantability, or
fitness for a particular purpose. This software is provided "AS IS", and you,
its user, assume the entire risk as to its quality and accuracy.
This software is copyright (C) 1991-2022, Thomas G. Lane, Guido Vollbeding.
All Rights Reserved except as specified below.
Permission is hereby granted to use, copy, modify, and distribute this
software (or portions thereof) for any purpose, without fee, subject to these
conditions:
(1) If any part of the source code for this software is distributed, then this
README file must be included, with this copyright and no-warranty notice
unaltered; and any additions, deletions, or changes to the original files
must be clearly indicated in accompanying documentation.
(2) If only executable code is distributed, then the accompanying
documentation must state that "this software is based in part on the work of
the Independent JPEG Group".
(3) Permission for use of this software is granted only if the user accepts
full responsibility for any undesirable consequences; the authors accept
NO LIABILITY for damages of any kind.
These conditions apply to any software derived from or based on the IJG code,
not just to the unmodified library. If you use our work, you ought to
acknowledge us.
Permission is NOT granted for the use of any IJG author's name or company name
in advertising or publicity relating to this software or products derived from
it. This software may be referred to only as "the Independent JPEG Group's
software".
We specifically permit and encourage the use of this software as the basis of
commercial products, provided that all warranty or liability claims are
assumed by the product vendor.
The Unix configuration script "configure" was produced with GNU Autoconf.
It is copyright by the Free Software Foundation but is freely distributable.
The same holds for its supporting scripts (config.guess, config.sub,
ltmain.sh). Another support script, install-sh, is copyright by X Consortium
but is also freely distributable.
LibTIFF
LibTIFF license
Copyright © 1988-1997 Sam Leffler\
Copyright © 1991-1997 Silicon Graphics, Inc.
Permission to use, copy, modify, distribute, and sell this software and
its documentation for any purpose is hereby granted without fee, provided
that (i) the above copyright notices and this permission notice appear in
all copies of the software and related documentation, and (ii) the names of
Sam Leffler and Silicon Graphics may not be used in any advertising or
publicity relating to the software without the specific, prior written
permission of Sam Leffler and Silicon Graphics.
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
OF THIS SOFTWARE.
Openjpeg
The copyright in this software is being made available under the 2-clauses
BSD License, included below. This software may be subject to other third
party and contributor rights, including patent rights, and no such rights
are granted under this license.
Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
Copyright (c) 2002-2014, Professor Benoit Macq
Copyright (c) 2003-2014, Antonin Descampe
Copyright (c) 2003-2009, Francois-Olivier Devaux
Copyright (c) 2005, Herve Drolon, FreeImage Team
Copyright (c) 2002-2003, Yannick Verschueren
Copyright (c) 2001-2003, David Janssens
Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France
Copyright (c) 2012, CS Systemes d'Information, France
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Gettext
Copyright (C) 1995-1998, 2000-2002, 2004-2006,
2009-2020 Free Software Foundation, Inc.
Lincese for the libintl.h and libasprintf library:
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This program 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
Lesser General Public License for more details.
License for all other parts:
This program 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 3 of the License, or
(at your option) any later version.
This program 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 <https://www.gnu.org/licenses/>.
The Breeze Icon Theme
Copyright (C) 2014 Uri Herrera <uri_herrera@nitrux.in> and others
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
Clarification:
The GNU Lesser General Public License or LGPL is written for
software libraries in the first place. We expressly want the LGPL to
be valid for this artwork library too.
KDE Breeze theme icons is a special kind of software library, it is an
artwork library, it's elements can be used in a Graphical User Interface, or
GUI.
Source code, for this library means:
- where they exist, SVG;
- otherwise, if applicable, the multi-layered formats xcf or psd, or
otherwise png.
The LGPL in some sections obliges you to make the files carry
notices. With images this is in some cases impossible or hardly useful.
With this library a notice is placed at a prominent place in the directory
containing the elements. You may follow this practice.
The exception in section 5 of the GNU Lesser General Public License covers
the use of elements of this art library in a GUI.
https://vdesign.kde.org/
libical
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of
the License, or (at your option) any later version.
This program 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this program; if not, see <http://www.gnu.org/licenses/>.
Copyright 1984, 1989-1991, 1999-2006 Free Software Foundation, Inc.
Copyright 1986-2000 Hiram Clawson
Copyright 1994 Gisle Hannemyr
Copyright 1995-1998 The University of Utah
and The Regents of the University of California.
Copyright 1996 Apple Computer,
Copyright 1996 Apple Computer, Inc., AT&T Corp., International
Copyright 1999-2001,2008 Eric Busboom
Copyright 1999 The Software Studio
Copyright 2000,2002 Andrea Campi
Copyright 2001,2002 Critical Path
Copyright 2001 Damon Chaplin
Copyright 2001 Patrick Lewis
Copyright 2001 Ximian, Inc.
Copyright 2001-2006, NLnet Labs
Copyright 2002 Paul Lindner
Copyright 2007 Novell, Inc.
Copyright 2009 Johns Hopkins University (JHU)
Copyright 2010 Glenn Washburn
Copyright 2010-2011 Ethan Rublee
Copyright 2010-2018 Klaralvdalens Datakonsult AB.
Copyright 2010 Andreas Holzammer
Copyright 2010 Pino Toscano
Copyright 2011-2014 Andrey Kamaev
Copyright 2014 Milan Crha
Copyright 2015 William Yu
Copyright 2017,2019 Red Hat, Inc.
libiconv
Copyright 1999-2003, 2005-2006, 2008-2011 Free Software Foundation, Inc.
This file is part of the GNU LIBICONV Library.
The GNU LIBICONV Library is free software; you can redistribute it
and/or modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
The GNU LIBICONV Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU LIBICONV Library; see the file COPYING.LIB.
qrencode
Copyright (C) 2006-2018 Kentaro Fukuchi
This library is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free
Software Foundation; either version 2.1 of the License, or any later version.
This library 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along
with this library; if not, write to the Free Software Foundation, Inc., 51
Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Poppler, Libkleo, Gpg4win-tools, pkg-config
This program is licensed under the GNU General Pubic License, either
version 2, or (at your option) any later version.
This program 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.
This program 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, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA.
KDE-Frameworks
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) version 3, or any
later version accepted by the membership of KDE e.V. (or its
successor approved by the membership of KDE e.V.), which shall
act as a proxy defined in Section 6 of version 3 of the license.
This library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
gpgpass
Copyright (C) 2014-2023 Anne Jan Brouwer <brouwer@annejan.com>
Copyright (C) 2023 g10 Code GmbH
gpgpass 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 3 of the License, or
(at your option) any later version.
gpgpass 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 <http://www.gnu.org/licenses/>.
Okular
Copyright (C) 2002 Wilco Greven, Christophe Devriese
Copyright (C) 2002-2008,2013-2015,2020,2022 Albert Astals Cid
Copyright (C) 2002,2021,2023 g10 Code GmbH
Copyright (C) 2004-2005 Enrico Ros
Copyright (C) 2005 Piotr Szymanski
Copyright (C) 2006-2009 Pino Toscano
and others
Okular 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.
Okular 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 library. If not, see <http://www.gnu.org/licenses/>.
Kleopatra
Copyright (C) 2002-2003 Marc Mutz <mutz@kde.org>
Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
Copyright (C) 2001-2010 Klarälvdalens Datakonsult AB
Copyright (C) 2015-2018 Intevation GmbH
Copyright (C) 2015-2018 Bundesamt für Sicherheit in der Informationstechnik
Copyright (C) 2019-2023 g10 Code GmbH
Kleopatra 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.
Kleopatra 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 library. If not, see <http://www.gnu.org/licenses/>.
Qt Toolkit
Copyright (C) 2018 The Qt Company Ltd. and other contributors
Qt is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; version 3 of
the License.
Qt 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this program; if not, see <http://www.gnu.org/licenses/>.
For a list of other, less restrictive, licenses used in Qt see
<https://doc.qt.io/qt-5/licenses-used-in-qt.html>
[Compiled by wk 2006-02-15, last updated 2023-11-28]
diff --git a/src/Makefile.am b/src/Makefile.am
index adf9e500..c9f53b2f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,716 +1,705 @@
# Makefile.am - Installer for GnuPG 4 Windows Makefile.
# Copyright (C) 2005, 2006, 2007, 2008, 2009 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 <http://www.gnu.org/licenses/>.
EXTRA_DIST = pkg-config gpg4win.nsi gpg4win-src.nsi \
config.site config.nsi.in \
libiconv.def libintl.def findicons.sh \
gpg4win-splash.wav exdll.h exdll.c g4wihelp.c desktopshellrun.cpp \
g4wihelp.nsi slideshow.cpp gpgwrap.c gccwrap.sh.in \
versioninfo.rc.in.in gpg4win.w32-manifest.in.in \
gpg-enable-keyboxd.bat gpg-disable-keyboxd.bat \
BreezeClassic.colors BreezeDark.colors \
inst-sections.nsi installer.nsi installer-finish.nsi \
zlib.pc sha1sum.c \
potomo Memento.nsh mk-sbom.sh \
inst-gpg4win.nsi uninst-gpg4win.nsi \
inst-gettext.nsi uninst-gettext.nsi \
inst-gnupg-w32.nsi uninst-gnupg-w32.nsi \
inst-gpgme.nsi uninst-gpgme.nsi \
- inst-gpgmepp.nsi uninst-gpgmepp.nsi \
- inst-qgpgme.nsi uninst-qgpgme.nsi \
inst-paperkey.nsi uninst-paperkey.nsi \
inst-gpgol.nsi uninst-gpgol.nsi \
inst-gpgex.nsi uninst-gpgex.nsi \
inst-libassuan.nsi uninst-libassuan.nsi \
inst-libgpg-error.nsi uninst-libgpg-error.nsi \
inst-libiconv.nsi uninst-libiconv.nsi \
inst-compendium.nsi uninst-compendium.nsi \
inst-man_advanced_de.nsi uninst-man_advanced_de.nsi \
inst-man_advanced_en.nsi uninst-man_advanced_en.nsi \
inst-man_novice_de.nsi uninst-man_novice_de.nsi \
inst-man_novice_en.nsi uninst-man_novice_en.nsi \
inst-pcre2.nsi uninst-pcre2.nsi \
inst-pinentry.nsi uninst-pinentry.nsi \
inst-pkgconfig.nsi uninst-pkgconfig.nsi \
inst-zlib.nsi uninst-zlib.nsi \
inst-kconfig.nsi uninst-kconfig.nsi \
inst-kleopatra.nsi uninst-kleopatra.nsi \
inst-bzip2.nsi uninst-bzip2.nsi \
inst-qtbase.nsi uninst-qtbase.nsi \
inst-ki18n.nsi uninst-ki18n.nsi \
inst-kio.nsi uninst-kio.nsi \
inst-kbookmarks.nsi uninst-kbookmarks.nsi \
inst-kservice.nsi uninst-kservice.nsi \
inst-solid.nsi uninst-solid.nsi \
inst-kjobwidgets.nsi uninst-kjobwidgets.nsi \
inst-kwidgetsaddons.nsi uninst-kwidgetsaddons.nsi \
inst-kcompletion.nsi uninst-kcompletion.nsi \
inst-kwindowsystem.nsi uninst-kwindowsystem.nsi \
inst-ktextwidgets.nsi uninst-ktextwidgets.nsi \
inst-sonnet.nsi uninst-sonnet.nsi \
inst-libkleo.nsi uninst-libkleo.nsi \
inst-kcoreaddons.nsi uninst-kcoreaddons.nsi \
inst-kcodecs.nsi uninst-kcodecs.nsi \
inst-kconfigwidgets.nsi uninst-kconfigwidgets.nsi \
inst-kxmlgui.nsi uninst-kxmlgui.nsi \
inst-kiconthemes.nsi uninst-kiconthemes.nsi \
inst-breeze-icons.nsi uninst-breeze-icons.nsi \
inst-karchive.nsi uninst-karchive.nsi \
inst-kcrash.nsi uninst-kcrash.nsi \
inst-kitemviews.nsi uninst-kitemviews.nsi \
inst-kitemmodels.nsi uninst-kitemmodels.nsi \
inst-kguiaddons.nsi uninst-kguiaddons.nsi \
inst-kmbox.nsi uninst-kmbox.nsi \
inst-kmime.nsi uninst-kmime.nsi \
inst-kde-l10n.nsi uninst-kde-l10n.nsi \
inst-qtsvg.nsi uninst-qtsvg.nsi \
inst-qttools.nsi uninst-qttools.nsi \
inst-qttranslations.nsi uninst-qttranslations.nsi \
inst-qtwinextras.nsi uninst-qtwinextras.nsi \
inst-scute.nsi uninst-scute.nsi \
inst-extra-cmake-modules.nsi uninst-extra-cmake-modules.nsi \
inst-gpg4win-tools.nsi uninst-gpg4win-tools.nsi \
inst-gpgme-browser.nsi \
inst-poppler.nsi uninst-poppler.nsi \
inst-libpng.nsi uninst-libpng.nsi \
inst-openjpeg.nsi uninst-openjpeg.nsi \
inst-jpeg.nsi uninst-jpeg.nsi \
inst-tiff.nsi uninst-tiff.nsi \
inst-freetype.nsi uninst-freetype.nsi \
inst-threadweaver.nsi uninst-threadweaver.nsi \
inst-kparts.nsi uninst-kparts.nsi \
inst-okular.nsi uninst-okular.nsi \
inst-mimetreeparser.nsi uninst-mimetreeparser.nsi \
inst-kcalendarcore.nsi uninst-kcalendarcore.nsi \
inst-libical.nsi uninst-libical.nsi \
inst-qrencode.nsi uninst-qrencode.nsi \
inst-prison.nsi uninst-prison.nsi \
inst-gpgpass.nsi uninst-gpgpass.nsi \
inst-final.nsi index.theme \
slideshow/slides.dat \
slideshow/slide1-gpgol.png \
slideshow/slide2-gpgex.png \
slideshow/slide3-kleopatra.png \
slideshow/slide4-summary.png \
icons/file-ext.ico \
icons/mail-ext.ico \
kdeglobals qtlogging.ini \
make-msi.pl make-msi.guids \
build-gpg4win.sh \
WixUI_Gpg4win.wxs icons/shield.ico included-icons.txt
if BUILD_APPIMAGE
appimage = appimage
else
appimage =
endif
SUBDIRS = ${appimage}
# These paths must be absolute, as we switch directories pretty often.
root := $(shell pwd)/playground
stampdir := $(shell pwd)/stamps
gpg4win_howto_smime_ll = en de
HOWTO_files = $(addsuffix .txt, \
$(addprefix HOWTO-SMIME.,$(gpg4win_howto_smime_ll)))
foosum_exe = sha1sum.exe md5sum.exe sha256sum.exe
# Need to clean the dll because we bypassed automake.
CLEANFILES = g4wihelp.dll desktopshellrun.o versioninfo.txt \
$(HOWTO_files) NEWS.tmp COMPONENTS-list.tmp \
license.blurb versioninfo.tmp slideshow.o \
$(foosum_exe) gpgwrap.exe
# Supported source packages. (see also ../appimage/Makefile.am)
gpg4win_spkgs = glib libffi gdk-pixbuf gtk+ \
libgpg-error gpgme gpgol gpgex libpng \
gpa opencdk jpeg \
pinentry libassuan ntbtls pcre \
paperkey regex libiconv gettext scute qrencode
gpg4win_qtpkgs = qtbase qttools qtwinextras qtsvg qttranslations
# Source packages following the KDE pattern
-gpg4win_kdepkgs = gpgmepp qgpgme \
- kconfig kwidgetsaddons ki18n extra-cmake-modules \
+gpg4win_kdepkgs = kconfig kwidgetsaddons ki18n extra-cmake-modules \
kcompletion kwindowsystem kcoreaddons libkleo kcodecs \
kmime kconfigwidgets kxmlgui kguiaddons kitemviews \
kiconthemes kleopatra breeze-icons kitemmodels karchive \
gpg4win-tools kcrash kio kbookmarks kservice solid \
kjobwidgets poppler okular freetype threadweaver \
kparts tiff openjpeg sonnet ktextwidgets mimetreeparser \
libical kcalendarcore kmbox pcre2 prison gpgpass
# Supported source packages to build in an additional architecture
gpg4win_expkgs = libgpg-error libassuan libiconv gettext gpgex gpgol \
gpgme
# Supported CMake packages to build in an additional architecture
-gpg4win_excmkpkgs = gpgmepp
+gpg4win_excmkpkgs =
# Some variables
WINE = wine
WINHOST = win10
WINLIGHT = c:/wix/light.exe
# Extra options to configure for individual packages.
# We can use $(idir) here for the installation prefix.
gpg4win_pkg_libiconv_ex_configure = \
--enable-shared=no --enable-static=yes
gpg4win_pkg_gettext_configure = \
--with-lib-prefix=$(idir) --with-libiconv-prefix=$(idir) \
CPPFLAGS=-I$(idir)/include CFLAGS=-O2 LDFLAGS=-L$(idir)/lib
gpg4win_pkg_scute_configure = \
LDFLAGS=-lws2_32
gpg4win_pkg_gettext_ex_configure = \
--with-lib-prefix=$(ex_idir) --with-libiconv-prefix=$(ex_idir) \
CPPFLAGS=-I$(ex_idir)/include CFLAGS=-O2 LDFLAGS=-L$(ex_idir)/lib
# We only need gettext-runtime and there is sadly no top level
# configure option for this
gpg4win_pkg_gettext_make_dir = gettext-runtime
gpg4win_pkg_gettext_make_dir_inst = gettext-runtime
gpg4win_pkg_gettext_ex_make_dir = gettext-runtime
gpg4win_pkg_gettext_ex_make_dir_inst = gettext-runtime
# Paperkey comes with a man pages which we have to convert.
define gpg4win_pkg_paperkey_post_install
(for i in paperkey ; \
do man -Tlatin1 -l $$$${pkgidir}/share/man/man1/$$$${i}.1 | \
sed `printf "s/_\b//g;s/\b.//g"` | \
sed -e 's/$$$$/\r/' > $$$${pkgidir}/share/man/man1/$$$${i}.man ; \
done)
endef
# Build the reference manual.
define gpg4win_pkg_gpgol_post_install
( cd $$$${pkgbdir}/doc; make pdf )
endef
# We would like to use --with-libiconv-prefix and
# --with-libintl-prefix, but these don't work with the cheesy
# non-"libfoo.la" versions of iconv and gettext that we are using.
#gpg4win_pkg_libgpg_error_configure = \
# --with-libiconv-prefix=$(idir) --with-libintl-prefix=$(idir)
gpg4win_pkg_libgpg_error_configure = --silent \
CPPFLAGS=-I$(idir)/include LDFLAGS=-L$(idir)/lib \
--enable-static --enable-install-gpg-error-config
gpg4win_pkg_libgpg_error_ex_configure = --silent \
--enable-static --enable-install-gpg-error-config
gpg4win_pkg_libgpg_error_extracflags = -D_WIN32_WINNT=0x0600
gpg4win_pkg_libgpg_error_ex_extracflags = -D_WIN32_WINNT=0x0600
# We convert the PO files to UTF-8. FIXME: This should be done in
# libgpg-error proper.
define gpg4win_pkg_libgpg_error_post_install
(for i in `$(tsdir)/src/potomo --get-linguas $$$${pkgsdir}/po` ; do \
rm $$$${pkgidir}/share/locale/$$$${i}/LC_MESSAGES/libgpg-error.mo \
2>/dev/null|| true; \
$(tsdir)/src/potomo $$$${pkgsdir}/po/$$$${i}.po \
$$$${pkgidir}/share/locale/$$$${i}/LC_MESSAGES/libgpg-error.mo; \
done)
endef
gpg4win_pkg_libassuan_configure = --silent --enable-static
gpg4win_pkg_libassuan_ex_configure = --with-gpg-error-prefix=$(ex_idir) --silent --enable-static
gpg4win_pkg_libpng_configure = HAVE_SOLARIS_LD_FALSE=yes CPPFLAGS=\"-I$(idir)/include -DPNG_BUILD_DLL\" LDFLAGS=\"-L$(idir)/lib\" LIBPNG_DEFINES=\"-DPNG_BUILD_DLL\"
# We would like to use --with-libiconv-prefix and
# --with-libintl-prefix, but these don't work with the cheesy
# non-"libfoo.la" versions of iconv and gettext that we are using.
gpg4win_pkg_pinentry_configure = \
--enable-pinentry-qt5 \
--disable-pinentry-qt \
--disable-pinentry-fltk \
--disable-pinentry-curses \
--disable-fallback-curses \
CPPFLAGS=-I$(idir)/include LDFLAGS=-L$(idir)/lib
# --with-libiconv-prefix=$(idir) --with-libintl-prefix=$(idir)
# The LDFLAGS is needed for -lintl for glib. The QT4 variables work
# around the lack of cross compilation support in qt-dev.
gpg4win_pkg_gpgme_configure = --silent \
--with-gpg-error-prefix=$(idir) --enable-static \
LDFLAGS=-L$(idir)/lib \
- --enable-languages="" \
+ --enable-languages=qt,cpp \
--disable-gpg-test \
--disable-gpgsm-test
gpg4win_pkg_gpgme_ex_configure = --silent \
--with-gpg-error-prefix=$(ex_idir) --enable-static \
--with-libassuan-prefix=$(ex_idir) \
LDFLAGS=-L$(ex_idir)/lib \
- --enable-languages="" \
+ --enable-languages=cpp \
--disable-gpg-test \
--disable-gpgsm-test
-gpg4win_pkg_gpgmepp_configure = -DENABLE_STATIC=ON \
- -DPKGCONFIG_HOST=$(host)
-
-gpg4win_pkg_gpgmepp_ex_configure = -DENABLE_STATIC=ON \
- -DPKGCONFIG_HOST=$(GPGEX_ADD_HOST)
-
-gpg4win_pkg_qgpgme_configure = -DBUILD_WITH_QT6=OFF
-
gpg4win_pkg_gpgol_configure = --silent \
--with-gpgme-prefix=$(idir) --with-gpg-error-prefix=$(idir) \
--with-libassuan-prefix=$(idir)
gpg4win_pkg_gpgol_ex_configure = --silent \
--with-gpgme-prefix=$(ex_idir) --with-gpg-error-prefix=$(ex_idir) \
--with-libassuan-prefix=$(ex_idir)
gpg4win_pkg_gpgex_configure = --silent \
--with-gpg-error-prefix=$(idir) \
--with-libassuan-prefix=$(idir)
gpg4win_pkg_gpgex_ex_configure = --silent \
--with-gpg-error-prefix=$(ex_idir) \
--with-libassuan-prefix=$(ex_idir)
gpg4win_pkg_openjpeg_configure = -DBUILD_CODEC=OFF
gpg4win_pkg_paperkey_configure = --silent
gpg4win_pkg_sonnet_configure = -DSONNET_USE_QML=OFF
gpg4win_pkg_ki18n_configure = -DBUILD_WITH_QML=OFF
gpg4win_pkg_kconfig_configure = -DKCONFIG_USE_DBUS=OFF -DKCONFIG_USE_QML=OFF
gpg4win_pkg_pcre2_configure = -DPCRE2_BUILD_PCRE2_8=OFF -DPCRE2_BUILD_PCRE2_16=ON \
-DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
gpg4win_pkg_qtbase_configure = \
../$$$${pkg_version}/configure \
-opensource \
-confirm-license \
-xplatform win32-g++ \
-device-option CROSS_COMPILE=$(host)- \
-no-use-gold-linker \
-release \
-shared \
-prefix $$$${pkgidir} \
-I "$(idir)/include" \
-L "$(idir)/lib" \
-no-icu \
-opengl desktop \
-no-glib \
-accessibility \
-nomake examples \
-nomake tests \
-no-sql-mysql \
-no-sql-sqlite \
-no-sql-odbc \
-no-sql-psql \
-no-sql-tds \
-system-zlib \
-system-libpng \
-system-libjpeg \
-system-freetype \
-system-pcre \
-no-openssl \
-no-dbus \
-v
# qtbase
# invoke qmake with removed debug options as a workaround for
# https://bugreports.qt-project.org/browse/QTBUG-30898
gpg4win_pkg_qtbase_make_args = \
QMAKE='$$$${pkgbdir}/bin/qmake'
# Make install step. Somehow qtprintsupport is now installed automatically.
define gpg4win_pkg_qtbase_post_install
(cd $$$${pkgbdir}; \
make install; \
cd $$$${pkgbdir}/src/printsupport; \
make install;)
endef
gpg4win_pkg_qttools_configure = \
"$(idir)/bin/qmake" ../$$$${pkg_version}
define gpg4win_pkg_qttools_post_install
(cd $$$${pkgbdir}; \
mkdir -p $$$${pkgidir}; \
cp -r bin lib include $$$${pkgidir})
endef
# Qmake does not support setting the installation path.
# really https://bugreports.qt.io/browse/QTBUG-12341
gpg4win_pkg_qtwinextras_configure = \
"$(idir)/bin/qmake" ../$$$${pkg_version}
define gpg4win_pkg_qtwinextras_post_install
(cd $$$${pkgbdir}; \
mkdir -p $$$${pkgidir}/bin; \
cp -r lib include $$$${pkgidir}; \
mv $$$${pkgidir}/lib/*.dll $$$${pkgidir}/bin;)
endef
gpg4win_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 gpg4win_pkg_qtsvg_post_install
(cd $$$${pkgbdir}; \
mkdir -p $$$${pkgidir}; \
cp -r lib include plugins $$$${pkgidir}; \
mkdir -p $$$${pkgidir}/bin; \
mv $$$${pkgidir}/lib/*.dll $$$${pkgidir}/bin; \
echo "[Paths]" > $$$${pkgidir}/bin/qt.conf; \
echo "Prefix = .." >> $$$${pkgidir}/bin/qt.conf)
endef
gpg4win_pkg_qttranslations_configure = \
"$(idir)/bin/qmake" ../$$$${pkg_version}
define gpg4win_pkg_qttranslations_post_install
( rm -fR $$$${pkgidir}/qttranslations; \
mkdir -p $$$${pkgidir}; \
cp -r $$$${pkgbdir}/translations $$$${pkgidir}/qttranslations;)
endef
define gpg4win_pkg_okular_post_install
( rm $$$${pkgidir}/share/icons/hicolor/icon-theme.cache; )
endef
gpg4win_pkg_kleopatra_configure = \
-DFORCE_DISABLE_KCMUTILS=ON \
-DDISABLE_KWATCHGNUPG=ON \
-DRELEASE_SERVICE_VERSION=Gpg4win-$(VERSION) \
-DKLEOPATRA_DISTRIBUTION_TEXT="$(DISTRIBUTION_TEXT)"
gpg4win_pkg_kxmlgui_configure = \
-DFORCE_DISABLE_KGLOBALACCEL=ON \
-DFORCE_DISABLE_DBUS=ON \
-DXMLGUI_COMPILER_VERSION="i686-w64-mingw32-gcc" \
-DXMLGUI_DISTRIBUTION_TEXT="$(DISTRIBUTION_TEXT)"
gpg4win_pkg_breeze_icons_configure = \
-DBINARY_ICONS_RESOURCE=ON \
-DICON_SUBSET_INCLUDE_FILE=$(abs_srcdir)/included-icons.txt
gpg4win_pkg_kbookmarks_configure = \
-DANDROID=ON
gpg4win_pkg_kservice_configure = \
-DANDROID=ON
gpg4win_pkg_kjobwidgets_configure = \
-DANDROID=ON
gpg4win_pkg_okular_configure = \
-DFORCE_NOT_REQUIRED_DEPENDENCIES="KF5Purpose\;Qt5TextToSpeech\;LibZip\;KF5Wallet\;KF5DocTools\;KF5JS\;Phonon4Qt5\;TIFF\;JPEG\;LibSpectre\;KF5KExiv2\;CHM\;KF5KHtml\;DjVuLibre\;EPub\;QMobipocket\;Discount\;Qt5Qml\;Qt5DBus"
gpg4win_pkg_libical_configure = \
-DICAL_GLIB=false \
-DENABLE_GTK_DOC=false
# Supported make-only source packages.
gpg4win_mpkgs = bzip2 zlib
# Extra options for the make invocations for individual packages.
# make_flags is used for building, make_args_inst is used for installing.
gpg4win_pkg_bzip2_make_args = \
CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
gpg4win_pkg_bzip2_make_args_inst = \
PREFIX=$$$${pkgidir} CC=$(CC) AR=$(AR) RANLIB=$(RANLIB)
gpg4win_pkg_zlib_make_args = \
-fwin32/Makefile.gcc PREFIX=$(host)- IMPLIB=libz.dll.a
gpg4win_pkg_zlib_make_args_inst = -fwin32/Makefile.gcc install \
BINARY_PATH=$$$${pkgidir}/bin INCLUDE_PATH=$$$${pkgidir}/include \
LIBRARY_PATH=$$$${pkgidir}/lib SHARED_MODE=1 IMPLIB=libz.dll.a
# Supported binary packages.
gpg4win_bpkgs = pkgconfig gnupg-w32 kde-l10n
# libiconv needs some special magic to generate a usable import
# library.
# define gpg4win_pkg_libiconv_post_install
# (cp $(srcdir)/libiconv.def $$$${pkgidir}/lib; \
# cd $$$${pkgidir}/lib; \
# $(DLLTOOL) --output-lib libiconv.dll.a --def libiconv.def)
# endef
# libiconv needs some special magic to generate a usable import
# library. Note that we include some internal symbols that are not
# actually part of the DLL. They are needed by the AM_GNU_GETTEXT
# configure test, but not used otherwise.
# define gpg4win_pkg_gettext_post_install
# (cp $(srcdir)/libintl.def $$$${pkgidir}/lib; \
# cd $$$${pkgidir}/lib; \
# $(DLLTOOL) --output-lib libintl.dll.a --def libintl.def)
# endef
# Zlib needs some special magic to generate a libtool file.
# We also install the pc file here.
define gpg4win_pkg_zlib_post_install
(mkdir $$$${pkgidir}/lib/pkgconfig || true; \
cp $(abs_srcdir)/zlib.pc $$$${pkgidir}/lib/pkgconfig/; \
cd $$$${pkgidir}; \
echo "# Generated by libtool" > lib/libz.la \
echo "dlname='../bin/zlib1.dll'" >> lib/libz.la; \
echo "library_names='libz.dll.a'" >> lib/libz.la; \
echo "old_library='libz.a'" >> lib/libz.la; \
echo "dependency_libs=''" >> lib/libz.la; \
echo "current=1" >> lib/libz.la; \
echo "age=2" >> lib/libz.la; \
echo "revision=5" >> lib/libz.la; \
echo "installed=yes" >> lib/libz.la; \
echo "shouldnotlink=no" >> lib/libz.la; \
echo "dlopen=''" >> lib/libz.la; \
echo "dlpreopen=''" >> lib/libz.la; \
echo "libdir=\"$$$${pkgidir}/lib\"" >> lib/libz.la)
endef
# We don't use khelpcenter in kleopatra so remove the help links and
# point to the correct common folder
# TODO Needs to be fixed with current doc
#define gpg4win_pkg_kleopatra_post_install
# (for i in de en ; do \
# (cd $$$${pkgidir}/share/doc/HTML/$$$${i}; \
# perl -pi -e 's/help:\///g' `find . -name \*.html`; \
# perl -pi -e 's@common/@../../common/@g' `find . -name \*.html`); \
# done)
#endef
#define gpg4win_pkg_libiconv_post_install
#(cp $(srcdir)/libiconv.def $$$${pkgidir}/lib; \
#cd $$$${pkgidir}/lib; \
#$(DLLTOOL) --output-lib libiconv.dll.a --def libiconv.def)
#endef
# Supported internal packages. Internal packages do not require any
# special support. Thus, this variable is actually unused, and no
# rules are added in gpg4win.mk.
gpg4win_ipkgs = man_novice_de man_advanced_de man_novice_en man_advanced_en \
compendium
# Default to same version.
VSD_VERSION=$(VERSION)
# Include installer targets for customized packages
-include gnupg-vsd/custom.mk
$(stampdir)/stamp-msi-base: icons/shield.ico Makefile.am \
$(top_srcdir)/doc/logo/gpg4win-msi*.bmp \
$(top_srcdir)/po/gpg4win-de.wxl \
$(top_srcdir)/po/gpg4win-en.wxl
ssh $(WINHOST) "mkdir AppData\\Local\\Temp\\gpg4win-$(VERSION)" || true
scp $(top_srcdir)/packages/gnupg-msi-$(gpg4win_pkg_gnupg_msi_version)-bin.wixlib \
$(WINHOST):AppData/Local/Temp/gpg4win-$(VERSION);
scp $(top_srcdir)/src/icons/shield.ico $(WINHOST):AppData/Local/Temp/gpg4win-$(VERSION)
scp $(top_srcdir)/doc/logo/gpg4win-msi-header_install-493x58.bmp \
$(WINHOST):AppData/Local/Temp/gpg4win-$(VERSION)/header.bmp
scp $(top_srcdir)/doc/logo/gpg4win-msi-wizard_install-493x312.bmp \
$(WINHOST):AppData/Local/Temp/gpg4win-$(VERSION)/dialog.bmp
scp $(top_srcdir)/doc/logo/gpg4win-msi-wizard_install-493x312.bmp \
$(WINHOST):AppData/Local/Temp/gpg4win-$(VERSION)/dialog.bmp
scp $(top_srcdir)/doc/logo/gpg4win-msi-wizard_install-info-32x32.bmp \
$(WINHOST):AppData/Local/Temp/gpg4win-$(VERSION)/info.bmp
scp $(top_srcdir)/doc/logo/gpg4win-msi-wizard_install-exclamation-32x32.bmp \
$(WINHOST):AppData/Local/Temp/gpg4win-$(VERSION)/exclamation.bmp
scp $(top_srcdir)/po/gpg4win-en.wxl $(WINHOST):AppData/Local/Temp/gpg4win-$(VERSION)
scp $(top_srcdir)/po/gpg4win-de.wxl $(WINHOST):AppData/Local/Temp/gpg4win-$(VERSION)
scp WixUI_Gpg4win.wxs $(WINHOST):AppData/Local/Temp/gpg4win-$(VERSION)
touch $(stampdir)/stamp-msi-base
# 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
if BUILD_GPG4WIN
$(eval $(call INCLUDE_BY_MAKE,gpg4win.mk))
gpg4win_clean = clean-gpg4win
endif
clean-local: $(gpg4win_clean)
common_nsi = inst-sections.nsi installer.nsi installer-finish.nsi \
$(addsuffix .nsi,$(addprefix inst-,$(gpg4win_build_list))) \
$(addsuffix .nsi,$(addprefix uninst-,$(gpg4win_build_list)))
# Sign additional files as per signing setup
# This is a bit of a hack.
# Exit in case of error because that usually means that sign.mk
# is not up to date.
$(stampdir)/stamp-additional-signedfiles: $(stampdir)/stamp-binaries \
$(foosum_exe)
(set -e;\
cd "$(idir)"; \
for f in $(AUTHENTICODE_FILES); do \
if [ ! -f "$$f" ]; then \
echo "speedo: ERROR: file '$$f' not available for signing"; \
exit 1; \
fi;\
done; \
for f in $(AUTHENTICODE_FILES); do \
$(abs_top_srcdir)/build-aux/authenticode-sign.sh --stamp "$$f" "$$f" ;\
done \
)
touch $(stampdir)/stamp-additional-signedfiles
# Prepare the versioninfo file. The pipeline extracts the last
# occurrence of a package with the same name, sorts the entries and
# writes the file with DOS line endings. This helps to avoid
# duplicate entries in case one package has been rebuild (which is
# common when developing a new version).
versioninfo.txt:
$(srcdir)/mk-sbom.sh -- $(pkg_files) > versioninfo.tmp
set -e; \
( while read a b c; do echo "$$a $$b $$c"; \
done < versioninfo.tmp \
| sort -k2 -sf | tac | uniq -f1 ; \
echo '=========== SHA-1 checksum ============= == package ==' \
) | tac | awk '{printf "%s\r\n", $$0}' > versioninfo.txt
-rm versioninfo.tmp
NEWS.tmp : $(top_srcdir)/NEWS
awk '/^#/ {next} /^\(de\)/ {skip=1;next} /^[^[:space:]]/ {skip=0} \
!skip { sub(/^\(en\)/," *"); print }' \
<$(top_srcdir)/NEWS >NEWS.tmp
NEWS.de : $(top_srcdir)/NEWS
awk '/^#/ {next} /^\(en\)/ {skip=1;next} /^[^[:space:]]/ {skip=0} \
!skip { sub(/^\(de\)/,"-"); print }' \
<$(top_srcdir)/NEWS >NEWS.de; \
sed -i 's/^ / /' NEWS.de
NEWS.en : $(top_srcdir)/NEWS
awk '/^#/ {next} /^\(de\)/ {skip=1;next} /^[^[:space:]]/ {skip=0} \
!skip { sub(/^\(en\)/,"-"); print }' \
<$(top_srcdir)/NEWS >NEWS.en; \
sed -i 's/^ / /' NEWS.en
COMPONENTS-list.tmp : $(top_srcdir)/NEWS
awk '/^~~~~~~~~~~~/ { ok++; next} ok==1 {print " "$$0}' \
< $(top_srcdir)/NEWS > COMPONENTS-list.tmp
# For some nut-crazy reason someone thought it would be a great idea
# if makensis changed to the directory of the source file at startup.
# So we have to pull a couple of strings to correct this.
installers/gpg4win-$(VERSION).exe: gpg4win.nsi $(common_nsi) $(stampdir)/stamp-final \
g4wihelp.dll gpgwrap.exe \
$(foosum_exe) \
$(HOWTO_files) \
license.blurb versioninfo.txt
$(MAKENSIS) -V3 -DBUILD_DIR=`pwd` -DTOP_SRCDIR=$(top_srcdir) \
-DSRCDIR=$(srcdir) $(EXTRA_MAKENSIS_FLAGS) $(srcdir)/gpg4win.nsi && \
mv gpg4win-$(VERSION).exe installers/gpg4win-$(VERSION).exe
$(stampdir)/stamp-dist-self: versioninfo.txt
(set -e; cd ..; make dist-xz)
touch $(stampdir)/stamp-dist-self
installers/gpg4win-src-$(VERSION).exe: gpg4win-src.nsi $(common_nsii) \
$(stampdir)/stamp-final \
$(stampdir)/stamp-dist-self \
license.blurb
$(MAKENSIS) -V3 -DBUILD_DIR=`pwd` -DTOP_SRCDIR=$(top_srcdir) \
-DSRCDIR=$(srcdir) $(EXTRA_MAKENSIS_FLAGS) $(srcdir)/gpg4win-src.nsi && \
mv gpg4win-src-$(VERSION).exe installers/gpg4win-src-$(VERSION).exe
license.blurb: $(top_srcdir)/doc/license-page $(top_srcdir)/doc/GPLv3
cat $(top_srcdir)/doc/license-page $(top_srcdir)/doc/GPLv3 >$@
g4wihelp.dll: slideshow.cpp desktopshellrun.cpp g4wihelp.c exdll.h
$(CC) -DUNICODE -static-libgcc -I. -O2 -c \
-o exdll.o $(srcdir)/exdll.c
$(CC) -DUNICODE -static-libgcc -I. -O2 -c \
-o desktopshellrun.o $(srcdir)/desktopshellrun.cpp
$(CC) -DUNICODE -static-libgcc -I. -O2 -c \
-o slideshow.o $(srcdir)/slideshow.cpp
$(CC) -DUNICODE -DENABLE_SLIDE_SHOW -static-libgcc -I. -shared -O2 \
-o g4wihelp.dll $(srcdir)/g4wihelp.c \
desktopshellrun.o slideshow.o exdll.o \
-lwinmm -lgdi32 -luserenv -lshell32 \
-lole32 -loleaut32 -lshlwapi -lmsimg32
$(STRIP) g4wihelp.dll
gpgwrap.exe: gpgwrap.c
$(CC) -I. -I.. -DHAVE_CONFIG_H -O2 -Wl,-subsystem,windows -o $@ $^
$(STRIP) $@
sha1sum.exe: sha1sum.c
$(CC) -O2 -o $@ $^
$(STRIP) $@
md5sum.exe: sha1sum.c
$(CC) -DBUILD_MD5SUM -O2 -o $@ $^
$(STRIP) $@
sha256sum.exe: sha1sum.c
$(CC) -DBUILD_SHA256SUM -O2 -o $@ $^
$(STRIP) $@
if BUILD_GPG4WIN
all_full = installers/gpg4win-$(VERSION).exe
endif
all-local: $(all_full)
if BUILD_GPG4WIN
@echo "###################################################"
@echo " Gpg4win $(VERSION) successfully build!"
@echo " Installers can be found under src/installers"
@echo "###################################################"
endif
clean-local:
-rm -f installers/gpg4win-$(VERSION).exe \
installers/GnuPG-VS-Desktop-$(VERSION).msi \
installers/GnuPG-Desktop-$(VERSION).msi
distclean-local:
rm -f *.dll-x*
diff --git a/src/config.nsi.in b/src/config.nsi.in
index b6f3486e..0f9ad284 100644
--- a/src/config.nsi.in
+++ b/src/config.nsi.in
@@ -1,328 +1,320 @@
# config.nsi - Configuration settings for gpg4win.nsi. -*- nsi -*-
# Copyright (C) 2005, 2007 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, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
# USA.
!define _PACKAGE @PACKAGE@
!define _VERSION @VERSION@
!define _BUILD_FILEVERSION @BUILD_FILEVERSION@
!define _BUILD_TIMESTAMP @BUILD_TIMESTAMP@
!define _BUILD_ISODATE @BUILD_ISODATE@
!define build @build_cpu@-@build_os@
!define host @host_cpu@-@host_os@
!define MAKE @MAKE@
!define UNZIP @UNZIP@
!define TAR @TAR@
!define MKDIR @MKDIR@
!define CP @CP@
!define RM @RM@
!define STOW @STOW@
!define INSTALL "@INSTALL@"
!define WGET @WGET@
!define DOSLF "\r\n"
# If debugging is desired.
@GPG4WIN_DEBUG@
# The package build list, in order.
!define gpg4win_build_list "@gpg4win_build_list@"
# The default packages source directory.
!define gpg4win_packages @gpg4win_packages@
# The path of each package.
@HAVE_PKG_LIBGPG_ERROR@
!define gpg4win_pkg_libgpg_error @gpg4win_pkg_libgpg_error@
!define gpg4win_pkg_libgpg_error_version @gpg4win_pkg_libgpg_error_version@
@HAVE_PKG_LIBASSUAN@
!define gpg4win_pkg_libassuan @gpg4win_pkg_libassuan@
!define gpg4win_pkg_libassuan_version @gpg4win_pkg_libassuan_version@
@HAVE_PKG_GPGME@
!define gpg4win_pkg_gpgme @gpg4win_pkg_gpgme@
!define gpg4win_pkg_gpgme_version @gpg4win_pkg_gpgme_version@
-@HAVE_PKG_GPGMEPP@
-!define gpg4win_pkg_gpgmepp @gpg4win_pkg_gpgmepp@
-!define gpg4win_pkg_gpgmepp_version @gpg4win_pkg_gpgmepp_version@
-
-@HAVE_PKG_QGPGME@
-!define gpg4win_pkg_qgpgme @gpg4win_pkg_qgpgme@
-!define gpg4win_pkg_qgpgme_version @gpg4win_pkg_qgpgme_version@
-
@HAVE_PKG_GNUPG_W32@
!define gpg4win_pkg_gnupg_w32 @gpg4win_pkg_gnupg_w32@
!define gpg4win_pkg_gnupg_w32_version @gpg4win_pkg_gnupg_w32_version@
@HAVE_PKG_PINENTRY@
!define gpg4win_pkg_pinentry @gpg4win_pkg_pinentry@
!define gpg4win_pkg_pinentry_version @gpg4win_pkg_pinentry_version@
@HAVE_PKG_GPGOL@
!define gpg4win_pkg_gpgol @gpg4win_pkg_gpgol@
!define gpg4win_pkg_gpgol_version @gpg4win_pkg_gpgol_version@
@HAVE_PKG_GPGEX@
!define gpg4win_pkg_gpgex @gpg4win_pkg_gpgex@
!define gpg4win_pkg_gpgex_version @gpg4win_pkg_gpgex_version@
@HAVE_PKG_ZLIB@
!define gpg4win_pkg_zlib @gpg4win_pkg_zlib@
!define gpg4win_pkg_zlib_version @gpg4win_pkg_zlib_version@
@HAVE_PKG_BZIP2@
!define gpg4win_pkg_bzip2 @gpg4win_pkg_bzip2@
!define gpg4win_pkg_bzip2_version @gpg4win_pkg_bzip2_version@
@HAVE_PKG_PKGCONFIG@
!define gpg4win_pkg_pkgconfig @gpg4win_pkg_pkgconfig@
!define gpg4win_pkg_pkgconfig_version @gpg4win_pkg_pkgconfig_version@
!define gpg4win_pkg_pkgconfig_src @gpg4win_pkg_pkgconfig_src@
@HAVE_PKG_LIBICONV@
!define gpg4win_pkg_libiconv @gpg4win_pkg_libiconv@
!define gpg4win_pkg_libiconv_version @gpg4win_pkg_libiconv_version@
!define gpg4win_pkg_libiconv_src @gpg4win_pkg_libiconv_src@
@HAVE_PKG_GETTEXT@
!define gpg4win_pkg_gettext @gpg4win_pkg_gettext@
!define gpg4win_pkg_gettext_version @gpg4win_pkg_gettext_version@
!define gpg4win_pkg_gettext_src @gpg4win_pkg_gettext_src@
@HAVE_PKG_QTBASE@
!define gpg4win_pkg_qtbase @gpg4win_pkg_qtbase@
!define gpg4win_pkg_qtbase_version @gpg4win_pkg_qtbase_version@
!define gpg4win_pkg_qtbase_src @gpg4win_pkg_qtbase_src@
@HAVE_PKG_BREEZE_ICONS@
!define gpg4win_pkg_breeze_icons @gpg4win_pkg_breeze_icons@
!define gpg4win_pkg_breeze_icons_version @gpg4win_pkg_breeze_icons_version@
@HAVE_PKG_KLEOPATRA@
!define gpg4win_pkg_kleopatra @gpg4win_pkg_kleopatra@
!define gpg4win_pkg_kleopatra_version @gpg4win_pkg_kleopatra_version@
@HAVE_PKG_PAPERKEY@
!define gpg4win_pkg_paperkey @gpg4win_pkg_paperkey@
!define gpg4win_pkg_paperkey_version @gpg4win_pkg_paperkey_version@
@HAVE_PKG_KCONFIG@
!define gpg4win_pkg_kconfig @gpg4win_pkg_kconfig@
!define gpg4win_pkg_kconfig_version @gpg4win_pkg_kconfig_version@
@HAVE_PKG_QTTOOLS@
!define gpg4win_pkg_qttools @gpg4win_pkg_qttools@
!define gpg4win_pkg_qttools_version @gpg4win_pkg_qttools_version@
@HAVE_PKG_EXTRA_CMAKE_MODULES@
!define gpg4win_pkg_extra_cmake_modules @gpg4win_pkg_extra_cmake_modules@
!define gpg4win_pkg_extra_cmake_modules_version @gpg4win_pkg_extra_cmake_modules_version@
@HAVE_PKG_KI18N@
!define gpg4win_pkg_ki18n @gpg4win_pkg_ki18n@
!define gpg4win_pkg_ki18n_version @gpg4win_pkg_ki18n_version@
@HAVE_PKG_KWIDGETSADDONS@
!define gpg4win_pkg_kwidgetsaddons @gpg4win_pkg_kwidgetsaddons@
!define gpg4win_pkg_kwidgetsaddons_version @gpg4win_pkg_kwidgetsaddons_version@
@HAVE_PKG_KCOMPLETION@
!define gpg4win_pkg_kcompletion @gpg4win_pkg_kcompletion@
!define gpg4win_pkg_kcompletion_version @gpg4win_pkg_kcompletion_version@
@HAVE_PKG_KWINDOWSYSTEM@
!define gpg4win_pkg_kwindowsystem @gpg4win_pkg_kwindowsystem@
!define gpg4win_pkg_kwindowsystem_version @gpg4win_pkg_kwindowsystem_version@
@HAVE_PKG_QTWINEXTRAS@
!define gpg4win_pkg_qtwinextras @gpg4win_pkg_qtwinextras@
!define gpg4win_pkg_qtwinextras_version @gpg4win_pkg_qtwinextras_version@
@HAVE_PKG_KCOREADDONS@
!define gpg4win_pkg_kcoreaddons @gpg4win_pkg_kcoreaddons@
!define gpg4win_pkg_kcoreaddons_version @gpg4win_pkg_kcoreaddons_version@
@HAVE_PKG_LIBKLEO@
!define gpg4win_pkg_libkleo @gpg4win_pkg_libkleo@
!define gpg4win_pkg_libkleo_version @gpg4win_pkg_libkleo_version@
@HAVE_PKG_KCODECS@
!define gpg4win_pkg_kcodecs @gpg4win_pkg_kcodecs@
!define gpg4win_pkg_kcodecs_version @gpg4win_pkg_kcodecs_version@
@HAVE_PKG_KMIME@
!define gpg4win_pkg_kmime @gpg4win_pkg_kmime@
!define gpg4win_pkg_kmime_version @gpg4win_pkg_kmime_version@
@HAVE_PKG_KMBOX@
!define gpg4win_pkg_kmbox @gpg4win_pkg_kmbox@
!define gpg4win_pkg_kmbox_version @gpg4win_pkg_kmbox_version@
@HAVE_PKG_KCONFIGWIDGETS@
!define gpg4win_pkg_kconfigwidgets @gpg4win_pkg_kconfigwidgets@
!define gpg4win_pkg_kconfigwidgets_version @gpg4win_pkg_kconfigwidgets_version@
@HAVE_PKG_KXMLGUI@
!define gpg4win_pkg_kxmlgui @gpg4win_pkg_kxmlgui@
!define gpg4win_pkg_kxmlgui_version @gpg4win_pkg_kxmlgui_version@
@HAVE_PKG_KGUIADDONS@
!define gpg4win_pkg_kguiaddons @gpg4win_pkg_kguiaddons@
!define gpg4win_pkg_kguiaddons_version @gpg4win_pkg_kguiaddons_version@
@HAVE_PKG_KITEMVIEWS@
!define gpg4win_pkg_kitemviews @gpg4win_pkg_kitemviews@
!define gpg4win_pkg_kitemviews_version @gpg4win_pkg_kitemviews_version@
@HAVE_PKG_KITEMMODELS@
!define gpg4win_pkg_kitemmodels @gpg4win_pkg_kitemmodels@
!define gpg4win_pkg_kitemmodels_version @gpg4win_pkg_kitemmodels_version@
@HAVE_PKG_KICONTHEMES@
!define gpg4win_pkg_kiconthemes @gpg4win_pkg_kiconthemes@
!define gpg4win_pkg_kiconthemes_version @gpg4win_pkg_kiconthemes_version@
@HAVE_PKG_QTSVG@
!define gpg4win_pkg_qtsvg @gpg4win_pkg_qtsvg@
!define gpg4win_pkg_qtsvg_version @gpg4win_pkg_qtsvg_version@
@HAVE_PKG_QTTRANSLATIONS@
!define gpg4win_pkg_qttranslations @gpg4win_pkg_qttranslations@
!define gpg4win_pkg_qttranslations_version @gpg4win_pkg_qttranslations_version@
@HAVE_PKG_KARCHIVE@
!define gpg4win_pkg_karchive @gpg4win_pkg_karchive@
!define gpg4win_pkg_karchive_version @gpg4win_pkg_karchive_version@
@HAVE_PKG_KCRASH@
!define gpg4win_pkg_kcrash @gpg4win_pkg_kcrash@
!define gpg4win_pkg_kcrash_version @gpg4win_pkg_kcrash_version@
@HAVE_PKG_KIO@
!define gpg4win_pkg_kio @gpg4win_pkg_kio@
!define gpg4win_pkg_kio_version @gpg4win_pkg_kio_version@
@HAVE_PKG_KSERVICE@
!define gpg4win_pkg_kservice @gpg4win_pkg_kservice@
!define gpg4win_pkg_kservice_version @gpg4win_pkg_kservice_version@
@HAVE_PKG_SOLID@
!define gpg4win_pkg_solid @gpg4win_pkg_solid@
!define gpg4win_pkg_solid_version @gpg4win_pkg_solid_version@
@HAVE_PKG_KBOOKMARKS@
!define gpg4win_pkg_kbookmarks @gpg4win_pkg_kbookmarks@
!define gpg4win_pkg_kbookmarks_version @gpg4win_pkg_kbookmarks_version@
@HAVE_PKG_KJOBWIDGETS@
!define gpg4win_pkg_kjobwidgets @gpg4win_pkg_kjobwidgets@
!define gpg4win_pkg_kjobwidgets_version @gpg4win_pkg_kjobwidgets_version@
@HAVE_PKG_OKULAR@
!define gpg4win_pkg_okular @gpg4win_pkg_okular@
!define gpg4win_pkg_okular_version @gpg4win_pkg_okular_version@
@HAVE_PKG_FREETYPE@
!define gpg4win_pkg_freetype @gpg4win_pkg_freetype@
!define gpg4win_pkg_freetype_version @gpg4win_pkg_freetype_version@
@HAVE_PKG_POPPLER@
!define gpg4win_pkg_poppler @gpg4win_pkg_poppler@
!define gpg4win_pkg_poppler_version @gpg4win_pkg_poppler_version@
@HAVE_PKG_LIBPNG@
!define gpg4win_pkg_libpng @gpg4win_pkg_libpng@
!define gpg4win_pkg_libpng_version @gpg4win_pkg_libpng_version@
@HAVE_PKG_TIFF@
!define gpg4win_pkg_tiff @gpg4win_pkg_tiff@
!define gpg4win_pkg_tiff_version @gpg4win_pkg_tiff_version@
@HAVE_PKG_PCRE2@
!define gpg4win_pkg_pcre2 @gpg4win_pkg_pcre2@
!define gpg4win_pkg_pcre2_version @gpg4win_pkg_pcre2_version@
@HAVE_PKG_OPENJPEG@
!define gpg4win_pkg_openjpeg @gpg4win_pkg_openjpeg@
!define gpg4win_pkg_openjpeg_version @gpg4win_pkg_openjpeg_version@
@HAVE_PKG_JPEG@
!define gpg4win_pkg_jpeg @gpg4win_pkg_jpeg@
!define gpg4win_pkg_jpeg_version @gpg4win_pkg_jpeg_version@
@HAVE_PKG_KPARTS@
!define gpg4win_pkg_kparts @gpg4win_pkg_kparts@
!define gpg4win_pkg_kparts_version @gpg4win_pkg_kparts_version@
@HAVE_PKG_KTEXTWIDGETS@
!define gpg4win_pkg_ktextwidgets @gpg4win_pkg_ktextwidgets@
!define gpg4win_pkg_ktextwidgets_version @gpg4win_pkg_ktextwidgets_version@
@HAVE_PKG_SONNET@
!define gpg4win_pkg_sonnet @gpg4win_pkg_sonnet@
!define gpg4win_pkg_sonnet_version @gpg4win_pkg_sonnet_version@
@HAVE_PKG_THREADWEAVER@
!define gpg4win_pkg_threadweaver @gpg4win_pkg_threadweaver@
!define gpg4win_pkg_threadweaver_version @gpg4win_pkg_threadweaver_version@
@HAVE_PKG_GPG4WIN_TOOLS@
!define gpg4win_pkg_gpg4win_tools @gpg4win_pkg_gpg4win_tools@
!define gpg4win_pkg_gpg4win_tools_version @gpg4win_pkg_gpg4win_tools_version@
@HAVE_PKG_SCUTE@
!define gpg4win_pkg_scute @gpg4win_pkg_scute@
!define gpg4win_pkg_scute_version @gpg4win_pkg_scute_version@
@HAVE_PKG_KCALENDARCORE@
!define gpg4win_pkg_kcalendarcore @gpg4win_pkg_kcalendarcore@
!define gpg4win_pkg_kcalendarcore_version @gpg4win_pkg_kcalendarcore_version@
@HAVE_PKG_LIBICAL@
!define gpg4win_pkg_libical @gpg4win_pkg_libical@
!define gpg4win_pkg_libical_version @gpg4win_pkg_libical_version@
@HAVE_PKG_MIMETREEPARSER@
!define gpg4win_pkg_mimetreeparser @gpg4win_pkg_mimetreeparser@
!define gpg4win_pkg_mimetreeparser_version @gpg4win_pkg_mimetreeparser_version@
@HAVE_PKG_QRENCODE@
!define gpg4win_pkg_qrencode @gpg4win_pkg_qrencode@
!define gpg4win_pkg_qrencode_version @gpg4win_pkg_qrencode_version@
@HAVE_PKG_PRISON@
!define gpg4win_pkg_prison @gpg4win_pkg_prison@
!define gpg4win_pkg_prison_version @gpg4win_pkg_prison_version@
@HAVE_PKG_GPGPASS@
!define gpg4win_pkg_gpgpass @gpg4win_pkg_gpgpass@
!define gpg4win_pkg_gpgpass_version @gpg4win_pkg_gpgpass_version@
# Internal packages.
@HAVE_PKG_COMPENDIUM@
# @HAVE_PKG_MAN_NOVICE_EN@
# @HAVE_PKG_MAN_ADVANCED_EN@
diff --git a/src/inst-gpgme.nsi b/src/inst-gpgme.nsi
index 54df9b28..8fc11af3 100644
--- a/src/inst-gpgme.nsi
+++ b/src/inst-gpgme.nsi
@@ -1,78 +1,86 @@
# inst-gpgme.nsi - Installer snippet for gpgme. -*- coding: latin-1; -*-
# Copyright (C) 2005, 2007, 2008 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, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
!ifdef prefix
!undef prefix
!endif
!define prefix ${ipdir}/gpgme-${gpg4win_pkg_gpgme_version}
!ifdef exprefix
!undef exprefix
!endif
!define exprefix ${exipdir}/gpgme-${gpg4win_pkg_gpgme_version}
!ifdef DEBUG
Section "gpgme" SEC_gpgme
!else
Section "-gpgme" SEC_gpgme
!endif
SetOutPath "$INSTDIR"
!ifdef SOURCES
File "${gpg4win_pkg_gpgme}"
!else
SetOutPath "$INSTDIR\bin"
ClearErrors
SetOverwrite try
File "${prefix}/bin/libgpgme-11.dll"
SetOverwrite lastused
ifErrors 0 +3
File /oname=libgpgme-11.dll.tmp "${prefix}/bin/libgpgme-11.dll"
Rename /REBOOTOK libgpgme-11.dll.tmp libgpgme-11.dll
ClearErrors
SetOverwrite try
+ File "${prefix}/bin/libqgpgme-15.dll"
+ File "${prefix}/bin/libgpgmepp-6.dll"
File "${prefix}/libexec/gpgme-w32spawn.exe"
File "${prefix}/bin/gpgme-json.exe"
SetOutPath "$INSTDIR\lib"
File /oname=libgpgme.imp "${prefix}/lib/libgpgme.dll.a"
SetOutPath "$INSTDIR\include"
File "${prefix}/include/gpgme.h"
${If} ${RunningX64}
# Install the 64 bit version of the dll.
SetOutPath "$INSTDIR\bin_64"
ClearErrors
SetOverwrite try
File ${exprefix}/bin/libgpgme-11.dll
SetOverwrite lastused
ifErrors 0 +3
File /oname=libgpgme-11.dll.tmp "${exprefix}/bin/libgpgme-11.dll"
Rename /REBOOTOK libgpgme-11.dll.tmp libgpgme-11.dll
+ SetOverwrite try
+ File ${exprefix}/bin/libgpgmepp-6.dll
+ SetOverwrite lastused
+ ifErrors 0 +3
+ File /oname=libgpgmepp-6.dll.tmp "${exprefix}/bin/libgpgmepp-6.dll"
+ Rename /REBOOTOK libgpgmepp-6.dll.tmp libgpgmepp-6.dll
File ${exprefix}/bin/gpgme-json.exe
File "${prefix}/libexec/gpgme-w32spawn.exe"
${EndIf}
!endif
SectionEnd
diff --git a/src/inst-gpgmepp.nsi b/src/inst-gpgmepp.nsi
deleted file mode 100644
index 2223ec1c..00000000
--- a/src/inst-gpgmepp.nsi
+++ /dev/null
@@ -1,59 +0,0 @@
-# inst-gpgmepp.nsi - Installer snippet for gpgmepp. -*- coding: latin-1; -*-
-# Copyright (C) 2005, 2007, 2008, 2025 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-
-
-!ifdef prefix
-!undef prefix
-!endif
-!define prefix ${ipdir}/gpgmepp-${gpg4win_pkg_gpgmepp_version}
-!ifdef exprefix
-!undef exprefix
-!endif
-!define exprefix ${exipdir}/gpgmepp-${gpg4win_pkg_gpgmepp_version}
-
-!ifdef DEBUG
-Section "gpgmepp" SEC_gpgmepp
-!else
-Section "-gpgmepp" SEC_gpgmepp
-!endif
- SetOutPath "$INSTDIR"
-!ifdef SOURCES
- File "${gpg4win_pkg_gpgmepp}"
-!else
- SetOutPath "$INSTDIR\bin"
- ClearErrors
- SetOverwrite try
- File "${prefix}/bin/libgpgmepp-6.dll"
-
-${If} ${RunningX64}
-
- # Install the 64 bit version of the dll.
- SetOutPath "$INSTDIR\bin_64"
- ClearErrors
- SetOverwrite try
- File ${exprefix}/bin/libgpgmepp-6.dll
- SetOverwrite lastused
- ifErrors 0 +3
- File /oname=libgpgmepp-6.dll.tmp "${exprefix}/bin/libgpgmepp-6.dll"
- Rename /REBOOTOK libgpgmepp-6.dll.tmp libgpgmepp-6.dll
-
-${EndIf}
-
-!endif
-SectionEnd
diff --git a/src/inst-qgpgme.nsi b/src/inst-qgpgme.nsi
deleted file mode 100644
index 7e80b9c3..00000000
--- a/src/inst-qgpgme.nsi
+++ /dev/null
@@ -1,44 +0,0 @@
-# inst-qgpgme.nsi - Installer snippet for qgpgme. -*- coding: latin-1; -*-
-# Copyright (C) 2005, 2007, 2008, 2025 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-
-
-!ifdef prefix
-!undef prefix
-!endif
-!define prefix ${ipdir}/qgpgme-${gpg4win_pkg_qgpgme_version}
-!ifdef exprefix
-!undef exprefix
-!endif
-!define exprefix ${exipdir}/qgpgme-${gpg4win_pkg_qgpgme_version}
-
-!ifdef DEBUG
-Section "qgpgme" SEC_qgpgme
-!else
-Section "-qgpgme" SEC_qgpgme
-!endif
- SetOutPath "$INSTDIR"
-!ifdef SOURCES
- File "${gpg4win_pkg_qgpgme}"
-!else
- SetOutPath "$INSTDIR\bin"
- ClearErrors
- SetOverwrite try
- File "${prefix}/bin/libqgpgme-15.dll"
-!endif
-SectionEnd
diff --git a/src/inst-sections.nsi b/src/inst-sections.nsi
index edfaf089..f5cdc2e7 100644
--- a/src/inst-sections.nsi
+++ b/src/inst-sections.nsi
@@ -1,1193 +1,1155 @@
# inst-sections.nsi - Installer for GPG4Win sections. -*- coding: latin-1; -*-
# Copyright (C) 2005, 2006, 2007, 2008, 2009, 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 <http://www.gnu.org/licenses/>.
!include "inst-gpg4win.nsi"
# The order of installation must be the same as the build order. You
# can use tsort on the info in configure.ac, or just check out
# gpg4win_build_list in config.nsi. The order determines also the
# order in the packages selection dialog.
!ifdef HAVE_PKG_BZIP2
!include "inst-bzip2.nsi"
!endif
!ifdef HAVE_PKG_LIBICONV
!include "inst-libiconv.nsi"
!endif
!ifdef HAVE_PKG_LIBTASN1
!include "inst-libtasn1.nsi"
!endif
!ifdef HAVE_PKG_BREEZE_ICONS
!include "inst-breeze-icons.nsi"
!endif
!ifdef HAVE_PKG_PKGCONFIG
!include "inst-pkgconfig.nsi"
!endif
!ifdef HAVE_PKG_ZLIB
!include "inst-zlib.nsi"
!endif
!ifdef HAVE_PKG_QTBASE
!include "inst-qtbase.nsi"
!endif
!ifdef HAVE_PKG_GETTEXT
!include "inst-gettext.nsi"
!endif
!ifdef HAVE_PKG_LIBASSUAN
!include "inst-libassuan.nsi"
!endif
!ifdef HAVE_PKG_LIBGPG_ERROR
!include "inst-libgpg-error.nsi"
!endif
!ifdef HAVE_PKG_PINENTRY
!include "inst-pinentry.nsi"
!endif
# BEGIN MSI IGNORE
!ifdef HAVE_PKG_GNUPG_W32
!include "inst-gnupg-w32.nsi"
!endif
# END MSI IGNORE
!ifdef HAVE_PKG_GPGME
!include "inst-gpgme.nsi"
!endif
-!ifdef HAVE_PKG_GPGMEPP
-!include "inst-gpgmepp.nsi"
-!endif
-!ifdef HAVE_PKG_QGPGME
-!include "inst-qgpgme.nsi"
-!endif
!ifdef HAVE_PKG_QTTOOLS
!include "inst-qttools.nsi"
!endif
!ifdef HAVE_PKG_QTWINEXTRAS
!include "inst-qtwinextras.nsi"
!endif
!ifdef HAVE_PKG_KCONFIG
!include "inst-kconfig.nsi"
!endif
!ifdef HAVE_PKG_KI18N
!include "inst-ki18n.nsi"
!endif
!ifdef HAVE_PKG_KWIDGETSADDONS
!include "inst-kwidgetsaddons.nsi"
!endif
!ifdef HAVE_PKG_KCOMPLETION
!include "inst-kcompletion.nsi"
!endif
!ifdef HAVE_PKG_KWINDOWSYSTEM
!include "inst-kwindowsystem.nsi"
!endif
!ifdef HAVE_PKG_KCOREADDONS
!include "inst-kcoreaddons.nsi"
!endif
!ifdef HAVE_PKG_KCODECS
!include "inst-kcodecs.nsi"
!endif
!ifdef HAVE_PKG_KCONFIGWIDGETS
!include "inst-kconfigwidgets.nsi"
!endif
!ifdef HAVE_PKG_KXMLGUI
!include "inst-kxmlgui.nsi"
!endif
!ifdef HAVE_PKG_KGUIADDONS
!include "inst-kguiaddons.nsi"
!endif
!ifdef HAVE_PKG_KMBOX
!include "inst-kmbox.nsi"
!endif
!ifdef HAVE_PKG_KMIME
!include "inst-kmime.nsi"
!endif
# include translations unconditionally
!include "inst-kde-l10n.nsi"
!ifdef HAVE_PKG_KICONTHEMES
!include "inst-kiconthemes.nsi"
!endif
!ifdef HAVE_PKG_KARCHIVE
!include "inst-karchive.nsi"
!endif
!ifdef HAVE_PKG_KJOBWIDGETS
!include "inst-kjobwidgets.nsi"
!endif
!ifdef HAVE_PKG_PCRE2
!include "inst-pcre2.nsi"
!endif
!ifdef HAVE_PKG_LIBPNG
!include "inst-libpng.nsi"
!endif
!ifdef HAVE_PKG_TIFF
!include "inst-tiff.nsi"
!endif
!ifdef HAVE_PKG_OPENJPEG
!include "inst-openjpeg.nsi"
!endif
!ifdef HAVE_PKG_JPEG
!include "inst-jpeg.nsi"
!endif
!ifdef HAVE_PKG_KCRASH
!include "inst-kcrash.nsi"
!endif
!ifdef HAVE_PKG_KIO
!include "inst-kio.nsi"
!endif
!ifdef HAVE_PKG_SOLID
!include "inst-solid.nsi"
!endif
!ifdef HAVE_PKG_FREETYPE
!include "inst-freetype.nsi"
!endif
!ifdef HAVE_PKG_THREADWEAVER
!include "inst-threadweaver.nsi"
!endif
!ifdef HAVE_PKG_POPPLER
!include "inst-poppler.nsi"
!endif
!ifdef HAVE_PKG_KPARTS
!include "inst-kparts.nsi"
!endif
!ifdef HAVE_PKG_OKULAR
!include "inst-okular.nsi"
!endif
!ifdef HAVE_PKG_KBOOKMARKS
!include "inst-kbookmarks.nsi"
!endif
!ifdef HAVE_PKG_KSERVICE
!include "inst-kservice.nsi"
!endif
!ifdef HAVE_PKG_KITEMVIEWS
!include "inst-kitemviews.nsi"
!endif
!ifdef HAVE_PKG_KITEMMODELS
!include "inst-kitemmodels.nsi"
!endif
!ifdef HAVE_PKG_LIBKLEO
!include "inst-libkleo.nsi"
!endif
!ifdef HAVE_PKG_EXTRA_CMAKE_MODULES
!include "inst-extra-cmake-modules.nsi"
!endif
!ifdef HAVE_PKG_QTSVG
!include "inst-qtsvg.nsi"
!endif
!ifdef HAVE_PKG_QTTRANSLATIONS
!include "inst-qttranslations.nsi"
!endif
!ifdef HAVE_PKG_GPG4WIN_TOOLS
!include "inst-gpg4win-tools.nsi"
!endif
!ifdef HAVE_PKG_SCUTE
!include "inst-scute.nsi"
!endif
!ifdef HAVE_PKG_SONNET
!include "inst-sonnet.nsi"
!endif
!ifdef HAVE_PKG_KTEXTWIDGETS
!include "inst-ktextwidgets.nsi"
!endif
!ifdef HAVE_PKG_MIMETREEPARSER
!include "inst-mimetreeparser.nsi"
!endif
!ifdef HAVE_PKG_KCALENDARCORE
!include "inst-kcalendarcore.nsi"
!endif
!ifdef HAVE_PKG_LIBICAL
!include "inst-libical.nsi"
!endif
!ifdef HAVE_PKG_QRENCODE
!include "inst-qrencode.nsi"
!endif
!ifdef HAVE_PKG_PRISON
!include "inst-prison.nsi"
!endif
!ifdef HAVE_PKG_GPGPASS
!include "inst-gpgpass.nsi"
!endif
!ifdef HAVE_PKG_PAPERKEY
!include "inst-paperkey.nsi"
!endif
!ifdef HAVE_PKG_MAN_NOVICE_EN
!include "inst-man_novice_en.nsi"
!endif
!ifdef HAVE_PKG_MAN_ADVANCED_EN
!include "inst-man_advanced_en.nsi"
!endif
!ifdef HAVE_PKG_MAN_NOVICE_DE
!include "inst-man_novice_de.nsi"
!endif
!ifdef HAVE_PKG_MAN_ADVANCED_DE
!include "inst-man_advanced_de.nsi"
!endif
# These are displayed in the selection dialog.
!ifdef HAVE_PKG_KLEOPATRA
!include "inst-kleopatra.nsi"
!endif
!ifdef HAVE_PKG_GPGOL
!include "inst-gpgol.nsi"
!endif
!ifdef HAVE_PKG_GPGEX
!include "inst-gpgex.nsi"
!endif
!ifdef HAVE_PKG_COMPENDIUM
!include "inst-compendium.nsi"
!endif
!include "inst-gpgme-browser.nsi"
!include "inst-final.nsi"
# We have to invoke the uninstallers in reverse order!
!ifdef HAVE_PKG_MAN_ADVANCED_DE
!include "uninst-man_advanced_de.nsi"
!endif
!ifdef HAVE_PKG_MAN_NOVICE_DE
!include "uninst-man_novice_de.nsi"
!endif
!ifdef HAVE_PKG_MAN_ADVANCED_EN
!include "uninst-man_advanced_en.nsi"
!endif
!ifdef HAVE_PKG_MAN_NOVICE_EN
!include "uninst-man_novice_en.nsi"
!endif
!ifdef HAVE_PKG_COMPENDIUM
!include "uninst-compendium.nsi"
!endif
!ifdef HAVE_PKG_PAPERKEY
!include "uninst-paperkey.nsi"
!endif
!ifdef HAVE_PKG_GPGEX
!include "uninst-gpgex.nsi"
!endif
!ifdef HAVE_PKG_GPGOL
!include "uninst-gpgol.nsi"
!endif
!ifdef HAVE_PKG_KLEOPATRA
!include "uninst-kleopatra.nsi"
!endif
!ifdef HAVE_PKG_GPGME
!include "uninst-gpgme.nsi"
!endif
-!ifdef HAVE_PKG_GPGMEPP
-!include "uninst-gpgmepp.nsi"
-!endif
-!ifdef HAVE_PKG_QGPGME
-!include "uninst-qgpgme.nsi"
-!endif
!ifdef HAVE_PKG_GNUPG_W32
!include "uninst-gnupg-w32.nsi"
!endif
!ifdef HAVE_PKG_PINENTRY
!include "uninst-pinentry.nsi"
!endif
!ifdef HAVE_PKG_GNUTLS
!include "uninst-gnutls.nsi"
!endif
!ifdef HAVE_PKG_CURL
!include "uninst-curl.nsi"
!endif
!ifdef HAVE_PKG_LIBGPG_ERROR
!include "uninst-libgpg-error.nsi"
!endif
!ifdef HAVE_PKG_LIBASSUAN
!include "uninst-libassuan.nsi"
!endif
!ifdef HAVE_PKG_GETTEXT
!include "uninst-gettext.nsi"
!endif
!ifdef HAVE_PKG_QTBASE
!include "uninst-qtbase.nsi"
!endif
!ifdef HAVE_PKG_ZLIB
!include "uninst-zlib.nsi"
!endif
!ifdef HAVE_PKG_PKGCONFIG
!include "uninst-pkgconfig.nsi"
!endif
!ifdef HAVE_PKG_BREEZE_ICONS
!include "uninst-breeze-icons.nsi"
!endif
!ifdef HAVE_PKG_MAN_ADVANCED_DE
!include "uninst-man_advanced_de.nsi"
!endif
!ifdef HAVE_PKG_MAN_NOVICE_DE
!include "uninst-man_novice_de.nsi"
!endif
!ifdef HAVE_PKG_MAN_ADVANCED_EN
!include "uninst-man_advanced_en.nsi"
!endif
!ifdef HAVE_PKG_MAN_NOVICE_EN
!include "uninst-man_novice_en.nsi"
!endif
!ifdef HAVE_PKG_LIBICONV
!include "uninst-libiconv.nsi"
!endif
!ifdef HAVE_PKG_QTTOOLS
!include "uninst-qttools.nsi"
!endif
!ifdef HAVE_PKG_QTWINEXTRAS
!include "uninst-qtwinextras.nsi"
!endif
!ifdef HAVE_PKG_KCONFIG
!include "uninst-kconfig.nsi"
!endif
!ifdef HAVE_PKG_KI18N
!include "uninst-ki18n.nsi"
!endif
!ifdef HAVE_PKG_KWIDGETSADDONS
!include "uninst-kwidgetsaddons.nsi"
!endif
!ifdef HAVE_PKG_KCOMPLETION
!include "uninst-kcompletion.nsi"
!endif
!ifdef HAVE_PKG_KWINDOWSYSTEM
!include "uninst-kwindowsystem.nsi"
!endif
!ifdef HAVE_PKG_KCOREADDONS
!include "uninst-kcoreaddons.nsi"
!endif
!ifdef HAVE_PKG_KCODECS
!include "uninst-kcodecs.nsi"
!endif
!ifdef HAVE_PKG_KCONFIGWIDGETS
!include "uninst-kconfigwidgets.nsi"
!endif
!ifdef HAVE_PKG_KGUIADDONS
!include "uninst-kguiaddons.nsi"
!endif
!ifdef HAVE_PKG_KXMLGUI
!include "uninst-kxmlgui.nsi"
!endif
!ifdef HAVE_PKG_KICONTHEMES
!include "uninst-kiconthemes.nsi"
!endif
!ifdef HAVE_PKG_KARCHIVE
!include "uninst-karchive.nsi"
!endif
!ifdef HAVE_PKG_KJOBWIDGETS
!include "uninst-kjobwidgets.nsi"
!endif
!ifdef HAVE_PKG_PCRE2
!include "uninst-pcre2.nsi"
!endif
!ifdef HAVE_PKG_LIBPNG
!include "uninst-libpng.nsi"
!endif
!ifdef HAVE_PKG_TIFF
!include "uninst-tiff.nsi"
!endif
!ifdef HAVE_PKG_OPENJPEG
!include "uninst-openjpeg.nsi"
!endif
!ifdef HAVE_PKG_JPEG
!include "uninst-jpeg.nsi"
!endif
!ifdef HAVE_PKG_KCRASH
!include "uninst-kcrash.nsi"
!endif
!ifdef HAVE_PKG_KIO
!include "uninst-kio.nsi"
!endif
!ifdef HAVE_PKG_KJOBWIDGETS
!include "uninst-kjobwidgets.nsi"
!endif
!ifdef HAVE_PKG_SOLID
!include "uninst-solid.nsi"
!endif
!ifdef HAVE_PKG_FREETYPE
!include "uninst-freetype.nsi"
!endif
!ifdef HAVE_PKG_THREADWEAVER
!include "uninst-threadweaver.nsi"
!endif
!ifdef HAVE_PKG_POPPLER
!include "uninst-poppler.nsi"
!endif
!ifdef HAVE_PKG_KPARTS
!include "uninst-kparts.nsi"
!endif
!ifdef HAVE_PKG_OKULAR
!include "uninst-okular.nsi"
!endif
!ifdef HAVE_PKG_KBOOKMARKS
!include "uninst-kbookmarks.nsi"
!endif
!ifdef HAVE_PKG_KSERVICE
!include "uninst-kservice.nsi"
!endif
!ifdef HAVE_PKG_KITEMVIEWS
!include "uninst-kitemviews.nsi"
!endif
!ifdef HAVE_PKG_KITEMMODELS
!include "uninst-kitemmodels.nsi"
!endif
!ifdef HAVE_PKG_KMIME
!include "uninst-kmime.nsi"
!endif
!ifdef HAVE_PKG_KMBOX
!include "uninst-kmbox.nsi"
!endif
!include "uninst-kde-l10n.nsi"
!ifdef HAVE_PKG_LIBKLEO
!include "uninst-libkleo.nsi"
!endif
!ifdef HAVE_PKG_EXTRA_CMAKE_MODULES
!include "uninst-extra-cmake-modules.nsi"
!endif
!ifdef HAVE_PKG_BZIP2
!include "uninst-bzip2.nsi"
!endif
!ifdef HAVE_PKG_QTSVG
!include "uninst-qtsvg.nsi"
!endif
!ifdef HAVE_PKG_QTTRANSLATIONS
!include "uninst-qttranslations.nsi"
!endif
!ifdef HAVE_PKG_GPG4WIN_TOOLS
!include "uninst-gpg4win-tools.nsi"
!endif
!ifdef HAVE_PKG_KTEXTWIDGETS
!include "uninst-ktextwidgets.nsi"
!endif
!ifdef HAVE_PKG_KCALENDARCORE
!include "uninst-kcalendarcore.nsi"
!endif
!ifdef HAVE_PKG_LIBICAL
!include "uninst-libical.nsi"
!endif
!ifdef HAVE_PKG_MIMETREEPARSER
!include "uninst-mimetreeparser.nsi"
!endif
!ifdef HAVE_PKG_QRENCODE
!include "uninst-qrencode.nsi"
!endif
!ifdef HAVE_PKG_PRISON
!include "uninst-prison.nsi"
!endif
!ifdef HAVE_PKG_GPGPASS
!include "uninst-gpgpass.nsi"
!endif
!ifdef HAVE_PKG_SONNET
!include "uninst-sonnet.nsi"
!endif
!ifdef HAVE_PKG_SCUTE
!include "uninst-scute.nsi"
!endif
!include "uninst-gpg4win.nsi"
# Dependency Management
${MementoSectionDone}
Function CalcDefaults
!ifdef HAVE_PKG_KLEOPATRA
g4wihelp::config_fetch_bool "inst_kleopatra"
StrCmp $R0 "1" 0 calc_defaults_kleopatra_not_one
!insertmacro SelectSection ${SEC_kleopatra}
Goto calc_defaults_kleopatra_done
calc_defaults_kleopatra_not_one:
StrCmp $R0 "0" 0 calc_defaults_kleopatra_done
!insertmacro UnselectSection ${SEC_kleopatra}
calc_defaults_kleopatra_done:
!endif
!ifdef HAVE_PKG_OKULAR
g4wihelp::config_fetch_bool "inst_okular"
StrCmp $R0 "1" 0 calc_defaults_okular_not_one
!insertmacro SelectSection ${SEC_okular}
Goto calc_defaults_okular_done
calc_defaults_okular_not_one:
StrCmp $R0 "0" 0 calc_defaults_okular_done
!insertmacro UnselectSection ${SEC_okular}
calc_defaults_okular_done:
!endif
!ifdef HAVE_PKG_GPGPASS
g4wihelp::config_fetch_bool "inst_gpgpass"
StrCmp $R0 "1" 0 calc_defaults_gpgpass_not_one
!insertmacro SelectSection ${SEC_gpgpass}
Goto calc_defaults_gpgpass_done
calc_defaults_gpgpass_not_one:
StrCmp $R0 "0" 0 calc_defaults_gpgpass_done
!insertmacro UnselectSection ${SEC_gpgpass}
calc_defaults_gpgpass_done:
!endif
!ifdef HAVE_PKG_GPGOL
g4wihelp::config_fetch_bool "inst_gpgol"
StrCmp $R0 "1" 0 calc_defaults_gpgol_not_one
!insertmacro SelectSection ${SEC_gpgol}
Goto calc_defaults_gpgol_done
calc_defaults_gpgol_not_one:
StrCmp $R0 "0" 0 calc_defaults_gpgol_done
!insertmacro UnselectSection ${SEC_gpgol}
calc_defaults_gpgol_done:
!endif
!ifdef HAVE_PKG_GPGEX
g4wihelp::config_fetch_bool "inst_gpgex"
StrCmp $R0 "1" 0 calc_defaults_gpgex_not_one
!insertmacro SelectSection ${SEC_gpgex}
Goto calc_defaults_gpgex_done
calc_defaults_gpgex_not_one:
StrCmp $R0 "0" 0 calc_defaults_gpgex_done
!insertmacro UnselectSection ${SEC_gpgex}
calc_defaults_gpgex_done:
!endif
!ifdef HAVE_PKG_PAPERKEY
g4wihelp::config_fetch_bool "inst_paperkey"
StrCmp $R0 "1" 0 calc_defaults_paperkey_not_one
!insertmacro SelectSection ${SEC_paperkey}
Goto calc_defaults_paperkey_done
calc_defaults_paperkey_not_one:
StrCmp $R0 "0" 0 calc_defaults_paperkey_done
!insertmacro UnselectSection ${SEC_paperkey}
calc_defaults_paperkey_done:
!endif
!ifdef HAVE_PKG_COMPENDIUM
g4wihelp::config_fetch_bool "inst_compendium"
StrCmp $R0 "1" 0 calc_defaults_compendium_not_one
!insertmacro SelectSection ${SEC_compendium}
Goto calc_defaults_compendium_done
calc_defaults_compendium_not_one:
StrCmp $R0 "0" 0 calc_defaults_compendium_done
!insertmacro UnselectSection ${SEC_compendium}
calc_defaults_compendium_done:
!endif
!ifdef HAVE_PKG_MAN_NOVICE_DE
g4wihelp::config_fetch_bool "inst_man_novice_de"
StrCmp $R0 "1" 0 calc_defaults_man_novice_de_not_one
!insertmacro SelectSection ${SEC_man_novice_de}
Goto calc_defaults_man_novice_de_done
calc_defaults_man_novice_de_not_one:
StrCmp $R0 "0" 0 calc_defaults_man_novice_de_done
!insertmacro UnselectSection ${SEC_man_novice_de}
calc_defaults_man_novice_de_done:
!endif
!ifdef HAVE_PKG_MAN_NOVICE_EN
g4wihelp::config_fetch_bool "inst_man_novice_en"
StrCmp $R0 "1" 0 calc_defaults_man_novice_en_not_one
!insertmacro SelectSection ${SEC_man_novice_en}
Goto calc_defaults_man_novice_en_done
calc_defaults_man_novice_en_not_one:
StrCmp $R0 "0" 0 calc_defaults_man_novice_en_done
!insertmacro UnselectSection ${SEC_man_novice_en}
calc_defaults_man_novice_en_done:
!endif
!ifdef HAVE_PKG_MAN_ADVANCED_DE
g4wihelp::config_fetch_bool "inst_man_advanced_de"
StrCmp $R0 "1" 0 calc_defaults_man_advanced_de_not_one
!insertmacro SelectSection ${SEC_man_advanced_de}
Goto calc_defaults_man_advanced_de_done
calc_defaults_man_advanced_de_not_one:
StrCmp $R0 "0" 0 calc_defaults_man_advanced_de_done
!insertmacro UnselectSection ${SEC_man_advanced_de}
calc_defaults_man_advanced_de_done:
!endif
!ifdef HAVE_PKG_MAN_ADVANCED_EN
g4wihelp::config_fetch_bool "inst_man_advanced_en"
StrCmp $R0 "1" 0 calc_defaults_man_advanced_en_not_one
!insertmacro SelectSection ${SEC_man_advanced_en}
Goto calc_defaults_man_advanced_en_done
calc_defaults_man_advanced_en_not_one:
StrCmp $R0 "0" 0 calc_defaults_man_advanced_en_done
!insertmacro UnselectSection ${SEC_man_advanced_en}
calc_defaults_man_advanced_en_done:
!endif
# Check if minimal install was requested on the command line
StrCmp $is_minimal '1' select_minimal continue
select_minimal:
!insertmacro UnselectSection ${SEC_kleopatra}
!insertmacro UnselectSection ${SEC_okular}
!insertmacro UnselectSection ${SEC_gpgpass}
!insertmacro UnselectSection ${SEC_gpgol}
!insertmacro UnselectSection ${SEC_gpgex}
!insertmacro UnselectSection ${SEC_gpgme_browser}
!insertmacro UnselectSection ${SEC_compendium}
# We only do pinentry and gnupg-w32
!insertmacro SelectSection ${SEC_paperkey}
!insertmacro SelectSection ${SEC_gnupg_w32}
!insertmacro SelectSection ${SEC_pinentry}
!insertmacro SelectSection ${SEC_gpgme}
continue:
# Check if browser integration was selected on the command line
# or in the ini
# You can either select the browser integration by adding
# inst_browser = true to a gpg4win.ini or adding a
# /WITH_BROWSER=1 command line switch to the installer.
g4wihelp::config_fetch_bool "inst_browser"
StrCmp $R0 "1" select_browser 0
StrCmp $with_browser '1' select_browser skip_browser
select_browser:
!insertmacro SelectSection ${SEC_gpgme_browser}
skip_browser:
FunctionEnd
Function CalcDepends
# This section could very well be autogenerated from the
# information in configure.ac. Note that it doesn't hurt to have
# stuff here for packages that we don't include.
# First clear all indirect dependencies.
!ifdef HAVE_PKG_LIBICONV
!insertmacro UnselectSection ${SEC_libiconv}
!endif
!ifdef HAVE_PKG_GETTEXT
!insertmacro UnselectSection ${SEC_gettext}
!endif
!ifdef HAVE_PKG_ZLIB
!insertmacro UnselectSection ${SEC_zlib}
!endif
!ifdef HAVE_PKG_PKGCONFIG
!insertmacro UnselectSection ${SEC_pkgconfig}
!endif
!ifdef HAVE_PKG_BZIP2
!insertmacro UnselectSection ${SEC_bzip2}
!endif
!ifdef HAVE_PKG_LIBGPG_ERROR
!insertmacro UnselectSection ${SEC_libgpg_error}
!endif
!ifdef HAVE_PKG_LIBASSUAN
!insertmacro UnselectSection ${SEC_libassuan}
!endif
!ifdef HAVE_PKG_GPGME
!insertmacro UnselectSection ${SEC_gpgme}
!endif
-!ifdef HAVE_PKG_GPGMEPP
- !insertmacro UnselectSection ${SEC_gpgmepp}
-!endif
-!ifdef HAVE_PKG_QGPGME
- !insertmacro UnselectSection ${SEC_qgpgme}
-!endif
!ifdef HAVE_PKG_QTBASE
!insertmacro UnselectSection ${SEC_qtbase}
!endif
!ifdef HAVE_PKG_QTTOOLS
!insertmacro UnselectSection ${SEC_qttools}
!endif
!ifdef HAVE_PKG_QTWINEXTRAS
!insertmacro UnselectSection ${SEC_qtwinextras}
!endif
!ifdef HAVE_PKG_FREETYPE
!insertmacro UnselectSection ${SEC_freetype}
!endif
!ifdef HAVE_PKG_BREEZE_ICONS
!insertmacro UnselectSection ${SEC_breeze_icons}
!endif
!ifdef HAVE_PKG_KCONFIG
!insertmacro UnselectSection ${SEC_kconfig}
!endif
!ifdef HAVE_PKG_KI18N
!insertmacro UnselectSection ${SEC_ki18n}
!endif
!ifdef HAVE_PKG_KWIDGETSADDONS
!insertmacro UnselectSection ${SEC_kwidgetsaddons}
!endif
!ifdef HAVE_PKG_KCOMPLETION
!insertmacro UnselectSection ${SEC_kcompletion}
!endif
!ifdef HAVE_PKG_KWINDOWSYSTEM
!insertmacro UnselectSection ${SEC_kwindowsystem}
!endif
!ifdef HAVE_PKG_KCOREADDONS
!insertmacro UnselectSection ${SEC_kcoreaddons}
!endif
!ifdef HAVE_PKG_KCODECS
!insertmacro UnselectSection ${SEC_kcodecs}
!endif
!ifdef HAVE_PKG_KCONFIGWIDGETS
!insertmacro UnselectSection ${SEC_kconfigwidgets}
!endif
!ifdef HAVE_PKG_KXMLGUI
!insertmacro UnselectSection ${SEC_kxmlgui}
!endif
!ifdef HAVE_PKG_KICONTHEMES
!insertmacro UnselectSection ${SEC_kiconthemes}
!endif
!ifdef HAVE_PKG_KARCHIVE
!insertmacro UnselectSection ${SEC_karchive}
!endif
!ifdef HAVE_PKG_KCRASH
!insertmacro UnselectSection ${SEC_kcrash}
!endif
!ifdef HAVE_PKG_KIO
!insertmacro UnselectSection ${SEC_kio}
!endif
!ifdef HAVE_PKG_KJOBWIDGETS
!insertmacro UnselectSection ${SEC_kjobwidgets}
!endif
!ifdef HAVE_PKG_LIBPNG
!insertmacro UnselectSection ${SEC_libpng}
!endif
!ifdef HAVE_PKG_TIFF
!insertmacro UnselectSection ${SEC_tiff}
!endif
!ifdef HAVE_PKG_PCRE2
!insertmacro UnselectSection ${SEC_pcre2}
!endif
!ifdef HAVE_PKG_OPENJPEG
!insertmacro UnselectSection ${SEC_openjpeg}
!endif
!ifdef HAVE_PKG_JPEG
!insertmacro UnselectSection ${SEC_jpeg}
!endif
!ifdef HAVE_PKG_SOLID
!insertmacro UnselectSection ${SEC_solid}
!endif
!ifdef HAVE_PKG_POPPLER
!insertmacro UnselectSection ${SEC_poppler}
!endif
!ifdef HAVE_PKG_KPARTS
!insertmacro UnselectSection ${SEC_kparts}
!endif
!ifdef HAVE_PKG_FREETYPE
!insertmacro UnselectSection ${SEC_freetype}
!endif
!ifdef HAVE_PKG_KBOOKMARKS
!insertmacro UnselectSection ${SEC_kbookmarks}
!endif
!ifdef HAVE_PKG_KSERVICE
!insertmacro UnselectSection ${SEC_kservice}
!endif
!ifdef HAVE_PKG_KITEMVIEWS
!insertmacro UnselectSection ${SEC_kitemviews}
!endif
!ifdef HAVE_PKG_KITEMMODELS
!insertmacro UnselectSection ${SEC_kitemmodels}
!endif
!ifdef HAVE_PKG_KGUIADDONS
!insertmacro UnselectSection ${SEC_kguiaddons}
!endif
!ifdef HAVE_PKG_LIBKLEO
!insertmacro UnselectSection ${SEC_libkleo}
!endif
!ifdef HAVE_PKG_KMIME
!insertmacro UnselectSection ${SEC_kmime}
!endif
!ifdef HAVE_PKG_KMBOX
!insertmacro UnselectSection ${SEC_kmbox}
!endif
!ifdef HAVE_PKG_SONNET
!insertmacro UnselectSection ${SEC_sonnet}
!endif
!ifdef HAVE_PKG_KTEXTWIDGETS
!insertmacro UnselectSection ${SEC_ktextwidgets}
!endif
!ifdef HAVE_PKG_KCALENDARCORE
!insertmacro UnselectSection ${SEC_kcalendarcore}
!endif
!ifdef HAVE_PKG_LIBICAL
!insertmacro UnselectSection ${SEC_libical}
!endif
!ifdef HAVE_PKG_MIMETREEPARSER
!insertmacro UnselectSection ${SEC_mimetreeparser}
!endif
!ifdef HAVE_PKG_PRISON
!insertmacro UnselectSection ${SEC_prison}
!endif
!ifdef HAVE_PKG_QRENCODE
!insertmacro UnselectSection ${SEC_qrencode}
!endif
!ifdef HAVE_PKG_KDE_L10N
!insertmacro UnselectSection ${SEC_kde_l10n}
!endif
!ifdef HAVE_PKG_QTSVG
!insertmacro UnselectSection ${SEC_qtsvg}
!endif
!ifdef HAVE_PKG_QTTRANSLATIONS
!insertmacro UnselectSection ${SEC_qttranslations}
!endif
!ifdef HAVE_PKG_GPG4WIN_TOOLS
!insertmacro UnselectSection ${SEC_gpg4win_tools}
!endif
# BEGIN MSI IGNORE
# MSI pulls this in through the gnupg-w32 component.
# Always install gnupg2. This is also ensured by putting
# these packages in the RO section and enabling them by default, but
# it doesn't harm to add it explicitely here as well.
# TODO: Handle newer / other gnupg versions
!insertmacro SelectSection ${SEC_gnupg_w32}
!insertmacro SelectSection ${SEC_gpgme}
# Then enable all dependencies, mostly in reverse build list order!
# First the explicitely installed packages.
# END MSI IGNORE
!ifdef HAVE_PKG_PAPERKEY
!insertmacro SectionFlagIsSet ${SEC_paperkey} \
${SF_SELECTED} have_paperkey skip_paperkey
have_paperkey:
# All dependencies are linked in statically.
skip_paperkey:
!endif
!ifdef HAVE_PKG_GPGEX
!insertmacro SectionFlagIsSet ${SEC_gpgex} \
${SF_SELECTED} have_gpgex skip_gpgex
have_gpgex:
# This is not a build dependency, but it is a run-time dependency.
!insertmacro SelectSection ${SEC_kleopatra}
# Other dependencies are linked in statically.
skip_gpgex:
!endif
!ifdef HAVE_PKG_GPGOL
!insertmacro SectionFlagIsSet ${SEC_gpgol} \
${SF_SELECTED} have_gpgol skip_gpgol
have_gpgol:
!insertmacro SelectSection ${SEC_gpgme}
- !insertmacro SelectSection ${SEC_gpgmepp}
!insertmacro SelectSection ${SEC_gpg4win_tools}
# This is not a build dependency, but it is a run-time dependency.
!insertmacro SelectSection ${SEC_kleopatra}
skip_gpgol:
!endif
!ifdef HAVE_PKG_OKULAR
${IfNot} ${AtLeastWin7}
# Disable Okular for Windows below 7
SectionSetFlags ${SEC_okular} 16
${Endif}
!insertmacro SectionFlagIsSet ${SEC_okular} ${SF_SELECTED} have_okular skip_okular
have_okular:
!insertmacro SelectSection ${SEC_gpgme}
- !insertmacro SelectSection ${SEC_gpgmepp}
!insertmacro SelectSection ${SEC_qtbase}
!insertmacro SelectSection ${SEC_breeze_icons}
!insertmacro SelectSection ${SEC_kconfig}
!insertmacro SelectSection ${SEC_ki18n}
!insertmacro SelectSection ${SEC_kwidgetsaddons}
!insertmacro SelectSection ${SEC_kcompletion}
!insertmacro SelectSection ${SEC_kwindowsystem}
!insertmacro SelectSection ${SEC_kcoreaddons}
!insertmacro SelectSection ${SEC_kcodecs}
!insertmacro SelectSection ${SEC_kconfigwidgets}
!insertmacro SelectSection ${SEC_kxmlgui}
!insertmacro SelectSection ${SEC_kitemviews}
!insertmacro SelectSection ${SEC_kitemmodels}
!insertmacro SelectSection ${SEC_kiconthemes}
!insertmacro SelectSection ${SEC_karchive}
!insertmacro SelectSection ${SEC_kio}
!insertmacro SelectSection ${SEC_kjobwidgets}
!insertmacro SelectSection ${SEC_solid}
!insertmacro SelectSection ${SEC_kservice}
!insertmacro SelectSection ${SEC_kbookmarks}
!insertmacro SelectSection ${SEC_poppler}
!insertmacro SelectSection ${SEC_threadweaver}
!insertmacro SelectSection ${SEC_kparts}
!insertmacro SelectSection ${SEC_kcrash}
!insertmacro SelectSection ${SEC_kguiaddons}
!insertmacro SelectSection ${SEC_kde_l10n}
!insertmacro SelectSection ${SEC_extra-cmake-modules}
!insertmacro SelectSection ${SEC_tiff}
!insertmacro SelectSection ${SEC_sonnet}
!insertmacro SelectSection ${SEC_ktextwidgets}
!insertmacro SelectSection ${SEC_openjpeg}
skip_okular:
!endif
!ifdef HAVE_PKG_GPGPASS
${IfNot} ${AtLeastWin7}
# Disable Gpgpass for Windows below 7
SectionSetFlags ${SEC_gpgpass} 16
${Endif}
!insertmacro SectionFlagIsSet ${SEC_gpgpass} ${SF_SELECTED} have_gpgpass skip_gpgpass
have_gpgpass:
!insertmacro SelectSection ${SEC_kde_l10n}
!insertmacro SelectSection ${SEC_gpgme}
- !insertmacro SelectSection ${SEC_gpgmepp}
- !insertmacro SelectSection ${SEC_qgpgme}
!insertmacro SelectSection ${SEC_qtbase}
!insertmacro SelectSection ${SEC_breeze_icons}
!insertmacro SelectSection ${SEC_kconfig}
!insertmacro SelectSection ${SEC_qrencode}
!insertmacro SelectSection ${SEC_prison}
skip_gpgpass:
!endif
!ifdef HAVE_PKG_KLEOPATRA
!ifndef SOURCES
${IfNot} ${AtLeastWin7}
# Disable Kleo for Windows below 7
SectionSetFlags ${SEC_kleopatra} 16
${Endif}
!endif
!insertmacro SectionFlagIsSet ${SEC_kleopatra} ${SF_SELECTED} have_kleopatra skip_kleopatra
have_kleopatra:
!insertmacro SelectSection ${SEC_gpgme}
- !insertmacro SelectSection ${SEC_gpgmepp}
- !insertmacro SelectSection ${SEC_qgpgme}
!insertmacro SelectSection ${SEC_compendium}
!insertmacro SelectSection ${SEC_qtbase}
!insertmacro SelectSection ${SEC_breeze_icons}
!insertmacro SelectSection ${SEC_kconfig}
!insertmacro SelectSection ${SEC_ki18n}
!insertmacro SelectSection ${SEC_kwidgetsaddons}
!insertmacro SelectSection ${SEC_kcompletion}
!insertmacro SelectSection ${SEC_kwindowsystem}
!insertmacro SelectSection ${SEC_kcoreaddons}
!insertmacro SelectSection ${SEC_kcodecs}
!insertmacro SelectSection ${SEC_kconfigwidgets}
!insertmacro SelectSection ${SEC_kxmlgui}
!insertmacro SelectSection ${SEC_kitemviews}
!insertmacro SelectSection ${SEC_kitemmodels}
!insertmacro SelectSection ${SEC_kiconthemes}
!insertmacro SelectSection ${SEC_karchive}
!insertmacro SelectSection ${SEC_kio}
!insertmacro SelectSection ${SEC_kjobwidgets}
!insertmacro SelectSection ${SEC_solid}
!insertmacro SelectSection ${SEC_kservice}
!insertmacro SelectSection ${SEC_kbookmarks}
!insertmacro SelectSection ${SEC_kcrash}
!insertmacro SelectSection ${SEC_kguiaddons}
!insertmacro SelectSection ${SEC_kmbox}
!insertmacro SelectSection ${SEC_kmime}
!insertmacro SelectSection ${SEC_kde_l10n}
!insertmacro SelectSection ${SEC_libkleo}
!insertmacro SelectSection ${SEC_qttools}
!insertmacro SelectSection ${SEC_qtwinextras}
!insertmacro SelectSection ${SEC_extra-cmake-modules}
!insertmacro SelectSection ${SEC_sonnet}
!insertmacro SelectSection ${SEC_ktextwidgets}
!insertmacro SelectSection ${SEC_mimetreeparser}
!insertmacro SelectSection ${SEC_libical}
!insertmacro SelectSection ${SEC_kcalendarcore}
skip_kleopatra:
!endif
!insertmacro SectionFlagIsSet ${SEC_gpgme_browser} ${SF_SELECTED} have_gpgme_browser skip_gpgme_browser
have_gpgme_browser:
!insertmacro SelectSection ${SEC_gpgme}
skip_gpgme_browser:
# Now the implicitely installed packages.
!ifdef HAVE_PKG_GPGME
!insertmacro SectionFlagIsSet ${SEC_gpgme} \
${SF_SELECTED} have_gpgme skip_gpgme
have_gpgme:
# GPGME does not depend on gnupg2. Do this in the
# actual application instead.
!insertmacro SelectSection ${SEC_libgpg_error}
!insertmacro SelectSection ${SEC_libassuan}
- skip_gpgme:
-!endif
-
-!ifdef HAVE_PKG_GPGMEPP
- !insertmacro SectionFlagIsSet ${SEC_gpgmepp} \
- ${SF_SELECTED} have_gpgmepp skip_gpgmepp
- have_gpgmepp:
- !insertmacro SelectSection ${SEC_gpgme}
- skip_gpgmepp:
-!endif
-
-!ifdef HAVE_PKG_QGPGME
- !insertmacro SectionFlagIsSet ${SEC_qgpgme} \
- ${SF_SELECTED} have_qgpgme skip_qgpgme
- have_qgpgme:
- !insertmacro SelectSection ${SEC_qgpgme}
+!ifdef HAVE_PKG_QTBASE
!insertmacro SelectSection ${SEC_qtbase}
- skip_qgpgme:
+!endif
+ skip_gpgme:
!endif
!ifdef HAVE_PKG_PINENTRY
!insertmacro SectionFlagIsSet ${SEC_pinentry} \
${SF_SELECTED} have_pinentry skip_pinentry
have_pinentry:
!insertmacro SelectSection ${SEC_libiconv}
!insertmacro SelectSection ${SEC_libgpg_error}
!insertmacro SelectSection ${SEC_libassuan}
!ifdef HAVE_PKG_QTBASE
!insertmacro SelectSection ${SEC_qtbase}
!endif
# BEGIN MSI IGNORE
!ifdef HAVE_PKG_GTK_
!insertmacro SelectSection ${SEC_gtk_}
!endif
# END MSI IGNORE
skip_pinentry:
!endif
!ifdef HAVE_PKG_QTBASE
!ifndef SOURCES
${IfNot} ${AtLeastWin7}
# Disable qt for Windows below 7
!insertmacro UnSelectSection ${SEC_qtbase}
${Endif}
!endif
!insertmacro SectionFlagIsSet ${SEC_qtbase} \
${SF_SELECTED} have_qtbase skip_qtbase
have_qtbase:
!insertmacro SelectSection ${SEC_zlib}
!insertmacro SelectSection ${SEC_qttranslations}
!insertmacro SelectSection ${SEC_freetype}
!insertmacro SelectSection ${SEC_libpng}
!insertmacro SelectSection ${SEC_jpeg}
!insertmacro SelectSection ${SEC_pcre2}
!insertmacro SelectSection ${SEC_qtsvg}
!insertmacro SelectSection ${SEC_qtwinextras}
!insertmacro SelectSection ${SEC_qttools}
skip_qtbase:
!endif
!ifdef HAVE_PKG_LIBASSUAN
!insertmacro SectionFlagIsSet ${SEC_libassuan} ${SF_SELECTED} have_libassuan skip_libassuan
have_libassuan:
!insertmacro SelectSection ${SEC_libgpg_error}
skip_libassuan:
!endif
!ifdef HAVE_PKG_LIBGPG_ERROR
!insertmacro SectionFlagIsSet ${SEC_libgpg_error} ${SF_SELECTED} have_libgpg_error skip_libgpg_error
have_libgpg_error:
!insertmacro SelectSection ${SEC_libiconv}
!insertmacro SelectSection ${SEC_gettext}
skip_libgpg_error:
!endif
# Package "bzip2" has no dependencies.
# Package "pkgconfig" has no dependencies.
# Package "zlib" has no dependencies.
!ifdef HAVE_PKG_GETTEXT
!insertmacro SectionFlagIsSet ${SEC_gettext} \
${SF_SELECTED} have_gettext skip_gettext
have_gettext:
!insertmacro SelectSection ${SEC_libiconv}
skip_gettext:
!endif
# Package "libiconv" has no dependencies.
FunctionEnd
Function .onInstFailed
Delete $TEMP\gpgspltmp.wav
FunctionEnd
Function .onInstSuccess
${MementoSectionSave}
Delete $TEMP\gpgspltmp.wav
FunctionEnd
Function .onSelChange
Call CalcDepends
FunctionEnd
# This also must be in a central place. Also Urgs.
Section "-startmenu"
UserInfo::GetAccountType
Pop $1
StrCmp $1 "Admin" is_admin is_no_admin
is_admin:
SetShellVarContext all
is_no_admin:
# NOT SetOutPath.
StrCpy $OUTDIR "%HOMEDRIVE%%HOMEPATH%"
# Check if the start menu entries where requested.
g4wihelp::config_fetch_bool "inst_start_menu"
StrCmp $R0 "0" no_start_menu
!ifdef HAVE_PKG_KLEOPATRA
SectionGetFlags ${SEC_kleopatra} $R0
IntOp $R0 $R0 & ${SF_SELECTED}
IntCmp $R0 ${SF_SELECTED} 0 no_kleopatra_menu
CreateShortCut "$SMPROGRAMS\Kleopatra.lnk" \
"$INSTDIR\bin\kleopatra.exe" \
"" "$INSTDIR\bin\kleopatra.exe" "" SW_SHOWNORMAL "" $(DESC_Menu_kleopatra)
no_kleopatra_menu:
!endif
!ifdef HAVE_PKG_OKULAR
SectionGetFlags ${SEC_okular} $R0
IntOp $R0 $R0 & ${SF_SELECTED}
IntCmp $R0 ${SF_SELECTED} 0 no_okular_menu
CreateShortCut "$SMPROGRAMS\Okular - GnuPG Edition.lnk" \
"$INSTDIR\bin\okular.exe" \
"" "$INSTDIR\bin\okular.exe" "" SW_SHOWNORMAL "" $(DESC_Menu_okular)
no_okular_menu:
!endif
!ifdef HAVE_PKG_GPGPASS
SectionGetFlags ${SEC_gpgpass} $R0
IntOp $R0 $R0 & ${SF_SELECTED}
IntCmp $R0 ${SF_SELECTED} 0 no_gpgpass_menu
CreateShortCut "$SMPROGRAMS\GnuPG Password Manager.lnk" \
"$INSTDIR\bin\gpgpass.exe" \
"" "$INSTDIR\bin\gpgpass.exe" "" SW_SHOWNORMAL "" $(DESC_Menu_okular)
no_gpgpass_menu:
!endif
no_start_menu:
# Check if the desktop entries where requested.
g4wihelp::config_fetch_bool "inst_desktop"
StrCmp $R0 "0" no_desktop
!ifdef HAVE_PKG_KLEOPATRA
SectionGetFlags ${SEC_kleopatra} $R0
IntOp $R0 $R0 & ${SF_SELECTED}
IntCmp $R0 ${SF_SELECTED} 0 no_kleopatra_desktop
StrCmp $is_update '1' no_kleopatra_desktop
CreateShortCut "$DESKTOP\Kleopatra.lnk" \
"$INSTDIR\bin\kleopatra.exe" \
"" "$INSTDIR\bin\kleopatra.exe" "" SW_SHOWNORMAL "" $(DESC_Menu_kleopatra)
no_kleopatra_desktop:
!endif
no_desktop:
SectionEnd
diff --git a/src/uninst-gpgme.nsi b/src/uninst-gpgme.nsi
index 77bc6e3f..70d5406d 100644
--- a/src/uninst-gpgme.nsi
+++ b/src/uninst-gpgme.nsi
@@ -1,58 +1,61 @@
# uninst-gpgme.nsi - Installer snippet for gpgme. -*- coding: latin-1; -*-
# Copyright (C) 2005, 2007, 2008 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, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
!ifdef prefix
!undef prefix
!endif
!define prefix ${ipdir}/gpgme-${gpg4win_pkg_gpgme_version}
; Uninstaller section.
Section "-un.gpgme"
!ifdef SOURCES
Push "${gpg4win_pkg_gpgme}"
Call un.SourceDelete
!else
Delete /REBOOTOK "$INSTDIR\bin\libgpgme-11.dll"
+ Delete /REBOOTOK "$INSTDIR\bin\libqgpgme-15.dll"
+ Delete /REBOOTOK "$INSTDIR\bin\libgpgmepp-6.dll"
${If} ${RunningX64}
+ Delete /REBOOTOK "$INSTDIR\bin_64\libgpgmepp-6.dll"
Delete /REBOOTOK "$INSTDIR\bin_64\libgpgme-11.dll"
Delete /REBOOTOK "$INSTDIR\bin_64\gpgme-json.exe"
Delete "$INSTDIR\bin_64\gpgme-w32spawn.exe"
${EndIf}
Delete "$INSTDIR\bin\gpgme-w32spawn.exe"
Delete "$INSTDIR\bin\gpgme-json.exe"
Delete "$INSTDIR\lib\libgpgme.imp"
Delete "$INSTDIR\include\gpgme.h"
Delete "$INSTDIR\bin\gpgme-chrome.json"
Delete "$INSTDIR\bin\gpgme-mozilla.json"
Delete "$INSTDIR\bin\gpgme-edge.json"
DeleteRegKey SHCTX "Software\Google\Chrome\NativeMessagingHosts\gpgmejson"
DeleteRegKey SHCTX "Software\Microsoft\Edge\NativeMessagingHosts\gpgmejson"
DeleteRegKey SHCTX "Software\Mozilla\NativeMessagingHosts\gpgmejson"
SetRegView 64
DeleteRegKey SHCTX "Software\Google\Chrome\NativeMessagingHosts\gpgmejson"
DeleteRegKey SHCTX "Software\Microsoft\Edge\NativeMessagingHosts\gpgmejson"
DeleteRegKey SHCTX "Software\Mozilla\NativeMessagingHosts\gpgmejson"
SetRegView 32
!endif
SectionEnd
diff --git a/src/uninst-gpgmepp.nsi b/src/uninst-gpgmepp.nsi
deleted file mode 100644
index 9e43b82f..00000000
--- a/src/uninst-gpgmepp.nsi
+++ /dev/null
@@ -1,38 +0,0 @@
-# uninst-gpgmepp.nsi - Installer snippet for gpgmepp. -*- coding: latin-1; -*-
-# Copyright (C) 2005, 2007, 2008 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-
-
-!ifdef prefix
-!undef prefix
-!endif
-!define prefix ${ipdir}/gpgmepp-${gpg4win_pkg_gpgmepp_version}
-
-
-; Uninstaller section.
-Section "-un.gpgmepp"
-!ifdef SOURCES
- Push "${gpg4win_pkg_gpgmepp}"
- Call un.SourceDelete
-!else
- Delete /REBOOTOK "$INSTDIR\bin\libgpgmepp-6.dll"
-${If} ${RunningX64}
- Delete /REBOOTOK "$INSTDIR\bin_64\libgpgmepp-6.dll"
-${EndIf}
-!endif
-SectionEnd
diff --git a/src/uninst-qgpgme.nsi b/src/uninst-qgpgme.nsi
deleted file mode 100644
index d2767e74..00000000
--- a/src/uninst-qgpgme.nsi
+++ /dev/null
@@ -1,35 +0,0 @@
-# uninst-qgpgme.nsi - Installer snippet for qgpgme. -*- coding: latin-1; -*-
-# Copyright (C) 2005, 2007, 2008 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-
-
-!ifdef prefix
-!undef prefix
-!endif
-!define prefix ${ipdir}/qgpgme-${gpg4win_pkg_qgpgme_version}
-
-
-; Uninstaller section.
-Section "-un.qgpgme"
-!ifdef SOURCES
- Push "${gpg4win_pkg_qgpgme}"
- Call un.SourceDelete
-!else
- Delete /REBOOTOK "$INSTDIR\bin\libqgpgme-15.dll"
-!endif
-SectionEnd
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Wed, Dec 24, 10:49 PM (1 d, 22 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
ec/6e/b93fecca6e47df996f6b68fbfeee
Attached To
rW Gpg4win
Event Timeline
Log In to Comment