Commit 17e95379118ea3924440ba3c96385e6cac1e915f

Authored by Perry Werneck
Committed by GitHub
2 parents 1e142d80 5d10d7c7
Exists in develop

Merge pull request #53 from PerryWerneck/winpkg

Updating windows package.
.github/workflows/winpkg.yml 0 → 100644
... ... @@ -0,0 +1,84 @@
  1 +---
  2 +name: WinPKG
  3 +on:
  4 + pull_request:
  5 + branches:
  6 + - master
  7 + push:
  8 + branches:
  9 + - winpkg
  10 +jobs:
  11 + msys2-mingw64:
  12 + name: Publish for Windows 64
  13 + runs-on: windows-latest
  14 + defaults:
  15 + run:
  16 + shell: msys2 {0}
  17 + steps:
  18 + - uses: actions/checkout@v3
  19 + - uses: oprypin/find-latest-tag@v1
  20 + id: gettag
  21 + with:
  22 + repository: PerryWerneck/pw3270
  23 + sort-tags: true
  24 + releases-only: true
  25 + - uses: msys2/setup-msys2@v2
  26 + with:
  27 + msystem: mingw64
  28 + update: true
  29 + install: xz dos2unix mingw-w64-x86_64-gcc automake autoconf make git pkgconf
  30 + mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl
  31 + libtool mingw-w64-x86_64-gtk3 mingw-w64-x86_64-librsvg mingw-w64-x86_64-gdk-pixbuf2
  32 + mingw-w64-x86_64-optipng mingw-w64-x86_64-nsis
  33 + - uses: robinraju/release-downloader@v1.7
  34 + with:
  35 + repository: "PerryWerneck/lib3270"
  36 + latest: true
  37 + fileName: "mingw-w64-x86_64-lib3270-5.4-0-x86_64.pkg.tar.zst"
  38 + - uses: robinraju/release-downloader@v1.7
  39 + with:
  40 + repository: "PerryWerneck/libv3270"
  41 + latest: true
  42 + fileName: "mingw-w64-x86_64-libv3270-5.4-0-x86_64.pkg.tar.zst"
  43 + - name: BuildApp
  44 + run: ./win/ci-build.sh
  45 + - uses: ncipollo/release-action@v1
  46 + with:
  47 + tag: ${{ steps.gettag.outputs.tag }}
  48 + artifacts: "*-pw3270-*.pkg.tar.zst"
  49 + allowUpdates: true
  50 + draft: true
  51 + makeLatest: true
  52 + omitBody: true
  53 + omitPrereleaseDuringUpdate: true
  54 + replacesArtifacts: true
  55 + - uses: robinraju/release-downloader@v1.7
  56 + with:
  57 + repository: PerryWerneck/libipc3270
  58 + latest: true
  59 + fileName: mingw-w64-x86_64-libipc3270-5.5-0-x86_64.pkg.tar.zst
  60 + - uses: robinraju/release-downloader@v1.7
  61 + with:
  62 + repository: PerryWerneck/libhllapi
  63 + latest: true
  64 + fileName: mingw-w64-x86_64-libhllapi-5.5-0-x86_64.pkg.tar.zst
  65 + - uses: robinraju/release-downloader@v1.7
  66 + with:
  67 + repository: PerryWerneck/pw3270-plugin-ipc
  68 + latest: true
  69 + fileName: mingw-w64-x86_64-pw3270-plugin-ipc-5.5-0-x86_64.pkg.tar.zst
  70 + - name: Make bundle
  71 + run: ./win/bundle.msys
  72 + - name: Make Package
  73 + run: tar -C ./.bin/bundle -Jcf mingw-w64-x86_64-pw3270-bundle-x86_64.tar.xz .
  74 + - uses: ncipollo/release-action@v1
  75 + with:
  76 + tag: ${{ steps.gettag.outputs.tag }}
  77 + artifacts: "*-pw3270-*.tar.xz"
  78 + allowUpdates: true
  79 + draft: true
  80 + makeLatest: true
  81 + omitBody: true
  82 + omitPrereleaseDuringUpdate: true
  83 + replacesArtifacts: true
  84 +
... ...
.gitignore
  1 +.tmp
  2 +.bin
  3 +.obj
  4 +.pot
1 5 .*
2 6 *~
3 7 *.log
... ... @@ -69,5 +73,4 @@ m4
69 73 po
70 74 app-manifest.xml
71 75 libtool
72   -
73   -
  76 +*.pkg.tar.zst
... ...
Makefile.in
... ... @@ -29,6 +29,7 @@ datarootdir=@datarootdir@
29 29 localedir=@localedir@
30 30 docdir=@docdir@
31 31 sysconfdir=@sysconfdir@
  32 +datadir="$(datarootdir)/@PRODUCT_NAME@"
32 33  
33 34 #---[ Configuration ]--------------------------------------------------------------------
34 35  
... ... @@ -72,7 +73,6 @@ MSGCAT=@MSGCAT@
72 73 WINDRES=@WINDRES@
73 74 AR=@AR@
74 75 VALGRIND=@VALGRIND@
75   -CONVERT=@CONVERT@
76 76 STRIP=@STRIP@
77 77  
78 78 #---[ Build Paths ]----------------------------------------------------------------------
... ... @@ -127,6 +127,13 @@ $(OBJDBG)/%.o: \
127 127 -DDEBUG=1 \
128 128 -o $@ -c $<
129 129  
  130 +%.ico: \
  131 + $(srcdir)/branding/%.ico
  132 +
  133 + @echo $< ...
  134 + @$(MKDIR) $(@D)
  135 + @cp "$<" "$@"
  136 +
130 137 $(OBJDBG)/%.o: \
131 138 %.rc \
132 139 $(PRODUCT_NAME).ico
... ... @@ -218,30 +225,6 @@ install-%: \
218 225 prefix=$(prefix) \
219 226 install
220 227  
221   -%.ico: \
222   - $(srcdir)/branding/%.svg
223   -
224   - @echo $@ ...
225   - @$(MKDIR) $(@D)
226   - @$(CONVERT) \
227   - -density 384 \
228   - -background transparent \
229   - $< \
230   - -define icon:auto-resize \
231   - -colors 256 \
232   - $@
233   -
234   -%.png: \
235   - $(srcdir)/branding/%.svg
236   -
237   - @echo $@ ...
238   - @$(MKDIR) $(@D)
239   - @$(CONVERT) \
240   - +antialias \
241   - -background transparent \
242   - $< \
243   - $@
244   -
245 228 #---[ Main Target ]----------------------------------------------------------------------
246 229  
247 230 all: \
... ... @@ -318,7 +301,7 @@ install-macos-application: \
318 301 $(DESTDIR)$(bindir)/$(PRODUCT_NAME)@EXEEXT@
319 302  
320 303 install-windows-application: \
321   - $(PRODUCT_NAME).png \
  304 + branding/$(PRODUCT_NAME).png \
322 305 strip
323 306  
324 307 @$(MKDIR) \
... ... @@ -332,7 +315,7 @@ install-windows-application: \
332 315 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)
333 316  
334 317 @$(INSTALL_DATA) \
335   - $(PRODUCT_NAME).png \
  318 + branding/$(PRODUCT_NAME).png \
336 319 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME).png
337 320  
338 321 @$(INSTALL_DATA) \
... ...
branding/Makefile.in
  1 +# SPDX-License-Identifier: LGPL-3.0-or-later
1 2 #
2   -# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
3   -# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
4   -# aplicativos mainframe. Registro no INPI sob o nome G3270.
  3 +# Copyright (C) 2008 Banco do Brasil S.A.
5 4 #
6   -# Copyright (C) <2008> <Banco do Brasil S.A.>
  5 +# This program is free software: you can redistribute it and/or modify
  6 +# it under the terms of the GNU Lesser General Public License as published
  7 +# by the Free Software Foundation, either version 3 of the License, or
  8 +# (at your option) any later version.
7 9 #
8   -# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
9   -# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
10   -# Free Software Foundation.
  10 +# This program is distributed in the hope that it will be useful,
  11 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  12 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13 +# GNU General Public License for more details.
11 14 #
12   -# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
13   -# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
14   -# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
15   -# obter mais detalhes.
16   -#
17   -# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
18   -# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple
19   -# Place, Suite 330, Boston, MA, 02111-1307, USA
20   -#
21   -# Contatos:
22   -#
23   -# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
24   -# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça)
  15 +# You should have received a copy of the GNU Lesser General Public License
  16 +# along with this program. If not, see <https://www.gnu.org/licenses/>.
25 17 #
26 18  
27 19 PACKAGE_NAME=@PACKAGE_NAME@
... ... @@ -43,19 +35,20 @@ MKDIR=@MKDIR_P@
43 35 INSTALL=@INSTALL@
44 36 INSTALL_DATA=@INSTALL_DATA@
45 37 INSTALL_PROGRAM=@INSTALL_PROGRAM@
46   -CONVERT=@CONVERT@
47 38 DESKTOP_INSTALL=@DESKTOP_INSTALL@
48 39 SCOUR=@SCOUR@
49 40 APPSTREAMCLI=@APPSTREAMCLI@
50 41  
51   -#---[ Rules ]----------------------------------------------------------------------------
  42 +# CONVERT=@CONVERT@
52 43  
53   -%.ico: \
54   - $(PRODUCT_NAME).svg
  44 +#---[ Rules ]----------------------------------------------------------------------------
55 45  
56   - @echo $@ ...
57   - @$(MKDIR) `dirname $@`
58   - @$(CONVERT) -density 384 -background transparent $< -define icon:auto-resize -colors 256 $@
  46 +#%.ico: \
  47 +# %.svg
  48 +#
  49 +# @echo $@ ...
  50 +# @$(MKDIR) `dirname $@`
  51 +# @$(CONVERT) -density 384 -background transparent $< -define icon:auto-resize -colors 256 $@
59 52  
60 53 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/%.svg: \
61 54 $(srcdir)/%.svg
... ... @@ -101,11 +94,10 @@ endif
101 94  
102 95 validate:
103 96  
104   -ifneq ($(SCOUR),no)
  97 +ifneq ($(APPSTREAMCLI),no)
105 98 @$(APPSTREAMCLI) validate metainfo.xml
106 99 endif
107 100  
108   -
109 101 install: \
110 102 install-@OSNAME@
111 103  
... ... @@ -159,7 +151,12 @@ install-macos: \
159 151  
160 152 install-windows: \
161 153 $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME).svg \
162   - $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME)-logo.svg \
163   - $(DESTDIR)$(bindir)/$(PRODUCT_NAME).ico
  154 + $(DESTDIR)$(datarootdir)/$(PRODUCT_NAME)/$(PRODUCT_NAME)-logo.svg
  155 +
  156 + @$(MKDIR) $(DESTDIR)$(bindir)
  157 +
  158 + @$(INSTALL_DATA) \
  159 + $(PRODUCT_NAME).ico \
  160 + $(DESTDIR)$(bindir)/$(PRODUCT_NAME).ico
164 161  
165 162  
... ...
branding/pw3270.ico 0 → 100644
No preview for this file type
branding/pw3270.png 0 → 100644

18.4 KB

branding/pw3270.svg
1 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2   -<!-- Created with Inkscape (http://www.inkscape.org/) -->
3   -
4 2 <svg
5 3 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 4 xmlns:cc="http://creativecommons.org/ns#"
... ... @@ -14,10 +12,10 @@
14 12 height="256"
15 13 id="svg2685"
16 14 sodipodi:version="0.32"
17   - inkscape:version="0.48.1 r9760"
  15 + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
18 16 sodipodi:docname="pw3270.svg"
19 17 inkscape:output_extension="org.inkscape.output.svg.inkscape"
20   - inkscape:export-filename="/home/perry/Project/3270/v4/image/icon.png"
  18 + inkscape:export-filename="/home/perry/project/pw3270/pw3270/branding/pw3270.png"
21 19 inkscape:export-xdpi="90"
22 20 inkscape:export-ydpi="90"
23 21 version="1.1">
... ... @@ -61,17 +59,19 @@
61 59 inkscape:pageopacity="0.0"
62 60 inkscape:pageshadow="2"
63 61 inkscape:zoom="0.97227183"
64   - inkscape:cx="-138.53895"
  62 + inkscape:cx="-139.56747"
65 63 inkscape:cy="32"
66 64 inkscape:current-layer="layer1"
67 65 showgrid="true"
68 66 inkscape:document-units="px"
69 67 inkscape:grid-bbox="true"
70 68 inkscape:window-width="1366"
71   - inkscape:window-height="744"
  69 + inkscape:window-height="714"
72 70 inkscape:window-x="0"
73   - inkscape:window-y="24"
74   - inkscape:window-maximized="1" />
  71 + inkscape:window-y="0"
  72 + inkscape:window-maximized="1"
  73 + inkscape:document-rotation="0"
  74 + inkscape:pagecheckerboard="true" />
75 75 <metadata
76 76 id="metadata2690">
77 77 <rdf:RDF>
... ... @@ -80,6 +80,7 @@
80 80 <dc:format>image/svg+xml</dc:format>
81 81 <dc:type
82 82 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  83 + <dc:title></dc:title>
83 84 </cc:Work>
84 85 </rdf:RDF>
85 86 </metadata>
... ...
branding/release-badge-en.svg 0 → 100644
... ... @@ -0,0 +1,132 @@
  1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2 +<svg
  3 + xmlns:dc="http://purl.org/dc/elements/1.1/"
  4 + xmlns:cc="http://creativecommons.org/ns#"
  5 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  6 + xmlns:svg="http://www.w3.org/2000/svg"
  7 + xmlns="http://www.w3.org/2000/svg"
  8 + xmlns:xlink="http://www.w3.org/1999/xlink"
  9 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  10 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  11 + width="602"
  12 + height="202"
  13 + viewBox="0 0 602 202.00001"
  14 + version="1.1"
  15 + id="svg8129"
  16 + inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
  17 + sodipodi:docname="release-badge-en.svg"
  18 + inkscape:export-filename="/home/jimmac/SparkleShare/flathub-mockups/assets/download-button/download.png"
  19 + inkscape:export-xdpi="96"
  20 + inkscape:export-ydpi="96">
  21 + <defs
  22 + id="defs8123">
  23 + <linearGradient
  24 + id="a"
  25 + x1="34.76569"
  26 + x2="25.431995"
  27 + y1="9.90843"
  28 + y2="28.426884"
  29 + gradientTransform="scale(0.9319351,1.0730361)"
  30 + gradientUnits="userSpaceOnUse">
  31 + <stop
  32 + offset="0"
  33 + stop-color="#fff"
  34 + stop-opacity="0"
  35 + id="stop2" />
  36 + <stop
  37 + offset="1"
  38 + stop-color="#fff"
  39 + stop-opacity=".27451"
  40 + id="stop4" />
  41 + </linearGradient>
  42 + <clipPath
  43 + id="vlpa">
  44 + <path
  45 + d="M 0,200.3 H 320 V 0 H 0 Z"
  46 + id="path4" />
  47 + </clipPath>
  48 + <clipPath
  49 + id="vlpa-5">
  50 + <path
  51 + d="M 0,200.3 H 320 V 0 H 0 Z"
  52 + id="path4-6" />
  53 + </clipPath>
  54 + </defs>
  55 + <sodipodi:namedview
  56 + id="base"
  57 + pagecolor="#ffffff"
  58 + bordercolor="#666666"
  59 + borderopacity="1.0"
  60 + inkscape:pageopacity="0.0"
  61 + inkscape:pageshadow="2"
  62 + inkscape:zoom="1.1171875"
  63 + inkscape:cx="297.92307"
  64 + inkscape:cy="217.5035"
  65 + inkscape:document-units="px"
  66 + inkscape:current-layer="layer1"
  67 + showgrid="false"
  68 + units="px"
  69 + borderlayer="true"
  70 + inkscape:showpageshadow="false"
  71 + inkscape:snap-nodes="false"
  72 + inkscape:snap-bbox="true"
  73 + inkscape:bbox-nodes="true"
  74 + inkscape:snap-bbox-midpoints="true"
  75 + inkscape:window-width="1366"
  76 + inkscape:window-height="714"
  77 + inkscape:window-x="0"
  78 + inkscape:window-y="0"
  79 + inkscape:window-maximized="1"
  80 + inkscape:document-rotation="0"
  81 + fit-margin-left="1"
  82 + fit-margin-right="1"
  83 + fit-margin-bottom="1"
  84 + fit-margin-top="1"
  85 + inkscape:pagecheckerboard="true">
  86 + <inkscape:grid
  87 + type="xygrid"
  88 + id="grid8722"
  89 + originx="1"
  90 + originy="0.99999005" />
  91 + </sodipodi:namedview>
  92 + <metadata
  93 + id="metadata8126">
  94 + <rdf:RDF>
  95 + <cc:Work
  96 + rdf:about="">
  97 + <dc:format>image/svg+xml</dc:format>
  98 + <dc:type
  99 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  100 + <dc:title />
  101 + </cc:Work>
  102 + </rdf:RDF>
  103 + </metadata>
  104 + <g
  105 + inkscape:label="Layer 1"
  106 + inkscape:groupmode="layer"
  107 + id="layer1"
  108 + transform="translate(1,-921.51966)">
  109 + <rect
  110 + style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#888a85;stroke-width:3.77953;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;paint-order:normal"
  111 + id="rect8720"
  112 + width="596.22046"
  113 + height="196.22047"
  114 + x="1.8897638"
  115 + y="924.40942"
  116 + rx="32"
  117 + ry="32" />
  118 + <image
  119 + width="151.99791"
  120 + height="148.69359"
  121 + preserveAspectRatio="none"
  122 + style="image-rendering:optimizeQuality"
  123 + xlink:href="data:image/png;base64,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 "
  124 + id="image995"
  125 + x="30.706444"
  126 + y="948.17285" />
  127 + <path
  128 + d="m 370.99424,999.18766 -13.10205,46.38504 h -6.37037 l -9.54321,-33.8989 c -0.40838,-1.4447 -0.65847,-3.0192 -0.74357,-4.7228 h -0.12842 a 23.996544,23.996545 0 0 1 -0.84062,4.6584 l -9.60593,33.9633 h -6.3084 l -13.58583,-46.38514 h 5.98291 l 9.86648,35.58094 a 23.407512,23.407512 0 0 1 0.77641,4.6585 h 0.16276 c 0.1075,-1.1437 0.43897,-2.695 1.00113,-4.6585 l 10.25469,-35.58094 h 5.20722 l 9.83215,35.84074 c 0.3449,1.228 0.60247,2.6742 0.77641,4.3337 h 0.12842 c 0.0859,-1.1197 0.37699,-2.6077 0.87496,-4.4628 l 9.47677,-35.70944 h 5.88809 z m 7.3058,4.85094 c -0.94961,0 -1.75814,-0.3239 -2.42632,-0.9712 -0.66816,-0.6473 -1.00112,-1.4647 -1.00112,-2.4584 0,-0.99004 0.33521,-1.81714 1.00112,-2.47624 0.67042,-0.657 1.47671,-0.9855 2.42632,-0.9855 0.97052,0 1.79473,0.3306 2.47558,0.9855 0.67787,0.6591 1.0183,1.4841 1.0183,2.47624 0,0.9497 -0.34043,1.7582 -1.0183,2.4264 -0.68085,0.6697 -1.50431,1.0032 -2.47558,1.0032 z m 2.58757,41.5341 h -5.30504 v -33.1241 h 5.30504 z m 35.65103,0 h -5.30503 v -18.8894 c 0,-7.0297 -2.56667,-10.5444 -7.697,-10.5444 -2.65252,0 -4.84812,0.9974 -6.58387,2.9921 -1.73723,1.9948 -2.604,4.5123 -2.604,7.5523 v 18.8894 h -5.30577 v -33.1241 h 5.30577 v 5.4984 h 0.12842 c 2.50095,-4.1829 6.12325,-6.274 10.86835,-6.274 3.62229,0 6.39351,1.1699 8.31291,3.5087 1.92087,2.3398 2.87871,5.7201 2.87871,10.1398 v 20.2504 h 0.004 z m 37.73763,0 h -5.30576 v -5.6291 h -0.12841 c -2.45841,4.2704 -6.25614,6.4054 -11.38648,6.4054 -4.16204,0 -7.48794,-1.4826 -9.97845,-4.4487 -2.48902,-2.9639 -3.73651,-7.0026 -3.73651,-12.1135 0,-5.4775 1.37962,-9.8668 4.14114,-13.1635 2.76001,-3.3012 6.43531,-4.9495 11.0311,-4.9495 4.54802,0 7.85825,1.79 9.9292,5.369 h 0.12841 v -20.50774 h 5.30576 z m -5.30353,-14.976 v -4.8847 c 0,-2.6727 -0.88616,-4.9364 -2.65176,-6.7937 -1.76934,-1.8522 -4.01049,-2.7817 -6.7287,-2.7817 -3.23483,0 -5.7806,1.1871 -7.63353,3.5582 -1.85446,2.374 -2.78243,5.6498 -2.78243,9.8328 0,3.8179 0.88991,6.831 2.66894,9.0401 1.7768,2.2099 4.16578,3.3155 7.16394,3.3155 2.95488,0 5.35281,-1.0653 7.1983,-3.2027 1.84176,-2.1329 2.76524,-4.8303 2.76524,-8.083 z m 28.49305,15.7515 c -4.89665,0 -8.80338,-1.546 -11.7254,-4.6405 -2.92276,-3.0951 -4.38228,-7.1983 -4.38228,-12.3084 0,-5.5635 1.52073,-9.9092 4.56145,-13.0351 3.03847,-3.128 7.14753,-4.6927 12.32415,-4.6927 4.93622,0 8.79368,1.52 11.56266,4.5614 2.7712,3.0384 4.15608,7.2566 4.15608,12.6474 0,5.2842 -1.49311,9.515 -4.47934,12.6967 -2.98697,3.1812 -6.99224,4.7712 -12.01732,4.7712 z m 0.38821,-30.2116 c -3.40877,0 -6.10458,1.1587 -8.08595,3.4768 -1.98582,2.321 -2.97577,5.5156 -2.97577,9.591 0,3.9254 1.00188,7.0177 3.01012,9.2835 2.00375,2.2619 4.68987,3.3953 8.0531,3.3953 3.42967,0 6.06428,-1.111 7.90975,-3.3326 1.844,-2.2203 2.76525,-5.3798 2.76525,-9.4767 0,-4.142 -0.922,-7.3314 -2.76525,-9.5755 -1.84547,-2.2397 -4.48156,-3.3618 -7.91125,-3.3618 z m 63.91339,-3.6873 -9.92918,33.1234 h -5.50063 l -6.82352,-23.7107 c -0.25905,-0.9064 -0.43299,-1.9284 -0.51661,-3.0714 h -0.12841 c -0.0643,0.7757 -0.29116,1.7768 -0.67937,3.0087 l -7.40584,23.7748 h -5.30651 l -10.02774,-33.1224 h 5.56258 l 6.85563,24.9043 c 0.21426,0.7555 0.3658,1.747 0.45241,2.9751 h 0.25906 c 0.065,-0.9482 0.2598,-1.9604 0.58305,-3.0393 l 7.63354,-24.8425 h 4.85113 l 6.85711,24.9709 c 0.21425,0.7989 0.37701,1.7911 0.48675,2.9757 h 0.25906 c 0.0418,-0.8406 0.22546,-1.832 0.54872,-2.9757 l 6.7287,-24.9709 z m 2.45842,31.9251 v -5.6932 c 2.88917,2.1367 6.0695,3.2027 9.54099,3.2027 4.6585,0 6.98627,-1.5528 6.98627,-4.6585 0,-0.8839 -0.19859,-1.6335 -0.59576,-2.2486 -0.39792,-0.6152 -0.93917,-1.158 -1.61705,-1.6334 -0.67936,-0.4734 -1.47818,-0.9011 -2.39196,-1.2774 a 172.94937,172.94937 0 0 0 -2.96009,-1.1811 c -1.46699,-0.583 -2.75628,-1.1698 -3.86492,-1.7641 -1.11088,-0.593 -2.03661,-1.261 -2.78241,-2.0061 a 7.4730242,7.4730242 0 0 1 -1.68273,-2.5404 c -0.37702,-0.9483 -0.56591,-2.0576 -0.56591,-3.3312 0,-1.5523 0.35612,-2.928 1.06534,-4.1241 0.71371,-1.1981 1.66184,-2.1993 2.84662,-3.0093 1.18702,-0.8085 2.54054,-1.4185 4.06201,-1.829 a 18.024098,18.024097 0 0 1 4.7033,-0.6122 c 2.86753,0 5.43418,0.4972 7.69999,1.4871 v 5.3692 c -2.43975,-1.5954 -5.24307,-2.3942 -8.41145,-2.3942 -0.99218,0 -1.88506,0.1136 -2.68388,0.3412 -0.7988,0.2247 -1.48191,0.545 -2.05302,0.9534 -0.57187,0.4106 -1.01308,0.901 -1.32589,1.4707 a 3.8708919,3.8708919 0 0 0 -0.46882,1.8933 c 0,0.8629 0.15527,1.5842 0.46882,2.1687 0.31281,0.5808 0.77046,1.0974 1.37441,1.5521 0.60547,0.4501 1.33857,0.8614 2.19935,1.2266 0.86527,0.3673 1.84549,0.7667 2.94741,1.1982 1.46326,0.5621 2.78017,1.1392 3.94405,1.7298 1.16463,0.5929 2.15606,1.2624 2.97503,2.006 a 7.8955745,7.8955752 0 0 1 1.89326,2.5704 c 0.44048,0.9728 0.6622,2.1256 0.6622,3.4618 0,1.6394 -0.35834,3.0624 -1.0825,4.2704 a 9.259533,9.259533 0 0 1 -2.89441,3.0071 c -1.20942,0.7987 -2.598,1.3916 -4.17323,1.7796 -1.57077,0.3884 -3.2214,0.5824 -4.94744,0.5824 -3.4125,0.01 -6.36737,-0.6525 -8.86758,-1.9679 z m -256.67561,-61.90744 -43.95944,6.4143 v 31.85494 h 43.95795 z m -78.97813,11.5208 v 26.74844 h 31.92049 v -31.40476 z m 0,56.93314 31.92049,4.7093 v -31.798 h -31.92049 z m 78.97813,11.6515 v -38.7403 h -43.95944 v 32.2566 z"
  129 + id="path1779"
  130 + style="fill:#0078d6;fill-opacity:1;stroke-width:0.746547" />
  131 + </g>
  132 +</svg>
... ...
configure.ac
... ... @@ -74,7 +74,6 @@ case &quot;$host&quot; in
74 74 AC_CONFIG_FILES(src/main/windows/resources.rc)
75 75 AC_CONFIG_FILES(src/main/windows/app-manifest.xml)
76 76  
77   - AC_CONFIG_FILES(win/makeruntime.sh)
78 77 AC_CONFIG_FILES(win/pw3270.nsi)
79 78  
80 79 if test "$host_cpu" = "x86_64"; then
... ...
gitsync.sh
... ... @@ -1,35 +0,0 @@
1   -#!/bin/bash
2   -#
3   -# https://help.github.com/articles/syncing-a-fork/
4   -#
5   -# https://help.github.com/articles/configuring-a-remote-for-a-fork/
6   -#
7   -# https://www.opentechguides.com/how-to/article/git/177/git-sync-repos.html
8   -#
9   -# Setup:
10   -#
11   -# git remote add github https://github.com/PerryWerneck/lib3270.git
12   -#
13   -#
14   -
15   -git push
16   -
17   -git fetch origin
18   -git merge
19   -
20   -BRANCH=$(git symbolic-ref --short HEAD)
21   -REPOS=$(git remote -v | grep -v origin | grep "(push)" | awk '{print $1}')
22   -
23   -for repo in ${REPOS}
24   -do
25   - echo "Getting updates to branch ${BRANCH} from ${repo} ..."
26   - git fetch "${repo}" "${BRANCH}"
27   -# git merge 2>&1 > /dev/null
28   -done
29   -
30   -for repo in ${REPOS}
31   -do
32   - echo "Updating ${repo} ..."
33   - git push ${repo}
34   -done
35   -
locale/Makefile.in
... ... @@ -68,6 +68,5 @@ all: \
68 68 $(foreach SRC, $(basename $(wildcard *.po)), $(BINDIR)/$(SRC)/LC_MESSAGES/$(PRODUCT_NAME).mo)
69 69  
70 70 install: \
71   - $(foreach SRC, $(basename $(wildcard *.po)), $(DESTDIR)/$(localedir)/$(SRC)/LC_MESSAGES/$(PRODUCT_NAME).mo)
72   -
  71 + $(foreach SRC, $(basename $(wildcard *.po)), $(DESTDIR)/$(localedir)/$(SRC)/LC_MESSAGES/$(PACKAGE_NAME).mo)
73 72  
... ...
locale/pt_BR.po
... ... @@ -5,8 +5,8 @@ msgid &quot;&quot;
5 5 msgstr ""
6 6 "Project-Id-Version: pw3270 5.0\n"
7 7 "Report-Msgid-Bugs-To: \n"
8   -"POT-Creation-Date: 2023-01-31 11:13-0300\n"
9   -"PO-Revision-Date: 2023-01-31 11:14-0300\n"
  8 +"POT-Creation-Date: 2023-04-08 01:14-0300\n"
  9 +"PO-Revision-Date: 2023-04-21 08:30-0300\n"
10 10 "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n"
11 11 "Language-Team: Brazilian Portuguese <perry.werneck@gmail.com>\n"
12 12 "Language: pt_BR\n"
... ... @@ -24,29 +24,29 @@ msgstr &quot;&quot;
24 24 msgid "\"%s\" is not a valid user interface name"
25 25 msgstr "\"%s\" não é um nome válido para interface de usuário"
26 26  
27   -#: src/objects/application/actions/about.c:118
  27 +#: src/objects/application/actions/about.c:136
28 28 #, c-format
29 29 msgid "%s for %s."
30 30 msgstr "%s para %s"
31 31  
32   -#: src/objects/application/actions/about.c:125
  32 +#: src/objects/application/actions/about.c:143
33 33 msgid "32 bits Linux"
34 34 msgstr "Linux 32 bits"
35 35  
36   -#: src/objects/application/actions/about.c:123
  36 +#: src/objects/application/actions/about.c:141
37 37 msgid "32 bits Windows"
38 38 msgstr "Windows 32 bits"
39 39  
40 40 #: src/objects/actions/save.c:167 src/objects/os/linux/savedesktopicon.c:233
41   -#: src/objects/os/windows/savedesktopicon.c:224
  41 +#: src/objects/os/windows/savedesktopicon.c:214
42 42 msgid "3270 session files"
43 43 msgstr "Arquivos de sessão TN3270"
44 44  
45   -#: src/objects/application/actions/about.c:127
  45 +#: src/objects/application/actions/about.c:145
46 46 msgid "64 bits Linux"
47 47 msgstr "Linux 64 bits"
48 48  
49   -#: src/objects/application/actions/about.c:121
  49 +#: src/objects/application/actions/about.c:139
50 50 msgid "64 bits Windows"
51 51 msgstr "Windows 64 bits"
52 52  
... ... @@ -57,7 +57,7 @@ msgstr &quot;&quot;
57 57 "<small><b>Alterações na posição da barra de ferramentas só tem efeito apos "
58 58 "reinício da aplicação</b></small>"
59 59  
60   -#: src/objects/application/actions/about.c:217 ui/windows.ui.xml:40
  60 +#: src/objects/application/actions/about.c:235 ui/windows.ui.xml:40
61 61 #: ui/windows.ui.xml:553 ui/macos.ui.xml:40 ui/macos.ui.xml:553
62 62 #: ui/linux.ui.xml:40 ui/linux.ui.xml:553
63 63 msgid "About PW3270"
... ... @@ -67,7 +67,7 @@ msgstr &quot;Sobre o PW3270&quot;
67 67 msgid "Action Name"
68 68 msgstr "Nome da ação"
69 69  
70   -#: src/objects/window/window.c:205
  70 +#: src/objects/window/window.c:206
71 71 msgid "Action Names"
72 72 msgstr "Nome das ações"
73 73  
... ... @@ -77,7 +77,7 @@ msgstr &quot;Nome das ações&quot;
77 77 msgid "Alert sound"
78 78 msgstr "Aviso sonoro"
79 79  
80   -#: src/main/tools.c:79
  80 +#: src/main/tools.c:68
81 81 msgid "All files"
82 82 msgstr "Todos os arquivos"
83 83  
... ... @@ -86,7 +86,7 @@ msgstr &quot;Todos os arquivos&quot;
86 86 msgid "Append to copy"
87 87 msgstr "Adicionar à cópia"
88 88  
89   -#: src/objects/application/actions/about.c:160
  89 +#: src/objects/application/actions/about.c:178
90 90 msgid "Apple version"
91 91 msgstr "Versão Apple"
92 92  
... ... @@ -116,7 +116,7 @@ msgstr &quot;Reconectar automaticamente&quot;
116 116 msgid "Available"
117 117 msgstr "Disponível"
118 118  
119   -#: src/objects/application/actions/about.c:163
  119 +#: src/objects/application/actions/about.c:181
120 120 msgid "Based on X3270 from"
121 121 msgstr "Baseado no X3270 por"
122 122  
... ... @@ -146,10 +146,6 @@ msgstr &quot;Não foi possível carregar arquivo de sessão&quot;
146 146 msgid "Can't load session preferences"
147 147 msgstr "Não foi possível carregar preferências da sessão"
148 148  
149   -#: src/objects/settings/gsettings.c:128
150   -msgid "Can't load system settings"
151   -msgstr "Não foi possível carregar configurações de sistema"
152   -
153 149 #: src/objects/application/actions/open.c:99 src/objects/window/terminal.c:192
154 150 #, c-format
155 151 msgid "Can't use \"%s\""
... ... @@ -224,11 +220,11 @@ msgstr &quot;Conectar ao iniciar&quot;
224 220 msgid "Connect to host"
225 221 msgstr "Conectar ao servidor"
226 222  
227   -#: src/objects/window/window.c:778 src/objects/window/page.c:218
  223 +#: src/objects/window/window.c:779 src/objects/window/page.c:218
228 224 msgid "Connected to host"
229 225 msgstr "Conectado no servidor"
230 226  
231   -#: src/objects/application/actions/about.c:161
  227 +#: src/objects/application/actions/about.c:179
232 228 msgid "Contributors"
233 229 msgstr "Contribuidores"
234 230  
... ... @@ -255,12 +251,12 @@ msgstr &quot;Copiar como tabela&quot;
255 251 msgid "Copy as text"
256 252 msgstr "Copiar como texto"
257 253  
258   -#: src/objects/application/actions/about.c:167
  254 +#: src/objects/application/actions/about.c:185
259 255 msgid "Copyright © 2008 Banco do Brasil S.A."
260 256 msgstr "Copyright © 2008 Banco do Brasil S.A."
261 257  
262 258 #: src/objects/os/linux/savedesktopicon.c:114
263   -#: src/objects/os/windows/savedesktopicon.c:109
  259 +#: src/objects/os/windows/savedesktopicon.c:99
264 260 #: src/objects/os/macos/savedesktopicon.c:54
265 261 msgid "Create shortcut for the current session"
266 262 msgstr "Criar atalho para a sessão atual."
... ... @@ -295,7 +291,7 @@ msgstr &quot;Recortar&quot;
295 291 msgid "Delete Field"
296 292 msgstr "Apagar campo"
297 293  
298   -#: src/objects/os/windows/savedesktopicon.c:82
  294 +#: src/objects/os/windows/savedesktopicon.c:72
299 295 msgid "Description"
300 296 msgstr "Descrição"
301 297  
... ... @@ -304,7 +300,7 @@ msgstr &quot;Descrição&quot;
304 300 msgid "Disconnect"
305 301 msgstr "Desconectar"
306 302  
307   -#: src/objects/window/window.c:778 src/objects/window/window.c:805
  303 +#: src/objects/window/window.c:779 src/objects/window/window.c:806
308 304 #: src/objects/window/page.c:207
309 305 msgid "Disconnected from host"
310 306 msgstr "Desconectado do servidor"
... ... @@ -365,7 +361,7 @@ msgstr &quot;Erro iniciando sessão&quot;
365 361 msgid "Field attributes"
366 362 msgstr "Atributos de campo"
367 363  
368   -#: src/objects/os/windows/savedesktopicon.c:221
  364 +#: src/objects/os/windows/savedesktopicon.c:211
369 365 msgid "File for session preferences"
370 366 msgstr "Arquivo para preferências da sessão"
371 367  
... ... @@ -392,9 +388,9 @@ msgstr &quot;Ajuda&quot;
392 388 msgid "Host and Emulation settings"
393 389 msgstr "Configuração de servidor e emulação"
394 390  
395   -#: src/objects/application/actions/about.c:119 src/objects/window/window.c:564
  391 +#: src/objects/application/actions/about.c:137 src/objects/window/window.c:565
396 392 #: src/objects/os/linux/savedesktopicon.c:102
397   -#: src/objects/os/windows/savedesktopicon.c:271
  393 +#: src/objects/os/windows/savedesktopicon.c:261
398 394 msgid "IBM 3270 Terminal emulator"
399 395 msgstr "Emulador de terminal IBM 3270"
400 396  
... ... @@ -434,6 +430,10 @@ msgstr &quot;Apenas ícones&quot;
434 430 msgid "If the action can be activated"
435 431 msgstr "Se a ação pode ser ativada"
436 432  
  433 +#: src/objects/application/application.c:541
  434 +msgid "Initialization has failed"
  435 +msgstr "Inicialização falhou"
  436 +
437 437 #: ui/windows.ui.xml:1022 ui/macos.ui.xml:1022 ui/linux.ui.xml:1022
438 438 msgid "Insert"
439 439 msgstr "Inserção"
... ... @@ -478,11 +478,11 @@ msgstr &quot;Altura do painel em linhas&quot;
478 478 msgid "Keypad width in columns"
479 479 msgstr "Largura do painel em colunas"
480 480  
481   -#: src/main/builder.c:112
  481 +#: src/main/builder.c:117
482 482 msgid "Keypads"
483 483 msgstr "Painéis"
484 484  
485   -#: src/objects/application/actions/about.c:171
  485 +#: src/objects/application/actions/about.c:189
486 486 msgid "LICENSE"
487 487 msgstr "LICENCA"
488 488  
... ... @@ -518,7 +518,7 @@ msgstr &quot;Barra de ferramentas&quot;
518 518 msgid "Main menu"
519 519 msgstr "Menu principal"
520 520  
521   -#: src/objects/application/actions/about.c:159
  521 +#: src/objects/application/actions/about.c:177
522 522 msgid "Maintainers"
523 523 msgstr "Mantenedores"
524 524  
... ... @@ -643,7 +643,7 @@ msgid &quot;Paste with left margin&quot;
643 643 msgstr "Colar com margem esquerda"
644 644  
645 645 #: src/objects/os/linux/savedesktopicon.c:71
646   -#: src/objects/os/windows/savedesktopicon.c:76
  646 +#: src/objects/os/windows/savedesktopicon.c:66
647 647 msgid "Path for the new shortcut"
648 648 msgstr "Caminho para o novo atalho"
649 649  
... ... @@ -718,7 +718,7 @@ msgid &quot;Save session preferences&quot;
718 718 msgstr "Salvar preferências da sessão"
719 719  
720 720 #: src/objects/os/linux/savedesktopicon.c:113
721   -#: src/objects/os/windows/savedesktopicon.c:108
  721 +#: src/objects/os/windows/savedesktopicon.c:98
722 722 #: src/objects/os/macos/savedesktopicon.c:53
723 723 msgid "Save session shortcut"
724 724 msgstr "Salvar atalho para a sessão"
... ... @@ -731,7 +731,7 @@ msgstr &quot;Salvar para arquivo de sessão&quot;
731 731 msgid "Save to shortcut file"
732 732 msgstr "Salvar para arquivo de atalho"
733 733  
734   -#: src/objects/os/windows/savedesktopicon.c:186
  734 +#: src/objects/os/windows/savedesktopicon.c:176
735 735 msgid "Save to windows shortcut"
736 736 msgstr "Salvar para atalho windows"
737 737  
... ... @@ -796,7 +796,7 @@ msgid &quot;Session Trace&quot;
796 796 msgstr "Trace da sessão"
797 797  
798 798 #: src/objects/actions/save.c:63 src/objects/os/linux/savedesktopicon.c:85
799   -#: src/objects/os/windows/savedesktopicon.c:96
  799 +#: src/objects/os/windows/savedesktopicon.c:86
800 800 msgid "Session file"
801 801 msgstr "Arquivo de sessão"
802 802  
... ... @@ -811,7 +811,7 @@ msgid &quot;Session in new window&quot;
811 811 msgstr "Sessão em nova janela"
812 812  
813 813 #: src/objects/actions/save.c:56 src/objects/os/linux/savedesktopicon.c:77
814   -#: src/objects/os/windows/savedesktopicon.c:88
  814 +#: src/objects/os/windows/savedesktopicon.c:78
815 815 msgid "Session name"
816 816 msgstr "Nome da sessão"
817 817  
... ... @@ -847,7 +847,7 @@ msgid &quot;Setup toolbar&quot;
847 847 msgstr "Configurar barra de ferramentas"
848 848  
849 849 #: src/objects/os/linux/savedesktopicon.c:70
850   -#: src/objects/os/windows/savedesktopicon.c:75
  850 +#: src/objects/os/windows/savedesktopicon.c:65
851 851 msgid "Shortcut file"
852 852 msgstr "Arquivo de atalho"
853 853  
... ... @@ -910,11 +910,11 @@ msgstr &quot;Simbólico&quot;
910 910 msgid "System default"
911 911 msgstr "Padrão do sistema"
912 912  
913   -#: src/objects/settings/gsettings.c:133
  913 +#: src/objects/application/application.c:546
914 914 msgid "System settings error"
915 915 msgstr "Erro nas configurações de sistema"
916 916  
917   -#: src/main/tools.c:75
  917 +#: src/main/tools.c:64
918 918 msgid "TN3270 Session Files"
919 919 msgstr "Arquivos de sessão TN3270"
920 920  
... ... @@ -960,7 +960,7 @@ msgid &quot;The file to save the current session preferences&quot;
960 960 msgstr "O arquivo com as preferências da sessão atual"
961 961  
962 962 #: src/objects/os/linux/savedesktopicon.c:86
963   -#: src/objects/os/windows/savedesktopicon.c:97
  963 +#: src/objects/os/windows/savedesktopicon.c:87
964 964 msgid "The file with the session preferences for this shortcut"
965 965 msgstr "O arquivo com as preferências da sessão para esse atalho"
966 966  
... ... @@ -976,7 +976,7 @@ msgstr &quot;A etiqueta da ação&quot;
976 976 msgid "The name of associated action"
977 977 msgstr "Nome da ação associada"
978 978  
979   -#: src/objects/window/window.c:206
  979 +#: src/objects/window/window.c:207
980 980 msgid "The name of the actions in the header bar"
981 981 msgstr "O nome das ações na barra de título"
982 982  
... ... @@ -1005,7 +1005,7 @@ msgid &quot;The position of the keypad&quot;
1005 1005 msgstr "A posição do painel"
1006 1006  
1007 1007 #: src/objects/actions/save.c:57 src/objects/os/linux/savedesktopicon.c:79
1008   -#: src/objects/os/windows/savedesktopicon.c:90
  1008 +#: src/objects/os/windows/savedesktopicon.c:80
1009 1009 msgid "The session name used in the window/tab title (empty for default)"
1010 1010 msgstr ""
1011 1011 "O nome da sessão usada no título da janela/aba. Vazio para usar o valor "
... ... @@ -1091,10 +1091,9 @@ msgstr &quot;Mostrar posição do cursor&quot;
1091 1091 msgid "UI Type"
1092 1092 msgstr "Interface de usuário"
1093 1093  
1094   -#: src/objects/settings/gsettings.c:131
1095   -msgid ""
1096   -"Unable to initialize system settings. Application may crash in unexpected "
1097   -"ways"
  1094 +#: src/objects/application/application.c:544
  1095 +#, fuzzy
  1096 +msgid "Unable to initialize settings. Application may crash in unexpected ways"
1098 1097 msgstr ""
1099 1098 "Não foi possível iniciar configuração de sistema. Aplicação pode falhar de "
1100 1099 "forma inesperada"
... ... @@ -1109,7 +1108,7 @@ msgstr &quot;Incapaz de ler preferências de sessa de &#39;%s&#39;&quot;
1109 1108 msgid "Unselect"
1110 1109 msgstr "Remover seleção"
1111 1110  
1112   -#: src/objects/application/actions/about.c:98
  1111 +#: src/objects/application/actions/about.c:116
1113 1112 #, c-format
1114 1113 msgid "Unstable version %s-%s"
1115 1114 msgstr "Versão instável %s-%s"
... ... @@ -1119,7 +1118,7 @@ msgstr &quot;Versão instável %s-%s&quot;
1119 1118 msgid "Use +/- for field navigation"
1120 1119 msgstr "Usar teclas +/- para navegar por campos"
1121 1120  
1122   -#: src/objects/application/actions/about.c:100
  1121 +#: src/objects/application/actions/about.c:118
1123 1122 #, c-format
1124 1123 msgid "Version %s-%s"
1125 1124 msgstr "Versão %s-%s"
... ... @@ -1131,7 +1130,7 @@ msgstr &quot;Versão %s-%s&quot;
1131 1130 msgid "View"
1132 1131 msgstr "Exibir"
1133 1132  
1134   -#: src/objects/application/actions/about.c:191
  1133 +#: src/objects/application/actions/about.c:209
1135 1134 msgid "View this project on github"
1136 1135 msgstr "Visite-nos no github"
1137 1136  
... ... @@ -1140,7 +1139,7 @@ msgstr &quot;Visite-nos no github&quot;
1140 1139 msgid "Window with default session"
1141 1140 msgstr "Janela com sessão padrão"
1142 1141  
1143   -#: src/objects/os/windows/savedesktopicon.c:189
  1142 +#: src/objects/os/windows/savedesktopicon.c:179
1144 1143 msgid "Windows shortcuts"
1145 1144 msgstr "Atalhos windows"
1146 1145  
... ... @@ -1150,7 +1149,7 @@ msgstr &quot;_Aplicar&quot;
1150 1149  
1151 1150 #: src/objects/actions/save.c:103 src/objects/settings/dialog.c:78
1152 1151 #: src/objects/os/linux/savedesktopicon.c:140
1153   -#: src/objects/os/windows/savedesktopicon.c:134
  1152 +#: src/objects/os/windows/savedesktopicon.c:124
1154 1153 msgid "_Cancel"
1155 1154 msgstr "_Cancelar"
1156 1155  
... ... @@ -1200,7 +1199,7 @@ msgid &quot;_Rename session&quot;
1200 1199 msgstr "Renomear sessão"
1201 1200  
1202 1201 #: src/objects/actions/save.c:104 src/objects/os/linux/savedesktopicon.c:141
1203   -#: src/objects/os/windows/savedesktopicon.c:135
  1202 +#: src/objects/os/windows/savedesktopicon.c:125
1204 1203 msgid "_Save"
1205 1204 msgstr "_Salvar"
1206 1205  
... ... @@ -1208,11 +1207,11 @@ msgstr &quot;_Salvar&quot;
1208 1207 msgid "_View"
1209 1208 msgstr "_Exibir"
1210 1209  
1211   -#: src/objects/application/actions/about.c:190
  1210 +#: src/objects/application/actions/about.c:208
1212 1211 msgid "https://github.com/PerryWerneck/pw3270"
1213 1212 msgstr "https://github.com/PerryWerneck/pw3270"
1214 1213  
1215   -#: src/objects/application/actions/about.c:193
  1214 +#: src/objects/application/actions/about.c:211
1216 1215 msgid "translator-credits"
1217 1216 msgstr "translator-credits"
1218 1217  
... ... @@ -1647,6 +1646,9 @@ msgstr &quot;translator-credits&quot;
1647 1646 #~ msgid "Can't load plugin %s"
1648 1647 #~ msgstr "Não foi possível carregar plugin %s"
1649 1648  
  1649 +#~ msgid "Can't load system settings"
  1650 +#~ msgstr "Não foi possível carregar configurações de sistema"
  1651 +
1650 1652 #~ msgid "Can't open \"%s\""
1651 1653 #~ msgstr "Não foi possível abrir %s"
1652 1654  
... ... @@ -2669,9 +2671,6 @@ msgstr &quot;translator-credits&quot;
2669 2671 #~ msgid "Operation failed"
2670 2672 #~ msgstr "Operação falhou"
2671 2673  
2672   -#~ msgid "Operation has failed"
2673   -#~ msgstr "Operação falhou"
2674   -
2675 2674 #~ msgid "Option '%c:' is not supported"
2676 2675 #~ msgstr "Opção não suportada: '%c:'"
2677 2676  
... ...
locale/pw3270.pot
... ... @@ -8,7 +8,7 @@ msgid &quot;&quot;
8 8 msgstr ""
9 9 "Project-Id-Version: PACKAGE VERSION\n"
10 10 "Report-Msgid-Bugs-To: \n"
11   -"POT-Creation-Date: 2023-03-29 15:03-0300\n"
  11 +"POT-Creation-Date: 2023-04-19 09:27-0300\n"
12 12 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 13 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14 14 "Language-Team: LANGUAGE <LL@li.org>\n"
... ... @@ -22,29 +22,29 @@ msgstr &quot;&quot;
22 22 msgid "\"%s\" is not a valid user interface name"
23 23 msgstr ""
24 24  
25   -#: src/objects/application/actions/about.c:118
  25 +#: src/objects/application/actions/about.c:136
26 26 #, c-format
27 27 msgid "%s for %s."
28 28 msgstr ""
29 29  
30   -#: src/objects/application/actions/about.c:125
  30 +#: src/objects/application/actions/about.c:143
31 31 msgid "32 bits Linux"
32 32 msgstr ""
33 33  
34   -#: src/objects/application/actions/about.c:123
  34 +#: src/objects/application/actions/about.c:141
35 35 msgid "32 bits Windows"
36 36 msgstr ""
37 37  
38 38 #: src/objects/actions/save.c:167 src/objects/os/linux/savedesktopicon.c:233
39   -#: src/objects/os/windows/savedesktopicon.c:224
  39 +#: src/objects/os/windows/savedesktopicon.c:214
40 40 msgid "3270 session files"
41 41 msgstr ""
42 42  
43   -#: src/objects/application/actions/about.c:127
  43 +#: src/objects/application/actions/about.c:145
44 44 msgid "64 bits Linux"
45 45 msgstr ""
46 46  
47   -#: src/objects/application/actions/about.c:121
  47 +#: src/objects/application/actions/about.c:139
48 48 msgid "64 bits Windows"
49 49 msgstr ""
50 50  
... ... @@ -53,7 +53,7 @@ msgid &quot;&quot;
53 53 "<small><b>The toolbar position only takes effect after restart</b></small>"
54 54 msgstr ""
55 55  
56   -#: src/objects/application/actions/about.c:217 ui/windows.ui.xml:40
  56 +#: src/objects/application/actions/about.c:235 ui/windows.ui.xml:40
57 57 #: ui/windows.ui.xml:553 ui/macos.ui.xml:40 ui/macos.ui.xml:553
58 58 #: ui/linux.ui.xml:40 ui/linux.ui.xml:553
59 59 msgid "About PW3270"
... ... @@ -63,7 +63,7 @@ msgstr &quot;&quot;
63 63 msgid "Action Name"
64 64 msgstr ""
65 65  
66   -#: src/objects/window/window.c:205
  66 +#: src/objects/window/window.c:206
67 67 msgid "Action Names"
68 68 msgstr ""
69 69  
... ... @@ -73,7 +73,7 @@ msgstr &quot;&quot;
73 73 msgid "Alert sound"
74 74 msgstr ""
75 75  
76   -#: src/main/tools.c:79
  76 +#: src/main/tools.c:68
77 77 msgid "All files"
78 78 msgstr ""
79 79  
... ... @@ -82,7 +82,7 @@ msgstr &quot;&quot;
82 82 msgid "Append to copy"
83 83 msgstr ""
84 84  
85   -#: src/objects/application/actions/about.c:160
  85 +#: src/objects/application/actions/about.c:178
86 86 msgid "Apple version"
87 87 msgstr ""
88 88  
... ... @@ -112,7 +112,7 @@ msgstr &quot;&quot;
112 112 msgid "Available"
113 113 msgstr ""
114 114  
115   -#: src/objects/application/actions/about.c:163
  115 +#: src/objects/application/actions/about.c:181
116 116 msgid "Based on X3270 from"
117 117 msgstr ""
118 118  
... ... @@ -142,10 +142,6 @@ msgstr &quot;&quot;
142 142 msgid "Can't load session preferences"
143 143 msgstr ""
144 144  
145   -#: src/objects/settings/gsettings.c:128
146   -msgid "Can't load system settings"
147   -msgstr ""
148   -
149 145 #: src/objects/application/actions/open.c:99 src/objects/window/terminal.c:192
150 146 #, c-format
151 147 msgid "Can't use \"%s\""
... ... @@ -220,11 +216,11 @@ msgstr &quot;&quot;
220 216 msgid "Connect to host"
221 217 msgstr ""
222 218  
223   -#: src/objects/window/window.c:778 src/objects/window/page.c:218
  219 +#: src/objects/window/window.c:779 src/objects/window/page.c:218
224 220 msgid "Connected to host"
225 221 msgstr ""
226 222  
227   -#: src/objects/application/actions/about.c:161
  223 +#: src/objects/application/actions/about.c:179
228 224 msgid "Contributors"
229 225 msgstr ""
230 226  
... ... @@ -251,12 +247,12 @@ msgstr &quot;&quot;
251 247 msgid "Copy as text"
252 248 msgstr ""
253 249  
254   -#: src/objects/application/actions/about.c:167
  250 +#: src/objects/application/actions/about.c:185
255 251 msgid "Copyright © 2008 Banco do Brasil S.A."
256 252 msgstr ""
257 253  
258 254 #: src/objects/os/linux/savedesktopicon.c:114
259   -#: src/objects/os/windows/savedesktopicon.c:109
  255 +#: src/objects/os/windows/savedesktopicon.c:99
260 256 #: src/objects/os/macos/savedesktopicon.c:54
261 257 msgid "Create shortcut for the current session"
262 258 msgstr ""
... ... @@ -291,7 +287,7 @@ msgstr &quot;&quot;
291 287 msgid "Delete Field"
292 288 msgstr ""
293 289  
294   -#: src/objects/os/windows/savedesktopicon.c:82
  290 +#: src/objects/os/windows/savedesktopicon.c:72
295 291 msgid "Description"
296 292 msgstr ""
297 293  
... ... @@ -300,7 +296,7 @@ msgstr &quot;&quot;
300 296 msgid "Disconnect"
301 297 msgstr ""
302 298  
303   -#: src/objects/window/window.c:778 src/objects/window/window.c:805
  299 +#: src/objects/window/window.c:779 src/objects/window/window.c:806
304 300 #: src/objects/window/page.c:207
305 301 msgid "Disconnected from host"
306 302 msgstr ""
... ... @@ -361,7 +357,7 @@ msgstr &quot;&quot;
361 357 msgid "Field attributes"
362 358 msgstr ""
363 359  
364   -#: src/objects/os/windows/savedesktopicon.c:221
  360 +#: src/objects/os/windows/savedesktopicon.c:211
365 361 msgid "File for session preferences"
366 362 msgstr ""
367 363  
... ... @@ -388,9 +384,9 @@ msgstr &quot;&quot;
388 384 msgid "Host and Emulation settings"
389 385 msgstr ""
390 386  
391   -#: src/objects/application/actions/about.c:119 src/objects/window/window.c:564
  387 +#: src/objects/application/actions/about.c:137 src/objects/window/window.c:565
392 388 #: src/objects/os/linux/savedesktopicon.c:102
393   -#: src/objects/os/windows/savedesktopicon.c:271
  389 +#: src/objects/os/windows/savedesktopicon.c:261
394 390 msgid "IBM 3270 Terminal emulator"
395 391 msgstr ""
396 392  
... ... @@ -430,6 +426,10 @@ msgstr &quot;&quot;
430 426 msgid "If the action can be activated"
431 427 msgstr ""
432 428  
  429 +#: src/objects/application/application.c:541
  430 +msgid "Initialization has failed"
  431 +msgstr ""
  432 +
433 433 #: ui/windows.ui.xml:1022 ui/macos.ui.xml:1022 ui/linux.ui.xml:1022
434 434 msgid "Insert"
435 435 msgstr ""
... ... @@ -474,11 +474,11 @@ msgstr &quot;&quot;
474 474 msgid "Keypad width in columns"
475 475 msgstr ""
476 476  
477   -#: src/main/builder.c:112
  477 +#: src/main/builder.c:117
478 478 msgid "Keypads"
479 479 msgstr ""
480 480  
481   -#: src/objects/application/actions/about.c:171
  481 +#: src/objects/application/actions/about.c:189
482 482 msgid "LICENSE"
483 483 msgstr ""
484 484  
... ... @@ -514,7 +514,7 @@ msgstr &quot;&quot;
514 514 msgid "Main menu"
515 515 msgstr ""
516 516  
517   -#: src/objects/application/actions/about.c:159
  517 +#: src/objects/application/actions/about.c:177
518 518 msgid "Maintainers"
519 519 msgstr ""
520 520  
... ... @@ -639,7 +639,7 @@ msgid &quot;Paste with left margin&quot;
639 639 msgstr ""
640 640  
641 641 #: src/objects/os/linux/savedesktopicon.c:71
642   -#: src/objects/os/windows/savedesktopicon.c:76
  642 +#: src/objects/os/windows/savedesktopicon.c:66
643 643 msgid "Path for the new shortcut"
644 644 msgstr ""
645 645  
... ... @@ -714,7 +714,7 @@ msgid &quot;Save session preferences&quot;
714 714 msgstr ""
715 715  
716 716 #: src/objects/os/linux/savedesktopicon.c:113
717   -#: src/objects/os/windows/savedesktopicon.c:108
  717 +#: src/objects/os/windows/savedesktopicon.c:98
718 718 #: src/objects/os/macos/savedesktopicon.c:53
719 719 msgid "Save session shortcut"
720 720 msgstr ""
... ... @@ -727,7 +727,7 @@ msgstr &quot;&quot;
727 727 msgid "Save to shortcut file"
728 728 msgstr ""
729 729  
730   -#: src/objects/os/windows/savedesktopicon.c:186
  730 +#: src/objects/os/windows/savedesktopicon.c:176
731 731 msgid "Save to windows shortcut"
732 732 msgstr ""
733 733  
... ... @@ -792,7 +792,7 @@ msgid &quot;Session Trace&quot;
792 792 msgstr ""
793 793  
794 794 #: src/objects/actions/save.c:63 src/objects/os/linux/savedesktopicon.c:85
795   -#: src/objects/os/windows/savedesktopicon.c:96
  795 +#: src/objects/os/windows/savedesktopicon.c:86
796 796 msgid "Session file"
797 797 msgstr ""
798 798  
... ... @@ -807,7 +807,7 @@ msgid &quot;Session in new window&quot;
807 807 msgstr ""
808 808  
809 809 #: src/objects/actions/save.c:56 src/objects/os/linux/savedesktopicon.c:77
810   -#: src/objects/os/windows/savedesktopicon.c:88
  810 +#: src/objects/os/windows/savedesktopicon.c:78
811 811 msgid "Session name"
812 812 msgstr ""
813 813  
... ... @@ -843,7 +843,7 @@ msgid &quot;Setup toolbar&quot;
843 843 msgstr ""
844 844  
845 845 #: src/objects/os/linux/savedesktopicon.c:70
846   -#: src/objects/os/windows/savedesktopicon.c:75
  846 +#: src/objects/os/windows/savedesktopicon.c:65
847 847 msgid "Shortcut file"
848 848 msgstr ""
849 849  
... ... @@ -906,11 +906,11 @@ msgstr &quot;&quot;
906 906 msgid "System default"
907 907 msgstr ""
908 908  
909   -#: src/objects/settings/gsettings.c:133
  909 +#: src/objects/application/application.c:546
910 910 msgid "System settings error"
911 911 msgstr ""
912 912  
913   -#: src/main/tools.c:75
  913 +#: src/main/tools.c:64
914 914 msgid "TN3270 Session Files"
915 915 msgstr ""
916 916  
... ... @@ -956,7 +956,7 @@ msgid &quot;The file to save the current session preferences&quot;
956 956 msgstr ""
957 957  
958 958 #: src/objects/os/linux/savedesktopicon.c:86
959   -#: src/objects/os/windows/savedesktopicon.c:97
  959 +#: src/objects/os/windows/savedesktopicon.c:87
960 960 msgid "The file with the session preferences for this shortcut"
961 961 msgstr ""
962 962  
... ... @@ -972,7 +972,7 @@ msgstr &quot;&quot;
972 972 msgid "The name of associated action"
973 973 msgstr ""
974 974  
975   -#: src/objects/window/window.c:206
  975 +#: src/objects/window/window.c:207
976 976 msgid "The name of the actions in the header bar"
977 977 msgstr ""
978 978  
... ... @@ -1001,7 +1001,7 @@ msgid &quot;The position of the keypad&quot;
1001 1001 msgstr ""
1002 1002  
1003 1003 #: src/objects/actions/save.c:57 src/objects/os/linux/savedesktopicon.c:79
1004   -#: src/objects/os/windows/savedesktopicon.c:90
  1004 +#: src/objects/os/windows/savedesktopicon.c:80
1005 1005 msgid "The session name used in the window/tab title (empty for default)"
1006 1006 msgstr ""
1007 1007  
... ... @@ -1085,10 +1085,8 @@ msgstr &quot;&quot;
1085 1085 msgid "UI Type"
1086 1086 msgstr ""
1087 1087  
1088   -#: src/objects/settings/gsettings.c:131
1089   -msgid ""
1090   -"Unable to initialize system settings. Application may crash in unexpected "
1091   -"ways"
  1088 +#: src/objects/application/application.c:544
  1089 +msgid "Unable to initialize settings. Application may crash in unexpected ways"
1092 1090 msgstr ""
1093 1091  
1094 1092 #: src/objects/os/windows/open.c:137
... ... @@ -1101,7 +1099,7 @@ msgstr &quot;&quot;
1101 1099 msgid "Unselect"
1102 1100 msgstr ""
1103 1101  
1104   -#: src/objects/application/actions/about.c:98
  1102 +#: src/objects/application/actions/about.c:116
1105 1103 #, c-format
1106 1104 msgid "Unstable version %s-%s"
1107 1105 msgstr ""
... ... @@ -1111,7 +1109,7 @@ msgstr &quot;&quot;
1111 1109 msgid "Use +/- for field navigation"
1112 1110 msgstr ""
1113 1111  
1114   -#: src/objects/application/actions/about.c:100
  1112 +#: src/objects/application/actions/about.c:118
1115 1113 #, c-format
1116 1114 msgid "Version %s-%s"
1117 1115 msgstr ""
... ... @@ -1123,7 +1121,7 @@ msgstr &quot;&quot;
1123 1121 msgid "View"
1124 1122 msgstr ""
1125 1123  
1126   -#: src/objects/application/actions/about.c:191
  1124 +#: src/objects/application/actions/about.c:209
1127 1125 msgid "View this project on github"
1128 1126 msgstr ""
1129 1127  
... ... @@ -1132,7 +1130,7 @@ msgstr &quot;&quot;
1132 1130 msgid "Window with default session"
1133 1131 msgstr ""
1134 1132  
1135   -#: src/objects/os/windows/savedesktopicon.c:189
  1133 +#: src/objects/os/windows/savedesktopicon.c:179
1136 1134 msgid "Windows shortcuts"
1137 1135 msgstr ""
1138 1136  
... ... @@ -1142,7 +1140,7 @@ msgstr &quot;&quot;
1142 1140  
1143 1141 #: src/objects/actions/save.c:103 src/objects/settings/dialog.c:78
1144 1142 #: src/objects/os/linux/savedesktopicon.c:140
1145   -#: src/objects/os/windows/savedesktopicon.c:134
  1143 +#: src/objects/os/windows/savedesktopicon.c:124
1146 1144 msgid "_Cancel"
1147 1145 msgstr ""
1148 1146  
... ... @@ -1192,7 +1190,7 @@ msgid &quot;_Rename session&quot;
1192 1190 msgstr ""
1193 1191  
1194 1192 #: src/objects/actions/save.c:104 src/objects/os/linux/savedesktopicon.c:141
1195   -#: src/objects/os/windows/savedesktopicon.c:135
  1193 +#: src/objects/os/windows/savedesktopicon.c:125
1196 1194 msgid "_Save"
1197 1195 msgstr ""
1198 1196  
... ... @@ -1200,10 +1198,10 @@ msgstr &quot;&quot;
1200 1198 msgid "_View"
1201 1199 msgstr ""
1202 1200  
1203   -#: src/objects/application/actions/about.c:190
  1201 +#: src/objects/application/actions/about.c:208
1204 1202 msgid "https://github.com/PerryWerneck/pw3270"
1205 1203 msgstr ""
1206 1204  
1207   -#: src/objects/application/actions/about.c:193
  1205 +#: src/objects/application/actions/about.c:211
1208 1206 msgid "translator-credits"
1209 1207 msgstr ""
... ...
msys-run.sh 0 → 100644
... ... @@ -0,0 +1,24 @@
  1 +#!/bin/bash
  2 +
  3 +make all
  4 +if [ "$?" != "0" ]; then
  5 + exit -1
  6 +fi
  7 +
  8 +make DESTDIR=${PWD}/.build install
  9 +if [ "$?" != "0" ]; then
  10 + exit -1
  11 +fi
  12 +
  13 +bash ./win/makeruntime.sh
  14 +if [ "$?" != "0" ]; then
  15 + exit -1
  16 +fi
  17 +
  18 +.build/mingw64/bin/pw3270.exe
  19 +if [ "$?" != "0" ]; then
  20 + exit -1
  21 +fi
  22 +
  23 +
  24 +
... ...
pushtag.sh
... ... @@ -1,32 +0,0 @@
1   -#!/bin/bash
2   -#
3   -# https://help.github.com/articles/syncing-a-fork/
4   -#
5   -# https://help.github.com/articles/configuring-a-remote-for-a-fork/
6   -#
7   -# https://www.opentechguides.com/how-to/article/git/177/git-sync-repos.html
8   -#
9   -# Setup:
10   -#
11   -# git remote add github https://github.com/PerryWerneck/lib3270.git
12   -#
13   -#
14   -
15   -if [ -z ${1} ]; then
16   - echo "Inform target tag"
17   - exit -1
18   -fi
19   -
20   -git push
21   -
22   -git fetch origin
23   -
24   -git tag -f ${1}
25   -git push -f --tags
26   -
27   -for repo in $(git remote -v | grep -v origin | grep "(push)" | awk '{print $1}')
28   -do
29   - echo "Updating ${repo} ..."
30   - git push ${repo} -f --tags
31   -done
32   -
pw3270.cbp
... ... @@ -58,6 +58,9 @@
58 58 <Unit filename="src/main/builder.c">
59 59 <Option compilerVar="CC" />
60 60 </Unit>
  61 + <Unit filename="src/main/linux/tools.c">
  62 + <Option compilerVar="CC" />
  63 + </Unit>
61 64 <Unit filename="src/main/main.c">
62 65 <Option compilerVar="CC" />
63 66 </Unit>
... ... @@ -69,6 +72,9 @@
69 72 <Option compilerVar="CC" />
70 73 </Unit>
71 74 <Unit filename="src/main/windows/resources.rc" />
  75 + <Unit filename="src/main/windows/tools.c">
  76 + <Option compilerVar="CC" />
  77 + </Unit>
72 78 <Unit filename="src/objects/actions/abstract.c">
73 79 <Option compilerVar="CC" />
74 80 </Unit>
... ...
schemas/Makefile.in
... ... @@ -55,15 +55,15 @@ all:
55 55 install: \
56 56 all
57 57  
58   - @$(MKDIR) $(DESTDIR)/$(schemadir)
  58 + @$(MKDIR) $(DESTDIR)$(schemadir)
59 59 @$(INSTALL_DATA) \
60 60 application.gschema.xml \
61   - $(DESTDIR)/$(schemadir)/$(PRODUCT_NAME)-application.gschema.xml
  61 + $(DESTDIR)$(schemadir)/$(PRODUCT_NAME)-application.gschema.xml
62 62  
63 63 @$(INSTALL_DATA) \
64 64 window.gschema.xml \
65   - $(DESTDIR)/$(schemadir)/$(PRODUCT_NAME)-window.gschema.xml
  65 + $(DESTDIR)$(schemadir)/$(PRODUCT_NAME)-window.gschema.xml
66 66  
67 67 @$(GLIB_SCHEMA_COMPILER) \
68   - $(DESTDIR)/$(schemadir)
  68 + $(DESTDIR)$(schemadir)
69 69  
... ...
src/include/pw3270.h
... ... @@ -63,6 +63,8 @@ struct _Pw3270SettingsPage {
63 63 };
64 64  
65 65 void gtk_file_chooser_set_pw3270_filters(GtkFileChooser *chooser);
  66 +gchar * pw3270_build_data_filename(const char *filename);
  67 +gchar * pw3270_build_data_path(const char *path);
66 68  
67 69 G_END_DECLS
68 70  
... ...
src/main/builder.c
... ... @@ -20,12 +20,17 @@
20 20 #include "private.h"
21 21 #include <pw3270/application.h>
22 22 #include <pw3270/keypad.h>
  23 + #include <pw3270.h>
23 24  
24 25 GtkBuilder * pw3270_application_builder_new(GApplication *application) {
25 26  
26 27 #if !defined(DEBUG)
27 28  
28   - lib3270_autoptr(char) filename = lib3270_build_data_filename(G_STRINGIFY(PRODUCT_NAME) ".ui.xml",NULL);
  29 + #if defined(G_OS_WIN32)
  30 + g_autofree gchar * filename = pw3270_build_data_filename(G_STRINGIFY(PRODUCT_NAME) ".ui.xml");
  31 + #else
  32 + lib3270_autoptr(char) filename = lib3270_build_data_filename(G_STRINGIFY(PRODUCT_NAME) ".ui.xml",NULL);
  33 + #endif // G_OS_WIN32
29 34  
30 35 #elif defined(G_OS_UNIX)
31 36  
... ...
src/main/linux/tools.c 0 → 100644
... ... @@ -0,0 +1,49 @@
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
  3 +/*
  4 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  5 + *
  6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
  10 + *
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
  15 + *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
  18 + */
  19 +
  20 + #include <config.h>
  21 + #include <pw3270.h>
  22 +
  23 + gchar * pw3270_build_data_path(const char *name) {
  24 +
  25 + gchar * path = g_build_filename(G_STRINGIFY(DATADIR),name,NULL);
  26 +
  27 + if(g_file_test(path,G_FILE_TEST_IS_DIR)) {
  28 + return path;
  29 + }
  30 + g_free(path);
  31 +
  32 + g_message("Cant find path for '%s'",path);
  33 + return NULL;
  34 +
  35 + }
  36 +
  37 + gchar * pw3270_build_data_filename(const char *filename) {
  38 +
  39 + gchar * path = g_build_filename(G_STRINGIFY(DATADIR),filename,NULL);
  40 +
  41 + if(g_file_test(path,G_FILE_TEST_IS_REGULAR)) {
  42 + return path;
  43 + }
  44 + g_free(path);
  45 +
  46 + g_error("Cant find '%s'",filename);
  47 + return NULL;
  48 + }
  49 +
... ...
src/main/main.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 3 /*
2   - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
3   - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
4   - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob
5   - * o nome G3270.
6   - *
7 4 * Copyright (C) <2008> <Banco do Brasil S.A.>
8 5 *
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., 51 Franklin
20   - * St, Fifth Floor, Boston, MA 02110-1301 USA
21   - *
22   - * Este programa está nomeado como main.c e possui - linhas de código.
23   - *
24   - * Contatos:
  6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
25 10 *
26   - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
27   - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
28 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
29 18 */
30 19  
31 20 /**
... ... @@ -74,10 +63,19 @@ int main (int argc, char **argv) {
74 63  
75 64 #ifdef _WIN32
76 65 {
77   - g_autofree gchar * appdir = g_win32_get_package_installation_directory_of_module(NULL);
78   - g_autofree gchar * locdir = g_build_filename(appdir,"locale",NULL);
79   - debug("Locale from \"%s\"\n",locdir);
80   - bindtextdomain( G_STRINGIFY(PRODUCT_NAME), locdir );
  66 + g_autofree gchar * pkgdir = g_win32_get_package_installation_directory_of_module(NULL);
  67 + {
  68 + g_autofree gchar * appdir = g_build_filename(pkgdir,"locale",NULL);
  69 + if(g_file_test(appdir,G_FILE_TEST_IS_DIR)) {
  70 + bindtextdomain( PACKAGE_NAME, appdir );
  71 + } else {
  72 + g_autofree gchar * sysdir = g_build_filename(pkgdir,"share","locale",NULL);
  73 + if(g_file_test(sysdir,G_FILE_TEST_IS_DIR)) {
  74 + bindtextdomain( PACKAGE_NAME, sysdir );
  75 + }
  76 + }
  77 +
  78 + }
81 79 }
82 80 #endif // _WIN32
83 81  
... ...
src/main/tools.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 3 /*
2   - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
3   - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
4   - * aplicativos mainframe. Registro no INPI sob o nome G3270. Registro no INPI sob
5   - * o nome G3270.
6   - *
7 4 * Copyright (C) <2008> <Banco do Brasil S.A.>
8 5 *
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., 51 Franklin
20   - * St, Fifth Floor, Boston, MA 02110-1301 USA
21   - *
22   - * Este programa está nomeado como main.c e possui - linhas de código.
23   - *
24   - * Contatos:
  6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
25 10 *
26   - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
27   - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
28 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
29 18 */
30 19  
31 20 /**
... ...
src/main/windows/tools.c 0 → 100644
... ... @@ -0,0 +1,62 @@
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
  3 +/*
  4 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  5 + *
  6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
  10 + *
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
  15 + *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
  18 + */
  19 +
  20 + #include <config.h>
  21 + #include <pw3270.h>
  22 +
  23 + gchar * pw3270_build_data_path(const char *name) {
  24 +
  25 + g_autofree gchar * pkgdir = g_win32_get_package_installation_directory_of_module(NULL);
  26 +
  27 + gchar * path = g_build_filename(pkgdir,name,NULL);
  28 + if(g_file_test(path,G_FILE_TEST_IS_DIR)) {
  29 + return path;
  30 + }
  31 + g_free(path);
  32 +
  33 + path = g_build_filename(pkgdir,"share",G_STRINGIFY(PRODUCT_NAME),name,NULL);
  34 + if(g_file_test(path,G_FILE_TEST_IS_DIR)) {
  35 + return path;
  36 + }
  37 +
  38 + g_free(path);
  39 + g_message("Cant find path for '%s'",path);
  40 + return NULL;
  41 +
  42 + }
  43 +
  44 + gchar * pw3270_build_data_filename(const char *filename) {
  45 +
  46 + g_autofree gchar * pkgdir = g_win32_get_package_installation_directory_of_module(NULL);
  47 +
  48 + gchar * path = g_build_filename(pkgdir,filename,NULL);
  49 + if(g_file_test(path,G_FILE_TEST_IS_REGULAR)) {
  50 + return path;
  51 + }
  52 + g_free(path);
  53 +
  54 + path = g_build_filename(pkgdir,"share",G_STRINGIFY(PRODUCT_NAME),filename,NULL);
  55 + if(g_file_test(path,G_FILE_TEST_IS_REGULAR)) {
  56 + return path;
  57 + }
  58 +
  59 + g_free(path);
  60 + g_error("Cant find '%s'",filename);
  61 + return NULL;
  62 + }
... ...
src/objects/application/actions/about.c
... ... @@ -32,6 +32,55 @@
32 32 #include <pw3270/actions.h>
33 33 #include <pw3270/application.h>
34 34  
  35 +static char * find_logo() {
  36 +
  37 + static const char * names[] = {
  38 +#ifdef _WIN32
  39 +
  40 + G_STRINGIFY(PRODUCT_NAME) "-about.png",
  41 + G_STRINGIFY(PRODUCT_NAME) "-logo.png",
  42 + G_STRINGIFY(PRODUCT_NAME) ".png",
  43 + G_STRINGIFY(PACKAGE_NAME) "-about.png",
  44 + G_STRINGIFY(PACKAGE_NAME) "-logo.png",
  45 + G_STRINGIFY(PACKAGE_NAME) ".png",
  46 +
  47 +#else
  48 +
  49 + G_STRINGIFY(PRODUCT_NAME) "-about.svg",
  50 + G_STRINGIFY(PRODUCT_NAME) "-logo.svg",
  51 + G_STRINGIFY(PRODUCT_NAME) ".svg",
  52 + G_STRINGIFY(PRODUCT_NAME) "-about.png",
  53 + G_STRINGIFY(PRODUCT_NAME) "-logo.png",
  54 + G_STRINGIFY(PRODUCT_NAME) ".png",
  55 +
  56 + G_STRINGIFY(PACKAGE_NAME) "-about.svg",
  57 + G_STRINGIFY(PACKAGE_NAME) "-logo.svg",
  58 + G_STRINGIFY(PACKAGE_NAME) ".svg",
  59 + G_STRINGIFY(PACKAGE_NAME) "-about.png",
  60 + G_STRINGIFY(PACKAGE_NAME) "-logo.png",
  61 + G_STRINGIFY(PACKAGE_NAME) ".png",
  62 +#endif // _WIN32
  63 + };
  64 +
  65 + size_t ix;
  66 +
  67 + for(ix = 0; ix < G_N_ELEMENTS(names); ix++) {
  68 +
  69 + char * filename = lib3270_build_data_filename(names[ix],NULL);
  70 +
  71 + if(filename) {
  72 +
  73 + if(g_file_test(filename,G_FILE_TEST_IS_REGULAR))
  74 + return filename;
  75 + free(filename);
  76 +
  77 + }
  78 +
  79 + }
  80 +
  81 + return NULL;
  82 +}
  83 +
35 84 static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication *application) {
36 85  
37 86 GtkAboutDialog * dialog = GTK_ABOUT_DIALOG(gtk_about_dialog_new());
... ... @@ -46,49 +95,18 @@ static GtkWidget * factory(PW3270Action G_GNUC_UNUSED(*action), GtkApplication *
46 95  
47 96 // Get application logo
48 97 {
49   - static const char * names[] = {
50   - G_STRINGIFY(PRODUCT_NAME) "-about.svg",
51   - G_STRINGIFY(PRODUCT_NAME) "-logo.svg",
52   - G_STRINGIFY(PRODUCT_NAME) ".svg",
53   - G_STRINGIFY(PRODUCT_NAME) "-logo.png",
54   - G_STRINGIFY(PRODUCT_NAME) ".png",
55   -
56   - G_STRINGIFY(PACKAGE_NAME) "-about.svg",
57   - G_STRINGIFY(PACKAGE_NAME) "-logo.svg",
58   - G_STRINGIFY(PACKAGE_NAME) ".svg",
59   - G_STRINGIFY(PACKAGE_NAME) "-logo.png",
60   - G_STRINGIFY(PACKAGE_NAME) ".png",
61   - };
62   -
63   - size_t ix;
64   -
65   - for(ix = 0; ix < G_N_ELEMENTS(names); ix++) {
66   -
67   -#ifdef DEBUG
68   - g_autofree gchar * filename = g_build_filename(".","branding",names[ix],NULL);
69   - debug("Searching for '%s'",filename);
70   -#else
71   - lib3270_autoptr(char) filename = lib3270_build_data_filename(names[ix],NULL);
72   -#endif // DEBUG
73   -
74   - if(!g_file_test(filename,G_FILE_TEST_IS_REGULAR))
75   - continue;
76   -
77   - GError * error = NULL;
78   - g_autoptr(GdkPixbuf) pix = gdk_pixbuf_new_from_file_at_size(filename,-1,150,&error);
  98 + char * logo = find_logo();
  99 + if(logo) {
  100 + GError * error = NULL;
  101 + g_autoptr(GdkPixbuf) pix = gdk_pixbuf_new_from_file_at_size(logo,-1,150,&error);
79 102 if(error) {
80   - g_warning("Can't load \"%s\": %s",filename,error->message);
  103 + g_message("Can't load \"%s\": %s",logo,error->message);
81 104 g_error_free(error);
82   - continue;
83   - }
84   -
85   - if(pix) {
  105 + } else {
86 106 gtk_about_dialog_set_logo(dialog,pix);
87   - break;
88 107 }
89   -
  108 + free(logo);
90 109 }
91   -
92 110 }
93 111  
94 112 // Set version
... ...
src/objects/application/application.c
... ... @@ -430,8 +430,6 @@ void startup(GApplication *application) {
430 430  
431 431 G_APPLICATION_CLASS(pw3270Application_parent_class)->startup(application);
432 432  
433   -// GSettings *settings = pw3270_application_get_settings(application);
434   -
435 433 //
436 434 // Common actions
437 435 //
... ... @@ -488,25 +486,33 @@ void startup(GApplication *application) {
488 486 // Load keypad models
489 487 //
490 488 {
491   - lib3270_autoptr(char) keypad_path = lib3270_build_data_filename("keypad",NULL);
  489 + g_autofree gchar *keypad_path = pw3270_build_data_path("keypad");
  490 +
  491 + if(keypad_path) {
  492 +
  493 + g_message("Searching for keypads in '%s'",keypad_path);
492 494  
493   - g_autoptr(GError) error = NULL;
494   - g_autoptr(GDir) dir = g_dir_open(keypad_path,0,&error);
  495 + g_autoptr(GError) error = NULL;
  496 + g_autoptr(GDir) dir = g_dir_open(keypad_path,0,&error);
495 497  
496   - if(dir) {
  498 + if(dir) {
  499 +
  500 + const gchar *name = g_dir_read_name(dir);
  501 + while(!error && name) {
  502 + g_autofree gchar * path = g_build_filename(keypad_path,name,NULL);
  503 + app->keypads = pw3270_keypad_model_new_from_xml(app->keypads,path);
  504 + name = g_dir_read_name(dir);
  505 + }
497 506  
498   - const gchar *name = g_dir_read_name(dir);
499   - while(!error && name) {
500   - g_autofree gchar * path = g_build_filename(keypad_path,name,NULL);
501   - app->keypads = pw3270_keypad_model_new_from_xml(app->keypads,path);
502   - name = g_dir_read_name(dir);
503 507 }
504 508  
505   - }
  509 + if(error) {
  510 + g_message("Can't read %s: %s",keypad_path,error->message);
  511 + }
  512 +
506 513  
507   - if(error) {
508   - g_message("Can't read %s: %s",keypad_path,error->message);
509 514 }
  515 +
510 516 }
511 517  
512 518 //
... ... @@ -525,6 +531,32 @@ void activate(GApplication *application) {
525 531  
526 532 GtkWidget * window = pw3270_application_window_new(GTK_APPLICATION(application),NULL);
527 533  
  534 + if(!PW3270_APPLICATION(application)->settings) {
  535 +
  536 + GtkWidget * dialog = gtk_message_dialog_new_with_markup(
  537 + NULL,
  538 + 0,
  539 + GTK_MESSAGE_ERROR,
  540 + GTK_BUTTONS_CLOSE,
  541 + _("Initialization has failed")
  542 + );
  543 +
  544 + gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),_("Unable to initialize settings. Application may crash in unexpected ways"));
  545 +
  546 + gtk_window_set_title(GTK_WINDOW(dialog),_("System settings error"));
  547 +
  548 + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
  549 +
  550 + gtk_widget_show_all(dialog);
  551 +
  552 + gtk_dialog_run(GTK_DIALOG(dialog));
  553 +
  554 + gtk_widget_destroy(dialog);
  555 +
  556 + g_application_quit(G_APPLICATION(application));
  557 +
  558 + }
  559 +
528 560 // Present the new window
529 561 pw3270_window_set_current_page(window,0);
530 562 gtk_window_present(GTK_WINDOW(window));
... ...
src/objects/os/windows/savedesktopicon.c
  1 +/* SPDX-License-Identifier: LGPL-3.0-or-later */
  2 +
1 3 /*
2   - * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
3   - * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
4   - * aplicativos mainframe. Registro no INPI sob o nome G3270.
5   - *
6   - * Copyright (C) <2008> <Banco do Brasil S.A.>
7   - *
8   - * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
9   - * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
10   - * Free Software Foundation.
11   - *
12   - * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
13   - * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
14   - * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
15   - * obter mais detalhes.
16   - *
17   - * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
18   - * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
19   - * St, Fifth Floor, Boston, MA 02110-1301 USA
20   - *
21   - * Este programa está nomeado como - e possui - linhas de código.
  4 + * Copyright (C) 2008 Banco do Brasil S.A.
22 5 *
23   - * Contatos:
  6 + * This program is free software: you can redistribute it and/or modify
  7 + * it under the terms of the GNU Lesser General Public License as published
  8 + * by the Free Software Foundation, either version 3 of the License, or
  9 + * (at your option) any later version.
24 10 *
25   - * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
26   - * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  11 + * This program is distributed in the hope that it will be useful,
  12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 + * GNU General Public License for more details.
27 15 *
  16 + * You should have received a copy of the GNU Lesser General Public License
  17 + * along with this program. If not, see <https://www.gnu.org/licenses/>.
28 18 */
29 19  
30 20 /**
... ...
src/objects/settings/gsettings.c
... ... @@ -30,11 +30,94 @@
30 30 #include <pw3270/application.h>
31 31 #include <pw3270/window.h>
32 32  
  33 + /*
  34 + static void failed() {
  35 +
  36 + GtkWidget * dialog = gtk_message_dialog_new_with_markup(
  37 + NULL,
  38 + 0,
  39 + GTK_MESSAGE_ERROR,
  40 + GTK_BUTTONS_CLOSE,
  41 + _("Can't load system settings")
  42 + );
  43 +
  44 + gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),_("Unable to initialize system settings. Application may crash in unexpected ways"));
  45 +
  46 + gtk_window_set_title(GTK_WINDOW(dialog),_("System settings error"));
  47 +
  48 + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
  49 +
  50 + gtk_widget_show_all(dialog);
  51 +
  52 + gtk_dialog_run(GTK_DIALOG(dialog));
  53 +
  54 + gtk_widget_destroy(dialog);
  55 +
  56 + g_application_quit(g_application_get_default());
  57 +
  58 + }
  59 + */
  60 +
33 61 static GSettings * settings_new(const gchar *schema_id) {
34 62  
35 63 GSettings *settings = NULL;
36 64  
37   -#if defined(DEBUG)
  65 +#if defined(_WIN32)
  66 +
  67 + {
  68 + g_autofree gchar * pkgdir = g_win32_get_package_installation_directory_of_module(NULL);
  69 +
  70 + g_autofree gchar * appdir = g_build_filename(pkgdir,"gschemas.compiled",NULL);
  71 + g_autofree gchar * sysdir = g_build_filename(pkgdir,"share","glib-2.0","schemas","gschemas.compiled",NULL);
  72 +
  73 + const char * names[] = { appdir, sysdir };
  74 + size_t ix;
  75 +
  76 + for(ix = 0; ix < G_N_ELEMENTS(names); ix++) {
  77 +
  78 + if(g_file_test(names[ix],G_FILE_TEST_IS_REGULAR)) {
  79 +
  80 + GError * error = NULL;
  81 + g_autofree gchar *dirname = g_path_get_dirname(names[ix]);
  82 +
  83 + GSettingsSchemaSource * source =
  84 + g_settings_schema_source_new_from_directory(
  85 + dirname,
  86 + NULL,
  87 + TRUE,
  88 + &error
  89 + );
  90 +
  91 + if(error) {
  92 + g_warning("Error loading '%s': %s",names[ix],error->message);
  93 + g_error_free(error);
  94 + return NULL;
  95 + }
  96 +
  97 + GSettingsSchema * schema =
  98 + g_settings_schema_source_lookup(
  99 + source,
  100 + schema_id,
  101 + TRUE);
  102 +
  103 + g_message("Loading '%s'",names[ix]);
  104 + settings = g_settings_new_full(schema, NULL, NULL);
  105 +
  106 + g_settings_schema_source_unref(source);
  107 +
  108 + if(settings) {
  109 + g_message("Got gsettings from %s",names[ix]);
  110 + return settings;
  111 + }
  112 +
  113 + }
  114 + }
  115 +
  116 +
  117 + }
  118 +
  119 +#elif defined(DEBUG)
  120 +
38 121 {
39 122 GError * error = NULL;
40 123 GSettingsSchemaSource * source =
... ... @@ -62,87 +145,12 @@
62 145  
63 146 g_settings_schema_source_unref(source);
64 147 }
65   -#elif defined(_WIN32)
66   - {
67   - g_autofree gchar * appdir = g_win32_get_package_installation_directory_of_module(NULL);
68   - g_autofree gchar * filename = g_build_filename(appdir,"gschemas.compiled",NULL);
69   -
70   - if(g_file_test(filename,G_FILE_TEST_IS_REGULAR)) {
71   -
72   - GError * error = NULL;
73   - g_autofree gchar *dirname = g_path_get_dirname(filename);
74   -
75   - GSettingsSchemaSource * source =
76   - g_settings_schema_source_new_from_directory(
77   - dirname,
78   - NULL,
79   - TRUE,
80   - &error
81   - );
82   -
83   - if(error) {
84   - g_warning("Error loading '%s': %s",filename,error->message);
85   - g_error_free(error);
86   - return NULL;
87   - }
88   -
89   - GSettingsSchema * schema =
90   - g_settings_schema_source_lookup(
91   - source,
92   - schema_id,
93   - TRUE);
94   -
95   - g_message("Loading '%s'",filename);
96   - settings = g_settings_new_full(schema, NULL, NULL);
97 148  
98   - g_settings_schema_source_unref(source);
99   -
100   - } else {
101   -
102   -#ifdef DEBUG
103   - g_message("Can't find '%s' loading from default path",filename);
104   -#endif // DEBUG
105   - settings = g_settings_new(schema_id);
106   -
107   - }
108   - }
109 149 #else
110 150  
111   -#ifdef DEBUG
112   - g_message("Loading '%s' from default path","gschemas.compiled");
113   -#endif // DEBUG
114   -
115 151 settings = g_settings_new(schema_id);
116 152  
117   -#endif // DEBUG
118   -
119   - if(!settings) {
120   -
121   - g_warning("Error loading system settings");
122   -
123   - GtkWidget * dialog = gtk_message_dialog_new_with_markup(
124   - NULL,
125   - 0,
126   - GTK_MESSAGE_ERROR,
127   - GTK_BUTTONS_CLOSE,
128   - _("Can't load system settings")
129   - );
130   -
131   - gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),_("Unable to initialize system settings. Application may crash in unexpected ways"));
132   -
133   - gtk_window_set_title(GTK_WINDOW(dialog),_("System settings error"));
134   -
135   - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
136   -
137   - gtk_widget_show_all(dialog);
138   -
139   - //g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL);
140   - //g_signal_connect(dialog,"response",G_CALLBACK(gtk_widget_destroy),NULL);
141   - gtk_dialog_run(GTK_DIALOG(dialog));
142   -
143   - g_application_quit(g_application_get_default());
144   -
145   - }
  153 +#endif
146 154  
147 155 return settings;
148 156 }
... ...
src/objects/window/window.c
... ... @@ -138,15 +138,16 @@ static void pw3270ApplicationWindow_class_init(pw3270ApplicationWindowClass *kla
138 138 #ifdef _WIN32
139 139 "share/icons",
140 140 #endif // _WIN32
  141 + "share/" G_STRINGIFY(PRODUCT_NAME) "/icons"
141 142 };
142 143  
143 144 size_t ix;
144 145 for(ix = 0; ix < G_N_ELEMENTS(icon_search_paths); ix++) {
145 146 #if defined(DEBUG)
146   - lib3270_autoptr(char) path = g_build_filename(g_get_current_dir(),icon_search_paths[ix],NULL);
  147 + g_autofree gchar * path = g_build_filename(g_get_current_dir(),icon_search_paths[ix],NULL);
147 148 #elif defined(_WIN32)
148 149 g_autofree gchar * appdir = g_win32_get_package_installation_directory_of_module(NULL);
149   - lib3270_autoptr(char) path = g_build_filename(appdir,icon_search_paths[ix],NULL);
  150 + g_autofree gchar * path = g_build_filename(appdir,icon_search_paths[ix],NULL);
150 151 #else
151 152 lib3270_autoptr(char) path = lib3270_build_data_filename(icon_search_paths[ix],NULL);
152 153 #endif
... ...
update.sh
... ... @@ -1,7 +0,0 @@
1   -#!/bin/bash
2   -
3   -git pull
4   -git fetch origin
5   -
6   -git submodule update --remote --recursive
7   -
win/building_on_windows-the-hard-way.txt
... ... @@ -1,24 +0,0 @@
1   -
2   - 1. Instalar o mingw e o pacote básico do msys ( http://www.mingw.org/wiki/Getting_Started )
3   -
4   - 2. Abrir o shell mingw e executar (não é o cmd normal do windows, o ícone fica no menu do mingw).
5   - . mingw-get install autotools
6   - . mingw-get install gettext
7   - . mingw-get install msys-openssl
8   - . mingw-get install msys-libopenssl
9   -
10   - 3. Instalar o tortoise SVN ( http://tortoisesvn.net/downloads.html )
11   -
12   - 4. Instalar o pacote completo do gtk
13   - . Baixar o bundle em http://www.gtk.org/download/win32.php
14   - . Descompactar o bundle em c:\mingw
15   -
16   - 5. Abrir uma linha de comando do mingw (não é o cmd normal do windows
17   - . Mudar para o diretório dos fontes (PS: usei o tortoise svn para baixar os arquivos)
18   -
19   - 6. Executar ./autogen.sh (atente para o lado da barra, é "/" mesmo já que o prompt do mingw é um bash
20   - . Vai dar alguns error relacionados a linguagem; não me preocupei com eles nessa etapa.
21   -
22   - 7. Executar ./configure - Ele vai dar falta da libssl porque, por algum motivo, a libssl do mingw4windows não se registra no pkg-config
23   -
24   - 8. Executar make
win/building_windows_on_SuSE-the-easy-way.txt
... ... @@ -1,22 +0,0 @@
1   -
2   -The proposal of this document is to show how to build pw3270 installers for windows using the cross-compilers available on SuSE linux.
3   -
4   -1. First install the MinGW Repositories to your SuSE version from:
5   -
6   - * 32 bits: https://build.opensuse.org/project/show/windows:mingw:win32
7   - * 64 bits: https://build.opensuse.org/project/show/windows:mingw:win64
8   -
9   -2. Get pw3270 sources from git
10   -
11   - * git clone http://softwarepublico.gov.br/gitlab/pw3270/principal.git ./pw3270
12   -
13   -3. Install cross compilers
14   -
15   - * ./pw3270/win/install-cross.sh --all
16   -
17   -
18   -4. Build pw3270 windows installers
19   -
20   - * cd pw3270/ && ./win/pack.sh
21   -
22   -
win/bundle.common 0 → 100644
... ... @@ -0,0 +1,480 @@
  1 +#!/bin/bash
  2 +#
  3 +# SPDX-License-Identifier: LGPL-3.0-or-later
  4 +#
  5 +# Copyright (C) 2023 Perry Werneck <perry.werneck@gmail.com>
  6 +#
  7 +# This program is free software: you can redistribute it and/or modify
  8 +# it under the terms of the GNU Lesser General Public License as published
  9 +# by the Free Software Foundation, either version 3 of the License, or
  10 +# (at your option) any later version.
  11 +#
  12 +# This program is distributed in the hope that it will be useful,
  13 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15 +# GNU General Public License for more details.
  16 +#
  17 +# You should have received a copy of the GNU Lesser General Public License
  18 +# along with this program. If not, see <https://www.gnu.org/licenses/>.
  19 +#
  20 +
  21 +#
  22 +# References:
  23 +#
  24 +# https://www.gtk.org/docs/installations/windows/
  25 +# http://drup.org/gtk-warning-error-loading-icon-couldnt-recognize-image-file-format
  26 +#
  27 +
  28 +# Check command-line arguments
  29 +argument() {
  30 +
  31 + local cmdline
  32 + for cmdline in ${BASH_ARGV[*]}
  33 + do
  34 + if [ "$(echo ${cmdline} | sed "s@^--@@g" | sed "s@^-@@g" | cut -d= -f1)" == "${1}" ]; then
  35 + local value
  36 + value="$(echo ${cmdline} | cut -d= -f2)"
  37 + if [ -z "${value}" ]; then
  38 + echo "1"
  39 + else
  40 + echo "${value}"
  41 + fi
  42 + return 0
  43 + fi
  44 + done
  45 + echo ""
  46 + return 2
  47 +}
  48 +
  49 +argument "help" > /dev/null
  50 +if [ "$?" == "0" ]; then
  51 + echo "Use ${0} options"
  52 + echo ""
  53 + echo " --help Help options (this screen)"
  54 + echo " --zip Build zipfile"
  55 + echo " --nsi Build nsi installer"
  56 + echo " --upload Upload bundle to github"
  57 +fi
  58 +
  59 +# Setup default paths
  60 +srcdir="$(dirname $(dirname $(readlink -f "${0}")))"
  61 +cd ${srcdir}
  62 +if [ "$?" != "0" ]; then
  63 + echo "Cant cd to ${srcdir}"
  64 + exit -1
  65 +fi
  66 +
  67 +if [ -z ${MINGW_PREFIX} ]; then
  68 + if [ -d "/usr/x86_64-w64-mingw32/sys-root/mingw" ]; then
  69 + MINGW_PREFIX="/usr/x86_64-w64-mingw32/sys-root/mingw"
  70 + PKG_CONFIG="/usr/bin/x86_64-w64-mingw32-pkg-config"
  71 + else
  72 + echo "Cant determine mingw prefix"
  73 + exit -1
  74 + fi
  75 +fi
  76 +
  77 +if [ -z ${PKG_CONFIG} ]; then
  78 + PKG_CONFIG=${MINGW_PREFX}/bin/pkg-config
  79 +fi
  80 +
  81 +PACKAGE_NAME=$(grep AC_INIT configure.ac | cut -d[ -f2 | cut -d] -f1)
  82 +if [ -z ${PACKAGE_NAME} ]; then
  83 + echo "Cant determine package name"
  84 + exit -1
  85 +fi
  86 +
  87 +PACKAGE_VERSION=$(grep AC_INIT configure.ac | cut -d[ -f3 | cut -d] -f1)
  88 +if [ -z ${PACKAGE_VERSION} ]; then
  89 + echo "Cant determine package name"
  90 + exit -1
  91 +fi
  92 +
  93 +GTK_PREFIX=$(${PKG_CONFIG} --variable=prefix gtk+-3.0)
  94 +GTK_BINARY_VERSION=$(${PKG_CONFIG} --variable=gtk_binary_version gtk+-3.0)
  95 +GTK_LIBDIR=$(echo $(${PKG_CONFIG} --variable=libdir gtk+-3.0) | sed "s@^C:/@/c/@g")
  96 +GDK_LOADERS=$(echo $(${PKG_CONFIG} --variable=gdk_pixbuf_binarydir gdk-pixbuf-2.0) | sed -e "s@${GTK_PREFIX}@@g")
  97 +
  98 +mkdir -p .bin/bundle
  99 +if [ "$?" != "0" ]; then
  100 + echo "Cant mkdir base buildroot"
  101 + exit -1
  102 +fi
  103 +
  104 +buildroot=$(readlink -f .bin/bundle)
  105 +if [ -z ${buildroot} ]; then
  106 + echo "Cant detect buildroot ${buildroot}"
  107 + exit -1
  108 +fi
  109 +
  110 +mkdir -p "${buildroot}"
  111 +if [ "$?" != "0" ]; then
  112 + echo "Cant mkdir ${buildroot}"
  113 + exit -1
  114 +fi
  115 +
  116 +rm -fr "${buildroot}/*"
  117 +if [ "$?" != "0" ]; then
  118 + echo "Cant clean ${buildroot}"
  119 + exit -1
  120 +fi
  121 +
  122 +bindir="${buildroot}${MINGW_PREFIX}/bin"
  123 +
  124 +if [ -z "${WIN_ROOT}" ]; then
  125 + WIN_ROOT="/c/Windows"
  126 +fi
  127 +
  128 +export LANG=C
  129 +
  130 +prepare() {
  131 +
  132 + argument "help" > /dev/null
  133 + if [ "$?" == "0" ]; then
  134 + exit 0
  135 + fi
  136 +
  137 + rm -fr "${buildroot}"
  138 + mkdir -p "${buildroot}"
  139 +}
  140 +
  141 +install_bin() {
  142 +
  143 + mkdir -p "${bindir}"
  144 +
  145 + AGAIN=1
  146 + until [ $AGAIN = 0 ]; do
  147 +
  148 + SOURCES=$(mktemp)
  149 + REQUIRES=$(mktemp)
  150 +
  151 + find "${buildroot}" -iname "*.dll" > ${SOURCES}
  152 + find "${buildroot}" -iname "*.exe" >> ${SOURCES}
  153 +
  154 + while read FILENAME
  155 + do
  156 + echo ${FILENAME}
  157 + objdump -p ${FILENAME} | grep "DLL Name:" | cut -d: -f2 | tr "[:upper:]" "[:lower:]" >> ${REQUIRES}
  158 + done < ${SOURCES}
  159 +
  160 + libs_to_exclude="
  161 + advapi32.dll
  162 + cfgmgr32.dll
  163 + comctl32.dll
  164 + comdlg32.dll
  165 + crypt32.dll
  166 + d3d8.dll
  167 + d3d9.dll
  168 + ddraw.dll
  169 + dnsapi.dll
  170 + dsound.dll
  171 + dwmapi.dll
  172 + gdi32.dll
  173 + gdiplus.dll
  174 + glu32.dll
  175 + glut32.dll
  176 + imm32.dll
  177 + iphlpapi.dll
  178 + kernel32.dll
  179 + ksuser.dll
  180 + mpr.dll
  181 + mscms.dll
  182 + mscoree.dll
  183 + msimg32.dll
  184 + msvcr71.dll
  185 + msvcr80.dll
  186 + msvcr90.dll
  187 + msvcrt.dll
  188 + mswsock.dll
  189 + netapi32.dll
  190 + odbc32.dll
  191 + ole32.dll
  192 + oleacc.dll
  193 + oleaut32.dll
  194 + opengl32.dll
  195 + psapi.dll
  196 + rpcrt4.dll
  197 + secur32.dll
  198 + setupapi.dll
  199 + shell32.dll
  200 + shlwapi.dll
  201 + user32.dll
  202 + usp10.dll
  203 + version.dll
  204 + wininet.dll
  205 + winmm.dll
  206 + wldap32.dll
  207 + ws2_32.dll
  208 + wsock32.dll
  209 + winspool.drv
  210 + ntdll.dll
  211 + winhttp.dll
  212 + hid.dll
  213 + bcrypt.dll
  214 + "
  215 +
  216 + # Remove system DLLs from list
  217 + for i in $libs_to_exclude; do
  218 + sed -i -e "/${i}/d" ${REQUIRES}
  219 + done
  220 +
  221 + AGAIN=0
  222 + while read FILENAME
  223 + do
  224 +
  225 + echo ${FILENAME}
  226 +
  227 + if [ ! -e "${bindir}/${FILENAME}" ]; then
  228 +
  229 + if [ -e ${MINGW_PREFIX}/bin/${FILENAME} ]; then
  230 +
  231 + AGAIN=1
  232 + cp -v "${MINGW_PREFIX}/bin/${FILENAME}" "${bindir}/${FILENAME}"
  233 + if [ "$?" != "0" ]; then
  234 + exit -1
  235 + fi
  236 +
  237 + elif [ -e ${MINGW_PREFIX}/lib/${FILENAME} ]; then
  238 +
  239 + AGAIN=1
  240 + cp -v "${MINGW_PREFIX}/lib/${FILENAME}" "${bindir}/${FILENAME}"
  241 + if [ "$?" != "0" ]; then
  242 + exit -1
  243 + fi
  244 +
  245 + elif [ -e "${WIN_ROOT}/System32/${FILENAME}" ]; then
  246 +
  247 + echo "Ignoring ${WIN_ROOT}/System32/${FILENAME}"
  248 +
  249 + else
  250 +
  251 + echo "Can't find ${MINGW_PREFIX}/bin/${FILENAME} or ${WIN_ROOT}/System32/${FILENAME}"
  252 + find "${MINGW_PREFIX}" -iname "${FILENAME}"
  253 + exit -1
  254 +
  255 + fi
  256 +
  257 + fi
  258 +
  259 + done < ${REQUIRES}
  260 +
  261 + rm -f ${SOURCES}
  262 + rm -f ${REQUIRES}
  263 +
  264 + done
  265 +
  266 +}
  267 +
  268 +install_locale() {
  269 +
  270 + mkdir -p ${buildroot}${MINGW_PREFIX}/share/locale/pt_BR/LC_MESSAGES
  271 +
  272 + locales="
  273 + gettext-runtime.mo
  274 + gettext-tools.mo
  275 + glib20.mo
  276 + gtk30.mo
  277 + gtk30-properties.mo
  278 + "
  279 +
  280 + FILENAMES=$(mktemp)
  281 + for i in ${locales}
  282 + do
  283 + find "${MINGW_PREFIX}/share/locale" -name ${i} >> ${FILENAMES}
  284 + done
  285 +
  286 + while read FILENAME
  287 + do
  288 + mkdir -p $(dirname "${buildroot}${FILENAME}")
  289 + cp -v "${FILENAME}" "${buildroot}${FILENAME}"
  290 + if [ "$?" != "0" ]; then
  291 + exit -1
  292 + fi
  293 + done < ${FILENAMES}
  294 + rm -f ${FILENAMES}
  295 +}
  296 +
  297 +install_schemas() {
  298 +
  299 + mkdir -p ${buildroot}${MINGW_PREFIX}/share/glib-2.0/schemas
  300 +
  301 + schemas="
  302 + org.gtk.Settings.FileChooser.gschema.xml
  303 + gschema.dtd
  304 + "
  305 +
  306 + for schema in ${schemas}
  307 + do
  308 + cp -v "${MINGW_PREFIX}/share/glib-2.0/schemas/${schema}" "${buildroot}${MINGW_PREFIX}/share/glib-2.0/schemas"
  309 + if [ "$?" != "0" ]; then
  310 + exit -1
  311 + fi
  312 + done
  313 +
  314 + glib-compile-schemas \
  315 + --targetdir="${buildroot}${MINGW_PREFIX}/share/glib-2.0/schemas" \
  316 + "${buildroot}${MINGW_PREFIX}/share/glib-2.0/schemas"
  317 +
  318 + if [ "$?" != "0" ]; then
  319 + exit -1
  320 + fi
  321 +}
  322 +
  323 +install_theme() {
  324 +
  325 + mkdir -p "${buildroot}${MINGW_PREFIX}/etc"
  326 + cp -rv "${MINGW_PREFIX}/etc/gtk-3.0" "${buildroot}${MINGW_PREFIX}/etc"
  327 + if [ "$?" != "0" ]; then
  328 + exit -1
  329 + fi
  330 +
  331 + # https://stackoverflow.com/questions/37035936/how-to-get-native-windows-decorations-on-gtk3-on-windows-7-and-msys2
  332 + mkdir -p ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0
  333 + rm -f ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0/settings.ini
  334 + rm -f ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0/gtkrc
  335 +
  336 + echo "[Settings]" > ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0/settings.ini
  337 + echo "gtk-theme-name=${1}" >> ${buildroot}${MINGW_PREFIX}/etc/gtk-3.0/settings.ini
  338 +
  339 + if [ -e "${srcdir}/win/gtk.css" ]; then
  340 + mkdir -p "${buildroot}${MINGW_PREFIX}/share/themes/Default/gtk-3.0"
  341 + cp "${srcdir}/win/gtk.css" "${buildroot}${MINGW_PREFIX}/share/themes/Default/gtk-3.0/gtk.css"
  342 + fi
  343 +
  344 +}
  345 +
  346 +install_icons() {
  347 +
  348 + mkdir -p "${buildroot}${MINGW_PREFIX}/share/icons"
  349 +
  350 + if [ -d "${MINGW_PREFIX}/share/icons/${1}" ]; then
  351 +
  352 + cp -rv "${MINGW_PREFIX}/share/icons/${1}" "${buildroot}${MINGW_PREFIX}/share/icons"
  353 + if [ "$?" != 0 ]; then
  354 + echo "Can´t copy ${1} icons"
  355 + exit -1
  356 + fi
  357 +
  358 + elif [ -d "/usr/share/icons/${1}" ]; then
  359 +
  360 + cp -rv "/usr/share/icons/${1}" "${buildroot}${MINGW_PREFIX}/share/icons"
  361 + if [ "$?" != 0 ]; then
  362 + echo "Can´t copy ${1} icons"
  363 + exit -1
  364 + fi
  365 +
  366 + else
  367 +
  368 + echo "Can´t find ${1} icons"
  369 + exit -1
  370 +
  371 + fi
  372 +
  373 +}
  374 +
  375 +install_loaders() {
  376 +
  377 + if [ -d "${MINGW_PREFIX}${GDK_LOADERS}" ]; then
  378 + mkdir -p "${buildroot}/${MINGW_PREFIX}${GDK_LOADERS}"
  379 + cp -rv ${MINGW_PREFIX}${GDK_LOADERS}/* "${buildroot}/${MINGW_PREFIX}${GDK_LOADERS}"
  380 + if [ "$?" != "0" ]; then
  381 + exit -1
  382 + fi
  383 +
  384 + find ${buildroot}/${MINGW_PREFIX}${GDK_LOADERS} -iname "*.a" -exec rm -f {} \;
  385 +
  386 + fi
  387 +
  388 +}
  389 +
  390 +make_zip() {
  391 +
  392 + cd ${buildroot}${MINGW_PREFIX}
  393 + if [ "$?" != "0" ]; then
  394 + exit -1
  395 + fi
  396 +
  397 + rm -f ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip
  398 +
  399 + zip -9 -r ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip .
  400 + if [ "$?" != "0" ]; then
  401 + exit -1
  402 + fi
  403 +
  404 + cd ${srcdir}
  405 + if [ "$?" != "0" ]; then
  406 + exit -1
  407 + fi
  408 +
  409 + if [ -z $(which gh) ]; then
  410 + return 0
  411 + fi
  412 +
  413 + argument "upload" > /dev/null
  414 + if [ "$?" == "0" ]; then
  415 + gh release upload --clobber "${PACKAGE_VERSION}" ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip
  416 + fi
  417 +
  418 +}
  419 +
  420 +make_nsis() {
  421 + makensis \
  422 + -INPUTCHARSET UTF8 \
  423 + -DWITHIPC \
  424 + -DWITHPLUGINS \
  425 + -DWITHSDK \
  426 + ${buildroot}${MINGW_PREFIX}/${PACKAGE_NAME}.nsi
  427 + if [ "$?" != "0" ]; then
  428 + echo "Cant build nsis script"
  429 + fi
  430 +
  431 + if [ ! -z $(which gh) ]; then
  432 + argument "upload" > /dev/null
  433 + if [ "$?" == "0" ]; then
  434 + gh release upload --clobber "${PACKAGE_VERSION}" ${buildroot}${MINGW_PREFIX}/${PACKAGE_NAME}*.exe
  435 + if [ "$?" != "0" ]; then
  436 + echo "Cant upload nsis installer"
  437 + exit -1
  438 + fi
  439 + fi
  440 + fi
  441 +
  442 + mv -f ${buildroot}${MINGW_PREFIX}/${PACKAGE_NAME}*.exe "${srcdir}"
  443 + if [ "$?" != "0" ]; then
  444 + echo "Cant copy nsis installer"
  445 + exit -1
  446 + fi
  447 +}
  448 +
  449 +install_runtime() {
  450 +
  451 + install_loaders
  452 + install_bin
  453 + install_locale
  454 + install_schemas
  455 + install_theme "Adwaita"
  456 + install_icons "Adwaita"
  457 +
  458 +}
  459 +
  460 +make_packages() {
  461 +
  462 + mkdir -p "${buildroot}${MINGW_PREFIX}/nsi"
  463 + cp "${srcdir}/win/pw3270.nsi" "${buildroot}${MINGW_PREFIX}/${PACKAGE_NAME}.nsi"
  464 + if [ "$?" != "0" ]; then
  465 + echo "Cant copy nsis script"
  466 + fi
  467 +
  468 + argument "zip" > /dev/null
  469 + if [ "$?" == "0" ]; then
  470 + make_zip
  471 + fi
  472 +
  473 + argument "nsi" > /dev/null
  474 + if [ "$?" == "0" ]; then
  475 + make_nsis
  476 + fi
  477 +
  478 +}
  479 +
  480 +
... ...
win/bundle.cross 0 → 100755
... ... @@ -0,0 +1,213 @@
  1 +#!/bin/bash
  2 +#
  3 +# SPDX-License-Identifier: LGPL-3.0-or-later
  4 +#
  5 +# Copyright (C) 2023 Perry Werneck <perry.werneck@gmail.com>
  6 +#
  7 +# This program is free software: you can redistribute it and/or modify
  8 +# it under the terms of the GNU Lesser General Public License as published
  9 +# by the Free Software Foundation, either version 3 of the License, or
  10 +# (at your option) any later version.
  11 +#
  12 +# This program is distributed in the hope that it will be useful,
  13 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15 +# GNU General Public License for more details.
  16 +#
  17 +# You should have received a copy of the GNU Lesser General Public License
  18 +# along with this program. If not, see <https://www.gnu.org/licenses/>.
  19 +#
  20 +
  21 +#
  22 +# References:
  23 +#
  24 +# https://www.gtk.org/docs/installations/windows/
  25 +# http://drup.org/gtk-warning-error-loading-icon-couldnt-recognize-image-file-format
  26 +#
  27 +
  28 +MINGW_PREFIX="/usr/x86_64-w64-mingw32/sys-root/mingw"
  29 +PKG_CONFIG="/usr/bin/x86_64-w64-mingw32-pkg-config"
  30 +MINGW_PACKAGE_PREFIX="mingw64"
  31 +REPOSITORY_NAME="pw3270"
  32 +
  33 +# Load bundle functions
  34 +. "$(dirname $(readlink -f "${0}"))/bundle.common"
  35 +
  36 +argument "help" > /dev/null
  37 +if [ "$?" == "0" ]; then
  38 + echo " --install-requires Install required packages"
  39 + echo " --build Build application from source"
  40 +fi
  41 +
  42 +prepare
  43 +
  44 +# List of pre-req packages
  45 +# gdk-pixbuf-loader-rsvg
  46 +
  47 +# List of pre-built packages
  48 +packages="lib3270 libv3270 libipc3270 libhllapi pw3270-plugin-ipc"
  49 +dev_packages="lib3270 libv3270 libipc3270"
  50 +
  51 +install_prereqs() {
  52 +
  53 + local list
  54 + local package
  55 +
  56 + list="${packages}"
  57 + for package in ${dev_packages}
  58 + do
  59 + list="${list} ${package}-devel"
  60 + done
  61 +
  62 + echo "Installing: ${list}"
  63 +
  64 + REPONUMBER=$(zypper lr | grep "${REPOSITORY_NAME}" | cut -d\| -f1)
  65 + if [ -z "${REPONUMBER}" ]; then
  66 + echo "Cant locate repository ${REPOSITORY_NAME}"
  67 + exit -1
  68 + fi
  69 +
  70 + sudo zypper ref ${REPONUMBER}
  71 + if [ "$?" != "0" ]; then
  72 + echo "Cant refresh repository ${REPOSITORY_NAME}"
  73 + exit -1
  74 + fi
  75 +
  76 + for package in ${list}
  77 + do
  78 + sudo zypper in --repo ${REPONUMBER} "${MINGW_PACKAGE_PREFIX}-${package}"
  79 + if [ "$?" != "0" ]; then
  80 + echo "Cant install ${MINGW_PACKAGE_PREFIX}-${package} from ${REPOSITORY_NAME}"
  81 + exit -1
  82 + fi
  83 + done
  84 +}
  85 +
  86 +build_package() {
  87 +
  88 + # Build
  89 + make -C "${srcdir}" all
  90 + if [ "$?" != "0" ]; then
  91 + echo "Build failed"
  92 + exit -1
  93 + fi
  94 +
  95 + make -C "${srcdir}" "DESTDIR=${buildroot}" install
  96 + if [ "$?" != "0" ]; then
  97 + echo "Install failed"
  98 + exit -1
  99 + fi
  100 +
  101 +}
  102 +
  103 +argument "install-requires" > /dev/null
  104 +if [ "$?" == "0" ]; then
  105 + install_prereqs
  106 +fi
  107 +
  108 +argument "build" > /dev/null
  109 +if [ "$?" == "0" ]; then
  110 +
  111 + NOCONFIGURE=1 ./autogen.sh
  112 + if [ "$?" != "0" ]; then
  113 + echo "Configure failed"
  114 + exit -1
  115 + fi
  116 +
  117 + ${MINGW_PACKAGE_PREFIX}-configure
  118 + if [ "$?" != "0" ]; then
  119 + echo "Configure failed"
  120 + exit -1
  121 + fi
  122 +
  123 + build_package
  124 +
  125 +else
  126 +
  127 + packages="${packages} pw3270"
  128 +
  129 +fi
  130 +
  131 +unpack_rpm() {
  132 +
  133 + local package
  134 + local list
  135 + local PACKAGE_NAME
  136 +
  137 + for package in ${packages}
  138 + do
  139 + PACKAGE_NAME=$(rpm -qa | grep "${MINGW_PACKAGE_PREFIX}-${package}" | grep -v devel | head --lines=1)
  140 + if [ -z "${PACKAGE_NAME}" ]; then
  141 + echo "No data from ${MINGW_PACKAGE_PREFIX}-${package}"
  142 + exit -1
  143 + fi
  144 + echo "Copy ${PACKAGE_NAME}"
  145 + for FILE in $(rpm -ql "${PACKAGE_NAME}")
  146 + do
  147 + if [ ! -d ${FILE} ]; then
  148 +
  149 + FILEPATH="${buildroot}${FILE}"
  150 + mkdir -p "$(dirname ${FILEPATH})"
  151 + if [ "$?" != "0" ]; then
  152 + exit -1
  153 + fi
  154 +
  155 + cp "${FILE}" "${FILEPATH}"
  156 + if [ "$?" != "0" ]; then
  157 + echo "Cant copy '${FILE}' from '${PACKAGE_NAME}'"
  158 + exit -1
  159 + fi
  160 + fi
  161 + done
  162 +
  163 + done
  164 +
  165 +
  166 + for package in ${dev_packages}
  167 + do
  168 + PACKAGE_NAME=$(rpm -qa | grep "${MINGW_PACKAGE_PREFIX}-${package}" | grep devel | head --lines=1)
  169 + if [ -z "${PACKAGE_NAME}" ]; then
  170 + echo "No data from ${MINGW_PACKAGE_PREFIX}-${package}-devel"
  171 + exit -1
  172 + fi
  173 + echo "Copy ${PACKAGE_NAME}"
  174 + for FILE in $(rpm -ql "${PACKAGE_NAME}")
  175 + do
  176 + if [ ! -d ${FILE} ]; then
  177 +
  178 + FILEPATH="${buildroot}${FILE}"
  179 + mkdir -p "$(dirname ${FILEPATH})"
  180 + if [ "$?" != "0" ]; then
  181 + exit -1
  182 + fi
  183 +
  184 + cp "${FILE}" "${FILEPATH}"
  185 + if [ "$?" != "0" ]; then
  186 + echo "Cant copy '${FILE}' from '${PACKAGE_NAME}'"
  187 + exit -1
  188 + fi
  189 + fi
  190 + done
  191 +
  192 + done
  193 +
  194 +}
  195 +
  196 +install_license() {
  197 + mkdir -p "${buildroot}${MINGW_PREFIX}/usr/share/${PACKAGE_NAME}"
  198 + cp "${srcdir}/LICENSE" "${buildroot}${MINGW_PREFIX}/share/${PACKAGE_NAME}"
  199 + if [ "$?" != "0" ]; then
  200 + echo "Cant copy LICENSE"
  201 + exit -1
  202 + fi
  203 +}
  204 +
  205 +unpack_rpm
  206 +
  207 +install_runtime
  208 +install_license
  209 +
  210 +make_packages
  211 +
  212 +echo "Bundle build complete"
  213 +
... ...
win/bundle.msys 0 → 100755
... ... @@ -0,0 +1,50 @@
  1 +#!/bin/bash
  2 +#
  3 +# SPDX-License-Identifier: LGPL-3.0-or-later
  4 +#
  5 +# Copyright (C) 2021 Perry Werneck <perry.werneck@gmail.com>
  6 +#
  7 +# This program is free software: you can redistribute it and/or modify
  8 +# it under the terms of the GNU Lesser General Public License as published
  9 +# by the Free Software Foundation, either version 3 of the License, or
  10 +# (at your option) any later version.
  11 +#
  12 +# This program is distributed in the hope that it will be useful,
  13 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15 +# GNU General Public License for more details.
  16 +#
  17 +# You should have received a copy of the GNU Lesser General Public License
  18 +# along with this program. If not, see <https://www.gnu.org/licenses/>.
  19 +#
  20 +
  21 +#
  22 +# References:
  23 +#
  24 +# https://www.gtk.org/docs/installations/windows/
  25 +# http://drup.org/gtk-warning-error-loading-icon-couldnt-recognize-image-file-format
  26 +#
  27 +
  28 +# Load bundle functions
  29 +. "$(dirname $(readlink -f "${0}"))/bundle.common"
  30 +
  31 +prepare
  32 +
  33 +for package in ${srcdir}/*.pkg.tar.zst
  34 +do
  35 + echo ${package}
  36 + tar -C ${buildroot} --zstd -xf ${package}
  37 + if [ "$?" != "0" ]; then
  38 + echo "Error unpacking ${package}"
  39 + exit -1
  40 + fi
  41 +done
  42 +
  43 +install_loaders
  44 +install_bin
  45 +install_locale
  46 +install_schemas
  47 +install_theme "Adwaita"
  48 +install_icons "Adwaita"
  49 +
  50 +
... ...
win/copydeps.sh.in
... ... @@ -1,133 +0,0 @@
1   -#!/bin/bash
2   -myDIR=$(dirname $(readlink -f $0))
3   -
4   -# Updated by ./configure
5   -BUILDDIR=@BUILDDIR@
6   -prefix=@prefix@
7   -
8   -# Crio diretório temporário
9   -TEMPDIR=$(mktemp -d)
10   -
11   -# Cleanup em caso de falha
12   -ontrap()
13   -{
14   - #
15   - # Apaga diretorio temporário caso o script seja interrompido
16   - #
17   - cd ${myDIR}
18   - rm -fr ${TEMPDIR}
19   - exit -1
20   -}
21   -
22   -trap ontrap INT
23   -
24   -#
25   -# Lista de DLLs a ignorar
26   -#
27   -libs_to_exclude="
28   - advapi32
29   - cfgmgr32
30   - comctl32
31   - comdlg32
32   - crypt32
33   - d3d8
34   - d3d9
35   - ddraw
36   - dnsapi
37   - dsound
38   - dwmapi
39   - gdi32
40   - gdiplus
41   - glu32
42   - glut32
43   - imm32
44   - iphlpapi
45   - kernel32
46   - ksuser
47   - mpr
48   - mscms
49   - mscoree
50   - msimg32
51   - msvcr71
52   - msvcr80
53   - msvcr90
54   - msvcrt
55   - mswsock
56   - netapi32
57   - odbc32
58   - ole32
59   - oleacc
60   - oleaut32
61   - opengl32
62   - psapi
63   - rpcrt4
64   - secur32
65   - setupapi
66   - shell32
67   - shlwapi
68   - user32
69   - usp10
70   - version
71   - wininet
72   - winmm
73   - wldap32
74   - ws2_32
75   - wsock32
76   - winspool.drv
77   -"
78   -
79   -#
80   -# Fico em loop montando dependências
81   -#
82   -APPLICATION_PATH=${BUILDDIR}/.bin/Release
83   -RUNTIME_PATH=${BUILDDIR}/.bin/runtime
84   -
85   -mkdir -p ${RUNTIME_PATH}
86   -
87   -AGAIN=1
88   -until [ $AGAIN = 0 ]; do
89   -
90   - AGAIN=0
91   -
92   - find ${APPLICATION_PATH} -iname *.exe > ${TEMPDIR}/binaries.txt
93   - find ${APPLICATION_PATH} -iname *.dll >> ${TEMPDIR}/binaries.txt
94   - find ${RUNTIME_PATH} -iname *.dll >> ${TEMPDIR}/binaries.txt
95   -
96   - # Obtenho a lista de DLLs
97   - rm -f ${TEMPDIR}/requires.txt
98   - touch ${TEMPDIR}/requires.txt
99   - while read FILENAME
100   - do
101   - objdump -p ${FILENAME} | grep "DLL Name:" | cut -d: -f2 | tr "[:upper:]" "[:lower:]" >> ${TEMPDIR}/requires.txt
102   - done < ${TEMPDIR}/binaries.txt
103   -
104   - # Excluo DLLs do sistema
105   - for i in $libs_to_exclude; do
106   - sed -i -e "/${i}/d" ${TEMPDIR}/requires.txt
107   - done
108   -
109   - while read FILENAME
110   - do
111   -
112   - if [ -e ${APPLICATION_PATH}/${FILENAME} ]; then
113   - touch ${APPLICATION_PATH}/${FILENAME}
114   -
115   - elif [ -e ${RUNTIME_PATH}/${FILENAME} ]; then
116   - touch ${RUNTIME_PATH}/${FILENAME}
117   -
118   - elif [ -e ${prefix}/bin/${FILENAME} ]; then
119   - AGAIN=1
120   - echo ${prefix}/bin/${FILENAME}
121   - cp ${prefix}/bin/${FILENAME} ${RUNTIME_PATH}
122   -
123   - fi
124   -
125   - done < ${TEMPDIR}/requires.txt
126   - rm -f ${TEMPDIR}/requires.txt
127   -
128   -
129   -done
130   -
131   -cd ${myDIR}
132   -rm -fr ${TEMPDIR}
133   -
win/force_inet_ntop.patch
... ... @@ -1,11 +0,0 @@
1   ---- src/include/lib3270/config.h.in 2017-01-20 15:37:46.462843502 -0200
2   -+++ src/include/lib3270/config.h.in 2017-01-24 15:19:45.547022420 -0200
3   -@@ -44,7 +44,7 @@
4   - #undef HAVE_SYSLOG
5   - #undef HAVE_DBUS
6   - #undef HAVE_VASPRINTF
7   -- #undef HAVE_INET_NTOP
8   -+ #define HAVE_INET_NTOP
9   -
10   - #undef HAVE_ICONV
11   - #undef ICONV_CONST
win/makeruntime.sh.in
... ... @@ -1,350 +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   -# Referencias:
30   -#
31   -# https://www.gtk.org/docs/installations/windows/
32   -# http://drup.org/gtk-warning-error-loading-icon-couldnt-recognize-image-file-format
33   -#
34   -
35   -# Get myDIR
36   -myDIR=$(dirname $(readlink -f "${0}"))
37   -
38   -# Disable i18n
39   -export LANG=C
40   -
41   -prefix="@prefix@"
42   -PKG_CONFIG="@PKG_CONFIG@"
43   -GTK_VERSION="gtk+-@GTK_VERSION@"
44   -
45   -GTK_PREFIX=$($PKG_CONFIG --variable=prefix ${GTK_VERSION})
46   -GDK_LOADERS=$(${PKG_CONFIG} --variable=gdk_pixbuf_binarydir gdk-pixbuf-2.0 | sed -e "s@${prefix}@@g")
47   -
48   -TARGET="@BUILDDIR@/.bin/runtime"
49   -BINDIR="@BUILDDIR@/.bin/Release/"
50   -SCHEMADIR="@BUILDDIR@/schemas/"
51   -
52   -# Change to bin path
53   -mkdir -p ${TARGET}
54   -rm -fr ${TARGET}/*
55   -
56   -copy_dll() {
57   -
58   - AGAIN=1
59   - until [ $AGAIN = 0 ]; do
60   -
61   - SOURCES=$(mktemp)
62   - REQUIRES=$(mktemp)
63   -
64   - find "${BINDIR}" -iname "*.dll" > ${SOURCES}
65   - find "${BINDIR}" -iname "*.exe" >> ${SOURCES}
66   - find "${TARGET}" -iname *.dll >> ${SOURCES}
67   -
68   - while read FILENAME
69   - do
70   - objdump -p ${FILENAME} | grep "DLL Name:" | cut -d: -f2 | tr "[:upper:]" "[:lower:]" >> ${REQUIRES}
71   - done < ${SOURCES}
72   -
73   - libs_to_exclude="
74   - advapi32
75   - cfgmgr32
76   - comctl32
77   - comdlg32
78   - crypt32
79   - d3d8
80   - d3d9
81   - ddraw
82   - dnsapi
83   - dsound
84   - dwmapi
85   - gdi32
86   - gdiplus
87   - glu32
88   - glut32
89   - imm32
90   - iphlpapi
91   - kernel32
92   - ksuser
93   - mpr
94   - mscms
95   - mscoree
96   - msimg32
97   - msvcr71
98   - msvcr80
99   - msvcr90
100   - msvcrt
101   - mswsock
102   - netapi32
103   - odbc32
104   - ole32
105   - oleacc
106   - oleaut32
107   - opengl32
108   - psapi
109   - rpcrt4
110   - secur32
111   - setupapi
112   - shell32
113   - shlwapi
114   - user32
115   - usp10
116   - version
117   - wininet
118   - winmm
119   - wldap32
120   - ws2_32
121   - wsock32
122   - winspool.drv
123   - ntdll
124   - winhttp
125   - "
126   -
127   - # Excluo DLLs do sistema
128   - for i in $libs_to_exclude; do
129   - sed -i -e "/${i}/d" ${REQUIRES}
130   - done
131   -
132   - # Procuro pelas DLLs que faltam
133   - AGAIN=0
134   - while read FILENAME
135   - do
136   - if [ ! -e "${TARGET}/${FILENAME}" ]; then
137   -
138   - COUNT=$(find "${BINDIR}" -iname ${FILENAME} | wc --lines)
139   - if [ "${COUNT}" == "0" ]; then
140   -
141   - echo ${FILENAME}
142   -
143   - if [ -e ${prefix}/bin/${FILENAME} ]; then
144   -
145   - echo "Copiando $(basename ${FILENAME})..."
146   -
147   - AGAIN=1
148   - cp -v "${prefix}/bin/${FILENAME}" "${TARGET}/${FILENAME}"
149   - if [ "$?" != "0" ]; then
150   - exit -1
151   - fi
152   -
153   - elif [ -e ${prefix}/lib/${FILENAME} ]; then
154   -
155   - echo "Copiando $(basename ${FILENAME})..."
156   -
157   - AGAIN=1
158   - cp -v "${prefix}/lib/${FILENAME}" "${TARGET}/${FILENAME}"
159   - if [ "$?" != "0" ]; then
160   - exit -1
161   - fi
162   -
163   - else
164   -
165   - echo "Can't find ${FILENAME}"
166   - exit -1
167   -
168   - fi
169   -
170   - fi
171   -
172   -
173   - fi
174   -
175   - done < ${REQUIRES}
176   -
177   - rm -f ${SOURCES}
178   - rm -f ${REQUIRES}
179   -
180   - done
181   -
182   -}
183   -
184   -copy_locale() {
185   -
186   - rm -fr ${TARGET}/share/locale/pt_BR/LC_MESSAGES
187   - mkdir -p ${TARGET}/share/locale/pt_BR/LC_MESSAGES
188   -
189   - locales="
190   - gettext-runtime.mo
191   - gettext-tools.mo
192   - glib20.mo
193   - gtk30.mo
194   - gtk30-properties.mo
195   - "
196   -
197   - for i in $locales; do
198   - if [ -e "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i}" ]; then
199   - echo "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i} ..."
200   - cp "${GTK_PREFIX}/share/locale/pt_BR/LC_MESSAGES/${i}" "${TARGET}/share/locale/pt_BR/LC_MESSAGES"
201   - if [ "$?" != "0" ]; then
202   - exit -1
203   - fi
204   - fi
205   - done
206   -
207   -}
208   -
209   -copy_loaders() {
210   -
211   - mkdir -p "${TARGET}/${GDK_LOADERS}"
212   - cp -rv "${prefix}/${GDK_LOADERS}/loaders" "${TARGET}/${GDK_LOADERS}"
213   - if [ "$?" != "0" ]; then
214   - exit -1
215   - fi
216   -
217   -}
218   -
219   -copy_schemes() {
220   -
221   - mkdir -p "${TARGET}/share/glib-2.0/schemas"
222   -
223   - cp -v \
224   - ${SCHEMADIR}/windows/*.xml \
225   - "${TARGET}/share/glib-2.0/schemas"
226   -
227   - if [ "$?" != "0" ]; then
228   - exit -1
229   - fi
230   -
231   - cp -rv \
232   - "${prefix}/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml" \
233   - "${TARGET}/share/glib-2.0/schemas"
234   -
235   - if [ "$?" != "0" ]; then
236   - exit -1
237   - fi
238   -
239   - cp -rv \
240   - "${prefix}/share/glib-2.0/schemas/gschema.dtd" \
241   - "${TARGET}/share/glib-2.0/schemas"
242   -
243   - if [ "$?" != "0" ]; then
244   - exit -1
245   - fi
246   -
247   - glib-compile-schemas \
248   - --targetdir="${TARGET}/share/glib-2.0/schemas" \
249   - "${TARGET}/share/glib-2.0/schemas"
250   -
251   - if [ "$?" != "0" ]; then
252   - exit -1
253   - fi
254   -}
255   -
256   -
257   -copy_theme() {
258   -
259   - mkdir -p "${TARGET}/etc"
260   - cp -rv "${prefix}/etc/gtk-3.0" "${TARGET}/etc"
261   -
262   - # https://stackoverflow.com/questions/37035936/how-to-get-native-windows-decorations-on-gtk3-on-windows-7-and-msys2
263   - mkdir -p ${TARGET}/etc/gtk-3.0
264   - rm -f ${TARGET}/etc/gtk-3.0/settings.ini
265   - rm -f ${TARGET}/etc/gtk-3.0/gtkrc
266   -
267   - mkdir -p ${TARGET}/share/icons
268   - if [ "$?" != 0 ]; then
269   - echo "Can´t create icons folder"
270   - exit -1
271   - fi
272   -
273   - cp -rv /usr/share/icons/${1} ${TARGET}/share/icons
274   - if [ "$?" != 0 ]; then
275   - echo "Can´t copy ${1} icons"
276   - exit -1
277   - fi
278   -
279   - mkdir -p ${TARGET}/share/themes
280   - if [ "$?" != 0 ]; then
281   - echo "Can´t create themes folder"
282   - exit -1
283   - fi
284   -
285   -# cp -rv /usr/share/themes/${1} ${TARGET}/share/themes
286   -# if [ "$?" != 0 ]; then
287   -# echo "Can´t copy ${1} theme"
288   -# exit -1
289   -# fi
290   -
291   - echo "${myDIR}/gtk.css"
292   - if [ -e "${myDIR}/gtk.css" ]; then
293   - cp "${myDIR}/gtk.css" "${TARGET}/share/themes/${1}/gtk-3.0/gtk.css"
294   - fi
295   -
296   -}
297   -
298   -#
299   -# Check command line parameters
300   -#
301   -until [ -z "$1" ]
302   -do
303   - if [ ${1:0:2} = '--' ]; then
304   - tmp=${1:2}
305   - parameter=${tmp%%=*}
306   - parameter=$(echo $parameter | tr "[:lower:]" "[:upper:]")
307   - value=${tmp##*=}
308   -
309   - case "$parameter" in
310   - OUTPUT-DIR)
311   - TARGET=$value
312   - ;;
313   -
314   - BINDIR)
315   - BINDIR=$value
316   - ;;
317   -
318   - HELP)
319   - echo "${0} [options]"
320   - echo ""
321   - echo "Options:"
322   - echo ""
323   - echo " --path Set runtime instalation path (default is $TARGET)"
324   - echo " --bindir Set binaries source path (default is $BINDIR)"
325   - echo ""
326   - exit 0
327   -
328   - ;;
329   -
330   - esac
331   - fi
332   -
333   - shift
334   -
335   -done
336   -
337   -#
338   -# Make runtime
339   -#
340   -copy_dll
341   -copy_locale
342   -copy_loaders
343   -copy_schemes
344   -copy_theme "Adwaita"
345   -
346   -# Otimiza todos os pngs
347   -#echo "Optimizing..."
348   -#find ${TARGET} -iname *.png -exec optipng -o7 -quiet {} \; 2>&1 > /dev/null
349   -
350   -echo "Runtime ok"
win/msys2-install-tn3270-libs.sh
... ... @@ -1,72 +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., 51 Franklin
20   -# St, Fifth Floor, Boston, MA 02110-1301 USA
21   -#
22   -# Contatos:
23   -#
24   -# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
25   -# erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
26   -#
27   -#
28   -VERSION="5.2"
29   -
30   -install() {
31   -
32   - BUILD_DIR=${TEMPDIR}/${1}
33   -
34   - mkdir -p ${BUILD_DIR}
35   - if [ "$?" != "0" ]; then
36   - exit -1
37   - fi
38   -
39   - pushd ${BUILD_DIR}
40   - if [ "$?" != "0" ]; then
41   - exit -1
42   - fi
43   -
44   - wget https://github.com/PerryWerneck/${1}/releases/download/${VERSION}/PKGBUILD
45   - if [ "$?" != "0" ]; then
46   - exit -1
47   - fi
48   -
49   - makepkg
50   - if [ "$?" != "0" ]; then
51   - exit -1
52   - fi
53   -
54   - popd
55   -
56   - cp ${BUILD_DIR}/mingw*-${1}*.tar.xz .
57   -
58   - rm -fr ${BUILD_DIR}
59   -
60   - pacman -U mingw*-${1}*.tar.xz
61   - if [ "$?" != "0" ]; then
62   - exit -1
63   - fi
64   -
65   -}
66   -
67   -TEMPDIR=$(mktemp -d)
68   -
69   -install lib3270
70   -install libv3270
71   -
72   -rm -fr ${TEMPDIR}
win/pw3270.nsi.in
... ... @@ -24,20 +24,16 @@
24 24  
25 25 Name "@PRODUCT_NAME@"
26 26 Caption "@PRODUCT_NAME@ - @PACKAGE_DESCRIPTION@"
27   -!ifdef WITHGTK
28   -outfile "@PRODUCT_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@-gtk-@GTK_MODVERSION@-@host_cpu@.exe"
29   -!else
30   -outfile "@PRODUCT_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.@PACKAGE_MAJOR_RELEASE@.@PACKAGE_MINOR_RELEASE@-requires-gtk-@GTK_MODVERSION@-@host_cpu@.exe"
31   -!endif
  27 +outfile "@PRODUCT_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@-@host_cpu@.exe"
32 28  
33 29 XPStyle on
34 30  
35 31 installDir "$@PROGRAMFILES@\@PRODUCT_NAME@"
36 32  
37 33 #define the installer icon
38   -!define MUI_ICON "@PRODUCT_NAME@.ico"
39   -!define MUI_UNICON "@PRODUCT_NAME@.ico"
40   -icon "@PRODUCT_NAME@.ico"
  34 +!define MUI_ICON "bin\@PRODUCT_NAME@.ico"
  35 +!define MUI_UNICON "bin\@PRODUCT_NAME@.ico"
  36 +icon "bin\@PRODUCT_NAME@.ico"
41 37  
42 38 # Get installation folder from registry if available
43 39 InstallDirRegKey HKLM "Software\@PRODUCT_NAME@" "InstallLocation"
... ... @@ -60,16 +56,16 @@ VIAddVersionKey &quot;LegalCopyright&quot; &quot;(C) 2017 Banco do Brasil S/A. All Rights Reser
60 56 # Interface
61 57  
62 58 !define MUI_ABORTWARNING
63   -# !insertmacro MUI_PAGE_WELCOME
64   -!insertmacro MUI_PAGE_LICENSE "LICENSE"
  59 +!insertmacro MUI_PAGE_WELCOME
  60 +!insertmacro MUI_PAGE_LICENSE "share\@PRODUCT_NAME@\LICENSE"
65 61 !insertmacro MUI_PAGE_COMPONENTS
66 62 !insertmacro MUI_PAGE_DIRECTORY
67 63 !insertmacro MUI_PAGE_INSTFILES
68 64  
69   -# !insertmacro MUI_UNPAGE_WELCOME
  65 +!insertmacro MUI_UNPAGE_WELCOME
70 66 !insertmacro MUI_UNPAGE_CONFIRM
71 67 !insertmacro MUI_UNPAGE_INSTFILES
72   -# !insertmacro MUI_UNPAGE_FINISH
  68 +!insertmacro MUI_UNPAGE_FINISH
73 69  
74 70 # Languages
75 71 !insertmacro MUI_LANGUAGE "English"
... ... @@ -80,71 +76,51 @@ VIAddVersionKey &quot;LegalCopyright&quot; &quot;(C) 2017 Banco do Brasil S/A. All Rights Reser
80 76 # default section
81 77 SubSection "@PRODUCT_NAME@" SecMain
82 78  
83   - Section "Core" SecCore
  79 + Section "@PRODUCT_NAME@" SecCore
84 80  
85 81 SetRegView @WINARCH@
86 82 ${DisableX64FSRedirection}
87 83  
88 84 # define the output path for this file
89   - setOutPath $INSTDIR
90 85 SetShellVarContext all
91 86  
92   - createShortCut "$SMPROGRAMS\@PRODUCT_NAME@.lnk" "$INSTDIR\@PRODUCT_NAME@.exe"
93   - createShortCut "$DESKTOP\@PRODUCT_NAME@.lnk" "$INSTDIR\@PRODUCT_NAME@.exe"
  87 + createShortCut "$SMPROGRAMS\@PRODUCT_NAME@.lnk" "$INSTDIR\bin\@PRODUCT_NAME@.exe"
  88 + createShortCut "$DESKTOP\@PRODUCT_NAME@.lnk" "$INSTDIR\bin\@PRODUCT_NAME@.exe"
94 89  
95 90 # Binary files
96   - file "/oname=$INSTDIR\@PRODUCT_NAME@.exe" "bin\@PRODUCT_NAME@.exe"
97   - file "/oname=$INSTDIR\@PRODUCT_NAME@.ico" "bin\@PRODUCT_NAME@.ico"
98   - file "/oname=$INSTDIR\lib@LIBRARY_NAME@.dll" "bin\lib@LIBRARY_NAME@.dll"
99   - file "/oname=$INSTDIR\libv3270.dll" "bin\libv3270.dll"
100   -
101   - # Register file association
102   -
103   - # icons & logos
104   - CreateDirectory "$INSTDIR\icons"
105   - file "/oname=$INSTDIR\icons\gtk-connect-symbolic.svg" "share\@PRODUCT_NAME@\icons\gtk-connect-symbolic.svg"
106   - file "/oname=$INSTDIR\icons\gtk-disconnect-symbolic.svg" "share\@PRODUCT_NAME@\icons\gtk-disconnect-symbolic.svg"
107   - file "/oname=$INSTDIR\icons\connect-symbolic.svg" "share\@PRODUCT_NAME@\icons\connect-symbolic.svg"
108   - file "/oname=$INSTDIR\icons\disconnect-symbolic.svg" "share\@PRODUCT_NAME@\icons\disconnect-symbolic.svg"
109   - file "/oname=$INSTDIR\icons\@PRODUCT_NAME@.svg" "share\@PRODUCT_NAME@\@PRODUCT_NAME@.svg"
110   -
111   - file "/oname=$INSTDIR\@PRODUCT_NAME@-logo.svg" "share\@PRODUCT_NAME@\@PRODUCT_NAME@-logo.svg"
112   - file "/oname=$INSTDIR\@PRODUCT_NAME@.svg" "share\@PRODUCT_NAME@\@PRODUCT_NAME@.svg"
113   - file "/oname=$INSTDIR\@PRODUCT_NAME@.png" "share\@PRODUCT_NAME@\@PRODUCT_NAME@.png"
114   -
115   - # Schema
116   - CreateDirectory "$INSTDIR\schemas"
117   - file "/oname=$INSTDIR\schemas\@PRODUCT_NAME@-application.gschema.xml" "share\glib-2.0\schemas\@PRODUCT_NAME@-application.gschema.xml"
118   - file "/oname=$INSTDIR\schemas\@PRODUCT_NAME@-window.gschema.xml" "share\glib-2.0\schemas\@PRODUCT_NAME@-window.gschema.xml"
119   -
120   - file "/oname=$INSTDIR\gschemas.compiled" "runtime/share/glib-2.0/schemas/gschemas.compiled"
121   -
122   - # Configuration files
123   - file "/oname=$INSTDIR\colors.conf" "share\@PRODUCT_NAME@\colors.conf"
124   -
125   - # Documentation files
126   - file "/oname=$INSTDIR\AUTHORS" "AUTHORS"
127   - file "/oname=$INSTDIR\LICENSE" "LICENSE"
128   -
129   - # Misc folders
130   - CreateDirectory "$INSTDIR\certs"
131   - CreateDirectory "$INSTDIR\plugins"
132   - CreateDirectory "$INSTDIR\keypad"
133   -
134   - # UI definition files
135   - CreateDirectory "$INSTDIR\ui"
136   - file "/oname=$INSTDIR\@PRODUCT_NAME@.ui.xml" "share\@PRODUCT_NAME@\@PRODUCT_NAME@.ui.xml"
137   -
138   - # Charset definition files
139   - CreateDirectory "$INSTDIR\remap"
140   - file "/oname=$INSTDIR\remap\bracket.xml" "share\@PRODUCT_NAME@\remap\bracket.xml"
141   -
142   - # Locale files
143   - CreateDirectory "$INSTDIR\locale\pt_BR\LC_MESSAGES"
144   - file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\@PACKAGE_NAME@.mo" "share\locale\pt_BR\LC_MESSAGES\@PACKAGE_NAME@.mo"
145   - file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\lib@LIBRARY_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo" "share\locale\pt_BR\LC_MESSAGES\lib@LIBRARY_NAME@-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo"
146   - file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\libv3270-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo" "share\locale\pt_BR\LC_MESSAGES\libv3270-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo"
  91 + setOutPath "$INSTDIR"
  92 + file /r "bin"
  93 +
  94 + setOutPath "$INSTDIR\share\@PRODUCT_NAME@"
  95 + file /r "share\@PRODUCT_NAME@\*.png"
  96 + file /r "share\@PRODUCT_NAME@\*.svg"
  97 + file /r "share\@PRODUCT_NAME@\*.ui.xml"
  98 + file /r "share\@PRODUCT_NAME@\*.conf"
  99 +
  100 + setOutPath "$INSTDIR\share\@PRODUCT_NAME@\remap"
  101 + file /r "share\@PRODUCT_NAME@\remap\*"
  102 +
  103 + setOutPath "$INSTDIR\lib\gdk-pixbuf-2.0"
  104 + file /r "lib\gdk-pixbuf-2.0\*"
  105 +
  106 + setOutPath "$INSTDIR\etc"
  107 + file /r "etc\*"
147 108  
  109 + setOutPath "$INSTDIR\share\locale"
  110 + file /r "share\locale\*"
  111 +
  112 + setOutPath "$INSTDIR\share\themes"
  113 + file /r "share\themes\*"
  114 +
  115 + setOutPath "$INSTDIR\share\icons"
  116 + file /r "share\icons\*"
  117 +
  118 + setOutPath "$INSTDIR\share\glib-2.0"
  119 + file /r "share\glib-2.0\*"
  120 +
  121 + setOutPath "$INSTDIR\share\@PRODUCT_NAME@\icons"
  122 + file /r "share\@PRODUCT_NAME@\icons\*"
  123 +
148 124 # define uninstaller name
149 125 SetRegView 32
150 126  
... ... @@ -211,122 +187,49 @@ SubSection &quot;@PRODUCT_NAME@&quot; SecMain
211 187  
212 188 sectionEnd
213 189  
214   -!ifdef WITHCERTS
215   - Section "SSL Certificates" SSLCerts
216   - setOutPath $INSTDIR\certs
217   - file /r "sslcerts\*.*"
218   - sectionEnd
219   -!endif
220   -
221   - SubSection "Plugins" SecPLugin
222   -
223   - Section "Remote control" IPCPlugin
224   -
225   - setOutPath $INSTDIR
226   -
227   - ${DisableX64FSRedirection}
228   -
229   - CreateDirectory "$INSTDIR\plugins"
230   - file "/oname=$INSTDIR\plugins\ipcserver.dll" "lib\@PRODUCT_NAME@-plugins\ipcserver.dll"
231   -
232   - CreateDirectory "$INSTDIR\locale\pt_BR\LC_MESSAGES"
233   - file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\libipc3270-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo" "share\locale\pt_BR\LC_MESSAGES\libipc3270-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo"
234   -
235   - ${@NSISREDIR@}
236   - file "/oname=$SYSDIR\libipc3270.dll" "bin\libipc3270.dll"
237   -
238   - sectionEnd
239   -
240   - SubSectionEnd
241   -
242   -!ifdef WITHEXTRAS
243   - SubSection "Extra modules" Languages
244   -
245   -!ifdef WITHLIBHLLAPI
246   - Section "HLLAPI" HLLAPIBinding
247   -
248   - ${@NSISREDIR@}
249   -
250   - # Install HLLAPI connector
251   - file "/oname=$SYSDIR\hllapi.dll" "bin\libhllapi.dll"
252   -
253   - # Install with "lib" prefix for compatibility.
254   - file "/oname=$SYSDIR\libhllapi.dll" "bin\libhllapi.dll"
255   -
256   - CreateDirectory "$INSTDIR\locale\pt_BR\LC_MESSAGES"
257   - file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\libhllapi-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo" "share\locale\pt_BR\LC_MESSAGES\libhllapi-@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@.mo"
258   -
259   - SectionEnd
260   -!endif
261   -
262   - Section "KEYPADS" Keypads
263   -
264   - file "/oname=$INSTDIR\keypad\00-right.xml" "share\@PRODUCT_NAME@\keypad\00-right.xml"
265   - file "/oname=$INSTDIR\keypad\10-bottom.xml" "share\@PRODUCT_NAME@\keypad\10-bottom.xml"
266   -
267   - SectionEnd
268   -
269   -!ifdef WITHMONO-TN3270
270   - Section /o ".NET" DOTNET
271   -
272   - CreateDirectory "$INSTDIR\dotnet"
273   -
274   - ${DisableX64FSRedirection}
275   - file "/oname=$INSTDIR\dotnet\tn3270.dll" "mono/lib/tn3270-5.2/tn3270.dll"
276   - file "/oname=$INSTDIR\dotnet\tn3270.xml" "mono/gapi-2.0/tn3270/tn3270.xml"
277   -
278   - ${@NSISREDIR@}
279   - file "/oname=$SYSDIR\mono-tn3270.dll" "mono-tn3270.dll"
280   -
281   - SectionEnd
282   -!endif
283   -
284   - SubSectionEnd
285   -!endif
286   -
287 190 !ifdef WITHSDK
288   - Section /o "Software Development Kit" SDK
  191 + Section /o "Software Development Kit" SDK
289 192  
290 193 setOutPath $INSTDIR\sdk\include
291 194 file /r "include\*.*"
292 195  
293   - CreateDirectory "$INSTDIR\sdk"
294   - CreateDirectory "$INSTDIR\sdk\def"
295   - CreateDirectory "$INSTDIR\sdk\lib"
296   -
297   - file "/oname=$INSTDIR\sdk\lib\lib3270.dll.a" "lib\lib@LIBRARY_NAME@.dll.a"
298   - file "/oname=$INSTDIR\sdk\lib\lib3270.delayed.a" "lib\lib@LIBRARY_NAME@.delayed.a"
299   - file "/oname=$INSTDIR\sdk\lib\lib3270.static.a" "lib\lib@LIBRARY_NAME@.static.a"
300   - file "/oname=$INSTDIR\sdk\lib\libv3270.dll.a" "lib\libv3270.dll.a"
301   - file "/oname=$INSTDIR\sdk\lib\libipc3270.dll.a" "lib\libipc3270.dll.a"
302   - file "/oname=$INSTDIR\sdk\lib\libipc3270.static.a" "lib\libipc3270.static.a"
303   - file "/oname=$INSTDIR\sdk\lib\libhllapi.dll.a" "lib\libhllapi.dll.a"
  196 + setOutPath $INSTDIR\sdk\lib
  197 + file /r "lib\*.a"
304 198  
305   - file "/oname=$INSTDIR\sdk\lib3270.mak" "share\@PRODUCT_NAME@\def\lib3270.mak"
  199 + setOutPath $INSTDIR\sdk\lib\pkgconfig
  200 + file /r "lib\pkgconfig\*.pc"
306 201  
307   - file "/oname=$INSTDIR\sdk\def\lib@LIBRARY_NAME@.def" "share\@PRODUCT_NAME@\def\lib@LIBRARY_NAME@.def"
308   - file "/oname=$INSTDIR\sdk\def\libv3270.def" "share\@PRODUCT_NAME@\def\libv3270.def"
309   - file "/oname=$INSTDIR\sdk\def\libipc3270.def" "share\@PRODUCT_NAME@\def\libipc3270.def"
310   - file "/oname=$INSTDIR\sdk\def\libhllapi.def" "share\@PRODUCT_NAME@\def\libhllapi.def"
  202 + setOutPath $INSTDIR\sdk\msvc
  203 + file /r "share\@PRODUCT_NAME@\def\*.def"
  204 + file /r "share\@PRODUCT_NAME@\def\*.mak"
311 205  
312 206 SetRegView @WINARCH@
313 207 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PW3270_SDK_PATH" "$INSTDIR\sdk"
314 208 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
315 209  
316   - SectionEnd
  210 + SectionEnd
317 211 !endif
318 212  
319   -SubSectionEnd
  213 +!ifdef WITHCERTS
  214 + Section "SSL Certificates" SSLCerts
  215 + setOutPath $INSTDIR\certs
  216 + file /r "sslcerts\*.*"
  217 + sectionEnd
  218 +!endif
320 219  
  220 + SubSection "Plugins" SecPLugin
321 221  
322   -!ifdef WITHGTK
323   -Section "GTK+ Runtime" SecGTK
  222 + Section "Remote control" IPCPlugin
  223 +
  224 + ${DisableX64FSRedirection}
  225 + CreateDirectory "$INSTDIR\lib\@PRODUCT_NAME@-plugins"
  226 + file "/oname=$INSTDIR\lib\@PRODUCT_NAME@-plugins\ipcserver.dll" "lib\@PRODUCT_NAME@-plugins\ipcserver.dll"
324 227  
325   - setOutPath $INSTDIR
326   - file /r "runtime\*.*"
  228 + sectionEnd
327 229  
328   -SectionEnd
329   -!endif
  230 + SubSectionEnd
  231 +
  232 +SubSectionEnd
330 233  
331 234 Section "Uninstall"
332 235  
... ... @@ -343,15 +246,7 @@ Section &quot;Uninstall&quot;
343 246 delete $SMPROGRAMS\@PRODUCT_NAME@.lnk
344 247 delete $DESKTOP\@PRODUCT_NAME@.lnk
345 248  
346   - RMDir /r "$INSTDIR\locale"
347   - RMDir /r "$INSTDIR\share"
348   - RMDir /r "$INSTDIR\etc"
349   - RMDir /r "$INSTDIR\plugins"
350   - RMDir /r "$INSTDIR\sdk"
351   - RMDir /r "$INSTDIR\gtk2-runtime"
352   -
353   - # Delete all files
354   - delete "$INSTDIR\*.dll"
  249 + RMDir /r "$INSTDIR"
355 250  
356 251 # Remove registry
357 252 SetRegView 32
... ...
win/win32-configure
... ... @@ -1,37 +0,0 @@
1   -#!/bin/bash
2   -
3   -export HOST_CC=/usr/bin/gcc
4   -export cache=win32.cache
5   -
6   -OPT=$@
7   -
8   -OFFICE=$(grep -c 'AC_ARG_ENABLE(\[office' configure.ac)
9   -
10   -if [ "$OFFICE" != "0" ]; then
11   - OPT="$OPT --disable-office"
12   -fi
13   -
14   -if [ -d ~/win32/jdk ]; then
15   - export JDK_HOME=$(readlink -f ~/win32/jdk)
16   -else
17   - unset JDK_HOME
18   -fi
19   -
20   -if [ -d ~/win32/jre ]; then
21   - export JRE_HOME=$(readlink -f ~/win32/jre)
22   -else
23   - unset JRE_HOME
24   -fi
25   -
26   -./configure --cache-file=$cache \
27   - --host=i686-w64-mingw32 \
28   - --prefix=/usr/i686-w64-mingw32/sys-root/mingw \
29   - --libdir=/usr/i686-w64-mingw32/sys-root/mingw/lib \
30   - $OPT
31   -
32   -
33   -status=$?
34   -
35   -rm -f "$cache"
36   -exit $status
37   -
win/win64-configure
... ... @@ -1,33 +0,0 @@
1   -#!/bin/bash
2   -
3   -export HOST_CC=/usr/bin/gcc
4   -export cache=win64.cache
5   -
6   -OPT=$@
7   -
8   -OFFICE=$(grep -c 'AC_ARG_ENABLE(\[office' configure.ac)
9   -
10   -if [ "$OFFICE" != "0" ]; then
11   - OPT="$OPT --disable-office"
12   -fi
13   -
14   -if [ -d ~/win64/jdk ]; then
15   - export JDK_HOME=$(readlink -f ~/win64/jdk)
16   -fi
17   -
18   -if [ -d ~/win64/jre ]; then
19   - export JRE_HOME=$(readlink -f ~/win64/jre)
20   -fi
21   -
22   -
23   -./configure --cache-file=$cache \
24   - --host=x86_64-w64-mingw32 \
25   - --prefix=/usr/x86_64-w64-mingw32/sys-root/mingw \
26   - --libdir=/usr/x86_64-w64-mingw32/sys-root/mingw/lib \
27   - $OPT
28   -
29   -status=$?
30   -
31   -rm -f "$cache"
32   -exit $status
33   -
wine-run.sh
1 1 #!/bin/bash
2 2  
3   -make Debug
4   -make gschemas.compiled
  3 +rm -fr ${PWD}/.build
  4 +
  5 +make DESTDIR=${PWD}/.build install
  6 +if [ "$?" != "0" ]; then
  7 + exit -1
  8 +fi
  9 +
  10 +bash ./win/makeruntime.sh
  11 +if [ "$?" != "0" ]; then
  12 + exit -1
  13 +fi
  14 +
  15 +wine .build/usr/x86_64-w64-mingw32/sys-root/mingw/bin/pw3270.exe
  16 +if [ "$?" != "0" ]; then
  17 + exit -1
  18 +fi
5 19  
6   -cp gschemas.compiled .bin/Debug
7 20  
8   -wine .bin/Debug/pw3270.exe
9 21  
... ...