6
6
- ' *'
7
7
8
8
jobs :
9
+ macos-sdk :
10
+ runs-on : macos-latest
11
+ steps :
12
+ - id : osxcross-macos-sdk
13
+ uses : actions/cache@v2
14
+ with :
15
+ path : osxcross/tarballs
16
+ key : ${{ runner.os }}-osxcross-macos-sdk
17
+
18
+ - name : Package MacOSX SDK
19
+ if : steps.osxcross-macos-sdk.outputs.cache-hit != 'true'
20
+ run : |
21
+ git clone https://github.com/tpoechtrager/osxcross osxcross
22
+ pushd osxcross
23
+ XCODEDIR=/Applications/Xcode_12.4.app tools/gen_sdk_package.sh
24
+ mv MacOSX*.sdk.tar.xz tarballs/
25
+ popd
26
+
27
+ - uses : actions/upload-artifact@master
28
+ with :
29
+ name : osxcross-tarballs
30
+ path : osxcross/tarballs
31
+
9
32
goreleaser :
10
33
runs-on : ubuntu-latest
11
- container : fedora:33
34
+ container : fedora:34
35
+ needs : macos-sdk
12
36
13
37
steps :
14
38
- name : Install dependencies
15
- run : dnf -y install git golang mingw{32,64}-gcc{-c++,} mingw{32,64}-{winpthreads,xz-libs}-static glibc-{devel,static}.{i686,x86_64} xz-{devel,static}.{i686,x86_64}
39
+ run : |
40
+ dnf -y install autoconf bash clang cmake gettext-devel git glibc-{devel,static}.{i686,x86_64} golang libstdc++-static libtool libuuid-devel libxml2-devel llvm-devel make mingw{32,64}-{winpthreads,xz-libs}-static mingw{32,64}-gcc{-c++,} openssl-devel patch po4a xz-{devel,static}.{i686,x86_64}
41
+ dnf -y install 'dnf-command(download)'
42
+ dnf download --source xz-devel
43
+ rpm -ivh *.src.rpm
44
+ rm -f *.src.rpm
16
45
17
46
- name : Setup cross compile environment for Linux ARMv7
18
47
env :
19
48
CC : arm-linux-gnueabihf-gcc
20
49
CXX : arm-linux-gnueabihf-c++
21
50
CFLAGS : -fPIC
22
51
run : |
23
- dnf -y install 'dnf-command(copr)'
24
52
dnf -y copr enable lantw44/arm-linux-gnueabihf-toolchain
25
53
dnf -y install arm-linux-gnueabihf-{binutils,gcc,glibc}
26
- dnf -y install autoconf gettext-devel libtool po4a wget
27
54
mkdir /linux-armv7-buildroot
28
55
pushd /linux-armv7-buildroot
29
- wget https://tukaani.org/xz/xz-5.2.5.tar.gz
30
- tar -xvf xz-5.2.5.tar.gz
31
- pushd xz-5.2.5
56
+ tar -xvf $HOME/rpmbuild/SOURCES/xz-*.tar.xz
57
+ pushd $(basename $HOME/rpmbuild/SOURCES/xz-*.tar.xz .tar.xz)
32
58
./autogen.sh
33
59
./configure --host=armv7 --prefix=/linux-armv7-buildroot/sys-root
34
60
make -j$(nproc) install
@@ -44,30 +70,37 @@ jobs:
44
70
dnf -y install aarch64-linux-gnu-{binutils,gcc,glibc}
45
71
mkdir /linux-aarch64-buildroot
46
72
pushd /linux-aarch64-buildroot
47
- wget https://tukaani.org/xz/xz-5.2.5.tar.gz
48
- tar -xvf xz-5.2.5.tar.gz
49
- pushd xz-5.2.5
73
+ tar -xvf $HOME/rpmbuild/SOURCES/xz-*.tar.xz
74
+ pushd $(basename $HOME/rpmbuild/SOURCES/xz-*.tar.xz .tar.xz)
50
75
./autogen.sh
51
76
./configure --host=aarch64 --prefix=/linux-aarch64-buildroot/sys-root
52
77
make -j$(nproc) install
53
78
popd
54
79
popd
55
80
56
- - id : osxcross-cache
81
+ - name : Download osxcross
82
+ run : git clone https://github.com/tpoechtrager/osxcross /osxcross
83
+
84
+ - id : osxcross-target
57
85
uses : actions/cache@v2
58
86
with :
59
- path : /osxcross
60
- key : ${{ runner.os }}-osxcross
87
+ path : /osxcross/target
88
+ key : ${{ runner.os }}-osxcross-target
89
+
90
+ - uses : actions/download-artifact@master
91
+ if : steps.osxcross-target.outputs.cache-hit != 'true'
92
+ with :
93
+ name : osxcross-tarballs
94
+ path : /osxcross/tarballs
95
+
96
+ - uses : geekyeggo/delete-artifact@v1
97
+ with :
98
+ name : osxcross-tarballs
61
99
62
100
- name : Build osxcross
63
- if : steps.osxcross-cache.outputs.cache-hit != 'true'
64
- run : |
65
- git clone https://github.com/tpoechtrager/osxcross /osxcross
66
- pushd /osxcross
67
- dnf -y install clang llvm-devel libxml2-devel libuuid-devel openssl-devel bash patch libstdc++-static make cmake
68
- wget https://s3.dockerproject.org/darwin/v2/MacOSX10.11.sdk.tar.xz -O tarballs/MacOSX10.11.sdk.tar.xz
69
- UNATTENDED=1 ./build.sh
70
- popd
101
+ if : steps.osxcross-target.outputs.cache-hit != 'true'
102
+ run : UNATTENDED=1 ./build.sh
103
+ working-directory : /osxcross
71
104
72
105
- name : Setup cross compile environment for Darwin AMD64
73
106
env :
@@ -76,11 +109,25 @@ jobs:
76
109
run : |
77
110
mkdir /darwin-amd64-buildroot
78
111
pushd /darwin-amd64-buildroot
79
- wget https://tukaani.org/xz/xz-5.2.5.tar.gz
80
- tar -xvf xz-5.2.5.tar.gz
81
- pushd xz-5.2.5
112
+ tar -xvf $HOME/rpmbuild/SOURCES/xz-*.tar.xz
113
+ pushd $(basename $HOME/rpmbuild/SOURCES/xz-*.tar.xz .tar.xz)
114
+ PATH=/osxcross/target/bin:$PATH ./autogen.sh
115
+ PATH=/osxcross/target/bin:$PATH ./configure --host=x86_64-apple-darwin20.2 --prefix=/darwin-amd64-buildroot/sys-root --enable-shared=no
116
+ PATH=/osxcross/target/bin:$PATH make -j$(nproc) install
117
+ popd
118
+ popd
119
+
120
+ - name : Setup cross compile environment for Darwin AArch64
121
+ env :
122
+ CC : oa64-clang
123
+ CXX : oa64-clang++
124
+ run : |
125
+ mkdir /darwin-aarch64-buildroot
126
+ pushd /darwin-aarch64-buildroot
127
+ tar -xvf $HOME/rpmbuild/SOURCES/xz-*.tar.xz
128
+ pushd $(basename $HOME/rpmbuild/SOURCES/xz-*.tar.xz .tar.xz)
82
129
PATH=/osxcross/target/bin:$PATH ./autogen.sh
83
- PATH=/osxcross/target/bin:$PATH ./configure --host=x86_64 -apple-darwin15 --prefix=/darwin-amd64 -buildroot/sys-root --enable-shared=no
130
+ PATH=/osxcross/target/bin:$PATH ./configure --host=aarch64 -apple-darwin20.2 --prefix=/darwin-aarch64 -buildroot/sys-root --enable-shared=no
84
131
PATH=/osxcross/target/bin:$PATH make -j$(nproc) install
85
132
popd
86
133
popd
0 commit comments