Files
BMLFS/build-scripts/cairo.build
2025-07-26 15:27:58 -05:00

59 lines
2.2 KiB
Bash

#! /bin/bash
# Cairo
# Source: https://www.cairographics.org/releases/cairo-1.18.4.tar.xz
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: libpng, pixman
# Recommended: fontconfig, Glib, Xorg-libraries
# Optional: Cogl, ghostscript, GTK+-2, GTK+-3, GTK-Doc, libdrm, libtsvg, libxml2
# Optional: Lzo, Mesa, poppler, Qt5, Valgrind, DirectFB, jbig2dec, libspectre,skia, Qt4
# If optimizing, use these flags with GCC
export CFLAGS="-march=native -pipe "
export CFLAGS+="-O3 -falign-functions=32 -ffat-lto-objects -flto=4 "
export CFLAGS+="-fno-math-errno -fno-semantic-interposition "
export CFLAGS+="-fno-trapping-math -fstack-protector-strong -fzero-call-used-regs=used "
export LDFLAGS="-flto=4 -Wl,-O2 -Wl,--as-needed "
export PVER="1.18.4"
# If Xorg/Xwayland is installed:
meson setup --prefix=/usr --buildtype=release -Dxlib-xcb=enabled -Dtests=disabled OUT
# For building without Xorg
meson setup --prefix=/usr --buildtype=release -Dxlib-xcb=disabled -Dtests=disabled OUT
ninja -C OUT -j2 && \
sudo -S DESTDIR=$BUILD ninja -C OUT install && \
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------------------------------------------------------|
cairo: cairo (graphics library used by GTK+)
cairo:
cairo: Cairo is a vector graphics library designed to provide high-quality
cairo: display and print output. Cairo is designed to produce
cairo: identical output on all output media while taking advantage of display
cairo: hardware acceleration when available (eg. through the X Render
cairo: Extension or OpenGL).
cairo:
cairo:
cairo:
cairo:
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/cairo-$PVER-$PSUFFIX &&
sudo -S rm -rf ${BUILD}/*