[Pkg-privacy-commits] [pidgin-otr] 245/255: Major update to mingw32 cross-compile instructions

Ximin Luo infinity0 at moszumanska.debian.org
Sat Aug 22 12:51:54 UTC 2015


This is an automated email from the git hooks/post-receive script.

infinity0 pushed a commit to branch experimental
in repository pidgin-otr.

commit a45b21b7fa9f66548004cf259594bcd2cd3fa0fc
Author: Ian Goldberg <iang at cs.uwaterloo.ca>
Date:   Mon Oct 20 15:15:51 2014 +0100

    Major update to mingw32 cross-compile instructions
---
 INSTALL.mingw | 140 ++++++++++++++++++++++++++++++++++------------------------
 1 file changed, 83 insertions(+), 57 deletions(-)

diff --git a/INSTALL.mingw b/INSTALL.mingw
index cef2f32..4d63886 100644
--- a/INSTALL.mingw
+++ b/INSTALL.mingw
@@ -1,62 +1,89 @@
-Here are some rough notes that might help you create a pidgin-otr Win32 build on
-a Linux system with mingw32. These have been tested on Ubuntu 11.04.
+Here are some rough notes that might help you create a pidgin-otr Win32
+build on a Linux system with mingw32. These have been tested on Ubuntu
+12.04.
 
 tl;dr download and install for files before disconnecting from the internet:
 
- wget -c  ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.0.tar.gz \
-          ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.2.1.tar.gz \
-          https://otr.cypherpunks.ca/rndw32.diff \
+ wget -c  http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz \
+          http://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.3.tar.xz \
+          ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.17.tar.gz \
+          https://otr.cypherpunks.ca/gpg-error-1.17-mingw.diff \
+          ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.5.4.tar.gz \
+          https://otr.cypherpunks.ca/gcrypt-1.5.4-mingw.diff \
           http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip \
-          http://downloads.sourceforge.net/project/pidgin/Pidgin/2.10.6/pidgin-2.10.6.tar.bz2 \
-          http://downloads.sourceforge.net/project/pidgin/Pidgin/2.10.6/pidgin-2.10.6-win32-bin.zip \
+          http://sourceforge.net/projects/pidgin/files/Pidgin/2.10.9/pidgin-2.10.9.tar.bz2 \
+          http://sourceforge.net/projects/pidgin/files/Pidgin/2.10.9/pidgin-2.10.9-win32-bin.zip \
           https://otr.cypherpunks.ca/nsisunz.zip
 
-  apt-get install mingw32 nsis wget unzip tar
+ apt-get install mingw32 nsis
 
 The above files have the following SHA1 values:
 
-  895072c22f5bfd4ac9054d48d62d6c8b2a487098  gtk+-bundle_2.24.10-20120208_win32.zip
-  8627d483e26e73b4cfabb4807ae8423875c37cda  libgcrypt-1.2.1.tar.gz
-  1c91787f208c30a91678ebb2f173308f8fab3d36  libgpg-error-1.0.tar.gz
-  caeeb30321966279285228f9afa088c7f4cace84  nsisunz.zip
-  a0532e7ba2acd205d6a5a4e3624156a980fe3d43  pidgin-2.10.6.tar.bz2
-  e2758a47f911850a2afe7ad3764a383b43e405ba  pidgin-2.10.6-win32-bin.zip
-  7513069475a3717f851867ab5f729f3a871421c0  rndw32.diff
+be7d67e50d72ff067b2c0291311bc283add36965  libiconv-1.14.tar.gz
+5c8e37c5275742b6acc1257e2df9b5d1874c12e3  gettext-0.19.3.tar.xz
+7c47e46a9b3af7fcca78f98ee71f36045bfc680c  libgpg-error-1.17.tar.gz
+b308288c9c277e9685eddf41f3cf7edf11d3821d  gpg-error-1.17-mingw.diff
+71e432e0ae8792076a40c6059667997250abbb9d  libgcrypt-1.5.4.tar.gz
+0c4396fecd2ca796ad167bf6af30d5e5038e7003  gcrypt-1.5.4-mingw.diff
+895072c22f5bfd4ac9054d48d62d6c8b2a487098  gtk+-bundle_2.24.10-20120208_win32.zip
+f3de8fd94dba1f4c98d5402a02430f9f323e665a  pidgin-2.10.9.tar.bz2
+23f330a2280e8f63e3b2c89752919cc3383886fa  pidgin-2.10.9-win32-bin.zip
+caeeb30321966279285228f9afa088c7f4cace84  nsisunz.zip
 
-Packages and their build instructions in the order they should be built. Good luck!
+
+Packages and their build instructions in the order they should be built.
+Good luck!
 
 mingw:
   apt-get install mingw32
 
-libgpg-error-1.0:
-  cd /tmp;
-  wget ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.0.tar.gz
-  tar -xvzf libgpg-error-1.0.tar.gz
-  # (before configure)
-  HOST_CC=gcc
-  DLLTOOL=i586-mingw32msvc-dlltool
-  AS=i586-mingw32msvc-as
+
+libiconv-1.14:
+  wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
+  tar xzvvf libiconv-1.14.tar.gz
+  cd libiconv-1.14
+  CFLAGS="-g -O2 -fwrapv -fno-strict-overflow"
+  LDFLAGS="-pie"
+  export CFLAGS LDFLAGS
+  ./configure --enable-static --disable-shared --with-pic --host=i586-mingw32msvc --prefix=/usr/i586-mingw32msvc
+  make
+  sudo make install
+
+
+gettext-0.19.3:
+  wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.3.tar.xz
+  tar xJvvf gettext-0.19.3.tar.xz
+  cd gettext-0.19.3
+  CFLAGS="-g -O2 -fwrapv -fno-strict-overflow"
+  LDFLAGS="-pie"
+  export CFLAGS LDFLAGS
+  ./configure --enable-static --disable-shared --with-pic --host=i586-mingw32msvc --prefix=/usr/i586-mingw32msvc
+  make
+  sudo make install
+
+
+libgpg-error-1.17:
+  wget ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.17.tar.gz
+  tar xzvvf libgpg-error-1.17.tar.gz
   CFLAGS="-g -O2 -fstack-protector-all -Wstack-protector -fwrapv --param ssp-buffer-size=1 -fno-strict-overflow"
   LDFLAGS="-pie"
-  export HOST_CC DLLTOOL AS CFLAGS LDFLAGS
-  ./configure --with-pic --build=`./config.guess` --host=i586-mingw32msvc --prefix=/usr/i586-mingw32msvc 
+  export CFLAGS LDFLAGS
+  cd libgpg-error-1.17
+  patch -p0 < ../gpg-error-1.17-mingw.diff
+  ./configure --enable-static --disable-shared --with-pic --host=i586-mingw32msvc --prefix=/usr/i586-mingw32msvc
+  cp src/syscfg/lock-obj-pub.mingw32.h src/syscfg/lock-obj-pub.mingw32msvc.h
   make
   sudo make install
 
-libgcrypt-1.2.1:
-  cd /tmp;
-  wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.2.1.tar.gz
-  wget https://otr.cypherpunks.ca/rndw32.diff
-  tar -xvzf libgcrypt-1.2.1.tar.gz
-  cd /tmp/libgcrypt-1.2.1
+libgcrypt-1.5.4:
+  wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.5.4.tar.gz
+  tar xzvvf libgcrypt-1.5.4.tar.gz
+  cd libgcrypt-1.5.4
   CFLAGS="-g -O2 -fstack-protector-all -Wstack-protector -fwrapv --param ssp-buffer-size=1 -fno-strict-overflow"
   LDFLAGS="-pie"
   export CFLAGS LDFLAGS
+  patch -p0 < ../gcrypt-1.5.4-mingw.diff
   w32root=/usr/i586-mingw32msvc ./autogen.sh --build-w32
-  # Apply a basic configuration change patch
-  patch -p0 < /path/to/pidgin-otr/patches/win32/libgcrypt-config.h.patch
-  # Apply windows slow random fix patch
-  patch -p0 < /path/to/pidgin-otr/patches/win32/rndw32.diff
   make
   sudo make install
   
@@ -65,17 +92,19 @@ nsis:
   # Locate the "nsisunz" plugin (a google search for "nsisunz.zip" should be sufficient)
   # Extract the DLL to /usr/share/nsis/Plugins
   # (yes it's a DLL extension, but it will still work for GNU/Linux nsis)
-  # set LIBOTRSRCDIR to the libotr src directory
-  cd /tmp;
   wget -c https://otr.cypherpunks.ca/nsisunz.zip
   unzip nsisunz.zip
-  sudo cp /tmp/nsisunz/Release/nsisunz.dll /usr/share/nsis/Plugins/
+  sudo cp nsisunz/Release/nsisunz.dll /usr/share/nsis/Plugins/
 
 
-libotr:
+libotr-4.1.0:
   autoreconf -s -i
-  ./configure --with-pic --build=`./config.guess` --host=i586-mingw32msvc --prefix=/usr/i586-mingw32msvc \
-              --with-libgcrypt-prefix=/usr/i586-mingw32msvc
+  unset CFLAGS
+  unset LDFLAGS
+  ./configure --with-pic --host=i586-mingw32msvc \
+        --prefix=/usr/i586-mingw32msvc \
+        --enable-static --disable-shared \
+        --with-libgcrypt-prefix=/usr/i586-mingw32msvc
   make
   sudo make install
 
@@ -90,21 +119,17 @@ pidgin-otr:
   # Ensure either pkg-config will correctly resolve all the dependencies for
   # glib-2.0 and gtk+-2.0. There is a README in the GTK+ bundle about this, or
   # uncomment (and perhaps revise) the hardcoded list of includes for GTK_HDRS
-  cd /tmp;
-  wget -c http://prdownloads.sourceforge.net/pidgin/pidgin-2.10.3.tar.bz2
-  wget -c http://downloads.sourceforge.net/project/pidgin/Pidgin/2.10.6/pidgin-2.10.6-win32-bin.zip
-  wget -c http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip
-  sudo mkdir -p /usr/i586-mingw32msvc/misc/gtk_bundle;
-  cd /usr/i586-mingw32msvc/misc/gtk_bundle;
-  sudo unzip /tmp/gtk+-bundle_2.24.10-20120208_win32.zip
-  cd /tmp;
-  unzip pidgin-2.10.6-win32-bin.zip
+  wget http://sourceforge.net/projects/pidgin/files/Pidgin/2.10.9/pidgin-2.10.9.tar.bz2
+  wget http://sourceforge.net/projects/pidgin/files/Pidgin/2.10.9/pidgin-2.10.9-win32-bin.zip
+  wget http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip
+  sudo mkdir -p /usr/i586-mingw32msvc/misc/gtk_bundle
+  sudo unzip -d /usr/i586-mingw32msvc/misc/gtk_bundle gtk+-bundle_2.24.10-20120208_win32.zip
+  unzip pidgin-2.10.9-win32-bin.zip
   sudo mkdir -p /usr/i586-mingw32msvc/misc/pidgin_dlls
-  sudo mv /tmp/pidgin-2.10.6-win32bin/*.dll /usr/i586-mingw32msvc/misc/pidgin_dlls/
-  tar -xvjf pidgin-2.10.6.tar.bz2
-  sudo mkdir -p /usr/i586-mingw32msvc/include/
-  sudo mv /tmp/pidgin-2.10.6/libpurple /usr/i586-mingw32msvc/include/
-  sudo mv /tmp/pidgin-2.10.6/pidgin /usr/i586-mingw32msvc/include/
+  sudo mv pidgin-2.10.9-win32bin/*.dll /usr/i586-mingw32msvc/misc/pidgin_dlls/
+  tar xjvvf pidgin-2.10.9.tar.bz2
+  sudo mv pidgin-2.10.9/libpurple /usr/i586-mingw32msvc/include/
+  sudo mv pidgin-2.10.9/pidgin /usr/i586-mingw32msvc/include/
   cd /path/to/pidgin-otr/
   # Finally build pidgin-otr plugin
   make -f Makefile.mingw
@@ -113,8 +138,9 @@ pidgin-otr:
   # This should now build the zipfile
   make -f Makefile.mingw zip
 
-The pidgin-otr plugin is now available in the current working directory -
+The pidgin-otr plugin will be created in the current working directory;
 inspect it with unzip:
 
   unzip -l pidgin-otr-4.0.1.zip
 
+The installer will be created in packaging/windows/pidgin-otr-4.0.1.exe .

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-privacy/packages/pidgin-otr.git



More information about the Pkg-privacy-commits mailing list