From a186b5dd176f015bd3773bafe0ad8a08792e55b1 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Wed, 21 Dec 2022 13:21:12 -0500 Subject: [PATCH 01/15] Update release.yml --- .github/workflows/release.yml | 49 ++++++++++++----------------------- 1 file changed, 16 insertions(+), 33 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ac62ff8..529e0e2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,64 +4,47 @@ on: - push - workflow_dispatch +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + jobs: create_release: - # https://github.com/actions/create-release/issues/14#issuecomment-555379810 - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: Create Release id: create_release uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - tag_name: ${{ github.ref }} + tag_name: ${{ github.ref_name }} release_name: Draft Release body: '' draft: true - - name: Save Upload URL to File - run: printf "%s" "${{ steps.create_release.outputs.upload_url }}" > upload_url.txt - - name: Save Upload URL as Artifact - uses: actions/upload-artifact@v2 - with: - name: upload_url - path: upload_url.txt build: needs: create_release strategy: matrix: - include: + os: - runner: ubuntu-22.04 name: ubuntu22.04 - runner: ubuntu-20.04 name: ubuntu20.04 - runner: ubuntu-18.04 name: ubuntu18.04 - runs-on: ${{ matrix.runner }} + runs-on: ${{ matrix.os.runner }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@main with: submodules: true - - name: Fetch Upload URL - uses: actions/download-artifact@v2 - with: - name: upload_url + - name: Build Release id: build_release run: | curl -fsSL https://apt.llvm.org/llvm.sh | sudo bash -s -- 14 - sudo apt-get install -y --no-install-recommends clang-14 libc++-14-dev libc++abi-14-dev - echo "::set-output name=tag::${GITHUB_REF#refs/tags/}" - echo "::set-output name=upload_url::$(cat upload_url.txt)" - rm upload_url.txt - CC=clang-14 CXX=clang++-14 ./prepare-toolchain - - name: Upload Release - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.build_release.outputs.upload_url }} - asset_path: packages/darwin-tools.tar.gz - asset_name: darwin-tools-${{ matrix.name }}.tar.gz - asset_content_type: application/gzip + sudo apt install -y --no-install-recommends clang-14 libc++-14-dev libc++abi-14-dev + CC=clang-14 CXX=clang++-14 ./prepare-toolchain && mv packages/darwin-tools.tar.gz packages/darwin-tools-${{ matrix.os.name }}.tar.gz + + - name: Attach Build To Release + run: | + set -x + gh release upload ${GITHUB_REF##*/} packages/darwin-tools-${{ matrix.os.name }}.tar.gz From 3d1678b91c93244f6d582c370844298a6f4f38f8 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Mon, 23 Jan 2023 22:36:55 -0500 Subject: [PATCH 02/15] Workflow cleanup --- .github/workflows/release.yml | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 529e0e2..87070a0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,8 @@ name: Create Release on: - - push - - workflow_dispatch + push: + workflow_dispatch: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -11,27 +11,23 @@ jobs: create_release: runs-on: ubuntu-latest steps: + - uses: actions/checkout@main - name: Create Release - id: create_release - uses: actions/create-release@v1 - with: - tag_name: ${{ github.ref_name }} - release_name: Draft Release - body: '' - draft: true + run: | + set -x + TAG="${GITHUB_REF##*/}-${GITHUB_SHA:0:7}" + gh release create "$TAG" --draft --title "Draft Release" build: needs: create_release strategy: matrix: os: - - runner: ubuntu-22.04 - name: ubuntu22.04 - - runner: ubuntu-20.04 - name: ubuntu20.04 - - runner: ubuntu-18.04 - name: ubuntu18.04 - runs-on: ${{ matrix.os.runner }} + - ubuntu-22.04 + - ubuntu-20.04 + - ubuntu-18.04 + + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@main with: @@ -42,9 +38,9 @@ jobs: run: | curl -fsSL https://apt.llvm.org/llvm.sh | sudo bash -s -- 14 sudo apt install -y --no-install-recommends clang-14 libc++-14-dev libc++abi-14-dev - CC=clang-14 CXX=clang++-14 ./prepare-toolchain && mv packages/darwin-tools.tar.gz packages/darwin-tools-${{ matrix.os.name }}.tar.gz + CC=clang-14 CXX=clang++-14 ./prepare-toolchain && mv packages/darwin-tools.tar.gz packages/darwin-tools-${{ matrix.os }}.tar.gz - name: Attach Build To Release run: | - set -x - gh release upload ${GITHUB_REF##*/} packages/darwin-tools-${{ matrix.os.name }}.tar.gz + TAG="${GITHUB_REF##*/}-${GITHUB_SHA:0:7}" + gh release upload "$TAG" packages/darwin-tools-${{ matrix.os }}.tar.gz From 29b461f0a9d99acd285ae53af4431ad3a7f476df Mon Sep 17 00:00:00 2001 From: Lightmann Date: Wed, 20 Dec 2023 22:37:54 -0500 Subject: [PATCH 03/15] Update workflow --- .github/workflows/release.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5ea349a..148957c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,8 @@ name: Create Release on: - push: - workflow_dispatch: + - push + - workflow_dispatch env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -11,24 +11,24 @@ jobs: create_release: runs-on: ubuntu-latest steps: - - uses: actions/checkout@main + - uses: actions/checkout@v4 - name: Create Release run: | - set -x TAG="${GITHUB_REF##*/}-${GITHUB_SHA:0:7}" gh release create "$TAG" --draft --title "Draft Release" build: needs: create_release strategy: + fail-fast: false matrix: os: - ubuntu-22.04 - ubuntu-20.04 - + runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@main + - uses: actions/checkout@v4 with: submodules: true @@ -37,7 +37,8 @@ jobs: run: | curl -fsSL https://apt.llvm.org/llvm.sh | sudo bash -s -- 14 sudo apt install -y --no-install-recommends clang-14 libc++-14-dev libc++abi-14-dev - CC=clang-14 CXX=clang++-14 ./prepare-toolchain && mv packages/darwin-tools.tar.gz packages/darwin-tools-${{ matrix.os }}.tar.gz + CC=clang-14 CXX=clang++-14 ./prepare-toolchain + mv packages/darwin-tools.tar.gz packages/darwin-tools-${{ matrix.os }}.tar.gz - name: Attach Build To Release run: | From b9614fe4ca3e355ee74ed840ad83d1ae86bef651 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Wed, 27 Dec 2023 11:59:54 -0500 Subject: [PATCH 04/15] Update libplist & ldid --- ldid | 2 +- libplist | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ldid b/ldid index f0b3af5..f38a095 160000 --- a/ldid +++ b/ldid @@ -1 +1 @@ -Subproject commit f0b3af5c0336acf97f87c7f8984771224c8b3483 +Subproject commit f38a095aa0cc721c40050cb074116c153608a11b diff --git a/libplist b/libplist index 1558615..b3cf5be 160000 --- a/libplist +++ b/libplist @@ -1 +1 @@ -Subproject commit 155861581817cdb02ec2470ab33fdeee128a5f23 +Subproject commit b3cf5bec39de69bf06c7813689f03cbe58f45ca9 From 1ff7fe2c461bbc850058e798073aea0355c474fa Mon Sep 17 00:00:00 2001 From: Lightmann Date: Wed, 27 Dec 2023 12:08:38 -0500 Subject: [PATCH 05/15] Simplify and reorder a couple of things for clarity --- prepare-toolchain | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/prepare-toolchain b/prepare-toolchain index 34fe9c2..ab8234d 100755 --- a/prepare-toolchain +++ b/prepare-toolchain @@ -19,18 +19,17 @@ fi info "Creating prefix dir" rm -rf "${STAGING}" -mkdir -p "${INSTALLPREFIX}" +mkdir -pv "${INSTALLPREFIX}" info "Building LLVM tools" -mkdir -p "${ROOT}/apple-libtapi/build" -cd "${ROOT}/apple-libtapi/build" -cmake ../src/llvm \ - -DCMAKE_CXX_FLAGS="-I${PWD}/../src/llvm/projects/clang/include -I${PWD}/projects/clang/include" \ +cd "${ROOT}/apple-libtapi/" +cmake -B build -S src/llvm \ + -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \ -DLLVM_INCLUDE_TESTS=OFF \ - -DCMAKE_BUILD_TYPE=RELEASE \ + -DCMAKE_CXX_FLAGS="-I${PWD}/../src/llvm/projects/clang/include -I${PWD}/projects/clang/include" \ + -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX="${INSTALLPREFIX}" -make clangBasic -j "${JOBS}" -make libtapi dsymutil install-libtapi install-tapi-headers install-tapi install-dsymutil -j "${JOBS}" +cmake --build build --target libtapi dsymutil install-libtapi install-tapi-headers install-tapi install-dsymutil -- -j "${JOBS}" info "Building cctools" cd "${ROOT}/cctools-port/cctools" @@ -62,7 +61,6 @@ make -j "${JOBS}" \ info "Packaging toolchain" mkdir -p "${PACKAGES}" -cd "${STAGING}/prefix" -tar -czf "${PACKAGES}/darwin-tools.tar.gz" linux +tar -czf "${PACKAGES}/darwin-tools.tar.gz" -C "${STAGING}/prefix" linux info "Done!" From a8cc6e115b951f2b07e5666f52963a6bca936f81 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Wed, 27 Dec 2023 12:14:50 -0500 Subject: [PATCH 06/15] Fix --- prepare-toolchain | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/prepare-toolchain b/prepare-toolchain index ab8234d..78accdf 100755 --- a/prepare-toolchain +++ b/prepare-toolchain @@ -26,7 +26,8 @@ cd "${ROOT}/apple-libtapi/" cmake -B build -S src/llvm \ -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \ -DLLVM_INCLUDE_TESTS=OFF \ - -DCMAKE_CXX_FLAGS="-I${PWD}/../src/llvm/projects/clang/include -I${PWD}/projects/clang/include" \ + -DLLVM_ENABLE_WARNINGS=OFF \ + -DCMAKE_CXX_FLAGS="-I${PWD}/src/llvm/projects/clang/include/ -I${PWD}/build/projects/clang/include/" \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX="${INSTALLPREFIX}" cmake --build build --target libtapi dsymutil install-libtapi install-tapi-headers install-tapi install-dsymutil -- -j "${JOBS}" From 014b38a46e890e33c285bac5d39f3eb27359fca2 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Wed, 27 Dec 2023 12:49:40 -0500 Subject: [PATCH 07/15] Copy plistutil to staging --- prepare-toolchain | 1 + 1 file changed, 1 insertion(+) diff --git a/prepare-toolchain b/prepare-toolchain index 78accdf..ec5f59a 100755 --- a/prepare-toolchain +++ b/prepare-toolchain @@ -51,6 +51,7 @@ PLIST_PREFIX="${STAGING}/libplist-install" mkdir -p "${PLIST_PREFIX}" LC_ALL=C ./autogen.sh --prefix="${PLIST_PREFIX}" --without-cython PACKAGE_VERSION=latest make -j "${JOBS}" install +cp -av "${PLIST_PREFIX}/bin/plistutil" "${INSTALLPREFIX}/bin" info "Installing ldid" cd "${ROOT}/ldid" From aeca8ec8554572dcb39ca48afaed3cc89878b716 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Wed, 27 Dec 2023 13:52:50 -0500 Subject: [PATCH 08/15] Fix release name (whoops) --- .github/workflows/release.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 148957c..9c86ccc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,11 +22,15 @@ jobs: strategy: fail-fast: false matrix: - os: - - ubuntu-22.04 - - ubuntu-20.04 + include: + - runner: ubuntu-22.04 + name: ubuntu22.04 + - runner: ubuntu-20.04 + name: ubuntu20.04 + - runner: ubuntu-18.04 + name: ubuntu18.04 - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.runner }} steps: - uses: actions/checkout@v4 with: @@ -38,9 +42,9 @@ jobs: curl -fsSL https://apt.llvm.org/llvm.sh | sudo bash -s -- 14 sudo apt install -y --no-install-recommends clang-14 libc++-14-dev libc++abi-14-dev CC=clang-14 CXX=clang++-14 ./prepare-toolchain - mv packages/darwin-tools.tar.gz packages/darwin-tools-${{ matrix.os }}.tar.gz + mv packages/darwin-tools.tar.gz packages/darwin-tools-${{ matrix.name }}.tar.gz - name: Attach Build To Release run: | TAG="${GITHUB_REF##*/}-${GITHUB_SHA:0:7}" - gh release upload "$TAG" packages/darwin-tools-${{ matrix.os }}.tar.gz + gh release upload "$TAG" packages/*.tar.gz From 69c276e6057411d4fb3465cd260d915c07a44d15 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Wed, 27 Dec 2023 13:59:01 -0500 Subject: [PATCH 09/15] I'm tired :/ --- .github/workflows/release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9c86ccc..57f00d8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,8 +27,6 @@ jobs: name: ubuntu22.04 - runner: ubuntu-20.04 name: ubuntu20.04 - - runner: ubuntu-18.04 - name: ubuntu18.04 runs-on: ${{ matrix.runner }} steps: From 8265a54966048894b2fde5bf3fc66ea1758693f4 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Sat, 30 Dec 2023 12:42:36 -0500 Subject: [PATCH 10/15] Build libplist statically --- prepare-toolchain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prepare-toolchain b/prepare-toolchain index ec5f59a..3820657 100755 --- a/prepare-toolchain +++ b/prepare-toolchain @@ -49,7 +49,7 @@ info "Building libplist" cd "${ROOT}/libplist" PLIST_PREFIX="${STAGING}/libplist-install" mkdir -p "${PLIST_PREFIX}" -LC_ALL=C ./autogen.sh --prefix="${PLIST_PREFIX}" --without-cython PACKAGE_VERSION=latest +LC_ALL=C ./autogen.sh --prefix="${PLIST_PREFIX}" --without-cython --enable-static --disable-shared PACKAGE_VERSION=latest make -j "${JOBS}" install cp -av "${PLIST_PREFIX}/bin/plistutil" "${INSTALLPREFIX}/bin" From 769ea2f056133c63175492e200d273b9b05d4b5c Mon Sep 17 00:00:00 2001 From: Lightmann Date: Sun, 2 Jun 2024 19:08:11 -0400 Subject: [PATCH 11/15] Switch to docker, add AArch64, Arch, and UBI builds, update libplist --- .github/workflows/release.yml | 82 +++++++++++++++++++++++++---------- libplist | 2 +- prepare-env | 70 ++++++++++++++++++++++++++++++ 3 files changed, 130 insertions(+), 24 deletions(-) create mode 100755 prepare-env diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 57f00d8..68e8215 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,41 +8,77 @@ env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} jobs: - create_release: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Create Release - run: | - TAG="${GITHUB_REF##*/}-${GITHUB_SHA:0:7}" - gh release create "$TAG" --draft --title "Draft Release" - build: - needs: create_release strategy: fail-fast: false matrix: include: - - runner: ubuntu-22.04 - name: ubuntu22.04 - - runner: ubuntu-20.04 + - runner: ubuntu:20.04 name: ubuntu20.04 + - runner: ubuntu:22.04 + name: ubuntu22.04 + - runner: archlinux:base-devel + name: arch + - runner: fedora:38 + name: ubi9 + - runner: arm64v8/ubuntu:20.04 + name: ubuntu20.04-aarch64 + - runner: arm64v8/ubuntu:22.04 + name: ubuntu22.04-aarch64 + - runner: lopsided/archlinux-arm64v8:devel + name: arch-aarch64 + - runner: arm64v8/fedora:38 + name: ubi9-aarch64 - runs-on: ${{ matrix.runner }} + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: submodules: true - - name: Build Release - id: build_release + - name: QEMU fix run: | - curl -fsSL https://apt.llvm.org/llvm.sh | sudo bash -s -- 14 - sudo apt install -y --no-install-recommends clang-14 libc++-14-dev libc++abi-14-dev - CC=clang-14 CXX=clang++-14 ./prepare-toolchain - mv packages/darwin-tools.tar.gz packages/darwin-tools-${{ matrix.name }}.tar.gz + if echo "${{ matrix.name }}" | grep "aarch64"; then + docker run --rm --privileged hypriot/qemu-register + else + echo "Not aarch64; no fix needed..." + fi - - name: Attach Build To Release + - name: Build Release run: | - TAG="${GITHUB_REF##*/}-${GITHUB_SHA:0:7}" - gh release upload "$TAG" packages/*.tar.gz + # No amd64 aarch64 image for Fedora so need to be explicit (breaks other distros' docker run cmds) + platform_flag=$(if [ "${{ matrix.name }}" = "ubi9-aarch64" ]; then echo "--platform=linux/arm64"; else echo ""; fi) + docker run $platform_flag \ + --rm \ + -v /qemu-aarch64:/usr/bin/qemu-aarch64 \ + -v $PWD:/workspace \ + -w /workspace \ + ${{ matrix.runner }} \ + sh -c " + ./prepare-env ${{ matrix.name }} + CC=clang CXX=clang++ ./prepare-toolchain + mv packages/darwin-tools.tar.gz packages/darwin-tools-${{ matrix.name }}.tar.gz + " + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: DT-${{ matrix.name }} + path: packages/darwin-tools-${{ matrix.name }}.tar.gz + + release: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Download artifact + uses: actions/download-artifact@v4 + with: + pattern: DT-* + path: packages + + - name: Create and publish release + run: | + TAG="${GITHUB_REF##*/}-${GITHUB_SHA:0:7}" + gh release create "$TAG" --draft --title "Draft Release" + gh release upload "$TAG" packages/**/*.tar.gz diff --git a/libplist b/libplist index b3cf5be..e8791e2 160000 --- a/libplist +++ b/libplist @@ -1 +1 @@ -Subproject commit b3cf5bec39de69bf06c7813689f03cbe58f45ca9 +Subproject commit e8791e2d8b1d1672439b78d31271a8cf74d6a16d diff --git a/prepare-env b/prepare-env new file mode 100755 index 0000000..cd03906 --- /dev/null +++ b/prepare-env @@ -0,0 +1,70 @@ +#!/usr/bin/env bash + +# Install dependencies +case "$1" in + arch*) + pacman -Sy --needed --noconfirm base-devel \ + cmake \ + clang \ + libc++ \ + git \ + python \ + openssl \ + perl + ;; + ubi*) + dnf groupinstall -y "C Development Tools and Libraries" + dnf install -y cmake \ + clang \ + git \ + libcxx \ + libcxx-static \ + libcxxabi-static \ + openssl-devel \ + perl + ;; + *) + apt update || true + # https://stackoverflow.com/a/44333806 + if ! dpkg -l tzdata > /dev/null; then + ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime + DEBIAN_FRONTEND=noninteractive apt install -y tzdata + dpkg-reconfigure --frontend noninteractive tzdata + fi + apt install -y ca-certificates \ + build-essential \ + cmake \ + clang \ + libc++-dev \ + libc++abi-dev \ + git \ + python3 \ + libtool \ + automake \ + autoconf \ + pkgconf \ + openssl \ + libssl-dev + ;; +esac + +# Build libcrypto.a (3.3) +if [ -z "$(find /usr -name libcrypto.a)" ]; then + # allow static libs on Arch + sed -i 's/!staticlibs/staticlibs/g' /etc/makepkg.conf &> /dev/null || true + # fix perl's bin not being in $PATH on Arch + source /etc/profile &> /dev/null || true + git clone --depth=1 https://github.com/openssl/openssl -b openssl-3.3 + cd openssl + ./config + make -j$(nproc --all) build_libs + mkdir -p /usr/local/lib + cp libcrypto.a /usr/local/lib + cd ../ +else + echo "libcrypto.a exists. Skipping..." +fi + +if [ -n "$CI" ] && [ -d "$PWD/.git" ]; then + git config --global --add safe.directory $PWD +fi From b54bb3922a36aa99400ea6331c954bdcc3ebeb76 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Sun, 29 Dec 2024 13:23:33 -0800 Subject: [PATCH 12/15] Switch to my tapi fork for time being to fix linking --- .gitmodules | 3 ++- vendor/apple-libtapi | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index e82fce1..e4a3c26 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,7 @@ [submodule "apple-libtapi"] path = vendor/apple-libtapi - url = https://github.com/tpoechtrager/apple-libtapi.git + url = https://github.com/l1ghtmann/apple-libtapi.git + branch = tapi-link-fix [submodule "cctools-port"] path = vendor/cctools-port url = https://github.com/tpoechtrager/cctools-port.git diff --git a/vendor/apple-libtapi b/vendor/apple-libtapi index aa37c11..2a17154 160000 --- a/vendor/apple-libtapi +++ b/vendor/apple-libtapi @@ -1 +1 @@ -Subproject commit aa37c11ad1a817248c9d1578ac99e133875b4eb5 +Subproject commit 2a171548436296653279d809cebf2a655be85716 From 666a9a8b088799e40666b0b8dfac33ee42faad83 Mon Sep 17 00:00:00 2001 From: Lightmann Date: Sun, 29 Dec 2024 14:15:16 -0800 Subject: [PATCH 13/15] Fix build dir/src dir conflict(?) --- prepare-toolchain | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/prepare-toolchain b/prepare-toolchain index 04a3203..7b3f11c 100755 --- a/prepare-toolchain +++ b/prepare-toolchain @@ -25,20 +25,20 @@ rm -rf "${INSTALLPREFIX}" info "Building LLVM tools" mkdir -p "${STAGING}/build/" cd "${STAGING}/build/" -cmake -B apple-libtapi -S "${VENDOR}/apple-libtapi/src/llvm" \ +cmake -B libtapi -S "${VENDOR}/apple-libtapi/src/llvm" \ -DLLVM_ENABLE_PROJECTS="tapi;clang" \ -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" \ -DLLVM_INCLUDE_TESTS=OFF \ -DCMAKE_CXX_FLAGS="-I${PWD}/../src/llvm/projects/clang/include -I${PWD}/projects/clang/include" \ -DCMAKE_BUILD_TYPE=RELEASE \ -DCMAKE_INSTALL_PREFIX="${INSTALLPREFIX}" -cmake --build apple-libtapi --target install-libtapi install-tapi-headers install-tapi install-dsymutil -- -j "${JOBS}" +cmake --build libtapi --target install-libtapi install-tapi-headers install-tapi install-dsymutil -- -j "${JOBS}" info "Building libdispatch" -cmake -B apple-libdispatch -S "${VENDOR}/apple-libdispatch" \ +cmake -B libdispatch -S "${VENDOR}/apple-libdispatch" \ -DCMAKE_BUILD_TYPE=RELEASE \ -DCMAKE_INSTALL_PREFIX="$INSTALLPREFIX" -cmake --build apple-libdispatch --target install +cmake --build libdispatch --target install info "Building cctools" mkdir -p "${STAGING}/build/cctools" From 27fd84051a6d3331d3655a83107d9dde5585921f Mon Sep 17 00:00:00 2001 From: Lightmann Date: Sun, 29 Dec 2024 15:31:56 -0800 Subject: [PATCH 14/15] -_- --- .github/workflows/release.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f0b465f..0cae998 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,13 +33,12 @@ jobs: id: build_release run: | DARWIN_BUILD_BASE=${{ matrix.image }} docker compose run --build --rm builder -c ./prepare-toolchain - mv packages/darwin-tools.tar.gz packages/darwin-tools-${{ matrix.name }}.tar.gz - name: Upload artifact id: upload_artifact uses: actions/upload-artifact@v4 with: name: DT-${{ matrix.name }} - path: packages/darwin-tools-${{ matrix.name }}.tar.gz + path: packages/darwin-tools.tar.gz release: needs: build From b9dcb8aec80daba121b535ff08cb13559fa1303d Mon Sep 17 00:00:00 2001 From: Lightmann Date: Sat, 4 Jan 2025 13:06:47 -0800 Subject: [PATCH 15/15] Requested changes --- .github/workflows/release.yml | 2 +- .gitmodules | 3 +-- prepare-toolchain | 2 +- vendor/apple-libtapi | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0cae998..d409079 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: image: ubuntu:24.04 - name: fedora39 image: fedora:39 - - runner: archlinux + - name: archlinux image: archlinux:base-devel runs-on: ubuntu-latest diff --git a/.gitmodules b/.gitmodules index e4a3c26..e82fce1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,6 @@ [submodule "apple-libtapi"] path = vendor/apple-libtapi - url = https://github.com/l1ghtmann/apple-libtapi.git - branch = tapi-link-fix + url = https://github.com/tpoechtrager/apple-libtapi.git [submodule "cctools-port"] path = vendor/cctools-port url = https://github.com/tpoechtrager/cctools-port.git diff --git a/prepare-toolchain b/prepare-toolchain index 7b3f11c..5e3432d 100755 --- a/prepare-toolchain +++ b/prepare-toolchain @@ -38,7 +38,7 @@ info "Building libdispatch" cmake -B libdispatch -S "${VENDOR}/apple-libdispatch" \ -DCMAKE_BUILD_TYPE=RELEASE \ -DCMAKE_INSTALL_PREFIX="$INSTALLPREFIX" -cmake --build libdispatch --target install +cmake --build libdispatch --target install -- -j "${JOBS}" info "Building cctools" mkdir -p "${STAGING}/build/cctools" diff --git a/vendor/apple-libtapi b/vendor/apple-libtapi index 2a17154..54c9044 160000 --- a/vendor/apple-libtapi +++ b/vendor/apple-libtapi @@ -1 +1 @@ -Subproject commit 2a171548436296653279d809cebf2a655be85716 +Subproject commit 54c9044082ba35bdb2b0edf282ba1a340096154c