slackware-current/source/x/m17n-lib/m17n-lib.SlackBuild

180 lines
5.5 KiB
Text
Raw Normal View History

#!/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}
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-15 22:23:47 +02:00
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
Fri Sep 21 18:51:07 UTC 2018 a/eudev-3.2.6-x86_64-1.txz: Upgraded. a/glibc-solibs-2.28-x86_64-2.txz: Upgraded. a/grub-2.02-x86_64-3.txz: Rebuilt. Patched to fix compatibility with recent xfsprogs. Thanks to Markus Wiesner. a/kernel-generic-4.14.71-x86_64-1.txz: Upgraded. a/kernel-huge-4.14.71-x86_64-1.txz: Upgraded. a/kernel-modules-4.14.71-x86_64-1.txz: Upgraded. ap/opus-tools-0.2-x86_64-1.txz: Upgraded. ap/sqlite-3.25.1-x86_64-1.txz: Upgraded. d/icecream-20180905_cdc6ff8-x86_64-1.txz: Upgraded. d/kernel-headers-4.14.71-x86-1.txz: Upgraded. d/llvm-7.0.0-x86_64-1.txz: Upgraded. Shared library .so-version bump. k/kernel-source-4.14.71-noarch-1.txz: Upgraded. l/ffmpeg-3.4.4-x86_64-2.txz: Rebuilt. Don't try to link with Samba since the latest version is not compatible. l/glibc-2.28-x86_64-2.txz: Upgraded. All packages have been patched where needed for glibc-2.28 and compile tested here. Thanks to nobodino for the help. l/glibc-i18n-2.28-x86_64-2.txz: Upgraded. l/glibc-profile-2.28-x86_64-2.txz: Upgraded. l/gst-plugins-base-1.14.3-x86_64-1.txz: Upgraded. l/gst-plugins-good-1.14.3-x86_64-1.txz: Upgraded. l/gst-plugins-libav-1.14.3-x86_64-1.txz: Upgraded. l/gstreamer-1.14.3-x86_64-1.txz: Upgraded. l/imagemagick-6.9.10_11-x86_64-1.txz: Upgraded. l/libopusenc-0.2-x86_64-1.txz: Added. l/librsvg-2.44.3-x86_64-1.txz: Upgraded. l/opus-1.3_rc2-x86_64-1.txz: Upgraded. l/opusfile-0.11-x86_64-1.txz: Upgraded. l/soprano-2.9.4-x86_64-3.txz: Rebuilt. Recompiled to drop virtuoso dependency. l/virtuoso-ose-6.1.8-x86_64-9.txz: Removed. Even KDE4 has migrated away from actually using this for anything. The last thing in Slackware that was dependent on it was Soprano, which has been recompiled to no longer use it. n/postfix-3.3.1-x86_64-2.txz: Rebuilt. Recompiled so that it quits whining about OpenSSL. Thanks to shastah. x/mesa-18.2.1-x86_64-1.txz: Upgraded. Compiled against llvm-7.0.0. x/xf86-video-vmware-13.3.0-x86_64-2.txz: Rebuilt. Recompiled against llvm-7.0.0. x/xterm-336-x86_64-1.txz: Upgraded. extra/pure-alsa-system/ffmpeg-3.4.4-x86_64-2_alsa.txz: Rebuilt. Don't try to link with Samba since the latest version is not compatible. extra/pure-alsa-system/gst-plugins-good-1.14.3-x86_64-1_alsa.txz: Upgraded. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
2018-09-21 20:51:07 +02:00
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