#!/bin/bash # Slackware build script for imlib2_loaders # Copyright 2017 Azure Zanculmarktum # Copyright 2020-2021 Igor Alexandrov # Copyright 2023 B. Watson (urchlay@gmail.com), current maintainer. # All rights reserved. # # Redistribution and use of this script, with or without modification, is # permitted provided that the following conditions are met: # # 1. Redistributions of this script must retain the above copyright # notice, this list of conditions and the following disclaimer. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS 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 AUTHOR 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. # 20230902 bkw: update for v1.11.1. # Note that the code didn't change between 1.10.0 and 1.11.1. In fact # there's a 1.12.0 and *it* has identical code. Basically, upstream # (re)releases this whenever the main imlib2 package updates, whether it # makes sense or not. # 20230213 bkw: update for v1.10.0. # - take over maintenance. # - expand README and slack-desc. # - simplify build. # - get rid of .la file. # - add imlib2 to REQUIRES. it really is a hard dep (always was). # - only package the license that actually applies. cd $(dirname $0) ; CWD=$(pwd) PRGNAM=imlib2_loaders VERSION=${VERSION:-1.11.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" exit 0 fi TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi set -eu rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.xz cd $PRGNAM-$VERSION chown -R root:root . find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --sysconfdir=/etc \ --localstatedir=/var \ --docdir=/usr/doc/$PRGNAM-$VERSION \ --disable-static \ --disable-eet \ --build=$ARCH-slackware-linux make make install-strip DESTDIR=$PKG # we don't need this: rm -f $PKG/usr/lib*/imlib2/loaders/*.la # 20230213 bkw: A note about the multiple COPYING files: # # - COPYING is a BSD/MIT style license. It's the same as COPYING # for imlib2. However, the source no longer contains any of # the code this license once applied to, so I don't include # it in the package. It would be misleading to do so (see below). # # - COPYING-PLAIN is just the lawyer-to-English translation of # COPYING (again, same as imlib2). Not included for the same reason. # # - COPYING.loader_xcf is the actual license for the single plugin # this installs (xcf.so). It's a copy of the GPLv2, because the xcf # plugin incorporates code taken from the Gimp, which is GPLv2. # # If you're wondering about the ./configure message about the "eet" # format... it can't be built. Enabling it requires some Enlightenment # libraries. If you install those (or even if you don't), then build # with --enable-eet, the configure script will tell you "Eet loader # is broken". So there's no need to include whatever license the eet # loader uses, as we can't include the code anyway. # # This is more excruciating detail than anyone really cares about. # It's mostly a note to myself, to remind me why I didn't include all # 3 COPYING* files in the package. PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION mkdir -p $PKGDOC cp -a AUTHORS COPYING.loader_xcf ChangeLog README $PKGDOC cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE