Files
BMLFS/build-scripts/avahi.build
2022-03-07 09:11:03 -06:00

79 lines
3.0 KiB
Bash

#! /bin/bash
# Avahi
# Source: https://github.com/lathiat/avahi/releases/download/v0.8/avahi-0.8.tar.gz
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: GLib
# Recommended: Gobject-introspection, GTK+2, GTK+3, libdaemon, libglade, Qt5
# Optional: D-Bus-Python, libevent, pyGobject, pycairo, Doxygen, xmltoman
# If optimizing with GCC
export CFLAGS="-march=native -pipe "
export CFLAGS+="-O3 -ffat-lto-objects -flto=4 "
export CFLAGS+="-fstack-protector-strong -fzero-call-used-regs=used "
export LDFLAGS="-flto=4 -Wl,-O2 -Wl,--as-needed "
patch -Np1 -i ../patches/avahi-lfs/avahi-0.8-ipv6_race_condition_fix-1.patch &&
cp -v ../files/avahi-adelie/build-db service-type-database/
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-static \
--disable-mono \
--disable-monodoc \
--disable-qt3 \
--disable-qt4 \
--enable-core-docs \
--with-distro=none \
--with-systemdsystemunitdir=no
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/ && \
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------------------------------------------------------|
avahi: avahi (service discovery aka zeroconf)
avahi:
avahi: Avahi is an Implementation the DNS Service Discovery and Multicast
avahi: DNS specifications for Zeroconf Computing. It uses D-BUS for
avahi: communication between user applications and a system daemon. The
avahi: daemon is used to coordinate application efforts in caching replies,
avahi: necessary to minimize the traffic imposed on networks. This kind of
avahi: technology is already found in Apple MacOS X (branded Rendezvous
avahi: Bonjour and sometimes Zeroconf) and is very convenient.
avahi:
avahi:
EOF
sudo -S mv -v /tmp/slack-desc install/ &&
sudo -S makepkg -l y -c n $PKGS/avahi-0.8-$(uname -m)-mlfs.txz && \
cd /BMAN && \
cat > /tmp/slack-desc << "EOF"
avahi-doc: Manuals for avahi (service discovery aka zeroconf)
avahi-doc:
avahi-doc: An implementation the DNS Service Discovery and Multicast DNS
avahi-doc: specifications for Zeroconf Computing. It uses D-BUS for
avahi-doc: communication between user applications and a system daemon.
avahi-doc:
EOF
sudo -S mv -v /tmp/slack-desc install/ && \
sudo -S makepkg -l y -c n $PKGS/avahi-doc-0.8-noarch-mlfs.txz && \
sudo -S rm -rf ${BUILD}/* /BMAN/*