2007-09-24 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Mon, 24 Sep 2007 16:08:38 +0000 (16:08 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Mon, 24 Sep 2007 16:08:38 +0000 (16:08 +0000)
* src/Makefile.am (EXTRA_DIST): Add inst-kdesupport.nsi and
src/uninst-kdesupport.nsi.
(gpg4win_bpkgs): Add kdesupport.
(gpg4win_pkg_kdesupport_post_install): New macro.
* src/inst-kdesupport.nsi, src/uninst-kdesupport.nsi: New files.
* src/inst-sections.nsi: Add kdesupport (also as a dependency for
Qt).
* packages/packages.current: Add kdesupport.
* include/config.nsi.in: Add macros for kdesupport.
* configure.ac: Check for kdesupport.  Make qt dependent on it.

ChangeLog
configure.ac
include/config.nsi.in
packages/packages.current
src/Makefile.am
src/inst-kdesupport.nsi [new file with mode: 0644]
src/inst-sections.nsi
src/uninst-kdesupport.nsi [new file with mode: 0644]

index 782f03e..29eab37 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2007-09-24  Marcus Brinkmann  <marcus@g10code.de>
 
+       * src/Makefile.am (EXTRA_DIST): Add inst-kdesupport.nsi and
+       src/uninst-kdesupport.nsi.
+       (gpg4win_bpkgs): Add kdesupport.
+       (gpg4win_pkg_kdesupport_post_install): New macro.
+       * src/inst-kdesupport.nsi, src/uninst-kdesupport.nsi: New files.
+       * src/inst-sections.nsi: Add kdesupport (also as a dependency for
+       Qt).
+       * packages/packages.current: Add kdesupport.
+       * include/config.nsi.in: Add macros for kdesupport.
+       * configure.ac: Check for kdesupport.  Make qt dependent on it.
+
        * configure.ac: Check for mingwm10.dll.
        * src/gpg4win.mk.in: Fix clean-PKG for binary packages.
        * src/inst-qt.nsi: Install QtDBus4.dll.  Do not install debug and
index 48c4535..9223a9e 100644 (file)
@@ -214,7 +214,8 @@ GPG4WIN_IPKG([man_novice_en])
 #GPG4WIN_IPKG([man_advanced_en])
 
 # Qt related stuff.
-GPG4WIN_BPKG_GNUWIN32([qt])
+GPG4WIN_BPKG_GNUWIN32([kdesupport])
+GPG4WIN_BPKG_GNUWIN32([qt], [kdesupport])
 
 GPG4WIN_FINALIZE
 
index 573a10b..33f0dd1 100644 (file)
 !define gpg4win_pkg_qt_dev @gpg4win_pkg_qt_dev@
 !define gpg4win_pkg_qt_src @gpg4win_pkg_qt_src@
 
+@HAVE_PKG_KDESUPPORT@
+!define gpg4win_pkg_kdesupport @gpg4win_pkg_kdesupport@
+!define gpg4win_pkg_kdesupport_version @gpg4win_pkg_kdesupport_version@
+!define gpg4win_pkg_kdesupport_dev @gpg4win_pkg_kdesupport_dev@
+!define gpg4win_pkg_kdesupport_src @gpg4win_pkg_kdesupport_src@
+
 # Internal packages.
 @HAVE_PKG_MAN_NOVICE_DE@
 
index 46ab56e..de7c59a 100644 (file)
@@ -294,3 +294,21 @@ server ftp://ftp.trolltech.com/pub/qt/source
 name qt-4.3.1-2-src.zip
 file qt-win-opensource-src-4.3.1.zip
 chk 7dcdaafe5ab451b1bc9af0e5db080e7b5d484732
+
+#
+# Qt contains DBus and thus depends on kdesupport, which is a random
+# collection of libraries.
+#
+
+server ftp://ftp.kdab.net/pub/gpg4win
+
+file kdesupport-4.0.0-2-bin.zip
+chk 03514b4007a0b7edbed2dd5157d60be11009745c
+
+# FIXME: This does not actually contain the development files, but
+# further binary files we need.
+file kdesupport-4.0.0-2-lib.zip
+chk 78a5d914fa232e85dddd26ef102d6b309111037f
+
+file kdesupport-4.0.0-2-src.zip
+chk 40318619764a5c0ae9aa3796a6f33155d0a90c0d
index 99e3e26..2e21b34 100644 (file)
@@ -60,6 +60,7 @@ EXTRA_DIST = pkg-config gpg4win.nsi gpg4win-src.nsi config.site \
         inst-winpt.nsi            uninst-winpt.nsi           \
         inst-zlib.nsi             uninst-zlib.nsi            \
         inst-qt.nsi               uninst-qt.nsi              \
+        inst-kdesupport.nsi       uninst-kdesupport.nsi      \
        inst-bzip2.nsi             uninst-bzip2.nsi           
 
 
@@ -147,7 +148,7 @@ gpg4win_pkg_gnupg2_configure = \
 gpg4win_pkg_pinentry_configure = \
   --disable-pinentry-gtk \
   --disable-pinentry-gtk2 \
-  --disable-pinentry-qt 
+  --disable-pinentry-qt
 
 # The LDFLAGS is needed for -lintl for glib.  The QT4 variables work
 # around the lack of cross compilation support in qt-dev.
@@ -216,7 +217,7 @@ gpg4win_pkg_bzip2_make_args_inst = \
 
 # Supported binary packages.
 gpg4win_bpkgs = libiconv gettext pkgconfig zlib libpng jpeg pango cairo \
-               atk gtk+ gpgee crypt regex qt
+               atk gtk+ gpgee crypt regex qt kdesupport
 
 # libiconv needs some special magic to generate a usable import
 # library.
@@ -301,6 +302,20 @@ define gpg4win_pkg_libpng_post_install
 endef
 
 
+define gpg4win_pkg_libiconv_post_install
+(cp $(srcdir)/libiconv.def $$$${pkgidir}/lib;          \
+cd $$$${pkgidir}/lib;                                  \
+$(DLLTOOL) --output-lib libiconv.dll.a --def libiconv.def)
+endef
+
+
+# kdesupport ships gettext, which we already have.  Remove a stow
+# conflict.
+define gpg4win_pkg_kdesupport_post_install
+(rm -fR "$$$${pkgidir_dev}/share/locale")
+endef
+
+
 # Supported internal packages.  Internal packages do not require any
 # special support.  Thus, this variable is actually unused, and no
 # rules are added in gpg4win.mk.
diff --git a/src/inst-kdesupport.nsi b/src/inst-kdesupport.nsi
new file mode 100644 (file)
index 0000000..2144773
--- /dev/null
@@ -0,0 +1,65 @@
+# inst-kdesupport.nsi - Snioppet for kdesupport.      -*- coding: latin-1; -*-
+# Copyright (C) 2005, 2007 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# 
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/kdesupport-${gpg4win_pkg_kdesupport_version}
+
+!ifdef DEBUG
+Section "kdesupport" SEC_kdesupport
+!else
+Section "-kdesupport" SEC_kdesupport
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_kdesupport_src}"
+!else
+  File ${prefix}/bin/dbus-daemon.exe
+  File ${prefix}/bin/dbus-launch.exe
+  File ${prefix}/bin/dbus-monitor.exe
+  File ${prefix}/bin/dbus-send.exe
+  File ${prefix}/bin/pcregrep.exe
+  File ${prefix}/bin/update-mime-database.exe
+  File ${prefix}/bin/xmlcatalog.exe
+  File ${prefix}/bin/xmllint.exe
+  File ${prefix}/bin/xsltproc.exe
+
+  # FIXME: From the lib package.  This is wrong.
+!undef prefix
+!define prefix ${ipdir}/kdesupport-dev-${gpg4win_pkg_kdesupport_version}
+
+  File ${prefix}/bin/giflib4.dll
+  File ${prefix}/bin/libdbus-1.dll
+  File ${prefix}/bin/libeay32.dll
+  File ${prefix}/bin/libexpat.dll
+  File ${prefix}/bin/libexpatw.dll
+  File ${prefix}/bin/libexslt.dll
+  File ${prefix}/bin/libkdewin32.dll
+  File ${prefix}/bin/libxml2.dll
+  File ${prefix}/bin/libxslt.dll
+  File ${prefix}/bin/mingw-pcrecpp.dll
+  File ${prefix}/bin/pcre.dll
+  File ${prefix}/bin/pcrecpp.dll
+  File ${prefix}/bin/pcreposix.dll
+  File ${prefix}/bin/ssleay32.dll
+
+!endif
+SectionEnd
index 3ea0f26..7894bd8 100644 (file)
 !ifdef HAVE_PKG_QT
 !include "inst-qt.nsi"
 !endif
+!ifdef HAVE_PKG_KDESUPPORT
+!include "inst-kdesupport.nsi"
+!endif
 !ifdef HAVE_PKG_MAN_NOVICE_EN
 !include "inst-man_novice_en.nsi"
 !endif
 !ifdef HAVE_PKG_QT
 !include "uninst-qt.nsi"
 !endif
+!ifdef HAVE_PKG_KDESUPPORT
+!include "uninst-kdesupport.nsi"
+!endif
 #!ifdef HAVE_PKG_EUDORAGPG
 #!include "uninst-eudoragpg.nsi"
 #!endif
@@ -478,6 +484,9 @@ Function CalcDepends
 !ifdef HAVE_PKG_QT
   !insertmacro UnselectSection ${SEC_qt}
 !endif
+!ifdef HAVE_PKG_KDESUPPORT
+  !insertmacro UnselectSection ${SEC_kdesupport}
+!endif
 
   # Then enable all dependencies in reverse build list order!
 
@@ -674,7 +683,16 @@ Function CalcDepends
 !endif
 
   # Package "libiconv" has no dependencies.
-  # Package "qt" has no dependencies.
+
+!ifdef HAVE_PKG_QT
+  !insertmacro SectionFlagIsSet ${SEC_qt} \
+               ${SF_SELECTED} have_qt skip_qt
+  have_qt:
+  !insertmacro SelectSection ${SEC_kdesupport}
+  skip_qt:
+!endif
+
+  # Package "kdesupport" has no dependencies.
 
 FunctionEnd
 
diff --git a/src/uninst-kdesupport.nsi b/src/uninst-kdesupport.nsi
new file mode 100644 (file)
index 0000000..e9e34a1
--- /dev/null
@@ -0,0 +1,60 @@
+# uninst-kdesupport.nsi - Snippet for kdesupport.  -*- coding: latin-1; -*-
+# Copyright (C) 2005, 2007 g10 Code GmbH
+# 
+# This file is part of GPG4Win.
+# 
+# GPG4Win is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# 
+# GPG4Win is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/kdesupport-${gpg4win_pkg_kdesupport_version}
+
+
+; Uninstaller section.
+Section "-un.kdesupport"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_kdesupport_src}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\dbus-daemon.exe"
+  Delete "$INSTDIR\dbus-launch.exe"
+  Delete "$INSTDIR\dbus-monitor.exe"
+  Delete "$INSTDIR\dbus-send.exe"
+  Delete "$INSTDIR\pcregrep.exe"
+  Delete "$INSTDIR\update-mime-database.exe"
+  Delete "$INSTDIR\xmlcatalog.exe"
+  Delete "$INSTDIR\xmllint.exe"
+  Delete "$INSTDIR\xsltproc.exe"
+
+  Delete "$INSTDIR\giflib4.dll"
+  Delete "$INSTDIR\libdbus-1.dll"
+  Delete "$INSTDIR\libeay32.dll"
+  Delete "$INSTDIR\libexpat.dll"
+  Delete "$INSTDIR\libexpatw.dll"
+  Delete "$INSTDIR\libexslt.dll"
+  Delete "$INSTDIR\libkdewin32.dll"
+  Delete "$INSTDIR\libxml2.dll"
+  Delete "$INSTDIR\libxslt.dll"
+  Delete "$INSTDIR\mingw-pcrecpp.dll"
+  Delete "$INSTDIR\pcre.dll"
+  Delete "$INSTDIR\pcrecpp.dll"
+  Delete "$INSTDIR\pcreposix.dll"
+  Delete "$INSTDIR\ssleay32.dll"
+
+  RMDir "$INSTDIR"
+!endif
+SectionEnd