File tree Expand file tree Collapse file tree 3 files changed +38
-9
lines changed Expand file tree Collapse file tree 3 files changed +38
-9
lines changed Original file line number Diff line number Diff line change
1
+ *
Original file line number Diff line number Diff line change
1
+ # Dockerfile for cross-platform Pomo builds
2
+ FROM golang:1.12-stretch
3
+
4
+ ENV OSXCROSS_REPO="https://github.com/tpoechtrager/osxcross.git"
5
+ ENV OSX_SDK_TARBALL="https://s3.dockerproject.org/darwin/v2/MacOSX10.11.sdk.tar.xz"
6
+
7
+ RUN \
8
+ apt-get update -yyq \
9
+ && apt-get install -yyq \
10
+ clang \
11
+ libxml2 \
12
+ patch \
13
+ xz-utils
14
+
15
+ RUN \
16
+ mkdir /build \
17
+ && cd /build \
18
+ && git clone --depth=1 "$OSXCROSS_REPO" \
19
+ && cd osxcross/tarballs \
20
+ && wget "$OSX_SDK_TARBALL" \
21
+ && cd .. \
22
+ && UNATTENDED=1 ./build.sh
23
+
24
+ ENV PATH="$PATH:/build/osxcross/target/bin"
Original file line number Diff line number Diff line change
1
+ DOCKER_CMD =docker run --rm -ti --user 1000 -w /build/pomo -v $$PWD:/build/pomo
2
+ DOCKER_IMAGE =pomo-build
1
3
VERSION ?= $(shell git describe --tags 2>/dev/null)
2
4
ifeq "$(VERSION ) " ""
3
5
VERSION := UNKNOWN
4
6
endif
5
7
6
8
.PHONY : \
7
- all \
8
9
test \
9
10
docs \
11
+ pomo-build \
10
12
readme \
11
13
release \
12
14
release-linux \
13
15
release-darwin
14
16
15
- all : bin/pomo
16
-
17
17
bin/pomo : test
18
18
go build -o $@
19
19
20
- clean :
21
- -rm -rfv bin/* docs/*
22
-
23
20
bindata.go : tomato-icon.png
24
21
go-bindata -pkg main -o $@ $^
25
22
26
23
test :
27
24
go test ./...
28
25
go vet ./...
29
26
27
+ pomo-build :
28
+ docker build -t $(DOCKER_IMAGE ) .
29
+
30
+ bin/pomo-linux : bin/pomo-$(VERSION ) -linux-amd64
31
+
32
+ bin/pomo-darwin : bin/pomo-$(VERSION ) -darwin-amd64
33
+
30
34
bin/pomo-$(VERSION ) -linux-amd64 : bin bindata.go
31
- go build -ldflags " -X main.Version=$( VERSION) " -o $@
35
+ $( DOCKER_CMD ) --env GOOS=linux --env GOARCH=amd64 $( DOCKER_IMAGE ) go build -ldflags " -X main.Version=$( VERSION) " -o $@
32
36
33
37
bin/pomo-$(VERSION ) -linux-amd64.md5 :
34
38
md5sum bin/pomo-$(VERSION ) -linux-amd64 | sed -e ' s/bin\///' > $@
35
39
36
40
bin/pomo-$(VERSION ) -darwin-amd64 : bin bindata.go
37
- # This is used to cross-compile a Darwin compatible Mach-O executable
41
+ # This is used to cross-compile a Darwin compatible Mach-O executable
38
42
# on Linux for OSX, you need to install https://github.com/tpoechtrager/osxcross
39
- PATH= " $$ PATH:/usr/local/osx-ndk-x86/bin " GOOS=darwin GOARCH=amd64 CC=/usr/local/osx-ndk-x86/bin/ x86_64-apple-darwin15-cc CGO_ENABLED=1 go build $( FLAGS ) -o $@
43
+ $( DOCKER_CMD ) --env GOOS=darwin --env GOARCH=amd64 --env CC= x86_64-apple-darwin15-cc --env CGO_ENABLED=1 $( DOCKER_IMAGE ) go build -ldflags " -X main.Version= $( VERSION ) " -o $@
40
44
41
45
42
46
bin/pomo-$(VERSION ) -darwin-amd64.md5 :
You can’t perform that action at this time.
0 commit comments