forked from joejulian/gio
86668e8b45
Signed-off-by: ddkwork
75 lines
2.6 KiB
YAML
75 lines
2.6 KiB
YAML
# SPDX-License-Identifier: Unlicense OR MIT
|
|
image: debian/testing
|
|
packages:
|
|
- clang
|
|
- cmake
|
|
- curl
|
|
- autoconf
|
|
- libxml2-dev
|
|
- libssl-dev
|
|
- libz-dev
|
|
- llvm-dev # cctools
|
|
- uuid-dev # cctools
|
|
- ninja-build # cctools
|
|
- systemtap-sdt-dev # cctools
|
|
- libbsd-dev # cctools
|
|
- linux-libc-dev # cctools
|
|
- libplist-utils # for gogio
|
|
sources:
|
|
- https://git.sr.ht/~eliasnaur/applesdks
|
|
- https://git.sr.ht/~eliasnaur/gio
|
|
- https://git.sr.ht/~eliasnaur/giouiorg
|
|
- https://github.com/tpoechtrager/cctools-port
|
|
- https://github.com/tpoechtrager/apple-libtapi
|
|
- https://github.com/tpoechtrager/apple-libdispatch
|
|
- https://github.com/mackyle/xar
|
|
environment:
|
|
APPLE_TOOLCHAIN_ROOT: /home/build/appletools
|
|
PATH: /home/build/sdk/go/bin:/home/build/go/bin:/usr/bin
|
|
tasks:
|
|
- install_go: |
|
|
mkdir -p /home/build/sdk
|
|
curl -s https://dl.google.com/go/go1.24.2.linux-amd64.tar.gz | tar -C /home/build/sdk -xzf -
|
|
- prepare_toolchain: |
|
|
mkdir -p $APPLE_TOOLCHAIN_ROOT
|
|
cd $APPLE_TOOLCHAIN_ROOT
|
|
tar xJf /home/build/applesdks/applesdks.tar.xz
|
|
mkdir bin tools
|
|
cd bin
|
|
ln -s ../toolchain/bin/x86_64-apple-darwin19-ld ld
|
|
ln -s ../toolchain/bin/x86_64-apple-darwin19-ar ar
|
|
ln -s /home/build/cctools-port/cctools/misc/lipo lipo
|
|
ln -s ../tools/appletoolchain xcrun
|
|
ln -s /usr/bin/plistutil plutil
|
|
cd ../tools
|
|
ln -s appletoolchain clang-ios
|
|
ln -s appletoolchain clang-macos
|
|
- install_appletoolchain: |
|
|
cd giouiorg
|
|
go build -o $APPLE_TOOLCHAIN_ROOT/tools ./cmd/appletoolchain
|
|
- build_libdispatch: |
|
|
cd apple-libdispatch
|
|
cmake -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_INSTALL_PREFIX=$APPLE_TOOLCHAIN_ROOT/libdispatch .
|
|
ninja
|
|
ninja install
|
|
- build_xar: |
|
|
cd xar/xar
|
|
ac_cv_lib_crypto_OpenSSL_add_all_ciphers=yes CC=clang ./autogen.sh --prefix=/usr
|
|
make
|
|
sudo make install
|
|
- build_libtapi: |
|
|
cd apple-libtapi
|
|
INSTALLPREFIX=$APPLE_TOOLCHAIN_ROOT/libtapi ./build.sh
|
|
./install.sh
|
|
- build_cctools: |
|
|
cd cctools-port/cctools
|
|
./configure --target=x86_64-apple-darwin19 --prefix $APPLE_TOOLCHAIN_ROOT/toolchain --with-libtapi=$APPLE_TOOLCHAIN_ROOT/libtapi --with-libdispatch=$APPLE_TOOLCHAIN_ROOT/libdispatch --with-libblocksruntime=$APPLE_TOOLCHAIN_ROOT/libdispatch
|
|
make install
|
|
- test_macos: |
|
|
cd gio
|
|
export PATH=/home/build/appletools/bin:$PATH
|
|
CC=$APPLE_TOOLCHAIN_ROOT/tools/clang-macos GOOS=darwin CGO_ENABLED=1 go build ./...
|
|
- test_ios: |
|
|
cd gio
|
|
CGO_CFLAGS=-Wno-deprecated-module-dot-map CC=$APPLE_TOOLCHAIN_ROOT/tools/clang-ios GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 go build -tags ios ./...
|