Commit 5e20fb6af5ea31aadfa89e1aa96ef2506eed2267

Authored by Perry Werneck
2 parents c7577b02 51b0d566
Exists in develop

Merge branch 'develop' into winpkg

.github/workflows/codeql-analysis.yml 0 → 100644
... ... @@ -0,0 +1,42 @@
  1 +---
  2 +name: CodeQL
  3 +on:
  4 + push:
  5 + branches:
  6 + - develop
  7 + pull_request:
  8 + branches:
  9 + - master
  10 +jobs:
  11 + analyze:
  12 + name: Analyze
  13 + runs-on: ubuntu-22.04
  14 + permissions:
  15 + actions: read
  16 + contents: read
  17 + security-events: write
  18 + strategy:
  19 + fail-fast: false
  20 + matrix:
  21 + language:
  22 + - cpp
  23 + steps:
  24 + - name: Checkout
  25 + uses: actions/checkout@v3
  26 + - name: Install Packages
  27 + run: |
  28 + echo 'deb http://download.opensuse.org/repositories/home:/PerryWerneck:/pw3270/xUbuntu_22.04/ /' | sudo tee /etc/apt/sources.list.d/home:PerryWerneck:pw3270.list
  29 + curl -fsSL https://download.opensuse.org/repositories/home:PerryWerneck:pw3270/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_PerryWerneck_pw3270.gpg > /dev/null
  30 + sudo apt-get update
  31 + sudo apt-get install --yes git make autopoint gettext pkg-config libgtk-3-dev imagemagick lib3270-dev libv3270-dev
  32 + - name: Initialize CodeQL
  33 + uses: github/codeql-action/init@v2
  34 + with:
  35 + languages: ${{ matrix.language }}
  36 + queries: +security-and-quality
  37 + - name: Autobuild
  38 + uses: github/codeql-action/autobuild@v2
  39 + - name: Perform CodeQL Analysis
  40 + uses: github/codeql-action/analyze@v2
  41 + with:
  42 + category: /language:${{ matrix.language }}
... ...
.github/workflows/codeql.yml
... ... @@ -1,42 +0,0 @@
1   ----
2   -name: CodeQL
3   -on:
4   - push:
5   - branches:
6   - - develop
7   - pull_request:
8   - branches:
9   - - master
10   -jobs:
11   - analyze:
12   - name: Analyze
13   - runs-on: ubuntu-22.04
14   - permissions:
15   - actions: read
16   - contents: read
17   - security-events: write
18   - strategy:
19   - fail-fast: false
20   - matrix:
21   - language:
22   - - cpp
23   - steps:
24   - - name: Checkout
25   - uses: actions/checkout@v3
26   - - name: Install Packages
27   - run: |
28   - echo 'deb http://download.opensuse.org/repositories/home:/PerryWerneck:/pw3270/xUbuntu_22.04/ /' | sudo tee /etc/apt/sources.list.d/home:PerryWerneck:pw3270.list
29   - curl -fsSL https://download.opensuse.org/repositories/home:PerryWerneck:pw3270/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_PerryWerneck_pw3270.gpg > /dev/null
30   - sudo apt-get update
31   - sudo apt-get install --yes git make autopoint gettext pkg-config libgtk-3-dev imagemagick lib3270-dev libv3270-dev
32   - - name: Initialize CodeQL
33   - uses: github/codeql-action/init@v2
34   - with:
35   - languages: ${{ matrix.language }}
36   - queries: +security-and-quality
37   - - name: Autobuild
38   - uses: github/codeql-action/autobuild@v2
39   - - name: Perform CodeQL Analysis
40   - uses: github/codeql-action/analyze@v2
41   - with:
42   - category: /language:${{ matrix.language }}
.github/workflows/msys2.yml
... ... @@ -6,7 +6,6 @@ on:
6 6 push:
7 7 branches:
8 8 - develop
9   -
10 9 jobs:
11 10 msys2-mingw:
12 11 name: Publish Windows 64
... ... @@ -19,25 +18,24 @@ jobs:
19 18 - uses: oprypin/find-latest-tag@v1
20 19 id: gettag
21 20 with:
22   - repository: PerryWerneck/libv3270
  21 + repository: PerryWerneck/pw3270
23 22 releases-only: true
24 23 - uses: msys2/setup-msys2@v2
25 24 with:
26 25 msystem: mingw64
27 26 update: true
28   - install: xz mingw-w64-x86_64-gcc automake autoconf make git pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool mingw-w64-x86_64-gtk3 mingw-w64-x86_64-imagemagick mingw-w64-x86_64-optipng mingw-w64-x86_64-inkscape
  27 + install: dos2unix mingw-w64-x86_64-gcc automake autoconf make git pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool mingw-w64-x86_64-gtk3 mingw-w64-x86_64-imagemagick mingw-w64-x86_64-optipng mingw-w64-x86_64-inkscape
29 28 - uses: robinraju/release-downloader@v1.7
30 29 with:
31 30 repository: "PerryWerneck/lib3270"
32 31 latest: true
33   - fileName: "mingw-lib3270.x86_64.tar.xz"
  32 + fileName: "mingw-w64-x86_64-lib3270-5.4-0-x86_64.pkg.tar.zst"
34 33 - uses: robinraju/release-downloader@v1.7
35 34 with:
36 35 repository: "PerryWerneck/libv3270"
37 36 latest: true
38   - fileName: "mingw-libv3270.x86_64.tar.xz"
  37 + fileName: "mingw-w64-x86_64-libv3270-5.4-0-x86_64.pkg.tar.zst"
39 38 - name: CI-Build
40   - run: |
41   - ./win/ci-build.sh
  39 + run: ./win/ci-build.sh
42 40  
43 41  
... ...
PKGBUILD.mingw 0 → 100644
... ... @@ -0,0 +1,62 @@
  1 +# Maintainer: Perry Werneck <perry.werneck@gmail.com>
  2 +# References: https://www.msys2.org/wiki/Creating-Packages/
  3 +
  4 +# SPDX-License-Identifier: LGPL-3.0-or-later
  5 +#
  6 +# Copyright (C) 2008 Banco do Brasil S.A.
  7 +#
  8 +# This program is free software: you can redistribute it and/or modify
  9 +# it under the terms of the GNU Lesser General Public License as published
  10 +# by the Free Software Foundation, either version 3 of the License, or
  11 +# (at your option) any later version.
  12 +#
  13 +# This program is distributed in the hope that it will be useful,
  14 +# but WITHOUT ANY WARRANTY; without even the implied warranty of
  15 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16 +# GNU General Public License for more details.
  17 +#
  18 +# You should have received a copy of the GNU Lesser General Public License
  19 +# along with this program. If not, see <https://www.gnu.org/licenses/>.
  20 +
  21 +_realname=$(grep AC_INIT "${startdir}/configure.ac" | cut -d[ -f2 | cut -d] -f1)
  22 +
  23 +pkgname=${MINGW_PACKAGE_PREFIX}-${_realname}
  24 +source=()
  25 +
  26 +pkgver=$(grep AC_INIT "${startdir}/configure.ac" | cut -d[ -f3 | cut -d] -f1)
  27 +pkgrel=0
  28 +pkgdesc="TN3270 Access library"
  29 +url="https://github.com/PerryWerneck/${_realname}"
  30 +arch=(i686 x86_64)
  31 +license=(LGPL-3.0-or-later)
  32 +depends=(${MINGW_PACKAGE_PREFIX}-gtk3 ${MINGW_PACKAGE_PREFIX}-lib3270 ${MINGW_PACKAGE_PREFIX}-libv3270)
  33 +makedepends=(autoconf automake make libtool gzip dos2unix gzip ${MINGW_PACKAGE_PREFIX}-optipng ${MINGW_PACKAGE_PREFIX}-gtk3 ${MINGW_PACKAGE_PREFIX}-lib3270 ${MINGW_PACKAGE_PREFIX}-libv3270)
  34 +checkdepends=()
  35 +
  36 +provides=($pkgname)
  37 +conflicts=($pkgname)
  38 +
  39 +prepare() {
  40 + rm -fr "$srcdir/$pkgname"
  41 + ln -snf "$startdir" "$srcdir/$pkgname"
  42 +}
  43 +
  44 +build() {
  45 + cd $pkgname
  46 + ./autogen.sh \
  47 + --prefix=${MINGW_PREFIX} \
  48 + --build=${MINGW_CHOST} \
  49 + --host=${MINGW_CHOST} \
  50 + --target=${MINGW_CHOST}
  51 +
  52 + make all
  53 +}
  54 +
  55 +package() {
  56 + cd $pkgname
  57 + make DESTDIR="${pkgdir}" install
  58 + install \
  59 + -Dm644 \
  60 + "LICENSE" \
  61 + "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
  62 +}
... ...
win/ci-build.sh
1 1 #!/bin/bash
2 2 #
  3 +# SPDX-License-Identifier: LGPL-3.0-or-later
  4 +#
  5 +# Copyright (C) 2008 Banco do Brasil S.A.
  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 +#
3 21 # References:
4 22 #
5 23 # * https://www.msys2.org/docs/ci/
6 24 #
7   -#
  25 +
8 26 echo "Running ${0}"
9 27  
10 28 LOGFILE=build.log
... ... @@ -16,36 +34,20 @@ die ( ) {
16 34 exit -1
17 35 }
18 36  
19   -myDIR=$(dirname $(dirname $(readlink -f ${0})))
20   -echo "myDIR=${myDIR}"
21   -
22   -cd ${myDIR}
23   -rm -fr ${myDIR}/.build
24   -
25   -#
26   -# Unpack LIB3270
27   -#
28   -echo "Unpacking lib3270"
29   -tar -C / -Jxf ${MINGW_PACKAGE_PREFIX}-lib3270.tar.xz > $LOGFILE 2>&1 || die "Unpack lib3270 failure"
  37 +cd $(dirname $(dirname $(readlink -f ${0})))
30 38  
31 39 #
32   -# Unpack LIBV3270
  40 +# Install pre-reqs
33 41 #
34   -echo "Unpacking libv3270"
35   -tar -C / -Jxf ${MINGW_PACKAGE_PREFIX}-libv3270.tar.xz > $LOGFILE 2>&1 || die "Unpack libv3270 failure"
  42 +echo "Installing pre-reqs..."
  43 +pacman -U --noconfirm *.pkg.tar.zst || die "pacman failure"
36 44  
37 45 #
38   -# Build PW3270
  46 +# Build
39 47 #
40   -echo "Building PW3270"
41   -cd ${myDIR}
42   -./autogen.sh > $LOGFILE 2>&1 || die "Autogen failure"
43   -./configure > $LOGFILE 2>&1 || die "Configure failure"
44   -make clean > $LOGFILE 2>&1 || die "Make clean failure"
45   -make all > $LOGFILE 2>&1 || die "Make failure"
46   -
47   -make DESTDIR=.bin/package install
48   -tar --create --xz --file=${MINGW_PACKAGE_PREFIX}-pw3270.tar.xz --directory=.bin/package --verbose .
  48 +echo "Building package..."
  49 +dos2unix PKGBUILD.mingw || die "dos2unix failure"
  50 +makepkg BUILDDIR=/tmp/pkg -p PKGBUILD.mingw || die "makepkg failure"
49 51  
50 52 echo "Build complete"
51 53  
... ...