summaryrefslogtreecommitdiffstats
path: root/development/mit-scheme/mit-scheme.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'development/mit-scheme/mit-scheme.SlackBuild')
-rw-r--r--development/mit-scheme/mit-scheme.SlackBuild114
1 files changed, 76 insertions, 38 deletions
diff --git a/development/mit-scheme/mit-scheme.SlackBuild b/development/mit-scheme/mit-scheme.SlackBuild
index a3b01c355b..bbc6082279 100644
--- a/development/mit-scheme/mit-scheme.SlackBuild
+++ b/development/mit-scheme/mit-scheme.SlackBuild
@@ -1,10 +1,12 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for mit-scheme
# Originally by Jockey S. Kyd (jockey dot kyd at gmail dot com)
-
+#
# Ryan P.C. McQuen | Everett, WA | ryanpcmcquen@member.fsf.org
-
+# Copyright (C) 2018,2020 Jason Graham <jgraham@compukix.net>, USA
+# Copyright (C) 2023, Lockywolf (updated for version 12.1)
+#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
@@ -24,10 +26,13 @@
# not, see <http://www.gnu.org/licenses/>.
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=mit-scheme
-VERSION=${VERSION:-9.2}
+VERSION=${VERSION:-12.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
@@ -37,7 +42,14 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
+# 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 "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
@@ -59,59 +71,83 @@ else
exit 1
fi
+X11=${X11:-yes}
+EDWIN=${EDWIN:-yes}
+IMAIL=${IMAIL:-yes}
+DOCS=${DOCS:-yes}
+
+# Sanitize build settings and set additional flags
+[ "$X11" != "yes" ] && X11="no" || WITH_X="--with-x"
+[ "$EDWIN" != "yes" ] && EDWIN="no"
+[ "$IMAIL" != "yes" ] && IMAIL="no"
+
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION-$TARARCH.tar.gz
+tar xvf $CWD/$PRGNAM-$VERSION-x86-64.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
+ -o -perm 511 \) -exec chmod 755 {} + -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} +
cd src
- CFLAGS="$SLKCFLAGS" \
- CXXFLAGS="$SLKCFLAGS" \
- ./configure \
- --prefix=/usr \
- --libdir=/usr/lib$LIBDIRSUFFIX \
- --build=$ARCH-slackware-linux
-
- make
- make install DESTDIR=$PKG
-cd ..
+CFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib$LIBDIRSUFFIX \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --disable-static \
+ --build=$ARCH-slackware-linux \
+ --enable-default-plugins=yes \
+ --enable-x11=${X11} \
+ --enable-edwin=${EDWIN} \
+ --enable-imail=${IMAIL} \
+ $WITH_X
+make -j1
+make install DESTDIR=$PKG
+
+cd ../doc
+CFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS" \
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib$LIBDIRSUFFIX \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux \
+ --htmldir=/usr/doc/$PRGNAM-$VERSION/html \
+ --pdfdir=/usr/doc/$PRGNAM-$VERSION/pdf \
+ --enable-html=${DOCS} \
+ --enable-pdf=${DOCS} \
+ --enable-ps=no
+
+ make -j1 install DESTDIR=$PKG
+cd ../
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-mkdir -p $PKG/usr/man/man1
-cp -a doc/scheme.1 $PKG/usr/man/man1/mit-scheme.1
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-# take prebuilt info doc rather than build them by ourselves
-mkdir -p $PKG/usr/info
-tar xvf $CWD/$PRGNAM-$VERSION-doc-info.tar.gz
-install -o root -g root -m 644 $PRGNAM-$VERSION/doc/*.info $PKG/usr/info
+rm -f $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*.info*
-# ditto for html ones
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/html
-tar xvf $CWD/$PRGNAM-$VERSION-doc-html.tar.gz \
- -C $PKG/usr/doc/$PRGNAM-$VERSION/html \
- --strip-components=2
-chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION/html
-
-# ditto for pdf ones
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/pdf
-tar xvf $CWD/$PRGNAM-$VERSION-doc-pdf.tar.gz
-install -o root -g root -m 644 $PRGNAM-$VERSION/doc/*.pdf $PKG/usr/doc/$PRGNAM-$VERSION/pdf
-
-cp -a changelog.txt src/COPYING src/README.txt $PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a src/COPYING src/README.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
@@ -119,4 +155,6 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+for i in usr/info/*.info*; do echo "info_install /$i" >> $PKG/install/doinst.sh; done
+
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE