Files
BMLFS/build-scripts/gtk+3.build
2024-08-09 12:11:36 -05:00

76 lines
2.7 KiB
Bash

#! /bin/bash
# GTK+ 3
# Source: https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.42.tar.xz
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: at-spi2-core, FriBidi, gdk-pixbuf, libepoxy, and Pango
# Recommended: adwaita-icon-theme, hicolor-icon-theme, ISO Codes, libxkbcommon,
# Recommended: sassc, wayland, wayland-protocols, gobject-introspection
# Optional: Colord, CUPS, DocBook Utils, GTK-Doc, JSON-Glib, PyAtSpi, rest, PAPI
#patch -Np1 -i ../patches/gtk+3-alpine/10-Revert-gdkseatdefault-Grab-touch-events-where-applic.patch
# if optimizing, use GCC:
export CFLAGS="-march=native -pipe "
export CFLAGS+="-O3 -Ofast -falign-functions=32 -ffat-lto-objects -flto=4 "
export CFLAGS+="-fno-semantic-interposition -mprefer-vector-width=256 "
export LDFLAGS="-flto=4 -Wl,-O2 -Wl,--as-needed "
# Autotools no longer used.
# Use meson:
meson setup --prefix=/usr \
-Dman=true \
-Dgtk_doc=false \
-Dbroadway_backend=true OUT
read -p "Compile?" && ninja -C OUT -j2 &&
sudo -S DESTDIR=$BUILD ninja -C OUT install &&
sudo -S mkdir -pv /BMAN/install
sudo -S mkdir -pv /BMAN/usr/share
sudo -S mv $BUILD/usr/share/man /BMAN/usr/share/
cd $BUILD && sudo -S mkdir -v ${BUILD}/install &&
cat > /tmp/slack-desc << "EOF"
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
gtk+3: GTK+ version 3 (multi-platform GUI toolkit)
gtk+3:
gtk+3: This is GTK+, a multi-platform toolkit for creating graphical user
gtk+3: interfaces. Offering a complete set of widgets, GTK+ is suitable for
gtk+3: projects ranging from small one-off projects to complete application
gtk+3: suites.
gtk+3:
gtk+3:
gtk+3:
gtk+3:
gtk+3:
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/gtk+3-3.24.42-$PSUFFIX &&
cd /BMAN
cat > /tmp/slack-desc << "EOF"
gtk+3-doc: Manuals for GTK+ version 3 (multi-platform GUI toolkit)
gtk+3-doc:
gtk+3-doc: This is GTK+, a multi-platform toolkit for creating graphical user
gtk+3-doc: interfaces. Offering a complete set of widgets, GTK+ is suitable for
gtk+3-doc: projects ranging from small one-off projects to complete application
gtk+3-doc: suites.
gtk+3-doc:
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/gtk+3-doc-3.24.42-$NOPSUFFIX
sudo -S rm -rf /BMAN/*
sudo -S rm -rf ${BUILD}/*