summaryrefslogtreecommitdiffstats
path: root/development/mit-scheme
diff options
context:
space:
mode:
Diffstat (limited to 'development/mit-scheme')
-rw-r--r--development/mit-scheme/README17
-rw-r--r--development/mit-scheme/doinst.sh20
-rw-r--r--development/mit-scheme/mit-scheme.SlackBuild114
-rw-r--r--development/mit-scheme/mit-scheme.info26
4 files changed, 117 insertions, 60 deletions
diff --git a/development/mit-scheme/README b/development/mit-scheme/README
index 09c75a6223..d11bcbad72 100644
--- a/development/mit-scheme/README
+++ b/development/mit-scheme/README
@@ -1,4 +1,17 @@
MIT/GNU Scheme is an implementation of the Scheme programming language,
providing an interpreter, compiler, source-code debugger, integrated
-Emacs-like editor, and a large runtime library. MIT/GNU Scheme is best suited
-to programming large applications with a rapid development cycle.
+Emacs-like editor, and a large runtime library. MIT/GNU Scheme is best
+suited to programming large applications with a rapid development cycle.
+
+The following build options are available:
+
+ X11=yes|no Enable support for x11 (default: yes)
+ EDWIN=yes|no Enable support for the Edwin editor (default: yes)
+ IMAIL=yes|no Enable support for the Imail mail reader (default:
+ yes), implies Edwin support
+ DOCS=yes|no Include html and pdf documentation (default: yes)
+
+where each build option may be passed to the slackbuild. Example of
+disabling x11 and enabling documentation support:
+
+ X11=no DOCS=yes sh ./mit-scheme.SlackBuild
diff --git a/development/mit-scheme/doinst.sh b/development/mit-scheme/doinst.sh
index f3605d4eeb..c8319a5dfd 100644
--- a/development/mit-scheme/doinst.sh
+++ b/development/mit-scheme/doinst.sh
@@ -1,3 +1,21 @@
+info_install() {
+ INFO="$1"
+ if [ -x /usr/bin/install-info ]; then
+ chroot . /usr/bin/install-info --info-dir=/usr/info $INFO 2> /dev/null
+ fi
+}
+
if [ -x /usr/bin/install-info ]; then
- chroot . /usr/bin/install-info --info-dir=/usr/info /usr/info/blah.gz 2> /dev/null
+ /usr/bin/install-info --info-dir=usr/info \
+ /usr/info/mit-scheme-ffi.info.gz \
+ /usr/info/mit-scheme-ref.info-1.gz \
+ /usr/info/mit-scheme-ref.info-3.gz \
+ /usr/info/mit-scheme-ref.info-5.gz \
+ /usr/info/mit-scheme-sos.info.gz \
+ /usr/info/mit-scheme-imail.info.gz \
+ /usr/info/mit-scheme-ref.info-2.gz \
+ /usr/info/mit-scheme-ref.info-4.gz \
+ /usr/info/mit-scheme-ref.info.gz \
+ /usr/info/mit-scheme-user.info.gz \
+ 1> /dev/null 2>&1
fi
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
diff --git a/development/mit-scheme/mit-scheme.info b/development/mit-scheme/mit-scheme.info
index c8b623aaf8..8328706437 100644
--- a/development/mit-scheme/mit-scheme.info
+++ b/development/mit-scheme/mit-scheme.info
@@ -1,22 +1,10 @@
PRGNAM="mit-scheme"
-VERSION="9.2"
+VERSION="12.1"
HOMEPAGE="http://www.gnu.org/software/mit-scheme/"
-DOWNLOAD="http://ftp.gnu.org/gnu/mit-scheme/stable.pkg/9.2/mit-scheme-9.2-i386.tar.gz \
- http://ftp.gnu.org/gnu/mit-scheme/stable.pkg/9.2/mit-scheme-9.2-doc-html.tar.gz \
- http://ftp.gnu.org/gnu/mit-scheme/stable.pkg/9.2/mit-scheme-9.2-doc-info.tar.gz \
- http://ftp.gnu.org/gnu/mit-scheme/stable.pkg/9.2/mit-scheme-9.2-doc-pdf.tar.gz"
-MD5SUM="b80458f85b9521bdfb0620edc89e3e61 \
- a605fd061ec7419f01f7ce18bd4f8dc1 \
- fc49f8169484c358cdae9cfd511b65d2 \
- db43ff41a3bb0b5e4e13de7a83c13b0d"
-DOWNLOAD_x86_64="http://ftp.gnu.org/gnu/mit-scheme/stable.pkg/9.2/mit-scheme-9.2-x86-64.tar.gz \
- http://ftp.gnu.org/gnu/mit-scheme/stable.pkg/9.2/mit-scheme-9.2-doc-html.tar.gz \
- http://ftp.gnu.org/gnu/mit-scheme/stable.pkg/9.2/mit-scheme-9.2-doc-info.tar.gz \
- http://ftp.gnu.org/gnu/mit-scheme/stable.pkg/9.2/mit-scheme-9.2-doc-pdf.tar.gz"
-MD5SUM_x86_64="9fcc6c156e53efeb0560996551fa0a57 \
- a605fd061ec7419f01f7ce18bd4f8dc1 \
- fc49f8169484c358cdae9cfd511b65d2 \
- db43ff41a3bb0b5e4e13de7a83c13b0d"
+DOWNLOAD="UNSUPPORTED"
+MD5SUM=""
+DOWNLOAD_x86_64="https://ftp.gnu.org/gnu/mit-scheme/stable.pkg/12.1/mit-scheme-12.1-x86-64.tar.gz"
+MD5SUM_x86_64="45a83d61104f9e41c542a9732cea4e3c"
REQUIRES=""
-MAINTAINER="Jason Graham"
-EMAIL="jgraha8@gmail.com"
+MAINTAINER="Lockywolf"
+EMAIL="for_sbo.mit-scheme_2023-11-27@lockywolf.net"