Page MenuHome GnuPG

No OneTemporary

diff --git a/Makefile.am b/Makefile.am
index 5f1bc352..6826d284 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,169 +1,168 @@
# Makefile.am - Installer for GnuPG 4 Windows Makefile.
# Copyright (C) 2005, 2008, 2012 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/>.
ACLOCAL_AMFLAGS = -I m4
AUTOMAKE_OPTIONS = dist-xz no-dist-gzip
DISTCHECK_CONFIGURE_FLAGS = --host=i686-w64-mingw32
if BUILD_GPG4WIN
po = po
else
po =
endif
if BUILD_GPG4WIN
doc = doc
else
doc =
endif
SUBDIRS = ${po} packages ${doc} src
# find patches -type f | sort | sed 's/$/ \\/' | sed 's/^/ /'
# find -L patches-appimage -type f | sort | sed 's/$/ \\/' | sed 's/^/ /'
EXTRA_DIST = build.sh autogen.rc autogen.sh VERSION README.GIT ONEWS \
doc/license-page doc/GPLv3 build.sh \
build-aux/git-log-footer build-aux/git-log-fix \
build-aux/gpg-authcode-sign.sh \
docker/appimage/Dockerfile \
docker/appimage/Dockerfile-CentOS7 \
docker/gpg4win-bookworm/Dockerfile \
patches/breeze/0001-Do-not-alias-QtOpenGL-and-QtNetwork.patch \
patches/breeze/0002-fix-ifdef-windows-qmenu.patch \
patches/breeze-icons/0001-Allow-to-disable-building-of-the-icon-library-native.patch \
patches/breeze-icons/0001-Draft-Handle-cross-compiling-for-tools.patch \
patches/breeze-icons/remove-kleopatra-icons.patch \
patches/extra-cmake-modules/0001-Do-not-abort-without-QML-native.patch \
patches/extra-cmake-modules/0001-Use-BIN_INSTALL_DIR-data-for-DATAROOTDIR-on-Windows.patch \
patches/gpgoljs-202412051138/0001-Make-gpgme-include-future-proof.patch \
patches/jpeg/fix-redefine.patch \
patches/kcalendarcore/0001-Add-option-to-build-without-QML.patch \
patches/kcoreaddons/0001-Fix-MINGW-build.patch \
patches/kguiaddons/0001-DRAFT-There-is-no-dark-mode-on-old-Windows.patch \
patches/ki18n/0001-Undef-snprintf-for-windows.patch \
patches/kjobwidgets/0001-Remove-knotification.patch \
patches/kleopatra-202501091104/0000-Also-install-the-scalable-kleopatra-icon.patch \
patches/kleopatra-202501091104/0001-Make-it-possible-to-run-different-flavors-of-Kleopat.patch \
patches/kleopatra-202501091104/0002-Allow-to-use-different-icons-for-a-customized-build.patch \
patches/kleopatra-202501091104/0003-On-Windows-embed-our-app-icon-as-Breeze-icon.patch \
patches/knotifications/0001-Fix-build-wihout-QDbus.patch \
- patches/ktextaddons/0001-Remove-unused-QDbus-includes.patch \
patches/libical/workaround-weird-mingw-10.0.0-issue.patch \
patches/mimetreeparser-202412051138/fix-build-error-in-202412051138.patch \
patches/okular/0001-Add-GnuPG-specific-manifest-to-okular.patch \
patches/okular/0001-Add-support-to-customize-about-data.sik \
patches/okular/lower-cmake-requirement.patch \
patches/pcre2/cross-build-cmake.patch \
patches/qtbase/0001-Gpg4win-qstandardpaths-patch.patch \
patches/qtbase/add-kleopatras-mime-types.patch \
patches/qtbase/configurable-windowstheme.patch \
patches/qtbase/qt_use_share_instead_of_data.patch \
patches-appimage/breeze/0001-Do-not-alias-QtOpenGL-and-QtNetwork.patch \
patches-appimage/breeze/0002-fix-ifdef-windows-qmenu.patch \
patches-appimage/extra-cmake-modules/0001-Do-not-abort-without-QML-native.patch \
patches-appimage/extra-cmake-modules/0001-Use-BIN_INSTALL_DIR-data-for-DATAROOTDIR-on-Windows.patch \
patches-appimage/kcalendarcore/0001-Add-option-to-build-without-QML.patch \
patches-appimage/kcrash/0001-Add-option-to-disable-OpenGL-support.patch \
patches-appimage/kjobwidgets/0001-Remove-knotification.patch \
patches-appimage/mimetreeparser-202412051138/fix-build-error-in-202412051138.patch \
patches-appimage/okular/0001-Make-KF6Pty-dependency-optional.patch \
patches-appimage/okular/lower-cmake-requirement.patch \
patches-appimage/qtbase/0001-Gpg4win-qstandardpaths-patch.patch \
patches-appimage/qtbase/add-kleopatras-mime-types.patch \
patches-appimage/qtbase/configurable-windowstheme.patch \
patches-appimage/qtbase/qt_use_share_instead_of_data.patch
dist-hook: gen-ChangeLog pack_packages_tarballs
if BUILD_W64_COND
w64_extraargs=" --w64"
endif
distcheck-hook:
set -e; ( \
pref="#+macro: gpg4win_" ;\
reldate="$$(date -u +%Y-%m-%d)" ;\
echo "$${pref}ver $(PACKAGE_VERSION)" ;\
echo "$${pref}date $${reldate}" ;\
list='$(DIST_ARCHIVES)'; for i in $$list; do \
case "$$i" in *.tar.bz2) \
echo "$${pref}size $$(wc -c <$$i|awk '{print int($$1/1024)}')k" ;\
echo "$${pref}sha1 $$(sha1sum <$$i|cut -d' ' -f1)" ;\
echo "$${pref}sha2 $$(sha256sum <$$i|cut -d' ' -f1)" ;;\
esac;\
done ) | tee $(distdir).swdb
# Names of to help the release target.
RELEASE_NAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
OUTDIR="$(abs_top_srcdir)/artifacts/$(RELEASE_NAME)-nightly-$(BUILD_DATETIME)"
gen_start_date = 2012-03-26T00:00:00
.PHONY: gen-ChangeLog
gen-ChangeLog:
set -e; \
if test -d $(top_srcdir)/.git; then \
(cd $(top_srcdir) && \
$(GITLOG_TO_CHANGELOG) --append-dot --tear-off \
--amend=build-aux/git-log-fix \
--since=$(gen_start_date) ) > $(distdir)/cl-t; \
cat $(top_srcdir)/build-aux/git-log-footer >> $(distdir)/cl-t;\
rm -f $(distdir)/ChangeLog; \
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
fi
# We also need to package all tarballs. Actually it would be better
# to pack only those which are listed in packages.current but for this
# wen need to extend the script and also handle the package list for
# appimages. Note further that we can't use ln(1) because /src and
# /build are on different partitions inside docker.
.PHONY: pack_packages_tarballs
pack_packages_tarballs:
(find $(top_srcdir)/packages -type f \
\( -name '*.tar.gz' -o -name '*.tar.bz2' \
-o -name '*.tar.xz' -o -name '*.zip' \
-o -name '*.exe' -o -name '*.wixlib' \
\) -print | xargs cp -t $(distdir)/packages/ )
download: packages/packages.common
(cd packages; ./download.sh)
vsd-versions: src/stamps/stamp-versions-all-signed
rebuild:
./build.sh --update-img --inplace $(w64_extraargs)
clean-local:
-rm -rf artifacts
-rm -f $(RELEASE_NAME).tar.xz files-to-commit.lst
distclean-local:
-rm -f $(RELEASE_NAME).swdb
msi:
$(MAKE) $(AM_MAKEFLAGS) -C src \
TOPSRCDIR=/src PLAYGROUND=/build msi
msi-signed:
$(MAKE) $(AM_MAKEFLAGS) -C src \
TOPSRCDIR=/src PLAYGROUND=/build msi-signed
msi-upload:
$(MAKE) $(AM_MAKEFLAGS) -C src \
TOPSRCDIR=/src PLAYGROUND=/build msi-upload
diff --git a/configure.ac b/configure.ac
index ea53f9ac..4eb2ff15 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,683 +1,679 @@
# 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_isv3build], m4_if(m4_esyscmd([ls packages/gnupg-2.*.tar.* | \
head -1 | cut -d. -f2 | \
tr -d '\n']),
[2], [yes], [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])
m4_define([mym4_isv3build],[yes]]))
# For VSD with GnuPG 2.6 we will use version 4.x
# For GPD and Gpg4win with GnuPG 2.6 we use version 5.x
m4_if(mym4_buildtype,vsd,
[m4_define([mym4_major],[4])
m4_define([mym4_minor],[0])
m4_define([mym4_micro],[0])],
[m4_define([mym4_major],[5])
m4_define([mym4_minor],[0])
m4_define([mym4_micro],[0])])
# 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_tsdir], m4_chomp_all(m4_esyscmd([./autogen.sh --print-tsdir])))
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/nsis/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])
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`
BUILD_DATETIME=`date +%Y%m%d%H%M`
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)
# Use ninja instead of make for cmake projects
AC_ARG_ENABLE(ninja,
AS_HELP_STRING([--enable-ninja],
[Use ninja instead of make]),
use_ninja=$enableval,
use_ninja=no)
#
# Set variables for use by automake makefiles.
#
if test -f /src/packages/BUILDTYPE ; then
dockerbuild=yes
else
dockerbuild=no
fi
AM_CONDITIONAL(DOCKERBUILD, test "$dockerbuild" = "yes")
AM_CONDITIONAL(BUILD_GPG4WIN, test "$build_gpg4win" = "yes")
AM_CONDITIONAL(BUILD_APPIMAGE, test "$build_appimage" = "yes")
AM_CONDITIONAL(BUILD_W64_COND, test "$BUILD_W64" = "yes")
# Required tools.
AC_PROG_CC
AC_PROG_CPP
AC_PROG_RANLIB
AC_PROG_AWK
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)
if test "${use_ninja}" = "yes"; then
AC_CHECK_PROGS(NINJA, ninja)
MAKETOOL=${NINJA}
CMAKE_GENERATOR_FLAGS="-G Ninja -DCMAKE_GENERATOR=Ninja"
AC_MSG_NOTICE([Using ${NINJA} in cmake projects])
else
MAKETOOL=${MAKE}
fi
AC_SUBST(CMAKE_GENERATOR_FLAGS)
AC_SUBST(MAKETOOL)
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
case "${host}" in
x86_64*-mingw32*)
BUILD_W64=yes
# Since we use 32 makensis we need to compile our plugin
# for NSIS also for 32bit so we hardcode this here.
# Otherwise for 64 bit builds --with-additional-gpgex-host
# is then 32 bit to take care of that.
AC_CHECK_PROGS(W32CC32, i686-w64-mingw32-gcc)
GPG4WIN_RUNTIME_LIBRARY(libgcc_s_seh-1)
;;
*)
W32CC32=${CC}
BUILD_W64=no
;;
esac
AC_SUBST(BUILD_W64)
GPG4WIN_RUNTIME_LIBRARY(libstdc++-6, REQUIRED)
GPG4WIN_RUNTIME_LIBRARY(libwinpthread-1, REQUIRED)
GPG4WIN_RUNTIME_LIBRARY_EX(libwinpthread-1)
# One of these is required
GPG4WIN_RUNTIME_LIBRARY(libgcc_s_dw2-1)
GPG4WIN_RUNTIME_LIBRARY(libgcc_s_sjlj-1)
if test "${gpg4win_rtlib_libgcc_s_dw2_1}" = no \
-a "${gpg4win_rtlib_libgcc_s_sjlj_1}" = no \
-a "${gpg4win_rtlib_libgcc_s_seh_1}" = no ; then
AC_MSG_ERROR(No exception library found. Please check what your system
uses and see above message about either dw2- sjlj- or seh-
dlls.)
fi
fi
AC_CHECK_PROGS(WGET, wget)
#
# Set source and build directory.
#
# They are always set to the directories seen outside of the
# container.
#
TOPSRCDIR="mym4_tsdir"
AC_ARG_WITH([playground],
AS_HELP_STRING([--with-playground=DIR],
[Use DIR as the build directory]),
[PLAYGROUND="$withval"], [PLAYGROUND=""])
if test -n "$PLAYGROUND" ; then
if test ! -d "$PLAYGROUND"; then
AC_MSG_ERROR([[
***
*** Given playground directory does not exist.
*** Please create it first or use the default.
***]])
fi
PLAYGROUND="$(cd "$PLAYGROUND" && pwd)"
else
PLAYGROUND="${HOME}/b/$(basename "$TOPSRCDIR")-playground"
fi
PLAYGROUND=$(echo "$PLAYGROUND" | sed s,^//,/,)
AC_SUBST(TOPSRCDIR)
AC_SUBST(PLAYGROUND)
#
# Prepare variables for po/Makefile.am
# Note that we do not use the ususal GNU gettext make system.
#
# LINGUAS := The list of all translated languages taken from po/LINGUAS
# POTFILES := The list of NSI files with translatable strings taken from
# po/POTFILES
# POFILES := The actual available translations (w/o directory)
# NSIFILES := The to-be generated translation files in the NSI format.
# (w/o directory)
#
if test $dockerbuild = yes ; then
posrcdir=/src/po
else
posrcdir="$TOPSRCDIR/po"
fi
LINGUAS=$(sed -e "/^#/d" -e "s/#.*//" "$posrcdir/LINGUAS" | xargs -- )
POTFILES=$(for f in $(sed -e "/^#/d" -e "s/#.*//" "$posrcdir/POTFILES");\
do echo "$posrcdir/$f"; done | xargs -- )
AC_SUBST(LINGUAS)
AC_SUBST(POTFILES)
POFILES=
NSIFILES=
for lang in $LINGUAS; do
if test -f "$posrcdir/$lang.po" ; then
POFILES="$POFILES $lang.po"
NSIFILES="$NSIFILES $lang.nsi"
fi
done
AC_SUBST(POFILES)
AC_SUBST(NSIFILES)
#
# 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([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])
# The GnuPG Package.
GPG4WIN_BPKG_BINSRC([gnupg-w32])
GPG4WIN_BPKG_MSISRC([gnupg-msi])
# Tools required for cross compiling
GPG4WIN_NATIVEPKG([qtbase])
GPG4WIN_NATIVEPKG([extra-cmake-modules])
GPG4WIN_NATIVEPKG([breeze-icons], [qtbase extra-cmake-modules])
GPG4WIN_NATIVEPKG([qttools], [qtbase])
GPG4WIN_NATIVEPKG([kconfig], [qtbase qttools extra-cmake-modules])
# Qt related stuff.
GPG4WIN_KDEPKG([zstd])
GPG4WIN_KDEPKG([qtbase], [jpeg zlib zstd libpng freetype pcre2])
GPG4WIN_KDEPKG([qttools], [qtbase])
GPG4WIN_KDEPKG([qttranslations], [qtsvg qttools])
GPG4WIN_KDEPKG([qtsvg], [qtbase])
GPG4WIN_KDEPKG([qthttpserver], [qtbase])
GPG4WIN_KDEPKG([qtwebsockets], [qtbase])
- GPG4WIN_KDEPKG([qtkeychain], [qtbase])
GPG4WIN_KDEPKG([tiff])
GPG4WIN_KDEPKG([pcre2])
GPG4WIN_KDEPKG([breeze], [qtbase kcoreaddons kconfig kconfigwidgets kguiaddons kiconthemes kwindowsystem])
# GPG4WIN_KDEPKG([snoretoast])
GPG4WIN_KDEPKG([openjpeg], [tiff jpeg])
GPG4WIN_KDEPKG([breeze-icons], [extra-cmake-modules qtbase])
GPG4WIN_KDEPKG([kleopatra], [kstatusnotifieritem 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 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 kcolorscheme])
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 breeze])
GPG4WIN_KDEPKG([libkleo], [kmime kconfigwidgets kwindowsystem kcompletion qgpgme])
GPG4WIN_KDEPKG([gpg4win-tools], [libkleo qgpgme])
GPG4WIN_KDEPKG([threadweaver], [qtbase extra-cmake-modules])
GPG4WIN_KDEPKG([kcolorscheme], [kconfig kguiaddons ki18n])
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([kparts], [kio kservice kxmlgui kconfigwidgets kwidgetsaddons ktextwidgets])
GPG4WIN_KDEPKG([okular], [kparts gpgmepp 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([kstatusnotifieritem], [kwindowsystem qtbase extra-cmake-modules])
GPG4WIN_KDEPKG([gpgpass], [kio prison kconfigwidgets kiconthemes ki18n qgpgme])
GPG4WIN_KDEPKG([libkdepim], [kcompletion ki18n kwidgetsaddons])
- GPG4WIN_KDEPKG([syntax-highlighting], [extra-cmake-modules qtbase qttools qttranslations])
- GPG4WIN_KDEPKG([ktextaddons], [qtkeychain syntax-highlighting kio ki18n kcoreaddons kconfigwidgets sonnet karchive])
- GPG4WIN_KDEPKG([kpimtextedit], [sonnet kconfig kxmlgui kwidgetsaddons kcoreaddons kio ki18n kiconthemes ktextaddons syntax-highlighting])
GPG4WIN_KDEPKG([kcontacts], [kcoreaddons qtbase ki18n kconfig kcodecs])
- GPG4WIN_KDEPKG([gpgoljs],[qtwebsockets kcontacts qthttpserver mimetreeparser libkleo libkdepim kpimtextedit])
+ GPG4WIN_KDEPKG([gpgoljs],[qtwebsockets kcontacts qthttpserver mimetreeparser libkleo libkdepim sonnet])
GPG4WIN_FINALIZE
fi
# Packages for the AppImage
if test "$build_appimage" = yes ; then
appimage_dup_sources=""
APPIMAGE_SPKG([freetype])
APPIMAGE_SPKG([sqlite])
APPIMAGE_SPKG([jpeg])
APPIMAGE_SPKG([qrencode])
APPIMAGE_SPKG([xcb-util-cursor])
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])
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_KDEPKG([zstd])
APPIMAGE_KDEPKG([pcre2])
APPIMAGE_KDEPKG([qtbase], [jpeg zstd freetype pcre2 gnupg xcb-util-cursor])
APPIMAGE_KDEPKG([qttools], [qtbase])
APPIMAGE_KDEPKG([qttranslations], [qtsvg qttools])
APPIMAGE_KDEPKG([qtsvg], [qtbase])
APPIMAGE_KDEPKG([qtwayland], [qtbase])
APPIMAGE_KDEPKG([wayland-protocols], [qtwayland])
APPIMAGE_KDEPKG([plasma-wayland-protocols], [wayland-protocols])
APPIMAGE_KDEPKG([breeze], [qtbase kcoreaddons kconfig kconfigwidgets kguiaddons kiconthemes kwindowsystem])
# 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([kcolorscheme], [kconfig kguiaddons ki18n])
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([kwindowsystem], [qtbase qtwayland extra-cmake-modules wayland-protocols plasma-wayland-protocols])
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([kcompletion], [kwidgetsaddons])
APPIMAGE_KDEPKG([kcrash], [kwindowsystem kcoreaddons])
APPIMAGE_KDEPKG([kjobwidgets], [kwidgetsaddons kcoreaddons qtbase extra-cmake-modules])
APPIMAGE_KDEPKG([kstatusnotifieritem], [kwindowsystem qtbase extra-cmake-modules])
APPIMAGE_KDEPKG([kwidgetsaddons], [kconfig qttools qtbase])
# 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 breeze])
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 kstatusnotifieritem])
# Okular/Poppler
APPIMAGE_KDEPKG([poppler], [gpgmepp kio qtbase freetype])
APPIMAGE_KDEPKG([okular], [kparts gpgmepp kio poppler threadweaver qtsvg])
# Gpgpass
APPIMAGE_KDEPKG([prison], [qtbase extra-cmake-modules qrencode])
APPIMAGE_KDEPKG([gpgpass], [kio 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 The
# packages_dirpfx is set depending on whether we are running under
# docker. See also GPG4WIN_PACKAGES.
packages_dirpfx=
test -f /src/packages/BUILDTYPE && packages_dirpfx=/src/
packages_files=${packages_dirpfx}packages/packages.common
for f in ${packages_dirpfx}packages/packages.3 \
${packages_dirpfx}packages/packages.4 ; do
test -f "$f" && packages_files="$packages_files $f"
done
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_files; 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_files; 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)
AC_CONFIG_FILES(src/nsis/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/toolchain-native.cmake)
AC_CONFIG_FILES(src/appimage/Makefile src/appimage/appimage.mk)
AC_CONFIG_FILES(src/appimage/rsync-filters/Makefile)
AC_CONFIG_FILES(src/nsis/Makefile)
AC_CONFIG_FILES(src/versioninfo.rc.in)
AC_CONFIG_FILES(src/gpg4win.w32-manifest.in)
AC_CONFIG_FILES(src/gccwrap.sh)
AC_CONFIG_COMMANDS([chmod],[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)
Source dir ...: ${TOPSRCDIR}
Build dir ....: ${PLAYGROUND}
"
if test -n "$JOBS"; then
echo " make jobs ....: ${JOBS}"
else
echo ""
fi
diff --git a/packages/gen-frameworks.sh b/packages/gen-frameworks.sh
index 5add4255..7a6d678f 100755
--- a/packages/gen-frameworks.sh
+++ b/packages/gen-frameworks.sh
@@ -1,134 +1,133 @@
#!/bin/bash
# Copyright (C) 2016 Intevation GmbH
# Copyright (C) 2021 g10 Code GmbH
#
# Software engineering by Ingo Klöcker <dev@ingo-kloecker.de>
#
# 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 <https://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-2.0+
# Grab the version information for KDE Frameworks and generate a text block
# that can be copy and pasted into packages.current.
set -e
if [ -z "$1" ]; then
echo "Usage $0 <Version> [frameworks] > snippet"
exit 1
fi
FRAMEWORKS="extra-cmake-modules
kauth
kconfig
ki18n
kwidgetsaddons
kcompletion
kwindowsystem
kcoreaddons
kcodecs
kconfigwidgets
kdbusaddons
kxmlgui
kguiaddons
kitemviews
kitemmodels
kiconthemes
breeze-icons
karchive
kcrash
kio
kbookmarks
kservice
solid
kjobwidgets
threadweaver
kparts
ktextwidgets
sonnet
kcalendarcore
prison
kcolorscheme
kstatusnotifieritem
- syntax-highlighting
kcontacts"
if [ -n "$2" ]; then
FRAMEWORKS="$2"
fi
fullversion=$1
case ${fullversion} in
*.*.*)
majorversion=${fullversion%.*}
;;
*.*)
majorversion=${fullversion}
fullversion=${majorversion}.0
echo "Using full version ${fullversion}"
;;
*)
echo "Invalid version ${fullversion}"
exit 1
;;
esac
curdate=$(date +%Y-%m-%d)
KEYRING=$(dirname $0)/kde-release-keys.gpg
server=https://download.kde.org/stable/frameworks
echo "server ${server}"
tmpdir=$(mktemp -d -t gen-frameworks.XXXXXXXXXX)
for fw in $FRAMEWORKS; do
# Download packages over https now and verify that the signature matches
tarfile="$fw-${fullversion}.tar.xz"
tarfileurl="${server}/$majorversion/${tarfile}"
if ! curl -L --silent --show-error --fail "${tarfileurl}" > "$tmpdir/${tarfile}"; then
echo "Downloading ${tarfileurl} failed"
exit 1
fi
sigfile="${tarfile}.sig"
sigfileurl="${tarfileurl}.sig"
if ! curl -L --silent --show-error --fail "${sigfileurl}" > "$tmpdir/${sigfile}"; then
echo "Downloading ${sigfileurl} failed"
exit 1
fi
# Check the signature
if ! gpgv --keyring "$KEYRING" "$tmpdir/${sigfile}" "$tmpdir/${tarfile}"; then
echo "Signature for $tmpdir/${tarfile} is not valid!"
exit 1
fi
sha2=$(sha256sum $tmpdir/${tarfile} | cut -d ' ' -f 1)
cat > ${tmpdir}/snippet <<EOF
# ${fw}
# last changed: ${curdate}
# by: $USER
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
file ${majorversion}/${tarfile}
chk ${sha2}
EOF
perl -i -p0e "s@# ${fw}\n# last changed:.*?\n# by:.*?\n# verified:.*?\nfile.*?\nchk.*?\n@'`cat ${tmpdir}/snippet`
'@se" packages.common
done
rm -r $tmpdir
diff --git a/packages/gen-kde-gears.sh b/packages/gen-kde-gears.sh
index da0795d2..32726cfc 100755
--- a/packages/gen-kde-gears.sh
+++ b/packages/gen-kde-gears.sh
@@ -1,95 +1,94 @@
#!/bin/bash
# Copyright (C) 2016 Intevation GmbH
# Copyright (C) 2021 g10 Code GmbH
#
# Software engineering by Ingo Klöcker <dev@ingo-kloecker.de>
#
# 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 <https://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-2.0+
# Grab the version information for packages released with a KDE Gears release
# and generate a text block that can be copy and pasted into packages.current.
set -e
if [ -z "$1" ]; then
echo "Usage $0 <Version> > snippet"
exit 1
fi
GEARS="kmime
kmbox
- libkdepim
- kpimtextedit"
+ libkdepim"
fullversion=$1
case ${fullversion} in
*.*.*)
majorversion=${fullversion%.*}
;;
*.*)
majorversion=${fullversion}
fullversion=${majorversion}.0
echo "Using full version ${fullversion}"
;;
*)
echo "Invalid version ${fullversion}"
exit 1
;;
esac
curdate=$(date +%Y-%m-%d)
KEYRING=$(dirname $0)/kde-release-keys.gpg
server=https://download.kde.org/stable/release-service
echo "server ${server}"
tmpdir=$(mktemp -d -t gen-kde-gears.XXXXXXXXXX)
for package in $GEARS; do
# Download packages over https now and verify that the signature matches
tarfile="${package}-${fullversion}.tar.xz"
tarfileurl="${server}/${fullversion}/src/${tarfile}"
if ! curl -L --silent --show-error --fail "${tarfileurl}" > "$tmpdir/${tarfile}"; then
echo "Downloading ${tarfileurl} failed"
exit 1
fi
sigfile="${tarfile}.sig"
sigfileurl="${tarfileurl}.sig"
if ! curl -L --silent --show-error --fail "${sigfileurl}" > "$tmpdir/${sigfile}"; then
echo "Downloading ${sigfileurl} failed"
exit 1
fi
# Check the signature
if ! gpgv --keyring "$KEYRING" "$tmpdir/${sigfile}" "$tmpdir/${tarfile}"; then
echo "Signature for $tmpdir/${tarfile} is not valid!"
exit 1
fi
sha2=$(sha256sum $tmpdir/${tarfile} | cut -d ' ' -f 1)
echo "# $package"
echo "# last changed: $curdate"
echo "# by: ah"
echo "# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-kde-gears.sh)"
echo "file ${fullversion}/src/${tarfile}"
echo "chk $sha2"
echo ""
done
rm -r $tmpdir
diff --git a/packages/gen-tarball.sh b/packages/gen-tarball.sh
index a66524a5..36afe92d 100755
--- a/packages/gen-tarball.sh
+++ b/packages/gen-tarball.sh
@@ -1,409 +1,404 @@
#!/bin/bash
# Copyright (C) 2021 g10 Code GmbH
#
# Software engineering by Ingo Klöcker <dev@ingo-kloecker.de>
#
# 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 <https://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-2.0-or-later
# Packages the current HEAD of a git repository as tarball and updates
# the packages.common accordingly if the entry matches the exact pattern.
# For KDE this script also tries to integrate the translations even for
# custom / stable branches which do not fit the upstream translation
# workflow.
PGM=gen-tarball.sh
# Taken from the generated list which checked for languages
# in which more then 500 strings for Kleopatra were translated
translation_langs="bg bs ca cs da de el eo es et eu fi fr gl hu ia it ja km ko lv mk mr ms nb nds nl nn pl pt pt_BR ru sk sl sv tr uk zh_CN zh_TW"
set -e
FRONTEND_PKGS="
gpgme
libkleo
kleopatra
gpgol
gpgoljs
gpgpass
gpg4win-tools
mimetreeparser"
usage()
{
cat <<EOF
Usage: $PGM [OPTIONS] PACKAGE ...
Generate a tarball from a repository.
Options:
-a|--auto Upload to ftp server
-u|--update Remove the old package locally
--user=name Use NAME as FTP server user
-f Update frontend packages en block.
Frontend packages are:
$FRONTEND_PKGS
PACKAGE is either the name of a supported library or application,
e.g. 'kleopatra', or the path of a local Git repository,
e.g. '~/src/kleopatra', or the URL of a remote Git repository,
e.g. 'https://invent.kde.org/pim/kleopatra.git'. Branches for
packages are defined within this script.
EOF
exit $1
}
autoupload=no
ftpuser_at=""
do_auto="no"
update="no"
branch="master"
custom_l10n="no"
while [ $# -gt 0 ]; do
case "$1" in
--*=*)
optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'`
;;
*)
optarg=""
;;
esac
case "$1" in
--auto|-a)
autoupload="yes"
;;
--user|--user=*)
ftpuser_at="${optarg}@"
;;
--update|-u)
update="yes"
;;
-f)
update="full"
;;
--help|-h)
usage 0
;;
--*)
usage 1 1>&2
;;
-*)
# Handle combined short options
for (( i=1; i<${#1}; i++ )); do
char="${1:i:1}"
case "$char" in
a)
autoupload="yes"
;;
u)
update="yes"
;;
f)
update="full"
;;
h)
usage 0
;;
*)
usage 1 1>&2
;;
esac
done
;;
*)
break
;;
esac
shift
done
if [ $# -eq 0 ] && [ "$update" != "full" ]; then
usage 1 1>&2
fi
PACKAGES="$@"
if [ "$update" == "full" ]; then
PACKAGES="$PACKAGES $FRONTEND_PKGS"
fi
for package in $PACKAGES; do
# Reset variables
branch="master"
is_gpg="no"
is_w32="no"
custom_l10n="no"
case ${package} in
*/*)
repo=${package%/}
package=$(basename ${repo})
package=${package%.git}
if [ "${package}" == "gpgmeqt" ]; then
package=qgpgme
elif [ "${package}" == "gpgol.js" ]; then
package=gpgoljs
fi
;;
gnupg | gpgme | libassuan | libgcrypt | libgpg-error | \
libksba | npth | pinentry | scute | ntbtls | gpgmepp | \
gpgol | gpgex | gpg4win-tools | gpgpass)
repo=git://git.gnupg.org/${package}.git
;;
gpgmeqt | qgpgme)
# the repo is named gpgmeqt, but the tarball/library is named qgpgme
package=qgpgme
repo=git://git.gnupg.org/gpgmeqt.git
;;
gpgol.js|gpgoljs)
repo=git://git.gnupg.org/gpgol.js.git
package=gpgoljs
;;
mimetreeparser | kleopatra | libkleo)
repo=https://invent.kde.org/pim/${package}.git
;;
okular)
repo=https://invent.kde.org/graphics/${package}.git
;;
poppler)
repo=https://anongit.freedesktop.org/git/poppler/poppler.git
#repo=https://gitlab.freedesktop.org/svuorela/${package}.git
;;
breeze)
repo=https://invent.kde.org/plasma/${package}.git
;;
kio)
repo=https://invent.kde.org/frameworks/${package}.git
;;
- ktextaddons)
- repo=https://invent.kde.org/libraries/${package}.git
- ;;
*)
echo "$PGM: error: Unsupported package '${package}'"
exit 1
;;
esac
case ${package} in
gnupg | gpgme | libassuan | libgcrypt | libgpg-error | \
libksba | npth | pinentry | scute | ntbtls)
is_gpg="yes"
;;
gpgmepp | qgpgme)
is_g10_cmake="yes"
;;
gpgol | gpgex)
is_gpg="yes"
is_w32="yes"
;;
gpg4win-tools | gpgpass)
;;
gpgol.js|gpgoljs)
;;
mimetreeparser)
# branch="gpg4win/24.05"
# custom_l10n="mimetreeparser/mimetreeparser6.po"
# local_l10n='mimetreeparser-24.05-${lang}-full-translation.po'
;;
kleopatra)
# branch="gpg4win/24.05"
# custom_l10n="kleopatra/kleopatra.po"
# When we are really far from upstream we might have strings
# in our custom branch which are neither in summit nor in the
# original branch. So they have to be manually extracted using
# git://invent.kde.org/sysadmin/l10n-scripty/extract_messages.sh
# and then merged and manually translated. Except for the manual
# translation this is automated with the gen-local-l10n.sh script.
# "local_l10n" allows us to cat these additional strings to the
# translations, too.
# Requires custom_l10n to be also set.
# local_l10n='kleopatra-24.05-${lang}-full-translation.po'
;;
libkleo)
# branch="gpg4win/24.05"
# custom_l10n="libkleo/libkleopatra6.po"
# local_l10n='libkleopatra-24.05-${lang}-full-translation.po'
;;
okular)
# branch="work/sune/WORK"
;;
poppler)
#branch="WORK"
;;
breeze)
branch=v6.1.3
;;
kio)
;;
- ktextaddons)
- ;;
*)
echo "$PGM: error: Unsupported package '${package}'"
exit 1
;;
esac
tmpdir=$(mktemp -d -t gen-tarball.XXXXXXXXXX)
curdate=$(date +%Y-%m-%d)
timestamp=$(date +%Y%m%d%H%M)
snapshotdir=${package}-${timestamp}
tarball=${snapshotdir}.tar.xz
if [ "${is_gpg}" == "yes" ]; then
git clone ${repo} ${tmpdir}/${snapshotdir}
olddir=$(pwd)
cd ${tmpdir}/${snapshotdir}
./autogen.sh --force >&2
if [ "${is_w32}" == "yes" ]; then
./autogen.sh --build-w32 >&2
else
./configure >&2
fi
make dist-xz >&2
tarball=$(ls -t *.tar.xz | head -1)
if [ "$update" != "no" ]; then
find "${olddir}" -name ${package}\* -print0 | xargs -0 rm -f
fi
cp ${tmpdir}/${snapshotdir}/${tarball} ${olddir}
cd ${olddir}
elif [ "${is_g10_cmake}" == "yes" ]; then
git clone ${repo} ${tmpdir}/${snapshotdir}
olddir=$(pwd)
cd ${tmpdir}/${snapshotdir}
mkdir build
cd build
cmake .. >&2
make dist >&2
tarball=$(ls -t *.tar.xz | head -1)
cp ${tarball} ${olddir}
cd ${olddir}
else
git clone --depth=1 --branch $branch ${repo} ${tmpdir}/${snapshotdir}
olddir=$(pwd)
echo "$PGM: Archiving branch $branch."
cd ${tmpdir}/${snapshotdir}
if [ "$custom_l10n" != "no" ]; then
for lang in $translation_langs; do
if [ "$lang" = "de" ]; then
# Sorry but the development team is german centric
echo "##############################DE#######################################"
fi
echo "$PGM: Downloading $lang translations from svn."
poname=${package}
if [ "${package}" == "libkleo" ]; then
poname="libkleopatra"
fi
# First integrate any additions from custom l10n
if ! svn export --force svn://anonsvn.kde.org/home/kde/trunk/l10n-support/$lang/summit/messages/${custom_l10n} po/$lang/${poname}_main.po >/dev/null 2>&1; then
if ! svn export --force svn://anonsvn.kde.org/home/kde/trunk/l10n-kf6/$lang/messages/${custom_l10n} po/$lang/${poname}_main.po >/dev/null 2>&1; then
echo "No translations for $package found in language $lang"
continue
else
echo "Using l10n-kf6 for $lang"
fi
else
echo "Using summit for $lang"
fi
if [ ! -e po/$lang/${poname}_main.po ]; then
echo "failed to download the custom l10n file $custom_l10n for language $lang"
continue
fi
# get rid of obsolete messages because msgcat --use-first would drop non-obsolete messages from
# the package's po file that match obsolete messages from the *_main.po file
if msgattrib --no-obsolete po/$lang/${poname}_main.po > po/$lang/${poname}_main_noobsolete.po ; then
mv po/$lang/${poname}_main_noobsolete.po po/$lang/${poname}_main.po
else
echo "WARN: error from msgattrib ignored" >&2
fi
echo "Adding translations to $lang with:"
msgfmt --statistics po/$lang/${poname}_main.po
if ! msgcat --use-first po/$lang/${poname}_main.po po/$lang/${poname}.po > po/$lang/${poname}_new.po ; then
echo "WARN: error from msgcat ignored" >&2
fi
# For German (and a few other languages) we go the extra mile to be 100 % and add even
# more local strings if this is required
eval local_l10n_file="${local_l10n}"
if [ "$local_l10n" != "" -a -f "$olddir/$local_l10n_file" ]; then
# get rid of obsolete messages because msgcat --use-first would drop non-obsolete messages from
# the local_l10n file that match obsolete messages from the *_new.po file
if msgattrib --no-obsolete po/$lang/${poname}_new.po > po/$lang/${poname}_new_noobsolete.po ; then
mv po/$lang/${poname}_new_noobsolete.po po/$lang/${poname}_new.po
else
echo "WARN: error from msgattrib ignored" >&2
fi
echo "Adding local l10n file $local_l10n_file which contains:"
msgfmt --statistics "$olddir/$local_l10n_file"
if ! msgcat --use-first po/$lang/${poname}_new.po "$olddir/$local_l10n_file" > po/$lang/${poname}.po ; then
echo "WARN: error from msgcat ignored" >&2
fi
else
mv po/$lang/${poname}_new.po po/$lang/${poname}.po
fi
echo "Final translation statistics for $lang: "
msgfmt --statistics po/$lang/${poname}.po
git add po/$lang/${poname}.po
if [ "$lang" = "de" ]; then
echo "#####################################################################"
fi
done
git commit -m "Add latest translations"
fi
if [ "${package}" == "breeze" ]; then
git rm -r wallpapers cursors
sed -i '/add_subdirectory(wallpapers)/d' CMakeLists.txt
sed -i '/add_subdirectory(cursors)/d' CMakeLists.txt
git commit -a -m "Escort the elephants out of the room"
fi
git archive --format tar.xz --prefix=${snapshotdir}/ HEAD > ${tarball}
if [ "$update" != "no" ]; then
find "${olddir}" -name ${package}\* -print0 | xargs -0 rm -f
fi
cp ${tmpdir}/${snapshotdir}/${tarball} ${olddir}
cd ${olddir}
fi
checksum=$(sha256sum ${tarball} | cut -d ' ' -f 1)
cat > ${tmpdir}/snippet <<EOF
# ${package}
# last changed: ${curdate}
# by: $USER
# verified: Tarball created by $USER.
file ${package}/${tarball}
chk ${checksum}
EOF
perl -i -p0e "s@# ${package}\n# last changed:.*?\n# by:.*?\n# verified:.*?\nfile.*?\nchk.*?\n@'`cat ${tmpdir}/snippet`
'@se" packages.common
echo "------------------------------ >8 ------------------------------"
cat "${tmpdir}/snippet"
echo "------------------------------ >8 ------------------------------"
if [ "${autoupload}" = "yes" ]; then
echo "$PGM: uploading to ${ftpuser_at}trithemius.gnupg.org" >&2
rsync -vP ${tarball} ${ftpuser_at}trithemius.gnupg.org:/home/ftp/gcrypt/snapshots/${package}/
else
echo "$PGM: info: To upload:" >&2
echo "rsync -vP ${tarball} trithemius.gnupg.org:/home/ftp/gcrypt/snapshots/${package}/" >&2
fi;
rm -fr ${tmpdir}
done
diff --git a/packages/packages.common b/packages/packages.common
index d33bff5a..c5ee584f 100644
--- a/packages/packages.common
+++ b/packages/packages.common
@@ -1,759 +1,724 @@
# packages.common - list of packages for use with gpg4win -*- sh -*-
#
# The download script processes the statements here to
# actually download the packages. The syntax is trivial:
#
# If the first non whitespace character of a line is #, the line is
# considered a comment. If the first word of a line is "server", the
# rest of the line will be taken as the base URL for following file
# commands. If the first word of a line is "file" the rest of the
# line will be appended to the current base URL (with a / as
# delimiter). The statement "chk" is followed by the SHA256 checksum of
# the last file.
#
# Third party libraries
#
server https://ftp.gnu.org/pub/gnu
# last-changed: 2024-07-16
# by: ah
# verified: Sig 9001 B85A F9E1 B83D F1BD A942 F5BE 8B26 7C6A 406D
file libiconv/libiconv-1.17.tar.gz
chk 8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313
# last-changed: 2024-07-16
# by: ah
# verified: Sig 9001 B85A F9E1 B83D F1BD A942 F5BE 8B26 7C6A 406D
file gettext/gettext-0.22.5.tar.xz
chk fe10c37353213d78a5b83d48af231e005c4da84db5ce88037d88355938259640
# Required by XCB for qtbase and not available in all repos
# last-changed: 2024-07-17
# by: ah
# verified: Mutltiple sources for checksum
server https://xcb.freedesktop.org/dist/
file xcb-util-cursor-0.1.4.tar.xz
chk 28dcfe90bcab7b3561abe0dd58eb6832aa9cc77cfe42fcdfa4ebe20d605231fb
# last-changed: 2023-05-03
# by ah
# verified: verification of checksum from both sf and freebsd.org
server https://downloads.sourceforge.net
file libpng/libpng16/1.6.40/libpng-1.6.40.tar.xz
chk 535b479b2467ff231a3ec6d92a525906fb8ef27978be4f66dbe05d3f3a01b3a1
# last-changed: 2023-05-03
# by ah
# verified: verification of checksum from multiple sources
server https://www.ijg.org
name jpeg-9e.tar.gz
file files/jpegsrc.v9e.tar.gz
chk 4077d6a6a75aeb01884f708919d25934c93305e49f7e3f36db9129320e6f4f3d
# last-changed: 2023-05-03
# by ah
# verified: SIG B1FA7D81EEB8E66399178B9733EBBFC47B3DD87D
server https://download.osgeo.org
file libtiff/tiff-4.5.0.tar.xz
chk dafac979c5e7b6c650025569c5a4e720995ba5f17bc17e6276d1f12427be267c
server https://github.com
# last-changed: 2023-05-03
# by ah
# verified: verification of checksum from multiple sources e.g. homebrew
name openjpeg-2.5.0.tar.gz
file uclouvain/openjpeg/archive/refs/tags/v2.5.0.tar.gz
chk 0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a
# last-changed: 2023-07-31
# by ah
# verified: verification of checksum from multiple sources e.g. homebrew
file libical/libical/releases/download/v3.0.16/libical-3.0.16.tar.gz
chk b44705dd71ca4538c86fb16248483ab4b48978524fb1da5097bd76aa2e0f0c33
# last-changed: 2023-09-29
# by ah
# verified: SIG 45F68D54BBE23FB3039B46E59766E084FB0F43D8
file PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.bz2
chk 8d36cd8cb6ea2a4c2bb358ff6411b0c788633a2a45dabbf1aeb4b701d1b5e840
-# qt-keychain for ktextaddons
-# last changed: 2024-04-16
-# by: ah
-# verified: Multiple sources for checksum
-server https://github.com/frankosterfeld/qtkeychain/archive/refs/tags/
-name qtkeychain-0.14.2.tar.gz
-file 0.14.2.tar.gz
-chk cf2e972b783ba66334a79a30f6b3a1ea794a1dc574d6c3bebae5ffd2f0399571
-
# qrencode for prison
# last-changed: 2023-11-30
# by ah
# verified: verification of checksum from multiple sources
server https://fukuchi.org/works/qrencode/
file qrencode-4.1.1.tar.gz
chk da448ed4f52aba6bcb0cd48cac0dd51b8692bccc4cd127431402fca6f8171e8e
# libzstd
# last-changed: 2024-03-28
# by: ah
# verified: SIG 4EF4AC63455FC9F4545D9B7DEF8FE99528B52FFD
server https://github.com/facebook/zstd/releases/download/
file v1.5.6/zstd-1.5.6.tar.gz
chk 8c29e06cf42aacc1eafc4077ae2ec6c6fcb96a626157e0593d5e82a34fd403c1
#
# GIMP stuff for W32
#
server http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies
# checked: 2012-03-28 wk - Not updated - not a security problem
name pkgconfig-0.23.tar.gz
file pkg-config-0.23.tar.gz
chk 08a0e072d6a05419a58124db864f0685e6ac96e71b2875bf15ac12714e983b53
name pkgconfig-0.23.zip
file pkg-config_0.23-3_win32.zip
chk 677d6055494e24cad6c49eab33eee618ddc6ed65da827c8b5b7da761b4063278
server https://download.savannah.gnu.org/releases/
# last-changed: 2023-04-19
# by: ah
# verified: SIG E30674707856409FF1948010BE6C3AAC63AD8E3F
file freetype/freetype-2.13.0.tar.xz
chk 5ee23abd047636c24b2d43c6625dcafc66661d1aca64dec9e0d05df29592624c
#
# SQLite
#
server https://www.sqlite.org
# last changed: 2021-09-20
# by: ik
# verified: SHA1 checksum on https://web.archive.org/web/20190228201545/https://www.sqlite.org/download.html
name sqlite-3.27.2.tar.gz
file 2019/sqlite-autoconf-3270200.tar.gz
chk 50c39e85ea28b5ecfdb3f9e860afe9ba606381e21836b2849efca6a0bfe6ef6e
#
# GnuPG et al.
#
# All tarballs from this server are verified with an openpgp
# signature made by "Werner Koch (dist sig)" or one of the other
# gnupg main contributors.
# Server changed from ftp to https by wk 2021-09-22
server https://gnupg.org/ftp/gcrypt
# last-changed: 2022-04-07
# by: wk
# verified: swdb
file zlib/zlib-1.2.12.tar.gz
chk 91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
# Stripped down version of BZIP2
# (full source at http://bzip.org)
# checked: 2014-07-16 ah
file bzip2/bzip2-1.0.6-g10.tar.gz
chk c2a9b3aec1a38d34b66106116a39f64b01d84f475fef75c40ea0bda0ea67ed07
# last changed 2025-02-04
# by ik
# verified: swdb
file libgpg-error/libgpg-error-1.51.tar.bz2
chk be0f1b2db6b93eed55369cdf79f19f72750c8c7c39fc20b577e724545427e6b2
# last-changed: 2024-07-03
# by: wk
# verified: swdb
file libassuan/libassuan-3.0.1.tar.bz2
chk c8f0f42e6103dea4b1a6a483cb556654e97302c7465308f58363778f95f194b1
# last changed 2025-02-04
# by ik
# verified: swdb
file npth/npth-1.8.tar.bz2
chk 8bd24b4f23a3065d6e5b26e98aba9ce783ea4fd781069c1b35d149694e90ca3e
# last changed 2025-02-04
# by ik
# verified: swdb
file libksba/libksba-1.6.7.tar.bz2
chk cf72510b8ebb4eb6693eef765749d83677a03c79291a311040a5bfd79baab763
# last changed 2024-01-12
# by wk
# verified: buildtree
file ntbtls/ntbtls-0.3.2.tar.bz2
chk bdfcb99024acec9c6c4b998ad63bb3921df4cfee4a772ad6c0ca324dbbf2b07c
#name gnupg-msi-2.3.1-beta18-20210420-src.tar.xz
#file binary/gnupg-w32-2.3.1_20210420.tar.xz
#chk e1a2dc705c940938b7bf7a17f521a41b1ef14139acd8860b2fd59aed2750aa3b
#name gnupg-msi-2.3.1-20210420-bin.wixlib
#file binary/gnupg-w32-2.3.1_20210420.wixlib
#chk 133817a4c4d11996956676c5c200222839ee5dc16e9476bd682d4e68b33ef73e
# pinentry
# last changed: 2024-07-03
# by: wk
# verified: swdb
file pinentry/pinentry-1.3.1.tar.bz2
chk bc72ee27c7239007ab1896c3c2fae53b076e2c9bd2483dc2769a16902bce8c04
# gpgme
# last changed: 2025-02-10
# by: wk
# verified: buildtree
file gpgme/gpgme-1.24.2.tar.bz2
chk e11b1a0e361777e9e55f48a03d89096e2abf08c63d84b7017cfe1dce06639581
## GpgOL
## last-changed: 2025-01-07
## by: wk
## verified: swdb
#file gpgol/gpgol-2.5.15.tar.bz2
#chk 92b47bb657960a147a80753ec2c128fd4cfbf85bbb5c135acbc4a75a1c482e84
#
# GpgEX
#
# last-changed: 2024-07-03
# by: wk
# verified: swdb
file gpgex/gpgex-1.0.11.tar.bz2
chk 569b78132cd207f7d4a416a76eb1d9f8c260b4dd7a48d67dd830dc2b41d46cdb
#
# GnuPG utilities
#
server http://www.jabberwocky.com/software/paperkey
# last-changed: 2017-12-05
# by: ah
# verified: SIG 7D92 FD31 3AB6 F373 4CC5 9CA1 DB69 8D71 9924 2560
file paperkey-1.5.tar.gz
chk c4737943083ce92e41faf13c27a9d608105b6285c0840dfb684a7ee294142ddf
#
# Kleopatra and dependencies
#
server http://download.qt.io/official_releases/qt/
# qtbase
-# last changed: 2024-07-08
-# by: ah
-# verified: HTTPS https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtbase-everywhere-src-6.7.2.tar.xz.sha256
-name qtbase-6.7.2.tar.xz
-file 6.7/6.7.2/submodules/qtbase-everywhere-src-6.7.2.tar.xz
-chk c5f22a5e10fb162895ded7de0963328e7307611c688487b5d152c9ee64767599
+# last changed: 2025-02-14
+# by: carl
+# verified: HTTPS https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtbase-everywhere-src-6.8.2.tar.xz.sha256
+name qtbase-6.8.2.tar.xz
+file 6.8/6.8.2/submodules/qtbase-everywhere-src-6.8.2.tar.xz
+chk 012043ce6d411e6e8a91fdc4e05e6bedcfa10fcb1347d3c33908f7fdd10dfe05
# qttools
-# last changed: 2024-07-08
-# by: ah
-# verified: HTTPS https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qttools-everywhere-src-6.7.2.tar.xz.sha256
-name qttools-6.7.2.tar.xz
-file 6.7/6.7.2/submodules/qttools-everywhere-src-6.7.2.tar.xz
-chk 58e855ad1b2533094726c8a425766b63a04a0eede2ed85086860e54593aa4b2a
+# last changed: 2025-02-14
+# by: carl
+# verified: HTTPS https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qttools-everywhere-src-6.8.2.tar.xz.sha256
+name qttools-6.8.2.tar.xz
+file 6.8/6.8.2/submodules/qttools-everywhere-src-6.8.2.tar.xz
+chk 326381b7d43f07913612f291abc298ae79bd95382e2233abce982cff2b53d2c0
# qtsvg
-# last changed: 2024-07-08
-# by: ah
-# verified: HTTPS https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtsvg-everywhere-src-6.7.2.tar.xz.sha256
-name qtsvg-6.7.2.tar.xz
-file 6.7/6.7.2/submodules/qtsvg-everywhere-src-6.7.2.tar.xz
-chk fb0d1286a35be3583fee34aeb5843c94719e07193bdf1d4d8b0dc14009caef01
+# last changed: 2025-02-14
+# by: carl
+# verified: HTTPS https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtsvg-everywhere-src-6.8.2.tar.xz.sha256
+name qtsvg-6.8.2.tar.xz
+file 6.8/6.8.2/submodules/qtsvg-everywhere-src-6.8.2.tar.xz
+chk aa2579f21ca66d19cbcf31d87e9067e07932635d36869c8239d4decd0a9dc1fa
# qttranslations
-# last changed: 2024-07-08
-# by: ah
-# verified: HTTPS https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qttranslations-everywhere-src-6.7.2.tar.xz.sha256
-name qttranslations-6.7.2.tar.xz
-file 6.7/6.7.2/submodules/qttranslations-everywhere-src-6.7.2.tar.xz
-chk 9845780b5dc1b7279d57836db51aeaf2e4a1160c42be09750616f39157582ca9
+# last changed: 2025-02-14
+# by: carl
+# verified: HTTPS https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qttranslations-everywhere-src-6.8.2.tar.xz.sha256
+name qttranslations-6.8.2.tar.xz
+file 6.8/6.8.2/submodules/qttranslations-everywhere-src-6.8.2.tar.xz
+chk d2106e8a580bfd77702c4c1840299288d344902b0e2c758ca813ea04c6d6a3d1
# qthttpserver
-# last changed: 2024-07-08
-# by: ah
-# verified: HTTPS https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qthttpserver-everywhere-src-6.7.2.tar.xz.sha256
-name qthttpserver-6.7.2.tar.xz
-file 6.7/6.7.2/submodules/qthttpserver-everywhere-src-6.7.2.tar.xz
-chk 0353b9b4f98a83fec8f15046d4ff9d6ef7c874dcbb3664092fe2508f40778b86
+# last changed: 2025-02-14
+# by: carl
+# verified: HTTPS https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qthttpserver-everywhere-src-6.8.2.tar.xz.sha256
+name qthttpserver-6.8.2.tar.xz
+file 6.8/6.8.2/submodules/qthttpserver-everywhere-src-6.8.2.tar.xz
+chk 2d9517c1049a5b330831f7adc1de26d8db5357fdebe616c0a29e9ae1d8900692
# qtwebsockets
-# last changed: 2024-07-08
-# by: ah
-# verified: HTTPS https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtwebsockets-everywhere-src-6.7.2.tar.xz.sha256
-name qtwebsockets-6.7.2.tar.xz
-file 6.7/6.7.2/submodules/qtwebsockets-everywhere-src-6.7.2.tar.xz
-chk 5bde4af6ec9ce8c8632b782ab77b82d910721be2c714e6d38902521bcd1d215f
+# last changed: 2025-02-14
+# by: carl
+# verified: HTTPS https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtwebsockets-everywhere-src-6.8.2.tar.xz.sha256
+name qtwebsockets-6.8.2.tar.xz
+file 6.8/6.8.2/submodules/qtwebsockets-everywhere-src-6.8.2.tar.xz
+chk 919df562ba3446c8393992d112085ad2d96d23aaf802b1cd7a30bf3ba2fe8cbe
# qtwayland
-# last changed: 2024-07-17
-# by: ah
-# verified: HTTPS https://download.qt.io/official_releases/qt/6.7/6.7.2/submodules/qtwayland-everywhere-src-6.7.2.tar.xz.sha256
-name qtwayland-6.7.2.tar.xz
-file 6.7/6.7.2/submodules/qtwayland-everywhere-src-6.7.2.tar.xz
-chk a2a057e1dd644bd44abb9990fecc194b2e25c2e0f39e81aa9fee4c1e5e2a8a5b
+# last changed: 2025-02-14
+# by: carl
+# verified: HTTPS https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/qtwayland-everywhere-src-6.8.2.tar.xz.sha256
+name qtwayland-6.8.2.tar.xz
+file 6.8/6.8.2/submodules/qtwayland-everywhere-src-6.8.2.tar.xz
+chk 5e46157908295f2bf924462d8c0855b0508ba338ced9e810891fefa295dc9647
# wayland-protocols
-# last changed: 2024-07-17
-# by: ah
+# last changed: 2025-02-14
+# by: carl
# verified: Sig: 8307C0A224BABDA1BABD0EB9A6EEEC9E0136164A
server https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/
-file 1.36/downloads/wayland-protocols-1.36.tar.xz
-chk 71fd4de05e79f9a1ca559fac30c1f8365fa10346422f9fe795f74d77b9ef7e92
+file 1.40/downloads/wayland-protocols-1.40.tar.xz
+chk b21711793247c2c42763914392dfa9fcb9e3728ca4b4aa110adb8d915fc00689
# plasma-wayland-protocols
-# last changed: 2024-07-17
-# by: ah
+# last changed: 2025-02-14
+# by: carl
# verified: Sig: E0A3EB202F8E57528E13E72FD7574483BB57B18D
server https://download.kde.org/stable/
-file plasma-wayland-protocols/plasma-wayland-protocols-1.13.0.tar.xz
-chk dd477e352f5ff6e6ac686286c4b22b19bf5a4921b85ee5a7da02bb7aa115d57e
+file plasma-wayland-protocols/plasma-wayland-protocols-1.16.0.tar.xz
+chk da3fbbe3fa5603f9dc9aabe948a6fc8c3b451edd1958138628e96c83649c1f16
# KDE Frameworks generated by gen-frameworks.sh
# When outdated activate this link:
#server https://download.kde.org/Attic/frameworks/
#server https://download.kde.org/stable/frameworks
server https://download.kde.org/stable/frameworks
##### Paste Here #####
# extra-cmake-modules
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/extra-cmake-modules-6.9.0.tar.xz
-chk cec06b25e166edb71a1a973641c4f5fc3c8712dde3fb3e639db586515cc1642e
+file 6.11/extra-cmake-modules-6.11.0.tar.xz
+chk 69fdab5f0fedfb73d1accff5012d510b486e1dd75c711e925a6912a3e71814b0
# kauth
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kauth-6.9.0.tar.xz
-chk 84cf15729bd248aa9d78c1bfecf68161782d521ac14a9b6a5bdacc29cbe3dec6
+file 6.11/kauth-6.11.0.tar.xz
+chk 479660eabe97198c31f228a18271bc739b234943c68e95383c361a835131179b
# kconfig
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kconfig-6.9.0.tar.xz
-chk b8b9dfb0bc5bc0f9c45164e02c988dd8ab10a34aea0c80b1945fd0b3267ac6f9
+file 6.11/kconfig-6.11.0.tar.xz
+chk c71072aaf2771295b591fc62d4fb657cefb38df29f240ef9c7120854b42d0f7f
# ki18n
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/ki18n-6.9.0.tar.xz
-chk 736ae10e3a8c5dced155d3347f9dbd91c34f485d7495815f85f4d624681a1860
+file 6.11/ki18n-6.11.0.tar.xz
+chk 658a05ceca184ba31ce58a6e9c51ee76f2829459c56dbcd3bad3aa157eaf11fe
# kwidgetsaddons
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kwidgetsaddons-6.9.0.tar.xz
-chk bda7d5cef310ad3b8e0aa9accf319c3349e2b7cbead673bd25a39af593787a48
+file 6.11/kwidgetsaddons-6.11.0.tar.xz
+chk 1c64e7354804845db0cd83ae671dfb5d2cb08308551a0b6c7b8a339aa6dcb436
# kcompletion
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kcompletion-6.9.0.tar.xz
-chk dcce4153fa13a2c7b86f5fb2641377feda587e4af478a3937fb9bc7275db891c
+file 6.11/kcompletion-6.11.0.tar.xz
+chk c812b60de4530de3003916e45fbab121c5f9f576e2430ab2cdf0e3e4c9041852
# kwindowsystem
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kwindowsystem-6.9.0.tar.xz
-chk 9b0f96fb0073f7ba89788cd5a10fba6f960cea86eba2b03336fa6e309e5e875b
+file 6.11/kwindowsystem-6.11.0.tar.xz
+chk d872e85d0915dd5cf1e2baf89fbef62e9855ff3317ecc5939882bc1724628d5a
# kcoreaddons
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kcoreaddons-6.9.0.tar.xz
-chk 9ce79eeeff62c0df46be1db17630344e9bee7f63655441e626923d3d4f986fbd
+file 6.11/kcoreaddons-6.11.0.tar.xz
+chk ff691c6e0933493ea3e8c4a0ba41fa46ced7b9394e6f35ef9dee349ccfcc3a39
# kcodecs
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kcodecs-6.9.0.tar.xz
-chk c88a4def4564a746bb8a6a7c127094ae9b7e47e1a5ad24f87ffb6643d42b0cb1
+file 6.11/kcodecs-6.11.0.tar.xz
+chk fbddc437ba9969d89635b75f0ef7e41c925c61c64dac1fff008c2e9138139fe4
# kconfigwidgets
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kconfigwidgets-6.9.0.tar.xz
-chk c9568cbdd9169a496a26293383cc4f7c79e94871f76a9146fb167c3c759b04ca
+file 6.11/kconfigwidgets-6.11.0.tar.xz
+chk 28a1bb125161fe9ab0dbfa899433512e928669be31ce149fa25191a24a50242a
# kdbusaddons
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kdbusaddons-6.9.0.tar.xz
-chk 30a0b18f702830ee3e9ae94f0d953b0bf835f3d9c836cb22366de48065a3a74c
+file 6.11/kdbusaddons-6.11.0.tar.xz
+chk 62e0f3b0487ef1ab729fc85bcb5498c9449e0b74fe8049779434158bb8b12a87
# kxmlgui
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kxmlgui-6.9.0.tar.xz
-chk 39202592c78fe722903c295c891a0b58dd0411933461412000f5627cbbfa7d88
+file 6.11/kxmlgui-6.11.0.tar.xz
+chk 69c3a6a6363bdbe3ccbace76e23c6ccec173eb0f9c1954ef7317d998d6edb6fc
# kguiaddons
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kguiaddons-6.9.0.tar.xz
-chk f7c320bea5fb0fcc247e04e1092e19206a1298853112a87c65072d33adc8468a
+file 6.11/kguiaddons-6.11.0.tar.xz
+chk ef0925f609ae5b62ed689451dfe9937719ce4ec26714952b5496e3e128d5cc5c
# kitemviews
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kitemviews-6.9.0.tar.xz
-chk 874b07d4299d812a88f1e8b5f8e356ce98c2b823e527af3a72909ca2c50e3cf3
+file 6.11/kitemviews-6.11.0.tar.xz
+chk e3625368e3f8cf6127218cc3e847fbf0176a5978c86228b11a320ad96fea2cbc
# kitemmodels
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kitemmodels-6.9.0.tar.xz
-chk ab4dafc0ca8219fa4789439f5aca08a72bac60da0b29026710636af7e88b7324
+file 6.11/kitemmodels-6.11.0.tar.xz
+chk 398dc4e3c5c44461350a20ac234055bafc2b184284ddea91563134ef62f5d6a6
# kiconthemes
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kiconthemes-6.9.0.tar.xz
-chk e24d4b4f8bd09d6edd61e7dfb2033017352452eae879c1260200a81d48bc996e
+file 6.11/kiconthemes-6.11.0.tar.xz
+chk 1671ab3fd9b1e0753a7062bab80f5489f3ac750ecb30b91db99a6689988afb87
# breeze-icons
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/breeze-icons-6.9.0.tar.xz
-chk 618f633bafb0a5aabaa93eaa6733dfebd6e79303ef1d0a93dcf249181896bed9
+file 6.11/breeze-icons-6.11.0.tar.xz
+chk f9cd9ec1b6a4111467cba31a7eed50ee5f03846fb1f5c32b3abdbf68877f8a4e
# karchive
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/karchive-6.9.0.tar.xz
-chk 246ad8dd2b5fb83df1cb05ff1fd3934f8a52be94d124350f9e6b7c3420e9c474
+file 6.11/karchive-6.11.0.tar.xz
+chk 12fc4ac53591fb1dd81d6c5243b900a6d48066559263fc66eb2f4995ceb9e380
# kcrash
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kcrash-6.9.0.tar.xz
-chk a9734e48ad425bb426294f2de6badef3b485ff5b9bb273ba51fe2cac7aa7a456
+file 6.11/kcrash-6.11.0.tar.xz
+chk ba13e9f5dd2b40125d5d61d29b612db6383315dc0f510cc1f0e33bb6c9b0ae89
# kio
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kio-6.9.0.tar.xz
-chk 5360962b0b9bc06d01f86888c896ca591ccd2d0bca79b7f5cc4367a6e31b368b
+file 6.11/kio-6.11.0.tar.xz
+chk fe511e43a5386f963c9afef93a21c0df44a2c24fcc417777e4d0569102477ff8
# kbookmarks
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kbookmarks-6.9.0.tar.xz
-chk 932234bedbf5a5887f23c610010c8c70b36b5dce4f4c4c5d76f47a92ce8e577a
+file 6.11/kbookmarks-6.11.0.tar.xz
+chk b5c677453c70314b9eecc0011a73103f045eabc94bc5f2f223b5979780c801c7
# kservice
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kservice-6.9.0.tar.xz
-chk f4ff574f422b27575f04c7491694162c61c7db4ad923565408fa23b9a7e9675f
+file 6.11/kservice-6.11.0.tar.xz
+chk 161cd296577ff9802b088b06866ec5ab4c1c1a6fe19f76bb5134cdf8a6ab4005
# solid
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/solid-6.9.0.tar.xz
-chk 8db2540498697847ee7f93afe4c307320f2cfee26fbdfca0133bf8cacfea42f5
+file 6.11/solid-6.11.0.tar.xz
+chk cdecc7665b801a508b9ad0929b025ac93fe287be503589c8d8c38a520c2508d7
# kjobwidgets
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kjobwidgets-6.9.0.tar.xz
-chk 81867978a3add5c2539e6ac4cfd1711ae44ceb50f4654f598c5dd0ab05553716
+file 6.11/kjobwidgets-6.11.0.tar.xz
+chk 2bb342e554f8ecf84d7218a6567628dcc73c1b914d0c5aad1c8bf7753986ddd7
# threadweaver
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/threadweaver-6.9.0.tar.xz
-chk d249181d21aa89ad6f5108db3b188c25c9415c9834110f8d15f6bab2df39c190
+file 6.11/threadweaver-6.11.0.tar.xz
+chk c408d9ef3c13e9906e6ef1a162def5bf7459f099197b1788eb3d96df4505dd8f
# kparts
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kparts-6.9.0.tar.xz
-chk afc9c4e897b371a51589342ed0573889bf4fab79b81b9a6950a45cd9faedd788
+file 6.11/kparts-6.11.0.tar.xz
+chk 3995f3556aba434de7b13dae099b51a0a86aeade60ba1e06592836d40669bb6a
# ktextwidgets
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/ktextwidgets-6.9.0.tar.xz
-chk da966c6e01cfb3125ec31a4d2149372a19d1481441869ece9fcef3b70bb3514d
+file 6.11/ktextwidgets-6.11.0.tar.xz
+chk 0f043b8a60698ccdb88e3d6957b5f5c97cfe793ea2eea421fc467fffdf200697
# sonnet
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/sonnet-6.9.0.tar.xz
-chk 158f38af459676ecf7f5dbbe39014ebf9bfae29557ca149c1d6ff5575a6d600d
+file 6.11/sonnet-6.11.0.tar.xz
+chk 19441de62d9d97f61e48d26e003543e75607b2ba8f6e4feb19f956289af21d60
# kcalendarcore
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kcalendarcore-6.9.0.tar.xz
-chk 861727f95368e9739c1135f89d17a0b499da6b70e16f1ef5e3a56522e5a6410c
+file 6.11/kcalendarcore-6.11.0.tar.xz
+chk ea261324d1b80ef4786b86cf86bfa32c332aa0357b05ba299b13f54be69a7380
# prison
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/prison-6.9.0.tar.xz
-chk e84135473756a7b6cdfcbc026b464112dc02c158550ec3149b308e065a798443
+file 6.11/prison-6.11.0.tar.xz
+chk 7cc8dff3ef172b24d10ee50c0876d79c87730b6fb23bd678708f7770b9da4f20
# kcolorscheme
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kcolorscheme-6.9.0.tar.xz
-chk 71beaae08b294b5ebf25c5174a1d55cacdce5e8991e9167d143a448b9574281a
+file 6.11/kcolorscheme-6.11.0.tar.xz
+chk 8b27bddb830f0173f44ae9aac05213579909b85fa696a2871b2ee11cb239bcc8
# kstatusnotifieritem
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kstatusnotifieritem-6.9.0.tar.xz
-chk 7308a2615a606a44d3ea653925e34cf803a9f4f4cea36342725024fcee63c083
-
-# syntax-highlighting
-# last changed: 2025-01-09
-# by: builder
-# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/syntax-highlighting-6.9.0.tar.xz
-chk d6fd07020ee57917517a1c03bdf36e661b083c8455c489cf94ad77a90ec29c70
+file 6.11/kstatusnotifieritem-6.11.0.tar.xz
+chk 26c92c25b1f70296bde9e71fba1f719778c85cb57227f6045f606af99c48a8bd
# kcontacts
-# last changed: 2025-01-09
-# by: builder
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)"
-file 6.9/kcontacts-6.9.0.tar.xz
-chk c6494623bd866d6f6f9a42fd0c7ff2bc4d98ca8d94b7e68f8529af09f321fc9c
+file 6.11/kcontacts-6.11.0.tar.xz
+chk 2f0cd26b32bdbad14b6e5f3eff99e23aedf2425eacb0d4d6f44724dce6e26562
### END PASTE ###
#
# KDE Gears - Generated by gen-kde-gears.sh
#
server http://download.kde.org/stable/release-service/
# kmime
-# last changed: 2024-09-24
-# by: ah
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-kde-gears.sh)
-file 24.08.1/src/kmime-24.08.1.tar.xz
-chk ec478f26144b1dfb6f0eab8e8efb0c1f06ad349cbb4f55cff233dcacf635a483
+file 24.12.2/src/kmime-24.12.2.tar.xz
+chk 1b584682bcee9fa4e2c6b404babd9ef3d9116467ed0cc005f15d9e965f303ee3
# kmbox
-# last changed: 2024-09-24
-# by: ah
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-kde-gears.sh)
-file 24.08.1/src/kmbox-24.08.1.tar.xz
-chk 9328c393038c198be5547c7436ca1aaf7cdf41466dccc32c8edf92ac33eaf08f
+file 24.12.2/src/kmbox-24.12.2.tar.xz
+chk da33971bf49ffcaecef8a2f57dd6c434301b2d31ed1b761ef5e21258a39214e5
# libkdepim
-# last changed: 2024-09-24
-# by: ah
+# last changed: 2025-02-14
+# by: carl
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-kde-gears.sh)
-file 24.08.1/src/libkdepim-24.08.1.tar.xz
-chk cb76fab7ece14dc03cb090a2ca6a2972ccbc34f6a86c4c67ed29a18ff3309f6d
-
-# kpimtextedit
-# last changed: 2024-09-24
-# by: ah
-# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-kde-gears.sh)
-file 24.08.1/src/kpimtextedit-24.08.1.tar.xz
-chk bf941d245a0626b3b36ab01c18722aa52fcccb91a017c7ff3b06fcf9cb73d2dd
-
-#
-# KDE Libraries
-#
+file 24.12.2/src/libkdepim-24.12.2.tar.xz
+chk fe2986ab9a4ccf2af56d6b91a27e391202c4629877b94caa0c8d8efe0a16af74
-server https://download.kde.org/stable/
-
-# ktextaddons
-# last changed: 2024-07-01
-# by: ah
-# verified: PGP Signed by ./kde-release-keys.gpg
-file ktextaddons/ktextaddons-1.5.4.tar.xz
-chk 64b80602e84b25e9164620af3f6341fa865b85e826ab8f5e02061ae24a277b20
#
# Snapshots stored on the GnuPG server
#
server https://gnupg.org/ftp/gcrypt/snapshots
# gpgmepp
# last changed: 2025-01-30
# by: ingo
# verified: Tarball created by ingo.
file gpgmepp/gpgmepp-2.0.0-beta21.tar.xz
chk 51be7f22184d64b0e8be0662221d5be4f149d3ed3a35f975459355d948135c27
# qgpgme
# last changed: 2025-01-30
# by: ingo
# verified: Tarball created by ingo.
file qgpgme/qgpgme-2.0.0-beta25.tar.xz
chk 1e2526b1d53b11ea6ab2d03ea7da547c91828de5300a833f66aae00c362c1c45
# gpgol
# last-changed: 2025-01-28
# by: ingo
# verified: Tarball created by ingo.
file gpgol/gpgol-2.5.16-beta3.tar.xz
chk bd4b9011453b2d5ee25180f835c49b8078d5fbb8ea49988ce7e81981c7fde786
# This is a respin of the release tag without the wallpapers and
# cursor themes to avoid including a huge source package.
# See gen-tarball.sh for details.
# breeze
# last changed: 2024-07-28
# by: aheinecke
# verified: Tarball created by aheinecke.
file breeze/breeze-202407281104.tar.xz
chk 3e91bf1e5324b03a417416916e2f159d7de96ab2c4f05a32b0667c262e1fa647
# scute
# last changed: 2024-07-19
# by: aheinecke
# verified: Tarball created by aheinecke.
file scute/scute-1.7.1-beta45.tar.xz
chk 6bc88a71fe51e76d374d1544fa4d42e667f618ee3e5c37581a2e858427ac50ee
# gpg4win-tools
# last changed: 2025-01-09
# by: builder
# verified: Tarball created by builder.
file gpg4win-tools/gpg4win-tools-202501091105.tar.xz
chk 71230b40eaf94a54d718a09a00188e80087df213e108442a94c83bde0944ec35
# gpgpass
-# last changed: 2024-12-05
-# by: builder
-# verified: Tarball created by builder.
-file gpgpass/gpgpass-202412051138.tar.xz
-chk a598f0000b801661c635725623653c727239aa4105ea560a233771a816d8fc1b
+# last changed: 2025-02-14
+# by: carl
+# verified: Tarball created by carl.
+file gpgpass/gpgpass-202502141555.tar.xz
+chk 08f01fdeb3454f7f9fb0c086b7ac16f54f29101c4cd582f2430080aa2353c55e
# mimetreeparser
-# last changed: 2024-12-05
-# by: builder
-# verified: Tarball created by builder.
-file mimetreeparser/mimetreeparser-202412051138.tar.xz
-chk 36852f2925738012cfe5ce9e2708c35a65403712e90b4714f7dec60605c85d00
+# last changed: 2025-02-14
+# by: carl
+# verified: Tarball created by carl.
+file mimetreeparser/mimetreeparser-202502141555.tar.xz
+chk 7958e15dfafb7f24959cefe6ad10d9880566ab94e9489fcc1fc54386412b9f7b
# libkleo
-# last changed: 2025-01-09
-# by: builder
-# verified: Tarball created by builder.
-file libkleo/libkleo-202501091105.tar.xz
-chk 759d3848a491405a43f55c2b1cb738e604c24629fcab93959bc500b8b4f2010e
+# last changed: 2025-02-14
+# by: carl
+# verified: Tarball created by carl.
+file libkleo/libkleo-202502141555.tar.xz
+chk fb83a5f1469a10a58166c340486aa26cf07dd3103d94d853a7e044b40c1da49c
# kleopatra
-# last changed: 2025-01-09
-# by: builder
-# verified: Tarball created by builder.
-file kleopatra/kleopatra-202501091104.tar.xz
-chk 9b266ed5d3d6c5cd2194592a1dd58c0a680f093aa041aa5ae4d6cb8d3756e484
+# last changed: 2025-02-14
+# by: carl
+# verified: Tarball created by carl.
+file kleopatra/kleopatra-202502141555.tar.xz
+chk 30e31b2c2ef125cc9c7e9ec9080cb1d6922c804a8c086eb1e4a919c26ccbcaec
# Okular and dependencies
# poppler
# last changed: 2024-12-05
# by: builder
# verified: Tarball created by builder.
file poppler/poppler-202412051140.tar.xz
chk 07f68560fddbca3a83e4fe30bf75d9fcc3537aa1815c7525db7e97816ec59b7a
# okular
# last changed: 2024-12-05
# by: builder
# verified: Tarball created by builder.
file okular/okular-202412051140.tar.xz
chk 62481c44c72d42da6c8baf6d09ee83ae6722cf09f4a4cf9e80d5b4ae478f5b2d
# gpgoljs
-# last changed: 2024-12-05
-# by: builder
-# verified: Tarball created by builder.
-file gpgoljs/gpgoljs-202412051138.tar.xz
-chk 63217eb7a59c6c26e59ab08507cf47b04e7d489c928d588af43b0ce245c60572
+# last changed: 2025-02-14
+# by: carl
+# verified: Tarball created by carl.
+file gpgoljs/gpgoljs-202502141555.tar.xz
+chk 8032dfae6508da3f04b749f41cbeb918632905c15d9fe41e17f4d92a7dc87a44
#
# GnuPG proper
#
server https://gnupg.org/ftp/gcrypt
# All tarballs from this server are verified with an openpgp
# signature made by "Werner Koch (dist sig)" or one of the other
# gnupg main contributors.
# last changed 2024-09-20
# by wk
# verified: swdb.lst
file libgcrypt/libgcrypt-1.11.0.tar.bz2
chk 09120c9867ce7f2081d6aaa1775386b98c2f2f246135761aae47d81f58685b9c
# last changed 2025-02-12
# by builder
# verified: [taken from buildtree]
name gnupg-2.5.4.tar.bz2
file gnupg/gnupg-2.5.4.tar.bz2
chk f8cb2ac6c9f17f81e3541c62158764910fad5c3a0765e00b398c41a32bc4e0ea
name gnupg-w32-2.5.4_20250212-bin.exe
file binary/gnupg-w32-2.5.4_20250212.exe
chk a9fc4b49a42ef36b1c412bea529d0ce07a356a0d024c5591ce9fdbcb58076816
name gnupg-w32-2.5.4_20250212-src.tar.xz
file gnupg/gnupg-w32-2.5.4_20250212.tar.xz
link gnupg-msi-2.5.4_20250212-src.tar.xz
chk 510d003dc9e331a72ab4911fea6048b9315db0f2eee0ceb009ff6c7986364ee4
name gnupg-msi-2.5.4_20250212-bin.wixlib
file binary/gnupg-w32-2.5.4_20250212.wixlib
chk 961a13e7d80c1f308c488fbc26258e1042216843b8d9153dd55bd9d98739de1d
# eof
diff --git a/patches/ktextaddons/0001-Remove-unused-QDbus-includes.patch b/patches/ktextaddons/0001-Remove-unused-QDbus-includes.patch
deleted file mode 100755
index c3c5e3b1..00000000
--- a/patches/ktextaddons/0001-Remove-unused-QDbus-includes.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-#! /bin/sh
-patch -p1 -l -f $* < $0
-exit $?
-
-From 63fb82f2a83b6fb1900329c347f2b41fb39990ce Mon Sep 17 00:00:00 2001
-From: Carl Schwan <carl@carlschwan.eu>
-Date: Wed, 6 Mar 2024 15:14:52 +0100
-Subject: [PATCH] Remove unused QDbus includes
-
----
- textcustomeditor/plaintexteditor/plaintexteditor.cpp | 2 --
- textcustomeditor/richtexteditor/richtexteditor.cpp | 2 --
- 2 files changed, 4 deletions(-)
-
-diff --git a/textcustomeditor/plaintexteditor/plaintexteditor.cpp b/textcustomeditor/plaintexteditor/plaintexteditor.cpp
-index c10eecd6..e39023e9 100644
---- a/textcustomeditor/plaintexteditor/plaintexteditor.cpp
-+++ b/textcustomeditor/plaintexteditor/plaintexteditor.cpp
-@@ -28,8 +28,6 @@
- #include <KColorScheme>
- #include <QApplication>
- #include <QClipboard>
--#include <QDBusConnection>
--#include <QDBusConnectionInterface>
- #include <QMenu>
- #include <QScrollBar>
- #include <QShortcut>
-diff --git a/textcustomeditor/richtexteditor/richtexteditor.cpp b/textcustomeditor/richtexteditor/richtexteditor.cpp
-index c1045750..50d776e7 100644
---- a/textcustomeditor/richtexteditor/richtexteditor.cpp
-+++ b/textcustomeditor/richtexteditor/richtexteditor.cpp
-@@ -35,8 +35,6 @@
- #include <QApplication>
- #include <QClipboard>
- #include <QContextMenuEvent>
--#include <QDBusConnection>
--#include <QDBusConnectionInterface>
- #include <QDialogButtonBox>
- #include <QMenu>
- #include <QPushButton>
---
-2.45.2
diff --git a/patches/qtbase/add-kleopatras-mime-types.patch b/patches/qtbase/add-kleopatras-mime-types.patch
index c833aba7..726d5607 100755
--- a/patches/qtbase/add-kleopatras-mime-types.patch
+++ b/patches/qtbase/add-kleopatras-mime-types.patch
@@ -1,44 +1,44 @@
#! /bin/sh
patch -p1 -f -l $* < $0
exit $?
---- a/src/corelib/mimetypes/mime/packages/freedesktop.org.xml.orig 2023-03-23 20:06:47.000000000 +0100
-+++ a/src/corelib/mimetypes/mime/packages/freedesktop.org.xml 2023-09-20 10:02:28.746421950 +0200
-@@ -62,6 +62,37 @@
- <!ATTLIST sub-class-of type CDATA #REQUIRED>
- ]>
- <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
+--- a/src/corelib/mimetypes/3rdparty/tika-mimetypes.xml
++++ b/src/corelib/mimetypes/3rdparty/tika-mimetypes.xml
+@@ -8312,4 +8312,37 @@
+ <sub-class-of type="text/plain"/>
+ </mime-type>
+
++ <!-- Kleopatra mime types -->
+ <mime-type type="application/vnd.kde.kleopatra.pgp-encrypted-tar">
+ <comment>Encrypted tar archive</comment>
+ <sub-class-of type="application/pgp-encrypted"/>
+ <glob pattern="*.tar.gpg"/>
+ <glob pattern="*.tar.pgp"/>
+ </mime-type>
+ <mime-type type="application/vnd.kde.kleopatra.pgp-signed-tar">
+ <comment>Signed tar archive</comment>
+ <sub-class-of type="application/pgp-signature"/>
+ <glob pattern="*.tar.sig"/>
+ <glob pattern="*.tar.pgp"/>
+ </mime-type>
+ <mime-type type="application/vnd.kde.kleopatra.pkcs7-encrypted-tar">
+ <comment>Encrypted tar archive</comment>
+ <sub-class-of type="application/pkcs7-mime"/>
+ <glob pattern="*.tar.p7m"/>
+ </mime-type>
+ <mime-type type="application/vnd.kde.kleopatra.pkcs7-signed-tar">
+ <comment>Signed tar archive</comment>
+ <sub-class-of type="application/pkcs7-signature"/>
+ <glob pattern="*.tar.p7s"/>
+ </mime-type>
+ <mime-type type="application/vnd.kde.kleopatra.keygroup">
+ <comment>Kleopatra certificate group</comment>
+ <sub-class-of type="text/plain"/>
+ <generic-icon name="text-x-generic"/>
+ <magic priority="80">
+ <match type="string" value="[KeyGroup-" offset="0"/>
+ </magic>
+ <glob pattern="*.kgrp"/>
+ </mime-type>
- <mime-type type="application/x-atari-2600-rom">
- <comment>Atari 2600</comment>
- <comment xml:lang="ast">Atari 2600</comment>
++
+ </mime-info>
diff --git a/src/Makefile.am b/src/Makefile.am
index aebdefcf..e5a0d997 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,747 +1,742 @@
# 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 = config.site \
findicons.sh mk-sbom.sh \
exdll.h exdll.c \
g4wihelp.c desktopshellrun.cpp \
slideshow.cpp gpgwrap.c gccwrap.sh.in \
versioninfo.rc.in.in gpg4win.w32-manifest.in.in \
gpg-enable-keyboxd.bat gpg-disable-keyboxd.bat \
sha1sum.c \
vsd-gpgconf.ctl \
potomo \
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/gpd/16-apps-kleopatra.png \
icons/gpd/22-apps-kleopatra.png \
icons/gpd/24-apps-kleopatra.png \
icons/gpd/32-apps-kleopatra.png \
icons/gpd/48-apps-kleopatra.png \
icons/gpd/64-apps-kleopatra.png \
icons/gpd/128-apps-kleopatra.png \
icons/gpd/1024-apps-kleopatra.png \
icons/gpd/sc-apps-kleopatra.svg \
icons/kleopatra-vsd.svg \
icons/mail-ext.ico \
icons/shield.ico \
kdeglobals qtlogging.ini \
make-msi.pl make-msi.guids \
qt.conf \
WixUI_Gpg4win.wxs included-icons.txt \
zlib.pc
if BUILD_APPIMAGE
appimage = appimage
else
appimage =
endif
if BUILD_W64_COND
w64_suffix="-x64"
endif
SUBDIRS = ${appimage} nsis
# Define macros for the various directories. These directory names
# must be absolute, as we switch pretty often between them and don't
# want to track relative names. The directories are created as needed
# by the $(stampdir)/stamp-directories target. tsdir and sdir are
# used instead of the predefined top_srcdir and srcdir so that we can
# override them using make variables
#
# root :: Our build root. The make variable PLAYGROUND can be used
# to override the default.
# stampdir :: The directory to hold stamp files.
# bdir :: The build dir for the individual packages.
# idir :: The directory with the installed files from the packages.
# ipdir :: A subdir of the install directory to hold the installed
# packages which will be stowed to other subdirs of $(idir).
# ex_idir :: Same as $(idir) but for packages which are build for the
# other bit size than the standard.
# ex_ipdir :: Likewise for $(ipdir).
# nat_idir :: Same as $(idir) but for packages which are build for
# build platform itself.
# nat_ipdir:: Likewise for $(ipdir).
# msidir :: The directory to put generated files for MSIs
# tsdir :: The top source directory.
# sdir :: The source directory src/ below tsdir.
# patdir :: The source directory patches/ below tsdir.
# vsddir :: The source direcory with MSI configurations.
tsdir := $(TOPSRCDIR)
root := $(PLAYGROUND)
stampdir := $(root)/stamps
bdir := $(root)/build
idir := $(root)/install
ipdir := $(root)/install/pkgs
ex_idir := $(root)/install-ex
ex_ipdir := $(root)/install-ex/pkgs
nat_idir := $(root)/install-native
nat_ipdir := $(root)/install-native/pkgs
msidir := $(root)/src/gnupg-vsd
sdir := $(tsdir)/src
vsddir := $(tsdir)/src/gnupg-vsd
patdir := $(tsdir)/patches
$(info -------------------------------------------------)
$(info Topsource ....: $(tsdir))
$(info Source .......: $(sdir))
$(info Playground ...: $(root))
$(info Stamps at ....: $(stampdir))
$(info Building at ..: $(bdir))
$(info -------------------------------------------------)
# Now we invoke commands on the host.
RUNCMD=$(tsdir)/build.sh --runcmd
# This template is used to include standard GNU make files. See below
# for a description.
define INCLUDE_BY_MAKE
include $(1)
endef
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
# Source packages following the KDE pattern
gpg4win_kdepkgs = qtbase qttools qtsvg qttranslations qthttpserver \
gpgmepp qgpgme \
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 \
knotifications kcolorscheme zstd kstatusnotifieritem \
- gpgoljs libkdepim syntax-highlighting ktextaddons \
- kpimtextedit qtkeychain kcontacts qtwebsockets \
+ gpgoljs libkdepim kcontacts qtwebsockets \
breeze
# 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
# The packages that should also be compiled natively
gpg4win_nativepkgs = qtbase breeze-icons kconfig extra-cmake-modules \
qttools
# 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
# CMakeList.txt does not live in the top level
gpg4win_pkg_zstd_conf_subdir = /build/cmake
gpg4win_pkg_zstd_configure = -DZSTD_BUILD_PROGRAMS=OFF
# 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
gpg4win_pkg_libgpg_error_configure = --enable-static
gpg4win_pkg_libgpg_error_ex_configure = --enable-static
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 = --enable-static
gpg4win_pkg_libassuan_ex_configure = --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\"
gpg4win_pkg_pinentry_configure = \
--enable-pinentry-qt \
--disable-pinentry-fltk \
--disable-pinentry-curses \
--disable-fallback-curses
gpg4win_pkg_gpgme_configure = \
--enable-static \
--enable-languages= \
--disable-gpg-test \
--disable-gpgsm-test
gpg4win_pkg_gpgme_ex_configure = \
--enable-static \
--enable-languages= \
--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_QT5=OFF
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_kconfig_native_configure = -DKCONFIG_USE_DBUS=OFF \
-DKCONFIG_USE_QML=OFF \
-DKCONFIG_USE_GUI=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_karchive_configure = -DWITH_LIBZSTD=ON -DWITH_LIBLZMA=OFF
gpg4win_pkg_kcoreaddons_configure = -DKCOREADDONS_USE_QML=OFF
gpg4win_pkg_kwindowsystem_configure = -DKWINDOWSYSTEM_QML=OFF
gpg4win_pkg_ktextwidgets_configure = -DWITH_TEXT_TO_SPEECH=OFF
-gpg4win_pkg_qtkeychain_configure = -DBUILD_WITH_QT6=ON
-
-gpg4win_pkg_ktextaddons_configure = -DFORCE_DISABLE_MULTIMEDIA=ON
-
gpg4win_pkg_kcalendarcore_configure = -DUSE_QML=OFF
# Create a minmal build on the build system of the
# same version before cross compiling.
gpg4win_pkg_qtbase_native_configure = \
-DQT_BUILD_EXAMPLES=OFF \
-DQT_BUILD_TESTS=OFF \
-DBUILD_WITH_PCH=OFF \
-DFEATURE_assistant=ON \
-DFEATURE_linguist=ON \
-DFEATURE_eventfd=OFF \
-DFEATURE_harfbuzz=OFF \
-DFEATURE_icu=OFF \
-DFEATURE_zstd=OFF \
-DFEATURE_glib=OFF \
-DFEATURE_dynamicgl=OFF \
-DFEATURE_egl=OFF \
-DFEATURE_opengl_desktop=OFF \
-DFEATURE_opengl_dynamic=OFF \
-DFEATURE_opengles2=OFF \
-DINPUT_opengl=no \
-DFEATURE_openssl=OFF \
-DFEATURE_zstd=OFF \
-DFEATURE_sql_mysql=OFF \
-DFEATURE_sql_db2=OFF \
-DFEATURE_sql_psql=OFF \
-DFEATURE_sql_oci=OFF \
-DFEATURE_sql_odbc=OFF \
-DFEATURE_sql_sqlite=OFF \
-DFEATURE_sql_ibase=OFF \
-DCMAKE_VERBOSE_MAKEFILE=ON
define gpg4win_pkg_qtbase_native_post_install
(set -e ; \
cd $$$${pkgidir}/bin; \
cp qtpaths qtpaths_real; \
unlink qtpaths; \
echo "#!/bin/sh" > qtpaths; \
echo "$$$${pkgidir}/bin/qtpaths_real \"\$$$$@\" | sed 's@/pkgs.*@/@'" \
>> qtpaths; \
chmod u+x qtpaths; \
cp qtpaths qtpaths6 )
endef
gpg4win_pkg_qtbase_configure = \
-DQT_HOST_PATH=$(nat_idir) \
-DQt6HostInfo_DIR=$(nat_idir)/lib/cmake/Qt6HostInfo \
-DQT_QMAKE_DEVICE_OPTIONS='CROSS_COMPILE=$(host)-' \
-DQT_QMAKE_TARGET_MKSPEC=win32-g++ \
-DQT_BUILD_EXAMPLES=OFF \
-DQT_BUILD_TESTS=OFF \
-DBUILD_WITH_PCH=OFF \
-DFEATURE_accessibility=ON \
-DFEATURE_dbus=OFF \
-DFEATURE_fontconfig=OFF \
-DFEATURE_glib=OFF \
-DFEATURE_opengl_dynamic=ON \
-DFEATURE_openssl=OFF \
-DFEATURE_pkg_config=ON \
-DFEATURE_sql_mysql=OFF \
-DFEATURE_sql_odbc=OFF \
-DFEATURE_sql_psql=OFF \
-DFEATURE_system_zlib=ON \
-DFEATURE_system_zstd=ON \
-DFEATURE_system_pcre=ON \
-DFEATURE_system_freetype=ON \
-DFEATURE_system_harfbuzz=OFF \
-DFEATURE_schannel=ON \
-DFEATURE_use_gold_linker_alias=OFF \
-DCMAKE_VERBOSE_MAKEFILE=ON
# copy moc and rcc from the tools into the target tree
# so that pkg-config can find them.
define gpg4win_pkg_qtbase_post_install
(cp $(nat_idir)/libexec/moc $$$${pkgidir}/bin; \
cp $(nat_idir)/libexec/rcc $$$${pkgidir}/bin )
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_ICON_DIR=$(kleo_icon_dir)
gpg4win_pkg_kxmlgui_configure = \
-DFORCE_DISABLE_KGLOBALACCEL=ON \
-DFORCE_DISABLE_DBUS=ON
gpg4win_pkg_kio_configure = \
-DFORCE_DISABLE_DBUS=ON \
-DFORCE_DISABLE_KCRASH=ON
gpg4win_pkg_knotifications_configure = \
-DFORCE_DISABLE_CANBERRA=ON
gpg4win_pkg_breeze_icons_native_configure = \
-DWITH_ICON_GENERATION=OFF \
-DWITH_ICONS_LIBRARY=OFF \
-DSKIP_INSTALL_ICONS=ON
define gpg4win_pkg_breeze_icons_native_post_install
( mkdir -p $$$${pkgidir}/bin/ && cp $$$${pkgbdir}/bin/* $$$${pkgidir}/bin )
endef
gpg4win_pkg_breeze_icons_configure = \
-DWITH_ICON_GENERATION=OFF \
-DSKIP_INSTALL_ICONS=ON
gpg4win_pkg_breeze_configure = \
-DBUILD_QT6=ON \
-DBUILD_QT5=OFF \
-DWITH_DECORATIONS=OFF
gpg4win_pkg_kbookmarks_configure = \
-DANDROID=ON
gpg4win_pkg_kservice_configure = \
-DANDROID=ON
gpg4win_pkg_kjobwidgets_configure = \
-DANDROID=ON
gpg4win_pkg_kiconthemes_configure = \
-DKICONTHEMES_USE_QTQUICK=OFF
gpg4win_pkg_okular_configure = \
-DFORCE_NOT_REQUIRED_DEPENDENCIES="KF6Purpose\;Qt6TextToSpeech\;LibZip\;KF6DocTools\;Phonon4Qt6\;TIFF\;JPEG\;LibSpectre\;KExiv2Qt6\;CHM\;DjVuLibre\;EPub\;QMobipocket\;Discount\;Qt6Qml\;Qt6DBus"
gpg4win_pkg_libical_configure = \
-DICAL_GLIB=false \
-DENABLE_GTK_DOC=false
gpg4win_pkg_prison_configure = \
-DWITH_QUICK=OFF \
-DWITH_MULTIMEDIA=OFF
gpg4win_pkg_poppler_configure = \
-DENABLE_NSS3=OFF \
-DENABLE_GLIB=OFF \
-DENABLE_GOBJECT_INTROSPECTION=OFF \
-DENABLE_QT5=OFF \
-DENABLE_LCMS=OFF \
-DENABLE_BOOST=OFF \
-DENABLE_LIBCURL=OFF
gpg4win_pkg_kcontacts_configure = \
-DKCONTACTS_USE_QML=OFF
gpg4win_pkg_libkdepim_configure = \
-DFORCE_NOT_REQUIRED_DEPENDENCIES="Qt6DBus"
# 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
# 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
# Supported binary packages.
gpg4win_bpkgs = pkgconfig gnupg-w32
# Default to same version.
VSD_VERSION=$(VERSION)
# Include installer targets for customized packages
-include $(vsddir)/custom.mk
# The playground area is our scratch area, where we unpack, build and
# install the packages.
#
# Boost includes are only needed during the build and are linked in the
# playground install tree
$(stampdir)/stamp-directories:
$(MKDIR) -p $(root)
$(MKDIR) -p $(stampdir)
$(MKDIR) -p installers
$(MKDIR) -p $(bdir)
$(MKDIR) -p $(idir)
$(MKDIR) -p $(idir)/include
ln -s /usr/include/boost $(idir)/include/boost || true
$(MKDIR) -p $(ipdir)
$(if $GPGEX_ADD_HOST, $(MKDIR) -p $(ex_idir))
$(if $GPGEX_ADD_HOST, $(MKDIR) -p $(ex_ipdir))
$(MKDIR) -p $(nat_idir)/bin
ln -s $(abs_srcdir)/gccwrap.sh $(nat_idir)/bin/i686-w64-mingw32-gcc || true
ln -s $(abs_srcdir)/gccwrap.sh $(nat_idir)/bin/x86_64-w64-mingw32-gcc || true
ln -s $(abs_srcdir)/gccwrap.sh $(nat_idir)/bin/i686-w64-mingw32-g++ || true
ln -s $(abs_srcdir)/gccwrap.sh $(nat_idir)/bin/x86_64-w64-mingw32-g++ || true
$(MKDIR) -p $(nat_ipdir)
touch $(bdir)/versioninfo.txt
touch $(stampdir)/stamp-directories
$(stampdir)/stamp-msi-base: $(sdir)/icons/shield.ico $(sdir)/Makefile.am \
$(tsdir)/doc/logo/gpg4win-msi*.bmp \
$(tsdir)/po/gpg4win-de.wxl \
$(tsdir)/po/gpg4win-en.wxl
[ -d $(msidir)/help ] || mkdir -p $(msidir)/help
$(RUNCMD) msibase $(VERSION) $(gpg4win_pkg_gnupg_msi_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.
if BUILD_GPG4WIN
$(eval $(call INCLUDE_BY_MAKE,gpg4win.mk))
gpg4win_clean = clean-gpg4win
endif
clean-local: $(gpg4win_clean)
# Copy the DLL files for NSIS. We use a stamp because we need only
# some of them. The dependency on the Makefile is to avoid the need
# for a clean in some situations. The dummy files are required to
# keep stable componentrefs in the Wix files.
$(stampdir)/stamp-rtlib-files: Makefile
( \
f=libwinpthread-1.dll-ex ; test -f "$$f" && rm -f "$$f" ; \
if test "$(gpg4win_rtlib_ex_libwinpthread_1)" != no ; then \
cp $(gpg4win_rtlib_ex_libwinpthread_1) "$$f"; $(STRIP_EX) "$$f";\
else echo dummy > "$$f";\
fi; \
f=libwinpthread-1.dll-x ; test -f "$$f" && rm -f "$$f" ; \
if test "$(gpg4win_rtlib_libwinpthread_1)" != no ; then \
cp $(gpg4win_rtlib_libwinpthread_1) "$$f"; $(STRIP) "$$f";\
else echo dummy > "$$f";\
fi; \
f=libstdc++-6.dll-x ; test -f "$$f" && rm -f "$$f" ; \
if test "$(gpg4win_rtlib_libstdc___6)" != no ; then \
cp $(gpg4win_rtlib_libstdc___6) "$$f"; $(STRIP) "$$f";\
else echo dummy > "$$f";\
fi; \
f=libgcc_s_sjlj-1.dll-x ; test -f "$$f" && rm -f "$$f" ; \
if test "$(gpg4win_rtlib_libgcc_s_sjlj_1)" != no ; then \
cp $(gpg4win_rtlib_libgcc_s_sjlj_1) "$$f"; $(STRIP) "$$f";\
else echo dummy > "$$f";\
fi; \
f=libgcc_s_dw2-1.dll-x ; test -f "$$f" && rm -f "$$f" ; \
if test "$(gpg4win_rtlib_libgcc_s_dw2_1)" != no ; then \
cp $(gpg4win_rtlib_libgcc_s_dw2_1) "$$f"; $(STRIP) "$$f";\
else echo dummy > "$$f";\
fi; \
f=libgcc_s_seh-1.dll-x ; test -f "$$f" && rm -f "$$f" ; \
if test "$(gpg4win_rtlib_libgcc_s_seh_1)" != no ; then \
cp $(gpg4win_rtlib_libgcc_s_seh_1) "$$f"; $(STRIP) "$$f";\
else echo dummy > "$$f";\
fi )
$(MKDIR) -p $(stampdir)
touch $(stampdir)/stamp-rtlib-files
common_nsi = $(stampdir)/stamp-rtlib-files \
nsis/inst-sections.nsi nsis/installer.nsi \
nsis/installer-finish.nsi nsis/gpg4win.nsi \
$(addsuffix .nsi,$(addprefix nsis/inst-,$(gpg4win_build_list))) \
$(addsuffix .nsi,$(addprefix nsis/uninst-,$(gpg4win_build_list)))
# Sign additional files as per signing setup
# Exit in case of error because that usually means that AUTHENTICODE_FILES
# are not up to date.
$(stampdir)/stamp-additional-signedfiles: $(stampdir)/stamp-binaries \
$(foosum_exe)
(set -e;\
$(eval $(call READ_AUTOGEN_template,AUTHENTICODE_KEY)) \
cd "$(idir)"; \
for f in $(AUTHENTICODE_FILES); do \
if [ ! -f "$$f" ]; then \
echo "ERROR: file '$$f' not available for signing"; \
exit 1; \
fi;\
done; \
for f in $(AUTHENTICODE_FILES) $(AUTHENTICODE_FILES_OPTIONAL); do \
if [ ! -f "$$f" ]; then \
continue; \
fi; \
if [ ! -s "$$f" ]; then \
echo "Codesign: Skipping over empty file '$$f'"; \
continue; \
fi; \
if [ -n "$(AUTHENTICODE_KEY)" \
-a "$(AUTHENTICODE_KEY)" != "none" ]; then \
$(call AUTHENTICODE_sign,"$$f","$$f"); \
fi; \
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:
$(sdir)/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 '# Package version infos: SHA-1, name, commit-id' \
) | tac | awk '{printf "%s\r\n", $$0}' > versioninfo.txt
-rm versioninfo.tmp
NEWS.tmp : $(tsdir)/NEWS
awk '/^#/ {next} /^\(de\)/ {skip=1;next} /^[^[:space:]]/ {skip=0} \
!skip { sub(/^\(en\)/," *"); print }' \
<$(tsdir)/NEWS >NEWS.tmp
NEWS.de : $(tsdir)/NEWS
awk '/^#/ {next} /^\(en\)/ {skip=1;next} /^[^[:space:]]/ {skip=0} \
!skip { sub(/^\(de\)/,"-"); print }' \
<$(tsdir)/NEWS >NEWS.de; \
sed -i 's/^ / /' NEWS.de
NEWS.en : $(tsdir)/NEWS
awk '/^#/ {next} /^\(de\)/ {skip=1;next} /^[^[:space:]]/ {skip=0} \
!skip { sub(/^\(en\)/,"-"); print }' \
<$(tsdir)/NEWS >NEWS.en; \
sed -i 's/^ / /' NEWS.en
COMPONENTS-list.tmp : $(tsdir)/NEWS
awk '/^~~~~~~~~~~~/ { ok++; next} ok==1 {print " "$$0}' \
< $(tsdir)/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)$(W64SUFFIX).exe: \
$(common_nsi) \
$(stampdir)/stamp-final \
g4wihelp.dll gpgwrap.exe \
$(foosum_exe) \
$(HOWTO_files) \
license.blurb versioninfo.txt
$(MAKENSIS) -V3 -DBUILD_W64=$(BUILD_W64) \
-DTOP_BLDDIR=$(root) \
-DTOP_SRCDIR=$(tsdir) \
-DSRCDIR=$(sdir) $(EXTRA_MAKENSIS_FLAGS) \
$(sdir)/nsis/gpg4win.nsi \
&& mv $(root)/gpg4win-$(VERSION).exe \
installers/gpg4win-$(VERSION)$(W64SUFFIX).exe
$(stampdir)/stamp-dist-self: versioninfo.txt
(set -e; cd ..; make dist-xz)
touch $(stampdir)/stamp-dist-self
license.blurb: $(tsdir)/doc/license-page $(tsdir)/doc/GPLv3
cat $(tsdir)/doc/license-page $(tsdir)/doc/GPLv3 >$@
g4wihelp.dll: slideshow.cpp desktopshellrun.cpp g4wihelp.c exdll.h
$(W32CC32) -DUNICODE -static-libgcc -I. -O2 -c \
-o exdll.o $(sdir)/exdll.c
$(W32CC32) -DUNICODE -static-libgcc -I. -O2 -c \
-o desktopshellrun.o $(sdir)/desktopshellrun.cpp
$(W32CC32) -DUNICODE -static-libgcc -I. -O2 -c \
-o slideshow.o $(sdir)/slideshow.cpp
$(W32CC32) -DUNICODE -DENABLE_SLIDE_SHOW -static-libgcc \
-I. -shared -O2 \
-o g4wihelp.dll $(sdir)/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)$(W64SUFFIX).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)$(W64SUFFIX).exe \
installers/GnuPG-VS-Desktop-$(VERSION).msi \
installers/GnuPG-Desktop-$(VERSION).msi
distclean-local:
rm -f *.dll-x*
diff --git a/src/appimage/Makefile.am b/src/appimage/Makefile.am
index 9d927643..a5d79c91 100644
--- a/src/appimage/Makefile.am
+++ b/src/appimage/Makefile.am
@@ -1,274 +1,273 @@
# Makefile.am - Makefile for building AppImage of Kleopatra
# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2021 g10 Code GmbH
#
# Software engineering by Ingo Klöcker <dev@ingo-kloecker.de>
#
# 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 <https://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-2.0+
EXTRA_DIST = AppRun start-shell build-appimage.sh
SUBDIRS = rsync-filters
# Define macros for the various directories. These directory names
# must be absolute, as we switch pretty often between them and don't
# want to track relative names. The directories are created as needed
# by the $(stampdir)/stamp-directories target. tsdir is used instead
# of the predefined top_srcdir so that we can override it using make
# variables.
#
# tsdir :: The top source directory.
# root :: Our build root. The make variable PLAYGROUND can be used
# to override the default.
# stampdir :: The directory to hold stamp files.
# logdir :: The directory for the build logs.
# bdir :: The build dir for the individual packages.
# idir :: The directory with the installed files from the packages.
# ipdir :: A subdir of the install directory to hold the installed
# packages which will be stowed to other subdirs of $(idir).
# appdir :: The directory for preparing the content of the AppImage.
# patdir :: The source directory patches-appimage/ below tsdir.
# rsyncfilterdir :: The source directory with the package-specific
# rsync filters (rsync replaces stow in the AppImage
# build).
tsdir := $(TOPSRCDIR)
root := $(PLAYGROUND)
stampdir := $(root)/stamps
logdir := $(root)/logs
bdir := $(root)/build
idir := $(root)/install
ipdir := $(root)/install/pkgs
appdir := $(root)/AppDir
patdir := $(tsdir)/patches-appimage
rsyncfilterdir := $(tsdir)/src/appimage/rsync-filters
$(info -------------------------------------------------)
$(info Topsource ....: $(tsdir))
$(info Playground ...: $(root))
$(info Stamps at ....: $(stampdir))
$(info Building at ..: $(bdir))
$(info Logs at ......: $(logdir))
$(info -------------------------------------------------)
# Source packages for the AppImage (see also ../src/Makefile.am)
appimage_spkgs = sqlite libgpg-error libassuan npth libgcrypt libksba gnupg \
pinentry gpgme paperkey ntbtls \
freetype qrencode jpeg libpng xcb-util-cursor
appimage_pkg_libgpg_error_configure = --enable-install-gpg-error-config
# KDE packages for the AppImage
appimage_kdepkgs = kconfig kwidgetsaddons ki18n extra-cmake-modules \
kcompletion kwindowsystem kcoreaddons libkleo kcodecs \
kmime kmbox kconfigwidgets kxmlgui kguiaddons kitemviews \
kiconthemes kleopatra breeze-icons kitemmodels karchive \
kcrash kdbusaddons kio kbookmarks kservice solid \
kjobwidgets libical kcalendarcore mimetreeparser \
kcolorscheme sonnet ktextwidgets kauth kstatusnotifieritem \
threadweaver kparts poppler okular \
gpgmepp qgpgme \
prison gpgpass zstd pcre2 \
qtbase qttools qtsvg qttranslations qtwayland \
plasma-wayland-protocols breeze
appimage_bpkgs = wayland-protocols
define appimage_pkg_wayland_protocols_post_install
( \
cd ..; \
mv $$$${pkgidir}/$$$${pkg_version} $$$${pkgsdir};\
cd $$$${pkgsdir}; \
meson setup --prefix $$$${pkgidir} build; \
cd build; \
ninja && ninja install; \
cd $$$${pkgidir}; \
)
endef
appimage_pkg_gpgme_configure = \
--enable-languages= \
--disable-gpg-test \
--disable-gpgsm-test
appimage_pkg_qgpgme_configure = -DBUILD_WITH_QT5=OFF
appimage_pkg_qtbase_configure = \
-DQT_BUILD_EXAMPLES=OFF \
-DQT_BUILD_TESTS=OFF \
-DBUILD_WITH_PCH=OFF \
-DFEATURE_accessibility=ON \
-DFEATURE_glib=OFF \
-DFEATURE_dynamicgl=OFF \
-DFEATURE_egl=OFF \
-DFEATURE_opengl_desktop=OFF \
-DFEATURE_opengl_dynamic=OFF \
-DFEATURE_opengles2=OFF \
-DFEATURE_opengl=OFF \
-DINPUT_opengl=no \
-DFEATURE_pkg_config=ON \
-DFEATURE_sql_mysql=OFF \
-DFEATURE_sql_odbc=OFF \
-DFEATURE_sql_psql=OFF \
-DFEATURE_qt_freetype=ON \
-DFEATURE_system_pcre=ON \
-DFEATURE_system_jpeg=ON \
-DFEATURE_system_zstd=ON \
-DFEATURE_xcb=ON \
-DFEATURE_use_gold_linker_alias=OFF \
-DCMAKE_MESSAGE_LOG_LEVEL=STATUS \
-DCMAKE_VERBOSE_MAKEFILE=ON
appimage_pkg_qttools_configure = \
-DFEATURE_assistant=OFF \
-DFEATURE_qdoc=OFF \
-DFEATURE_designer=OFF \
-DFEATURE_distancefieldgenerator=OFF \
-DFEATURE_kmap2qmap=OFF \
-DFEATURE_pixeltool=OFF \
-DFEATURE_qdbus=OFF \
-DFEATURE_qev=OFF \
-DFEATURE_qtattributionsscanner=OFF \
-DFEATURE_qtdiag=OFF \
-DFEATURE_qtplugininfo=OFF
# do not create the huge icon resource files
appimage_pkg_breeze_icons_configure = -DBINARY_ICONS_RESOURCE=OFF
appimage_pkg_breeze_configure = \
-DBUILD_QT6=ON \
-DBUILD_QT5=OFF \
-DWITH_DECORATIONS=OFF \
-DCMAKE_DISABLE_FIND_PACKAGE_KF6KCMUtils=ON
appimage_pkg_karchive_configure = -DWITH_BZIP2=OFF
appimage_pkg_kcompletion_configure = \
-DBUILD_DESIGNERPLUGIN=OFF
appimage_pkg_kconfigwidgets_configure = \
-DBUILD_DESIGNERPLUGIN=OFF
appimage_pkg_kconfig_configure = -DKCONFIG_USE_DBUS=OFF -DKCONFIG_USE_QML=OFF
appimage_pkg_kcrash_configure = -DWITH_OPENGL=OFF
appimage_pkg_kguiaddons_configure = -DWITH_WAYLAND=OFF
appimage_pkg_sonnet_configure = -DSONNET_USE_QML=OFF
appimage_pkg_ki18n_configure = -DBUILD_WITH_QML=OFF
appimage_pkg_kitemviews_configure = \
-DBUILD_DESIGNERPLUGIN=OFF
appimage_pkg_kwidgetsaddons_configure = \
-DBUILD_DESIGNERPLUGIN=OFF
# FIXME: Uses spaces in distribution text
appimage_pkg_kxmlgui_configure = \
-DBUILD_DESIGNERPLUGIN=OFF \
-DFORCE_DISABLE_KGLOBALACCEL=ON
appimage_pkg_libkleo_configure = \
-DBOOST_INCLUDEDIR=/usr/include/boost169 \
-DBOOST_LIBRARYDIR=/usr/lib64/boost169
appimage_pkg_kleopatra_configure = \
-DBOOST_INCLUDEDIR=/usr/include/boost169 \
-DBOOST_LIBRARYDIR=/usr/lib64/boost169 \
-DDISABLE_KWATCHGNUPG=ON \
-DRELEASE_SERVICE_VERSION=AppImage-$(VERSION)
appimage_pkg_poppler_configure = \
-DENABLE_BOOST=OFF \
-DENABLE_NSS3=OFF \
-DENABLE_GOBJECT_INTROSPECTION=OFF \
-DENABLE_QT5=OFF \
-DENABLE_LCMS=OFF \
-DENABLE_LIBCURL=OFF \
-DFONT_CONFIGURATION=generic
appimage_pkg_okular_configure = \
-DFORCE_NOT_REQUIRED_DEPENDENCIES="PlasmaActivities\;KF6Wallet\;KF6Purpose\;Qt6TextToSpeech\;LibZip\;KF6DocTools\;Phonon4Qt6\;LibSpectre\;KExiv2Qt6\;CHM\;DjVuLibre\;EPub\;QMobipocket\;Discount\;Qt6Qml\;Qt6DBus\;KF6Pty"
appimage_pkg_libical_configure = \
-DICAL_GLIB=false \
-DENABLE_GTK_DOC=false
appimage_pkg_prison_configure = \
-DWITH_QUICK=OFF \
-DWITH_MULTIMEDIA=OFF
appimage_pkg_kiconthemes_configure = \
-DKICONTHEMES_USE_QTQUICK=OFF
appimage_pkg_kcoreaddons_configure = -DKCOREADDONS_USE_QML=OFF
appimage_pkg_kcalendarcore_configure = -DUSE_QML=OFF
-appimage_pkg_ktextaddons_configure = -DFORCE_DISABLE_MULTIMEDIA=ON
appimage_pkg_ktextwidgets_configure = -DWITH_TEXT_TO_SPEECH=OFF
appimage_pkg_kio_configure = -DWITH_WAYLAND=OFF
appimage_pkg_kwindowsystem_configure = -DKWINDOWSYSTEM_QML=OFF
appimage_pkg_xcb_util_cursor_configure = --enable-static --disable-shared
appimage_pkg_xcb_util_cursor_extracflags = -fPIC
appimage_pkg_zstd_conf_subdir = /build/cmake
appimage_pkg_zstd_configure = -DZSTD_BUILD_PROGRAMS=OFF
########################################################################
# The build area is our scratch area, where we unpack, build and
# install the packages.
$(stampdir)/stamp-directories:
$(MKDIR) -p $(root)
$(MKDIR) -p $(stampdir)
$(MKDIR) -p $(logdir)
$(MKDIR) -p $(bdir)
$(MKDIR) -p $(idir)
$(MKDIR) -p $(ipdir)
$(MKDIR) -p $(appdir)/usr
touch $(bdir)/versioninfo.txt
touch $(stampdir)/stamp-directories
# Now do the bunch of the work. This is a bunch of dirty magic to
# integrate our special makefile into automake, while not actually
# including it (make should include it). This is in turn necessary
# because automake can't deal with the elegant magic in the actual
# Makefile.
define INCLUDE_BY_MAKE
include $(1)
endef
$(eval $(call INCLUDE_BY_MAKE,appimage.mk))
clean-local: clean-appimage
license.blurb: $(top_srcdir)/doc/license-page $(top_srcdir)/doc/GPLv3
cat $(top_srcdir)/doc/license-page $(top_srcdir)/doc/GPLv3 >$@
all-local: $(stampdir)/stamp-final
@echo "###################################################"
@echo " AppDir prepared successfully for the AppImage!"
@echo " Now run linuxdeploy to create the AppImage."
@echo "###################################################"
diff --git a/src/nsis/Makefile.am b/src/nsis/Makefile.am
index 0f10aae3..14449d50 100644
--- a/src/nsis/Makefile.am
+++ b/src/nsis/Makefile.am
@@ -1,103 +1,100 @@
# Makefile.am - NSIS Files for Gpg4win
# Copyright (C) 2024 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 = g4wihelp.nsi gpg4win.nsi gpg4win-src.nsi config.nsi.in \
Memento.nsh inst-final.nsi \
inst-sections.nsi installer.nsi installer-finish.nsi \
inst-gpg4win.nsi uninst-gpg4win.nsi \
inst-breeze.nsi uninst-breeze.nsi \
inst-breeze-icons.nsi uninst-breeze-icons.nsi \
inst-bzip2.nsi uninst-bzip2.nsi \
inst-compendium.nsi uninst-compendium.nsi \
inst-extra-cmake-modules.nsi uninst-extra-cmake-modules.nsi \
inst-freetype.nsi uninst-freetype.nsi \
inst-gettext.nsi uninst-gettext.nsi \
inst-gnupg-w32.nsi uninst-gnupg-w32.nsi \
inst-gpg4win-tools.nsi uninst-gpg4win-tools.nsi \
inst-gpgex.nsi uninst-gpgex.nsi \
inst-gpgme-browser.nsi \
inst-gpgme.nsi uninst-gpgme.nsi \
inst-gpgmepp.nsi uninst-gpgmepp.nsi \
inst-qgpgme.nsi uninst-qgpgme.nsi \
inst-gpgoljs.nsi uninst-gpgoljs.nsi \
inst-gpgol.nsi uninst-gpgol.nsi \
inst-gpgpass.nsi uninst-gpgpass.nsi \
inst-jpeg.nsi uninst-jpeg.nsi \
inst-karchive.nsi uninst-karchive.nsi \
inst-kbookmarks.nsi uninst-kbookmarks.nsi \
inst-kcalendarcore.nsi uninst-kcalendarcore.nsi \
inst-kcodecs.nsi uninst-kcodecs.nsi \
inst-kcolorscheme.nsi uninst-kcolorscheme.nsi \
inst-kcompletion.nsi uninst-kcompletion.nsi \
inst-kconfig.nsi uninst-kconfig.nsi \
inst-kconfigwidgets.nsi uninst-kconfigwidgets.nsi \
inst-kcontacts.nsi uninst-kcontacts.nsi \
inst-kcoreaddons.nsi uninst-kcoreaddons.nsi \
inst-kcrash.nsi uninst-kcrash.nsi \
inst-kde-l10n.nsi uninst-kde-l10n.nsi \
inst-kguiaddons.nsi uninst-kguiaddons.nsi \
inst-ki18n.nsi uninst-ki18n.nsi \
inst-kiconthemes.nsi uninst-kiconthemes.nsi \
inst-kio.nsi uninst-kio.nsi \
inst-kitemmodels.nsi uninst-kitemmodels.nsi \
inst-kitemviews.nsi uninst-kitemviews.nsi \
inst-kjobwidgets.nsi uninst-kjobwidgets.nsi \
inst-kleopatra.nsi uninst-kleopatra.nsi \
inst-kmbox.nsi uninst-kmbox.nsi \
inst-kmime.nsi uninst-kmime.nsi \
inst-kparts.nsi uninst-kparts.nsi \
- inst-kpimtextedit.nsi uninst-kpimtextedit.nsi \
inst-kservice.nsi uninst-kservice.nsi \
inst-kstatusnotifieritem.nsi uninst-kstatusnotifieritem.nsi \
- inst-ktextaddons.nsi uninst-ktextaddons.nsi \
inst-ktextwidgets.nsi uninst-ktextwidgets.nsi \
inst-kwidgetsaddons.nsi uninst-kwidgetsaddons.nsi \
inst-kwindowsystem.nsi uninst-kwindowsystem.nsi \
inst-kxmlgui.nsi uninst-kxmlgui.nsi \
inst-libassuan.nsi uninst-libassuan.nsi \
inst-libgpg-error.nsi uninst-libgpg-error.nsi \
inst-libical.nsi uninst-libical.nsi \
inst-libiconv.nsi uninst-libiconv.nsi \
inst-libkdepim.nsi uninst-libkdepim.nsi \
inst-libkleo.nsi uninst-libkleo.nsi \
inst-libpng.nsi uninst-libpng.nsi \
inst-mimetreeparser.nsi uninst-mimetreeparser.nsi \
inst-okular.nsi uninst-okular.nsi \
inst-openjpeg.nsi uninst-openjpeg.nsi \
inst-paperkey.nsi uninst-paperkey.nsi \
inst-pcre2.nsi uninst-pcre2.nsi \
inst-pinentry.nsi uninst-pinentry.nsi \
inst-pkgconfig.nsi uninst-pkgconfig.nsi \
inst-poppler.nsi uninst-poppler.nsi \
inst-prison.nsi uninst-prison.nsi \
inst-qrencode.nsi uninst-qrencode.nsi \
inst-qtbase.nsi uninst-qtbase.nsi \
inst-qthttpserver.nsi uninst-qthttpserver.nsi \
- inst-qtkeychain.nsi uninst-qtkeychain.nsi \
inst-qtsvg.nsi uninst-qtsvg.nsi \
inst-qttools.nsi uninst-qttools.nsi \
inst-qttranslations.nsi uninst-qttranslations.nsi \
inst-qtwebsockets.nsi uninst-qtwebsockets.nsi \
inst-scute.nsi uninst-scute.nsi \
inst-solid.nsi uninst-solid.nsi \
inst-sonnet.nsi uninst-sonnet.nsi \
inst-syntax-highlighting.nsi uninst-syntax-highlighting.nsi \
inst-threadweaver.nsi uninst-threadweaver.nsi \
inst-tiff.nsi uninst-tiff.nsi \
inst-zlib.nsi uninst-zlib.nsi \
inst-zstd.nsi uninst-zstd.nsi
diff --git a/src/nsis/config.nsi.in b/src/nsis/config.nsi.in
index 1ce92f1b..57922267 100644
--- a/src/nsis/config.nsi.in
+++ b/src/nsis/config.nsi.in
@@ -1,375 +1,359 @@
# 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_W64 @BUILD_W64@
!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_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_KSTATUSNOTIFIERITEM@
!define gpg4win_pkg_kstatusnotifieritem @gpg4win_pkg_kstatusnotifieritem@
!define gpg4win_pkg_kstatusnotifieritem_version @gpg4win_pkg_kstatusnotifieritem_version@
@HAVE_PKG_KTEXTWIDGETS@
!define gpg4win_pkg_ktextwidgets @gpg4win_pkg_ktextwidgets@
!define gpg4win_pkg_ktextwidgets_version @gpg4win_pkg_ktextwidgets_version@
@HAVE_PKG_KCOLORSCHEME@
!define gpg4win_pkg_kcolorscheme @gpg4win_pkg_kcolorscheme@
!define gpg4win_pkg_kcolorscheme_version @gpg4win_pkg_kcolorscheme_version@
@HAVE_PKG_ZSTD@
!define gpg4win_pkg_zstd @gpg4win_pkg_zstd@
!define gpg4win_pkg_zstd_version @gpg4win_pkg_zstd_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@
@HAVE_PKG_QTHTTPSERVER@
!define gpg4win_pkg_qthttpserver @gpg4win_pkg_qthttpserver@
!define gpg4win_pkg_qthttpserver_version @gpg4win_pkg_qthttpserver_version@
-@HAVE_PKG_QTKEYCHAIN@
-!define gpg4win_pkg_qtkeychain @gpg4win_pkg_qtkeychain@
-!define gpg4win_pkg_qtkeychain_version @gpg4win_pkg_qtkeychain_version@
-
@HAVE_PKG_QTWEBSOCKETS@
!define gpg4win_pkg_qtwebsockets @gpg4win_pkg_qtwebsockets@
!define gpg4win_pkg_qtwebsockets_version @gpg4win_pkg_qtwebsockets_version@
-@HAVE_PKG_SYNTAX_HIGHLIGHTING@
-!define gpg4win_pkg_syntax_highlighting @gpg4win_pkg_syntax_highlighting@
-!define gpg4win_pkg_syntax_highlighting_version @gpg4win_pkg_syntax_highlighting_version@
-
@HAVE_PKG_KCONTACTS@
!define gpg4win_pkg_kcontacts @gpg4win_pkg_kcontacts@
!define gpg4win_pkg_kcontacts_version @gpg4win_pkg_kcontacts_version@
@HAVE_PKG_LIBKDEPIM@
!define gpg4win_pkg_libkdepim @gpg4win_pkg_libkdepim@
!define gpg4win_pkg_libkdepim_version @gpg4win_pkg_libkdepim_version@
-@HAVE_PKG_KPIMTEXTEDIT@
-!define gpg4win_pkg_kpimtextedit @gpg4win_pkg_kpimtextedit@
-!define gpg4win_pkg_kpimtextedit_version @gpg4win_pkg_kpimtextedit_version@
-
-@HAVE_PKG_KTEXTADDONS@
-!define gpg4win_pkg_ktextaddons @gpg4win_pkg_ktextaddons@
-!define gpg4win_pkg_ktextaddons_version @gpg4win_pkg_ktextaddons_version@
-
@HAVE_PKG_GPGOLJS@
!define gpg4win_pkg_gpgoljs @gpg4win_pkg_gpgoljs@
!define gpg4win_pkg_gpgoljs_version @gpg4win_pkg_gpgoljs_version@
@HAVE_PKG_BREEZE@
!define gpg4win_pkg_breeze @gpg4win_pkg_breeze@
!define gpg4win_pkg_breeze_version @gpg4win_pkg_breeze_version@
# @HAVE_PKG_MAN_NOVICE_EN@
# @HAVE_PKG_MAN_ADVANCED_EN@
diff --git a/src/nsis/inst-kpimtextedit.nsi b/src/nsis/inst-kpimtextedit.nsi
deleted file mode 100644
index 74fb8883..00000000
--- a/src/nsis/inst-kpimtextedit.nsi
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (C) 2024 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}/kpimtextedit-${gpg4win_pkg_kpimtextedit_version}
-
-Section "-kpimtextedit" SEC_kpimtextedit
- SetOutPath "$INSTDIR\bin"
- File ${prefix}/bin/libKPim6TextEdit.dll
-SectionEnd
diff --git a/src/nsis/inst-ktextaddons.nsi b/src/nsis/inst-ktextaddons.nsi
deleted file mode 100644
index a527fcd5..00000000
--- a/src/nsis/inst-ktextaddons.nsi
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (C) 2024 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}/ktextaddons-${gpg4win_pkg_ktextaddons_version}
-
-Section "-ktextaddons" SEC_ktextaddons
- SetOutPath "$INSTDIR\bin"
- File ${prefix}/bin/libKF6TextAddonsWidgets.dll
- File ${prefix}/bin/libKF6TextAutoCorrectionCore.dll
- File ${prefix}/bin/libKF6TextAutoCorrectionWidgets.dll
- File ${prefix}/bin/libKF6TextCustomEditor.dll
- File ${prefix}/bin/libKF6TextEmoticonsCore.dll
- File ${prefix}/bin/libKF6TextEmoticonsWidgets.dll
- File ${prefix}/bin/libKF6TextGrammarCheck.dll
- File ${prefix}/bin/libKF6TextTranslator.dll
- File ${prefix}/bin/libKF6TextUtils.dll
-SectionEnd
diff --git a/src/nsis/inst-qtkeychain.nsi b/src/nsis/inst-qtkeychain.nsi
deleted file mode 100644
index 5ef27b63..00000000
--- a/src/nsis/inst-qtkeychain.nsi
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (C) 2024 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}/qtkeychain-${gpg4win_pkg_qtkeychain_version}
-
-Section "-qtkeychain" SEC_qtkeychain
- SetOutPath "$INSTDIR\bin"
- File ${prefix}/bin/libqt6keychain.dll
-SectionEnd
diff --git a/src/nsis/inst-sections.nsi b/src/nsis/inst-sections.nsi
index a7812b0b..7f93598d 100644
--- a/src/nsis/inst-sections.nsi
+++ b/src/nsis/inst-sections.nsi
@@ -1,1256 +1,1216 @@
# 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_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_KCOLORSCHEME
!include "inst-kcolorscheme.nsi"
!endif
#!ifdef HAVE_PKG_SNORETOAST
#!include "inst-snoretoast.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_KSTATUSNOTIFIERITEM
!include "inst-kstatusnotifieritem.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_ZSTD
!include "inst-zstd.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_GPGOLJS
!include "inst-gpgoljs.nsi"
!endif
!ifdef HAVE_PKG_QTHTTPSERVER
!include "inst-qthttpserver.nsi"
!endif
-!ifdef HAVE_PKG_QTKEYCHAIN
-!include "inst-qtkeychain.nsi"
-!endif
!ifdef HAVE_PKG_QTWEBSOCKETS
!include "inst-qtwebsockets.nsi"
!endif
-!ifdef HAVE_PKG_SYNTAX_HIGHLIGHTING
-!include "inst-syntax-highlighting.nsi"
-!endif
!ifdef HAVE_PKG_KCONTACTS
!include "inst-kcontacts.nsi"
!endif
!ifdef HAVE_PKG_LIBKDEPIM
!include "inst-libkdepim.nsi"
!endif
-!ifdef HAVE_PKG_KPIMTEXTEDIT
-!include "inst-kpimtextedit.nsi"
-!endif
-!ifdef HAVE_PKG_KTEXTADDONS
-!include "inst-ktextaddons.nsi"
-!endif
!ifdef HAVE_PKG_GPGPASS
!include "inst-gpgpass.nsi"
!endif
!ifdef HAVE_PKG_PAPERKEY
!include "inst-paperkey.nsi"
!endif
!ifdef HAVE_PKG_BREEZE
!include "inst-breeze.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
# These always exist
!include "inst-compendium.nsi"
!include "inst-gpgme-browser.nsi"
!include "inst-final.nsi"
# We have to invoke the uninstallers in reverse order!
!include "uninst-compendium.nsi"
!ifdef HAVE_PKG_BREEZE
!include "uninst-breeze.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_LIBICONV
!include "uninst-libiconv.nsi"
!endif
!ifdef HAVE_PKG_QTTOOLS
!include "uninst-qttools.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_KCOLORSCHEME
!include "uninst-kcolorscheme.nsi"
!endif
#!ifdef HAVE_PKG_SNORETOAST
#!include "uninst-snoretoast.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_KSTATUSNOTIFIERITEM
!include "uninst-kstatusnotifieritem.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_GPGOLJS
!include "uninst-gpgoljs.nsi"
!endif
!ifdef HAVE_PKG_QTHTTPSERVER
!include "uninst-qthttpserver.nsi"
!endif
-!ifdef HAVE_PKG_QTKEYCHAIN
-!include "uninst-qtkeychain.nsi"
-!endif
!ifdef HAVE_PKG_QTWEBSOCKETS
!include "uninst-qtwebsockets.nsi"
!endif
!ifdef HAVE_PKG_KSTATUSNOTIFIERITEM
!include "uninst-kstatusnotifieritem.nsi"
!endif
-!ifdef HAVE_PKG_SYNTAX_HIGHLIGHTING
-!include "uninst-syntax-highlighting.nsi"
-!endif
!ifdef HAVE_PKG_KCONTACTS
!include "uninst-kcontacts.nsi"
!endif
!ifdef HAVE_PKG_LIBKDEPIM
!include "uninst-libkdepim.nsi"
!endif
-!ifdef HAVE_PKG_KPIMTEXTEDIT
-!include "uninst-kpimtextedit.nsi"
-!endif
-!ifdef HAVE_PKG_KTEXTADDONS
-!include "uninst-ktextaddons.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
!ifdef HAVE_PKG_ZSTD
!include "uninst-zstd.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_GPGOLJS
g4wihelp::config_fetch_bool "inst_gpgoljs"
StrCmp $R0 "1" 0 calc_defaults_gpgoljs_not_one
!insertmacro SelectSection ${SEC_gpgoljs}
Goto calc_defaults_gpgoljs_done
calc_defaults_gpgoljs_not_one:
StrCmp $R0 "0" 0 calc_defaults_gpgoljs_done
!insertmacro UnselectSection ${SEC_gpgoljs}
calc_defaults_gpgoljs_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
# 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_gpgoljs}
!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_ZSTD
!insertmacro UnselectSection ${SEC_zstd}
!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_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_KCOLORSCHEME
!insertmacro UnselectSection ${SEC_kcolorscheme}
!endif
#!ifdef HAVE_PKG_SNORETOAST
# !insertmacro UnselectSection ${SEC_snoretoast}
#!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_KSTATUSNOTIFIERITEM
!insertmacro UnselectSection ${SEC_kstatusnotifieritem}
!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
!ifdef HAVE_PKG_QTHTTPSERVER
!insertmacro UnselectSection ${SEC_qthttpserver}
!endif
!ifdef HAVE_PKG_QTWEBSOCKETS
!insertmacro UnselectSection ${SEC_qtwebsockets}
!endif
-!ifdef HAVE_PKG_QTKEYCHAIN
- !insertmacro UnselectSection ${SEC_qtkeychain}
-!endif
-!ifdef HAVE_PKG_SYNTAX_HIGHLIGHTING
- !insertmacro UnselectSection ${SEC_syntax-highlighting}
-!endif
!ifdef HAVE_PKG_LIBKDEPIM
!insertmacro UnselectSection ${SEC_libkdepim}
!endif
-!ifdef HAVE_PKG_KPIMTEXTEDIT
- !insertmacro UnselectSection ${SEC_kpimtextedit}
-!endif
-!ifdef HAVE_PKG_KTEXTADDONS
- !insertmacro UnselectSection ${SEC_ktextaddons}
-!endif
!ifdef HAVE_PKG_KCONTACTS
!insertmacro UnselectSection ${SEC_kcontacts}
!endif
!ifdef HAVE_PKG_BREEZE
!insertmacro UnselectSection ${SEC_breeze}
!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_snoretoast}
!insertmacro SelectSection ${SEC_kcolorscheme}
!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}
!insertmacro SelectSection ${SEC_breeze}
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_GPGOLJS
${IfNot} ${AtLeastWin7}
# Disable gpgoljs for Windows below 7
SectionSetFlags ${SEC_gpgoljs} 16
${Endif}
!insertmacro SectionFlagIsSet ${SEC_gpgoljs} ${SF_SELECTED} have_gpgoljs skip_gpgoljs
have_gpgoljs:
!insertmacro SelectSection ${SEC_kde_l10n}
!insertmacro SelectSection ${SEC_gpgme}
!insertmacro SelectSection ${SEC_qtbase}
!insertmacro SelectSection ${SEC_breeze_icons}
!insertmacro SelectSection ${SEC_kconfig}
!insertmacro SelectSection ${SEC_libkleo}
!insertmacro SelectSection ${SEC_qthttpserver}
!insertmacro SelectSection ${SEC_qtwebsockets}
- !insertmacro SelectSection ${SEC_qtkeychain}
!insertmacro SelectSection ${SEC_kstatusnotifieritem}
- !insertmacro SelectSection ${SEC_syntax-highlighting}
!insertmacro SelectSection ${SEC_libkdepim}
- !insertmacro SelectSection ${SEC_kpimtextedit}
- !insertmacro SelectSection ${SEC_ktextaddons}
!insertmacro SelectSection ${SEC_kcontacts}
!insertmacro SelectSection ${SEC_breeze}
skip_gpgoljs:
!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_snoretoast}
!insertmacro SelectSection ${SEC_kcolorscheme}
!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_extra-cmake-modules}
!insertmacro SelectSection ${SEC_sonnet}
!insertmacro SelectSection ${SEC_ktextwidgets}
!insertmacro SelectSection ${SEC_mimetreeparser}
!insertmacro SelectSection ${SEC_libical}
!insertmacro SelectSection ${SEC_kcalendarcore}
!insertmacro SelectSection ${SEC_kstatusnotifieritem}
!insertmacro SelectSection ${SEC_breeze}
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}
!insertmacro SelectSection ${SEC_qtbase}
skip_qgpgme:
!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_zstd}
!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_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/nsis/inst-syntax-highlighting.nsi b/src/nsis/inst-syntax-highlighting.nsi
deleted file mode 100644
index eb7b1287..00000000
--- a/src/nsis/inst-syntax-highlighting.nsi
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (C) 2024 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}/syntax-highlighting-${gpg4win_pkg_syntax_highlighting_version}
-
-Section "-syntax_highlighting" SEC_syntax-highlighting
- SetOutPath "$INSTDIR\bin"
- File ${prefix}/bin/libKF6SyntaxHighlighting.dll
-SectionEnd
diff --git a/src/nsis/uninst-kpimtextedit.nsi b/src/nsis/uninst-kpimtextedit.nsi
deleted file mode 100644
index 4bd1596a..00000000
--- a/src/nsis/uninst-kpimtextedit.nsi
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (C) 2024 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
-
-; Uninstaller section.
-Section "-un.kpimtextedit"
- Delete "$INSTDIR\bin\libKPim6TextEdit.dll"
- RmDir "$INSTDIR\bin"
-SectionEnd
diff --git a/src/nsis/uninst-ktextaddons.nsi b/src/nsis/uninst-ktextaddons.nsi
deleted file mode 100644
index 68fe5dee..00000000
--- a/src/nsis/uninst-ktextaddons.nsi
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (C) 2024 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
-; Uninstaller section.
-Section "-un.ktextaddons"
- Delete "$INSTDIR\bin\libKF6TextAddonsWidgets.dll"
- Delete "$INSTDIR\bin\libKF6TextAutoCorrectionCore.dll"
- Delete "$INSTDIR\bin\libKF6TextAutoCorrectionWidgets.dll"
- Delete "$INSTDIR\bin\libKF6TextCustomEditor.dll"
- Delete "$INSTDIR\bin\libKF6TextEmoticonsCore.dll"
- Delete "$INSTDIR\bin\libKF6TextEmoticonsWidgets.dll"
- Delete "$INSTDIR\bin\libKF6TextGrammarCheck.dll"
- Delete "$INSTDIR\bin\libKF6TextTranslator.dll"
- Delete "$INSTDIR\bin\libKF6TextUtils.dll"
- RmDir "$INSTDIR\bin"
-SectionEnd
diff --git a/src/nsis/uninst-qtkeychain.nsi b/src/nsis/uninst-qtkeychain.nsi
deleted file mode 100644
index f578b891..00000000
--- a/src/nsis/uninst-qtkeychain.nsi
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (C) 2024 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
-
-; Uninstaller section.
-Section "-un.qtkeychain"
- Delete "$INSTDIR\bin\libqt6keychain.dll"
- RmDir "$INSTDIR\bin"
-SectionEnd
diff --git a/src/nsis/uninst-syntax-highlighting.nsi b/src/nsis/uninst-syntax-highlighting.nsi
deleted file mode 100644
index ae3f4f1e..00000000
--- a/src/nsis/uninst-syntax-highlighting.nsi
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (C) 2024 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
-
-; Uninstaller section.
-Section "-un.syntax_highlighting"
- Delete "$INSTDIR\bin\libKF6SyntaxHighlighting.dll"
- RmDir "$INSTDIR\bin"
-SectionEnd

File Metadata

Mime Type
text/x-diff
Expires
Sun, Feb 8, 3:08 PM (1 d, 15 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
8e/a4/314acc00c5dea817c96c174de445

Event Timeline