diff options
| author | Alexander Hill <ahill@breadpudding.dev> | 2025-08-02 17:20:07 -0400 |
|---|---|---|
| committer | Alexander Hill <ahill@breadpudding.dev> | 2025-08-02 17:20:07 -0400 |
| commit | ab0fbc1aca7509d24ba07f7d066a4d29e5908054 (patch) | |
| tree | 94a8e7f077d17b2dc99baad3105210966a08f803 /build-chroot.sh | |
| parent | 416257d5d663bb9391b5e70475d0ca4265bd8c73 (diff) | |
Attempted to build GTK
Diffstat (limited to 'build-chroot.sh')
| -rwxr-xr-x | build-chroot.sh | 250 |
1 files changed, 250 insertions, 0 deletions
diff --git a/build-chroot.sh b/build-chroot.sh index 9cca03f..643936c 100755 --- a/build-chroot.sh +++ b/build-chroot.sh @@ -1675,6 +1675,256 @@ make -j $THREADS make -j $THREADS install cd .. +# PCRE2 Build +tar xf ../sources/pcre2-*.tar* +cd pcre2-*/ +./configure \ + --bindir=/bin \ + --disable-static \ + --exec-prefix=/ \ + --libdir=/lib \ + --libexecdir=/lib \ + --localstatedir=/var \ + --prefix=/usr \ + --runstatedir=/run \ + --sbindir=/bin \ + --sysconfdir=/etc +make -O -j $THREADS +make -O -j $THREADS install +cd .. + +# gettext Build +# NOTE: I didn't want to include this initially, since this is just supposed to +# be the bootstrap, but since I've already started working on X11, why +# not? This should probably be placed earlier in the bootstrap so more +# software can take advantage of NLS/i18n. ~ahill +tar xf ../sources/gettext-*.tar* +cd gettext-*/ +./configure \ + --bindir=/bin \ + --disable-d \ + --disable-java \ + --disable-modula2 \ + --disable-static \ + --enable-year2038 \ + --exec-prefix=/ \ + --libdir=/lib \ + --libexecdir=/lib \ + --localstatedir=/var \ + --prefix=/usr \ + --runstatedir=/run \ + --sbindir=/bin \ + --sysconfdir=/etc +make -O -j $THREADS +make -O -j $THREADS install +cd .. + +# Glib Build +tar xf ../sources/glib-*.tar* +cd glib-*/ +# Another dependency that links directly to a git commit rather than a proper +# version number? Why isn't this just a part of Glib? ~ahill +cd subprojects +rm -rf gvdb/ +tar xf ../../../sources/gvdb-*.tar* +mv gvdb-*/ gvdb +# NOTE: If we don't delete the .wrap file, it attempts to clone from git, which +# fails, and causes the entire build to fail. ~ahill +rm -f gvdb.wrap +cd .. +muon setup \ + -Ddefault_library=shared \ + -Dprefix=/usr \ + build +muon samu -C build +muon -C build install +cd .. + +# libpng Build +tar xf ../sources/libpng-*.tar* +cd libpng-*/ +./configure \ + --bindir=/bin \ + --disable-static \ + --enable-intel-sse \ + --exec-prefix=/ \ + --libdir=/lib \ + --libexecdir=/lib \ + --localstatedir=/var \ + --prefix=/usr \ + --runstatedir=/run \ + --sbindir=/bin \ + --sysconfdir=/etc +make -O -j $THREADS +make -O -j $THREADS install +cd .. + +# gperf Build +tar xf ../sources/gperf-*.tar* +cd gperf-*/ +./configure \ + --bindir=/bin \ + --exec-prefix=/ \ + --libdir=/lib \ + --libexecdir=/lib \ + --localstatedir=/var \ + --prefix=/usr \ + --runstatedir=/run \ + --sbindir=/bin \ + --sysconfdir=/etc +make -O -j $THREADS +make -O -j $THREADS install +cd .. + +# fontconfig Build +tar xf ../sources/fontconfig-*.tar* +cd fontconfig-*/ +./configure \ + --bindir=/bin \ + --disable-docs \ + --disable-static \ + --enable-year2038 \ + --exec-prefix=/ \ + --libdir=/lib \ + --libexecdir=/lib \ + --localstatedir=/var \ + --prefix=/usr \ + --runstatedir=/run \ + --sbindir=/bin \ + --sysconfdir=/etc +make -O -j $THREADS +make -O -j $THREADS install +cd .. + +# Cairo Build +tar xf ../sources/cairo-*.tar* +cd cairo-*/ +# NOTE: Despite libpng and fontconfig being listed as optional dependencies, the +# build fails without them. ~ahill +muon setup -Dprefix=/usr build +muon samu -C build +muon -C build install +cd .. + +# Fribidi Build +tar xf ../sources/fribidi-*.tar* +cd fribidi-*/ +./configure \ + --bindir=/bin \ + --disable-static \ + --exec-prefix=/ \ + --libdir=/lib \ + --libexecdir=/lib \ + --localstatedir=/var \ + --prefix=/usr \ + --runstatedir=/run \ + --sbindir=/bin \ + --sysconfdir=/etc +make -O -j $THREADS +make -O -j $THREADS install +cd .. + +# HarfBuzz Build +tar xf ../sources/harfbuzz-*.tar* +cd harfbuzz-*/ +muon setup -Dprefix=/usr build +muon samu -C build +muon -C build install +cd .. + +# Pango Build +tar xf ../sources/pango-*.tar* +cd pango-*/ +muon setup -Dprefix=/usr build +muon samu -C build +muon -C build install +cd .. + +# libxml2 Build +tar xf ../sources/libxml2-*.tar* +cd libxml2-*/ +./autogen.sh \ + --bindir=/bin \ + --disable-static \ + --exec-prefix=/ \ + --libdir=/lib \ + --libexecdir=/lib \ + --localstatedir=/var \ + --prefix=/usr \ + --runstatedir=/run \ + --sbindir=/bin \ + --sysconfdir=/etc \ + --without-python +make -O -j $THREADS +make -O -j $THREADS install +cd .. + +# Shared MIME Info Build +tar xf ../sources/shared-mime-info-*.tar* +cd shared-mime-info-*/ +muon setup -Dprefix=/usr build +muon samu -C build +muon -C build install +cd .. + +# GDK Pixbuf Build +tar xf ../sources/gdk-pixbuf-*.tar* +cd gdk-pixbuf-*/ +# NOTE: GNOME encourages the use of Glycin on Linux to improve security, however +# it relies on the Rust programming language, which we do not have a +# compiler for. ~ahill +# See also: https://blogs.gnome.org/sophieh/2025/06/13/making-gnomes-gdkpixbuf-image-loading-safer/ +# FIXME: The thumbnailer is currently disabled due to a failure to build. I need +# to investigate what kind of witchcraft is happening inside of +# build/thumbnailer/gdk-pixbuf-print-mime-types. ~ahill +muon setup \ + -Dglycin=disabled \ + -Dgtk_doc=false \ + -Dman=false \ + -Dprefix=/usr \ + -Dthumbnailer=disabled \ + build +muon samu -C build +muon -C build install +cd .. + +# Tiff Build +tar xf ../sources/tiff-*.tar* +cd tiff-*/ +./configure \ + --bindir=/bin \ + --disable-docs \ + --disable-static \ + --enable-cxx \ + --exec-prefix=/ \ + --libdir=/lib \ + --libexecdir=/lib \ + --localstatedir=/var \ + --prefix=/usr \ + --runstatedir=/run \ + --sbindir=/bin \ + --sysconfdir=/etc +make -O -j $THREADS +make -O -j $THREADS install +cd .. + +# libjpeg-turbo Build +tar xf ../sources/libjpeg-turbo-*.tar* +cd libjpeg-turbo-*/ +cmake -B build . \ + -DCMAKE_INSTALL_BINDIR=/bin \ + -DCMAKE_INSTALL_LIBDIR=/lib \ + -DCMAKE_INSTALL_PREFIX=/usr +make -C build -j $THREADS +make -C build -j $THREADS install +cd .. + +# GTK Build +# FIXME: librsvg is required, but we don't have a Rust compiler to build it +# with! ~ahill +# FIXME: libepoxy has a known bug with this version of muon. See the Mesa build +# for more information. ~ahill + # Basic Configuration echo "root:x:0:0::/:/bin/zsh" > /etc/passwd echo "root:x:0:root" > /etc/group |
