From ebe49d470cb9d7a6f1637cc7ec30e82142825b47 Mon Sep 17 00:00:00 2001 From: Shunsuke Michii Date: Thu, 30 Jun 2016 20:06:26 +0900 Subject: [PATCH 01/12] Add Makefile. --- .travis.yml | 11 +---------- Makefile | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 10 deletions(-) create mode 100644 Makefile diff --git a/.travis.yml b/.travis.yml index 93841e3..7bb9581 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,16 +17,7 @@ cache: sudo: false before_install: - - > - test -e $HOME/cache/libwebp-${LIBWEBP_VERSION}/lib/libwebp.so || ( - cd /tmp - && wget http://downloads.webmproject.org/releases/webp/libwebp-${LIBWEBP_VERSION}.tar.gz - && tar xf libwebp-${LIBWEBP_VERSION}.tar.gz - && cd libwebp-${LIBWEBP_VERSION} - && ./configure --prefix=$HOME/cache/libwebp-${LIBWEBP_VERSION} - && make - && make install - ) + - LIBWEBP_PERFIX=$HOME/cache/libwebp-${LIBWEBP_VERSION} && make libwebp - cd $HOME/gopath/src/github.com/harukasan/go-libwebp - export CGO_CFLAGS="-I $HOME/cache/libwebp-${LIBWEBP_VERSION}/include" - export CGO_LDFLAGS="-L $HOME/cache/libwebp-${LIBWEBP_VERSION}/lib" diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..697cb72 --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +BUILDDIR=/tmp +WORKDIR=github.com/harukasan/go-libwebp + +all: test + +test: + go test -v ${WORKDIR}/... + +libwebp: + test -e ${LIBWEBP_PREFIX}/lib/libwebp.so || ( \ + cd ${BUILDDIR} \ + && wget http://downloads.webmproject.org/releases/webp/libwebp-${LIBWEBP_VERSION}.tar.gz \ + && tar xf libwebp-${LIBWEBP_VERSION}.tar.gz \ + && cd libwebp-${LIBWEBP_VERSION} \ + && ./configure --prefix=${LIBWEBP_PREFIX} \ + && make \ + && make install \ + ) + +.PHONY: \ + all \ + test + From 781d9ffa9c6aa1d5d3be2eb78d68ad2660bfd438 Mon Sep 17 00:00:00 2001 From: Shunsuke Michii Date: Thu, 30 Jun 2016 20:06:41 +0900 Subject: [PATCH 02/12] Add Dockerfile. --- Dockerfile | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d8d74bc --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +FROM alpine:3.4 + +RUN apk add --no-cache g++ make go + + +RUN mkdir -p /tmp/go-lbiwebp +COPY Makefile /tmp/go-libwebp/Makefile + +ENV LIBWEBP_PREFIX="/usr/local" \ + LIBWEBP_VERSION="0.5.0" +RUN cd /tmp/go-libwebp && make libwebp + +ENV GOPATH="/go" \ + WORKDIR="/go/src/github.com/harukasan/go-libwebp" \ + PATH="/go/bin:/usr/local/go/bin:$PATH" \ + CGO_CFLAGS="-I /usr/local/include" \ + CGO_LDFLAGS="-L /usr/local/lib" \ + LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" + +RUN mkdir -p $WORKDIR +VOLUME $WORKDIR +WORKDIR $WORKDIR + +CMD ["make", "test"] From 5a45e720fb33d87992a4a3ca37965fae4dbfa239 Mon Sep 17 00:00:00 2001 From: Shunsuke Michii Date: Thu, 30 Jun 2016 20:11:54 +0900 Subject: [PATCH 03/12] Fix .travis.yml. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7bb9581..13180cf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ cache: sudo: false before_install: - - LIBWEBP_PERFIX=$HOME/cache/libwebp-${LIBWEBP_VERSION} && make libwebp + - LIBWEBP_PREFIX=$HOME/cache/libwebp-${LIBWEBP_VERSION} make libwebp - cd $HOME/gopath/src/github.com/harukasan/go-libwebp - export CGO_CFLAGS="-I $HOME/cache/libwebp-${LIBWEBP_VERSION}/include" - export CGO_LDFLAGS="-L $HOME/cache/libwebp-${LIBWEBP_VERSION}/lib" From ad17bf0e327f7e983333c65012d1f99e5b256bfe Mon Sep 17 00:00:00 2001 From: Shunsuke Michii Date: Mon, 1 Aug 2016 19:29:13 +0900 Subject: [PATCH 04/12] Add docker tasks. --- Dockerfile | 1 - Makefile | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index d8d74bc..38e9325 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,6 @@ FROM alpine:3.4 RUN apk add --no-cache g++ make go - RUN mkdir -p /tmp/go-lbiwebp COPY Makefile /tmp/go-libwebp/Makefile diff --git a/Makefile b/Makefile index 697cb72..5d3dd1b 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ BUILDDIR=/tmp WORKDIR=github.com/harukasan/go-libwebp +CURDIR=$(shell pwd) all: test @@ -17,7 +18,20 @@ libwebp: && make install \ ) +docker-test: + docker run -v ${CURDIR}:/go/src/github.com/harukasan/go-libwebp -it go-libwebp + +docker-sh: + docker run -v ${CURDIR}:/go/src/github.com/harukasan/go-libwebp -it go-libwebp sh + +docker-build: + docker build -t go-libwebp . + + .PHONY: \ all \ - test + test \ + docker-test \ + docker-sh \ + docker-build From caba001de3fc43bd6278d22f491fb5e254dba35d Mon Sep 17 00:00:00 2001 From: Shunsuke Michii Date: Mon, 1 Aug 2016 19:52:04 +0900 Subject: [PATCH 05/12] Make to use dependencies and variables. --- Makefile | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/Makefile b/Makefile index 5d3dd1b..0ec8a80 100644 --- a/Makefile +++ b/Makefile @@ -1,33 +1,33 @@ -BUILDDIR=/tmp -WORKDIR=github.com/harukasan/go-libwebp -CURDIR=$(shell pwd) +repo=github.com/harukasan/go-libwebp +build_dir=/tmp +cur_dir=$(shell pwd) +libwebp_so = ${LIBWEBP_PREFIX}/lib/libwebp.so all: test test: - go test -v ${WORKDIR}/... - -libwebp: - test -e ${LIBWEBP_PREFIX}/lib/libwebp.so || ( \ - cd ${BUILDDIR} \ - && wget http://downloads.webmproject.org/releases/webp/libwebp-${LIBWEBP_VERSION}.tar.gz \ - && tar xf libwebp-${LIBWEBP_VERSION}.tar.gz \ - && cd libwebp-${LIBWEBP_VERSION} \ - && ./configure --prefix=${LIBWEBP_PREFIX} \ - && make \ - && make install \ - ) + go test -v $(repo)/... + +libwebp: $(libwebp_so) + +$(libwebp_so): + cd $(build_dir) \ + && wget http://downloads.webmproject.org/releases/webp/libwebp-${LIBWEBP_VERSION}.tar.gz \ + && tar xf libwebp-${LIBWEBP_VERSION}.tar.gz \ + && cd libwebp-${LIBWEBP_VERSION} \ + && ./configure --prefix=${LIBWEBP_PREFIX} \ + && make \ + && make install docker-test: - docker run -v ${CURDIR}:/go/src/github.com/harukasan/go-libwebp -it go-libwebp + docker run -v $(cur_dir):/go/src/$(repo) -it go-libwebp docker-sh: - docker run -v ${CURDIR}:/go/src/github.com/harukasan/go-libwebp -it go-libwebp sh + docker run -v $(cur_dir):/go/src/$(repo) -it go-libwebp sh docker-build: docker build -t go-libwebp . - .PHONY: \ all \ test \ From 21bb24f6c1b8d3dd7f47d2c8e37c821a3ad7880a Mon Sep 17 00:00:00 2001 From: Shunsuke Michii Date: Mon, 1 Aug 2016 20:00:33 +0900 Subject: [PATCH 06/12] format --- Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 0ec8a80..093febf 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ -repo=github.com/harukasan/go-libwebp -build_dir=/tmp -cur_dir=$(shell pwd) -libwebp_so = ${LIBWEBP_PREFIX}/lib/libwebp.so +repo = "github.com/harukasan/go-libwebp" +build_dir = "/tmp" +cur_dir = $(shell pwd) +libwebp_so = "${LIBWEBP_PREFIX}/lib/libwebp.so" all: test From 6874fb1fccf1bac69f568983af9173f3219a9b8e Mon Sep 17 00:00:00 2001 From: Shunsuke Michii Date: Mon, 1 Aug 2016 20:00:54 +0900 Subject: [PATCH 07/12] Add clean task for docker. --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 093febf..7345f41 100644 --- a/Makefile +++ b/Makefile @@ -28,10 +28,14 @@ docker-sh: docker-build: docker build -t go-libwebp . +docker-clean: + docker rm $$(docker ps -a -q -f "ancestor=go-libwebp") + .PHONY: \ all \ test \ docker-test \ docker-sh \ - docker-build + docker-build \ + docker-clean From ab01b3f166f0e4940ff40db05b067ab3f4ccff0a Mon Sep 17 00:00:00 2001 From: Shunsuke Michii Date: Mon, 1 Aug 2016 20:33:00 +0900 Subject: [PATCH 08/12] Update .PHONY list. --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 7345f41..a2793cc 100644 --- a/Makefile +++ b/Makefile @@ -34,6 +34,7 @@ docker-clean: .PHONY: \ all \ test \ + libwebp \ docker-test \ docker-sh \ docker-build \ From d6d718df83de5aa46641bf915e26b4eb2df72926 Mon Sep 17 00:00:00 2001 From: Shunsuke Michii Date: Mon, 1 Aug 2016 20:36:45 +0900 Subject: [PATCH 09/12] Update libwebp version to 0.5.1. --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 38e9325..4c02dd6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ RUN mkdir -p /tmp/go-lbiwebp COPY Makefile /tmp/go-libwebp/Makefile ENV LIBWEBP_PREFIX="/usr/local" \ - LIBWEBP_VERSION="0.5.0" + LIBWEBP_VERSION="0.5.1" RUN cd /tmp/go-libwebp && make libwebp ENV GOPATH="/go" \ From 3442b49af728627bf3e74f94b47bd37213f6768e Mon Sep 17 00:00:00 2001 From: Shunsuke Michii Date: Mon, 1 Aug 2016 20:37:24 +0900 Subject: [PATCH 10/12] Fix typo. --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4c02dd6..3c14bd3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM alpine:3.4 RUN apk add --no-cache g++ make go -RUN mkdir -p /tmp/go-lbiwebp +RUN mkdir -p /tmp/go-libwebp COPY Makefile /tmp/go-libwebp/Makefile ENV LIBWEBP_PREFIX="/usr/local" \ From 14284277bc929d9e129f7cf73549da832d2b5186 Mon Sep 17 00:00:00 2001 From: Shunsuke Michii Date: Mon, 1 Aug 2016 20:39:56 +0900 Subject: [PATCH 11/12] Add libwebp 0.5.1 to test env. --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 13180cf..193e518 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,8 @@ env: - LIBWEBP_VERSION="0.4.2" - LIBWEBP_VERSION="0.4.3" - LIBWEBP_VERSION="0.5.0" + - LIBWEBP_VERSION="0.5.1" + cache: directories: From 24cf2659f0a50052529ddcaf64eb700c6e118003 Mon Sep 17 00:00:00 2001 From: Shunsuke Michii Date: Tue, 2 Aug 2016 15:44:37 +0900 Subject: [PATCH 12/12] Use libwebp version as docker tag. --- Makefile | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index a2793cc..6290749 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,8 @@ -repo = "github.com/harukasan/go-libwebp" -build_dir = "/tmp" +repo = github.com/harukasan/go-libwebp +build_dir = /tmp cur_dir = $(shell pwd) -libwebp_so = "${LIBWEBP_PREFIX}/lib/libwebp.so" +libwebp_so = ${LIBWEBP_PREFIX}/lib/libwebp.so +LIBWEBP_VERSION ?= 0.5.1 all: test @@ -12,21 +13,21 @@ libwebp: $(libwebp_so) $(libwebp_so): cd $(build_dir) \ - && wget http://downloads.webmproject.org/releases/webp/libwebp-${LIBWEBP_VERSION}.tar.gz \ - && tar xf libwebp-${LIBWEBP_VERSION}.tar.gz \ - && cd libwebp-${LIBWEBP_VERSION} \ - && ./configure --prefix=${LIBWEBP_PREFIX} \ + && wget http://downloads.webmproject.org/releases/webp/libwebp-$(LIBWEBP_VERSION).tar.gz \ + && tar xf libwebp-$(LIBWEBP_VERSION).tar.gz \ + && cd libwebp-$(LIBWEBP_VERSION) \ + && ./configure --prefix=$(LIBWEBP_PREFIX) \ && make \ && make install docker-test: - docker run -v $(cur_dir):/go/src/$(repo) -it go-libwebp + docker run -v $(cur_dir):/go/src/$(repo) -it go-libwebp:$(LIBWEBP_VERSION) docker-sh: - docker run -v $(cur_dir):/go/src/$(repo) -it go-libwebp sh + docker run -v $(cur_dir):/go/src/$(repo) -it go-libwebp:$(LIBWEBP_VERSION) sh docker-build: - docker build -t go-libwebp . + docker build -t go-libwebp:$(LIBWEBP_VERSION) . docker-clean: docker rm $$(docker ps -a -q -f "ancestor=go-libwebp") @@ -39,4 +40,3 @@ docker-clean: docker-sh \ docker-build \ docker-clean -