https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=5b67246301dfe2cce50939273889f59010be27a5

commit 5b67246301dfe2cce50939273889f59010be27a5
Author: Jon Turney <[email protected]>
Date:   Sun Aug 23 17:49:42 2020 +0100

    Cygwin: Add github action to cross-build on Fedora
    
    This helps avoid unpleasant surprises when we come to actually make a
    release (which are cross-built in this manner)

Diff:
---
 .github/workflows/cygwin.yml | 45 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml
new file mode 100644
index 000000000..cdad8e67b
--- /dev/null
+++ b/.github/workflows/cygwin.yml
@@ -0,0 +1,45 @@
+name: cygwin
+
+on: push
+
+jobs:
+  fedora-build:
+    runs-on: ubuntu-latest
+    container: fedora:latest
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+        - target: x86_64-pc-cygwin
+          pkgarch: 64
+        - target: i686-pc-cygwin
+          pkgarch: 32
+    name: Fedora cross ${{ matrix.target }}
+
+    steps:
+    - uses: actions/checkout@v2
+
+    # install build tools
+    - run: dnf install -y make patch perl
+    - run: dnf install -y mingw${{ matrix.pkgarch }}-gcc-c++ mingw${{ 
matrix.pkgarch }}-winpthreads-static mingw${{ matrix.pkgarch }}-zlib-static
+
+    # cocom isn't packaged in Fedora, so we install from a 3rd party repo
+    - run: dnf install -y 
https://github.com/rpmsphere/noarch/raw/master/r/rpmsphere-release-$(rpm -E 
%fedora)-1.noarch.rpm
+    - run: dnf install -y cocom
+
+    # install cross-cygwin toolchain and libs from copr
+    - run: dnf install -y dnf-plugins-core
+    - run: dnf copr enable -y yselkowitz/cygwin
+    - run: dnf install -y cygwin${{ matrix.pkgarch }}-gcc-c++ cygwin${{ 
matrix.pkgarch }}-gettext cygwin${{ matrix.pkgarch }}-libbfd cygwin${{ 
matrix.pkgarch }}-libiconv cygwin${{ matrix.pkgarch }}-zlib
+
+    # install doc tools
+    - run: dnf install -y dblatex docbook2X docbook-xsl xmlto
+    - run: dnf install -y python3 python3-lxml python3-ply
+
+    # build
+    - run: mkdir build install
+    - run: cd build && ../configure --target=${{ matrix.target }} 
--prefix=$(realpath $(pwd)/../install)
+    - run: make -C build
+    - run: make -C build/*/newlib info man
+    - run: make -C build install
+    - run: make -C build/*/newlib install-info install-man

Reply via email to