diff options
Diffstat (limited to 'muslbuild')
| -rwxr-xr-x | muslbuild/all | 11 | ||||
| -rwxr-xr-x | muslbuild/jq | 36 | ||||
| -rwxr-xr-x | muslbuild/libevent | 33 | ||||
| -rwxr-xr-x | muslbuild/musl | 53 | ||||
| -rwxr-xr-x | muslbuild/ncurses | 47 | ||||
| -rwxr-xr-x | muslbuild/oksh | 33 | ||||
| -rwxr-xr-x | muslbuild/tmux | 36 | ||||
| -rwxr-xr-x | muslbuild/upx | 26 |
8 files changed, 275 insertions, 0 deletions
diff --git a/muslbuild/all b/muslbuild/all new file mode 100755 index 0000000..fdcf41d --- /dev/null +++ b/muslbuild/all @@ -0,0 +1,11 @@ +#!/bin/sh +set -e +pkgs="musl +oksh +ncurses +libevent +tmux +upx" +for pkg in $pkgs ; do + ./$pkg +done diff --git a/muslbuild/jq b/muslbuild/jq new file mode 100755 index 0000000..b3873a2 --- /dev/null +++ b/muslbuild/jq @@ -0,0 +1,36 @@ +#!/bin/sh +set -e +set -x +relver="1.6" +build_dir="/v/muslbuild/jq" + +export CC="musl-gcc" +PREFIX="$HOME/musl" + +if ! [ -d "$build_dir" ] ; then + mkdir -p "$build_dir" +fi +cd "$build_dir" + +arLoc="https://github.com/stedolan/jq/releases/download/jq-%s/jq-%s.tar.gz" +arLoc="$(printf "$arLoc\n" "$relver" "$relver")" +arFn="jq-${relver}.tar.gz" + +checksum=5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72 + +if ! [ -e "$arFn" ] ; then + curl -L -o "$arFn" "$arLoc" +fi + +echo "${checksum} $arFn" | sha256sum -c + +tar xzvf "$arFn" +cd "jq-${relver}" +./configure --prefix="$PREFIX" --bindir="$HOME/bin" --host=x86_64 \ + --build=x86_64-pc-linux-gnu \ + --enable-all-static --enable-static=yes --enable-shared=no --disable-docs \ + --with-oniguruma=builtin \ + --disable-maintainer-mode +make +make install -j$(nproc) + diff --git a/muslbuild/libevent b/muslbuild/libevent new file mode 100755 index 0000000..ccd24ec --- /dev/null +++ b/muslbuild/libevent @@ -0,0 +1,33 @@ +#!/bin/sh +set -e +set -x +relver="2.1.12" +build_dir="/v/muslbuild/libevent" + +export CC="musl-gcc" +PREFIX="$HOME/musl" + +if ! [ -d "$build_dir" ] ; then + mkdir -p "$build_dir" +fi +cd "$build_dir" + +arLoc="https://github.com/libevent/libevent/releases/download/release-%s-stable/libevent-%s-stable.tar.gz" +arLoc="$(printf "$arLoc\n" "$relver" "$relver")" +arFn="libevent-${relver}-stable.tar.gz" + +checksum=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb + +if ! [ -e "$arFn" ] ; then + curl -L -o "$arFn" "$arLoc" +fi + +echo "${checksum} libevent-${relver}-stable.tar.gz" | sha256sum -c + +tar xzvf "$arFn" +cd "libevent-${relver}-stable" +./configure --prefix="$PREFIX" --host=x86_64 \ + --disable-doxygen-doc --enable-static=yes --enable-shared=no \ + --disable-openssl +make +make install -j1 diff --git a/muslbuild/musl b/muslbuild/musl new file mode 100755 index 0000000..13487e5 --- /dev/null +++ b/muslbuild/musl @@ -0,0 +1,53 @@ +#!/bin/sh +set -e +set -x +relver="1.2.2" +build_dir="/v/pub/musl" + +PREFIX="$HOME/musl" + +if ! [ -d "$build_dir" ] ; then + mkdir -p "$build_dir" +fi +cd "$build_dir" + +sigLoc="https://musl.libc.org/releases/musl-${relver}.tar.gz.asc" +sigFn="musl-${relver}.tar.gz.asc" +arLoc="https://musl.libc.org/releases/musl-${relver}.tar.gz" +arFn="musl-${relver}.tar.gz" + +curl https://musl.libc.org/musl.pub | gpg --import + +if ! [ -e "$arFn" ] ; then + curl -o "$arFn" "$arLoc" +fi + +if ! [ -e "$sigFn" ] ; then + curl -o "$sigFn" "$sigLoc" +fi + +_out="$(mktemp)"; +gpg --fingerprint --verify "$sigFn" >"$_out" 2>&1 +ret=$? + +if [ $ret -ne 0 ] ; then + cat "$_out" + rm "$_out" + echo "Bad signature" +fi + +if ! grep -q '^Primary key fingerprint: 8364 8929 0BB6 B70F 99FF DA05 56BC DB59 3020 450F' \ + < "$_out" ; then + cat "$_out" + rm "$_out" + echo "Bad signature" + exit 1 +fi +rm "$_out" || printf "" + +tar xzvf "$arFn" +cd "musl-${relver}" +./configure --prefix="$PREFIX" --bindir="$HOME/bin" --disable-shared \ + --enable-static +make +make install -j$(nproc) diff --git a/muslbuild/ncurses b/muslbuild/ncurses new file mode 100755 index 0000000..a9419d8 --- /dev/null +++ b/muslbuild/ncurses @@ -0,0 +1,47 @@ +#!/bin/sh +set -e +set -x +relver="6.2-20210911" +build_dir="/v/muslbuild/ncurses" + +PREFIX="$HOME/musl" +export CC="musl-gcc -static" + +if ! [ -d "$build_dir" ] ; then + mkdir -p "$build_dir" +fi +cd "$build_dir" + +# arLoc="https://invisible-mirror.net/archives/ncurses/ncurses-%s.tar.gz" +# arLoc="https://invisible-mirror.net/archives/ncurses/ncurses-%s.tar.gz" +arLoc="https://invisible-mirror.net/archives/ncurses/current/ncurses-%s.tgz" +arLoc="$(printf "$arLoc\n" "$relver")" +arFn="ncurses-${relver}.tar.gz" + +checksum=13f221dda7a5839fe7ccee827c93fafb420c943d0f7e7de4d60299046b965867f5afba54c84c1dce2d8b58ff7a5a112bea87c89eca103a14c0fea2ccdf430eaf + +if ! [ -e "$arFn" ] ; then + # we're verifying the checksum anyway, it's freaking out the full + # chain not being there + curl -k -L -o "$arFn" "$arLoc" +fi + +echo "${checksum} $arFn" | sha512sum -c + +tar xzvf "$arFn" +cd "ncurses-${relver}" +./configure --prefix="$PREFIX" --bindir="$HOME/bin" \ + --enable-static \ + --includedir="$PREFIX/include" \ + --without-ada \ + --without-tests \ + --disable-termcap \ + --with-termlib \ + --disable-rpath-hack \ + --without-cxx-binding \ + --enable-pc-files \ + --disable-shared \ + --without-pkg-config +make clean +make -j$(nproc) +make install -j$(nproc) diff --git a/muslbuild/oksh b/muslbuild/oksh new file mode 100755 index 0000000..23213cf --- /dev/null +++ b/muslbuild/oksh @@ -0,0 +1,33 @@ +#!/bin/sh +set -e +set -x +relver="6.9" +build_dir="/v/muslbuild/oksh" + +export CC="musl-gcc -static" +PREFIX="$HOME/musl" + +if ! [ -d "$build_dir" ] ; then + mkdir -p "$build_dir" +fi +cd "$build_dir" + +arLoc="https://github.com/ibara/oksh/releases/download/oksh-%s/oksh-%s.tar.gz" +arLoc="$(printf "$arLoc\n" "$relver" "$relver")" +arFn="oksh-${relver}.tar.gz" + +checksum=c08d97b2ac9ee5d88e9e508d27c75502b2d06c20d4c5ab87b496cb3b9951bd35 + +if ! [ -e "$arFn" ] ; then + curl -L -o "$arFn" "$arLoc" +fi + +echo "${checksum} $arFn" | sha256sum -c + +tar xzvf "$arFn" +cd "oksh-${relver}" +./configure --prefix="$PREFIX" --bindir="$HOME/bin" --enable-ksh \ + --enable-static +make +make install -j$(nproc) + diff --git a/muslbuild/tmux b/muslbuild/tmux new file mode 100755 index 0000000..f160062 --- /dev/null +++ b/muslbuild/tmux @@ -0,0 +1,36 @@ +#!/bin/sh +set -e +set -x +relver="3.2a" +build_dir="/v/muslbuild/tmux" + +PREFIX="$HOME/musl" +export CC="musl-gcc -static -I. -I$PREFIX/include/ncursesw -DHAVE_FORKPTY=1 -DHAVE_FDFORKPTY=1" + +if ! [ -d "$build_dir" ] ; then + mkdir -p "$build_dir" +fi +cd "$build_dir" + +arLoc="https://github.com/tmux/tmux/releases/download/%s/tmux-%s.tar.gz" +arLoc="$(printf "$arLoc\n" "$relver" "$relver")" +arFn="tmux-${relver}.tar.gz" + +checksum=551553a4f82beaa8dadc9256800bcc284d7c000081e47aa6ecbb6ff36eacd05f + +if ! [ -e "$arFn" ] ; then + curl -L -o "$arFn" "$arLoc" +fi + +echo "${checksum} $arFn" | sha256sum -c + +tar xzvf "$arFn" +cd "tmux-${relver}" +./configure --prefix="$PREFIX" --bindir="$HOME/bin" \ + --enable-static \ + --host=x86_64-alpine-linux-musl \ + --build=x86_64-alpine-linux-musl +make clean +make -j$(nproc) +make install -j$(nproc) + diff --git a/muslbuild/upx b/muslbuild/upx new file mode 100755 index 0000000..6c4e98b --- /dev/null +++ b/muslbuild/upx @@ -0,0 +1,26 @@ +#!/bin/sh +set -e +set -x +relver="3.96" +build_dir="/v/muslbuild/jq" + +if ! [ -d "$build_dir" ] ; then + mkdir -p "$build_dir" +fi +cd "$build_dir" + +arLoc="https://github.com/upx/upx/releases/download/v%s/upx-%s-amd64_linux.tar.xz" +arLoc="$(printf "$arLoc\n" "$relver" "$relver")" +arFn="upx-${relver}-amd64_linux.tar.xz" + +checksum=ac75f5172c1c530d1b5ce7215ca9e94586c07b675a26af3b97f8421b8b8d413d + +if ! [ -e "$arFn" ] ; then + curl -L -o "$arFn" "$arLoc" +fi + +echo "${checksum} $arFn" | sha256sum -c + +tar xJvf "$arFn" +cd "upx-${relver}-amd64_linux" +cp upx "$HOME/bin/upx" |
