From 9a77bced44473496cc35a6e1a0995bf95817871d Mon Sep 17 00:00:00 2001 From: Mike Crute Date: Sun, 12 May 2019 19:12:07 +0000 Subject: Initial import --- Makefile | 9 ++++++++ autocutsel.sh | 24 ++++++++++++++++++++++ builder-image/Dockerfile | 15 ++++++++++++++ git.sh | 27 ++++++++++++++++++++++++ gocfssl.sh | 12 +++++++++++ godep.sh | 12 +++++++++++ golint.sh | 12 +++++++++++ isync.sh | 19 +++++++++++++++++ light.sh | 21 +++++++++++++++++++ neomutt.sh | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ read-edid.sh | 15 ++++++++++++++ stterm.sh | 16 +++++++++++++++ tmux.sh | 17 ++++++++++++++++ vim.sh | 45 ++++++++++++++++++++++++++++++++++++++++ 14 files changed, 297 insertions(+) create mode 100644 Makefile create mode 100755 autocutsel.sh create mode 100644 builder-image/Dockerfile create mode 100755 git.sh create mode 100755 gocfssl.sh create mode 100755 godep.sh create mode 100755 golint.sh create mode 100755 isync.sh create mode 100755 light.sh create mode 100755 neomutt.sh create mode 100755 read-edid.sh create mode 100755 stterm.sh create mode 100755 tmux.sh create mode 100755 vim.sh diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3dc6e4d --- /dev/null +++ b/Makefile @@ -0,0 +1,9 @@ +go%: + docker run -ti -e "HOME="$(HOME)" -v $$(pwd)/output:/output -v $$(pwd)/$@.sh:/build.sh golang:latest /build.sh + +%: + docker run -ti -e HOME="$(HOME)" -v $$(pwd)/output:/output -v $$(pwd)/$@.sh:/build.sh ubuntu-builder:latest /build.sh + +.PHONY: builder-image +builder-image: + 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 @@ +#!/bin/bash + +set -euxo pipefail + +VERSION=0.10.0 +OUT_DIR=autocutsel-${VERSION} +TARBALL=autocutsel-0.10.0.tar.gz + +if ! mountpoint /output; then + echo "Mount /output to retrieve build artifacts" + exit 1 +fi + +curl -Ls https://github.com/sigmike/autocutsel/releases/download/${VERSION}/${TARBALL} | \ + tar -xz -C /build/source --strip-components=1 +cd /build/source + +apt-get install -y \ + xorg-dev + +./configure --prefix=/build/target/${OUT_DIR} +make && make install + +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 @@ +FROM ubuntu:bionic +LABEL maintainer="Mike Crute " + +RUN \ + apt-get update; \ + apt-get install -y \ + autoconf \ + build-essential \ + cmake \ + curl \ + git \ + libdatetimex-easy-perl \ + pkg-config \ + ; \ + 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 @@ +#!/bin/bash + +set -euxo pipefail + +INSTALL_PREFIX="$HOME/.local/packages" +VERSION=${VERSION:-2.20.1} + +curl -Ls https://github.com/git/git/archive/v${VERSION}.tar.gz | \ + tar -xz -C /build/source --strip-components=1 + +export DEBIAN_FRONTEND=noninteractive +apt-get install -y --no-install-recommends \ + asciidoc \ + docbook2x \ + gettext \ + libcurl4-openssl-dev \ + libexpat1-dev \ + libssl-dev \ + tcl \ + xmlto \ + zlib1g-dev + +cd /build/source +make prefix="$INSTALL_PREFIX/git-${VERSION}" all doc info +make prefix="$INSTALL_PREFIX/git-${VERSION}" install install-doc install-html install-info + +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 @@ +#!/bin/bash + +set -euxo pipefail + +RELEASE="cfssl-$(date +%Y%m%d)" + +go get -u github.com/cloudflare/cfssl/cmd/... + +mkdir $RELEASE +mv bin $RELEASE + +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 @@ +#!/bin/bash + +set -euxo pipefail + +RELEASE="dep-$(date +%Y%m%d)" + +go get -u github.com/golang/dep/cmd/dep + +mkdir $RELEASE +mv bin $RELEASE + +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 @@ +#!/bin/bash + +set -euxo pipefail + +RELEASE="golint-$(date +%Y%m%d)" + +go get -u golang.org/x/lint/golint + +mkdir $RELEASE +mv bin $RELEASE + +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 @@ +#!/bin/bash + +set -euxo pipefail + +git clone https://git.code.sf.net/p/isync/isync /build/source +cd /build/source +git checkout 1.3 + +apt-get install -y \ + libsasl2-dev \ + zlib1g-dev \ + libssl-dev \ + libdb-dev + +./autogen.sh +./configure --prefix=/build/target/isync-1.3 +make && make install + +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 @@ +#!/bin/bash + +set -euxo pipefail + +git clone https://github.com/haikarainen/light.git /build/source +cd /build/source +git checkout v1.2 + +./autogen.sh +./configure --prefix=/build/target/light-1.2 +make && make install + +touch install-light.sh && chmod +x install-light.sh +cat > install-light.sh < install-neomutt.sh < install-vim.sh <