Add boost, gpgmepp and build qt uitools
authorAndre Heinecke <aheinecke@intevation.de>
Thu, 21 Jan 2016 17:00:59 +0000 (18:00 +0100)
committerAndre Heinecke <aheinecke@intevation.de>
Thu, 21 Jan 2016 17:00:59 +0000 (18:00 +0100)
* patches/boost/boost-1-fixes.patch,
 patches/gpgmepp/0001-Remove-uneccessary-dependency-to-KDEWIN.patch,
 patches/gpgmepp/0002-disable-variants.patch,
 src/inst-boost.nsi,
 src/inst-gpgmepp.nsi,
 src/uninst-boost.nsi,
 src/uninst-gpgmepp.nsi: New.
* Makefile.am (EXTRA_DIST): Add patches.
* configure.ac: Add gpgmepp, boost. Fix kwidgetsaddon dependencies.
* packages/packages.current: Add boost and gpgmepp.
* patches/qttools/disable-most-tools: Renable qt uitools.
* src/config.nsi.in: Updat for new packages.
* src/gpg4win.mk.in: Add configure override for boost.
* src/toolchain.cmake.in: Fix Root path location.

16 files changed:
Makefile.am
configure.ac
packages/packages.current
patches/boost/boost-1-fixes.patch [new file with mode: 0755]
patches/gpgmepp/0001-Remove-uneccessary-dependency-to-KDEWIN.patch [new file with mode: 0755]
patches/gpgmepp/0002-disable-variants.patch [new file with mode: 0755]
patches/qttools/disable-most-tools.patch
src/Makefile.am
src/config.nsi.in
src/gpg4win.mk.in
src/inst-boost.nsi [new file with mode: 0644]
src/inst-gpgmepp.nsi [new file with mode: 0644]
src/inst-sections.nsi
src/toolchain.cmake.in
src/uninst-boost.nsi [new file with mode: 0644]
src/uninst-gpgmepp.nsi [new file with mode: 0644]

index f15d0f9..4abcb50 100644 (file)
@@ -34,7 +34,9 @@ EXTRA_DIST = autogen.sh README.GIT ONEWS \
         patches/qtbase-5.5.1/fix-zlib-link.patch \
         patches/w32pth-2.0.5/workaround-broken-libtool.patch \
         patches/qttools/disable-most-tools.patch \
-        patches/ki18n/no-tests.patch
+        patches/ki18n/no-tests.patch \
+        patches/gpgmepp/0001-Remove-uneccessary-dependency-to-KDEWIN.patch \
+        patches/gpgmepp/0001-disable-variants.patch
 
 copy-news:
        cp NEWS doc/website/NEWS.last
index cf65cd3..df97d6c 100644 (file)
@@ -343,11 +343,13 @@ GPG4WIN_BPKG_GNUWIN32([dbus])
 GPG4WIN_BPKG_BINSRC([oxygen-icons])
 GPG4WIN_SPKG([qtbase], [dbus libpng])
 GPG4WIN_SPKG([qttools], [qtbase])
+GPG4WIN_SPKG([boost], [expat zlib bzip2])
 GPG4WIN_BPKG_BINSRC([kleopatra], [kconfig gpgme qtbase oxygen-icons])
 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 qtbase])
+GPG4WIN_KDEPKG([gpgmepp], [boost qtbase gpgme extra-cmake-modules])
+GPG4WIN_KDEPKG([kwidgetsaddons], [kconfig qttools qtbase])
 
 GPG4WIN_FINALIZE
 
index 64eb338..8b5f4cf 100644 (file)
@@ -328,6 +328,17 @@ chk  16af56d0e7bdf081d60c59ea4d72e7df6d9cec21
 #  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 7f56ab507d3258610391b47fef6b11635861175a
+
 # Qt base
 # last changed: 2016-01-05
 # by: ah
@@ -379,6 +390,17 @@ chk 270dd1195af0b84f9d6b264ca2df2fe17ac29140
 file 5.17/kwidgetsaddons-5.17.0.tar.xz
 chk a9923ececfcc7d270c654f43797fa88c774337d3
 
+# KDE Applications
+
+server http://download.kde.org/stable/applications/
+
+# Gpgmepp
+# last changed: 2016-01-21
+# by: ah
+# verified: https://www.kde.org/info/applications-15.12.1.php
+file 15.12.1/src/gpgmepp-15.12.1.tar.xz
+chk 56d5f05bd513efc6caf770e43b6109e42842198f
+
 #
 # Qt links DBus and Kleopatra / KDE libs needs it
 #
diff --git a/patches/boost/boost-1-fixes.patch b/patches/boost/boost-1-fixes.patch
new file mode 100755 (executable)
index 0000000..7d8cbab
--- /dev/null
@@ -0,0 +1,55 @@
+#! /bin/sh
+patch -p1 -f $* < $0
+exit $?
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: xantares <xantares09@hotmail.com>
+Date: Mon, 28 Sep 2015 08:21:42 +0000
+Subject: [PATCH] Fix {make,jump}_fcontext visibility with mingw
+
+taken from: https://github.com/boostorg/context/pull/22
+
+diff --git a/libs/context/src/asm/jump_i386_ms_pe_gas.asm b/src/asm/jump_i386_ms_pe_gas.asm
+index 1111111..2222222 100644
+--- a/libs/context/src/asm/jump_i386_ms_pe_gas.asm
++++ b/libs/context/src/asm/jump_i386_ms_pe_gas.asm
+@@ -138,3 +138,6 @@ _jump_fcontext:
+
+     /* indirect jump to context */
+     jmp  *%edx
++
++.section .drectve
++.ascii " -export:\"jump_fcontext\""
+diff --git a/libs/context/src/asm/jump_x86_64_ms_pe_gas.asm b/src/asm/jump_x86_64_ms_pe_gas.asm
+index 1111111..2222222 100644
+--- a/libs/context/src/asm/jump_x86_64_ms_pe_gas.asm
++++ b/libs/context/src/asm/jump_x86_64_ms_pe_gas.asm
+@@ -223,3 +223,6 @@ jump_fcontext:
+     /* indirect jump to context */
+     jmp  *%r10
+ .seh_endproc
++
++.section .drectve
++.ascii " -export:\"jump_fcontext\""
+diff --git a/libs/context/src/asm/make_i386_ms_pe_gas.asm b/src/asm/make_i386_ms_pe_gas.asm
+index 1111111..2222222 100644
+--- a/libs/context/src/asm/make_i386_ms_pe_gas.asm
++++ b/libs/context/src/asm/make_i386_ms_pe_gas.asm
+@@ -122,3 +122,6 @@ finish:
+     hlt
+
+ .def  __exit; .scl    2;      .type   32;     .endef  /* standard C library function */
++
++.section .drectve
++.ascii " -export:\"make_fcontext\""
+diff --git a/libs/context/src/asm/make_x86_64_ms_pe_gas.asm b/src/asm/make_x86_64_ms_pe_gas.asm
+index 1111111..2222222 100644
+--- a/libs/context/src/asm/make_x86_64_ms_pe_gas.asm
++++ b/libs/context/src/asm/make_x86_64_ms_pe_gas.asm
+@@ -149,3 +149,6 @@ finish:
+ .seh_endproc
+
+ .def  _exit;  .scl    2;      .type   32;     .endef  /* standard C library function */
++
++.section .drectve
++.ascii " -export:\"make_fcontext\""
diff --git a/patches/gpgmepp/0001-Remove-uneccessary-dependency-to-KDEWIN.patch b/patches/gpgmepp/0001-Remove-uneccessary-dependency-to-KDEWIN.patch
new file mode 100755 (executable)
index 0000000..a0a4749
--- /dev/null
@@ -0,0 +1,52 @@
+#! /bin/sh
+patch -p1 -f $* < $0
+exit $?
+
+From 88ffbec2863509cb687c0d40e8dded2ba9cf1b5c Mon Sep 17 00:00:00 2001
+From: Andre Heinecke <aheinecke@intevation.de>
+Date: Thu, 21 Jan 2016 17:34:57 +0100
+Subject: [PATCH] Remove uneccessary dependency to KDEWIN
+
+There was already a question in FindGpgme.cmake if KDEWIN
+is actually used. Turns out it's not. At least with mingw-3
+on debian jessie you can compile gpgmepp withoug KDEWIN.
+---
+ CMakeLists.txt        | 5 -----
+ cmake/FindGpgme.cmake | 6 ------
+ 2 files changed, 11 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8986f78..35f6221 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -37,11 +37,6 @@ set_package_properties(Gpgme PROPERTIES
+ )
+
+ find_package(Boost REQUIRED)
+-if(WIN32)
+-    find_package(KDEWin REQUIRED)
+-    INCLUDE_DIRECTORIES(${KDEWIN_INCLUDES})
+-    LINK_LIBRARIES(${KDEWIN_LIBRARIES})
+-endif()
+
+ ########### CMake Config Files ###########
+ set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Gpgmepp")
+diff --git a/cmake/FindGpgme.cmake b/cmake/FindGpgme.cmake
+index 9db4e50..c5f8470 100644
+--- a/cmake/FindGpgme.cmake
++++ b/cmake/FindGpgme.cmake
+@@ -87,12 +87,6 @@ if ( WIN32 )
+
+   else()
+
+-    # is this needed, of just unreflected cut'n'paste?
+-    # this isn't a KDE library, after all!
+-    if( NOT KDEWIN_FOUND )
+-      find_package( KDEWIN REQUIRED )
+-    endif()
+-
+     set( GPGME_FOUND         false )
+     set( GPGME_VANILLA_FOUND false )
+     set( GPGME_GLIB_FOUND    false )
+--
+2.1.4
diff --git a/patches/gpgmepp/0002-disable-variants.patch b/patches/gpgmepp/0002-disable-variants.patch
new file mode 100755 (executable)
index 0000000..3346a71
--- /dev/null
@@ -0,0 +1,66 @@
+#! /bin/sh
+patch -p1 -f $* < $0
+exit $?
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1c3335a..eb1dd3a 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -75,58 +75,6 @@ if ( GPGME_VANILLA_FOUND )
+
+ endif()
+
+-if ( GPGME_GLIB_FOUND )
+-   add_library(KF5Gpgmepp-glib ${gpgme_LIB_SRCS} context_glib.cpp)
+-
+-   generate_export_header(KF5Gpgmepp-glib BASE_NAME gpgmepp-glib)
+-
+-   add_library(KF5::Gpgmepp-glib ALIAS KF5Gpgmepp-glib)
+-
+-   target_link_libraries(KF5Gpgmepp-glib
+-      ${GPGME_GLIB_LIBRARIES}
+-      Qt5::Core
+-   )
+-
+-   target_include_directories(KF5Gpgmepp-glib INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/gpgme++>")
+-   target_include_directories(KF5Gpgmepp-glib PUBLIC "$<BUILD_INTERFACE:${Gpgmepp_SOURCE_DIR}/src;${Gpgmepp_BINARY_DIR}/src>")
+-
+-   set_target_properties(KF5Gpgmepp-glib PROPERTIES
+-      VERSION ${GPGMEPP_VERSION_STRING}
+-      SOVERSION ${GPGMEPP_SOVERSION}
+-      EXPORT_NAME Gpgmepp-glib
+-   )
+-   install(TARGETS KF5Gpgmepp-glib EXPORT KF5GpgmeppTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
+-endif()
+-
+-
+-if ( GPGME_QT_FOUND )
+-   add_library(KF5Gpgmepp-qt ${gpgme_LIB_SRCS} context_qt.cpp)
+-
+-   generate_export_header(KF5Gpgmepp-qt BASE_NAME gpgmepp-qt)
+-
+-   add_library(KF5::Gpgmepp-qt ALIAS KF5Gpgmepp-qt)
+-
+-   target_link_libraries(KF5Gpgmepp-qt
+-      ${GPGME_QT_LIBRARIES}
+-      Qt5::Core
+-   )
+-
+-   target_include_directories(KF5Gpgmepp-qt INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/gpgme++>")
+-   target_include_directories(KF5Gpgmepp-qt PUBLIC "$<BUILD_INTERFACE:${Gpgmepp_SOURCE_DIR}/src;${Gpgmepp_BINARY_DIR}/src>")
+-
+-   if(WIN32)
+-      target_link_libraries( gpgmepp-qt ${GPGME_VANILLA_LIBRARIES} )
+-   endif()
+-
+-   set_target_properties(KF5Gpgmepp-qt PROPERTIES
+-      VERSION ${GPGMEPP_VERSION_STRING}
+-      SOVERSION ${GPGMEPP_SOVERSION}
+-      EXPORT_NAME Gpgmepp-qt
+-   )
+-   install(TARGETS KF5Gpgmepp-qt EXPORT KF5GpgmeppTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
+-endif()
+-
+-
+ if ( GPGME_PTHREAD_FOUND )
+    add_library(KF5Gpgmepp-pthread ${gpgme_LIB_SRCS} context_vanilla.cpp)
index 5c4c02e..9e7b212 100755 (executable)
@@ -4,25 +4,6 @@ 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
index 184afc8..6341bd7 100644 (file)
@@ -64,8 +64,10 @@ EXTRA_DIST = pkg-config gpg4win.nsi gpg4win-src.nsi \
         uninst-claws-mail.nsi uninst-claws-mail-cmds.nsi \
         inst-qtbase.nsi uninst-qtbase.nsi \
         inst-ki18n.nsi uninst-ki18n.nsi \
+        inst-gpgmepp.nsi uninst-gpgmepp.nsi \
         inst-kwidgetsaddons.nsi uninst-kwidgetsaddons.nsi \
         inst-qttools.nsi uninst-qttools.nsi \
+        inst-boost.nsi uninst-boost.nsi \
         inst-extra-cmake-modules.nsi uninst-extra-cmake-modules.nsi \
         inst-final.nsi
 
@@ -94,10 +96,10 @@ gpg4win_spkgs = glib libffi gdk-pixbuf gtk+ \
                gpa opencdk \
                pinentry libassuan \
                w32pth paperkey regex libiconv gettext \
-               qtbase qttools
+               qtbase qttools boost
 
 # Source packages following the KDE pattern
-gpg4win_kdepkgs = kconfig kwidgetsaddons ki18n extra-cmake-modules
+gpg4win_kdepkgs = kconfig kwidgetsaddons gpgmepp ki18n extra-cmake-modules
 
 # Supported source packages to build in an additional architecture
 gpg4win_expkgs = libgpg-error libassuan libiconv gettext w32pth gpgex gpgol \
@@ -245,10 +247,6 @@ gpg4win_pkg_gpgex_configure = --silent \
 
 gpg4win_pkg_paperkey_configure = --silent
 
-gpg4win_pkg_ki18n_configure = -DBUILD_WITH_QTSCRIPT=OFF \
-  -DLibIntl_INCLUDE_DIRS='$(idir)/include' \
-  -DLibIntl_LIBRARIES='$(idir)/lib/libintl.dll.a'
-
 gpg4win_pkg_qtbase_configure = -opensource \
             -confirm-license \
             -xplatform win32-g++ \
@@ -298,7 +296,7 @@ define gpg4win_pkg_qttools_post_install
  (cd $$$${pkgbdir}; \
   make uninstall; \
   mkdir $$$${pkgidir}; \
-  cp -r bin lib $$$${pkgidir};)
+  cp -r bin lib include $$$${pkgidir};)
 endef
 
 # Supported make-only source packages.
index 6d795b8..29ffcfd 100644 (file)
 !define gpg4win_pkg_kwidgetsaddons @gpg4win_pkg_kwidgetsaddons@
 !define gpg4win_pkg_kwidgetsaddons_version @gpg4win_pkg_kwidgetsaddons_version@
 
+@HAVE_PKG_GPGMEPP@
+!define gpg4win_pkg_gpgmepp @gpg4win_pkg_gpgmepp@
+!define gpg4win_pkg_gpgmepp_version @gpg4win_pkg_gpgmepp_version@
+
+@HAVE_PKG_BOOST@
+!define gpg4win_pkg_boost @gpg4win_pkg_boost@
+!define gpg4win_pkg_boost_version @gpg4win_pkg_boost_version@
+
 # Internal packages.
 @HAVE_PKG_COMPENDIUM@
 
index d9a3936..45f891c 100644 (file)
@@ -114,6 +114,8 @@ define DEFLATE_macro
             $(TAR) -xJ --transform='s,^qtbase-opensource-src,qtbase,' -f "$(1)" ;; \
           */qttools*.*.tar.xz)          \
             $(TAR) -xJ --transform='s,^qttools-opensource-src,qttools,' -f "$(1)" ;; \
+          */boost*.*.tar.bz2)          \
+            $(TAR) -xj --transform='s,^boost_1_60_0,boost-1.60.0,' -f "$(1)" ;; \
          *.tar.gz | *.tgz)             \
            $(TAR) xzf "$(1)" ;;        \
          *.tar.bz2 | *.tbz2 | *.tbz)   \
@@ -500,8 +502,9 @@ stamps/stamp-$(1)-02-configure: stamps/stamp-$(1)-01-patch
         mkdir "$$$${pkgbdir}";                         \
          cd "$$$${pkgbdir}";                           \
         cmake          \
-               -DCMAKE_TOOLCHAIN_FILE=$(abs_top_srcdir)/src/toolchain.cmake \
                -DCMAKE_INSTALL_PREFIX="$$$${pkgidir}" \
+               -DCMAKE_PREFIX_PATH="$$$${pkgidir}" \
+               -DCMAKE_TOOLCHAIN_FILE=$(abs_top_srcdir)/src/toolchain.cmake \
                -DBUILD_TESTING=False \
                $$$${pkgcfg} $$$${pkgextracflags} "../$$$${pkg_version}") && \
        touch stamps/stamp-$(1)-02-configure
@@ -625,6 +628,51 @@ endef
 
 $(eval $(call OVERRIDE_QTTOOLS_CONF_TEMPLATE,qttools))
 
+define OVERRIDE_BOOST_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)); \
+       cd $$$${pkgsdir}/tools/build/; \
+       ./bootstrap.sh; \
+       cd $$$${pkgsdir}; \
+       echo "using gcc : mxe : $(host)-g++ : <rc>$(host)-windres <archiver>$(host)-ar <ranlib>$(host)-ranlib ;" > "user-config.jam"; \
+       ./tools/build/b2 \
+        -a \
+        -q \
+        '$(GPG4WIN_PARALLEL)' \
+        --ignore-site-config \
+        --user-config=user-config.jam \
+        abi=ms \
+        address-model=32 \
+        architecture=x86 \
+        binary-format=pe \
+        link=shared \
+        target-os=windows \
+        threadapi=win32 \
+        threading=multi \
+        variant=release \
+        toolset=gcc-mxe \
+        --layout=tagged \
+        --disable-icu \
+        --without-mpi \
+        --without-python \
+        --prefix=$$$${pkgidir} \
+        --exec-prefix=$$$${pkgidir}/bin \
+        --libdir=$$$${pkgidir}/lib \
+        --includedir=$$$${pkgidir}/include \
+        -sEXPAT_INCLUDE='$(idir)/include' \
+        -sEXPAT_LIBPATH='$(idir)/lib' \
+        -sBZIP2_INCLUDE='$(idir)/include' \
+        -sBZIP2_LIBPATH='$(idir)/lib' \
+        install) && \
+        touch stamps/stamp-$(1)-02-configure && \
+        touch stamps/stamp-$(1)-03-make && \
+        touch stamps/stamp-$(1)-04-install
+endef
+
+$(eval $(call OVERRIDE_BOOST_CONF_TEMPLATE,boost))
+
 # @emacs_local_vars_begin@
 # @emacs_local_vars_read_only@
 # @emacs_local_vars_end@
diff --git a/src/inst-boost.nsi b/src/inst-boost.nsi
new file mode 100644 (file)
index 0000000..e51c9e4
--- /dev/null
@@ -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}/boost-${gpg4win_pkg_boost_version}
+
+!ifdef DEBUG
+Section "boost" SEC_boost
+!else
+Section "-boost" SEC_boost
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_boost}"
+!else
+  SetOutPath "$INSTDIR\bin"
+# TODO Check whats actually needed
+!endif
+SectionEnd
diff --git a/src/inst-gpgmepp.nsi b/src/inst-gpgmepp.nsi
new file mode 100644 (file)
index 0000000..9b80869
--- /dev/null
@@ -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}/gpgmepp-${gpg4win_pkg_gpgmepp_version}
+
+!ifdef DEBUG
+Section "gpgmepp" SEC_gpgmepp
+!else
+Section "-gpgmepp" SEC_gpgmepp
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_gpgmepp}"
+!else
+  SetOutPath "$INSTDIR\bin"
+  File ${prefix}/bin/libKF5Gpgmepp.dll
+!endif
+SectionEnd
index 55f0678..a4dc3aa 100644 (file)
 !ifdef HAVE_PKG_QTTOOLS
 !include "inst-qttools.nsi"
 !endif
+!ifdef HAVE_PKG_BOOST
+!include "inst-boost.nsi"
+!endif
 !ifdef HAVE_PKG_KCONFIG
 !include "inst-kconfig.nsi"
 !endif
 !ifdef HAVE_PKG_KI18N
 !include "inst-ki18n.nsi"
 !endif
+!ifdef HAVE_PKG_GPGMEPP
+!include "inst-gpgmepp.nsi"
+!endif
 !ifdef HAVE_PKG_KWIDGETSADDONS
 !include "inst-kwidgetsaddons.nsi"
 !endif
 !ifdef HAVE_PKG_QTTOOLS
 !include "uninst-qttools.nsi"
 !endif
+!ifdef HAVE_PKG_BOOST
+!include "uninst-boost.nsi"
+!endif
 !ifdef HAVE_PKG_KCONFIG
 !include "uninst-kconfig.nsi"
 !endif
 !ifdef HAVE_PKG_KI18N
 !include "uninst-ki18n.nsi"
 !endif
+!ifdef HAVE_PKG_GPGMEPP
+!include "uninst-gpgmepp.nsi"
+!endif
 !ifdef HAVE_PKG_KWIDGETSADDONS
 !include "uninst-kwidgetsaddons.nsi"
 !endif
@@ -529,6 +541,9 @@ Function CalcDepends
 !ifdef HAVE_PKG_KI18N
   !insertmacro UnselectSection ${SEC_ki18n}
 !endif
+!ifdef HAVE_PKG_GPGMEPP
+  !insertmacro UnselectSection ${SEC_gpgmepp}
+!endif
 !ifdef HAVE_PKG_KWIDGETSADDONS
   !insertmacro UnselectSection ${SEC_kwidgetsaddons}
 !endif
@@ -624,8 +639,10 @@ Function CalcDepends
   !insertmacro SelectSection ${SEC_oxygen_icons}
   !insertmacro SelectSection ${SEC_kconfig}
   !insertmacro SelectSection ${SEC_ki18n}
+  !insertmacro SelectSection ${SEC_gpgmepp}
   !insertmacro SelectSection ${SEC_kwidgetsaddons}
   !insertmacro SelectSection ${SEC_qttools}
+  !insertmacro SelectSection ${SEC_boost}
   !insertmacro SelectSection ${SEC_extra-cmake-modules}
    skip_kleopatra_libs:
 !endif
index f652e56..4260651 100644 (file)
@@ -21,7 +21,7 @@ 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 @abs_top_builddir@/src/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)
@@ -32,6 +32,6 @@ set(CMAKE_RC_COMPILER @host@-windres)
 set(HDF5_C_COMPILER_EXECUTABLE @host@-h5cc)
 set(HDF5_CXX_COMPILER_EXECUTABLE @host@-h5c++)
 set(PKG_CONFIG_EXECUTABLE pkg-config)
-set(QT_QMAKE_EXECUTABLE @abs_top_builddir@/plaground/install/bin/qmake)
+set(QT_QMAKE_EXECUTABLE @abs_top_builddir@/src/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-boost.nsi b/src/uninst-boost.nsi
new file mode 100644 (file)
index 0000000..2acda64
--- /dev/null
@@ -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}/boost-${gpg4win_pkg_boost_version}
+
+; Uninstaller section.
+Section "-un.boost"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_boost}"
+  Call un.SourceDelete
+!else
+# TODO Check whats actually needed
+  RmDir "$INSTDIR\bin"
+
+!endif
+SectionEnd
diff --git a/src/uninst-gpgmepp.nsi b/src/uninst-gpgmepp.nsi
new file mode 100644 (file)
index 0000000..97bd0d2
--- /dev/null
@@ -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}/gpgmepp-${gpg4win_pkg_gpgmepp_version}
+
+; Uninstaller section.
+Section "-un.gpgmepp"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_gpgmepp}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\bin\libKF5Gpgmepp.dll"
+  RmDir "$INSTDIR\bin"
+
+!endif
+SectionEnd