Commit a463bbc34e922ce31e7acd6bdd4d4dc1c7a88ed5

Authored by Perry Werneck
1 parent 19f27502

Melhorando empacotamento windows.

configure.ac
... ... @@ -96,7 +96,7 @@ case "$host" in
96 96 CFLAGS="$CFLAGS -D_WIN32_WINNT=0x0600"
97 97 LIBS="$LIBS -lws2_32 -lwtsapi32 -lintl -lcomdlg32"
98 98  
99   - AC_CONFIG_FILES(win/makegtkruntime.sh)
  99 + AC_CONFIG_FILES(win/makeruntime.sh)
100 100 AC_CONFIG_FILES(win/copydeps.sh)
101 101 AC_CONFIG_FILES(win/pw3270.nsi)
102 102 AC_CONFIG_FILES(src/pw3270/resources.rc)
... ...
locale/pw3270.pot
... ... @@ -9,7 +9,7 @@ msgstr ""
9 9 "#-#-#-#-# lib3270.pot (PACKAGE VERSION) #-#-#-#-#\n"
10 10 "Project-Id-Version: PACKAGE VERSION\n"
11 11 "Report-Msgid-Bugs-To: \n"
12   -"POT-Creation-Date: 2017-04-06 13:17-0300\n"
  12 +"POT-Creation-Date: 2017-04-06 16:03-0300\n"
13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14 14 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
15 15 "Language-Team: LANGUAGE <LL@li.org>\n"
... ... @@ -20,7 +20,7 @@ msgstr &quot;&quot;
20 20 "#-#-#-#-# pw3270.pot (PACKAGE VERSION) #-#-#-#-#\n"
21 21 "Project-Id-Version: PACKAGE VERSION\n"
22 22 "Report-Msgid-Bugs-To: \n"
23   -"POT-Creation-Date: 2017-04-06 13:17-0300\n"
  23 +"POT-Creation-Date: 2017-04-06 16:03-0300\n"
24 24 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
25 25 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
26 26 "Language-Team: LANGUAGE <LL@li.org>\n"
... ...
win/makeruntime.sh
... ... @@ -1,241 +0,0 @@
1   -#!/bin/bash
2   -#
3   -# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
4   -# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
5   -# aplicativos mainframe. Registro no INPI sob o nome G3270.
6   -#
7   -# Copyright (C) <2008> <Banco do Brasil S.A.>
8   -#
9   -# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
10   -# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
11   -# Free Software Foundation.
12   -#
13   -# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
14   -# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
15   -# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
16   -# obter mais detalhes.
17   -#
18   -# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
19   -# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
20   -# Place, Suite 330, Boston, MA, 02111-1307, USA
21   -#
22   -# Contatos:
23   -#
24   -# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
25   -# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
26   -#
27   -
28   -
29   -myDIR=$(dirname $(readlink -f $0))
30   -
31   -prefix="/usr/i686-w64-mingw32/sys-root/mingw"
32   -PKG_CONFIG="/usr/bin/i686-w64-mingw32-pkg-config"
33   -GTK_VERSION="gtk+-3.0"
34   -
35   -GTK_PREFIX=$($PKG_CONFIG --variable=prefix ${GTK_VERSION})
36   -GDK_LOADERS=$(${PKG_CONFIG} --variable=gdk_pixbuf_binarydir gdk-pixbuf-2.0 | sed -e "s@${prefix}@@g")
37   -
38   -TARGET="$(dirname ${myDIR})/.bin/runtime"
39   -
40   -# Change to bin path
41   -mkdir -p ${TARGET}
42   -rm -fr ${TARGET}/*
43   -
44   -copy_dll() {
45   -
46   - AGAIN=1
47   - until [ $AGAIN = 0 ]; do
48   -
49   - SOURCES=$(mktemp)
50   - REQUIRES=$(mktemp)
51   -
52   - find "$(dirname ${myDIR})/.bin/Release/" -iname "*.dll" > ${SOURCES}
53   - find "$(dirname ${myDIR})/.bin/Release/" -iname "*.exe" >> ${SOURCES}
54   - find "${TARGET}" -iname *.dll >> ${SOURCES}
55   -
56   - while read FILENAME
57   - do
58   - objdump -p ${FILENAME} | grep "DLL Name:" | cut -d: -f2 | tr "[:upper:]" "[:lower:]" >> ${REQUIRES}
59   - done < ${SOURCES}
60   -
61   - libs_to_exclude="
62   - advapi32
63   - cfgmgr32
64   - comctl32
65   - comdlg32
66   - crypt32
67   - d3d8
68   - d3d9
69   - ddraw
70   - dnsapi
71   - dsound
72   - dwmapi
73   - gdi32
74   - gdiplus
75   - glu32
76   - glut32
77   - imm32
78   - iphlpapi
79   - kernel32
80   - ksuser
81   - mpr
82   - mscms
83   - mscoree
84   - msimg32
85   - msvcr71
86   - msvcr80
87   - msvcr90
88   - msvcrt
89   - mswsock
90   - netapi32
91   - odbc32
92   - ole32
93   - oleacc
94   - oleaut32
95   - opengl32
96   - psapi
97   - rpcrt4
98   - secur32
99   - setupapi
100   - shell32
101   - shlwapi
102   - user32
103   - usp10
104   - version
105   - wininet
106   - winmm
107   - wldap32
108   - ws2_32
109   - wsock32
110   - winspool.drv
111   - "
112   -
113   - # Excluo DLLs do sistema
114   - for i in $libs_to_exclude; do
115   - sed -i -e "/${i}/d" ${REQUIRES}
116   - done
117   -
118   - # Procuro pelas DLLs que faltam
119   - AGAIN=0
120   - while read FILENAME
121   - do
122   - if [ ! -e "${TARGET}/${FILENAME}" ]; then
123   -
124   - COUNT=$(find "$(dirname ${myDIR})/.bin/Release/" -iname ${FILENAME} | wc --lines)
125   - if [ "${COUNT}" == "0" ]; then
126   -
127   - if [ -e ${prefix}/bin/${FILENAME} ]; then
128   -
129   - echo "Copiando $(basename ${FILENAME})..."
130   -
131   - AGAIN=1
132   - cp -v "${prefix}/bin/${FILENAME}" "${TARGET}/${FILENAME}"
133   - if [ "$?" != "0" ]; then
134   - exit -1
135   - fi
136   - else
137   -
138   - echo "Can't find ${FILENAME}"
139   -
140   - fi
141   -
142   - fi
143   -
144   -
145   - fi
146   -
147   - done < ${REQUIRES}
148   -
149   - rm -f ${SOURCES}
150   - rm -f ${REQUIRES}
151   -
152   - done
153   -
154   -}
155   -
156   -copy_locale() {
157   -
158   - rm -fr ${TARGET}/share/locale/pt_BR/LC_MESSAGES
159   - mkdir -p ${TARGET}/share/locale/pt_BR/LC_MESSAGES
160   -
161   - locales="
162   - gettext-runtime.mo
163   - gettext-tools.mo
164   - glib20.mo
165   - gtk30.mo
166   - gtk30-properties.mo
167   - "
168   -
169   - for i in $locales; do
170   - if [ -e "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i}" ]; then
171   - echo "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i} ..."
172   - cp "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i}" "${TARGET}/share/locale/pt_BR/LC_MESSAGES"
173   - if [ "$?" != "0" ]; then
174   - exit -1
175   - fi
176   - fi
177   - done
178   -
179   -}
180   -
181   -copy_loaders() {
182   -
183   - mkdir -p "${TARGET}/${GDK_LOADERS}"
184   - cp -rv "${prefix}/${GDK_LOADERS}/loaders" "${TARGET}/${GDK_LOADERS}"
185   - if [ "$?" != "0" ]; then
186   - exit -1
187   - fi
188   -
189   -}
190   -
191   -copy_theme() {
192   -
193   - mkdir -p "${TARGET}/etc"
194   - cp -rv "${prefix}/etc/gtk-3.0" "${TARGET}/etc"
195   -
196   - rm -f $TARGET_PATH/etc/gtk-3.0/settings.ini
197   - echo "[Settings]" >> $TARGET_PATH/etc/gtk-3.0/settings.ini
198   - echo "gtk-theme-name = MS-Windows" >> $TARGET_PATH/etc/gtk-3.0/settings.ini
199   - echo "gtk-icon-theme-name = ${1}" >> $TARGET_PATH/etc/gtk-3.0/settings.ini
200   - echo "gtk-fallback-icon-theme = ${1}" >> $TARGET_PATH/etc/gtk-3.0/settings.ini
201   - echo "gtk-font-name = Sans 10" >> $TARGET_PATH/etc/gtk-3.0/settings.ini
202   - echo "gtk-button-images = 1" >> $TARGET_PATH/etc/gtk-3.0/settings.ini
203   -
204   - mkdir -p ${TARGET}/share/icons
205   - if [ "$?" != 0 ]; then
206   - echo "Can´t create icons folder"
207   - exit -1
208   - fi
209   -
210   - cp -rv /usr/share/icons/${1} ${TARGET}/share/icons
211   - if [ "$?" != 0 ]; then
212   - echo "Can´t copy ${1} icons"
213   - exit -1
214   - fi
215   -
216   - mkdir -p ${TARGET}/share/themes
217   - if [ "$?" != 0 ]; then
218   - echo "Can´t create themes folder"
219   - exit -1
220   - fi
221   -
222   - cp -rv /usr/share/themes/${1} ${TARGET}/share/themes
223   - if [ "$?" != 0 ]; then
224   - echo "Can´t copy ${1} theme"
225   - exit -1
226   - fi
227   -
228   -}
229   -
230   -copy_dll
231   -copy_locale
232   -copy_loaders
233   -copy_theme "Adwaita"
234   -
235   -# Otimiza todos os pngs
236   -#echo "Optimizing..."
237   -#find ${TARGET} -iname *.png -exec optipng -o7 -quiet {} \; 2>&1 > /dev/null
238   -
239   -
240   -
241   -echo "Runtime ok"
win/makeruntime.sh.in 0 → 100755
... ... @@ -0,0 +1,240 @@
  1 +#!/bin/bash
  2 +#
  3 +# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  4 +# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  5 +# aplicativos mainframe. Registro no INPI sob o nome G3270.
  6 +#
  7 +# Copyright (C) <2008> <Banco do Brasil S.A.>
  8 +#
  9 +# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  10 +# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  11 +# Free Software Foundation.
  12 +#
  13 +# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  14 +# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  15 +# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  16 +# obter mais detalhes.
  17 +#
  18 +# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  19 +# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
  20 +# Place, Suite 330, Boston, MA, 02111-1307, USA
  21 +#
  22 +# Contatos:
  23 +#
  24 +# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  25 +# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
  26 +#
  27 +
  28 +myDIR=$(dirname $(readlink -f $0))
  29 +
  30 +prefix="@prefix@"
  31 +PKG_CONFIG="@PKG_CONFIG@"
  32 +GTK_VERSION="gtk+-@GTK_VERSION@"
  33 +
  34 +GTK_PREFIX=$($PKG_CONFIG --variable=prefix ${GTK_VERSION})
  35 +GDK_LOADERS=$(${PKG_CONFIG} --variable=gdk_pixbuf_binarydir gdk-pixbuf-2.0 | sed -e "s@${prefix}@@g")
  36 +
  37 +TARGET="$(dirname ${myDIR})/.bin/runtime"
  38 +
  39 +# Change to bin path
  40 +mkdir -p ${TARGET}
  41 +rm -fr ${TARGET}/*
  42 +
  43 +copy_dll() {
  44 +
  45 + AGAIN=1
  46 + until [ $AGAIN = 0 ]; do
  47 +
  48 + SOURCES=$(mktemp)
  49 + REQUIRES=$(mktemp)
  50 +
  51 + find "$(dirname ${myDIR})/.bin/Release/" -iname "*.dll" > ${SOURCES}
  52 + find "$(dirname ${myDIR})/.bin/Release/" -iname "*.exe" >> ${SOURCES}
  53 + find "${TARGET}" -iname *.dll >> ${SOURCES}
  54 +
  55 + while read FILENAME
  56 + do
  57 + objdump -p ${FILENAME} | grep "DLL Name:" | cut -d: -f2 | tr "[:upper:]" "[:lower:]" >> ${REQUIRES}
  58 + done < ${SOURCES}
  59 +
  60 + libs_to_exclude="
  61 + advapi32
  62 + cfgmgr32
  63 + comctl32
  64 + comdlg32
  65 + crypt32
  66 + d3d8
  67 + d3d9
  68 + ddraw
  69 + dnsapi
  70 + dsound
  71 + dwmapi
  72 + gdi32
  73 + gdiplus
  74 + glu32
  75 + glut32
  76 + imm32
  77 + iphlpapi
  78 + kernel32
  79 + ksuser
  80 + mpr
  81 + mscms
  82 + mscoree
  83 + msimg32
  84 + msvcr71
  85 + msvcr80
  86 + msvcr90
  87 + msvcrt
  88 + mswsock
  89 + netapi32
  90 + odbc32
  91 + ole32
  92 + oleacc
  93 + oleaut32
  94 + opengl32
  95 + psapi
  96 + rpcrt4
  97 + secur32
  98 + setupapi
  99 + shell32
  100 + shlwapi
  101 + user32
  102 + usp10
  103 + version
  104 + wininet
  105 + winmm
  106 + wldap32
  107 + ws2_32
  108 + wsock32
  109 + winspool.drv
  110 + "
  111 +
  112 + # Excluo DLLs do sistema
  113 + for i in $libs_to_exclude; do
  114 + sed -i -e "/${i}/d" ${REQUIRES}
  115 + done
  116 +
  117 + # Procuro pelas DLLs que faltam
  118 + AGAIN=0
  119 + while read FILENAME
  120 + do
  121 + if [ ! -e "${TARGET}/${FILENAME}" ]; then
  122 +
  123 + COUNT=$(find "$(dirname ${myDIR})/.bin/Release/" -iname ${FILENAME} | wc --lines)
  124 + if [ "${COUNT}" == "0" ]; then
  125 +
  126 + if [ -e ${prefix}/bin/${FILENAME} ]; then
  127 +
  128 + echo "Copiando $(basename ${FILENAME})..."
  129 +
  130 + AGAIN=1
  131 + cp -v "${prefix}/bin/${FILENAME}" "${TARGET}/${FILENAME}"
  132 + if [ "$?" != "0" ]; then
  133 + exit -1
  134 + fi
  135 + else
  136 +
  137 + echo "Can't find ${FILENAME}"
  138 +
  139 + fi
  140 +
  141 + fi
  142 +
  143 +
  144 + fi
  145 +
  146 + done < ${REQUIRES}
  147 +
  148 + rm -f ${SOURCES}
  149 + rm -f ${REQUIRES}
  150 +
  151 + done
  152 +
  153 +}
  154 +
  155 +copy_locale() {
  156 +
  157 + rm -fr ${TARGET}/share/locale/pt_BR/LC_MESSAGES
  158 + mkdir -p ${TARGET}/share/locale/pt_BR/LC_MESSAGES
  159 +
  160 + locales="
  161 + gettext-runtime.mo
  162 + gettext-tools.mo
  163 + glib20.mo
  164 + gtk30.mo
  165 + gtk30-properties.mo
  166 + "
  167 +
  168 + for i in $locales; do
  169 + if [ -e "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i}" ]; then
  170 + echo "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i} ..."
  171 + cp "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i}" "${TARGET}/share/locale/pt_BR/LC_MESSAGES"
  172 + if [ "$?" != "0" ]; then
  173 + exit -1
  174 + fi
  175 + fi
  176 + done
  177 +
  178 +}
  179 +
  180 +copy_loaders() {
  181 +
  182 + mkdir -p "${TARGET}/${GDK_LOADERS}"
  183 + cp -rv "${prefix}/${GDK_LOADERS}/loaders" "${TARGET}/${GDK_LOADERS}"
  184 + if [ "$?" != "0" ]; then
  185 + exit -1
  186 + fi
  187 +
  188 +}
  189 +
  190 +copy_theme() {
  191 +
  192 + mkdir -p "${TARGET}/etc"
  193 + cp -rv "${prefix}/etc/gtk-3.0" "${TARGET}/etc"
  194 +
  195 + rm -f $TARGET_PATH/etc/gtk-3.0/settings.ini
  196 + echo "[Settings]" >> $TARGET_PATH/etc/gtk-3.0/settings.ini
  197 + echo "gtk-theme-name = MS-Windows" >> $TARGET_PATH/etc/gtk-3.0/settings.ini
  198 + echo "gtk-icon-theme-name = ${1}" >> $TARGET_PATH/etc/gtk-3.0/settings.ini
  199 + echo "gtk-fallback-icon-theme = ${1}" >> $TARGET_PATH/etc/gtk-3.0/settings.ini
  200 + echo "gtk-font-name = Sans 10" >> $TARGET_PATH/etc/gtk-3.0/settings.ini
  201 + echo "gtk-button-images = 1" >> $TARGET_PATH/etc/gtk-3.0/settings.ini
  202 +
  203 + mkdir -p ${TARGET}/share/icons
  204 + if [ "$?" != 0 ]; then
  205 + echo "Can´t create icons folder"
  206 + exit -1
  207 + fi
  208 +
  209 + cp -rv /usr/share/icons/${1} ${TARGET}/share/icons
  210 + if [ "$?" != 0 ]; then
  211 + echo "Can´t copy ${1} icons"
  212 + exit -1
  213 + fi
  214 +
  215 + mkdir -p ${TARGET}/share/themes
  216 + if [ "$?" != 0 ]; then
  217 + echo "Can´t create themes folder"
  218 + exit -1
  219 + fi
  220 +
  221 + cp -rv /usr/share/themes/${1} ${TARGET}/share/themes
  222 + if [ "$?" != 0 ]; then
  223 + echo "Can´t copy ${1} theme"
  224 + exit -1
  225 + fi
  226 +
  227 +}
  228 +
  229 +copy_dll
  230 +copy_locale
  231 +copy_loaders
  232 +copy_theme "Adwaita"
  233 +
  234 +# Otimiza todos os pngs
  235 +#echo "Optimizing..."
  236 +#find ${TARGET} -iname *.png -exec optipng -o7 -quiet {} \; 2>&1 > /dev/null
  237 +
  238 +
  239 +
  240 +echo "Runtime ok"
... ...
win/pack.sh
... ... @@ -84,7 +84,7 @@ build()
84 84 failed "Erro ao gerar instalador sem gtk"
85 85 fi
86 86  
87   - mv -f ./win/${PACKAGE}-${PACKAGE_VERSION}-requires-gtk-${GTK_MODVERSION}-${host_cpu}.exe \
  87 + mv -f ./win/${PACKAGE}-${PACKAGE_VERSION}-requires-gtk-${GTK_MODVERSION}-${host_cpu}.exe \
88 88 ${DESTDIR}/${PACKAGE_NAME}/${1}
89 89  
90 90 if [ "$?" != "0" ]; then
... ... @@ -95,8 +95,8 @@ build()
95 95  
96 96 if [ "${COMPLETE}" == "1" ]; then
97 97  
98   - chmod +x ./win/makegtkruntime.sh
99   - ./win/makegtkruntime.sh
  98 + chmod +x ./win/makeruntime.sh
  99 + ./win/makeruntime.sh
100 100  
101 101 makensis -DWITHGTK ./win/${PACKAGE}.nsi
102 102 if [ "$?" != "0" ]; then
... ...
win/pw3270.nsi.in
... ... @@ -166,7 +166,7 @@ SubSectionEnd
166 166 Section /o "GTK+ Runtime" SecGTK
167 167  
168 168 setOutPath $INSTDIR
169   - file /r "..\.bin\gtkruntime\*.*"
  169 + file /r "..\.bin\runtime\*.*"
170 170  
171 171 SectionEnd
172 172 !endif
... ...