Built curl, expat, and gettext, and added git

This commit is contained in:
Alexander Hill 2026-01-18 15:55:55 -05:00
parent dc84a744bf
commit d6e538f62e
9 changed files with 92 additions and 17 deletions

View File

@ -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 |

View File

@ -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 |

View File

@ -1,9 +1,16 @@
#!/bin/sh -e
# Usage: ./licensebar.sh <copyleft count> <slightly copyleft count> <free count> <mixed count> <slightly copyright count> <copyright count>
# 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 "<svg height=\"$BAR_HEIGHT\" version=\"1.1\" width=\"$BAR_WIDTH\" xmlns=\"http://www.w3.org/2000/svg\">"
echo "<rect fill=\"black\" height=\"100%\" width=\"100%\" />"
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 "</svg>"

View File

@ -1,9 +1,9 @@
<svg height="16" version="1.1" width="1024" xmlns="http://www.w3.org/2000/svg">
<rect fill="black" height="100%" width="100%" />
<rect fill="blue" height="10" width="545" x="3" y="3" />
<rect fill="cornflowerblue" height="10" width="95" x="548" y="3" />
<rect fill="white" height="10" width="355" x="643" y="3" />
<rect fill="mediumpurple" height="10" width="0" x="998" y="3" />
<rect fill="indianred" height="10" width="24" x="998" y="3" />
<rect fill="crimson" height="10" width="0" x="1022" y="3" />
<rect fill="blue" height="10" width="541" x="3" y="3" />
<rect fill="cornflowerblue" height="10" width="87" x="544" y="3" />
<rect fill="white" height="10" width="368" x="631" y="3" />
<rect fill="mediumpurple" height="10" width="0" x="999" y="3" />
<rect fill="indianred" height="10" width="22" x="999" y="3" />
<rect fill="crimson" height="10" width="0" x="1021" y="3" />
</svg>

Before

Width:  |  Height:  |  Size: 510 B

After

Width:  |  Height:  |  Size: 510 B

View File

@ -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"

18
sources/curl/curl.spec Normal file
View File

@ -0,0 +1,18 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
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
}

13
sources/expat/expat.spec Normal file
View File

@ -0,0 +1,13 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
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
}

View File

@ -0,0 +1,13 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
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
}

14
sources/git/git.spec Normal file
View File

@ -0,0 +1,14 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
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
}