Files
BMLFS/build-scripts/ibus.build
2023-09-12 16:24:20 -05:00

77 lines
2.9 KiB
Bash

#! /bin/bash
# iBus
# Source: https://github.com/ibus/ibus/releases/download/1.5.28/ibus-1.5.28.tar.gz
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: Dconf, ISO Codes, Vala, unicode-character-database, cldr-emoji-annotation
# Recommended: gobject-introspection, libnotify, Wayland
# Optional: DBus-Python, PyGObject, GTK-Doc, PyXDG, libxkbcommon, GTK+2, GTK4
# If optimizing with GCC:
export CFLAGS="-march=native -pipe "
export CFLAGS+="-O3 -Os -fdata-sections -ffat-lto-objects "
export CFLAGS+="-ffunction-sections -flto=auto -fno-semantic-interposition "
export CFLAGS+="-fstack-protector-strong -fzero-call-used-regs=used "
export CXXFLAGS=$CFLAGS
export LDFLAGS="-flto=auto -Wl,-O2 -Wl,--as-needed "
patch -Np1 -i ../patches/ibus-chimera/sticky-keys-fix.patch
patch -Np1 -i ../patches/ibus-chimera/tests.patch
sed -i 's@/desktop/ibus@/org/freedesktop/ibus@g' \
data/dconf/org.freedesktop.ibus.gschema.xml &&
./configure --prefix=/usr \
--sysconfdir=/etc \
--enable-python-library \
--enable-wayland \
--with-python=python3 \
--disable-systemd-services \
--enable-dconf --disable-gtk2 $BUILDTRUPLE &&
rm -f tools/main.c &&
read -p "Compile?" && make -j2 &&
sudo -S make DESTDIR=$BUILD install &&
sudo -S mkdir -pv /BMAN/install /BMAN/usr/share && \
sudo -S mv $BUILD/usr/share/man /BMAN/usr/share/ && \
sudo -S mv $BUILD/usr/share/gtk-doc /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------------------------------------------------------|
ibus: IBus (Intelligent Input Bus for Linux)
ibus:
ibus: IBus is an Intelligent Input Bus. It is a new input framework for
ibus: Linux. It provides a full featured and user friendly input method
ibus: user interface. It also may help developers create an input method
ibus: easily.
ibus:
ibus: Homepage: http://code.google.com/p/ibus/
ibus:
ibus:
ibus:
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/ibus-1.5.28-$PSUFFIX && \
cd /BMAN && \
cat > /tmp/slack-desc << "EOF"
|-----handy-ruler------------------------------------------------------|
ibus-doc: Manuals for iBus
ibus-doc:
ibus-doc: An Intelligent Input Bus. It is a new input framework for Linux
ibus-doc:
EOF
sudo -S mv -v /tmp/slack-desc install/ && \
sudo -S makepkg -l y -c n $PKGS/ibus-doc-1.5.28-$NOPSUFFIX && \
sudo -S rm -rf ${BUILD}/* /BMAN/*