diff options
author | Mike Crute <mike@crute.us> | 2019-05-12 19:12:07 +0000 |
---|---|---|
committer | Mike Crute <mike@crute.us> | 2019-05-12 19:12:07 +0000 |
commit | 9a77bced44473496cc35a6e1a0995bf95817871d (patch) | |
tree | d45fd56342b8510e918d21cd00abc09402fb379c | |
download | app-dockerfiles-master.tar.bz2 app-dockerfiles-master.tar.xz app-dockerfiles-master.zip |
-rw-r--r-- | Makefile | 9 | ||||
-rwxr-xr-x | autocutsel.sh | 24 | ||||
-rw-r--r-- | builder-image/Dockerfile | 15 | ||||
-rwxr-xr-x | git.sh | 27 | ||||
-rwxr-xr-x | gocfssl.sh | 12 | ||||
-rwxr-xr-x | godep.sh | 12 | ||||
-rwxr-xr-x | golint.sh | 12 | ||||
-rwxr-xr-x | isync.sh | 19 | ||||
-rwxr-xr-x | light.sh | 21 | ||||
-rwxr-xr-x | neomutt.sh | 53 | ||||
-rwxr-xr-x | read-edid.sh | 15 | ||||
-rwxr-xr-x | stterm.sh | 16 | ||||
-rwxr-xr-x | tmux.sh | 17 | ||||
-rwxr-xr-x | vim.sh | 45 |
14 files changed, 297 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3dc6e4d --- /dev/null +++ b/Makefile | |||
@@ -0,0 +1,9 @@ | |||
1 | go%: | ||
2 | docker run -ti -e "HOME="$(HOME)" -v $$(pwd)/output:/output -v $$(pwd)/$@.sh:/build.sh golang:latest /build.sh | ||
3 | |||
4 | %: | ||
5 | docker run -ti -e HOME="$(HOME)" -v $$(pwd)/output:/output -v $$(pwd)/$@.sh:/build.sh ubuntu-builder:latest /build.sh | ||
6 | |||
7 | .PHONY: builder-image | ||
8 | builder-image: | ||
9 | cd builder-image && docker build --no-cache -t ubuntu-builder:latest . | ||
diff --git a/autocutsel.sh b/autocutsel.sh new file mode 100755 index 0000000..e1d8376 --- /dev/null +++ b/autocutsel.sh | |||
@@ -0,0 +1,24 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -euxo pipefail | ||
4 | |||
5 | VERSION=0.10.0 | ||
6 | OUT_DIR=autocutsel-${VERSION} | ||
7 | TARBALL=autocutsel-0.10.0.tar.gz | ||
8 | |||
9 | if ! mountpoint /output; then | ||
10 | echo "Mount /output to retrieve build artifacts" | ||
11 | exit 1 | ||
12 | fi | ||
13 | |||
14 | curl -Ls https://github.com/sigmike/autocutsel/releases/download/${VERSION}/${TARBALL} | \ | ||
15 | tar -xz -C /build/source --strip-components=1 | ||
16 | cd /build/source | ||
17 | |||
18 | apt-get install -y \ | ||
19 | xorg-dev | ||
20 | |||
21 | ./configure --prefix=/build/target/${OUT_DIR} | ||
22 | make && make install | ||
23 | |||
24 | tar -C /build/target -cvzf /output/$TARBALL $OUT_DIR | ||
diff --git a/builder-image/Dockerfile b/builder-image/Dockerfile new file mode 100644 index 0000000..b070282 --- /dev/null +++ b/builder-image/Dockerfile | |||
@@ -0,0 +1,15 @@ | |||
1 | FROM ubuntu:bionic | ||
2 | LABEL maintainer="Mike Crute <mike@crute.us>" | ||
3 | |||
4 | RUN \ | ||
5 | apt-get update; \ | ||
6 | apt-get install -y \ | ||
7 | autoconf \ | ||
8 | build-essential \ | ||
9 | cmake \ | ||
10 | curl \ | ||
11 | git \ | ||
12 | libdatetimex-easy-perl \ | ||
13 | pkg-config \ | ||
14 | ; \ | ||
15 | mkdir -p /build/source /build/target; | ||
@@ -0,0 +1,27 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -euxo pipefail | ||
4 | |||
5 | INSTALL_PREFIX="$HOME/.local/packages" | ||
6 | VERSION=${VERSION:-2.20.1} | ||
7 | |||
8 | curl -Ls https://github.com/git/git/archive/v${VERSION}.tar.gz | \ | ||
9 | tar -xz -C /build/source --strip-components=1 | ||
10 | |||
11 | export DEBIAN_FRONTEND=noninteractive | ||
12 | apt-get install -y --no-install-recommends \ | ||
13 | asciidoc \ | ||
14 | docbook2x \ | ||
15 | gettext \ | ||
16 | libcurl4-openssl-dev \ | ||
17 | libexpat1-dev \ | ||
18 | libssl-dev \ | ||
19 | tcl \ | ||
20 | xmlto \ | ||
21 | zlib1g-dev | ||
22 | |||
23 | cd /build/source | ||
24 | make prefix="$INSTALL_PREFIX/git-${VERSION}" all doc info | ||
25 | make prefix="$INSTALL_PREFIX/git-${VERSION}" install install-doc install-html install-info | ||
26 | |||
27 | tar -C "$INSTALL_PREFIX" -cvzf /output/git-${VERSION}.tar.gz git-${VERSION} | ||
diff --git a/gocfssl.sh b/gocfssl.sh new file mode 100755 index 0000000..a73ce91 --- /dev/null +++ b/gocfssl.sh | |||
@@ -0,0 +1,12 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -euxo pipefail | ||
4 | |||
5 | RELEASE="cfssl-$(date +%Y%m%d)" | ||
6 | |||
7 | go get -u github.com/cloudflare/cfssl/cmd/... | ||
8 | |||
9 | mkdir $RELEASE | ||
10 | mv bin $RELEASE | ||
11 | |||
12 | tar -cvzf /output/${RELEASE}.tar.gz ${RELEASE} | ||
diff --git a/godep.sh b/godep.sh new file mode 100755 index 0000000..a914ce8 --- /dev/null +++ b/godep.sh | |||
@@ -0,0 +1,12 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -euxo pipefail | ||
4 | |||
5 | RELEASE="dep-$(date +%Y%m%d)" | ||
6 | |||
7 | go get -u github.com/golang/dep/cmd/dep | ||
8 | |||
9 | mkdir $RELEASE | ||
10 | mv bin $RELEASE | ||
11 | |||
12 | tar -cvzf /output/${RELEASE}.tar.gz ${RELEASE} | ||
diff --git a/golint.sh b/golint.sh new file mode 100755 index 0000000..76523ec --- /dev/null +++ b/golint.sh | |||
@@ -0,0 +1,12 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -euxo pipefail | ||
4 | |||
5 | RELEASE="golint-$(date +%Y%m%d)" | ||
6 | |||
7 | go get -u golang.org/x/lint/golint | ||
8 | |||
9 | mkdir $RELEASE | ||
10 | mv bin $RELEASE | ||
11 | |||
12 | tar -cvzf /output/${RELEASE}.tar.gz ${RELEASE} | ||
diff --git a/isync.sh b/isync.sh new file mode 100755 index 0000000..03feb6d --- /dev/null +++ b/isync.sh | |||
@@ -0,0 +1,19 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -euxo pipefail | ||
4 | |||
5 | git clone https://git.code.sf.net/p/isync/isync /build/source | ||
6 | cd /build/source | ||
7 | git checkout 1.3 | ||
8 | |||
9 | apt-get install -y \ | ||
10 | libsasl2-dev \ | ||
11 | zlib1g-dev \ | ||
12 | libssl-dev \ | ||
13 | libdb-dev | ||
14 | |||
15 | ./autogen.sh | ||
16 | ./configure --prefix=/build/target/isync-1.3 | ||
17 | make && make install | ||
18 | |||
19 | tar -C /build/target -cvzf /output/isync-1.3.tar.gz isync-1.3 | ||
diff --git a/light.sh b/light.sh new file mode 100755 index 0000000..e8f889d --- /dev/null +++ b/light.sh | |||
@@ -0,0 +1,21 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -euxo pipefail | ||
4 | |||
5 | git clone https://github.com/haikarainen/light.git /build/source | ||
6 | cd /build/source | ||
7 | git checkout v1.2 | ||
8 | |||
9 | ./autogen.sh | ||
10 | ./configure --prefix=/build/target/light-1.2 | ||
11 | make && make install | ||
12 | |||
13 | touch install-light.sh && chmod +x install-light.sh | ||
14 | cat > install-light.sh <<EOF | ||
15 | #!/bin/bash | ||
16 | sudo chown root:root light-1.2/bin/light | ||
17 | sudo chmod u+s light-1.2/bin/light | ||
18 | rm install-light.sh | ||
19 | EOF | ||
20 | |||
21 | tar -C /build/target -cvzf /output/light-1.2.tar.gz light-1.2 install-light.sh | ||
diff --git a/neomutt.sh b/neomutt.sh new file mode 100755 index 0000000..9e6c531 --- /dev/null +++ b/neomutt.sh | |||
@@ -0,0 +1,53 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -euxo pipefail | ||
4 | |||
5 | RELEASE="neomutt-$(date +%Y%m%d)" | ||
6 | |||
7 | #curl -Ls https://github.com/neomutt/neomutt/archive/master.tar.gz | \ | ||
8 | curl -Ls https://github.com/neomutt/neomutt/archive/neomutt-20180716.tar.gz | \ | ||
9 | tar -xz -C /build/source --strip-components=1 | ||
10 | |||
11 | apt-get install -y \ | ||
12 | docbook-xml \ | ||
13 | docbook-xsl \ | ||
14 | gettext \ | ||
15 | libgnutls28-dev \ | ||
16 | libgpgme-dev \ | ||
17 | libidn11-dev \ | ||
18 | libkrb5-dev \ | ||
19 | liblua5.3-dev \ | ||
20 | libncursesw5-dev \ | ||
21 | libnotmuch-dev \ | ||
22 | libsasl2-dev \ | ||
23 | libtokyocabinet-dev \ | ||
24 | libxml2-utils \ | ||
25 | xsltproc | ||
26 | |||
27 | cd /build/source | ||
28 | ./configure --prefix="/build/target/$RELEASE" \ | ||
29 | --with-lock=fcntl \ | ||
30 | --with-ui=ncurses \ | ||
31 | --gpgme \ | ||
32 | --lua \ | ||
33 | --with-lua=/usr \ | ||
34 | --notmuch \ | ||
35 | --gnutls \ | ||
36 | --gss \ | ||
37 | --idn \ | ||
38 | --mixmaster \ | ||
39 | --sasl \ | ||
40 | --tokyocabinet | ||
41 | |||
42 | make && make install | ||
43 | |||
44 | # Neomutt needs some post install libraries | ||
45 | cd /build/target | ||
46 | touch install-neomutt.sh && chmod +x install-neomutt.sh | ||
47 | cat > install-neomutt.sh <<EOF | ||
48 | #!/bin/bash | ||
49 | sudo apt-get install -y libtokyocabinet9 libnotmuch5 | ||
50 | rm install-neomutt.sh | ||
51 | EOF | ||
52 | |||
53 | tar -C /build/target -cvzf /output/${RELEASE}.tar.gz ${RELEASE} install-neomutt.sh | ||
diff --git a/read-edid.sh b/read-edid.sh new file mode 100755 index 0000000..95198de --- /dev/null +++ b/read-edid.sh | |||
@@ -0,0 +1,15 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -euxo pipefail | ||
4 | |||
5 | curl -Ls http://polypux.org/projects/read-edid/read-edid-3.0.2.tar.gz | \ | ||
6 | tar -xz -C /build/source --strip-components=1 | ||
7 | |||
8 | # This only builds parse-edid since get-edid requires root and I don't use it | ||
9 | cd /build/source | ||
10 | cd parse-edid | ||
11 | cmake . && make | ||
12 | mkdir -p /build/target/read-edid-3.0.2/bin | ||
13 | cp parse-edid /build/target/read-edid-3.0.2/bin/ | ||
14 | |||
15 | tar -C /build/target -cvzf /output/read-edid-3.0.2.tar.gz read-edid-3.0.2 | ||
diff --git a/stterm.sh b/stterm.sh new file mode 100755 index 0000000..d09be56 --- /dev/null +++ b/stterm.sh | |||
@@ -0,0 +1,16 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -euxo pipefail | ||
4 | |||
5 | curl -Ls https://github.com/mcrute/st-patched/archive/master.tar.gz | \ | ||
6 | tar -xz -C /build/source --strip-components=1 | ||
7 | |||
8 | apt-get install -y \ | ||
9 | libxft2-dev | ||
10 | |||
11 | cd /build/source | ||
12 | |||
13 | make | ||
14 | make PREFIX=/build/target/stterm-patched-master install | ||
15 | |||
16 | tar -C /build/target -cvzf /output/stterm-patched-master.tar.gz stterm-patched-master | ||
@@ -0,0 +1,17 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -euxo pipefail | ||
4 | |||
5 | curl -Ls https://github.com/tmux/tmux/archive/2.8.tar.gz | \ | ||
6 | tar -xz -C /build/source --strip-components=1 | ||
7 | |||
8 | apt-get install -y \ | ||
9 | libevent-dev \ | ||
10 | libncurses5-dev | ||
11 | |||
12 | cd /build/source | ||
13 | ./autogen.sh | ||
14 | ./configure --prefix=/build/target/tmux-2.8 | ||
15 | make && make install | ||
16 | |||
17 | tar -C /build/target -cvzf /output/tmux-2.8.tar.gz tmux-2.8 | ||
@@ -0,0 +1,45 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | set -euxo pipefail | ||
4 | |||
5 | INSTALL_PREFIX="$HOME/.local/packages" | ||
6 | VERSION=${VERSION:-8.1.0822} | ||
7 | |||
8 | curl -Ls https://github.com/vim/vim/archive/v${VERSION}.tar.gz | \ | ||
9 | tar -xz -C /build/source --strip-components=1 | ||
10 | |||
11 | export DEBIAN_FRONTEND=noninteractive | ||
12 | apt-get install -y --no-install-recommends \ | ||
13 | libncurses5-dev \ | ||
14 | python3-dev \ | ||
15 | ruby-dev \ | ||
16 | lua5.3 \ | ||
17 | liblua5.3-dev \ | ||
18 | libperl-dev | ||
19 | |||
20 | cd /build/source | ||
21 | ./configure \ | ||
22 | --prefix="${INSTALL_PREFIX}/vim-$VERSION" \ | ||
23 | --with-features=huge \ | ||
24 | --enable-cscope \ | ||
25 | --enable-terminal \ | ||
26 | --enable-multibyte \ | ||
27 | --enable-gui=no \ | ||
28 | --enable-perlinterp=yes \ | ||
29 | --enable-luainterp=yes \ | ||
30 | --enable-rubyinterp=yes \ | ||
31 | --enable-python3interp=yes | ||
32 | |||
33 | make && make install | ||
34 | |||
35 | # Vim needs some post install libraries | ||
36 | cd "$INSTALL_PREFIX" | ||
37 | |||
38 | touch install-vim.sh && chmod +x install-vim.sh | ||
39 | cat > install-vim.sh <<EOF | ||
40 | #!/bin/bash | ||
41 | sudo apt-get install -y libruby2.5 | ||
42 | rm install-vim.sh | ||
43 | EOF | ||
44 | |||
45 | tar -C "$INSTALL_PREFIX" -cvzf /output/vim-${VERSION}.tar.gz vim-${VERSION} install-vim.sh | ||