summaryrefslogtreecommitdiffstats
path: root/development/menhir/menhir.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'development/menhir/menhir.SlackBuild')
-rw-r--r--development/menhir/menhir.SlackBuild46
1 files changed, 25 insertions, 21 deletions
diff --git a/development/menhir/menhir.SlackBuild b/development/menhir/menhir.SlackBuild
index 094a29eba9..6eff347741 100644
--- a/development/menhir/menhir.SlackBuild
+++ b/development/menhir/menhir.SlackBuild
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for menhir
@@ -22,10 +22,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=menhir
-VERSION=${VERSION:-20170101}
+VERSION=${VERSION:-20220210}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -35,7 +38,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}
@@ -56,16 +66,16 @@ fi
set -e
-# Fixed already installed menhirlib from findlib
-# This is needed for reinstallation/upgrade process
-cd /usr/lib${LIBDIRSUFFIX}/ocaml/site-lib/
-rm -rf menhirLib
+## Fixed already installed menhirlib from findlib
+## This is needed for reinstallation/upgrade process
+#cd /usr/lib${LIBDIRSUFFIX}/ocaml/site-lib/
+#rm -rf menhirLib
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -74,17 +84,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# fix doc and man page path
-sed -i -e 's/share\/doc/doc\//' -e 's/share\/man/man\//' Makefile
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-make -j1 PREFIX=/usr all
-make install PREFIX=$PKG/usr
-
-# "Installing MenhirLib via ocamlfind" ignores PREFIX= :-(
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/ocaml/site-lib
-mv /usr/lib${LIBDIRSUFFIX}/ocaml/site-lib/menhirLib $PKG/usr/lib${LIBDIRSUFFIX}/ocaml/site-lib/
+dune build
+dune install --prefix=$PKG/usr --libdir=lib$LIBDIRSUFFIX/ocaml
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
@@ -93,7 +94,10 @@ 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
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS CHANGES INSTALLATION LICENSE manual.pdf $PKG/usr/doc/$PRGNAM-$VERSION
+( cd $PKG/usr/doc
+ mv $PRGNAM/* coq-menhirlib menhirLib menhirSdk $PKG/usr/doc/$PRGNAM-$VERSION/ )
+rm -fR $PKG/usr/doc/$PRGNAM
+cp -a LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
@@ -101,4 +105,4 @@ 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}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE