From ed04c184c54f443047bb6ab7dc4840cb0957507f Mon Sep 17 00:00:00 2001 From: YellowJacketLinux Date: Wed, 16 Oct 2024 14:02:51 -0700 Subject: [PATCH] libuv/nghttp2 --- 16-libuv.sh | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ 17-nghttp2.sh | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 18 +++++++++++++++- 3 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 16-libuv.sh create mode 100644 17-nghttp2.sh diff --git a/16-libuv.sh b/16-libuv.sh new file mode 100644 index 0000000..de92cfb --- /dev/null +++ b/16-libuv.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +if [ "`whoami`" == "root" ]; then + echo "Danger, Will Robinson!" + echo "Do not execute me as r00t" + exit 1 +fi + +TARBALL="libuv-v1.49.1.tar.gz" +DNL="https://dist.libuv.org/dist/v1.49.1/libuv-v1.49.1.tar.gz" +SHA256="8d84f714f4cfd167b1576a58b82430cc2166ef135463d0644964fd71c61a6766" + +[ -d libuv-v1.49.1 ] && rm -rf libuv-v1.49.1 + +if [ ! -f ${TARBALL} ]; then + wget ${DNL} + if [ $? -ne 0 ]; then + echo "Could not retrieve ${DNL}" + echo "Sorry." + exit 1 + fi +fi + +CHECK="`sha256sum ${TARBALL} |awk ' { print $1 } ' `" +if [ "${CHECK}" != "${SHA256}" ]; then + echo "${TARBALL} does not match expected SHA256. Sorry." + exit 1 +fi + +tar -zxf ${TARBALL} && cd libuv-v1.49.1 +unset ACLOCAL +sh autogen.sh +if [ $? -ne 0 ]; then + echo "Autogen script failed for libuv. Sorry." + exit 1 +fi +./configure --prefix=/usr --disable-static +if [ $? -ne 0 ]; then + echo "Configure script failed for libuv. Sorry." + exit 1 +fi + +make +if [ $? -ne 0 ]; then + echo "Failed building libuv. Sorry." + exit 1 +fi + +echo "running make check" +make check > libuv.check.log 2>&1 + +echo +echo "Inspect libuv-v1.49.1/libuv.check.log and if okay, as root run:" +echo +echo " cd libuv-v1.49.1" +echo " make install" +echo diff --git a/17-nghttp2.sh b/17-nghttp2.sh new file mode 100644 index 0000000..8c4fadb --- /dev/null +++ b/17-nghttp2.sh @@ -0,0 +1,56 @@ +#!/bin/bash + +if [ "`whoami`" == "root" ]; then + echo "Danger, Will Robinson!" + echo "Do not execute me as r00t" + exit 1 +fi + +TARBALL="nghttp2-1.63.0.tar.xz" +DNL="https://github.com/nghttp2/nghttp2/releases/download/v1.63.0/nghttp2-1.63.0.tar.xz" +SHA256="4879c75dd32a74421b9857924449460b8341796c0613ba114ab2188e4622354b" + +[ -d nghttp2-1.63.0 ] && rm -rf nghttp2-1.63.0 + +[ -d libgcrypt-1.11.0 ] && rm -rf libgcrypt-1.11.0 + +if [ ! -f ${TARBALL} ]; then + wget ${DNL} + if [ $? -ne 0 ]; then + echo "Could not retrieve ${DNL}" + echo "Sorry." + exit 1 + fi +fi + +CHECK="`sha256sum ${TARBALL} |awk ' { print $1 } ' `" +if [ "${CHECK}" != "${SHA256}" ]; then + echo "${TARBALL} does not match expected SHA256. Sorry." + exit 1 +fi + +tar -Jxf ${TARBALL} && cd nghttp2-1.63.0 + +./configure --prefix=/usr \ + --disable-static \ + --enable-lib-only \ + --docdir=/usr/share/doc/nghttp2-1.63.0 +if [ $? -ne 0 ]; then + echo "Configure script failed for nghttp2. Sorry." + exit 1 +fi + +make +if [ $? -ne 0 ]; then + echo "Failed building nghttp2. Sorry." + exit 1 +fi + +echo "running make check" +make check > nghttp2.check.log 2>&1 + +echo "Inspect nghttp2-1.63.0/nghttp2.check.log and if okay, as root:" +echo +echo " cd nghttp2-1.63.0" +echo " make install" +echo diff --git a/README.md b/README.md index 4a11baa..038558c 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ Justification: Needed to build libxml2. No build dependencies outside of LFS. Dependency Seven: libxml2 ------------------------- -Justification: Needed for libarchive. Depends on ICU. +Justification: Needed for libarchive and CMake. Depends on ICU. * Script: [`07-libxml2.sh`](07-libxml2.sh) * Status: Script Works @@ -149,3 +149,19 @@ Justification: Needed to build GnuPG. No dependencies outside of LFS. * Script: [`15-npth.sh`](15-npth.sh) * Status: Script Untested + +Dependency Sixteen: libuv +------------------------- + +Justification: Needed to build CMake. No dependencies outside of LFS. + +* Script: [`16-libuv.sh`](16-libuv.sh) +* Status: Script Untested + +Dependency Seventeen: nghttp2 +----------------------------- + +Justification: Needed to build CMake. Depends upon libxml2 to build. + +* Script: [`17-nghttp2.sh`](17-nghttp2.sh) +* Status: Script Untested