Skip to content

Commit

Permalink
Merge pull request akiyosi#525 from akiyosi/macos-m1-again
Browse files Browse the repository at this point in the history
fix macos arm64 build
  • Loading branch information
akiyosi authored Mar 5, 2024
2 parents 93a3354 + 53ef779 commit 1227fed
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 31 deletions.
55 changes: 50 additions & 5 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -206,14 +206,18 @@ jobs:
matrix:
go-version: [1.21.x]
platform: [macos-14]
qtversion: [5.15.12]
runs-on: ${{ matrix.platform }}
env:
GOPATH: ${{ github.workspace }}
QT_HOMEBREW: true
QT_HOMEBREW: false
QT_API: 5.13.0
QT_VERSION: 5.15.12
QT_DIR: ${{ github.workspace }}/Qt
QT_STATIC: true
QT_DEBUG: false
GO111MODULE: on
QT_QMAKE_DIR: /opt/homebrew/opt/qt@5/bin
QT_QMAKE_DIR: ${{ github.workspace }}/Qt/bin
steps:

- name: Install Go
Expand All @@ -225,9 +229,50 @@ jobs:
run: |
go version
- name: Install Qt for macOS
run: |
brew install qt@5
# - name: Install Qt for macOS
# run: |
# brew install qt@5


# - uses: actions/cache@v2
# id: cache-qt-src
# with:
# path: ${{ github.workspace }}/qt5
# key: ${{ matrix.qtversion }}-qt-src-macos-${{ env.cache-version }}

# - name: Download Qt src
# if: ${{ steps.cache-qt-src.outputs.cache-hit != 'true' }}
# run: |
# curl -L -o qt-everywhere-opensource-src-${{ matrix.qtversion }}.tar.xz https://download.qt.io/official_releases/qt/5.15/${{ matrix.qtversion }}/single/qt-everywhere-opensource-src-${{ matrix.qtversion }}.tar.xz
# tar Jxf qt-everywhere-opensource-src-${{ matrix.qtversion }}.tar.xz
# rm qt-everywhere-opensource-src-${{ matrix.qtversion }}.tar.xz
# mv qt-everywhere-src-${{ matrix.qtversion }} qt5

# - uses: actions/cache@v2
# id: cache-qt-macos
# with:
# path: ${{ github.workspace }}/Qt
# key: ${{ matrix.qtversion }}-qt-macos-${{ env.cache-version }}

# - name: Build Qt
# if: ${{ steps.cache-qt-macos.outputs.cache-hit != 'true' }}
# run: |
# cd ${{ github.workspace }}/qt5/qtbase
# curl -L "https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=patch;h=cdf64b0e47115cc473e1afd1472b4b09e130b2a5" -o cdf64b0.diff
# patch -p1 < ./cdf64b0.diff
# cd ..
# ./configure -static -release -prefix ${{ github.workspace }}/Qt -platform macx-clang -skip qt3d -skip qtandroidextras -skip qtwayland -skip webengine -skip qtwinextras -skip qtx11extras -nomake tests -nomake examples -opensource -confirm-license -c++std c++17
# sudo make -j 3
# echo "!make done"
# sudo make install -j 3
# echo "!make install done"
# rm -fr ${{ github.workspace }}/qt5


- name: Download pre built Qt
run: |
curl -L -o qt-macos-static-5.15.12.tar.bz2 https://github.com/akiyosi/qt-static-builds/releases/download/macOS-arm64/qt-macos-static-5.15.12.tar.bz2
tar xf qt-macos-static-5.15.12.tar.bz2
- name: Checkout code
uses: actions/checkout@v2
Expand Down
14 changes: 9 additions & 5 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -247,21 +247,25 @@ jobs:
runs-on: ${{ matrix.platform }}
env:
GOPATH: ${{ github.workspace }}
QT_HOMEBREW: true
QT_HOMEBREW: false
QT_API: 5.13.0
QT_VERSION: 5.15.12
QT_DIR: ${{ github.workspace }}/Qt
QT_STATIC: true
QT_DEBUG: false
GO111MODULE: on
QT_QMAKE_DIR: /opt/homebrew/opt/qt@5/bin
QT_QMAKE_DIR: ${{ github.workspace }}/Qt/bin
steps:

- name: Install Go
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go-version }}

- name: Install Qt for macOS
- name: Download pre built Qt
run: |
brew install qt@5
curl -L -o qt-macos-static-5.15.12.tar.bz2 https://github.com/akiyosi/qt-static-builds/releases/download/macOS-arm64/qt-macos-static-5.15.12.tar.bz2
tar xf qt-macos-static-5.15.12.tar.bz2
- name: Checkout code
uses: actions/checkout@v2
Expand Down Expand Up @@ -359,7 +363,7 @@ jobs:
# - name: Patch qt5
# shell: msys2 {0}
# run: |
# run: |
# curl -sL --retry 10 --retry-delay 60 -O https://github.com/akiyosi/github-actions-playground/releases/download/qt5-patched-qtbug-71737/qt-5.15.5_patched-qtbug71737.zip
# unzip qt-5.15.5_patched-qtbug71737.zip
# cp -fpR qt5/* /mingw64/qt5-static/
Expand Down
30 changes: 18 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -40,27 +40,33 @@ endif


app: ## Build goneovim
@go mod vendor ; \
test -f ./editor/moc.go & $(GOQTMOC) desktop ./cmd/goneovim && \
@test -f ./editor/moc.go & $(GOQTMOC) desktop ./cmd/goneovim && \
go generate && \
$(GOQTDEPLOY) build desktop ./cmd/goneovim && \
cp -pR runtime $(RUNTIME_DIR)
ifeq ($(OSNAME),Darwin)
@/usr/libexec/PlistBuddy -c "Add :CFBundleVersion string $(VERSION_HASH)" "./cmd/goneovim/deploy/darwin/goneovim.app/Contents/Info.plist" && \
/usr/libexec/PlistBuddy -c "Add :CFBundleShortVersionString string $(VERSION)" "./cmd/goneovim/deploy/darwin/goneovim.app/Contents/Info.plist" && \
/usr/libexec/PlistBuddy -c "Add :CFBundleShortVersionString string $(VERSION)" "./cmd/goneovim/deploy/darwin/goneovim.app/Contents/Info.plist"
@if [ -d "./cmd/goneovim/deploy/darwin/goneovim.app/Contents/Frameworks/" ]; then \
cd cmd/goneovim/deploy/darwin/goneovim.app/Contents/Frameworks/ && \
rm -fr QtQuick.framework && \
rm -fr QtVirtualKeyboard.framework
rm -fr QtQuick.framework ; \
rm -fr QtVirtualKeyboard.framework; \
else \
exit 0; \
fi
endif


qt_bindings: ## Setup Qt bindings for Go.
@go get -v github.com/akiyosi/qt@v0.0.0-20240222123055-9c99603bbb9a && \
go get github.com/akiyosi/qt/internal/cmd@v0.0.0-20240222123055-9c99603bbb9a && \
go get github.com/akiyosi/qt/internal/binding/files/docs/5.12.0@v0.0.0-20240222123055-9c99603bbb9a && \
go get github.com/akiyosi/qt/internal/binding/files/docs/5.13.0@v0.0.0-20240222123055-9c99603bbb9a && \
go get github.com/akiyosi/qt/internal/cmd/moc@v0.0.0-20240222123055-9c99603bbb9a && \
go install -v -tags=no_env github.com/akiyosi/qt/cmd/... && \
@go get -v github.com/akiyosi/qt@v0.0.0-20240304155940-b43fff373ad5 && \
go get github.com/akiyosi/qt/internal/cmd@v0.0.0-20240304155940-b43fff373ad5 && \
go get github.com/akiyosi/qt/internal/binding/files/docs/5.12.0@v0.0.0-20240304155940-b43fff373ad5 && \
go get github.com/akiyosi/qt/internal/binding/files/docs/5.13.0@v0.0.0-20240304155940-b43fff373ad5 && \
go get github.com/akiyosi/qt/internal/cmd/moc@v0.0.0-20240304155940-b43fff373ad5 && \
go install -v -tags=no_env github.com/akiyosi/qt/cmd/qtdeploy@v0.0.0-20240304155940-b43fff373ad5 && \
go install -v -tags=no_env github.com/akiyosi/qt/cmd/qtminimal@v0.0.0-20240304155940-b43fff373ad5 && \
go install -v -tags=no_env github.com/akiyosi/qt/cmd/qtmoc@v0.0.0-20240304155940-b43fff373ad5 && \
go install -v -tags=no_env github.com/akiyosi/qt/cmd/qtrcc@v0.0.0-20240304155940-b43fff373ad5 && \
go install -v -tags=no_env github.com/akiyosi/qt/cmd/qtsetup@v0.0.0-20240304155940-b43fff373ad5 && \
go mod vendor && \
$(GOQTSETUP) -test=false

Expand Down
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ go 1.21.4
require (
github.com/BurntSushi/toml v1.3.2
github.com/akiyosi/goqtframelesswindow v0.0.0-20240222071727-593e283fef92
github.com/akiyosi/qt v0.0.0-20240222123055-9c99603bbb9a
github.com/akiyosi/qt v0.0.0-20240304155940-b43fff373ad5
github.com/akiyosi/short_path v0.2.1
github.com/atotto/clipboard v0.1.4
github.com/bluele/gcache v0.0.2
Expand All @@ -16,9 +16,9 @@ require (
)

require (
github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20240222123055-9c99603bbb9a // indirect
github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20240222123055-9c99603bbb9a // indirect
github.com/akiyosi/w32 v0.0.0-20240207145154-5d3ee780f6cb // indirect
github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20240304155940-b43fff373ad5 // indirect
github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20240304155940-b43fff373ad5 // indirect
github.com/gopherjs/gopherjs v1.17.2 // indirect
github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect
github.com/sirupsen/logrus v1.8.1 // indirect
Expand Down
16 changes: 10 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/akiyosi/qt v0.0.0-20240222123055-9c99603bbb9a h1:69JsQo6bkAT+b5asiHZQcnCSzAQRr3o2gFyUMl4o+V0=
github.com/akiyosi/qt v0.0.0-20240222123055-9c99603bbb9a/go.mod h1:/M/wktam+Uyed7ahwhO+8zsEAe3FWZGA8eq5Sh+QePA=
github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20240222123055-9c99603bbb9a h1:6ihuNQFveofbkQxbr/nq8X/+umLXVwzd1xRqgXXfc00=
github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20240222123055-9c99603bbb9a/go.mod h1:o1Ta8fcOD7ED+UFh1S2sJGmMYyZgY/0Nhqkayiw9EOI=
github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20240222123055-9c99603bbb9a h1:JrmvRaWdpG8Otgbjsr9yo0zBZsmBp1A0FfFD1JbPuY0=
github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20240222123055-9c99603bbb9a/go.mod h1:zr7ZzZXZ4UI9WpxGsiaq0S9OHCjo+H/7vU2Oyi6RRWw=
github.com/akiyosi/goqtframelesswindow v0.0.0-20240222071727-593e283fef92 h1:xz2X8F9iT01j/9hGihRFBSO+OdXK241izLWxVS6RQEk=
github.com/akiyosi/goqtframelesswindow v0.0.0-20240222071727-593e283fef92/go.mod h1:739mXLJTAy19GBfA3Z2gitVRHX5NVqrVqygAMPVB21E=
github.com/akiyosi/qt v0.0.0-20240304155940-b43fff373ad5 h1:N4bJmW4zbdcvd4goftNEn6qv1HbhkhdbGOE2c1i/VzQ=
github.com/akiyosi/qt v0.0.0-20240304155940-b43fff373ad5/go.mod h1:nJwWSisbWIKcSPeWeiMzvNHnz6o+GIrh/pNyDIfDHQg=
github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20240302153623-48e55e6efc51 h1:c7ls8vqPwYwLc7LZsmao40I086mYGgiuqREVyhGE+y0=
github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20240302153623-48e55e6efc51/go.mod h1:o1Ta8fcOD7ED+UFh1S2sJGmMYyZgY/0Nhqkayiw9EOI=
github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20240304155940-b43fff373ad5 h1:Xsaemn/PJrY741TJNlz2AkmakEW+WPzxUbyLit1ECc8=
github.com/akiyosi/qt/internal/binding/files/docs/5.12.0 v0.0.0-20240304155940-b43fff373ad5/go.mod h1:o1Ta8fcOD7ED+UFh1S2sJGmMYyZgY/0Nhqkayiw9EOI=
github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20240302153623-48e55e6efc51 h1:jYgj8JOa6dNTcS2cWIkJmW85r1l5BBEkLiT1HYaM2CY=
github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20240302153623-48e55e6efc51/go.mod h1:zr7ZzZXZ4UI9WpxGsiaq0S9OHCjo+H/7vU2Oyi6RRWw=
github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20240304155940-b43fff373ad5 h1:2kQxKmTSVhuxBlCa32qdRH0y8VszPll7ZTM7ySnuzb0=
github.com/akiyosi/qt/internal/binding/files/docs/5.13.0 v0.0.0-20240304155940-b43fff373ad5/go.mod h1:zr7ZzZXZ4UI9WpxGsiaq0S9OHCjo+H/7vU2Oyi6RRWw=
github.com/akiyosi/short_path v0.2.1 h1:1IiEQDNISfLOzs8A4+95vSgAN1Ch2IQY4wUpjZzWU/U=
github.com/akiyosi/short_path v0.2.1/go.mod h1:9ZdnJCTktFi81KorFR9Zihrn8pmRD1UIx0HjASMCu1U=
github.com/akiyosi/w32 v0.0.0-20240206235442-ad043c730afb h1:O3/WamAsR0N/8fgn93Sj3btBhXrEbtVj1W4x+CHeChs=
Expand Down

0 comments on commit 1227fed

Please sign in to comment.