diff --git a/Makefile.am b/Makefile.am
index 88dcb577..22f47a26 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,117 +1,119 @@
# 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 .
ACLOCAL_AMFLAGS = -I m4
AUTOMAKE_OPTIONS = dist-bzip2 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 patches-appimage -type f | sort | sed 's/$/ \\/' | sed 's/^/ /'
EXTRA_DIST = autogen.sh README.GIT ONEWS \
doc/license-page doc/GPLv3 \
build-aux/git-log-footer build-aux/git-log-fix \
docker/appimage/Dockerfile \
docker/build-appimage-docker-image.sh \
docker/run-appimage-build.sh \
patches/extra-cmake-modules/0001-Use-BIN_INSTALL_DIR-data-for-DATAROOTDIR-on-Windows.patch \
patches/glib/glib-1-fixes.patch \
patches/glib/glib-2-fixes.patch \
patches/kconfigwidgets/0001-Make-QDbus-optional.patch \
patches/kconfigwidgets/0001-Fix-crash-on-exit-on-Windows.patch \
patches/kiconthemes/0001-Make-DBus-optional.patch \
+ patches/kconfig/0001-Read-defaults-from-Windows-registry.patch \
patches/kleopatra/set-cxx-standard.patch \
+ patches/kleopatra/set-windows-registry-key.patch \
patches/kxmlgui/0001-make-qdbus-optional.patch \
patches/kxmlgui/0004-Cruedly-disable-KSendbugmail.patch \
patches/libkleo/set-cxx-standard.patch \
patches/qtbase/0001-Fix-build-without-std-thread.patch \
patches/qtbase/0001-Gpg4win-qstandardpaths-patch.patch \
patches/qtbase/0002-Gpg4win-theme-names-and-relpaths.patch \
patches/qtbase/0003-Fix-build-with-GCC-11-include-limits.patch \
patches/qttools/disable-most-tools.patch \
patches/w32pth-2.0.5/workaround-broken-libtool.patch \
patches-appimage/kconfigwidgets/0001-build-without-KF5Auth.patch \
patches-appimage/qtwayland-5.15.0/00-disable-wayland-server.patch \
patches-appimage/kleopatra/set-cxx-standard.patch \
patches-appimage/libkleo/set-cxx-standard.patch \
patches-appimage/kmime/set-cxx-standard.patch \
patches-appimage/libkleo/gpg4win-check.patch
copy-news:
cp NEWS doc/website/NEWS.last
copy-release: gpg4win-$(VERSION).tar.bz2 installers/gpg4win-$(VERSION).exe \
installers/gpg4win-light-$(VERSION).exe \
installers/gpg4win-vanilla-$(VERSION).exe
@echo Copying $(VERSION) to $(RELEASEHOST) >&2
@set -e;\
if ssh "$$(echo $(RELEASEHOST)|cut -d: -f -1)" \
test -f "$$(echo $(RELEASEHOST)/gpg4win-$(VERSION).exe|cut -d: -f2-)";\
then echo "This release has already been copied to the server" >&2 ;\
else scp gpg4win-$(VERSION).tar.bz2 \
installers/gpg4win-$(VERSION).exe \
installers/gpg4win-light-$(VERSION).exe \
installers/gpg4win-vanilla-$(VERSION).exe \
installers/gpg4win-src-$(VERSION).exe $(RELEASEHOST)/ ;\
for f in en de ; do \
scp src/README.$$f.txt \
$(RELEASEHOST)/README-$(VERSION).$$f.txt; \
done;\
fi
dist-hook: gen-ChangeLog
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
download: packages/packages.common packages/packages.4 packages/packages.3
(cd packages; ./download.sh)
msi:
$(MAKE) $(AM_MAKEFLAGS) -C src msi
msi-signed:
$(MAKE) $(AM_MAKEFLAGS) -C src msi-signed
msi-upload:
$(MAKE) $(AM_MAKEFLAGS) -C src msi-upload
diff --git a/packages/packages.common b/packages/packages.common
index 59300ac4..e7380656 100644
--- a/packages/packages.common
+++ b/packages/packages.common
@@ -1,635 +1,636 @@
# packages.common - list of packages for use with gpg4win -*- sh -*-
#
# The download script processes the statements here to
# actually download the packages. The syntax is trivial:
#
# If the first non whitespace character of a line is #, the line is
# considered a comment. If the first word of a line is "server", the
# rest of the line will be taken as the base URL for following file
# commands. If the first word of a line is "file" the rest of the
# line will be appended to the current base URL (with a / as
# delimiter). The statement "chk" is followed by the SHA256 checksum of
# the last file.
#
# zlib
#
server https://gnupg.org/ftp/gcrypt
# last-changed: 2022-04-07
# by: wk
# verified: swdb
file zlib/zlib-1.2.12.tar.gz
chk 91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
#
# GNU
#
server ftp://ftp.gnu.org/pub/gnu
# last-changed: 2017-02-15
# by: ah
# verified: Sig 68D9 4D8A AEEA D48A E7DC 5B90 4F49 4A94 2E46 16C2
file libiconv/libiconv-1.15.tar.gz
chk ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178
# last-changed: 2021-08-17
# by: ah (checksum added by ik)
# verified: Sig 9001 B85A F9E1 B83D F1BD A942 F5BE 8B26 7C6A 406D
file gettext/gettext-0.21.tar.xz
chk d20fcbb537e02dcf1383197ba05bd0734ef7bf5db06bdb241eb69b7d16b73192
# Glib needs PCRE
# last-changed: 2021-10-11
# by: ah (checksum added by ik)
# verified: Sig: 45F6 8D54 BBE2 3FB3 039B 46E5 9766 E084 FB0F 43D8
server https://sourceforge.net/projects/pcre/files/pcre/
file 8.44/pcre-8.44.tar.gz
chk aecafd4af3bd0f3935721af77b889d9024b2e01d96b58471bd91a3063fb47728
#
# GLIB
#
# The GTK boyz seem to think that sha256sum files on the server
# magically get them a lot of additional security karma.
#
# And it's plain to see
# You were meant for me
# Yeah I'm your .sig
# Your 21th Century sig
# 21th Century sig, I wanna be your file
#
server http://ftp.gnome.org/pub/gnome/sources/glib/2.50
# last-changed: 2021-09-02
# by: ah
file glib-2.50.2.tar.xz
chk be68737c1f268c05493e503b3b654d2b7f43d7d0b8c5556f7e4651b870acfbf5
#
# GDK-PIXBUF
#
server http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.30/
# checked: 2015-06-05
# by: ah
# There is a 2.31 series but afaik no security problems with 2.30
# verified: with linuxfromscratch and frugalware checksums
file gdk-pixbuf-2.30.8.tar.xz
chk 4853830616113db4435837992c0aebd94cbb993c44dc55063cee7f72a7bef8be
#
# ATK
#
server http://ftp.gnome.org/pub/gnome/sources/atk/1.32
# checked: 2013-04-29 wk (1.32.0 still the latest in 1.32)
file atk-1.32.0.tar.bz2
chk e9a3e598f75c4db1af914f8b052dd9f7e89e920a96cc187c18eb06b8339cb16e
server http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.32
# checked: 2013-04-29 wk
name atk-1.32.0.zip
file atk_1.32.0-2_win32.zip
chk cadc6d52f2af21996a6dcba7b1fac27ce66721e14d1c4ab21fde7bc9965f5037
# checked: 2013-04-29 wk
name atk-dev-1.32.0.zip
file atk-dev_1.32.0-2_win32.zip
chk 5021d64043d270350d6a8d50b91db691a7421a68ca0bfa4eeb0c8804a176ac44
#
# PANGO
#
server http://ftp.gnome.org/pub/gnome/sources/pango/1.29
# fixme: 2013-04-29 wk - There is a 1.29.5 but no 1.29.5 binaries
# What shall we do: Update to 1.32? There are no
# 1.32 binaries either.
file pango-1.29.4.tar.bz2
chk f15deecaecf1e9dcb7db0e4947d12b5bcff112586434f8d30a5afd750747ff2b
server http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.29
name pango-1.29.4.zip
file pango_1.29.4-1_win32.zip
chk e1b865ae2e4054388c598f92b34593b3d24d7fd15e6308c8926ee634717c21ce
name pango-dev-1.29.4.zip
file pango-dev_1.29.4-1_win32.zip
chk 0d7fb255e65ed4bd43acedab4405986e4877b87ba8227d5fa22b38330485e3cb
#
# CAIRO
#
server http://cairographics.org/releases
# checked: 2013-04-29 wk - 1.10.2 is the latest in the 1.10 series.
file cairo-1.10.2.tar.gz
chk 32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41
server http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies
# checked: 2013-07-16 ah most recent package on that server is from
# 2012-09-27 TODO -> Move to another source / source build of those
# dependencies
# checked: 2013-04-29 wk
name cairo-1.10.2.zip
file cairo_1.10.2-2_win32.zip
chk e6c361ec1df4ccb23edbe5b68db16329d563a19eeee7fa70d583dda3d2358f4e
name cairo-dev-1.10.2.zip
file cairo-dev_1.10.2-2_win32.zip
chk b86f875bf776bbf578e3fa8c46866b84c93200b962b30d03cf795f82157e3167
# checked: 2013-04-29 wk
file freetype-2.4.2.tar.bz2
chk 9a987aef8c50d9bcfdfdc9f012f8bd0de6095cc1a5524e62c1a037deb8dacbfe
name freetype-2.4.2.zip
file freetype_2.4.2-1_win32.zip
chk bdf67e6573363fd2256a58295931cc1186382fd0ad1fe420059d6ffdb5fba7c0
name freetype-dev-2.4.2.zip
file freetype-dev_2.4.2-1_win32.zip
chk eed58c2807b65d5e0ec78031e89f1628577ad76bf47f02eaecde432c0b99eae9
server http://www.fontconfig.org/release
# checked: 2013-04-29 wk - 2.8.0 still the latest in 2.8
file fontconfig-2.8.0.tar.gz
chk fa2a1c6eea654d9fce7a4b1220f10c99cdec848dccaf1625c01f076b31382335
server http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies
# checked: 2013-04-29 wk
name fontconfig-2.8.0.zip
file fontconfig_2.8.0-2_win32.zip
chk 9d6bcaeed0eced43a649953132d9f2b3e15b98c7bb9e4a207872dfeade818204
name fontconfig-dev-2.8.0.zip
file fontconfig-dev_2.8.0-2_win32.zip
chk 2f15af3d27ca507dad2a208e58409f484aa7e7c7eac10b49edca079b31ae7073
server ftp://ftp.g10code.com/g10code/misc
# checked: 2013-04-29 wk - 2.0.1 still the latest in 2.0
file expat-2.0.1.tar.gz
chk 847660b4df86e707c9150e33cd8c25bc5cd828f708c7418e765e3e983a2e5e93
server http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies
# checked: 2013-04-29 wk
name expat-2.0.1.zip
file expat_2.0.1-1_win32.zip
chk 77b88ab780e698d6590426b26a877878584b9f8b6357909699674fb5045737bd
name expat-dev-2.0.1.zip
file expat-dev_2.0.1-1_win32.zip
chk 67b92b7f3441fee077bdc0094bf4dd673870acdf51899e32e199246801538162
#
# GTK+
#
server http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24
# last-changed: 2015-06-05
# by: ah
# verified: chk from https://download.gnome.org/core/3.17/3.17.2/sources/SHA256SUMS-for-xz
file gtk+-2.24.28.tar.xz
chk b2c6441e98bc5232e5f9bba6965075dcf580a8726398f7374d39f90b88ed4656
#
# 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
# PNG
# last changed: 2021-12-01
# by: ah
# verified: Sig 8048 643B A2C8 40F4 F92A 195F F549 84BF A16C 640F
server https://downloads.sourceforge.net
file libpng/libpng14/1.4.22/libpng-1.4.22.tar.xz
chk 8d419a8b2a5edddda5cbcb897ded92205344a3249fa7a00d6384ea23ac3ccbd8
#
# LibFFI
#
server ftp://sourceware.org/pub/libffi
# checked: 2013-04-29 wk - updated from 3.0.10.
# checked: 2014-07-16 ah - only rc availble from 3.0.14
file libffi-3.0.13.tar.gz
chk 1dddde1400c3bcb7749d398071af88c3e4754058d2d4c0b3696c2f82dc5cf11c
#
# 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
#
# Pth emulation
#
server ftp://ftp.g10code.com/g10code/w32pth
# checked: 2014-07-16 ah
file w32pth-2.0.5.tar.bz2
chk 5e462d06ed50e9e961546ab5264258e606b101860a74c1e410d086432ec27a06
#
# Stripped down version of BZIP2
# (full source at http://bzip.org)
#
server ftp://ftp.g10code.com/g10code/bzip2
# checked: 2014-07-16 ah
file bzip2-1.0.6-g10.tar.gz
chk c2a9b3aec1a38d34b66106116a39f64b01d84f475fef75c40ea0bda0ea67ed07
#
# GnuPG et al.
#
# All tarballs from this server are verified with an openpgp
# signature made by "Werner Koch (dist sig)" or one of the other
# gnupg main contributors.
# Server changed from ftp to https by wk 2021-09-22
server https://gnupg.org/ftp/gcrypt
# last changed 2022-04-07
# by wk
# verified: swdb
file libgpg-error/libgpg-error-1.45.tar.bz2
chk 570f8ee4fb4bff7b7495cff920c275002aea2147e9a1d220c068213267f80a26
# last-changed: 2021-04-21
# by: ah
# verified: distsigkey.gpg
file libassuan/libassuan-2.5.5.tar.bz2
chk 8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4
# last changed 2021-09-20
# by ik
# verified: distsigkey.gpg
file npth/npth-1.6.tar.bz2
chk 1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1
# last changed 2021-09-20
# by ik
# verified: distsigkey.gpg
file libksba/libksba-1.6.0.tar.bz2
chk dad683e6f2d915d880aa4bed5cea9a115690b8935b78a1bbe01669189307a48b
# last changed 2022-04-07
# by wk
# verified: swdb
file ntbtls/ntbtls-0.3.1.tar.bz2
chk 8922181fef523b77b71625e562e4d69532278eabbd18bc74579dbe14135729ba
#name gnupg-msi-2.3.1-beta18-20210420-src.tar.xz
#file binary/gnupg-w32-2.3.1_20210420.tar.xz
#chk e1a2dc705c940938b7bf7a17f521a41b1ef14139acd8860b2fd59aed2750aa3b
#name gnupg-msi-2.3.1-20210420-bin.wixlib
#file binary/gnupg-w32-2.3.1_20210420.wixlib
#chk 133817a4c4d11996956676c5c200222839ee5dc16e9476bd682d4e68b33ef73e
# last changed: 2021-04-21
# by: ah
#file pinentry/pinentry-1.2.0.tar.bz2
#chk 10072045a3e043d0581f91cd5676fcac7ffee957a16636adedaa4f583a616470
# last changed 2022-02-07
# by wk
# verified: buildtree
#file gpgme/gpgme-1.17.0.tar.bz2
#chk 4ed3f50ceb7be2fce2c291414256b20c9ebf4c03fddb922c88cda99c119a69f5
# last changed: 2018-10-17
# by: ah
file gpa/gpa-0.10.0.tar.bz2
chk 95dbabe75fa5c8dc47e3acf2df7a51cee096051e5a842b4c9b6d61e40a6177b1
# last changed: 2021-01-07
# by: ah
file scute/scute-1.7.0.tar.bz2
chk 437fe758b27c243a5ee2535c6b065ea1d09f2c9a02d83567d2f934bb6395c249
# GpgOL
# last-changed: 2022-04-20
# by: ah
# verified: Sig 5B80 C575 4298 F0CB 55D8 ED6A BCEF 7E29 4B09 2E28
file gpgol/gpgol-2.5.3.tar.bz2
chk c916deb2897c1f37f4e011b5019b7118321673b7c4c1f090b3921b9335b96432
#
# GpgEX
#
# last-changed: 2022-04-21
# by: ah
# verified: distsigkey.gpg
file gpgex/gpgex-1.0.9.tar.bz2
chk 32a31affe0bc2587b6b61c5aae6a3328280feccde315dfa3a3c2dc374c5c0400
#
# GnuPG utilities
#
server http://www.jabberwocky.com/software/paperkey
# last-changed: 2017-12-05
# by: ah
# verified: SIG 7D92 FD31 3AB6 F373 4CC5 9CA1 DB69 8D71 9924 2560
file paperkey-1.5.tar.gz
chk c4737943083ce92e41faf13c27a9d608105b6285c0840dfb684a7ee294142ddf
#
# Kleopatra and dependencies
#
# Qt base
# last changed: 2020-07-22
# by: ah
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtbase-everywhere-src-5.15.2.tar.xz.sha256
server http://download.qt.io/official_releases/qt/
name qtbase-5.15.2.tar.xz
file 5.15/5.15.2/submodules/qtbase-everywhere-src-5.15.2.tar.xz
chk 909fad2591ee367993a75d7e2ea50ad4db332f05e1c38dd7a5a274e156a4e0f8
# Qt Tools
# last changed: 2020-07-22
# by: ah
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qttools-everywhere-src-5.15.2.tar.xz.sha256
name qttools-5.15.2.tar.xz
file 5.15/5.15.2/submodules/qttools-everywhere-src-5.15.2.tar.xz
chk c189d0ce1ff7c739db9a3ace52ac3e24cb8fd6dbf234e49f075249b38f43c1cc
# Qt Winextras
# last changed: 2020-07-22
# by: ah
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtwinextras-everywhere-src-5.15.2.tar.xz.sha256
name qtwinextras-5.15.2.tar.xz
file 5.15/5.15.2/submodules/qtwinextras-everywhere-src-5.15.2.tar.xz
chk 65b8272005dec00791ab7d81ab266d1e3313a3bbd8e54e546d984cf4c4ab550e
# Qt X11 extras
# last changed: 2021-09-20
# by: ik
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtx11extras-everywhere-src-5.15.2.tar.xz.sha256
name qtx11extras-5.15.2.tar.xz
file 5.15/5.15.2/submodules/qtx11extras-everywhere-src-5.15.2.tar.xz
chk 7014702ee9a644a5a93da70848ac47c18851d4f8ed622b29a72eed9282fc6e3e
# Qt WaylandClient
# last changed: 2021-09-21
# by: ik
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtwayland-everywhere-src-5.15.2.tar.xz.sha256
name qtwayland-5.15.2.tar.xz
file 5.15/5.15.2/submodules/qtwayland-everywhere-src-5.15.2.tar.xz
chk 193732229ff816f3aaab9a5e2f6bed71ddddbf1988ce003fe8dd84a92ce9aeb5
# Qt svg
# last changed: 2020-07-22
# by: ah
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtsvg-everywhere-src-5.15.2.tar.xz.sha256
name qtsvg-5.15.2.tar.xz
file 5.15/5.15.2/submodules/qtsvg-everywhere-src-5.15.2.tar.xz
chk 8bc3c2c1bc2671e9c67d4205589a8309b57903721ad14c60ea21a5d06acb585e
# Qt translations
# last changed: 2020-07-22
# by: ah
# verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qttranslations-everywhere-src-5.15.2.tar.xz.sha256
name qttranslations-5.15.2.tar.xz
file 5.15/5.15.2/submodules/qttranslations-everywhere-src-5.15.2.tar.xz
chk d5788e86257b21d5323f1efd94376a213e091d1e5e03b45a95dd052b5f570db8
# KDE Frameworks generated by gen-frameworks.sh
# When outdated activate this link:
#server https://download.kde.org/Attic/frameworks/
server https://download.kde.org/stable/frameworks
##### Paste Here #####
#
# Don't forget to update gpg4win.mk.in with new version numbers
#
# KDE Applications
# extra-cmake-modules
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/extra-cmake-modules-5.93.0.tar.xz
chk 093dea7b11647bc5f74e6971d47ef15b5c410cba2b4620acae00f008d5480b21
# kconfig
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kconfig-5.93.0.tar.xz
chk 71857c20d4829017c22dd6d46ae5a642c86344960e21bc1520458fb76d02c06e
# ki18n
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/ki18n-5.93.0.tar.xz
chk c2705400d175f18612dfe1afb28dc14accf614f7cfd65409dfa7fdcde5237339
# kwidgetsaddons
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kwidgetsaddons-5.93.0.tar.xz
chk 9c35e17d8c6faae58bfd48180bf968b813e6bfe2d49041b3285f8e326842a410
# kcompletion
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kcompletion-5.93.0.tar.xz
chk 7f8c9355e8875b619ca852741e972f41c252aa2e95b439161acc7b32d9e8fb9c
# kwindowsystem
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kwindowsystem-5.93.0.tar.xz
chk 97cb223a4d1a7487a3ed496e10ff5e8c320ea7458eb34cbe4ed114bc19ebe4a1
# kcoreaddons
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kcoreaddons-5.93.0.tar.xz
chk 920a278af97dea3add06770a6f3604744c20d667973cb71cf477145785dbf043
# kcodecs
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kcodecs-5.93.0.tar.xz
chk 0efc5c8baab3142f8a0ab9369b255061772a57a80fb616b7305bf98235b2288b
# kconfigwidgets
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kconfigwidgets-5.93.0.tar.xz
chk db18e0f2217ead6dd6f5877551902d5da86aa026686e3c564f5f96be279f24bb
# kdbusaddons
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kdbusaddons-5.93.0.tar.xz
chk cc2c74501e65b97af1849ff454e51393f3a07755c155854bdee741a006822ad9
# kxmlgui
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kxmlgui-5.93.0.tar.xz
chk 74ba65d95fac0cd09cb66e14d199efc739e1a8c9aec25812f41cfc64d7f4b099
# kguiaddons
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kguiaddons-5.93.0.tar.xz
chk 27f26392140bd1abcb86c154fd6fd87e50b2493787827b2b1cacaf76544af40a
# kitemviews
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kitemviews-5.93.0.tar.xz
chk 93f01dec3b795b28cc6f6859873ebb941a9504eaafd13ff9f72b987d71e55abf
# kitemmodels
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kitemmodels-5.93.0.tar.xz
chk 5bb9918b92ac37f1bc52c5abe04e8dbea54f31fa0101edad6d9e92c3a9f0485b
# kiconthemes
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kiconthemes-5.93.0.tar.xz
chk 75f7c5b34f4f1a228b4cbd81a284dbfdc0c0810ddd3a39e69f9363ab3598e2b4
# breeze-icons
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/breeze-icons-5.93.0.tar.xz
chk 4367dfa6b48aa645a3680489be96e03a9a6fc20f57277b3ca5e37ce8df4d03e6
# karchive
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/karchive-5.93.0.tar.xz
chk 61e326a840860270b7f8b9e8966462085b4f309be5c3a84c3b265eb95694c7fb
# kcrash
# last changed: 2022-05-11
# by: ah
# verified: PGP Signed by ./kde-release-keys.gpg (created by gen-frameworks.sh)
file 5.93/kcrash-5.93.0.tar.xz
chk 2ff8d6c6924b2b752ef4a929390606bb55ce2aa55c582927269bd65556992dd6
### END PASTE ###
server http://download.kde.org/stable/release-service/
# kmime
# last changed: 2022-02-01
# by: ah
# verified: PGP Sig D81C0CB38EB725EF6691C385BB463350D6EF31EF
file 21.12.1/src/kmime-21.12.1.tar.xz
chk c1f4c06c61f6b4ddde7395b1cfb1f2411a32638e09c6f0a58c6557a7dffe4120
server https://files.intevation.de/projects/gpg4all
# gpgme-beta
# by ah
# verified: buildtree
-file gpgme/gpgme-1.17.2-beta65.tar.bz2
-chk be2245dc5181e4bf13007215ce859ff2617b80e2c3ac7f0cfca70f5192658cfc
+file gpgme/gpgme-1.17.2-beta67.tar.bz2
+chk 8bf767c598821e00e6e40e4c01eddf4c80d1fe292a5eb9da6ee7b4297ac90dd6
+
#by ah
#file scute/scute-1.6.0-beta187.tar.bz2
#chk 8d2a56dff6e6c12d628dd32075497326e8345c0096dec1280f7ab2c737410837
# by: ah
# file pinentry/pinentry-1.1.1-beta44.tar.bz2
# chk c2091536687cd83569c9919d6d9fc8c3a53e74d8419320bcbb8b7dc36019c677
file pinentry/pinentry-1.2.1-beta29.tar.bz2
chk 5f22d65e81873ca9dbde111ab5188ecca0af544b4a988ea4c3f59c28eba11876
# KDE-L10n
# last changed: see package date.
# by: ah
# verified: Tarball created by ah with script gen-kde-l10n.sh
file kde-l10n/kde-l10n-202204221053-bin.tar.xz
chk 8bd2a5ac5cb7e25ad1809e162f3e42be1150bf7b2f2ed39a5ae6480f4ef386f8
file kde-l10n/kde-l10n-202204221053-src.tar.xz
chk af849f7d4a3f55b41edb553bd0c9980af711828e5aed80ab86f7040af3e28f79
# Gpg4win-tools package
# last changed: see package date.
# by: ah
# verified: Tarball created by ah.
file gpg4win-tools/gpg4win-tools-202104211124.tar.gz
chk 79ea82ede46bbd02f70a64e4f003c6279e98cf4ad1e302eca753087c42fccdf3
#
# Snapshots stored on the GnuPG server
#
server https://gnupg.org/ftp/gcrypt/snapshots
# libkleo
-# last changed: 2022-05-12
+# last changed: 2022-07-26
# by: aheinecke
# verified: Tarball created by aheinecke.
-file libkleo/libkleo-202205120851.tar.xz
-chk e3965d3e733feaa13f30882693a7f646fd5e96b2b4c685b5f54654f302e40f6d
+file libkleo/libkleo-202207261513.tar.xz
+chk dc115728015162cd815f8d91ee1af5f6a035f893e916045730b439e40329dcb8
# kleopatra
-# last changed: 2022-05-11
+# last changed: 2022-07-26
# by: aheinecke
# verified: Tarball created by aheinecke.
-file kleopatra/kleopatra-202205111430.tar.xz
-chk 4127240a2d61e2829a189242bbcc85e7d753ac5d9c0236aa855ce408ce3997fe
+file kleopatra/kleopatra-202207261513.tar.xz
+chk 2338e9589680213eccf3dbde8874f064cd5c248c15683522afb7cfffe7b513e6
diff --git a/patches/kconfig/0001-Read-defaults-from-Windows-registry.patch b/patches/kconfig/0001-Read-defaults-from-Windows-registry.patch
new file mode 100755
index 00000000..f4e5a382
--- /dev/null
+++ b/patches/kconfig/0001-Read-defaults-from-Windows-registry.patch
@@ -0,0 +1,356 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+From 54c42272973084b80caa4f3c825cfe9969e2c875 Mon Sep 17 00:00:00 2001
+From: Andre Heinecke
+Date: Wed, 27 Jul 2022 11:40:44 +0200
+Subject: [PATCH] Read defaults from Windows registry
+
+This optionally enables an application to define a Windows
+registry key in which defaults are looked up. This allows
+KDE Software to be configured under Windows through Group
+Policies.
+
+Keys below this key are treated as configuration
+groups. Values below this key are treated as values
+of the default group.
+
+To add a key to a group create a subkey under regKey and
+add the value in this group with type REG_SZ.
+
+Immutable groups or values can be suffixed with [$i].
+
+The values are read from HKLM and treated as defaults.
+---
+ src/core/CMakeLists.txt | 5 ++
+ src/core/kconfig.cpp | 24 ++++++
+ src/core/kconfig.h | 24 ++++++
+ src/core/kconfig_p.h | 1 +
+ src/core/registry_win.cpp | 160 ++++++++++++++++++++++++++++++++++++++
+ src/core/registry_win_p.h | 14 ++++
+ 6 files changed, 228 insertions(+)
+ create mode 100644 src/core/registry_win.cpp
+ create mode 100644 src/core/registry_win_p.h
+
+diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
+index ec1e4995..e37ad3d6 100644
+--- a/src/core/CMakeLists.txt
++++ b/src/core/CMakeLists.txt
+@@ -1,6 +1,10 @@
+ add_library(KF5ConfigCore)
+ add_library(KF5::ConfigCore ALIAS KF5ConfigCore)
+
++if (WIN32)
++ set(kconfig_extra_src registry_win.cpp)
++endif()
++
+ target_sources(KF5ConfigCore PRIVATE
+ kconfig.cpp
+ kconfigbase.cpp
+@@ -14,6 +18,7 @@ target_sources(KF5ConfigCore PRIVATE
+ kauthorized.cpp
+ kemailsettings.cpp
+ kconfigwatcher.cpp
++ ${kconfig_extra_src}
+ )
+
+ ecm_qt_declare_logging_category(KF5ConfigCore
+diff --git a/src/core/kconfig.cpp b/src/core/kconfig.cpp
+index 22ae0b54..ace4dc29 100644
+--- a/src/core/kconfig.cpp
++++ b/src/core/kconfig.cpp
+@@ -43,6 +43,8 @@
+ #include
+ #endif
+
++#include "registry_win_p.h"
++
+ bool KConfigPrivate::mappingsRegistered = false;
+
+ // For caching purposes
+@@ -584,6 +586,7 @@ struct KConfigStaticData {
+ QString globalMainConfigName;
+ // Keep a copy so we can use it in global dtors, after qApp is gone
+ QStringList appArgs;
++ QString globalRegKey;
+ };
+ Q_GLOBAL_STATIC(KConfigStaticData, globalData)
+
+@@ -592,6 +595,16 @@ void KConfig::setMainConfigName(const QString &str)
+ globalData()->globalMainConfigName = str;
+ }
+
++void KConfig::setWindowsRegistryKey(const QString ®Key)
++{
++ globalData()->globalRegKey = regKey;
++}
++
++QString KConfig::windowsRegistryKey()
++{
++ return globalData()->globalRegKey;
++}
++
+ QString KConfig::mainConfigName()
+ {
+ KConfigStaticData *data = globalData();
+@@ -682,6 +695,9 @@ void KConfig::reparseConfiguration()
+ d->parseGlobalFiles();
+ }
+
++ // Parse the windows registry defaults if desired
++ d->parseWindowsDefaults();
++
+ d->parseConfigFiles();
+ }
+
+@@ -750,6 +766,14 @@ void KConfigPrivate::parseGlobalFiles()
+ sGlobalParse->localData().insert(key, new ParseCacheValue({entryMap, newest}));
+ }
+
++void KConfigPrivate::parseWindowsDefaults()
++{
++ const QString regKey = KConfig::windowsRegistryKey ();
++ if (!regKey.isEmpty()) {
++ parseWindowsRegistry(regKey, entryMap);
++ }
++}
++
+ void KConfigPrivate::parseConfigFiles()
+ {
+ // can only read the file if there is a backend and a file name
+diff --git a/src/core/kconfig.h b/src/core/kconfig.h
+index c8ca0ca3..28c93fba 100644
+--- a/src/core/kconfig.h
++++ b/src/core/kconfig.h
+@@ -372,6 +372,30 @@ public:
+ */
+ static QString mainConfigName();
+
++ /**
++ * Optionally add a Windows registry key to use.
++ *
++ * Keys below this key are treated as configuration
++ * groups. Values below this key are treated as values
++ * of the default group.
++ *
++ * To add a key to a group create a subkey under regKey and
++ * add the value in this group with type REG_SZ.
++ *
++ * Immutable groups or values can be suffixed with [$i].
++ *
++ * The values are read from HKLM and treated as defaults.
++ *
++ * @since 5.98
++ */
++ static void setWindowsRegistryKey(const QString ®Key);
++
++ /**
++ * Get the registry key under which additional values are parsed.
++ * @since 5.98
++ */
++ static QString windowsRegistryKey();
++
+ protected:
+ bool hasGroupImpl(const QByteArray &group) const override;
+ KConfigGroup groupImpl(const QByteArray &b) override;
+diff --git a/src/core/kconfig_p.h b/src/core/kconfig_p.h
+index 60604477..72b21629 100644
+--- a/src/core/kconfig_p.h
++++ b/src/core/kconfig_p.h
+@@ -104,6 +104,7 @@ private:
+ bool setLocale(const QString &aLocale);
+ QStringList getGlobalFiles() const;
+ void parseGlobalFiles();
++ void parseWindowsDefaults();
+ void parseConfigFiles();
+ void initCustomized(KConfig *);
+ bool lockLocal();
+diff --git a/src/core/registry_win.cpp b/src/core/registry_win.cpp
+new file mode 100644
+index 00000000..0f1a876b
+--- /dev/null
++++ b/src/core/registry_win.cpp
+@@ -0,0 +1,160 @@
++/*
++ This file is part of the KDE libraries
++ SPDX-FileCopyrightText: 2022 g10 Code GmbH
++ SPDX-FileContributor: Andre Heinecke
++
++ SPDX-License-Identifier: LGPL-2.0-or-later
++*/
++#include "registry_win_p.h"
++#include "kconfig_core_log_settings.h"
++
++#include
++
++void parseRegValues(const QString ®Key, const QString &groupName, KEntryMap &entryMap)
++{
++ const bool groupOptionImmutable = regKey.endsWith(QStringLiteral("[$i]"));
++ HKEY key;
++ if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,
++ (wchar_t *) regKey.utf16(),
++ 0, KEY_ENUMERATE_SUB_KEYS | KEY_READ,
++ &key) != ERROR_SUCCESS) {
++ qCWarning(KCONFIG_CORE_LOG) << "Failed to open HKLM" << regKey;
++ return;
++ }
++ DWORD values = 0,
++ maxNameLen = 0,
++ maxValueLen = 0;
++
++ DWORD err = RegQueryInfoKey (key,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr,
++ &values,
++ &maxNameLen,
++ &maxValueLen,
++ nullptr,
++ nullptr);
++
++ if (err != ERROR_SUCCESS) {
++ qCWarning(KCONFIG_CORE_LOG) << "Failed to query key info for" << regKey;
++ RegCloseKey(key);
++ return;
++ }
++
++ maxNameLen++;
++ maxValueLen++;
++ wchar_t *name = new wchar_t[maxNameLen + 1];
++ wchar_t *value = new wchar_t[maxValueLen + 1];
++ for (DWORD i = 0; i < values; i++) {
++ DWORD nameLen = maxNameLen;
++ err = RegEnumValueW(key, i,
++ name,
++ &nameLen,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr);
++
++ if (err != ERROR_SUCCESS){
++ qCWarning(KCONFIG_CORE_LOG) << "Failed to enum value " << i;
++ continue;
++ }
++
++ DWORD type;
++ DWORD valueLen = maxValueLen;
++ err = RegQueryValueExW(key, name,
++ NULL, &type,
++ (BYTE*)value, &valueLen);
++
++ if (err != ERROR_SUCCESS) {
++ qCWarning(KCONFIG_CORE_LOG) << "Failed to query value " << name;
++ continue;
++ }
++ // Only accept plain string values
++ if (type != REG_SZ) {
++ qCWarning(KCONFIG_CORE_LOG) << "Invalid type for value " << name;
++ continue;
++ }
++ KEntryMap::EntryOptions entryOptions = KEntryMap::EntryDefault;
++ if (groupOptionImmutable) {
++ entryOptions |= KEntryMap::EntryImmutable;
++ }
++
++ QString entryName = QString::fromWCharArray(name, nameLen);
++ const QString valueString = QString::fromWCharArray(value, (valueLen / sizeof (wchar_t)) - 1);
++ if (entryName.endsWith(QStringLiteral("[$i]"))) {
++ entryOptions |= KEntryMap::EntryImmutable;
++ entryName.chop(4);
++ }
++ entryMap.setEntry(groupName.toUtf8(), entryName.toUtf8(), valueString.toUtf8(), entryOptions);
++ qDebug () << "Adding Entry" << entryName << valueString << "to group" << groupName << "value len" << valueLen;
++ }
++ delete[] name;
++ delete[] value;
++ RegCloseKey(key);
++}
++
++void parseWindowsRegistry(const QString ®Key, KEntryMap &entryMap)
++{
++ // Parse default group
++ parseRegValues(regKey, QStringLiteral(""), entryMap);
++
++ // Enumerate the subkeys (groups)
++ HKEY key;
++ if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
++ (wchar_t *)regKey.utf16(),
++ 0, KEY_ENUMERATE_SUB_KEYS | KEY_READ,
++ &key) != ERROR_SUCCESS) {
++ qCWarning(KCONFIG_CORE_LOG) << "Failed to open HKLM" << regKey;
++ return;
++ }
++
++ DWORD subKeys = 0,
++ maxSubKeyLen = 0;
++ DWORD err = RegQueryInfoKey(key,
++ nullptr,
++ nullptr,
++ nullptr,
++ &subKeys,
++ &maxSubKeyLen,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr);
++
++ if (err != ERROR_SUCCESS) {
++ qCWarning(KCONFIG_CORE_LOG) << "Failed to query key info for" << regKey;
++ RegCloseKey(key);
++ return;
++ }
++
++ maxSubKeyLen++;
++ wchar_t *subKey = new wchar_t[maxSubKeyLen + 1];
++ for (DWORD i = 0; i < subKeys; i++) {
++ DWORD keyLen = maxSubKeyLen;
++ err = RegEnumKeyEx(key, i,
++ subKey,
++ &keyLen,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr);
++ if (err != ERROR_SUCCESS) {
++ qCWarning(KCONFIG_CORE_LOG) << "Failed to enum value " << i;
++ continue;
++ }
++ QString subKeyName = QString::fromWCharArray(subKey, keyLen);
++ QString subReg = regKey + QLatin1Char('\\') + subKeyName;
++ if (subKeyName.endsWith(QStringLiteral("[$i]"))) {
++ subKeyName.chop(4);
++ }
++ parseRegValues (subReg, subKeyName, entryMap);
++ }
++ delete[] subKey;
++ RegCloseKey(key);
++}
+diff --git a/src/core/registry_win_p.h b/src/core/registry_win_p.h
+new file mode 100644
+index 00000000..1cf2ab74
+--- /dev/null
++++ b/src/core/registry_win_p.h
+@@ -0,0 +1,14 @@
++/*
++ This file is part of the KDE libraries
++ SPDX-FileCopyrightText: 2022 g10 Code GmbH
++ SPDX-FileContributor: Andre Heinecke
++
++ SPDX-License-Identifier: LGPL-2.0-or-later
++*/
++#include "kconfigdata_p.h"
++
++#ifdef Q_OS_WIN
++void parseWindowsRegistry(const QString ®Key, KEntryMap &entryMap);
++#else
++void parseWindowsRegistry(const QString &, KEntryMap &) {}
++#endif
+--
+2.30.2
diff --git a/patches/kleopatra/set-windows-registry.patch b/patches/kleopatra/set-windows-registry.patch
new file mode 100755
index 00000000..2283c1a4
--- /dev/null
+++ b/patches/kleopatra/set-windows-registry.patch
@@ -0,0 +1,16 @@
+#! /bin/sh
+patch -p1 -l -f $* < $0
+exit $?
+
+diff --git a/src/kleopatraapplication.cpp b/src/kleopatraapplication.cpp
+index bbbd0172..7236e555 100644
+--- a/src/kleopatraapplication.cpp
++++ b/src/kleopatraapplication.cpp
+@@ -241,6 +241,7 @@ void KleopatraApplication::init()
+ #ifdef Q_OS_WIN
+ QWindowsWindowFunctions::setWindowActivationBehavior(
+ QWindowsWindowFunctions::AlwaysActivateWindow);
++ KConfig::setWindowsRegistryKey("SOFTWARE\\GNU\\Kleopatra");
+ #endif
+ const auto blockedUrlSchemes = Settings{}.blockedUrlSchemes();
+ for (const auto &scheme : blockedUrlSchemes) {