Files
BMLFS/build-scripts/libpsl.build

86 lines
3.1 KiB
Bash

#! /bin/bash
# libpsl
# Source: https://github.com/rockdaboot/libpsl/releases/download/0.21.5/libpsl-0.21.5.tar.gz
#
# $BUILD = Directory to temporarily install
# $PKGS = Directory to store built packages
#
# DEPS
# Required: libidn2
# Recommended: NONE
# Optional: GTK-Doc(for documentation) and Valgrind(for tests)
# LTO: tested with LLVM
# If optimizing, use these flags
# Recommened to not use LTO
export CFLAGS="-march=native -mtune=native -pipe "
export CFLAGS+="-O3 -fno-lto "
#export LDFLAGS="-flto=auto -Wl,-O2 -Wl,--as-needed "
export PVER="0.21.5"
meson setup --prefix=/usr --buildtype=release BUILD
read -p "Compile? " && ninja -C BUILD -j2 &&
read -p "Press Enter to install" &&
# if not using a package manager:
# ninja -C BUILD install
# if using pkgtools from Slackware, then:
sudo -S DESTDIR=$BUILD ninja -C BUILD install &&
sudo -S mkdir -pv /BMAN/install
sudo -S mkdir -pv /BMAN/usr
sudo -S mv ${BUILD}/usr/share /BMAN/usr/
read -p "Press Enter to create package description." &&
cd $BUILD && sudo mkdir -v 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 ':'.
|-----handy-ruler------------------------------------------------------|
libpsl: libpsl (C library to handle the Public Suffix List)
libpsl:
libpsl: A Public Suffix List is a collection of Top Level Domains (TLDs)
libpsl: suffixes. TLDs include Global Top Level Domains (gTLDs) like .com and
libpsl: .net; Country Top Level Domains (ccTLDs) like .de and .cn; and Brand
libpsl: Top Level Domains like .apple and .google. Brand TLDs allows users to
libpsl: register their own top level domain that exist at the same level as
libpsl: ICANN's gTLDs. Brand TLDs are sometimes referred to as Vanity Domains.
libpsl:
libpsl: Homepage: https://github.com/rockdaboot/libpsl
libpsl:
EOF
sudo -S mv /tmp/slack-desc install/ &&
read -p "Enter to build package" &&
sudo -S makepkg -l y -c n $PKGS/libpsl-$PVER-$PSUFFIX &&
cd /BMAN
cat > /tmp/slack-desc << "EOF"
|-----handy-ruler------------------------------------------------------|
libpsl-doc: Manuals for libpsl (C library to handle the Public Suffix List)
libpsl-doc:
libpsl-doc: A Public Suffix List is a collection of Top Level Domains (TLDs)
libpsl-doc: suffixes. TLDs include Global Top Level Domains (gTLDs) like .com and
libpsl-doc: .net; Country Top Level Domains (ccTLDs) like .de and .cn; and Brand
libpsl-doc: Top Level Domains like .apple and .google. Brand TLDs allows users to
libpsl-doc: register their own top level domain that exist at the same level as
libpsl-doc: ICANN's gTLDs. Brand TLDs are sometimes referred to as Vanity Domains.
libpsl-doc:
libpsl-doc: Homepage: https://github.com/rockdaboot/libpsl
libpsl-doc:
EOF
sudo -S mv /tmp/slack-desc install/
sudo -S makepkg -l y -c n $PKGS/libpsli-doc-$PVER-$NOPSUFFIX
sudo -S rm -rf $BUILD/*
unset PVER