diff --git a/configure.ac b/configure.ac index 5c04ce2c..6b171340 100644 --- a/configure.ac +++ b/configure.ac @@ -1,409 +1,413 @@ # configure.ac for GPG4Win # Copyright (C) 2005, 2006, 2007, 2008, 2010 g10 Code GmbH # # This file is part of GPG4Win # # GPG4Win is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GPG4Win is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # (Process this file with autoconf to produce a configure script.) AC_PREREQ(2.59) min_automake_version="1.9.3" # To build a release you need to create a tag with the version number # (git tag -s gpg4win-2.x.y) and run "./autogen.sh --force". Please # bump the version number immediately after the release and do another # commit and push so that the git magic is able to work. m4_define([my_version], [3.1.17]) # 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 (my_isgit). The latter works # by requiring the final tag in the repository. m4_define([git_revision], m4_esyscmd([git rev-parse --short HEAD | tr -d '\n\r'])) m4_define([git_revision_dec], m4_esyscmd_s([echo $((0x$(echo ]git_revision[|head -c 4)))])) m4_define([git_betastring], m4_esyscmd_s([git describe --tags --match 'gpg4win-[0-9].*.*[0-9]' \ --long | awk -F- '$3!=0{print"-beta"$3}'])) m4_define([my_isgit],m4_if(git_betastring,[],[no],[yes])) m4_define([my_full_version],[my_version[]git_betastring]) AC_INIT([gpg4win],[my_full_version],[gpg4win-devel@wald.intevation.org]) # Remember to update these version numbers also in the NEWS file. MANUALVERSION_EINSTEIGER="2.0.2" MANUALDATE_EINSTEIGER="30. Mai 2006" MANUALVERSION_DURCHBLICKER="2.0.2" MANUALDATE_DURCHBLICKER="30. Mai 2006" MANUALVERSION_NOVICES="1.0.0" MANUALDATE_NOVICES="Nov. 30, 2006" MANUALVERSION_ADVANCED="0.0.0" MANUALDATE_ADVANCED="Nov. 30, 2006" COMPENDIUM_VERSION_DE="4.0.1" COMPENDIUM_DATE_DE="3. April 2018" COMPENDIUMINPROGRESS_DE="zuletzt geringfügig korrigiert am 3. April 2018" COMPENDIUM_VERSION_EN="3.0.0" COMPENDIUM_DATE_EN="30th November 2016" COMPENDIUMINPROGRESS_EN="last minor changes from 30th November 2016" MANUALINPROGRESS_DE=m4_if(my_isgit,[yes],["~und evtl. seitdem weiter bearbeitet"]) MANUALINPROGRESS_EN=m4_if(my_isgit,[yes],["~and may have been further edited"]) PACKAGE=$PACKAGE_NAME VERSION=$PACKAGE_VERSION GIT_REVISION=git_revision GIT_REVISION_DEC=git_revision_dec AC_CONFIG_SRCDIR(src/config.nsi.in) AC_CONFIG_MACRO_DIR(m4) AM_INIT_AUTOMAKE([tar-ustar]) AM_MAINTAINER_MODE AC_CANONICAL_HOST AM_CONFIG_HEADER(config.h) # Language support AM_PO_SUBDIRS AC_SUBST(PACKAGE) AC_SUBST(VERSION) AC_SUBST(MANUALVERSION_EINSTEIGER) AC_SUBST(MANUALDATE_EINSTEIGER) AC_SUBST(MANUALVERSION_DURCHBLICKER) AC_SUBST(MANUALDATE_DURCHBLICKER) AC_SUBST(MANUALINPROGRESS_DE) AC_SUBST(MANUALVERSION_NOVICES) AC_SUBST(MANUALDATE_NOVICES) AC_SUBST(MANUALVERSION_ADVANCED) AC_SUBST(MANUALDATE_ADVANCED) AC_SUBST(MANUALINPROGRESS_EN) AC_SUBST(COMPENDIUM_VERSION_DE) AC_SUBST(COMPENDIUM_DATE_DE) AC_SUBST(COMPENDIUMINPROGRESS_DE) AC_SUBST(COMPENDIUM_VERSION_EN) AC_SUBST(COMPENDIUM_DATE_EN) AC_SUBST(COMPENDIUMINPROGRESS_EN) if echo "${PACKAGE_VERSION}" | egrep 'svn|rc|beta|git' >/dev/null ; then IS_BETA_BUILD=yes else IS_BETA_BUILD=no fi AC_SUBST(IS_BETA_BUILD) # Generate extended version information. Note, that for NSIS use we # must not translate the dots to commas in the BUILD_FILEVERSION. BUILD_TIMESTAMP=`date --iso-8601=minutes` BUILD_ISODATE=`date --iso-8601` changequote(,)dnl BUILD_FILEVERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./'` changequote([,])dnl BUILD_FILEVERSION="${BUILD_FILEVERSION}${GIT_REVISION_DEC}" AC_SUBST(BUILD_TIMESTAMP) AC_SUBST(BUILD_ISODATE) AC_SUBST(BUILD_FILEVERSION) # The final release is copied to an archive server. The default # location may be changed by setting the RELEASEHOST envvar. if test -z "$RELEASEHOST" ; then RELEASEHOST="vigenere:tarballs/gpg4win" if test "${IS_BETA_BUILD}" = yes ; then RELEASEHOST="${RELEASEHOST}/Beta" fi fi AC_SUBST(RELEASEHOST) # Substitutions to set generated files in a Emacs buffer to read-only. AC_SUBST(emacs_local_vars_begin, ['Local Variables:']) AC_SUBST(emacs_local_vars_read_only, ['buffer-read-only: t']) AC_SUBST(emacs_local_vars_end, ['End:']) # For development it is often faster to build without manuals. AC_ARG_ENABLE(manuals, AC_HELP_STRING([--disable-manuals], [Do not build the manuals (for debugging)]), build_manuals=$enableval, build_manuals=yes) AM_CONDITIONAL(BUILD_MANUALS, test "$build_manuals" = yes) # Additionaly enable building gpgex for another host AC_ARG_WITH([additional-gpgex-host], AC_HELP_STRING([--with-additional-gpgex-host=HOST], [Additionaly build gpgex for this host]), [if test "$withval" = yes; then AC_MSG_FAILURE( [--with-additional-gpgex-host was given, but no host specified]) else gpgex_host=$withval fi ], gpgex_host=no) if test "$gpgex_host" != no; then GPGEX_ADD_HOST="$gpgex_host" fi AC_SUBST(GPGEX_ADD_HOST) AC_ARG_ENABLE(fast-makensis, AC_HELP_STRING([--enable-fast-makensis], [Use a less efficient compressor to speed up building]), use_fast_makensis=$enableval, use_fast_makensis=no) if test "$use_fast_makensis" = yes; then EXTRA_MAKENSIS_FLAGS="${EXTRA_MAKENSIS_FLAGS} -DDISABLE_LZMA=1" fi AC_SUBST(EXTRA_MAKENSIS_FLAGS) # Required tools. AC_PROG_CC AC_PROG_CPP AC_PROG_RANLIB AC_CHECK_TOOL(AR, ar, :) AC_CHECK_TOOLS(STRIP, strip) AC_CHECK_TOOLS(DLLTOOL, dlltool) AC_CHECK_PROGS(MAKE, make) AC_CHECK_PROGS(UNZIP, unzip) AC_CHECK_PROGS(TAR, tar) AC_CHECK_PROGS(MKDIR, mkdir) AC_CHECK_PROGS(CP, cp) AC_CHECK_PROGS(RM, rm) AC_CHECK_PROGS(STOW, stow) AC_CHECK_PROGS(MAKENSIS, makensis) AC_CHECK_PROGS(ZCAT, zcat) AC_CHECK_PROGS(TEXI2DVI, texi2dvi) AC_CHECK_PROGS(DVIPDF, dvipdf) AC_CHECK_PROGS(CONVERT, convert) AC_CHECK_PROGS(SHA1SUM, sha1sum) AC_CHECK_PROGS(MSGFMT, msgfmt) AC_CHECK_PROGS(GITLOG_TO_CHANGELOG, gitlog-to-changelog, [build-aux/gitlog-to-changelog]) AC_CHECK_PROGS(BUILD_CC, gcc cc) AC_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) missing_tools= for i in DLLTOOL MAKE UNZIP TAR MKDIR CP RM STOW MAKENSIS ZCAT TEXI2DVI \ DVIPDF CONVERT SHA1SUM MSGFMT BUILD_CC; do eval tmp='$'$i if test -z "$tmp"; then missing_tools="$missing_tools `echo $i | tr 'A-Z' 'a-z'`" fi done # Try to find the KF5ConfigConfig to set up host tooling # variable for the kconfig compiler. # A variable path here would probably be better but we cant # use $libdir to avoid it beeing required to configure gpg4win # build with a multiarch libdir set. kf5_host_tooling="/usr/lib/x86_64-linux-gnu/cmake" if test ! -f "$kf5_host_tooling/KF5Config/KF5ConfigConfig.cmake"; then missing_tools="$missing_tools libkf5config-dev" fi AC_SUBST(kf5_host_tooling) # Additional runtime libraries from mingw. -GPG4WIN_RUNTIME_LIBRARY(libgcc_s_sjlj-1) +if test -f "/usr/lib/gcc/i686-w64-mingw32/10-win32/libgcc_s_dw2-1.dll"; then + GPG4WIN_RUNTIME_LIBRARY(libgcc_s_dw2-1) +else + GPG4WIN_RUNTIME_LIBRARY(libgcc_s_sjlj-1) +fi GPG4WIN_RUNTIME_LIBRARY(libstdc++-6) GPG4WIN_RUNTIME_LIBRARY(libwinpthread-1) AC_CHECK_PROGS(GLIB_GENMARSHAL, glib-genmarshal) AC_CHECK_PROGS(GLIB_COMPILE_SCHEMAS, glib-compile-schemas) AC_CHECK_PROGS(GLIB_COMPILE_RESOURCES, glib-compile-resources) AC_CHECK_PROGS(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource) missing_opt_tools= for i in GLIB_GENMARSHAL GLIB_COMPILE_SCHEMAS GLIB_COMPILE_RESOURCES \ GDK_PIXBUF_CSOURCE; do eval tmp='$'$i if test -z "$tmp"; then missing_opt_tools="$missing_opt_tools `echo $i | tr 'A-Z' 'a-z'`" fi done # Optional tools. AC_CHECK_PROGS(WGET, wget) # Packages. gpg4win_dup_sources="" GPG4WIN_SPKG([zlib]) GPG4WIN_BPKG_GTK([pkgconfig]) GPG4WIN_SPKG([libffi], [pkgconfig]) GPG4WIN_SPKG([pcre], [pkgconfig]) GPG4WIN_SPKG([glib], [pcre libiconv gettext pkgconfig libffi zlib]) GPG4WIN_BPKG_GTK_DEV([atk], [glib pkgconfig]) GPG4WIN_BPKG_GTK_DEV([pango], [glib pkgconfig]) GPG4WIN_BPKG_GTK_DEV([cairo], [glib pkgconfig]) GPG4WIN_BPKG_GTK_DEV([expat]) GPG4WIN_BPKG_GTK_DEV([freetype], [pkgconfig zlib]) GPG4WIN_BPKG_GTK_DEV([fontconfig], [pkgconfig zlib expat]) GPG4WIN_SPKG([gdk-pixbuf], [glib]) GPG4WIN_SPKG([gtk+], [libiconv gettext pkgconfig atk pango dnl glib gdk-pixbuf cairo]) GPG4WIN_SPKG([libpng], [pkgconfig]) GPG4WIN_SPKG([bzip2]) GPG4WIN_SPKG([libgpg-error], [libiconv gettext]) GPG4WIN_SPKG([libassuan], [libgpg-error w32pth]) GPG4WIN_SPKG([scute], [libgpg-error libassuan]) GPG4WIN_SPKG([pinentry], [qtbase libiconv gtk+]) GPG4WIN_SPKG([gpgme], [libgpg-error libassuan glib qtbase]) GPG4WIN_SPKG([gpgol], [gpgme libassuan]) GPG4WIN_SPKG([gpgex], [libassuan]) GPG4WIN_SPKG([paperkey]) GPG4WIN_SPKG([gpa], [libiconv gettext zlib gtk+ libpng glib gpgme]) GPG4WIN_SPKG([w32pth]) GPG4WIN_SPKG([libiconv]) GPG4WIN_SPKG([gettext], [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_SPKGEX([gpgol], [gpgme]) GPG4WIN_IPKG([compendium]) # The GnuPG Package. GPG4WIN_BPKG_BINSRC([gnupg-w32]) GPG4WIN_BPKG_MSISRC([gnupg-msi]) # See the script kde-l10n.sh how this package is created. GPG4WIN_BPKG_BINSRC([kde-l10n]) # Qt related stuff. GPG4WIN_SPKG([qtbase], [libpng]) GPG4WIN_SPKG([qttools], [qtbase]) GPG4WIN_SPKG([qttranslations], [qtsvg qttools qtwinextras]) GPG4WIN_SPKG([qtwinextras], [qtbase]) GPG4WIN_SPKG([qtsvg], [qtbase]) GPG4WIN_SPKG([boost], [expat zlib bzip2]) GPG4WIN_KDEPKG([breeze-icons], [extra-cmake-modules qtbase]) GPG4WIN_KDEPKG([kleopatra], [gnupg-w32 breeze-icons kxmlgui libkleo kde-l10n kitemmodels qttranslations]) GPG4WIN_KDEPKG([extra-cmake-modules]) GPG4WIN_KDEPKG([kconfig], [qtbase qttools extra-cmake-modules]) GPG4WIN_KDEPKG([ki18n], [qtbase gettext qttools extra-cmake-modules]) GPG4WIN_KDEPKG([kwidgetsaddons], [kconfig qttools qtbase]) GPG4WIN_KDEPKG([kcompletion], [kwidgetsaddons]) GPG4WIN_KDEPKG([kwindowsystem], [qtbase qtwinextras]) GPG4WIN_KDEPKG([kcoreaddons], [qtbase qttools]) GPG4WIN_KDEPKG([kcodecs], [qtbase qttools]) GPG4WIN_KDEPKG([kguiaddons], [qtbase qttools]) GPG4WIN_KDEPKG([kmime], [kcodecs]) GPG4WIN_KDEPKG([kconfigwidgets], [kwidgetsaddons kguiaddons ki18n kcodecs kconfig]) GPG4WIN_KDEPKG([kitemviews], [qtbase qttools]) GPG4WIN_KDEPKG([kitemmodels], [qtbase qttools]) GPG4WIN_KDEPKG([karchive], [qtbase qttools extra-cmake-modules]) GPG4WIN_KDEPKG([kcrash], [kwindowsystem kcoreaddons]) GPG4WIN_KDEPKG([kiconthemes], [qtsvg kconfigwidgets karchive]) GPG4WIN_KDEPKG([kxmlgui], [kiconthemes kconfigwidgets kitemviews]) GPG4WIN_KDEPKG([libkleo], [kmime kwidgetsaddons kwindowsystem kcompletion kconfig gpgme]) GPG4WIN_KDEPKG([gpg4win-tools], [libkleo gpgme]) GPG4WIN_FINALIZE # Throw an error if required tools are missing if test -n "$missing_tools"; then for i in $missing_tools; do AC_MSG_NOTICE([$i is missing]) done AC_MSG_ERROR([[ *** *** Required tools not found. Please consult the above messages *** and install them before running configure again. ***]]) fi # Throw an error if any duplicate source packages have been found if test -n "$gpg4win_dup_sources"; then tmp= for i in $gpg4win_dup_sources; do tmp="$tmp $i" done tmp2=" You might remove them with:" for i in $gpg4win_rm_candidates; do if ! grep -q $(basename $i) packages/packages.current; then tmp2="$tmp2 rm $i" fi done AC_MSG_ERROR([Packages with more that one source version:$tmp$tmp2]) fi # Finalize. AC_CONFIG_FILES(Makefile) AC_CONFIG_FILES(packages/Makefile src/Makefile po/Makefile.in) AC_CONFIG_FILES(po/build-cc) AC_CONFIG_FILES(src/config.nsi src/gpg4win.mk) AC_CONFIG_FILES(doc/Makefile) AC_CONFIG_FILES(doc/logo/Makefile) AC_CONFIG_FILES(doc/manual/Makefile doc/manual/version.tex) AC_CONFIG_FILES(src/toolchain.cmake) AC_OUTPUT # Throw a warning if optional tools are missing if test -n "$missing_opt_tools"; then AC_MSG_WARN([[ *** *** Some tools not found. They may or may not be needed depending on *** the packages you want to include. For example GLIB and GTK+ *** require certain tools; you may need to install a recent version of *** GLIB and GTK+ on the build machine to allow for cross-compiling. ***]]) for i in $missing_opt_tools; do AC_MSG_NOTICE([$i is missing]) done fi echo -n " $PACKAGE_NAME-$PACKAGE_VERSION prepared for make Revision: ${GIT_REVISION} (${GIT_REVISION_DEC}) 32bit platform: $host 64bit platform: ${GPGEX_ADD_HOST} " if test -n "$JOBS"; then echo " make jobs: ${JOBS}" else echo "" fi diff --git a/m4/gpg4win.m4 b/m4/gpg4win.m4 index 232af16e..d5c0081c 100644 --- a/m4/gpg4win.m4 +++ b/m4/gpg4win.m4 @@ -1,890 +1,891 @@ dnl gpg4win.m4 - macros to configure gpg4win. dnl Copyright (C) 2005, 2009 g10 Code GmbH dnl dnl This file is part of GPG4Win. dnl dnl GPG4Win is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl GPG4Win is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, dnl MA 02110-1301, USA # GPG4WIN_DEFINE SYMBOL # A poor man's version of AC_DEFINE_UNQUOTED for NSIS. AC_DEFUN([GPG4WIN_DEFINE], [ eval $1=\"\!define $1 1\" AC_SUBST($1) ]) # GPG4WIN_BASH # Gpg4Win needs bash. This macro checks for it. AC_DEFUN([GPG4WIN_BASH], [ AC_MSG_CHECKING([for Bash]) _bash=$BASH_VERSION if test -z "$_bash"; then _bash=no fi AC_MSG_RESULT($_bash) if test $_bash = no; then AC_MSG_ERROR("this configure script requires Bash") fi ]) # GPG4WIN_PACKAGES # Determines the path to the source and binary packages. # Default is the "packages" directory in the source directory. # The path is stored in the shell variable gpg4win_packages. AC_DEFUN([GPG4WIN_PACKAGES], [ AC_MSG_CHECKING(for packages directory) _gpg4win_packages_default=packages AC_ARG_WITH([packages], AS_HELP_STRING([--with-packages=DIR], [source and binary packages [[packages]]]), gpg4win_packages=$withval) AS_IF([test -z $gpg4win_packages], [gpg4win_packages=$_gpg4win_packages_default]) AS_IF([test `echo $gpg4win_packages | head -c 1` != /], [gpg4win_packages=`pwd`/$gpg4win_packages]) AC_SUBST(gpg4win_packages) AC_MSG_RESULT($gpg4win_packages) # Set auto-detection. FIXME: This should accept a comma-separated # list of packages that will be autodetected. _gpg4win_auto_detection=yes AC_ARG_ENABLE([packages], AS_HELP_STRING([--enable-packages], [enable auto-detection [[yes]]]), _gpg4win_auto_detection=$enableval) ]) # Should be called early. AC_DEFUN([GPG4WIN_INIT], [ # We call this here so its options appear before the per-package options. AC_REQUIRE([GPG4WIN_PACKAGES]) ]) # GPG4WIN_FIND([FILE],[PATTERN],[ZIP|TAR],[DIR],[IF-FOUND],[IF-NOT-FOUND]) # Search for package file FILE in DIR. If DIR is empty, yes or maybe, # look in default directory. If DIR is not maybe, abort if not found. # The package file name is provided in gpg4win_val and the version in # gpg4win_version. AC_DEFUN([GPG4WIN_FIND], [ AC_REQUIRE([GPG4WIN_BASH]) AC_REQUIRE([GPG4WIN_PACKAGES]) gpg4win_val= gpg4win_version= AC_MSG_CHECKING(for package $1) _gpg4win_critical=no _gpg4win_file= _gpg4win_dir=$4 # If --enable-pkg-foo was specified, make success critical. AS_IF([test x$_gpg4win_dir != xmaybe], [_gpg4win_critical=yes]) # Only check if critical or auto detection is requested. AS_IF([test $_gpg4win_auto_detection = yes -o $_gpg4win_critical = yes], [AS_IF([test -z "$_gpg4win_dir" -o "$_gpg4win_dir" = yes -o "$_gpg4win_dir" = maybe], [_gpg4win_dir=$gpg4win_packages]) # Install pattern. AS_IF([test -z "$2"], [_gpg4win_pat='$1-\([[0-9]].*\)'], [_gpg4win_pat="$2"]) # Frob pattern. Regex party! [_gpg4win_glob=`echo "$_gpg4win_pat" | sed -e 's/\\\\(\(.*\)\\\\)/\1/'`] [_gpg4win_glob=`echo "$_gpg4win_glob" | sed -e 's/\\.\\*/*/'`] # Make non-matching globs expand to nothing. shopt -s nullglob _gpg4win_format=both AS_IF([test ! -z "$3"], _gpg4win_format="$3") AS_IF([test -z "$_gpg4win_file" -a $_gpg4win_format != zip], [_gpg4win_file=`echo ${_gpg4win_dir}/${_gpg4win_glob}.tar.xz` _gpg4win_suffix=.tar.xz]) AS_IF([test -z "$_gpg4win_file" -a $_gpg4win_format != zip], [_gpg4win_file=`echo ${_gpg4win_dir}/${_gpg4win_glob}.tar.bz2` _gpg4win_suffix=.tar.bz2]) AS_IF([test -z "$_gpg4win_file" -a $_gpg4win_format != zip], [_gpg4win_file=`echo ${_gpg4win_dir}/${_gpg4win_glob}.tbz2` _gpg4win_suffix=.tbz2]) AS_IF([test -z "$_gpg4win_file" -a $_gpg4win_format != zip], [_gpg4win_file=`echo ${_gpg4win_dir}/${_gpg4win_glob}.tbz` _gpg4win_suffix=.tbz]) AS_IF([test -z "$_gpg4win_file" -a $_gpg4win_format != zip], [_gpg4win_file=`echo ${_gpg4win_dir}/${_gpg4win_glob}.tar.gz` _gpg4win_suffix=.tar.gz]) AS_IF([test -z "$_gpg4win_file" -a $_gpg4win_format != zip], [_gpg4win_file=`echo ${_gpg4win_dir}/${_gpg4win_glob}.tgz` _gpg4win_suffix=.tgz]) AS_IF([test -z "$_gpg4win_file" -a $_gpg4win_format != tar], [_gpg4win_file=`echo ${_gpg4win_dir}/${_gpg4win_glob}.zip` _gpg4win_suffix=.zip]) AS_IF([test -z "$_gpg4win_file" -a $_gpg4win_format != tar -a $_gpg4win_format != zip], [_gpg4win_file=`echo ${_gpg4win_dir}/${_gpg4win_glob}.exe` _gpg4win_suffix=.exe]) AS_IF([test -z "$_gpg4win_file" -a $_gpg4win_format != tar -a $_gpg4win_format != zip], [_gpg4win_file=`echo ${_gpg4win_dir}/${_gpg4win_glob}.wixlib` _gpg4win_suffix=.wixlib]) shopt -u nullglob]) AS_IF([test -z "$_gpg4win_file"], AC_MSG_RESULT(no), AS_IF([test `echo $_gpg4win_file | head -c 1` != /], [_gpg4win_file=`pwd`/$_gpg4win_file]) AC_MSG_RESULT($_gpg4win_file)) AS_IF([test -z "$_gpg4win_file" -a $_gpg4win_critical = yes], AC_MSG_ERROR(could not find sources for $1 in $_gpg4win_dir)) # Test for duplicate. _gpg4win_found= for _gpg4win_f in $_gpg4win_file; do AS_IF([test "$_gpg4win_found" = yes], [AC_MSG_WARN(found more than one sources for $1 in $_gpg4win_dir) gpg4win_dup_sources="$gpg4win_dup_sources $1"; gpg4win_rm_candidates="$gpg4win_rm_candidates $_gpg4win_file"]) _gpg4win_found=yes done AS_IF([test ! -z "$_gpg4win_file"], [gpg4win_val="$_gpg4win_file" [gpg4win_version=`echo "$gpg4win_val" | sed -e "s,^.*/${_gpg4win_pat}${_gpg4win_suffix}$,\1,"`] [$5]], [$6]) ]) AC_DEFUN([GPG4WIN_CHECK_EXDEPS], [ AC_REQUIRE([GPG4WIN_CHECK_DEPS]) AC_MSG_CHECKING([additional host build list]) gpg4win_build_ex_list=`echo $_gpg4win_ex_deps | tsort` # Remove newlines. gpg4win_build_ex_list=`echo $gpg4win_build_ex_list` AC_MSG_RESULT($gpg4win_build_ex_list) AC_SUBST(gpg4win_build_ex_list) # Check each dependency. _gpg4win_not_found= _gpg4win_d= _gpg4win_p= for _gpg4win_p in $_gpg4win_ex_deps; do AS_IF([test -z $_gpg4win_d], [_gpg4win_d=$_gpg4win_p], [ _gpg4win_found= for _gpg4win_i in $_gpg4win_pkgs; do AS_IF([test $_gpg4win_d = $_gpg4win_i], _gpg4win_found=yes break) done AS_IF([test -z $_gpg4win_found], AC_MSG_WARN(could not find ex variant of package $_gpg4win_d required by package $_gpg4win_p) _gpg4win_not_found=yes) _gpg4win_d= ]) done AS_IF([test ! -z "$_gpg4win_not_found"], AC_MSG_ERROR([could not find some required packages])) ]) AC_DEFUN([GPG4WIN_CHECK_DEPS], [ AC_MSG_CHECKING(build list) gpg4win_build_list=`echo $_gpg4win_deps | tsort` # Remove newlines. gpg4win_build_list=`echo $gpg4win_build_list` AC_MSG_RESULT($gpg4win_build_list) AC_SUBST(gpg4win_build_list) # Check each dependency. _gpg4win_not_found= _gpg4win_d= _gpg4win_p= for _gpg4win_p in $_gpg4win_deps; do AS_IF([test -z $_gpg4win_d], [_gpg4win_d=$_gpg4win_p], [ _gpg4win_found= for _gpg4win_i in $_gpg4win_pkgs; do AS_IF([test $_gpg4win_d = $_gpg4win_i], _gpg4win_found=yes break) done AS_IF([test -z $_gpg4win_found], AC_MSG_WARN(could not find package $_gpg4win_d required by package $_gpg4win_p) _gpg4win_not_found=yes) _gpg4win_d= ]) done AS_IF([test ! -z "$_gpg4win_not_found"], AC_MSG_ERROR([could not find some required packages])) ]) AC_DEFUN([GPG4WIN_FINALIZE], [ AC_REQUIRE([GPG4WIN_CHECK_EXDEPS]) _gpg4win_debug=no AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug], [enable debugging [[no]]]), _gpg4win_debug=$enableval) AS_IF([test "${_gpg4win_debug}" != no], GPG4WIN_DEFINE(GPG4WIN_DEBUG)) ]) # GPG4WIN_IPKG([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND]) # Set up the internal package PKG. # It is provided in gpg4win_val. AC_DEFUN([GPG4WIN_IPKG], [ AC_REQUIRE([GPG4WIN_INIT]) AC_MSG_CHECKING([for internal package $1]) _gpg4win_pkg=maybe AC_ARG_ENABLE([pkg-$1], AS_HELP_STRING([--enable-pkg-$1[=DIR]], [include internal package $1]), _gpg4win_pkg=$enableval, _gpg4win_pkg=yes) # gpg4win_pkg_PKGNAME_deps=DEPS gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps="$2" AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps) AC_MSG_RESULT($_gpg4win_pkg) AS_IF([test "$_gpg4win_pkg" != no], _gpg4win_pkgs="$_gpg4win_pkgs $1" GPG4WIN_DEFINE(HAVE_PKG_[]m4_translit([$1],[a-z+-],[A-Z__])) # Record dependencies. Also enter every package as node. _gpg4win_deps="$_gpg4win_deps $1 $1" AS_IF([test ! -z "$2"], for _gpg4win_i in $2; do _gpg4win_deps="$_gpg4win_deps $_gpg4win_i $1" done) [$3], [$4]) ]) # GPG4WIN_SPKG([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND]) # Set up the source package PKG. # It is provided in gpg4win_val. AC_DEFUN([GPG4WIN_SPKG], [ AC_REQUIRE([GPG4WIN_INIT]) _gpg4win_pkg=maybe AC_ARG_ENABLE([pkg-$1], AS_HELP_STRING([--enable-pkg-$1[=DIR]], [include package $1]), _gpg4win_pkg=$enableval) _gpg4win_spkg=no _gpg4win_version= AS_IF([test "$_gpg4win_pkg" != no], [GPG4WIN_FIND($1,,, $_gpg4win_pkg, _gpg4win_spkg=$gpg4win_val _gpg4win_version=$gpg4win_version)]) # At this point, _gpg4win_spkg is no, or the actual package source file. # gpg4win_pkg_PKGNAME=FILENAME_OF_SOURCE gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]=$_gpg4win_spkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])) # gpg4win_pkg_PKGNAME_version=VERSION gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version=$_gpg4win_version AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version) # gpg4win_pkg_PKGNAME_deps=DEPS gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps="$2" AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps) AS_IF([test "$_gpg4win_spkg" != no], _gpg4win_pkgs="$_gpg4win_pkgs $1" GPG4WIN_DEFINE(HAVE_PKG_[]m4_translit([$1],[a-z+-],[A-Z__])) # Record dependencies. Also enter every package as node. _gpg4win_deps="$_gpg4win_deps $1 $1" AS_IF([test ! -z "$2"], for _gpg4win_i in $2; do _gpg4win_deps="$_gpg4win_deps $_gpg4win_i $1" done) [$3], [$4]) ]) # GPG4WIN_SPKGEX([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND]) # Set up the source package PKG to be additionally built # for the host provided as additional-gpgex-host AC_DEFUN([GPG4WIN_SPKGEX], [ AC_REQUIRE([GPG4WIN_INIT]) _gpg4win_pkg=maybe AC_ARG_ENABLE([pkg-$1], AS_HELP_STRING([--enable-pkg-$1[=DIR]], [include package $1]), _gpg4win_pkg=$enableval) _gpg4win_spkg=no _gpg4win_version= AS_IF([test "$_gpg4win_pkg" != no], [GPG4WIN_FIND($1,,, $_gpg4win_pkg, _gpg4win_spkg=$gpg4win_val _gpg4win_version=$gpg4win_version)]) # At this point, _gpg4win_spkg is no, or the actual package source file. # gpg4win_pkg_PKGNAME=FILENAME_OF_SOURCE gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]=$_gpg4win_spkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])) # gpg4win_pkg_PKGNAME_version=VERSION gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version=$_gpg4win_version AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version) AS_IF([test ! -z "$GPGEX_ADD_HOST"], # gpg4win_pkg_PKGNAME_deps=DEPS gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_ex_deps="$2" AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_ex_deps) gpg4win_ex_pkgs="$gpg4win_ex_pkgs $1" GPG4WIN_DEFINE(HAVE_PKG_[]m4_translit([$1],[a-z+-],[A-Z__])_EX) # Record dependencies. Also enter every package as node. _gpg4win_ex_deps="$_gpg4win_ex_deps $1 $1" AS_IF([test ! -z "$2"], for _gpg4win_i in $2; do _gpg4win_ex_deps="$_gpg4win_ex_deps $_gpg4win_i $1" done) ) ]) # GPG4WIN_KDEPKG([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND]) # Set up the source package PKG to be additionally built # for the host provided as additional-gpgex-host AC_DEFUN([GPG4WIN_KDEPKG], [ AC_REQUIRE([GPG4WIN_INIT]) _gpg4win_pkg=maybe AC_ARG_ENABLE([pkg-$1], AS_HELP_STRING([--enable-pkg-$1[=DIR]], [include package $1]), _gpg4win_pkg=$enableval) _gpg4win_kdepkg=no _gpg4win_version= AS_IF([test "$_gpg4win_pkg" != no], [GPG4WIN_FIND($1,,, $_gpg4win_pkg, _gpg4win_kdepkg=$gpg4win_val _gpg4win_version=$gpg4win_version)]) # gpg4win_pkg_PKGNAME=FILENAME_OF_SOURCE gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]=$_gpg4win_kdepkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])) # gpg4win_pkg_PKGNAME_version=VERSION gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version=$_gpg4win_version AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version) # gpg4win_pkg_PKGNAME_deps=DEPS gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps="$2" AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps) AS_IF([test "$_gpg4win_kdepkg" != no], _gpg4win_pkgs="$_gpg4win_pkgs $1" GPG4WIN_DEFINE(HAVE_PKG_[]m4_translit([$1],[a-z+-],[A-Z__])) # Record dependencies. Also enter every package as node. _gpg4win_deps="$_gpg4win_deps $1 $1" AS_IF([test ! -z "$2"], for _gpg4win_i in $2; do _gpg4win_deps="$_gpg4win_deps $_gpg4win_i $1" done) [$3], [$4]) ]) # GPG4WIN_BPKG_GNUWIN32([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND]) # Set up the gnuwin32 package PKG. # It is provided in gpg4win_val. AC_DEFUN([GPG4WIN_BPKG_GNUWIN32], [ AC_REQUIRE([GPG4WIN_INIT]) _gpg4win_pkg=maybe AC_ARG_ENABLE([pkg-$1], AS_HELP_STRING([--enable-pkg-$1[=DIR]], [include package $1]), _gpg4win_pkg=$enableval) _gpg4win_bpkg=no _gpg4win_version= AS_IF([test "$_gpg4win_pkg" != no], [GPG4WIN_FIND($1-bin, [$1-\(.*\)-bin],, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val _gpg4win_version=$gpg4win_version)]) # At this point, _gpg4win_bpkg is no, or the actual package source file. # gpg4win_pkg_PKGNAME=FILENAME_OF_BINARY gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])) # gpg4win_pkg_PKGNAME_version=VERSION gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version=$_gpg4win_version AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version) # gpg4win_pkg_PKGNAME_deps=DEPS gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps="$2" AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps) AS_IF([test "$_gpg4win_bpkg" != "no" ], GPG4WIN_FIND($1-lib, [$1-\(.*\)-lib],, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val, AC_MSG_ERROR(can not find development package for package $1)) # gpg4win_pkg_PKGNAME_dev=FILENAME_OF_BINARY_DEVEL gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_dev=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_dev) GPG4WIN_FIND($1-src, [$1-\(.*\)-src],, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val, AC_MSG_ERROR(can not find sources for package $1)) # gpg4win_pkg_PKGNAME_src=FILENAME_OF_SOURCE gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_src=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_src) # FIXME: Add a version consistency check here. All three packages # must match! GPG4WIN_DEFINE(HAVE_PKG_[]m4_translit([$1],[a-z+-],[A-Z__])) _gpg4win_pkgs="$_gpg4win_pkgs $1" # Record dependencies. Also enter every package as node. _gpg4win_deps="$_gpg4win_deps $1 $1" AS_IF([test ! -z "$2"], for _gpg4win_i in $2; do _gpg4win_deps="$_gpg4win_deps $_gpg4win_i $1" done) [$3], [$4]) ]) # GPG4WIN_BPKG_GNUWIN32_LIB([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND]) # Set up the gnuwin32 package PKG. This is a static only library version. # It is provided in gpg4win_val. AC_DEFUN([GPG4WIN_BPKG_GNUWIN32_LIB], [ AC_REQUIRE([GPG4WIN_INIT]) _gpg4win_pkg=maybe AC_ARG_ENABLE([pkg-$1], AS_HELP_STRING([--enable-pkg-$1[=DIR]], [include package $1]), _gpg4win_pkg=$enableval) _gpg4win_bpkg=no _gpg4win_version= AS_IF([test "$_gpg4win_pkg" != no], [GPG4WIN_FIND($1-lib, [$1-\(.*\)-lib],, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val _gpg4win_version=$gpg4win_version)]) # At this point, _gpg4win_bpkg is no, or the actual package source file. # gpg4win_pkg_PKGNAME=FILENAME_OF_BINARY gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])) # gpg4win_pkg_PKGNAME_version=VERSION gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version=$_gpg4win_version AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version) AS_IF([test "$_gpg4win_bpkg" != no], GPG4WIN_FIND($1-src, [$1-\(.*\)-src],, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val, AC_MSG_ERROR(can not find sources for package $1)) # gpg4win_pkg_PKGNAME_src=FILENAME_OF_SOURCE gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_src=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_src) # FIXME: Add a version consistency check here. All two packages # must match! GPG4WIN_DEFINE(HAVE_PKG_[]m4_translit([$1],[a-z+-],[A-Z__])) _gpg4win_pkgs="$_gpg4win_pkgs $1" # Record dependencies. Also enter every package as node. _gpg4win_deps="$_gpg4win_deps $1 $1" AS_IF([test ! -z "$2"], for _gpg4win_i in $2; do _gpg4win_deps="$_gpg4win_deps $_gpg4win_i $1" done) [$3], [$4]) ]) # GPG4WIN_BPKG_GTK([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND]) # Set up the Gtk binary package PKG. # It is provided in gpg4win_val. AC_DEFUN([GPG4WIN_BPKG_GTK], [ AC_REQUIRE([GPG4WIN_INIT]) _gpg4win_pkg=maybe AC_ARG_ENABLE([pkg-$1], AS_HELP_STRING([--enable-pkg-$1[=DIR]], [include package $1]), _gpg4win_pkg=$enableval) _gpg4win_bpkg=no _gpg4win_version= AS_IF([test "$_gpg4win_pkg" != no], [GPG4WIN_FIND($1,,zip, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val _gpg4win_version=$gpg4win_version)]) # At this point, _gpg4win_bpkg is no, or the actual package source file. # gpg4win_pkg_PKGNAME=FILENAME_OF_BINARY gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])) # gpg4win_pkg_PKGNAME_version=VERSION gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version=$_gpg4win_version AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version) # gpg4win_pkg_PKGNAME_deps=DEPS gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps="$2" AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps) AS_IF([test "$_gpg4win_bpkg" != no], [GPG4WIN_FIND($1,,tar, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val, AC_MSG_ERROR(can not find sources for package $1))] # gpg4win_pkg_PKGNAME_src=FILENAME_OF_SOURCE gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_src=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_src) # FIXME: Add a version consistency check here. All three packages # must match! GPG4WIN_DEFINE(HAVE_PKG_[]m4_translit([$1],[a-z+-],[A-Z__])) _gpg4win_pkgs="$_gpg4win_pkgs $1" # Record dependencies. Also enter every package as node. _gpg4win_deps="$_gpg4win_deps $1 $1" AS_IF([test ! -z "$2"], for _gpg4win_i in $2; do _gpg4win_deps="$_gpg4win_deps $_gpg4win_i $1" done) [$3], [$4]) ]) # GPG4WIN_BPKG_GTK_DEV([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND]) # Set up the Gtk library package PKG. # It is provided in gpg4win_val. AC_DEFUN([GPG4WIN_BPKG_GTK_DEV], [ AC_REQUIRE([GPG4WIN_INIT]) _gpg4win_pkg=maybe AC_ARG_ENABLE([pkg-$1], AS_HELP_STRING([--enable-pkg-$1[=DIR]], [include package $1]), _gpg4win_pkg=$enableval) _gpg4win_bpkg=no _gpg4win_version= AS_IF([test "$_gpg4win_pkg" != no], [GPG4WIN_FIND($1,,zip, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val _gpg4win_version=$gpg4win_version)]) # At this point, _gpg4win_bpkg is no, or the actual package source file. # gpg4win_pkg_PKGNAME=FILENAME_OF_BINARY gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])) # gpg4win_pkg_PKGNAME_version=VERSION gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version=$_gpg4win_version AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version) # gpg4win_pkg_PKGNAME_deps=DEPS gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps="$2" AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps) AS_IF([test "$_gpg4win_bpkg" != no], [GPG4WIN_FIND($1-dev,,, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val, AC_MSG_ERROR(can not find development package for package $1))] # gpg4win_pkg_PKGNAME_dev=FILENAME_OF_BINARY_DEVEL gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_dev=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_dev) [GPG4WIN_FIND($1,,tar, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val, AC_MSG_ERROR(can not find sources for package $1))] # gpg4win_pkg_PKGNAME_src=FILENAME_OF_SOURCE gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_src=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_src) # FIXME: Add a version consistency check here. All three packages # must match! GPG4WIN_DEFINE(HAVE_PKG_[]m4_translit([$1],[a-z+-],[A-Z__])) _gpg4win_pkgs="$_gpg4win_pkgs $1" # Record dependencies. Also enter every package as node. _gpg4win_deps="$_gpg4win_deps $1 $1" AS_IF([test ! -z "$2"], for _gpg4win_i in $2; do _gpg4win_deps="$_gpg4win_deps $_gpg4win_i $1" done) [$3], [$4]) ]) # GPG4WIN_BPKG_GNU([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND]) # Set up the source package PKG. # It is provided in gpg4win_val. AC_DEFUN([GPG4WIN_BPKG_GNU], [ AC_REQUIRE([GPG4WIN_INIT]) _gpg4win_pkg=maybe AC_ARG_ENABLE([pkg-$1], AS_HELP_STRING([--enable-pkg-$1[=DIR]], [include package $1]), _gpg4win_pkg=$enableval) _gpg4win_bpkg=no _gpg4win_version= AS_IF([test "$_gpg4win_pkg" != no], [ # For some shameful reason, the gettext package is actually called # gettext-runtime! AS_IF([test $1 = gettext], [GPG4WIN_FIND($1-runtime,,zip, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val _gpg4win_version=$gpg4win_version)], [GPG4WIN_FIND($1,,zip, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val _gpg4win_version=$gpg4win_version)]) ]) # At this point, _gpg4win_bpkg is no, or the actual package source file. # gpg4win_pkg_PKGNAME=FILENAME_OF_BINARY gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])) # gpg4win_pkg_PKGNAME_version=VERSION gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version=$_gpg4win_version AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version) # gpg4win_pkg_PKGNAME_deps=DEPS gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps="$2" AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps) AS_IF([test "$_gpg4win_bpkg" != no], [GPG4WIN_FIND($1,,tar, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val, AC_MSG_ERROR(can not find sources for package $1))] # gpg4win_pkg_PKGNAME_src=FILENAME_OF_SOURCE gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_src=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_src) # FIXME: Add a version consistency check here. All two packages # must match! GPG4WIN_DEFINE(HAVE_PKG_[]m4_translit([$1],[a-z+-],[A-Z__])) _gpg4win_pkgs="$_gpg4win_pkgs $1" # Record dependencies. Also enter every package as node. _gpg4win_deps="$_gpg4win_deps $1 $1" AS_IF([test ! -z "$2"], for _gpg4win_i in $2; do _gpg4win_deps="$_gpg4win_deps $_gpg4win_i $1" done) [$3], [$4]) ]) # GPG4WIN_BPKG_MSISRC([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND]) # Set up package PKG which is expected to be delivered as two ZIP files # with a "-(src|source)" and a "-(bin|noinstaller)" suffix. AC_DEFUN([GPG4WIN_BPKG_MSISRC], [ AC_REQUIRE([GPG4WIN_INIT]) _gpg4win_pkg=maybe AC_ARG_ENABLE([pkg-$1], AS_HELP_STRING([--enable-pkg-$1[=DIR]], [include package $1]), _gpg4win_pkg=$enableval) _gpg4win_bpkg=no _gpg4win_version= AS_IF([test "$_gpg4win_pkg" != no], [GPG4WIN_FIND($1-bin, [$1-\(.*\)-bin],, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val _gpg4win_version=$gpg4win_version)]) AS_IF([test "$_gpg4win_pkg" != no -a "$_gpg4win_bpkg" = no], [GPG4WIN_FIND($1-noinstaller, [$1-\(.*\)-noinstaller],, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val _gpg4win_version=$gpg4win_version)]) # At this point, _gpg4win_bpkg is no, or the actual package binary file. # gpg4win_pkg_PKGNAME=FILENAME_OF_BINARY gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])) # gpg4win_pkg_PKGNAME_version=VERSION gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_version=$_gpg4win_version AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_version) # gpg4win_pkg_PKGNAME_deps=DEPS gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps="$2" AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps) AS_IF([test "$_gpg4win_bpkg" != no], tmp_binsrc=yes GPG4WIN_FIND($1-src, [$1-\(.*\)-src],, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val, tmp_binsrc=no) if test $tmp_binsrc = no ; then GPG4WIN_FIND($1-source, [$1-\(.*\)-source],, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val, AC_MSG_ERROR(can not find sources for package $1)) fi # gpg4win_pkg_PKGNAME_src=FILENAME_OF_SOURCE gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_src=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_src) GPG4WIN_DEFINE(HAVE_PKG_[]m4_translit([$1],[a-z+-],[A-Z__])) ) ]) # GPG4WIN_BPKG_BINSRC([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND]) # Set up package PKG which is expected to be delivered as two ZIP files # with a "-(src|source)" and a "-(bin|noinstaller)" suffix. AC_DEFUN([GPG4WIN_BPKG_BINSRC], [ AC_REQUIRE([GPG4WIN_INIT]) _gpg4win_pkg=maybe AC_ARG_ENABLE([pkg-$1], AS_HELP_STRING([--enable-pkg-$1[=DIR]], [include package $1]), _gpg4win_pkg=$enableval) _gpg4win_bpkg=no _gpg4win_version= AS_IF([test "$_gpg4win_pkg" != no], [GPG4WIN_FIND($1-bin, [$1-\(.*\)-bin],, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val _gpg4win_version=$gpg4win_version)]) AS_IF([test "$_gpg4win_pkg" != no -a "$_gpg4win_bpkg" = no], [GPG4WIN_FIND($1-noinstaller, [$1-\(.*\)-noinstaller],, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val _gpg4win_version=$gpg4win_version)]) # At this point, _gpg4win_bpkg is no, or the actual package binary file. # gpg4win_pkg_PKGNAME=FILENAME_OF_BINARY gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])) # gpg4win_pkg_PKGNAME_version=VERSION gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_version=$_gpg4win_version AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_version) # gpg4win_pkg_PKGNAME_deps=DEPS gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps="$2" AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_deps) AS_IF([test "$_gpg4win_bpkg" != no], tmp_binsrc=yes GPG4WIN_FIND($1-src, [$1-\(.*\)-src],, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val, tmp_binsrc=no) if test $tmp_binsrc = no ; then GPG4WIN_FIND($1-source, [$1-\(.*\)-source],, $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val, AC_MSG_ERROR(can not find sources for package $1)) fi # gpg4win_pkg_PKGNAME_src=FILENAME_OF_SOURCE gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_src=$_gpg4win_bpkg AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[A-Z+-],[a-z__])[]_src) # FIXME: Add a version consistency check here. Both packages # must match! GPG4WIN_DEFINE(HAVE_PKG_[]m4_translit([$1],[a-z+-],[A-Z__])) _gpg4win_pkgs="$_gpg4win_pkgs []m4_translit([$1],[A-Z],[a-z])" # Record dependencies. Also enter every package as node. _gpg4win_deps="$_gpg4win_deps []m4_translit([$1],[A-Z],[a-z]) []m4_translit([$1],[A-Z],[a-z])" AS_IF([test ! -z "$2"], for _gpg4win_i in $2; do _gpg4win_deps="$_gpg4win_deps $_gpg4win_i []m4_translit([$1],[A-Z],[a-z])" done) [$3], [$4]) ]) # Add a runtime library argument 1 should be the dll # name without the .dll suffix AC_DEFUN([GPG4WIN_RUNTIME_LIBRARY], [ dll_path="no" AC_ARG_WITH([$1], AS_HELP_STRING([--with-$1-dll[=FILE]], [include FILE as runtime dependency for the installer.]), [dll_path=$withval]) if test "$dll_path" = "no"; then changequote(,) gcc_major_minor=$($CC --version \ | awk 'NR==1 {split($NF,a,"."); print a[1] "." a[2]}') gcc_major_minor_alt=$($CC --version | cut -d " " -f 3 \ | awk 'NR==1 {split($NF,a,"."); print a[1] "." a[2]}') changequote([,]) guesses="/usr/lib/gcc/$host/$gcc_major_minor/$1.dll /usr/$host/bin/$1.dll /usr/$host/lib/$1.dll /usr/lib/gcc/$host/${gcc_major_minor}-win32/$1.dll /usr/lib/gcc/$host/${gcc_major_minor_alt}-win32/$1.dll - /usr/lib/gcc/$host/${gcc_major_minor_alt}/$1.dll" + /usr/lib/gcc/$host/${gcc_major_minor_alt}/$1.dll + /usr/lib/gcc/$host/10-win32/$1.dll" for file in $guesses; do if test -r "$file"; then dll_path="$file" break fi done fi if test "$dll_path" = "no"; then AC_MSG_ERROR(can not find the runtime library $1.dll in the default locations. Use the --with-$1 option to set the path directly. ) fi AC_MSG_NOTICE(Using $dll_path to provide $1) $CP "$dll_path" src/$1.dll-x $STRIP src/$1.dll-x ]) diff --git a/packages/packages.current b/packages/packages.current index 2faf2793..6834cf3a 100644 --- a/packages/packages.current +++ b/packages/packages.current @@ -1,602 +1,618 @@ # packages.current - list of current 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 SHA1 checksum of # the last file. # # zlib # server http://zlib.net # last-changed: 2017-01-23 # by: ah # verified: Sig 5ED4 6A67 21D3 6558 7791 E2AA 783F CD8E 58BC AFBA file zlib-1.2.11.tar.gz chk c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1 # # 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 # verified: Sig 9001 B85A F9E1 B83D F1BD A942 F5BE 8B26 7C6A 406D file gettext/gettext-0.21.tar.xz # Glib needs PCRE # last-changed: 2021-09-02 # verified: Sig: 45F6 8D54 BBE2 3FB3 039B 46E5 9766 E084 FB0F 43D8 server https://ftp.pcre.org/pub/pcre/ file pcre-8.44.tar.gz # # 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: 2017-08-28 # by: js # verified: Sig 8048 643B A2C8 40F4 F92A 195F F549 84BF A16C 640F server ftp://ftp.simplesystems.org/pub/png/src file libpng14/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 # # GpgOL # server http://files.gpg4win.org/src # by: ah # verified: Sig 5B80 C575 4298 F0CB 55D8 ED6A BCEF 7E29 4B09 2E28 file gpgol/gpgol-2.5.0.tar.bz2 chk 76cb742ae53cf54f2d42d258f6ba657d2b98c752d2c742b1e4f04b26a6baf0df # for beta #server http://files.intevation.de/projects/gpg4all #file gpgol/gpgol-2.5.0-beta36.tar.bz2 #chk cf3431d9ffb06f6c86af4aaa35fd69f343a18854016ab7d4145844a9be8346cf # # GpgEX # #server http://files.gpg4win.org/src server ftp://ftp.gnupg.org/gcrypt # last-changed: 2021-09-30 # by: ah # verified: Sig 6DAA6E64A76D2840571B4902528897B826403ADA file gpgex/gpgex-1.0.8.tar.bz2 chk dc044904e0d2dfe28ba1dca9a55b5b4abd306070b9f34e122493b332d15f8b14 # # 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)". -# D869 2123 C406 5DEA 5E0F 3AB5 249B 39D2 4F25 E3B6 -server ftp://ftp.gnupg.org/gcrypt +# 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 2021-04-21 # by ah # verified: distsigkey.gpg -server ftp://ftp.gnupg.org/gcrypt file libgpg-error/libgpg-error-1.42.tar.bz2 chk fc07e70f6c615f8c4f590a8e37a9b8dd2e2ca1e9408f8e60459c67452b925e23 # last-changed: 2021-04-21 # by: ah # verified: distsigkey.gpg file libassuan/libassuan-2.5.5.tar.bz2 chk 8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4 # last changed: 2021-09-16 # by: ah # verified: distsigkey.gpg name gnupg-w32-2.2.31-20210915-bin.exe file binary/gnupg-w32-2.2.31_20210915.exe chk 8dddf88026e7c9594c154ae249416697eb8f349a8ca107a1c6b36ececeb91e76 name gnupg-w32-2.2.31-20210915-src.tar.xz file binary/gnupg-w32-2.2.31_20210915.tar.xz chk e93f399ffb7b724460f2ead72fd07bc90867b2c2c9697f273de655e4ce85e450 name gnupg-msi-2.2.31-20210915-src.tar.xz file binary/gnupg-w32-2.2.31_20210915.tar.xz chk e93f399ffb7b724460f2ead72fd07bc90867b2c2c9697f273de655e4ce85e450 name gnupg-msi-2.2.31-20210915-bin.wixlib file binary/gnupg-w32-2.2.31_20210915.wixlib chk 5e404d4442227fcc5ff5226414fc9b6afd3a97c298c802036b6d887a16184510 -server ftp://ftp.gnupg.org/gcrypt - # last changed: 2021-04-21 # by: ah file pinentry/pinentry-1.2.0.tar.bz2 chk 10072045a3e043d0581f91cd5676fcac7ffee957a16636adedaa4f583a616470 # last changed: 2021-01-08 # by: wk # verified: swdb.mac #cd file gpgme/gpgme-1.15.1.tar.bz2 #chk eebc3c1b27f1c8979896ff361ba9bb4778b508b2496c2fc10e3775a40b1de1ad # 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 +# +# by: ah +# verified: Sig 5B80 C575 4298 F0CB 55D8 ED6A BCEF 7E29 4B09 2E28 +file gpgol/gpgol-2.5.0.tar.bz2 +chk 76cb742ae53cf54f2d42d258f6ba657d2b98c752d2c742b1e4f04b26a6baf0df + +# +# GpgEX +# +# last-changed: 2021-09-22 +# by: wk +# verified: distsigkey.gpg +file gpgex/gpgex-1.0.8.tar.bz2 +chk dc044904e0d2dfe28ba1dca9a55b5b4abd306070b9f34e122493b332d15f8b14 + + # # 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 # # Boost # last changes: 2016-01-21 # by: ah # verified: Second source https://github.com/mxe/mxe/commit/fdd5b9f7aa8bf0e40c1f1f8119701af96e51457e server http://downloads.sourceforge.net/project/boost/boost/ name boost-1.60.0.tar.bz2 file 1.60.0/boost_1_60_0.tar.bz2 chk 686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b # Qt base # last changed: 2020-07-22 # by: ah # verified: HTTPS https://download.qt.io/official_releases/qt/5.10/5.15.0/submodules/qtbase-everywhere-src-5.15.0.tar.xz.sha256 server http://download.qt.io/official_releases/qt/ name qtbase-5.15.0.tar.xz file 5.15/5.15.0/submodules/qtbase-everywhere-src-5.15.0.tar.xz chk 9e7af10aece15fa9500369efde69cb220eee8ec3a6818afe01ce1e7d484824c5 # Qt Tools # last changed: 2020-07-22 # by: ah # verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/qttools-everywhere-src-5.15.0.tar.xz.sha256 name qttools-5.15.0.tar.xz file 5.15/5.15.0/submodules/qttools-everywhere-src-5.15.0.tar.xz chk ddbcb49aab3a2e3672582c6e2e7bec0058feff790f67472343c79e2895e0e437 # Qt Winextras # last changed: 2020-07-22 # by: ah # verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/qtwinextras-everywhere-src-5.15.0.tar.xz.sha256 name qtwinextras-5.15.0.tar.xz file 5.15/5.15.0/submodules/qtwinextras-everywhere-src-5.15.0.tar.xz chk d77f2cb2ce83bdbfd0a970bc8d7d11c96b2df16befc257d6594f79dfd92abff0 # Qt svg # last changed: 2020-07-22 # by: ah # verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/qtsvg-everywhere-src-5.15.0.tar.xz.sha256 name qtsvg-5.15.0.tar.xz file 5.15/5.15.0/submodules/qtsvg-everywhere-src-5.15.0.tar.xz chk ee4d287e2e205ca8c08921b9cbe0fc58bf46be080b5359ad4d7fbdee44aeee0d # Qt translations # last changed: 2020-07-22 # by: ah # verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/qttranslations-everywhere-src-5.15.0.tar.xz.sha256 name qttranslations-5.15.0.tar.xz file 5.15/5.15.0/submodules/qttranslations-everywhere-src-5.15.0.tar.xz chk 45c43268d9df50784d4d8ca345fce9288a1055fd074ac0ef508097f7aeba22fe # KDE Frameworks generated by gen-frameworks.sh # When outdated activate this link: #server https://download.kde.org/Attic/frameworks/ server https://download.kde.org/stable/frameworks ##### Paste Here ##### # # Don't forget to update gpg4win.mk.in with new version numbers # # extra-cmake-modules # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/extra-cmake-modules-5.77.0.tar.xz chk 42f071f628b192122894026de20097cb0b3de411cb41c6935b48eb86ce992a65 # kconfig # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kconfig-5.77.0.tar.xz chk 30e81a7d00cc862e9d07d0e6d0fa55b561641850b7aaffcf51d4b390f1eff981 # ki18n # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/ki18n-5.77.0.tar.xz chk b2e1b74dedc1a3af88f04c470922d1fafb892d5846ea91ad139d421070cff357 # kwidgetsaddons # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kwidgetsaddons-5.77.0.tar.xz chk c72094fdad6740280513ff27477003839f20555071817337d3bf5c95761d7ae4 # kcompletion # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kcompletion-5.77.0.tar.xz chk 2ed7c90a575de468fd025688e7aa566b30003f4e43b1d7ed0c5dacafa0abf3d4 # kwindowsystem # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kwindowsystem-5.77.0.tar.xz chk 064d31310a8568fb1900c19b955176e245d96f0b42061c15c20bc2e2a7ab4f82 # kcoreaddons # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kcoreaddons-5.77.0.tar.xz chk 238e4cc422a62a2c3cb12915dbb52ad1a04be2ed13f59bfe3d1959266f08471d # kcodecs # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kcodecs-5.77.0.tar.xz chk c1b34aac21f6ab21e91e0e11f620949574678146f4407c853516c0f456e81fc4 # kconfigwidgets # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kconfigwidgets-5.77.0.tar.xz chk 5f4a6897ef58992d38e820e8b0112069aec2ef0e7b943eb14265482c4fb22cd1 # kxmlgui # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kxmlgui-5.77.0.tar.xz chk ae6df2146464ea403d33e8b0e4b69579428bf76c1e13f5fffb8634a65da930f1 # kguiaddons # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kguiaddons-5.77.0.tar.xz chk df674a64142d494345daed77cb64ab5b27960ebeda94ae30287bf311acaef63c # kitemviews # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kitemviews-5.77.0.tar.xz chk 1013c09c47b87c51b21e6cfe5a6ed112ba43ab9b18b8d41fe7ffe2214faf1b23 # kitemmodels # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kitemmodels-5.77.0.tar.xz chk decc3f607a0b2e9e6d585188eb6664a2cf06646db50d4d60dce83d96a0456534 # kiconthemes # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kiconthemes-5.77.0.tar.xz chk 735834671bd32f26da075d25f4209faac04fcc6af2f4090f99d055a3a277dc79 # breeze-icons # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/breeze-icons-5.77.0.tar.xz chk 96ad021edd6999e632991bff286f13601b898dc623388e52e82b68b5ac0a0f82 # karchive # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/karchive-5.77.0.tar.xz chk 2239af811b9205d9f4486791f4b25ff5ea299b3873021a646e1c8b9d44c2be36 # kcrash # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kcrash-5.77.0.tar.xz chk bda5567aca769590fbdd96d82d64ef6200350e3c88029d26c7a3603ce880a84e ##### End Paste ##### # KDE Applications # For older releases check here: server https://download.kde.org/Attic/applications # server http://download.kde.org/stable/applications/ # kmime # last changed: 2020-11-12 # by: ah # verified: PGP Sig F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 file 19.08.3/src/kmime-19.08.3.tar.xz chk e659e1154fbc11db624f1b76bc1a8e5cf8c7f6731cef7b4ff6fad9ccf90580dd # Snapshots which contain unreleased fixes important for Gpg4win server http://files.intevation.de/projects/gpg4all #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 # by: ah file gpgme/gpgme-1.16.1-beta16.tar.bz2 chk 2aebf01c533a68372ce4b95ffaa6cd5144aa147c143f1125a947dff5d4dda6c9 # Libkleo # last changed: see package date. # by: ah # verified: Tarball created by ah. file libkleo/libkleo-202108261518.tar.gz chk aa5e5da428075f61a3bb62e8e0065efd8756cf535558c254d1de94e6efce1ff1 # KDE-L10n # last changed: see package date. # by: ah # verified: Tarball created by ah with script kde-l10n.sh file kde-l10n/kde-l10n-202109141048-bin.tar.xz chk dc7b20473a5fe314e491e6f7e365a7e9464422b9d039fe9e834aac26353b1d4d file kde-l10n/kde-l10n-202109141048-src.tar.xz chk d68abe3c6f03b5934bee380b88c66bf27c23eed658c8a11fb57357bc85038a92 # 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 # Kleopatra # last changed: see package date. # by: ah # verified: Tarball created by ah. file kleopatra/kleopatra-202109301728.tar.gz chk 1bb11c10dab7abe8c7fc053d05dfabbaf9660e9ca9727b30775b83816e79c0e8 diff --git a/src/inst-gpg4win.nsi b/src/inst-gpg4win.nsi index 6b2175d3..86cc16f1 100644 --- a/src/inst-gpg4win.nsi +++ b/src/inst-gpg4win.nsi @@ -1,147 +1,148 @@ # inst-gpg4win.nsi - Hidden section for common files. -*- coding: latin-1; -*- # Copyright (C) 2006 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 # This is the very first section installed. Section "-gpg4win" SEC_gpg4win !ifdef SOURCES SetOutPath "$INSTDIR" File "${BUILD_DIR}/../gpg4win-${VERSION}.tar.bz2" !else Call KillOtherAppsOrWarn StrCpy $is_update "0" # BEGIN MSI IGNORE # For MSI we ignore this. # Start the slideshow. SetDetailsPrint none SetOutPath "$PLUGINSDIR\Slides" File "${BUILD_DIR}/slideshow/slide1-gpgol.png" File "${BUILD_DIR}/slideshow/slide2-gpgex.png" #File "${BUILD_DIR}/slideshow/slide3-kleopatra.png" File "${BUILD_DIR}/slideshow/slide4-summary.png" File "${BUILD_DIR}/slideshow/slides.dat" g4wihelp::slide_show /NOUNLOAD /CCOLOR=0x000000 "/auto=$PLUGINSDIR\Slides\slides.dat" /FIT=WIDTH SetDetailsPrint both SetOutPath "$INSTDIR" # END MSI IGNORE # Uninstall an old version if found. ClearErrors ReadRegStr $0 SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\GPG4Win" "DisplayVersion" IfErrors skip_uninst 0 StrCmp $0 "" skip_uninst DetailPrint "$(T_UninstallingOldVersion)$0" ReadRegStr $0 SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\GPG4Win" "UninstallString" IfErrors skip_uninst 0 ReadRegStr $1 SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\GPG4Win" "InstallLocation" IfErrors skip_uninst 0 ExecWait '$0 /S /UPDATE=1 _?=$1' # Deleting here does not work? StrCpy $is_update "1" Delete /REBOOTOK "$1\gpg4win-uninstall.exe" RmDir "$1" SetOutPath "$INSTDIR\share\gpg4win" skip_uninst: SetOutPath "$INSTDIR\share\gpg4win" File "${BUILD_DIR}/README.en.txt" File "${BUILD_DIR}/README.de.txt" # BEGIN MSI IGNORE File /oname=README.ar.txt "${BUILD_DIR}/README.en.txt" File /oname=README.cz.txt "${BUILD_DIR}/README.en.txt" File /oname=README.es.txt "${BUILD_DIR}/README.en.txt" File /oname=README.fr.txt "${BUILD_DIR}/README.en.txt" File /oname=README.it.txt "${BUILD_DIR}/README.en.txt" File /oname=README.no.txt "${BUILD_DIR}/README.en.txt" File /oname=README.pt.txt "${BUILD_DIR}/README.en.txt" File /oname=README.ru.txt "${BUILD_DIR}/README.en.txt" File /oname=README.zh_CN.txt "${BUILD_DIR}/README.zh.txt" File /oname=README.zh_TW.txt "${BUILD_DIR}/README.zh.txt" # END MSI IGNORE File "${BUILD_DIR}/HOWTO-SMIME.en.txt" File "${BUILD_DIR}/HOWTO-SMIME.de.txt" File "${BUILD_DIR}/versioninfo.txt" # Write a version file. DetailPrint "Opening VERSION file for writing" FileOpen $0 "$INSTDIR\VERSION" w FileWrite $0 "${PRETTY_PACKAGE}-${VERSION}$\r$\n" FileClose $0 DetailPrint "VERSION closed" # BEGIN MSI IGNORE # Register the install directory for Gpg4win suite. WriteRegStr SHCTX "Software\Gpg4win" "Install Directory" $INSTDIR DetailPrint "Saved install directory in the registry" # END MSI IGNORE # We used to determine the language using a Registry entry. # Although we don't want to delete the user's Lang Registry Setting # because he might have have selected a different language than his # default. We delete the global Lang of the installation. DeleteRegValue SHCTX "Software\GNU\GnuPG" "Lang" DetailPrint "Deleted obsolete Lang entry" # This old key is required for GPGee. Please do not use in new # applications. # Note: We don't use it anymore so that gpgme decides what gpg to use # For the new gpg4win we actually use gpg2.exe. # To cope with old installations we actually remove this value. # However we can only remove the SHCTX version not those set by # the user under HKCU. #WriteRegStr SHCTX "Software\GNU\GnuPG" "gpgProgram" "$INSTDIR\gpg.exe" DeleteRegValue SHCTX "Software\GNU\GnuPG" "gpgProgram" DetailPrint "Deleted obsolete gpgProgram value" # Install gpg4win included tools SetOutPath "$INSTDIR\bin" File "${BUILD_DIR}/sha1sum.exe" SetOutPath "$INSTDIR\bin" File "${BUILD_DIR}/sha256sum.exe" File "${BUILD_DIR}/md5sum.exe" File "${BUILD_DIR}/mkportable.exe" # Install the mingw32 runtime libraries. They are stored in the # build directory with a different suffix, so that makensis does not # list symbol names. File /oname=libstdc++-6.dll "${BUILD_DIR}/libstdc++-6.dll-x" File /oname=libgcc_s_sjlj-1.dll "${BUILD_DIR}/libgcc_s_sjlj-1.dll-x" + File /oname=libgcc_s_dw2-1.dll "${BUILD_DIR}/libgcc_s_dw2-1.dll-x" File /oname=libwinpthread-1.dll "${BUILD_DIR}/libwinpthread-1.dll-x" !endif SectionEnd LangString DESC_Menu_gpg4win_readme ${LANG_ENGLISH} \ "General information on Gpg4win" LangString DESC_Menu_gpg4win_howtosmime ${LANG_ENGLISH} \ "Instruction to configure S/MIME" LangString DESC_Menu_gnupg_faq ${LANG_ENGLISH} \ "Show the Frequently Asked Questions document for GnuPG" diff --git a/src/uninst-gpg4win.nsi b/src/uninst-gpg4win.nsi index 73636c05..b9107657 100644 --- a/src/uninst-gpg4win.nsi +++ b/src/uninst-gpg4win.nsi @@ -1,144 +1,145 @@ # uninst-gpg4win.nsi - Hidden uninstaller. -*- coding: latin-1; -*- # Copyright (C) 2005 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 # This is the very last section of the uninstaller. Section "-un.gpg4win" !ifdef SOURCES Delete "gpg4win-${VERSION}.tar.bz2" !else DeleteRegValue SHCTX "Software\GNU\GnuPG" "Install Directory" # Delete gpg4win included tools Delete "$INSTDIR\bin\sha1sum.exe" Delete "$INSTDIR\bin\sha256sum.exe" Delete "$INSTDIR\bin\md5sum.exe" Delete "$INSTDIR\bin\mkportable.exe" # Delete the runtime libaries Delete "$INSTDIR\bin\libstdc++-6.dll" Delete "$INSTDIR\bin\libgcc_s_sjlj-1.dll" + Delete "$INSTDIR\bin\libgcc_s_dw2-1.dll" Delete "$INSTDIR\bin\libwinpthread-1.dll" # Delete standard stuff. Delete "$INSTDIR\share\gpg4win\README.*.txt" Delete "$INSTDIR\share\gpg4win\HOWTO-SMIME.*.txt" Delete "$INSTDIR\share\gpg4win\versioninfo.txt" Delete "$INSTDIR\VERSION" RMDir "$INSTDIR\share\gpg4win" # Remove the locale directories. RMDir "$INSTDIR\share\locale\ar\LC_MESSAGES" RMDir "$INSTDIR\share\locale\ar" RMDir "$INSTDIR\share\locale\be\LC_MESSAGES" RMDir "$INSTDIR\share\locale\be" RMDir "$INSTDIR\share\locale\bg\LC_MESSAGES" RMDir "$INSTDIR\share\locale\bg" RMDir "$INSTDIR\share\locale\ca\LC_MESSAGES" RMDir "$INSTDIR\share\locale\ca" RMDir "$INSTDIR\share\locale\cs\LC_MESSAGES" RMDir "$INSTDIR\share\locale\cs" RMDir "$INSTDIR\share\locale\da\LC_MESSAGES" RMDir "$INSTDIR\share\locale\da" RMDir "$INSTDIR\share\locale\de\LC_MESSAGES" RMDir "$INSTDIR\share\locale\de" RMDir "$INSTDIR\share\locale\el\LC_MESSAGES" RMDir "$INSTDIR\share\locale\el" RMDir "$INSTDIR\share\locale\en@boldquot\LC_MESSAGES" RMDir "$INSTDIR\share\locale\en@boldquot" RMDir "$INSTDIR\share\locale\en@quot\LC_MESSAGES" RMDir "$INSTDIR\share\locale\en@quot" RMDir "$INSTDIR\share\locale\en_GB\LC_MESSAGES" RMDir "$INSTDIR\share\locale\en_GB" RMDir "$INSTDIR\share\locale\eo\LC_MESSAGES" RMDir "$INSTDIR\share\locale\eo" RMDir "$INSTDIR\share\locale\es\LC_MESSAGES" RMDir "$INSTDIR\share\locale\es" RMDir "$INSTDIR\share\locale\et\LC_MESSAGES" RMDir "$INSTDIR\share\locale\et" RMDir "$INSTDIR\share\locale\fi\LC_MESSAGES" RMDir "$INSTDIR\share\locale\fi" RMDir "$INSTDIR\share\locale\fr\LC_MESSAGES" RMDir "$INSTDIR\share\locale\fr" RMDir "$INSTDIR\share\locale\gl\LC_MESSAGES" RMDir "$INSTDIR\share\locale\gl" RMDir "$INSTDIR\share\locale\hu\LC_MESSAGES" RMDir "$INSTDIR\share\locale\hu" RMDir "$INSTDIR\share\locale\id\LC_MESSAGES" RMDir "$INSTDIR\share\locale\id" RMDir "$INSTDIR\share\locale\id_ID\LC_MESSAGES" RMDir "$INSTDIR\share\locale\id_ID" RMDir "$INSTDIR\share\locale\it\LC_MESSAGES" RMDir "$INSTDIR\share\locale\it" RMDir "$INSTDIR\share\locale\ja\LC_MESSAGES" RMDir "$INSTDIR\share\locale\ja" RMDir "$INSTDIR\share\locale\nb\LC_MESSAGES" RMDir "$INSTDIR\share\locale\nb" RMDir "$INSTDIR\share\locale\nl\LC_MESSAGES" RMDir "$INSTDIR\share\locale\nl" RMDir "$INSTDIR\share\locale\pl\LC_MESSAGES" RMDir "$INSTDIR\share\locale\pl" RMDir "$INSTDIR\share\locale\pt_BR\LC_MESSAGES" RMDir "$INSTDIR\share\locale\pt_BR" RMDir "$INSTDIR\share\locale\pt_PT\LC_MESSAGES" RMDir "$INSTDIR\share\locale\pt_PT" RMDir "$INSTDIR\share\locale\pt\LC_MESSAGES" RMDir "$INSTDIR\share\locale\pt" RMDir "$INSTDIR\share\locale\ro\LC_MESSAGES" RMDir "$INSTDIR\share\locale\ro" RMDir "$INSTDIR\share\locale\ru\LC_MESSAGES" RMDir "$INSTDIR\share\locale\ru" RMDir "$INSTDIR\share\locale\sk\LC_MESSAGES" RMDir "$INSTDIR\share\locale\sk" RMDir "$INSTDIR\share\locale\sv\LC_MESSAGES" RMDir "$INSTDIR\share\locale\sv" RMDir "$INSTDIR\share\locale\sr\LC_MESSAGES" RMDir "$INSTDIR\share\locale\sr" RMDir "$INSTDIR\share\locale\tr\LC_MESSAGES" RMDir "$INSTDIR\share\locale\tr" RMDir "$INSTDIR\share\locale\uk\LC_MESSAGES" RMDir "$INSTDIR\share\locale\uk" RMDir "$INSTDIR\share\locale\zh_CN\LC_MESSAGES" RMDir "$INSTDIR\share\locale\zh_CN" RMDir "$INSTDIR\share\locale\zh_TW\LC_MESSAGES" RMDir "$INSTDIR\share\locale\zh_TW" RMDir "$INSTDIR\share\locale" # Try again to remove the scdaemon. This is useful because scdaemon # needs some time to stop after gpg-agent has been stopped. Delete "$INSTDIR\bin\scdaemon.exe" # Try to remove other top directories. RMDir "$INSTDIR\lib" RMDir "$INSTDIR\include" RMDir "$INSTDIR\share" RMDir "$INSTDIR\pub" RMDir "$INSTDIR\etc" RMDir "$INSTDIR\bin" RMDir "$INSTDIR\bin_64" RMDir "$INSTDIR" !endif SectionEnd