summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mike@crute.us>2019-05-12 19:12:07 +0000
committerMike Crute <mike@crute.us>2019-05-12 19:12:07 +0000
commit9a77bced44473496cc35a6e1a0995bf95817871d (patch)
treed45fd56342b8510e918d21cd00abc09402fb379c
downloadapp-dockerfiles-9a77bced44473496cc35a6e1a0995bf95817871d.tar.bz2
app-dockerfiles-9a77bced44473496cc35a6e1a0995bf95817871d.tar.xz
app-dockerfiles-9a77bced44473496cc35a6e1a0995bf95817871d.zip
Initial importHEADmaster
-rw-r--r--Makefile9
-rwxr-xr-xautocutsel.sh24
-rw-r--r--builder-image/Dockerfile15
-rwxr-xr-xgit.sh27
-rwxr-xr-xgocfssl.sh12
-rwxr-xr-xgodep.sh12
-rwxr-xr-xgolint.sh12
-rwxr-xr-xisync.sh19
-rwxr-xr-xlight.sh21
-rwxr-xr-xneomutt.sh53
-rwxr-xr-xread-edid.sh15
-rwxr-xr-xstterm.sh16
-rwxr-xr-xtmux.sh17
-rwxr-xr-xvim.sh45
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 @@
1go%:
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
8builder-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
3set -euxo pipefail
4
5VERSION=0.10.0
6OUT_DIR=autocutsel-${VERSION}
7TARBALL=autocutsel-0.10.0.tar.gz
8
9if ! mountpoint /output; then
10 echo "Mount /output to retrieve build artifacts"
11 exit 1
12fi
13
14curl -Ls https://github.com/sigmike/autocutsel/releases/download/${VERSION}/${TARBALL} | \
15 tar -xz -C /build/source --strip-components=1
16cd /build/source
17
18apt-get install -y \
19 xorg-dev
20
21./configure --prefix=/build/target/${OUT_DIR}
22make && make install
23
24tar -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 @@
1FROM ubuntu:bionic
2LABEL maintainer="Mike Crute <mike@crute.us>"
3
4RUN \
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;
diff --git a/git.sh b/git.sh
new file mode 100755
index 0000000..9b08e09
--- /dev/null
+++ b/git.sh
@@ -0,0 +1,27 @@
1#!/bin/bash
2
3set -euxo pipefail
4
5INSTALL_PREFIX="$HOME/.local/packages"
6VERSION=${VERSION:-2.20.1}
7
8curl -Ls https://github.com/git/git/archive/v${VERSION}.tar.gz | \
9 tar -xz -C /build/source --strip-components=1
10
11export DEBIAN_FRONTEND=noninteractive
12apt-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
23cd /build/source
24make prefix="$INSTALL_PREFIX/git-${VERSION}" all doc info
25make prefix="$INSTALL_PREFIX/git-${VERSION}" install install-doc install-html install-info
26
27tar -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
3set -euxo pipefail
4
5RELEASE="cfssl-$(date +%Y%m%d)"
6
7go get -u github.com/cloudflare/cfssl/cmd/...
8
9mkdir $RELEASE
10mv bin $RELEASE
11
12tar -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
3set -euxo pipefail
4
5RELEASE="dep-$(date +%Y%m%d)"
6
7go get -u github.com/golang/dep/cmd/dep
8
9mkdir $RELEASE
10mv bin $RELEASE
11
12tar -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
3set -euxo pipefail
4
5RELEASE="golint-$(date +%Y%m%d)"
6
7go get -u golang.org/x/lint/golint
8
9mkdir $RELEASE
10mv bin $RELEASE
11
12tar -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
3set -euxo pipefail
4
5git clone https://git.code.sf.net/p/isync/isync /build/source
6cd /build/source
7git checkout 1.3
8
9apt-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
17make && make install
18
19tar -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
3set -euxo pipefail
4
5git clone https://github.com/haikarainen/light.git /build/source
6cd /build/source
7git checkout v1.2
8
9./autogen.sh
10./configure --prefix=/build/target/light-1.2
11make && make install
12
13touch install-light.sh && chmod +x install-light.sh
14cat > install-light.sh <<EOF
15#!/bin/bash
16sudo chown root:root light-1.2/bin/light
17sudo chmod u+s light-1.2/bin/light
18rm install-light.sh
19EOF
20
21tar -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
3set -euxo pipefail
4
5RELEASE="neomutt-$(date +%Y%m%d)"
6
7#curl -Ls https://github.com/neomutt/neomutt/archive/master.tar.gz | \
8curl -Ls https://github.com/neomutt/neomutt/archive/neomutt-20180716.tar.gz | \
9 tar -xz -C /build/source --strip-components=1
10
11apt-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
27cd /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
42make && make install
43
44# Neomutt needs some post install libraries
45cd /build/target
46touch install-neomutt.sh && chmod +x install-neomutt.sh
47cat > install-neomutt.sh <<EOF
48#!/bin/bash
49sudo apt-get install -y libtokyocabinet9 libnotmuch5
50rm install-neomutt.sh
51EOF
52
53tar -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
3set -euxo pipefail
4
5curl -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
9cd /build/source
10cd parse-edid
11cmake . && make
12mkdir -p /build/target/read-edid-3.0.2/bin
13cp parse-edid /build/target/read-edid-3.0.2/bin/
14
15tar -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
3set -euxo pipefail
4
5curl -Ls https://github.com/mcrute/st-patched/archive/master.tar.gz | \
6 tar -xz -C /build/source --strip-components=1
7
8apt-get install -y \
9 libxft2-dev
10
11cd /build/source
12
13make
14make PREFIX=/build/target/stterm-patched-master install
15
16tar -C /build/target -cvzf /output/stterm-patched-master.tar.gz stterm-patched-master
diff --git a/tmux.sh b/tmux.sh
new file mode 100755
index 0000000..8be5be2
--- /dev/null
+++ b/tmux.sh
@@ -0,0 +1,17 @@
1#!/bin/bash
2
3set -euxo pipefail
4
5curl -Ls https://github.com/tmux/tmux/archive/2.8.tar.gz | \
6 tar -xz -C /build/source --strip-components=1
7
8apt-get install -y \
9 libevent-dev \
10 libncurses5-dev
11
12cd /build/source
13./autogen.sh
14./configure --prefix=/build/target/tmux-2.8
15make && make install
16
17tar -C /build/target -cvzf /output/tmux-2.8.tar.gz tmux-2.8
diff --git a/vim.sh b/vim.sh
new file mode 100755
index 0000000..76a9657
--- /dev/null
+++ b/vim.sh
@@ -0,0 +1,45 @@
1#!/bin/bash
2
3set -euxo pipefail
4
5INSTALL_PREFIX="$HOME/.local/packages"
6VERSION=${VERSION:-8.1.0822}
7
8curl -Ls https://github.com/vim/vim/archive/v${VERSION}.tar.gz | \
9 tar -xz -C /build/source --strip-components=1
10
11export DEBIAN_FRONTEND=noninteractive
12apt-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
20cd /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
33make && make install
34
35# Vim needs some post install libraries
36cd "$INSTALL_PREFIX"
37
38touch install-vim.sh && chmod +x install-vim.sh
39cat > install-vim.sh <<EOF
40#!/bin/bash
41sudo apt-get install -y libruby2.5
42rm install-vim.sh
43EOF
44
45tar -C "$INSTALL_PREFIX" -cvzf /output/vim-${VERSION}.tar.gz vim-${VERSION} install-vim.sh