diff --git a/README.md b/README.md index c9ee01f..760c75f 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,15 @@ Maple Linux is built upon software created by various developers, and is distrib | bzip2 | Julian R. Seward | Modified Zlib license | Free | | CMake | Kitware, Inc. and Contributors | BSD 3-Clause license | Free | | Coreutils | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft | +| curl | Daniel Stenberg and many contributors | The curl license | Free | | Debian Almquist Shell | Various | Modified BSD 3-Clause license(?) *and* GNU General Public License version 3 | Slightly Copyleft | | GNU Diffutils | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft | +| Expat | Various | MIT License | Free | | GNU Find Utilities | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft | | Flex | Various | BSD 2-Clause license | Free | | fortune-mod | Various | BSD 4-Clause license | Free | +| gettext | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft | +| git | Linus Torvalds and Contributors | GNU General Public License version 2 | Copyleft | | GNU Grep | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft | | GNU roff | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft | | GNU Gzip | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft | diff --git a/STATUS.md b/STATUS.md index 2ba24dd..3243aad 100644 --- a/STATUS.md +++ b/STATUS.md @@ -14,14 +14,17 @@ Definitions: | `chrony` | | `cmake` | Yes | Yes | | `coreutils` | Yes | Yes | +| `curl` | Yes | Yes | | `dash` | Yes | Yes | | `dhcpcd` | | `diffutils` | Yes | Yes | +| `expat` | Yes | Yes | | `findutils` | Yes | Yes | | `flatpak` | | `flex` | Yes | Yes | | `fortune-mod` | Yes | Yes | -| `gettext` | +| `gettext` | Yes | Yes | +| `git` | Yes | | `grep` | Yes | Yes | | `groff` | Yes | Yes | | `gzip` | Yes | Yes | diff --git a/licensebar.sh b/licensebar.sh index 3932527..8068213 100755 --- a/licensebar.sh +++ b/licensebar.sh @@ -1,9 +1,16 @@ #!/bin/sh -e -# Usage: ./licensebar.sh +# Usage: ./licensebar.sh # Yes, this is cursed, but it was the simplest way I could think of automating this. ~ahill +COPYLEFT_COUNT=$(grep "| Copyleft " README.md | wc -l) +SLIGHTLY_COPYLEFT_COUNT=$(grep "| Slightly Copyleft " README.md | wc -l) +FREE_COUNT=$(grep "| Free " README.md | wc -l) +MIXED_COUNT=$(grep "| Mixed " README.md | wc -l) +SLIGHTLY_COPYRIGHT_COUNT=$(grep "| Slightly Copyright |" README.md | wc -l) +COPYRIGHT_COUNT=$(grep "| Copyright " README.md | wc -l) + BAR_BORDER=3 BAR_HEIGHT=16 -BAR_TOTAL=$(expr $1 + $2 + $3 + $4 + $5 + $6) +BAR_TOTAL=$(expr $COPYLEFT_COUNT + $SLIGHTLY_COPYLEFT_COUNT + $FREE_COUNT + $MIXED_COUNT + $SLIGHTLY_COPYRIGHT_COUNT + $COPYRIGHT_COUNT) BAR_WIDTH=1024 BAR_END=$(expr $BAR_WIDTH - $BAR_BORDER) @@ -19,11 +26,11 @@ render_segment() { echo "" echo "" -render_segment blue $1 -render_segment cornflowerblue $2 -render_segment white $3 -render_segment mediumpurple $4 -render_segment indianred $5 -render_segment crimson $6 +render_segment blue $COPYLEFT_COUNT +render_segment cornflowerblue $SLIGHTLY_COPYLEFT_COUNT +render_segment white $FREE_COUNT +render_segment mediumpurple $MIXED_COUNT +render_segment indianred $SLIGHTLY_COPYRIGHT_COUNT +render_segment crimson $COPYRIGHT_COUNT echo "" diff --git a/licensebar.svg b/licensebar.svg index 6a84617..46d4f01 100644 --- a/licensebar.svg +++ b/licensebar.svg @@ -1,9 +1,9 @@ - - - - - - + + + + + + diff --git a/rootbuild.sh b/rootbuild.sh index 279789b..fca3bdf 100755 --- a/rootbuild.sh +++ b/rootbuild.sh @@ -59,9 +59,12 @@ echo "Done!" # NOTE: Linux requires bc, byacc, flex, kmod, ... ~ahill # NOTE: Limine requires nasm to build. ~ahill # NOTE: OpenRC requires libcap2 and muon to build. ~ahill +# NOTE: curl requires LibreSSL and zlib to build. ~ahill +# NOTE: gettext requires ncurses to build. ~ahill +# NOTE: git requires curl, expat, and gettext to build. ~ahill cd /maple -LAYER0="bc byacc bzip2 coreutils diffutils findutils grep gzip initramfs-tools libressl m4 make mawk muon musl ncurses patch perl pkgconf sed tar xz zlib zsh" -LAYER1="autoconf automake flex groff libarchive libcap2 libelf libtool nano openrc" +LAYER0="bc byacc bzip2 coreutils diffutils expat findutils grep gzip initramfs-tools libressl m4 make mawk muon musl ncurses patch perl pkgconf sed tar xz zlib zsh" +LAYER1="autoconf automake curl flex gettext groff libarchive libcap2 libelf libtool nano openrc" LAYER2="cmake dash fortune-mod kmod nasm" LAYER3="limine linux" PACKAGES="$LAYER0 $LAYER1 $LAYER2 $LAYER3" diff --git a/sources/curl/curl.spec b/sources/curl/curl.spec new file mode 100644 index 0000000..a3889bc --- /dev/null +++ b/sources/curl/curl.spec @@ -0,0 +1,18 @@ +# Maintainer: Alexander Hill +SRC_HASH="40df79166e74aa20149365e11ee4c798a46ad57c34e4f68fd13100e2c9a91946" +SRC_NAME="curl" +SRC_URL="https://curl.se/download/curl-8.18.0.tar.xz" +SRC_VERSION="8.18.0" + +build() { + tar xf ../$SRC_FILENAME + cd curl-$SRC_VERSION/ + ./configure $TT_AUTOCONF_COMMON \ + --disable-libgcc \ + --disable-static \ + --enable-optimize \ + --with-openssl \ + --without-libpsl + make -j $TT_PROCS + make -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR +} \ No newline at end of file diff --git a/sources/expat/expat.spec b/sources/expat/expat.spec new file mode 100644 index 0000000..ca924a9 --- /dev/null +++ b/sources/expat/expat.spec @@ -0,0 +1,13 @@ +# Maintainer: Alexander Hill +SRC_HASH="71df8f40706a7bb0a80a5367079ea75d91da4f8c65c58ec59bcdfbf7decdab9f" +SRC_NAME="expat" +SRC_URL="https://github.com/libexpat/libexpat/releases/download/R_2_7_3/expat-2.7.3.tar.xz" +SRC_VERSION="2.7.3" + +build() { + tar xf ../$SRC_FILENAME + cd expat-$SRC_VERSION/ + ./configure $TT_AUTOCONF_COMMON --disable-static + make -O -j $TT_PROCS + make -O -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR +} \ No newline at end of file diff --git a/sources/gettext/gettext.spec b/sources/gettext/gettext.spec new file mode 100644 index 0000000..9a37931 --- /dev/null +++ b/sources/gettext/gettext.spec @@ -0,0 +1,13 @@ +# Maintainer: Alexander Hill +SRC_HASH="39acf4b0371e9b110b60005562aace5b3631fed9b1bb9ecccfc7f56e58bb1d7f" +SRC_NAME="gettext" +SRC_URL="https://ftp.gnu.org/pub/gnu/gettext/gettext-0.26.tar.gz" +SRC_VERSION="0.26" + +build() { + tar xf ../$SRC_FILENAME + cd gettext-$SRC_VERSION/ + ./configure $TT_AUTOCONF_COMMON --disable-static --enable-year2038 + make -O -j $TT_PROCS + make -O -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR +} \ No newline at end of file diff --git a/sources/git/git.spec b/sources/git/git.spec new file mode 100644 index 0000000..377d814 --- /dev/null +++ b/sources/git/git.spec @@ -0,0 +1,14 @@ +# Maintainer: Alexander Hill +SRC_HASH="3cd8fee86f69a949cb610fee8cd9264e6873d07fa58411f6060b3d62729ed7c5" +SRC_NAME="git" +SRC_URL="https://www.kernel.org/pub/software/scm/git/git-2.52.0.tar.xz" +SRC_VERSION="2.52.0" + +build() { + tar xf ../$SRC_FILENAME + cd git-$SRC_VERSION/ + # TODO: What breaks if I pass NO_CURL or NO_EXPAT? ~ahill + make -j $TT_PROCS NO_REGEX=NeedsStartEnd NO_TCLTK=1 + # TODO: How do we tell git where to install components? ~ahill + make -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR NO_REGEX=NeedsStartEnd NO_TCLTK=1 +} \ No newline at end of file