slackware-current/source/x/m17n-lib/m17n-lib.SlackBuild
Patrick J Volkerding 522fb53c22 Mon Aug 15 20:23:47 UTC 2022
a/etc-15.1-x86_64-2.txz:  Rebuilt.
  Added support for $HOME/.profile.d/*.{csh,sh} scripts.
  Thanks to Heinz Wiesinger.
a/mcelog-188-x86_64-1.txz:  Upgraded.
kde/fcitx5-configtool-5.0.14-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
kde/fcitx5-theme-breeze-2.0.0-noarch-1.txz:  Added.
  Thanks to Heinz Wiesinger.
kde/kcm-fcitx-0.5.6-x86_64-4.txz:  Removed.
l/fmt-9.0.0-x86_64-1.txz:  Added.
  Thanks to Steven Voges.
l/librsvg-2.54.4-x86_64-2.txz:  Rebuilt.
  Removed dangling symlink. Thanks to marav.
n/rsync-3.2.5-x86_64-1.txz:  Upgraded.
  Added some file-list safety checking that helps to ensure that a rogue
  sending rsync can't add unrequested top-level names and/or include recursive
  names that should have been excluded by the sender. These extra safety
  checks only require the receiver rsync to be updated. When dealing with an
  untrusted sending host, it is safest to copy into a dedicated destination
  directory for the remote content (i.e. don't copy into a destination
  directory that contains files that aren't from the remote host unless you
  trust the remote host).
  For more information, see:
   https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29154
  (* Security fix *)
x/anthy-9100h-x86_64-4.txz:  Removed.
x/anthy-unicode-1.0.0.20211224-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/fcitx-4.2.9.8-x86_64-3.txz:  Removed.
x/fcitx-anthy-0.2.4-x86_64-1.txz:  Removed.
x/fcitx-configtool-0.4.10-x86_64-3.txz:  Removed.
x/fcitx-hangul-0.3.1-x86_64-3.txz:  Removed.
x/fcitx-kkc-0.1.4-x86_64-3.txz:  Removed.
x/fcitx-libpinyin-0.5.4-x86_64-2.txz:  Removed.
x/fcitx-m17n-0.2.4-x86_64-3.txz:  Removed.
x/fcitx-qt5-1.2.7-x86_64-1.txz:  Removed.
x/fcitx-sayura-0.1.2-x86_64-3.txz:  Removed.
x/fcitx-table-extra-0.3.8-x86_64-3.txz:  Removed.
x/fcitx-table-other-0.2.4-x86_64-3.txz:  Removed.
x/fcitx-unikey-0.2.7-x86_64-3.txz:  Removed.
x/fcitx5-5.0.18-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/fcitx5-anthy-5.0.12-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/fcitx5-chinese-addons-5.0.14-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/fcitx5-gtk-5.0.17-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/fcitx5-hangul-5.0.10-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/fcitx5-kkc-5.0.10-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/fcitx5-m17n-5.0.10-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/fcitx5-qt-5.0.14-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/fcitx5-sayura-5.0.8-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/fcitx5-table-extra-5.0.11-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/fcitx5-table-other-5.0.10-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/fcitx5-unikey-5.0.11-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/ibus-1.5.26-x86_64-2.txz:  Rebuilt.
  Use correct path to kimpanel in ibus-autostart.
  Thanks to Lockywolf.
x/ibus-anthy-1.5.14-x86_64-2.txz:  Rebuilt.
  Recompiled against anthy-unicode-1.0.0.20211224.
  Thanks to Heinz Wiesinger.
x/libime-1.0.13-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
x/m17n-lib-1.8.0-x86_64-5.txz:  Rebuilt.
  Rebuilt to drop the dependency on anthy-9100h.
  Thanks to Heinz Wiesinger.
x/skkdic-20210919-noarch-1.txz:  Upgraded.
  Thanks to Heinz Wiesinger.
x/x11-skel-7.7-x86_64-9.txz:  Rebuilt.
  Added imconfig script for selecting the input method.
  Thanks to Heinz Wiesinger.
x/xcb-imdkit-1.0.3-x86_64-1.txz:  Added.
  Thanks to Heinz Wiesinger.
2022-08-16 07:00:14 +02:00

179 lines
5.5 KiB
Bash
Executable file

#!/bin/bash
# Copyright 2008, 2009 Eric Hameleers, Eindhoven, NL
# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, MN USA
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
# any purpose with or without fee is hereby granted, provided that
# the above copyright notice and this permission notice appear in all
# copies.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
# -----------------------------------------------------------------------------
#
# Slackware SlackBuild script
# ===========================
# By: Eric Hameleers <alien@slackware.com>
# For: m17n-lib
# Descr: multilingualization of many aspects of applications
# URL: http://m17n.org/
#
# -----------------------------------------------------------------------------
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=m17n-lib
SHORTNAM=m17n
VERSION=${VERSION:-1.8.0}
DBVERSION=${DBVERSION:-1.8.0}
BUILD=${BUILD:-5}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i586 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
esac
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
exit 0
fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
DOCS="AUTHORS COPYING ChangeLog NEWS README TODO"
DOCS_DB="ABOUT-NLS AUTHORS COPYING ChangeLog NEWS README"
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
SOURCE[0]="$CWD/${PKGNAM}-${VERSION}.tar.lz"
SOURCE[1]="$CWD/${SHORTNAM}-db-${DBVERSION}.tar.lz"
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
rm -rf $PKG
mkdir -p $TMP/build-${PKGNAM} $PKG
cd $TMP/build-${PKGNAM}
for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do
tar xvf ${SOURCE[$i]} || exit 1
done
chown -R root:root *
chmod -R u+w,go+r-w,a-s *
cd ${PKGNAM}-${VERSION} || exit 1
echo Building ...
CXXFLAGS="$SLKCFLAGS" \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--localstatedir=/var \
--sysconfdir=/etc \
--mandir=/usr/man \
--disable-gui \
--disable-static \
--program-prefix= \
--program-suffix= \
--build=$ARCH-slackware-linux || exit 1
# If you get errors here, uninstall the present m17n-lib package first:
make $NUMJOBS || make || exit 1
make DESTDIR=$PKG install || exit 1
cd ..
# Compile and install the m17n database:
echo "Building the m17n database..."
cd ${SHORTNAM}-db-${DBVERSION}
CXXFLAGS="$SLKCFLAGS" \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--localstatedir=/var \
--sysconfdir=/etc \
--program-prefix= \
--program-suffix= \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make DESTDIR=$PKG install || exit 1
cd ..
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
# Add package documentation:
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/db
cd ${PKGNAM}-${VERSION}
cp -a $DOCS $PKG/usr/doc/$PKGNAM-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
# is useful, but don't let it get totally out of control:
cat ChangeLog | head -n 1000 > $PKG/usr/doc/$PKGNAM-$VERSION/ChangeLog
touch -r ChangeLog $PKG/usr/doc/$PKGNAM-$VERSION/ChangeLog
cd ../${SHORTNAM}-db-${DBVERSION}
cp -a $DOCS_DB $PKG/usr/doc/$PKGNAM-$VERSION/db
# If there's a ChangeLog, installing at least part of the recent history
# is useful, but don't let it get totally out of control:
cat ChangeLog | head -n 1000 > $PKG/usr/doc/$PKGNAM-$VERSION/db/ChangeLog
touch -r ChangeLog $PKG/usr/doc/$PKGNAM-$VERSION/db/ChangeLog
cd ..
find $PKG/usr/doc -type f -exec chmod 644 {} \+
# Compress the man page(s):
( cd $PKG/usr/man/man3
for file in * ; do
mv $file $(basename $file m17n)
done
)
find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \+
for i in $(find $PKG/usr/man -type l -name "*.?") ; do
ln -s $( readlink $i ).gz $i.gz ; rm $i
done
# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
# Add a package description:
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
# Build the package:
cd $PKG
/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz