Built libffi, libyaml, liquid, and Ruby

This commit is contained in:
Alexander Hill 2026-01-24 13:03:55 -05:00
parent d81eed7185
commit a9f255e5f5
9 changed files with 135 additions and 68 deletions

View File

@ -22,58 +22,7 @@ Maple Linux is built upon software created by various developers, and is distrib
![Licensing Summary](licensebar.svg)
| Software | Copyright Holder | License | Alignment |
| ----------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------------- | ------------------ |
| Autoconf | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| Automake | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| GNU bc | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| Berkeley Yacc | Public Domain | Public Domain | Free |
| 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 |
| initramfs-tools | Various | GNU General Public License version 2 | Copyleft |
| kmod | Various | GNU Lesser General Public License version 2.1 | Copyleft |
| libarchive | Tim Kientzle | Mostly BSD 2-Clause license | Free |
| libcap | Andrew G. Morgan | BSD 3-Clause license *or* GNU General Public License version 2 | Slightly Copyleft |
| libelf | Various | GNU General Public License version 2 *and* GNU Lesser General Public License version 3 | Copyleft |
| LibreSSL | Various | Various | Free |
| The GNU Portable Library Tool | Free Software Foundation, Inc. | GNU General Public License version 2 | Copyleft |
| Limine | Mintsuki and Contributors | BSD 2-Clause license | Free |
| Linux | Linus Torvalds and Contributors | Mostly GNU General Public License version 2 with Linux Syscall Note | Copyleft |
| LLVM | Various | Mostly Apache License version 2.0 with LLVM exceptions | Free |
| GNU m4 | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| GNU Make | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| Maple Linux Bootstrap Scripts | Alexander Hill, Nicholas McDaniel, and Contributors | ISC License | Free |
| Mawk | Various | GNU General Public License version 2 | Copyleft |
| muon | Stone Tickle and Contributors | GNU General Public License version 3 | Copyleft |
| musl | Rich Felker and Contributors | Mostly MIT License | Slightly Copyright |
| GNU nano | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| The Netwide Assembler | "The NASM Authors" | BSD 2-Clause license | Free |
| New Curses | Thomas E. Dickey and Free Software Foundation, Inc. | Modified MIT License | Free |
| OpenRC | Roy Marples and the OpenRC authors | BSD 2-Clause license | Free |
| GNU patch | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| Perl | Larry Wall and others | GNU General Public License version 1 | Copyleft |
| pkgconf | Various | ISC License | Free |
| Python | Python Software Foundation, BeOpen, and CWI | Python Software Foundation License Version 2 | Copyleft |
| GNU sed | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| GNU tar | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| xz | Various | Mostly BSD 0-Clause license | Slightly Copyleft |
| Zlib | Jean-loup Gailly and Mark Adler | Zlib License | Free |
| Zsh | The Zsh development group | Mostly MIT License (Modern Variant) | Slightly Copyleft |
If any of the information listed above is inaccurate, please submit a patch to correct the README. ~ahill
For more information about the software included in this project and its licensing, see [SOFTWARE.md](./SOFTWARE.md).
### Filesystem Hierarchy

56
SOFTWARE.md Normal file
View File

@ -0,0 +1,56 @@
| Software | Copyright Holder | License | Alignment |
| ----------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------------- | ------------------ |
| Autoconf | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| Automake | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| GNU bc | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| Berkeley Yacc | Public Domain | Public Domain | Free |
| 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 |
| initramfs-tools | Various | GNU General Public License version 2 | Copyleft |
| kmod | Various | GNU Lesser General Public License version 2.1 | Copyleft |
| libarchive | Tim Kientzle | Mostly BSD 2-Clause license | Free |
| libcap | Andrew G. Morgan | BSD 3-Clause license *or* GNU General Public License version 2 | Slightly Copyleft |
| libelf | Various | GNU General Public License version 2 *and* GNU Lesser General Public License version 3 | Copyleft |
| libffi | Anthony Green, Red Hat, Inc and others | MIT License | Free |
| LibreSSL | Various | Various | Free |
| libyaml | Ingy döt Net and Kirill Simonov | MIT License | Free |
| The GNU Portable Library Tool | Free Software Foundation, Inc. | GNU General Public License version 2 | Copyleft |
| Limine | Mintsuki and Contributors | BSD 2-Clause license | Free |
| Linux | Linus Torvalds and Contributors | Mostly GNU General Public License version 2 with Linux Syscall Note | Copyleft |
| Liquid template engine | Tobias Luetke | MIT License | Free |
| LLVM | Various | Mostly Apache License version 2.0 with LLVM exceptions | Free |
| GNU m4 | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| GNU Make | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| Maple Linux Bootstrap Scripts | Alexander Hill, Nicholas McDaniel, and Contributors | ISC License | Free |
| Mawk | Various | GNU General Public License version 2 | Copyleft |
| muon | Stone Tickle and Contributors | GNU General Public License version 3 | Copyleft |
| musl | Rich Felker and Contributors | Mostly MIT License | Slightly Copyright |
| GNU nano | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| The Netwide Assembler | "The NASM Authors" | BSD 2-Clause license | Free |
| New Curses | Thomas E. Dickey and Free Software Foundation, Inc. | Modified MIT License | Free |
| OpenRC | Roy Marples and the OpenRC authors | BSD 2-Clause license | Free |
| GNU patch | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| Perl | Larry Wall and others | GNU General Public License version 1 | Copyleft |
| pkgconf | Various | ISC License | Free |
| Python | Python Software Foundation, BeOpen, and CWI | Python Software Foundation License Version 2 | Copyleft |
| Ruby | Various | Various | Mixed |
| GNU sed | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| GNU tar | Free Software Foundation, Inc. | GNU General Public License version 3 | Copyleft |
| xz | Various | Mostly BSD 0-Clause license | Slightly Copyleft |
| Zlib | Jean-loup Gailly and Mark Adler | Zlib License | Free |
| Zsh | The Zsh development group | Mostly MIT License (Modern Variant) | Slightly Copyleft |
If any of the information listed above is inaccurate, please send me an e-mail or submit a patch and it will be corrected. ~ahill

View File

@ -38,14 +38,15 @@ Definitions:
| `libarchive` | Yes | Yes |
| `libcap2` | Yes | Yes |
| `libelf` | Yes | Yes |
| `libffi` | Yes | Yes |
| `libmnl` |
| `libnftnl` |
| `libressl` | Yes | Yes |
| `libtool` | Yes | Yes |
| `libyaml` |
| `libyaml` | Yes | Yes |
| `limine` | Yes | Yes |
| `linux` | Yes | Yes |
| `liquid` |
| `liquid` | Yes | Yes |
| `llvm` | Yes | No |
| `m4` | Yes | Yes |
| `make` | Yes | Yes |
@ -63,7 +64,7 @@ Definitions:
| `pkgconf` | Yes | Yes |
| `pipewire` |
| `python` | Yes | Yes |
| `ruby` |
| `ruby` | Yes | Yes |
| `sed` | Yes | Yes |
| `shadow` |
| `tar` | Yes | Yes |

View File

@ -1,12 +1,12 @@
#!/bin/sh -e
# Usage: ./licensebar.sh
# Usage: ./licensebar.sh > licensebar.svg
# 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)
COPYLEFT_COUNT=$(grep "| Copyleft " SOFTWARE.md | wc -l)
SLIGHTLY_COPYLEFT_COUNT=$(grep "| Slightly Copyleft " SOFTWARE.md | wc -l)
FREE_COUNT=$(grep "| Free " SOFTWARE.md | wc -l)
MIXED_COUNT=$(grep "| Mixed " SOFTWARE.md | wc -l)
SLIGHTLY_COPYRIGHT_COUNT=$(grep "| Slightly Copyright |" SOFTWARE.md | wc -l)
COPYRIGHT_COUNT=$(grep "| Copyright " SOFTWARE.md | wc -l)
BAR_BORDER=3
BAR_HEIGHT=16

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="551" x="3" y="3" />
<rect fill="cornflowerblue" height="10" width="85" x="554" y="3" />
<rect fill="white" height="10" width="361" x="639" y="3" />
<rect fill="mediumpurple" height="10" width="0" x="1000" y="3" />
<rect fill="indianred" height="10" width="21" x="1000" y="3" />
<rect fill="crimson" height="10" width="0" x="1021" y="3" />
<rect fill="blue" height="10" width="509" x="3" y="3" />
<rect fill="cornflowerblue" height="10" width="78" x="512" y="3" />
<rect fill="white" height="10" width="392" x="590" y="3" />
<rect fill="mediumpurple" height="10" width="20" x="982" y="3" />
<rect fill="indianred" height="10" width="20" x="1002" y="3" />
<rect fill="crimson" height="10" width="0" x="1022" y="3" />
</svg>

Before

Width:  |  Height:  |  Size: 512 B

After

Width:  |  Height:  |  Size: 512 B

View File

@ -0,0 +1,13 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="f3a3082a23b37c293a4fcd1053147b371f2ff91fa7ea1b2a52e335676bac82dc"
SRC_NAME="libffi"
SRC_URL="https://github.com/libffi/libffi/releases/download/v3.5.2/libffi-3.5.2.tar.gz"
SRC_VERSION="3.5.2"
build() {
tar xf ../$SRC_FILENAME
cd libffi-$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="c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4"
SRC_NAME="libyaml"
SRC_URL="https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz"
SRC_VERSION="0.2.5"
build() {
tar xf ../$SRC_FILENAME
cd yaml-$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,19 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="f3314240c846140d7be742e405882302f01dbecc51b8dd44d97cdad62d978f03"
SRC_NAME="liquid"
SRC_URL="https://github.com/Shopify/liquid/archive/refs/tags/v5.11.0.tar.gz"
SRC_VERSION="5.11.0"
SRC_FILENAME="$SRC_NAME-$SRC_VERSION.tar.gz"
build() {
tar xf ../$SRC_FILENAME
cd liquid-$SRC_VERSION/
gem build liquid.gemspec
gem install \
--install-dir $TT_INSTALLDIR/lib/ruby/gems/4.0.0 \
--local \
--ignore-dependencies \
--verbose \
./liquid-$SRC_VERSION.gem
}

16
sources/ruby/ruby.spec Normal file
View File

@ -0,0 +1,16 @@
# Maintainer: Alexander Hill <ahill@breadpudding.dev>
SRC_HASH="3924be2d05db30f4e35f859bf028be85f4b7dd01714142fd823e4af5de2faf9d"
SRC_NAME="ruby"
SRC_URL="https://cache.ruby-lang.org/pub/ruby/4.0/ruby-4.0.1.tar.gz"
SRC_VERSION="4.0.1"
build() {
tar xf ../$SRC_FILENAME
cd ruby-$SRC_VERSION/
# NOTE: Yes, Ruby has a configuration script already, but it lacks the
# --enable-year2038 option, so we rebuild it. ~ahill
./autogen.sh
./configure $TT_AUTOCONF_COMMON --enable-year2038 --without-gcc
make -O -j $TT_PROCS
make -O -j $TT_PROCS install DESTDIR=$TT_INSTALLDIR
}