| 
									
										
										
										
											2023-09-27 01:38:32 +08:00
										 |  |  | #!/bin/sh
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-13 08:28:00 +08:00
										 |  |  | set -e | 
					
						
							| 
									
										
										
										
											2023-09-27 01:38:32 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-23 09:12:20 +08:00
										 |  |  | export VERSION=${VERSION:-$(git describe --tags --first-parent --abbrev=7 --long --dirty --always | sed -e "s/^v//g")} | 
					
						
							| 
									
										
										
										
											2024-03-27 04:04:17 +08:00
										 |  |  | export GOFLAGS="'-ldflags=-w -s \"-X=github.com/ollama/ollama/version.Version=$VERSION\" \"-X=github.com/ollama/ollama/server.mode=release\"'" | 
					
						
							| 
									
										
										
										
											2023-07-29 00:38:48 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | mkdir -p dist | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-27 01:38:32 +08:00
										 |  |  | for TARGETARCH in arm64 amd64; do | 
					
						
							| 
									
										
										
										
											2024-01-10 06:13:51 +08:00
										 |  |  |     rm -rf llm/llama.cpp/build | 
					
						
							| 
									
										
										
										
											2023-09-27 01:38:32 +08:00
										 |  |  |     GOOS=darwin GOARCH=$TARGETARCH go generate ./... | 
					
						
							| 
									
										
										
										
											2024-03-12 06:58:46 +08:00
										 |  |  |     CGO_ENABLED=1 GOOS=darwin GOARCH=$TARGETARCH go build -trimpath -o dist/ollama-darwin-$TARGETARCH | 
					
						
							|  |  |  |     CGO_ENABLED=1 GOOS=darwin GOARCH=$TARGETARCH go build -trimpath -cover -o dist/ollama-darwin-$TARGETARCH-cov | 
					
						
							| 
									
										
										
										
											2023-09-27 01:38:32 +08:00
										 |  |  | done | 
					
						
							| 
									
										
										
										
											2023-08-22 09:24:42 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-13 08:28:00 +08:00
										 |  |  | lipo -create -output dist/ollama dist/ollama-darwin-arm64 dist/ollama-darwin-amd64 | 
					
						
							|  |  |  | rm -f dist/ollama-darwin-arm64 dist/ollama-darwin-amd64 | 
					
						
							|  |  |  | if [ -n "$APPLE_IDENTITY" ]; then | 
					
						
							|  |  |  |     codesign --deep --force --options=runtime --sign "$APPLE_IDENTITY" --timestamp dist/ollama | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     echo "Skipping code signing - set APPLE_IDENTITY" | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2023-08-08 06:10:37 +08:00
										 |  |  | chmod +x dist/ollama | 
					
						
							| 
									
										
										
										
											2023-07-29 00:38:48 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-13 08:28:00 +08:00
										 |  |  | # build and optionally sign the mac app | 
					
						
							| 
									
										
										
										
											2024-02-14 06:15:51 +08:00
										 |  |  | npm install --prefix macapp | 
					
						
							| 
									
										
										
										
											2024-01-13 08:28:00 +08:00
										 |  |  | if [ -n "$APPLE_IDENTITY" ]; then | 
					
						
							| 
									
										
										
										
											2024-02-14 06:15:51 +08:00
										 |  |  |     npm run --prefix macapp make:sign | 
					
						
							| 
									
										
										
										
											2024-01-13 08:28:00 +08:00
										 |  |  | else  | 
					
						
							| 
									
										
										
										
											2024-02-14 06:15:51 +08:00
										 |  |  |     npm run --prefix macapp make | 
					
						
							| 
									
										
										
										
											2024-01-13 08:28:00 +08:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2024-02-14 06:15:51 +08:00
										 |  |  | cp macapp/out/make/zip/darwin/universal/Ollama-darwin-universal-$VERSION.zip dist/Ollama-darwin.zip | 
					
						
							| 
									
										
										
										
											2023-07-29 00:38:48 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-29 03:23:50 +08:00
										 |  |  | # sign the binary and rename it | 
					
						
							| 
									
										
										
										
											2024-01-13 08:28:00 +08:00
										 |  |  | if [ -n "$APPLE_IDENTITY" ]; then | 
					
						
							|  |  |  |     codesign -f --timestamp -s "$APPLE_IDENTITY" --identifier ai.ollama.ollama --options=runtime dist/ollama | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     echo "WARNING: Skipping code signing - set APPLE_IDENTITY" | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2023-07-29 03:23:50 +08:00
										 |  |  | ditto -c -k --keepParent dist/ollama dist/temp.zip | 
					
						
							| 
									
										
										
										
											2024-01-13 08:28:00 +08:00
										 |  |  | if [ -n "$APPLE_IDENTITY" ]; then | 
					
						
							|  |  |  |     xcrun notarytool submit dist/temp.zip --wait --timeout 10m --apple-id $APPLE_ID --password $APPLE_PASSWORD --team-id $APPLE_TEAM_ID | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2023-07-29 00:38:48 +08:00
										 |  |  | mv dist/ollama dist/ollama-darwin | 
					
						
							| 
									
										
										
										
											2023-09-27 01:38:32 +08:00
										 |  |  | rm -f dist/temp.zip |