Skip to content

Instantly share code, notes, and snippets.

@concatime
Last active September 27, 2018 02:12
Show Gist options
  • Save concatime/d0e95351b889a7c709af2cd3e3adb908 to your computer and use it in GitHub Desktop.
Save concatime/d0e95351b889a7c709af2cd3e3adb908 to your computer and use it in GitHub Desktop.
Toolbox for compilation!

Global dependencies: git cc c++ ld unzip

cmake ninja autotools(m4 autoconf[autoreconf] automake[aclocal])

Package Repology Minimal dependencies (optional)
NGiИX jemalloc pcre libressl zlib
cURL c-ares mbedtls nghttp2 (libssh2)
LibreSSL
mbedTLS zlib
libuv autotools
dash autotools
musl
Redis jemalloc
SQLite zlib
PCRE (bzip2 zlib readline editline)
CMake (ar)
Go
M4
Make
Automake
Autoconf
Coreutils
Binutils
GMP
MPFR GMP
MPC GMP MPFR
GCC GMP MPFR MPC
Lzip
Wget
Ninja
Bison
c-ares cmake ninja
Flex
gperf
protobuf autotools (zlib)
protobuf-c pkgconf protobuf
zlib cmake ninja
Check
Jansson
nghttp2 libressl jansson zlib (libev c-ares zlib jansson libevent cython phythonlibs libxml2 jemalloc spdylay cunit)
libssh2
jemalloc
pkgconf (kyua)
MsgPack (gtest zlib doxygen)

lz ~> lzip make check bsd nproc

gdb(kyua) gettext(neovim)

TODO package ~> set of binaries

Intended for:

  1. my personal use
  2. help for you

-DCMAKE_BUILD_TYPE=Release update-alternatives

TODO: CMake/Ninja from scratch. cmake ln -t

libtoolize=libtool libtool=libtool-bin

Libraries: mbedTLS LibreSSL LuaJIT LibUV ZLib Jemalloc msgPack

Tools: CMake Meson Ninja PKGconf

Miscellaneous: vterm termkey unibilium ncurses atf lutok kyua

GYP LuaRocks Doxygen GTest

cmake ninja libtool bison flex autoconf automake

atf luajit doxygen lutok zlib sqlite3 kyua pkgconf

gtest msgpack libuv ncurses vterm unibilium termkey luarocks gperf neovim

libressl libuv h2o

zlib mbedtls textinfo libconfig protobuf libprotobufc umurmur

sudo $(which ninja) install

for _k in $PKGS; do wget -O- https://gist.githubusercontent.com/concatime/d0e95351b889a7c709af2cd3e3adb908/raw/$_k.sh | CFLAGS='-march=native -O3 -pipe -fstack-protector-strong' CXXFLAGS=$CFLAGS sh; done
PATH=/usr/local/bin:$PATH
#!/bin/bash
check() {
for kommand in $*
do hash $k 1>&-
done
}
write() {
local file=$1
shift
printf "$*\n" | sudo dd status=none conv=notrunc oflag=append of=$file
}
ignite() {
cd /
pushd etc
source lsb-release
local VERS=$DISTRIB_CODENAME CC CXX LINKER LBTL=libtool PKG=git:gdb:unzip:make:automake:gperf:gettext:python2.7
case ${VERS::1} in # Cascade
a)# 17.10 Artful
;&
z)# 17.04 Zesty
;&
x)# 16.04 Xenial
LBTL+=-bin
CC=clang-5.0
CXX=clang++-5.0
LINKER=../lib/llvm-5.0/bin/lld
PKG+=:$CC:lld-5.0
;&
t)# 14.04 Trusty
;;&
t)# 14.04 Trusty
# From LLVM, gcc backport (ppa) is necessary on Trusty (for libstdc++).
# http://www.devopsservice.com/add-apt-repository-command-not-found-ubuntu-14-04/
sudo apt install software-properties-common -qqy
CC=gcc-7
CXX=g++-7
LINKER=gold
# libtool requires gcc OR virtual c-compiler package
# If I add only g++, libtool will install gcc on trusty (v4.8.x)
PKG+=:$CC:$CXX:binutils
;&
x)# 16.04 Xenial
;&
z)# 17.04 Zesty
# askubuntu.com/a/887791
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
pushd apt/sources.list.d
write llvm.list "deb https://apt.llvm.org/$VERS llvm-toolchain-$VERS-5.0 main"
write llvm.list "deb-src https://apt.llvm.org/$VERS llvm-toolchain-$VERS-5.0 main"
popd
curl -s https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
;&
a)# 17.10 Artful
# gcc_7 & lld_5 are available out of the box only on artful
# unix.stackexchange.com/a/371774
#sudo add-apt-repository ppa:jonathonf/gcc-7.2
esac
#pushd alternatives
# sudo ln -sf /usr/bin/clang cc
# sudo ln -sf /usr/bin/clang++ c++
#popd
popd
# Update repositories
sudo apt update
# Install dependencies
sudo apt install ${PKG//:/ } $LBTL -qqy --no-install-recommends
# Clear cache (apt on trusty ~> Invalid operation clean)
sudo apt-get clean
# Install SetupTools
python2.7 <(curl -s https://bootstrap.pypa.io/ez_setup.py)
# Symlinks
pushd /usr/bin
#sudo ln -sf /etc/alternatives/cc cc
#sudo ln -sf /etc/alternatives/c++ c++
sudo ln -sf $CC cc
sudo ln -sf $CXX c++
sudo ln -sf $LINKER ld
popd
# gtest, zlib : cmake + ninja
# msgPack : gtest + zlib
# neovim : luajit + pkgconf + msgPack + libuv + jemalloc + unibilium + luarocks
for k in flex bison atf luajit sqlite3 lutok cmake ninja doxygen kyua meson pkgconf gtest zlib msgpack libressl libuv jemalloc luarocks unibilium ncurses vterm termkey neovim
do sh <(curl -s https://gist.githubusercontent.com/concatime/d0e95351b889a7c709af2cd3e3adb908/raw/$k.sh)
done
}
ignite
#!/bin/sh
V=0.21
# bash kyua git
set -e
for k in wget tar make ${CC:-cc} ${CXX:-c++} ${LD:-ld}
do hash $k 1>&-
done
cd $(mktemp -d)
wget https://github.com/jmmv/atf/releases/download/atf-$V/atf-$V.tar.gz
tar xzf *
cd atf-$V
CC=${CC:-cc} CXX=${CXX:-c++} LD=${LD:-ld} ./configure
make check
make install
#make installcheck
cd -
rm -fR $PWD
#!/bin/sh
V=2.69
set -e
hash wget tar ${CC:-cc} ${LD:-ld} m4 >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/autoconf/autoconf-$V.tar.xz
tar xf *
cd autoconf-$V
./configure
make install
cd -
rm -fR $PWD
#!/bin/sh
V=1.16.1
# autoconf
set -e
hash wget tar ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/automake/automake-$V.tar.xz
tar xf *
cd automake-$V
./configure
make install
cd -
rm -fR $PWD
#!/bin/sh
V=2.30
# --enable-maintainer-mode Please use exactly Autoconf 2.64 instead of 2.69
# https://sourceware.org/bugzilla/show_bug.cgi?id=13432#c2
set -e
hash wget lzip tar make autoconf ${CC:-cc} ${LD:-ld} nproc
cd $(mktemp -d)
wget https://ftpmirror.gnu.org/binutils/binutils-$V.tar.lz
lzip -d binutils-$V.tar.lz
tar xf binutils-$V.tar
cd binutils-$V
./configure --enable-lto --enable-host-shared --enable-vtable-verify --enable-werror
make -j`nproc`
cd -
rm -fR $PWD
#!/bin/sh
V=3.0.5
set -e
hash wget tar ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/bison/bison-$V.tar.xz
tar xf *
cd bison-$V
./configure
make install
cd -
rm -fR $PWD
http://bzip.org/1.0.6/bzip2-1.0.6.tar.gz
sha256sum bzip2-1.0.6.tar.gz
a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd
#!/bin/sh
V=1.14.0
set -e
for k in cmake ninja ${CC:-cc} ${CXX:-c++} ${LD:-ld}
do hash $k 1>&-
done
cd $(mktemp -d)
wget https://c-ares.haxx.se/download/c-ares-$V.tar.gz
tar xzf *
cd c-ares-$V
mkdir build
cd build
cmake .. -GNinja \
-DCARES_STATIC_PIC=1
# -DCARES_BUILD_TESTS=1 FAILS
# CARES_STATIC=0
# --enable-optimize --enable-lib-only
ninja
ninja install
cd ../..
rm -fR $PWD
#!/bin/sh
V=0.12.0
set -e
hash git cmake ninja ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
git clone https://github.com/libcheck/check.git --branch $V
cd check
mkdir build
cd build
cmake .. -GNinja
ninja
#ninja test
ninja install
cd ../..
rm -fR $PWD
#!/bin/sh
V=3.12.0-rc2
set -e
hash wget tar >&-
cd /usr/local
mkdir cmake --parents
wget -O- https://cmake.org/files/v${V%.*}/cmake-$V-Linux-x86_64.tar.gz | tar xzC cmake --strip 1
ln -s ../cmake/bin/cmake bin/cmake
#!/bin/sh
V=8.29
set -e
hash wget make ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/coreutils/coreutils-$V.tar.xz
tar xf coreutils-$V.tar.xz
cd coreutils-$V
./configure FORCE_UNSAFE_CONFIGURE=1
cd -
rm -fR $PWD
#!/bin/sh
V=7.61.0
# --with-brotli
# C-ARES LIBRESSL
# NROFF
set -e
for k in wget unxz tar cmake ninja ${CC:-cc} ${LD:-ld} ldconfig
do hash $k 1>&-
done
cd $(mktemp -d)
wget https://curl.haxx.se/download/curl-$V.tar.xz
unxz curl-$V.tar.xz
tar xf curl-$V.tar
cd *
mkdir build
cd build
cmake .. -GNinja \
-DCMAKE_USE_MBEDTLS=1 \
-DCMAKE_USE_OPENSSL=0 \
-DCURL_ZLIB=1 \
-DUSE_NGHTTP2=1 \
-DENABLE_ARES=1
# CURL_WERROR=1
# lib/curl_config.h:987:{19,28}: error: two or more data types in declaration specifiers
# #define in_addr_t unsigned long
# CURL_STATICLIB=0 HTTP_ONLY=0 ENABLE_IPV6=1 PICKY_COMPILER=1 ENABLE_THREADED_RESOLVER=1
# ENABLE_UNIX_SOCKETS=1
ninja
ninja install
ldconfig
cd ../..
rm -fR $PWD
#!/bin/sh
V=0.5.10.2
set -e
hash wget aclocal autoheader automake autoconf ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://git.kernel.org/pub/scm/utils/dash/dash.git/snapshot/dash-$V.tar.gz
tar xf dash-$V.tar.gz
cd dash-$V
./autogen.sh
./configure # --enable-static --enable-fnmatch --enable-glob --enable-test-workaround --disable-lineno
make install
cd -
rm -fR $PWD
#!/bin/sh
V=1_8_14
# PythonInter FLEX BISON Threads ICONV
# https://www.stack.nl/~dimitri/doxygen/download.html#gitrepos
# https://www.stack.nl/~dimitri/doxygen/manual/install.html
set -e
for k in git cmake ninja ${CC:-cc} ${LD:-ld} flex bison python
do hash $k 1>&-
done
cd $(mktemp -d)
git clone https://github.com/doxygen/doxygen.git --branch Release_$V
cd *
cmake -GNinja -DCMAKE_BUILD_TYPE=Release
ninja
ninja install
cd -
rm -fR $PWD
#!/bin/sh
V=2.6.4
set -e
hash wget tar lzip ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://github.com/westes/flex/releases/download/v$V/flex-$V.tar.lz
lzip -d flex-$V.tar.lz
tar xf flex-$V.tar
cd flex-$V
./configure
make install
cd -
rm -fR $PWD
#!/bin/sh
V=8.1.0
set -e
hash wget tar make ${CC:-cc} ${LD:-ld} nproc >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/gcc/gcc-$V/gcc-$V.tar.xz
tar xf gcc-$V.tar.xz
cd gcc-$V
./configure --disable-multilib --enable-languages=c,c++ LDFLAGS=-L/usr/local/lib
make -j`nproc`
make check install
cd -
rm -fR $PWD
#!/bin/sh
# libressl libuv libyaml check
# https://github.com/getdnsapi/getdns/issues/369
V=1.4.1
set -e
hash git autoreconf makeinfo make ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
git clone https://github.com/getdnsapi/getdns.git --branch v$V
cd stubby
git submodule update --init
libtoolize -i
autoreconf -i
./configure --enable-stub-only --with-ssl --with-libuv --with-stubby --without-libidn --without-libidn2
#make test LIBCHECK NOT FOUND
make install
cd -
rm -fR $PWD
#!/bin/sh
V=6.1.2
# IT DOES NOT INSTALL PC FILE
# THEREFOR, LDFLAGS IN MPFS & MPC
# default: --enable-assembly
set -e
hash wget tar make ${CC:-cc} ${LD:-ld} nproc >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/gmp/gmp-$V.tar.lz
tar xf gmp-$V.tar.lz
cd gmp-$V
./configure --enable-cxx
make -j`nproc`
make check install
cd -
rm -fR $PWD
#!/bin/sh
V=1.10.3
set -e
hash wget tar ${CC:-cc} ${LD:-ld} >&-
cd /usr/local
[ -f go1.4/bin/go ] || {
mkdir -p go1.4
cd go1.4
wget https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz
tar xf go1.4-bootstrap-20171003.tar.gz --strip 1
cd src
CC=${CC:-cc} ./make.bash
#CGO_ENABLED=0
cd ../..
}
wget https://dl.google.com/go/go$V.src.tar.gz
tar xf go$V.src.tar.gz
rm go$V.src.tar.gz
# Otherwise, cannot find go tool: exec: "go": executable file not found in $PATH
ln -sf ../go/bin/go bin/go
cd go/src
GOROOT_BOOTSTRAP=/usr/local/go1.4 CC=${CC:-cc} ./all.bash
#!/bin/sh
V=3.1
set -e
hash wget tar ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/gperf/gperf-$V.tar.gz
tar xf *
cd gperf-$V
./configure
make install
cd -
rm -fR $PWD
#!/bin/sh
V=1.8.0
# PythonInterp Threads
# https://github.com/google/googletest/blob/master/googletest/README.md#as-a-shared-library-dll
set -e
for k in git cmake ninja ${CC:-cc} ${CXX:-c++} ${LD:-ld} python
do hash $k 1>&-
done
cd $(mktemp -d)
git clone https://github.com/google/googletest.git --branch release-$V
cd googletest
mkdir build
cd build
cmake .. -GNinja \
-DBUILD_GTEST=1 \
-DBUILD_SHARED_LIBS=1 \
-Dgtest_build_tests=1
# BUILD_GMOCK=1 gmock_build_tests=0 gtest_disable_pthreads=0 gtest_force_shared_crt=0 gtest_hide_internal_symbols=0
ninja
ninja test
ninja install
cd ../..
rm -fR $PWD
#!/bin/sh
set -e
for k in git python2.7 easy_install
do hash $k 1>&-
done
cd $(mktemp -d)
git clone https://chromium.googlesource.com/external/gyp.git
cd gyp
python2.7 setup.py install
cd -
rm -fR $PWD
#!/sbin/openrc-run
description='H2Ø ~ Optimized HTTP/S/2 server'
command=$RC_SVCNAME
#command_args='--mode daemon'
#cfgfile=
chroot=usr/local
extra_started_commands=reload
extra_commands=configtest
pidfile=/run/$RC_SVCNAME.pid
depend() {
#root@devuan:~# rc-service h2o start
# * ERROR: h2o needs service(s) net
#root@devuan:~# rc-update --update
# * Caching service dependencies ...
#Service `h2o' needs non existent service `net' [ ok ]
# need net
after sshd
use dns logger netmount
}
#start_pre() {
# configtest || return 1
#}
#start() {
# ebegin 'Starting H2O'
# $command $command_args
# eend $? 'Failed to start H2O'
#}
#reload() {
# ebegin 'Refreshing H2O configuration'
# kill -HUP `cat $pidfile` &>/dev/null
# eend $? 'Failed to reload H2O'
#}
#stop() {
# ebegin 'Stoping H2O'
# kill -TERM `cat $pidfile` 2>/dev/null
# eend $? 'Failed to stop H2O'
#}
configtest() {
# If no errors, display nothing
# Synonym of `--mode=test`
MSG=$(cd usr/local && h2o --test 2>&1)
eend $? "$MSG"
}
user: h2o
pid-file: /run/h2o.pid
access-log: usr/share/h2o/access.log
error-log: usr/share/h2o/error.log
hosts:
'127.0.0.1':
listen:
port: 80
paths:
'/':
proxy.reverse.url: 'http://[unix:/web/webd.sock]'
proxy.preserve-host: ON
'/docs':
file.dir: usr/share/doc/h2o
#!/bin/sh
V=2.2.5
# DEBIAN: adduser --system --ingroup www-data --disabled-password --disabled-login --no-create-home --home /nonexistent --quiet h2o
# ALPINE: adduser -DSH -h/nonexistent -s/sbin/nologin -Gwww-data -gh2o h2o
# wget -NP /etc/init.d https://gist.github.com/concatime/d0e95351b889a7c709af2cd3e3adb908/raw/h2o
# chmod u+x /etc/init.d/h2o
# PkgConfig Threads LibreSSL ZLIB LIBUV
# Oprional: WSLAY (last release 2015)
set -e
hash git cmake ninja ${CC:-cc} ${CXX:-c++} ${LD:-ld} ldconfig
cd $(mktemp -d)
git clone https://github.com/h2o/h2o.git --branch v$V
cd h2o
mkdir build
cd build
cmake .. -GNinja \
-DWITH_MRUBY=0 \
-DCMAKE_INSTALL_PREFIX=/usr
# -DLIBUV_VERSION=1.0.0
# WITHOUT_LIBS=0
ninja install
ldconfig
cd ../..
rm -fR $PWD
#!/bin/sh
V=2.11
set -e
for k in wget tar cmake ninja ${CC:-cc} ${LD:-ld}
do hash $k 1>&-
done
cd $(mktemp -d)
wget http://www.digip.org/jansson/releases/jansson-$V.tar.bz2
tar xf *
cd *
mkdir build
cd build
cmake .. -GNinja \
-DJANSSON_BUILD_SHARED_LIBS=1 \
-DJANSSON_BUILD_DOCS=0 # Otherwise, Sphinx required
# USE_URANDOM=1 USE_WINDOWS_CRYPTOAPI=1
# JANSSON_COVERAGE=0 JANSSON_COVERALLS=0 JANSSON_COVERALLS_UPLOAD=1
ninja
ninja test
ninja install
cd ../..
rm -fR $PWD
#!/bin/sh
V=5.1.0
# See https://github.com/jemalloc/jemalloc/issues/974
set -e
hash wget tar make ${CC:-cc} ${CXX:-c++} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://github.com/jemalloc/jemalloc/releases/download/$V/jemalloc-$V.tar.bz2
tar xf *
cd *
./configure --disable-stats # --disable-cxx was useful in ngx ; --enable-utrace on bsd
make install_bin install_include install_lib_shared install_lib_pc
cd -
rm -fR $PWD
#!/bin/sh
V=0.13
# atf lutok sqlite3 doxygen ranlib
# optional: gdb
set -e
#sudo apt install gdb
for k in wget tar make ${CC:-cc} ${CXX:-c++} ${LD:-ld} doxygen ldconfig
do hash $k 1>&-
done
#ldconfig -Np | grep libatf-c++
#ldconfig -Np | grep liblutok
#locate libsqlite3
cd $(mktemp -d)
wget https://github.com/jmmv/kyua/releases/download/kyua-$V/kyua-$V.tar.gz
tar xf *
cd *
./configure \
LDFLAGS=-L/usr/local/lib \
ATF_CXX_CFLAGS=-I/usr/local/include \
ATF_CXX_LIBS='-latf-c++ -latf-c' \
LUTOK_CFLAGS='-I/usr/local/include/luajit-2.1 -I/usr/local/include' \
LUTOK_LIBS=-llutok \
SQLITE3_CFLAGS=-I/usr/local/include \
SQLITE3_LIBS=-lsqlite3
make install
# Why is it failing? LuaJIT? make check / installcheck
cd -
rm -fR $PWD
#!/bin/sh
V=1.7.2
# textinfo
# optinal: makeinfo
set -e
for k in git autoreconf makeinfo make ${CC:-cc} ${CXX:-c++} ${LD:-ld} # cmake ninja
do hash $k 1>&-
done
cd $(mktemp -d)
git clone https://github.com/hyperrealm/libconfig.git --branch v$V
cd libconfig
autoreconf -i
./configure --disable-examples
make install
#mkdir build
#cd build
#cmake .. -GNinja
# BUILD_EXAMPLES=1 BUILD_SHARED_LIBS=1 BUILD_TESTS=1
#ninja
#ninja test
#ninja install
# cd ../..
cd -
rm -fR $PWD
#!/bin/sh
V=2.7.4
set -e
for k in wget tar cmake ninja ${CC:-cc} ${LD:-ld}
do hash $k 1>&-
done
cd $(mktemp -d)
wget https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-$V.tar.gz
tar xf *.tar*
cd *
mkdir build
cd build
cmake .. -GNinja \
-DBUILD_SHARED_LIBS=1 \
-DENABLE_EXTRATESTS=0
# ENABLE_NC=0 OPENSSLDIR=
ninja
ninja test # No tests were found!!!
ninja install
cd ../..
rm -fR $PWD
#!/bin/sh
V=1.8.0
set -e
hash git cmake ninja ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
git clone https://github.com/libssh2/libssh2.git --branch libssh2-$V
cd libssh2
mkdir build
cd build
cmake .. -GNinja \
-DBUILD_SHARED_LIBS=1 \
-DCRYPTO_BACKEND=mbedTLS \
-DENABLE_ZLIB_COMPRESSION=1
# DCLEAR_MEMORY=1 ENABLE_CRYPT_NONE=0
ninja
ninja install
cd ../..
rm -fR $PWD
#!/bin/sh
V=2.4.6
set -e
hash wget make m4 ${CC:-cc} ${LD:-ld}
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/libtool/libtool-$V.tar.xz
tar xf *
cd libtool-$V
./configure
make install
cd -
rm -fR $PWD
#!/bin/sh
V=1.22.0
# Using GYP = python2
# Using GYP + Mk = g++ error
# Using GYP + Nj = libuv/issues/1652
set -e
hash git make libtoolize aclocal autoconf automake ${CC:-cc} ${CXX:-c++} ${LD:-ld} >&-
cd $(mktemp -d)
git clone https://github.com/libuv/libuv.git --branch v$V
cd libuv
sh autogen.sh
./configure
make check
make install
cd -
rm -fR $PWD
#!/bin/sh
V=0.1.7
# https://github.com/yaml/libyaml/issues/101
set -e
hash git cmake ninja ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
git clone https://github.com/yaml/libyaml.git #--branch $V
cd libyaml
mkdir build
cd build
cmake .. -GNinja \
-DBUILD_SHARED_LIBS=1
ninja
ninja test
ninja install
cat > /usr/local/lib/pkgconfig/yaml-0.1.pc <<-__EOF__
prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
Name: LibYAML
Description: Library to parse and emit YAML
Version: $V
Cflags: -I${includedir}
Libs: -L${libdir} -lyaml
__EOF__
cd ../..
rm -fR $PWD
#!/bin/sh
V=2.1.0-beta3
set -e
for k in git make ${CC:-cc} ${LD:-ld}
do hash $k 1>&-
done
cd $(mktemp -d)
# Edited version that relies on cc and correct symlinking
git clone https://github.com/concatime/luajit.git --branch patch-1
cd *
make install
ln -sf luajit-$V /usr/local/bin/luajit
ln -sf luajit-2.1 /usr/local/include/luajit
#ln -sf libluajit-5.1.a /usr/local/lib/libluajit.a
cd -
rm -fR $PWD
#!/bin/sh
V=2.4.4
# See https://github.com/luarocks/luarocks/issues/267
# https://github.com/neovim/neovim/issues/822#issuecomment-48850057
set -e
for k in git make pkgconf curl md5sum unzip ${CC:-cc} ${LD:-ld}
do hash $k 1>&-
done
pkgconf --libs luajit >&-
cd $(mktemp -d)
git clone https://github.com/luarocks/luarocks.git --branch $V
cd luarocks
./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit
make bootstrap
luarocks CC=${CC:-cc} LD=${LD:-ld} install lpeg
luarocks CC=${CC:-cc} LD=${LD:-ld} install mpack
cd -
rm -fR $PWD
#!/bin/sh
V=0.4
# atf doxygen lua git
# https://github.com/jmmv/lutok/blob/master/INSTALL
set -e
for k in wget tar make ${CC:-cc} ${CXX:-c++} ${LD:-ld}
do hash $k 1>&-
done
cd $(mktemp -d)
wget https://github.com/jmmv/lutok/releases/download/lutok-$V/lutok-$V.tar.gz
tar xf *.tar.*
cd *
./configure \
LDFLAGS=-L/usr/local/lib \
ATF_CXX_LIBS='-latf-c++ -latf-c' \
ATF_CXX_CFLAGS=-I/usr/local/include \
LUA_LIBS=-lluajit-5.1 \
LUA_CFLAGS=-I/usr/local/include/luajit-2.1
make install
#make check KYUA # check-local
#make installcheck KYUA
cd -
rm -fR $PWD
#!/bin/sh
V=1.20
# DO NOT USE THE LZ LINK
# OTHERWISE, DEPS NIGHTMARE
set -e
hash wget tar ${CC:-cc} ${CXX:-c++} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://download.savannah.gnu.org/releases/lzip/lzip-$V.tar.gz
tar xf lzip-$V.tar.gz
cd lzip-$V
./configure
make install
cd -
rm -fR $PWD
#!/bin/sh
V=1.4.18
set -e
hash wget tar ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/m4/m4-$V.tar.xz
tar xf *
cd m4-$V
./configure
make install
cd -
rm -fR $PWD
#!/bin/sh
V=4.2.1
# http://lists.endsoftwarepatents.org/archive/html/bug-gnu-utils/2007-11/msg00048.html
set -e
hash wget ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/make/make-$V.tar.bz2
tar xf make-$V.tar.bz2
cd make-$V
./configure
sh build.sh
./make install
cd -
rm -fR $PWD
#!/bin/sh
V=2.11.0
# Perl ZLIB Threads
set -e
for k in git cmake ninja ${CC:-cc} ${CXX:-c++} ${LD:-ld} perl
do hash $k 1>&-
done
cd $(mktemp -d)
git clone https://github.com/ARMmbed/mbedtls.git --branch mbedtls-$V
cd *
# MBEDTLS_DEPRECATED_REMOVED
# https://github.com/ARMmbed/mbedtls/issues/1156
for k in MBEDTLS_HAVEGE_C MBEDTLS_ZLIB_SUPPORT MBEDTLS_REMOVE_ARC4_CIPHERSUITES
do scripts/config.pl set $k ON
done
mkdir build
cd build
cmake .. -GNinja \
-DLINK_WITH_PTHREAD=1 \
-DENABLE_ZLIB_SUPPORT=1 \
-DUSE_SHARED_MBEDTLS_LIBRARY=1 \
-DUSE_STATIC_MBEDTLS_LIBRARY=0
# -DUSE_PKCS11_HELPER_LIBRARY=On
ninja
#ninja test SEGFAULTS ON MUSL (ALPINE/VOID)
ninja install
cd ../..
rm -fR $PWD
#!/bin/sh
V=0.46.0
set -e
for k in wget tar ninja python
do hash $k 1>&-
done
cd $(mktemp -d)
wget https://github.com/mesonbuild/meson/releases/download/$V/meson-$V.tar.gz
tar xf *.tar*
cd *
python setup.py install
cd -
rm -fR $PWD
#!/bin/sh
V=1.1.0
# IT DOES NOT INSTALL PC FILE
# THEREFOR, LDFLAGS IN GCC
set -e
hash wget tar make ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/mpc/mpc-$V.tar.gz
tar xf mpc-$V.tar.gz
cd mpc-$V
./configure LDFLAGS=-L/usr/local/lib
make check
make install
cd -
rm -fR $PWD
#!/bin/sh
V=4.0.1
# --enable-thread-safe (autodetect)
# --enable-decimal-float (autodetect)
# --enable-float128 (autodetect)
# --enable-lto (experimental)
set -e
hash wget tar make ${CC:-cc} ${LD:-ld} nproc >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/mpfr/mpfr-$V.tar.xz
tar xf mpfr-$V.tar.xz
cd mpfr-$V
./configure --enable-shared-cache LDFLAGS=-L/usr/local/lib
make check -j`nproc`
make install
cd -
rm -fR $PWD
#!/bin/sh
V=3.0.1
# Threads
# Fail if gcc 4.8. See msgpack-c/issues/554
# So, cannot be build from Trusty within clang_5
# Surely because of DMSGPACK_CXX11=ON
# YOU CANNOT COMPILE WITH ONLY 512MB OF RAM!
# Otherwise, [trusty + g++-7] c++: internal compiler error: Killed (program cc1plus)
set -e
for k in git ninja ${CC:-cc} ${CXX:-c++} ${LD:-ld}
do hash $k 1>&-
done
cd $(mktemp -d)
git clone https://github.com/msgpack/msgpack-c.git --branch cpp-$V
cd msgpack-c
mkdir build
cd build
cmake .. -GNinja \
-DMSGPACK_CXX11=1 \
-DMSGPACK_BUILD_EXAMPLES=0
ninja
ninja install
cd ../..
rm -fR $PWD
#!/bin/sh
V=1.1.19
# install-libs install-headers install-tools
set -e
hash wget make ${CC:-cc} ${LD:-ld} nproc >&-
cd $(mktemp -d)
wget https://www.musl-libc.org/releases/musl-$V.tar.gz
tar xf musl-$V.tar.gz
cd musl-$V
./configure
# --enable-optimize=... optimize listed components for speed over size [auto]
# --enable-debug build with debugging information [disabled]
# --enable-warnings build with recommended warnings flags [disabled]
# --enable-visibility use global visibility options to optimize PIC [no]
# --enable-wrapper=... build given musl toolchain wrapper [auto]
# --disable-shared inhibit building shared library [enabled]
# --disable-static inhibit building static library [enabled]
make install -j`nproc`
cd -
rm -fR $PWD
#!/bin/sh
V=6.1
# See https://sources.debian.org/src/ncurses/6.0+20171125-1/debian/rules/#L128
# https://github.com/openwrt/packages/issues/526#issuecomment-62326114
# https://stackoverflow.com/a/42837651
set -e
for k in wget tar ${CC:-cc} ${CXX:-c++} ${LD:-ld}
do hash $k 1>&-
done
cd $(mktemp -d)
wget https://ftp.gnu.org/pub/gnu/ncurses/ncurses-$V.tar.gz
tar xf ncurses-$V.tar.gz
cd ncurses-$V
./configure --prefix=/usr/local \
--enable-pc-files \
--enable-symlinks \
--enable-const \
--enable-overwrite \
--enable-ext-colors \
--enable-safe-sprintf \
--disable-echo \
--disable-leaks \
--disable-stripping \
--with-pthread \
--with-shared \
--with-cxx-shared \
--without-ada \
--without-tests
# sysmouseFreeBSD disable-termcap enable-widec enable-hard-tabs with-termlib=tinfo
make install
cd -
rm -fR $PWD
#!/bin/sh
V=0.2.2
# PkgConfig LibUV Msgpack LuaJit unibilium LibTermkey LibVterm JeMalloc Iconv Threads LuaInterp gperf
# optional: Getext (msgmerge)
#sudo apt install gperf gettext (msgmerge)
# CMake Error at CMakeLists.txt:387 (message):
# Sanitizers are only supported for Clang.
# -DCLANG_ASAN_UBSAN=ON
# neovim/wiki/Development-tips#debugging-program-errors-undefined-behavior-leaks-
set -e
for k in git make cmake ninja libtoolize aclocal m4 ${CC:-cc} ${CXX:-c++} ${LD:-ld} ldconfig pkgconf luarocks gperf
do hash $k 1>&-
done
pkgconf --libs libuv msgpack vterm termkey unibilium jemalloc luajit >&-
cd $(mktemp -d)
git clone https://github.com/neovim/neovim.git --branch v$V
cd neovim
mkdir build
cd build
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release
ninja
ninja install
ldconfig
cd ../..
rm -fR $PWD
#!/bin/sh
V=1.32.0
# PythonInterp OpenSSl Libev Libcares ZLIB Jansson Libevent Cython PythonLibs LibXml2 Jemalloc Spdylay Threads CUnit
# mruby hpack tools libnghttp2_asio SPDYLAY
# --enable-lib-only
set -e
hash wget unxz tar cmake ninja ${CC:-cc} ${CXX:-c++} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://github.com/nghttp2/nghttp2/releases/download/v$V/nghttp2-$V.tar.xz
unxz nghttp2-$V.tar.xz
tar xf nghttp2-$V.tar
cd nghttp2-$V
mkdir build
cd build
cmake .. -GNinja \
-DENABLE_HPACK_TOOLS=1 \
-DENABLE_WERROR=1 \
-DWITH_JEMALLOC=1 \
-DWITH_NEVERBLEED=1
# HPACK ~> Jansson
# ENABLE_APP=0 ENABLE_ASIO_LIB=0 ENABLE_FAILMALLOC=1 ENABLE_THREADS=1 ENABLE_LIB_ONLY=0
# WITH_LIBXML2=0 WITH_MRUBY=0 WITH_SPDYLAY=0
ninja
ninja install
cd ../..
rm -fR $PWD
#!/sbin/openrc-run
description='NGiИX ~ Web Server'
command=$RC_SVCNAME
extra_started_commands=reload
extra_commands=configtest
#depend() {
#
#}
start() {
$command
}
reload() {
$command -s reload
}
stop() {
$command -s quit
}
configtest() {
$command -t
}
#!/bin/sh
V=1.15.1
NJS=0.2.0
set -e
# https://www.enovate.co.uk/blog/2017/02/28/how-to-brotli-compression-with-nginx
hash wget tar git patch ${CC:-cc} ${LD:-ld} jemalloc-config pcre-config openssl nproc >&-
cd $(mktemp -d)
wget https://nginx.org/download/nginx-$V.tar.gz #\
# https://raw.githubusercontent.com/rnagy/nginx_chroot_patch/master/nginx-$V-chroot.patch
git clone https://github.com/nginx/njs --branch $NJS
tar xf nginx-$V.tar.gz
cd nginx-$V
#patch -p1 < ../nginx-1.14.0-chroot.patch
. /etc/os-release
./configure \
--prefix=/usr/local/share/nginx \
--sbin-path=/usr/local/bin/nginx \
--conf-path=/usr/local/etc/nginx.conf \
--pid-path=/run/nginx.pid \
--group=www-data \
--add-module=../njs/nginx \
--build="nginx/$V ($NAME)" \
--with-compat \
--with-stream \
--with-threads \
--with-file-aio \
--with-http_v2_module \
--with-http_ssl_module \
--with-stream_ssl_module \
--without-http_userid_module \
--without-http_access_module \
--without-http_auth_basic_module \
--without-http_autoindex_module \
--without-http_geo_module \
--without-http_map_module \
--without-http_split_clients_module \
--without-http_fastcgi_module \
--without-http_uwsgi_module \
--without-http_scgi_module \
--without-http_browser_module \
--without-http_upstream_hash_module \
--without-http_upstream_ip_hash_module \
--without-http_upstream_least_conn_module \
--without-http_upstream_keepalive_module \
--without-http_upstream_zone_module \
--without-select_module \
--without-poll_module \
--without-mail_pop3_module \
--without-mail_imap_module \
--without-mail_smtp_module \
--without-stream_limit_conn_module \
--without-stream_access_module \
--without-stream_geo_module \
--without-stream_map_module \
--without-stream_split_clients_module \
--without-stream_return_module \
--without-stream_upstream_hash_module \
--without-stream_upstream_least_conn_module \
--without-stream_upstream_zone_module \
--with-cc-opt='-g -O2 -ffunction-sections -fdata-sections -fstack-protector-strong --param=ssp-buffer-size=4 -Wp,-D_FORTIFY_SOURCE=2 -fPIC -Wformat -Werror=format-security' \
--with-ld-opt='-L/usr/local/lib -ljemalloc -pie -Wl,-Bsymbolic-functions,--gc-sections,--as-needed,-s,-z,relro,-z,now'
# --with-libatomic --with-cpp_test_module
# --without-http --without-http-cache --without-pcre
# --without-http_charset_module --without-http_gzip_module --without-http_ssi_module --without-http_mirror_module
# --without-http_referer_module --without-http_rewrite_module --without-http_proxy_module --without-http_grpc_module
#--without-http_memcached_module --without-http_limit_conn_module --without-http_limit_req_module --without-http_empty_gif_module
make install -j`nproc`
cd -
rm -fR $PWD
#!/bin/sh
V=1.8.2
set -e
hash wget unzip >&-
cd $(mktemp -d)
wget https://github.com/ninja-build/ninja/releases/download/v$V/ninja-linux.zip
unzip -od /usr/local/bin ninja-linux.zip
rm -fR $PWD
#!/bin/sh
V=8.42
# CMAKE BUILD DOES NOT HANDLE PC FILES
# BZip2 ZLIB Readline Editline
# --enable-utf8 install-binPROGRAMS install-libLTLIBRARIES
# -DPCRE_BUILD_PCRECPP=0 -DPCRE_BUILD_PCREGREP=0
set -e
hash wget cmake ninja ${CC:-cc} ${CXX:-c++} ${LD:-ld} ldconfig >&-
cd $(mktemp -d)
wget https://ftp.pcre.org/pub/pcre/pcre-$V.tar.bz2
tar xf pcre-$V.tar.bz2
cd pcre-$V
mkdir build
cd build
cmake .. -GNinja \
-DBUILD_SHARED_LIBS=1 \
-DPCRE_BUILD_PCRE16=1 \
-DPCRE_BUILD_PCRE32=1 \
-DPCRE_SUPPORT_JIT=1 \
-DPCRE_SUPPORT_UNICODE_PROPERTIES=1 \
-DPCRE_SUPPORT_UTF=1
# -DPCRE_MATCH_LIMIT_RECURSION=8129
# PCRE_EBCDIC=0 PCRE_EBCDIC_NL25=0
# PCRE_BUILD_PCRE8=0 PCRE_BUILD_PCRECPP=1 PCRE_BUILD_PCREGREP=1 PCRE_BUILD_TESTS=1
# PCRE_SUPPORT_LIBZ=1 PCRE_SUPPORT_PCREGREP_JIT=1 PCRE_SUPPORT_VALGRIND=0
ninja
#ninja test # FAILS ON ALPINE
# 1/6 Test #1: pcre_test ........................***Failed 1.55 sec
# 3/6 Test #3: pcre_jit_test ....................***Exception: SegFault 0.01 sec
ninja install
#ldconfig
cd ..
./configure --enable-pcre16 --enable-pcre32 --enable-jit --enable-utf --enable-unicode-properties
make install-binSCRIPTS install-pkgconfigDATA
cd ..
rm -fR $PWD
#!/bin/sh
V=1.5.1
# atf kyua
set -e
for k in git cmake ninja ${CC:-cc} ${LD:-ld} ldconfig
do hash $k 1>&-
done
cd $(mktemp -d)
git clone https://github.com/pkgconf/pkgconf.git --branch pkgconf-$V
cd *
mkdir build
cd build
cmake .. -GNinja
ninja
ninja install
ldconfig
ln -sf pkgconf /usr/local/bin/pkg-config
cd ../..
rm -fR $PWD
#!/bin/sh
V=1.3.0
# protobuf_CFLAGS protobuf_LIBS
set -e
for k in curl tar make ${CC:-cc} ${CXX:-c++} ${LD:-ld}
do hash $k 1>&-
done
cd $(mktemp -d)
wget https://github.com/protobuf-c/protobuf-c/releases/download/v$V/protobuf-c-$V.tar.gz
tar xf protobuf-c-$V.tar.gz
cd protobuf-c-$V
./configure # --disable-protoc --enable-valgrind-tests --enable-code-coverage
make install LIBRARY_PATH=/usr/local/lib
cd -
rm -fR $PWD
#!/bin/sh
V=3.6.0.1
# --with-zlib [default=check]
set -e
for k in git make m4 autoreconf aclocal libtoolize ${CC:-cc} ${CXX:-c++} ${LD:-ld} nproc
do hash $k 1>&-
done
cd $(mktemp -d)
#wget https://github.com/google/protobuf/releases/download/v$V/protobuf-cpp-$V.tar.gz
#tar xf protobuf-cpp-$V.tar.gz
#cd protobuf-$V
git clone https://github.com/google/protobuf.git --branch v$V
cd protobuf
sh autogen.sh
./configure
make -j`nproc` install
cd -
rm -fR $PWD
#!/bin/sh
# NOT WORKINGI FOR NOW
V=1.10.1
set -e
hash git make qmake ${CC:-cc} ${LD:-ld} nproc >&-
cd $(mktemp -d)
git clone https://github.com/qbs/qbs.git --branch v$V
cd qbs
qmake -r qbs.pro qbs_enable_unit_tests=1
# qbs_enable_project_file_updates (QtGUI)
make -j`nproc` test
make install INSTALL_ROOT=/usr/local
cd -
rm -fR $PWD
#!/bin/sh
V=4.0.10
set -e
hash git make ${CC:-cc} ${LD:-ld} ldd grep nproc >&-
cd $(mktemp -d)
git clone https://github.com/antirez/redis.git --branch $V
cd redis
ldd --version | grep -qi musl
if test $? = 0; then
sed -i -e '/integration\/aof/d' \
-e '/integration\/logging/d' \
ests/test_helper.tcl
MALLOC=libc # Default is jemalloc
fi
make test -j`nproc`
make install # INSTALL_BIN V=1
cd -
rm -fR $PWD
#!/bin/sh
V=4.5
set -e
hash wget make ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/sed/sed-$V.tar.xz
tar xf sed-$V.tar.xz
cd sed-$V
./configure
make
cd -
rm -fR $PWD
#!/bin/sh
V=3250200
# YOU CANNOT COMPILE WITH ONLY 512MB OF RAM!
# LT_SYS_LIBRARY_PATH - User-defined run-time library search path.
set -e
hash wget tar make ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://sqlite.org/2018/sqlite-autoconf-${V}00.tar.gz
tar xf sqlite-autoconf-${V}00.tar.gz
cd *
./configure --enable-fts5 --enable-json1 --enable-session
make install
cd -
rm -fR $PWD
#!/bin/sh
# USELESS: USE GETDNS
# getdns libressl
V=0.2.2
set -e
for k in git autoreconf makeinfo make ${CC:-cc} ${LD:-ld}
do hash $k 1>&-
done
cd $(mktemp -d)
git clone https://github.com/getdnsapi/stubby.git --branch v$V # --branch=release/0.2.2
cd stubby
autoreconf -i
./configure
cd -
rm -fR $PWD
#!/bin/sh
V=1.2.11
set -e
hash git cmake ninja ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
wget http://ftp.gnu.org/gnu/tar/tar-1.30.cpio.gz
#!/bin/sh
V=0.20
# ncurses
set -e
for k in wget tar make ${CC:-cc} ${LD:-ld}
do hash $k 1>&-
done
cd $(mktemp -d)
wget http://www.leonerd.org.uk/code/libtermkey/libtermkey-$V.tar.gz
tar xf libtermkey-$V.tar.gz
cd libtermkey-$V
make test install-inc install-lib LIBRARY_PATH=/usr/local/lib
cd -
rm -fR $PWD
#!/bin/sh
V=6.5
set -e
hash wget tar automake autoconf make >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/texinfo/texinfo-$V.tar.xz
tar xf texinfo-$V.tar.xz
cd texinfo-$V
./configure
make install
cd -
rm -fR $PWD
#!/sbin/openrc-run
pidfile="/run/umurmurd.pid"
extra_commands=configtest
depend() {
need nginx
}
#start_pre() {
# checkpath -d -o umurmur ${pidfile%/*}
#}
start() {
umurmurd -p ${pidfile}
}
configtest() {
umurmurd -t
}
#!/bin/sh
V= #0.2.17
# mbedTLS Libconfig ProtobufC
set -e
hash git cmake ninja ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
# Until https://github.com/umurmur/umurmur/pull/122 get merged
git clone https://github.com/mirolm/umurmur.git --branch ${V:-master}
cd umurmur
mkdir build
cd build
cmake .. -G Ninja \
-DSSL=mbedtls \
-DUSE_MBEDTLS_HAVEGE=On
# USE_SHAREDMEMORY_API=0
# openssl for LibreSSL
ninja install
cd ../..
rm -fR $PWD
#!/bin/sh
V=2.0.0
set -e
for k in git libtool sed ${CC:-cc} ${LD:-ld} ldconfig
do hash $k 1>&-
done
cd $(mktemp -d)
git clone https://github.com/mauke/unibilium.git --branch v$V
cd unibilium
make test install-inc install-lib
ldconfig # Otherwise, in termkey libunibilium.so.4: cannot open shared object file
cd -
rm -fR $PWD
## Build static library
#libtool --mode=compile --tag=CC cc -I. -Wall -std=c99 -O2 -o unibilium.lo -c unibilium.c
#libtool --mode=compile --tag=CC cc -I. -Wall -std=c99 -O2 -o uninames.lo -c uninames.c
#libtool --mode=compile --tag=CC cc -I. -Wall -std=c99 -O2 -o uniutil.lo -c uniutil.c -DTERMINFO_DIRS='"/etc/terminfo:/lib/terminfo:/usr/share/terminfo:/usr/lib/terminfo:/usr/local/share/terminfo:/usr/local/lib/terminfo"'
## Build shared library
## REQUIRES GCC! WATHOUT, NASTY HACK!
#ln -s /usr/bin/cc gcc
#PATH=$PATH:. libtool --mode=link --tag=CC ${CC:-cc} -rpath /usr/local/lib -version-info 3:1:3 -o libunibilium.la unibilium.lo uninames.lo uniutil.lo
## Install library
#libtool --mode=install cp libunibilium.la /usr/local/lib/libunibilium.la
## Install header
#install -m644 unibilium.h /usr/local/include
## unix.stackexchange.com/a/283427
#sed "s,@VERSION@,$UNIBILIUM,;s,@LIBDIR@,/usr/local/lib,;s,@INCDIR@,/usr/local/include,;"w/usr/local/lib/pkgconfig/unibilium.pc unibilium.pc.in
#!/bin/sh
set -e
for k in git make ${CC:-cc} ${LD:-ld}
do hash $k 1>&-
done
cd $(mktemp -d)
#curl https://bazaar.launchpad.net/~libvterm/libvterm/trunk/tarball/head: | tar xz
#cd ~libvterm/libvterm/trunk
git clone https://github.com/neovim/libvterm.git
cd libvterm
make test
make install
cd -
rm -fR $PWD
#!/bin/sh
V=1.19.5
set -e
hash git cmake ninja ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
wget https://ftp.gnu.org/gnu/wget/wget-$V.tar.lz
tar xf wget-$V.tar.lz
cd wget-$V
#!/bin/sh
V=1.2.11
set -e
hash git cmake ninja ${CC:-cc} ${LD:-ld} >&-
cd $(mktemp -d)
git clone https://github.com/madler/zlib.git --branch v$V
cd *
mkdir build
cd build
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release
# AMD64=0 ASM686=0
# LIBRARY_OUTPUT_PATH
ninja
ninja test
ninja install
cd ../..
rm -fR $PWD
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment