summaryrefslogtreecommitdiff
path: root/cmd/rescribe
diff options
context:
space:
mode:
authorNick White <git@njw.name>2026-05-28 16:38:49 +0100
committerNick White <git@njw.name>2026-05-28 16:38:49 +0100
commita0de365ed40f71600d4d92a1ef66ef6113c3b1cc (patch)
treeb6725d1a4af17f53e8cade23480f302787175562 /cmd/rescribe
parent5965b3115f4b0b4c1aeac9fefe909c03f4033893 (diff)
Add rcodesign for signing macOS buildsHEADmaster
Diffstat (limited to 'cmd/rescribe')
-rw-r--r--cmd/rescribe/Containerfile8
-rw-r--r--cmd/rescribe/makefile9
2 files changed, 11 insertions, 6 deletions
diff --git a/cmd/rescribe/Containerfile b/cmd/rescribe/Containerfile
index 1a10f19..a3295ee 100644
--- a/cmd/rescribe/Containerfile
+++ b/cmd/rescribe/Containerfile
@@ -31,11 +31,15 @@ ADD https://archive.org/download/xcode-${XCODE_VERSION}/Xcode_${XCODE_VERSION}.x
#COPY Xcode_${XCODE_VERSION}.xip Xcode.xip # alternative if you have already downloaded it
RUN ./tools/gen_sdk_package_pbzx.sh Xcode.xip
RUN mv MacOSX${MACOSSDK_VERSION}.sdk.tar.xz tarballs/
-# paths aren't set correctly in the script, so just add them manually
+# paths aren't set correctly in the script, so just add them manually
RUN sed -ie '13i set_path_vars' ./build.sh
-RUN UNATTENDED=1 ./build.sh
+RUN UNATTENDED=1 ./build.sh
RUN mv target /opt/osxcross
WORKDIR ..
RUN rm -rf osxcross
+RUN dnf install -y cargo
+RUN cargo install apple-codesign@0.29.0
+RUN mv /root/.cargo/bin/rcodesign /usr/bin
+RUN rm -rf /root/.cargo
RUN dnf clean all
diff --git a/cmd/rescribe/makefile b/cmd/rescribe/makefile
index 2bacb4b..44cdee4 100644
--- a/cmd/rescribe/makefile
+++ b/cmd/rescribe/makefile
@@ -55,12 +55,13 @@ build/darwin/rescribe: build/darwin_amd64/rescribe build/darwin_arm64/rescribe
mkdir -p build/darwin
LD_LIBRARY_PATH="$(OSXCROSSDIR)/lib" PATH="$(PATH):$(OSXCROSSDIR)/bin" lipo -create build/darwin_amd64/rescribe build/darwin_arm64/rescribe -output $@
-build/darwin/Rescribe.app: build/darwin/rescribe
+rescribe.pem:
+ rcodesign generate-self-signed-certificate --person-name Rescribe > $@
+
+build/darwin/Rescribe.app: build/darwin/rescribe rescribe.pem
go install fyne.io/tools/cmd/fyne@v1.7.0
PATH="$(PATH):$(OSXCROSSDIR)/bin" $(GOPATH)/bin/fyne package --release --certificate Rescribe --id xyz.rescribe.rescribe --tags embed --name Rescribe --exe build/darwin/rescribe --os darwin --icon icon.png --app-version $(VERSION)
- # TODO: switch to using rcodesign instead so don't need a MacOS box:
- # https://gregoryszorc.com/docs/apple-codesign/stable/
- #codesign -s Rescribe Rescribe.app
+ rcodesign sign --pem-file rescribe.pem Rescribe.app
mv Rescribe.app $@
dist/darwin/rescribe.zip: build/darwin/Rescribe.app