-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathINSTALL.mingw
146 lines (124 loc) · 5.91 KB
/
INSTALL.mingw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
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 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://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
The above files have the following SHA1 values:
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!
mingw:
apt-get install mingw32
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 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.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
make
sudo make install
nsis:
sudo apt-get install 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)
wget -c https://otr.cypherpunks.ca/nsisunz.zip
unzip nsisunz.zip
sudo cp nsisunz/Release/nsisunz.dll /usr/share/nsis/Plugins/
libotr-4.1.0:
autoreconf -s -i
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
pidgin-otr:
# You will need: Pidgin source code distributable,
# Pidgin Win32 distributable,
# and an "all-in-one bundle" of the GTK+ stack 2.14.7 or greater
# e.g., gtk+-bundle_2.24.10-20120208_win32.zip from
# http://www.gtk.org/download/win32.php
# In Makefile.mingw, specify the location of PIDGIN_HEADERS, PURPLE_HEADERS,
# GTK_WIN32_BUNDLE, and PIDGIN_WIN32_LIBS
# 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
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 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
# This should now build the nsis installer
make -f Makefile.mingw installer
# This should now build the zipfile
make -f Makefile.mingw zip
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 .