Files
BMLFS/build-scripts/libgusb.build
2022-04-08 17:31:13 -05:00

53 lines
1.8 KiB
Bash

#! /bin/bash
# libgusb
# Source: https://people.freedesktop.org/~hughsient/releases/libgusb-0.3.10.tar.xz
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: libusb
# Recommended: GTK-Doc, gobject-introspection, usbutils
# Optional: NONE
# If coptimizing with GCC:
export CFLAGS="-march=native -pipe "
export CFLAGS+="-O3 -ffat-lto-objects -flto=4 "
export CXXFLAGS=$CFLAGS
export LDFLAGS="-flto=4 -Wl,-O2 -Wl,--as-needed "
mkdir build &&
cd build &&
meson --prefix=/usr -Ddocs=false .. &&
read -p "Compile?" && ninja -j2 &&
sudo -S DESTDIR=$BUILD ninja 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------------------------------------------------------|
libgusb: libgusb (Glib Wrapper)
libgusb:
libgusb: GUsb is a GObject wrapper for libusb1 that makes it easy to do
libgusb: asynchronous control, bulk and interrupt transfers with proper
libgusb: cancellation and integration into a mainloop.
libgusb:
libgusb: This makes it easy to integrate low level USB transfers with your
libgusb: high-level application or system daemon.
libgusb:
libgusb: Project URL: https://github.com/hughsie/libgusb
libgusb:
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/libgusb-0.3.10-$(uname -m)-mlfs.txz &&
sudo -S rm -rf ${BUILD}/*