[Gpg4win-commits] [git] Gpg4win - branch, kleo-kf5, updated. gpg4win-2.3.0-39-g5ea86a3

by Andre Heinecke cvs at cvs.gnupg.org
Mon Jan 11 14:48:45 CET 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GnuPG for Windows".

The branch, kleo-kf5 has been updated
       via  5ea86a35994c6d5ba4893ebb7825072309cfb85a (commit)
      from  332a134227542d3ab7c082149a271cd5310247a4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 5ea86a35994c6d5ba4893ebb7825072309cfb85a
Author: Andre Heinecke <aheinecke at intevation.de>
Date:   Mon Jan 11 14:39:21 2016 +0100

    Add first KDE Framework and infrastructure for it
    
    This also adds qttools and extra-cmake-modules
    
    * patches/qttools/disable-most-tools.patch: New.
    * Makefile.am (EXTRA_DIST): Add qttools patch.
    * configure.ac: Add new packages.
    * src/toolchain.cmake.in: New. CMake toolchain file.
    * m4/gpg4win.m4 (GPG4WIN_KDEPKG): Add KDE style package support.
    * packages/packages.current: Add qttools, ecm and kconfig.
    * src/Makefile.am (EXTRA_DIST): Add new install files.
     (gpg4win_kdepkgs): New list of kde style packages.
     (gpg4win_pkg_qtbase_post_install): Fix qt post install hack.
     (gpg4win_pkg_qttools_post_install): Hack for qmake brokenness.
    * src/config.nsi.in: Add new package definitions.
    * src/gpg4win.mk.in (DEFLATE_macro): Extract qttools.
     (KDEPKG_template_): New template for CMake / KDE projects.
     (OVERRIDE_QTTOOLS_CONF_TEMPLATE): Hack to avoid qmake templates.
    * src/inst-sections.nsi: Add new sections.
    * src/inst-extra-cmake-modules.nsi,
     src/inst-qttools.nsi,
     src/uninst-extra-cmake-modules.nsi,
     src/uninst-qttools.nsi: New. Only install sources.
    * src/inst-kconfig.nsi,
     src/uninst-kconfig.nsi: New. Install KF5ConfigCore

diff --git a/Makefile.am b/Makefile.am
index ea64ec2..666e571 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -32,7 +32,8 @@ EXTRA_DIST = autogen.sh README.GIT ONEWS \
         patches/qtbase-5.5.1/fix-oci-detect.patch \
         patches/qtbase-5.5.1/fix-syssemaphore.patch \
         patches/qtbase-5.5.1/fix-zlib-link.patch \
-        patches/w32pth-2.0.5/workaround-broken-libtool.patch
+        patches/w32pth-2.0.5/workaround-broken-libtool.patch \
+        patches/qttools/disable-most-tools.patch
 
 copy-news:
 	cp NEWS doc/website/NEWS.last
diff --git a/configure.ac b/configure.ac
index 323a346..19cd684 100644
--- a/configure.ac
+++ b/configure.ac
@@ -341,7 +341,10 @@ GPG4WIN_BPKG_BINSRC([gnupg-w32])
 GPG4WIN_BPKG_GNUWIN32([dbus])
 GPG4WIN_BPKG_BINSRC([oxygen-icons])
 GPG4WIN_SPKG([qtbase], [dbus libpng])
-GPG4WIN_BPKG_BINSRC([kleopatra], [gpgme qtbase oxygen-icons])
+GPG4WIN_SPKG([qttools], [qtbase])
+GPG4WIN_BPKG_BINSRC([kleopatra], [kconfig gpgme qtbase oxygen-icons])
+GPG4WIN_KDEPKG([extra-cmake-modules])
+GPG4WIN_KDEPKG([kconfig], [qtbase qttools extra-cmake-modules])
 
 GPG4WIN_FINALIZE
 
@@ -378,6 +381,7 @@ 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/dictionaries/Makefile)
+AC_CONFIG_FILES(src/toolchain.cmake)
 AC_OUTPUT
 
 # Throw a warning if optional tools are missing
diff --git a/m4/gpg4win.m4 b/m4/gpg4win.m4
index 279e2d6..f3a65d7 100644
--- a/m4/gpg4win.m4
+++ b/m4/gpg4win.m4
@@ -358,6 +358,49 @@ AC_DEFUN([GPG4WIN_SPKGEX],
   )
 ])
 
+# 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.
diff --git a/packages/packages.current b/packages/packages.current
index 623338d..fa00bfd 100644
--- a/packages/packages.current
+++ b/packages/packages.current
@@ -329,6 +329,32 @@ name qtbase-5.5.1.tar.xz
 file 5.5/5.5.1/submodules/qtbase-opensource-src-5.5.1.tar.xz
 chk 0b651543fa013ae151b7a11f0d0dee092050aa3f
 
+# Qt Tools
+# last changed: 2016-01-11
+# by: ah
+# verified: HTTPS https://download.qt.io/official_releases/qt/5.5/5.5.1/submodules/qttools-opensource-src-5.5.1.tar.xz.sha1
+name qttools-5.5.1.tar.xz
+file 5.5/5.5.1/submodules/qttools-opensource-src-5.5.1.tar.xz
+chk f7815165d0b427346028901a42be5f0f47d05962
+
+# KDE libraries
+
+server http://download.kde.org/stable/frameworks/
+
+# ECM
+# last changed: 2016-01-08
+# by: ah
+# verified: https://www.kde.org/info/kde-frameworks-5.17.0.php
+file 5.17/extra-cmake-modules-5.17.0.tar.xz
+chk 8093d72964170246a97e337c259cd4e6f71b627a
+
+# KConfig
+# last changed: 2016-01-08
+# by: ah
+# verified: https://www.kde.org/info/kde-frameworks-5.17.0.php
+file 5.17/kconfig-5.17.0.tar.xz
+chk 1fd4f512e9802ac2c6bf0eb46d99c1264eed5249
+
 #
 # Qt links DBus and Kleopatra / KDE libs needs it
 #
diff --git a/patches/qttools/disable-most-tools.patch b/patches/qttools/disable-most-tools.patch
new file mode 100755
index 0000000..5c4c02e
--- /dev/null
+++ b/patches/qttools/disable-most-tools.patch
@@ -0,0 +1,33 @@
+#! /bin/sh
+patch -p0 -f $* < $0
+exit $?
+
+--- src/src.pro.orig	2016-01-11 12:57:22.989927092 +0100
++++ src/src.pro	2016-01-11 12:57:25.701973152 +0100
+@@ -1,18 +1,5 @@
+ TEMPLATE = subdirs
+
+-qtHaveModule(widgets) {
+-    no-png {
+-        message("Some graphics-related tools are unavailable without PNG support")
+-    } else {
+-        SUBDIRS = assistant \
+-                  pixeltool \
+-                  qtestlib \
+-                  designer
+-
+-        linguist.depends = designer
+-    }
+-}
+-
+ SUBDIRS += linguist \
+     qtplugininfo
+ if(!android|android_app):!ios: SUBDIRS += qtpaths
+@@ -27,7 +14,7 @@
+
+ qtHaveModule(dbus): SUBDIRS += qdbus
+
+-win32|winrt:SUBDIRS += windeployqt
++#win32|winrt:SUBDIRS += windeployqt
+ winrt:SUBDIRS += winrtrunner
+ qtHaveModule(gui):!android:!ios:!qnx:!wince*:!winrt*:SUBDIRS += qtdiag
diff --git a/src/Makefile.am b/src/Makefile.am
index f7bcd87..4c7c207 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -56,11 +56,15 @@ EXTRA_DIST = pkg-config gpg4win.nsi gpg4win-src.nsi \
         inst-pkgconfig.nsi	   uninst-pkgconfig.nsi	      \
         inst-w32pth.nsi		   uninst-w32pth.nsi	      \
         inst-zlib.nsi        	   uninst-zlib.nsi            \
-        inst-qtbase.nsi        	   uninst-qtbase.nsi              \
+        inst-kconfig.nsi        uninst-kconfig.nsi              \
         inst-dbus.nsi   	   uninst-dbus.nsi      \
         inst-oxygen-icons.nsi  	   uninst-oxygen-icons.nsi    \
         inst-kleopatra.nsi  	   uninst-kleopatra.nsi       \
         uninst-claws-mail.nsi uninst-claws-mail-cmds.nsi \
+        inst-qtbase.nsi uninst-qtbase.nsi \
+        inst-kconfig.nsi uninst-kconfig.nsi \
+        inst-qttools.nsi uninst-qttools.nsi \
+        inst-extra-cmake-modules.nsi uninst-extra-cmake-modules.nsi \
         inst-final.nsi
 
 SUBDIRS = dictionaries
@@ -88,7 +92,10 @@ gpg4win_spkgs = glib libffi gdk-pixbuf gtk+ \
 		gpa opencdk \
 		pinentry libassuan \
 		w32pth paperkey regex libiconv gettext \
-		qtbase
+		qtbase qttools
+
+# Source packages following the KDE pattern
+gpg4win_kdepkgs = kconfig extra-cmake-modules
 
 # Supported source packages to build in an additional architecture
 gpg4win_expkgs = libgpg-error libassuan libiconv gettext w32pth gpgex gpgol \
@@ -276,7 +283,16 @@ gpg4win_pkg_qtbase_make_args = \
 # Qmake still writes debug names in pkgconfig files.
 define gpg4win_pkg_qtbase_post_install
  (cd $$$${pkgidir}; \
- perl -pi -e 's/-lQt5\(\w*\)d/-lQt5\1/g' `find . -name \*.pc`)
+ sed -i 's/-lQt5\(\w*\)d/-lQt5\1/g' `find . -name \*.pc`)
+endef
+
+# Qmake does not support setting the installation path.
+# really https://bugreports.qt.io/browse/QTBUG-12341
+define gpg4win_pkg_qttools_post_install
+ (cd $$$${pkgbdir}; \
+  make uninstall; \
+  mkdir $$$${pkgidir}; \
+  cp -r bin lib $$$${pkgidir};)
 endef
 
 # Supported make-only source packages.
diff --git a/src/config.nsi.in b/src/config.nsi.in
index 71840c1..cf48e98 100644
--- a/src/config.nsi.in
+++ b/src/config.nsi.in
@@ -193,6 +193,19 @@
 !define gpg4win_pkg_paperkey @gpg4win_pkg_paperkey@
 !define gpg4win_pkg_paperkey_version @gpg4win_pkg_paperkey_version@
 
+ at HAVE_PKG_KCONFIG@
+!define gpg4win_pkg_kconfig @gpg4win_pkg_kconfig@
+!define gpg4win_pkg_kconfig_version @gpg4win_pkg_kconfig_version@
+
+ at HAVE_PKG_QTTOOLS@
+!define gpg4win_pkg_qttools @gpg4win_pkg_qttools@
+!define gpg4win_pkg_qttools_version @gpg4win_pkg_qttools_version@
+
+ at HAVE_PKG_EXTRA_CMAKE_MODULES@
+!define gpg4win_pkg_extra_cmake_modules @gpg4win_pkg_extra_cmake_modules@
+!define gpg4win_pkg_extra_cmake_modules_version @gpg4win_pkg_extra_cmake_modules_version@
+
+
 # Internal packages.
 @HAVE_PKG_COMPENDIUM@
 
diff --git a/src/gpg4win.mk.in b/src/gpg4win.mk.in
index 6a43013..d9a3936 100644
--- a/src/gpg4win.mk.in
+++ b/src/gpg4win.mk.in
@@ -112,6 +112,8 @@ define DEFLATE_macro
 	case "$(1)" in			\
           */qtbase*.*.tar.xz)          \
             $(TAR) -xJ --transform='s,^qtbase-opensource-src,qtbase,' -f "$(1)" ;; \
+          */qttools*.*.tar.xz)          \
+            $(TAR) -xJ --transform='s,^qttools-opensource-src,qttools,' -f "$(1)" ;; \
 	  *.tar.gz | *.tgz)		\
 	    $(TAR) xzf "$(1)" ;;	\
 	  *.tar.bz2 | *.tbz2 | *.tbz)	\
@@ -474,6 +476,81 @@ HOWTO-$(1).$(2).txt : $(top_srcdir)/doc/HOWTO-$(1).$(2).txt
         | awk '{printf "%s\r\n", $$$$0}' > HOWTO-$(1).$(2).txt
 endef
 
+# Template for source packages of KDE software
+define KDEPKG_template_
+
+pkg_files += $(call GETVAR,gpg4win_pkg_$(1))
+
+stamps/stamp-$(1)-00-unpack: stamps/stamp-directories $(call GETDEPS,$(1))
+	(cd $(bdir);					\
+	 $(call SETVARS,$(1));				\
+	 $(call DEFLATE_macro,$$$${pkg}))
+	touch stamps/stamp-$(1)-00-unpack
+
+stamps/stamp-$(1)-01-patch: stamps/stamp-$(1)-00-unpack
+	(shopt -s nullglob;				\
+	 $(call SETVARS,$(1));				\
+	 for pfile in "$$$${pkgpbdir}"/*.patch "$$$${pkgpdir}"/*.patch ; do  \
+	   (cd "$$$${pkgsdir}"; "$$$${pfile}")		\
+	 done)
+	touch stamps/stamp-$(1)-01-patch
+
+stamps/stamp-$(1)-02-configure: stamps/stamp-$(1)-01-patch
+	($(call SETVARS,$(1));				\
+	 mkdir "$$$${pkgbdir}";				\
+	  cd "$$$${pkgbdir}";				\
+	 cmake 		\
+		-DCMAKE_TOOLCHAIN_FILE=$(abs_top_srcdir)/src/toolchain.cmake \
+		-DCMAKE_INSTALL_PREFIX="$$$${pkgidir}" \
+		-DBUILD_TESTING=False \
+		$$$${pkgcfg} $$$${pkgextracflags} "../$$$${pkg_version}") && \
+	touch stamps/stamp-$(1)-02-configure
+
+stamps/stamp-$(1)-03-make: stamps/stamp-$(1)-02-configure
+	($(call SETVARS,$(1));				\
+	  cd "$$$${pkgbdir}";				\
+	  test -n "$$$${pkgmkdir}" && cd "$$$${pkgmkdir}";	\
+	  $(MAKE) $(AM_MAKEFLAGS) $(GPG4WIN_PARALLEL) $$$${pkgmkargs})
+	touch stamps/stamp-$(1)-03-make
+
+# Note that post_install must come last because it may be empty and
+# "; ;" is a syntax error.
+stamps/stamp-$(1)-04-install: stamps/stamp-$(1)-03-make
+	($(call SETVARS,$(1));				\
+	  cd "$$$${pkgbdir}";				\
+	  cd "$$$${pkgmkdir_inst}";			\
+	  $(MAKE) $(AM_MAKEFLAGS) $$$${pkgmkargs_inst} install; \
+	  $(call STRIP_macro,"$$$${pkgidir}");		\
+	  $(call gpg4win_pkg_$(call FROB_macro,$(1))_post_install))
+	touch stamps/stamp-$(1)-04-install
+
+stamps/stamp-$(1)-05-stow: stamps/stamp-$(1)-04-install
+	($(call SETVARS,$(1));				\
+	 cd $(ipdir);					\
+	 $(STOW) "$$$${pkg_version}")
+	touch stamps/stamp-$(1)-05-stow
+
+stamps/stamp-final-$(1): stamps/stamp-$(1)-05-stow
+	touch stamps/stamp-final-$(1)
+
+.PHONY : clean-$(1)
+clean-$(1):
+	($(call SETVARS,$(1));				\
+	 (cd $(ipdir) &&				\
+	  ($(STOW) -D "$$$${pkg_version}";		\
+	   rm -fR "$$$${pkg_version}"));		\
+	 rm -fR "$$$${pkgsdir}" "$$$${pkgbdir}")
+	rm -f stamps/stamp-final-$(1) stamps/stamp-$(1)-*
+
+endef
+
+define KDEPKG_template
+$(if $(filter-out no, $(call GETVAR,gpg4win_pkg_$(1))),
+  $(call KDEPKG_template_,$1))
+endef
+
+
+
 # Insert the template for each source package.
 $(foreach spkg, $(gpg4win_spkgs), $(eval $(call SPKG_template,$(spkg))))
 
@@ -492,6 +569,9 @@ $(foreach ipkg, $(gpg4win_ipkgs), $(eval $(call IPKG_template,$(ipkg))))
 # Insert the template for the README and HOWTO files.
 $(foreach rll, $(gpg4win_readme_ll), $(eval $(call README_template,$(rll))))
 
+# Insert the template for KDE packages.
+$(foreach kdepkg, $(gpg4win_kdepkgs), $(eval $(call KDEPKG_template,$(kdepkg))))
+
 $(foreach rll, $(gpg4win_howto_smime_ll), \
                $(eval $(call HOWTO_template,SMIME,$(rll))))
 
@@ -515,6 +595,8 @@ clean-gpg4win:
 
 .PHONY : all-gpg4win clean-stamps clean-gpg4win
 
+# TODO find a better way to do this. Like a define thats checked for
+# in the spkg template
 define OVERRIDE_CONF_TEMPLATE
 # Override of the configure rule. For targets that not use
 # autotools configure to have more freedom with the options.
@@ -529,6 +611,20 @@ endef
 
 $(eval $(call OVERRIDE_CONF_TEMPLATE,qtbase))
 
+define OVERRIDE_QTTOOLS_CONF_TEMPLATE
+# Override of the configure rule. For targets that not use
+# autotools configure to have more freedom with the options.
+stamps/stamp-$(1)-02-configure: stamps/stamp-$(1)-01-patch
+	($(call SETVARS,$(1)); \
+	mkdir "$$$${pkgbdir}"; \
+	cd "$$$${pkgbdir}"; \
+	"$(idir)/bin/qmake" ../$$$${pkg_version} CONFIG-="debug debug_and_release" \
+		$$$${pkgcfg}) && \
+	touch stamps/stamp-$(1)-02-configure
+endef
+
+$(eval $(call OVERRIDE_QTTOOLS_CONF_TEMPLATE,qttools))
+
 # @emacs_local_vars_begin@
 # @emacs_local_vars_read_only@
 # @emacs_local_vars_end@
diff --git a/src/inst-extra-cmake-modules.nsi b/src/inst-extra-cmake-modules.nsi
new file mode 100644
index 0000000..cee85c5
--- /dev/null
+++ b/src/inst-extra-cmake-modules.nsi
@@ -0,0 +1,32 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/extra-cmake-modules-${gpg4win_pkg_extra_cmake_modules}
+
+!ifdef DEBUG
+Section "extra_cmake_modules" SEC_extra_cmake_modules
+!else
+Section "-extra_cmake_modules" SEC_extra_cmake_modules
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_extra_cmake_modules}"
+!endif
+SectionEnd
diff --git a/src/inst-kconfig.nsi b/src/inst-kconfig.nsi
new file mode 100644
index 0000000..5939b67
--- /dev/null
+++ b/src/inst-kconfig.nsi
@@ -0,0 +1,35 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/kconfig-${gpg4win_pkg_kconfig_version}
+
+!ifdef DEBUG
+Section "kconfig" SEC_kconfig
+!else
+Section "-kconfig" SEC_kconfig
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_kconfig}"
+!else
+  SetOutPath "$INSTDIR\bin"
+  File ${prefix}/bin/libKF5ConfigCore.dll
+!endif
+SectionEnd
diff --git a/src/inst-qttools.nsi b/src/inst-qttools.nsi
new file mode 100644
index 0000000..14f1d6e
--- /dev/null
+++ b/src/inst-qttools.nsi
@@ -0,0 +1,32 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/qttools-${gpg4win_pkg_qttools_version}
+
+!ifdef DEBUG
+Section "qttools" SEC_qttools
+!else
+Section "-qttools" SEC_qttools
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_qttools}"
+!endif
+SectionEnd
diff --git a/src/inst-sections.nsi b/src/inst-sections.nsi
index 4004cba..fced63a 100644
--- a/src/inst-sections.nsi
+++ b/src/inst-sections.nsi
@@ -101,6 +101,15 @@
 !ifdef HAVE_PKG_GPGME
 !include "inst-gpgme.nsi"
 !endif
+!ifdef HAVE_PKG_QTTOOLS
+!include "inst-qttools.nsi"
+!endif
+!ifdef HAVE_PKG_KCONFIG
+!include "inst-kconfig.nsi"
+!endif
+!ifdef HAVE_PKG_EXTRA_CMAKE_MODULES
+!include "inst-extra-cmake-modules.nsi"
+!endif
 
 # These are displayed in the selection dialog.
 
@@ -260,6 +269,15 @@
 !ifdef HAVE_PKG_DBUS
 !include "uninst-dbus.nsi"
 !endif
+!ifdef HAVE_PKG_QTTOOLS
+!include "uninst-qttools.nsi"
+!endif
+!ifdef HAVE_PKG_KCONFIG
+!include "uninst-kconfig.nsi"
+!endif
+!ifdef HAVE_PKG_EXTRA_CMAKE_MODULES
+!include "uninst-extra-cmake-modules.nsi"
+!endif
 
 !include "uninst-gpg4win.nsi"
 
@@ -484,6 +502,9 @@ Function CalcDepends
 !ifdef HAVE_PKG_OXYGEN_ICONS
   !insertmacro UnselectSection ${SEC_oxygen_icons}
 !endif
+!ifdef HAVE_PKG_KCONFIG
+  !insertmacro UnselectSection ${SEC_kconfig}
+!endif
 
   # Always install gnupg2.  This is also ensured by putting
   # these packages in the RO section and enabling them by default, but
@@ -574,6 +595,9 @@ Function CalcDepends
   have_kleopatra_libs:
   !insertmacro SelectSection ${SEC_qtbase}
   !insertmacro SelectSection ${SEC_oxygen_icons}
+  !insertmacro SelectSection ${SEC_kconfig}
+  !insertmacro SelectSection ${SEC_qttools}
+  !insertmacro SelectSection ${SEC_extra-cmake-modules}
    skip_kleopatra_libs:
 !endif
 
diff --git a/src/toolchain.cmake.in b/src/toolchain.cmake.in
new file mode 100644
index 0000000..f652e56
--- /dev/null
+++ b/src/toolchain.cmake.in
@@ -0,0 +1,37 @@
+# toolchain.cmake.in for GPG4Win
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win
+#
+# GPG4Win is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+
+set(CMAKE_SYSTEM_NAME Windows)
+set(MSYS 1)
+set(BUILD_SHARED_LIBS ON)
+set(LIBTYPE SHARED)
+set(CMAKE_BUILD_TYPE Release)
+set(CMAKE_FIND_ROOT_PATH @abs_top_builddir@/playground/install)
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_C_COMPILER @host at -gcc)
+set(CMAKE_CXX_COMPILER @host at -g++)
+set(CMAKE_Fortran_COMPILER @host at -gfortran)
+set(CMAKE_RC_COMPILER @host at -windres)
+set(HDF5_C_COMPILER_EXECUTABLE @host at -h5cc)
+set(HDF5_CXX_COMPILER_EXECUTABLE @host at -h5c++)
+set(PKG_CONFIG_EXECUTABLE pkg-config)
+set(QT_QMAKE_EXECUTABLE @abs_top_builddir@/plaground/install/bin/qmake)
+set(CMAKE_INSTALL_PREFIX  CACHE PATH "Installation Prefix")
+set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")
diff --git a/src/uninst-extra-cmake-modules.nsi b/src/uninst-extra-cmake-modules.nsi
new file mode 100644
index 0000000..3cddd94
--- /dev/null
+++ b/src/uninst-extra-cmake-modules.nsi
@@ -0,0 +1,29 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/extra_cmake_modules-${gpg4win_pkg_extra_cmake_modules_version}
+
+; Uninstaller section.
+Section "-un.extra_cmake_modules"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_extra_cmake_modules}"
+  Call un.SourceDelete
+!endif
+SectionEnd
diff --git a/src/uninst-kconfig.nsi b/src/uninst-kconfig.nsi
new file mode 100644
index 0000000..1ac7a8d
--- /dev/null
+++ b/src/uninst-kconfig.nsi
@@ -0,0 +1,33 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/kconfig-${gpg4win_pkg_kconfig_version}
+
+; Uninstaller section.
+Section "-un.kconfig"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_kconfig}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\bin\libKF5ConfigCore.dll"
+  RmDir "$INSTDIR\bin"
+
+!endif
+SectionEnd
diff --git a/src/uninst-qttools.nsi b/src/uninst-qttools.nsi
new file mode 100644
index 0000000..73d92f7
--- /dev/null
+++ b/src/uninst-qttools.nsi
@@ -0,0 +1,29 @@
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of GPG4Win.
+#
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/qttools-${gpg4win_pkg_qttools_version}
+
+; Uninstaller section.
+Section "-un.qttools"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_qttools}"
+  Call un.SourceDelete
+!endif
+SectionEnd

-----------------------------------------------------------------------

Summary of changes:
 Makefile.am                                        |  3 +-
 configure.ac                                       |  6 +-
 m4/gpg4win.m4                                      | 43 ++++++++++
 packages/packages.current                          | 26 ++++++
 patches/qttools/disable-most-tools.patch           | 33 ++++++++
 src/Makefile.am                                    | 22 ++++-
 src/config.nsi.in                                  | 13 +++
 src/gpg4win.mk.in                                  | 96 ++++++++++++++++++++++
 ...-pkgconfig.nsi => inst-extra-cmake-modules.nsi} | 22 ++---
 src/{inst-libffi.nsi => inst-kconfig.nsi}          | 14 ++--
 src/{inst-pkgconfig.nsi => inst-qttools.nsi}       | 22 ++---
 src/inst-sections.nsi                              | 24 ++++++
 src/toolchain.cmake.in                             | 37 +++++++++
 ...kgconfig.nsi => uninst-extra-cmake-modules.nsi} | 21 ++---
 src/{uninst-pkgconfig.nsi => uninst-kconfig.nsi}   | 23 +++---
 src/{uninst-pkgconfig.nsi => uninst-qttools.nsi}   | 21 ++---
 16 files changed, 349 insertions(+), 77 deletions(-)
 create mode 100755 patches/qttools/disable-most-tools.patch
 copy src/{inst-pkgconfig.nsi => inst-extra-cmake-modules.nsi} (73%)
 copy src/{inst-libffi.nsi => inst-kconfig.nsi} (75%)
 copy src/{inst-pkgconfig.nsi => inst-qttools.nsi} (73%)
 create mode 100644 src/toolchain.cmake.in
 copy src/{uninst-pkgconfig.nsi => uninst-extra-cmake-modules.nsi} (76%)
 copy src/{uninst-pkgconfig.nsi => uninst-kconfig.nsi} (76%)
 copy src/{uninst-pkgconfig.nsi => uninst-qttools.nsi} (76%)


hooks/post-receive
-- 
GnuPG for Windows
http://git.gnupg.org



More information about the Gpg4win-commits mailing list