summaryrefslogtreecommitdiffstats
path: root/development/textadept/textadept.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'development/textadept/textadept.SlackBuild')
-rw-r--r--development/textadept/textadept.SlackBuild94
1 files changed, 66 insertions, 28 deletions
diff --git a/development/textadept/textadept.SlackBuild b/development/textadept/textadept.SlackBuild
index 79df7c09b6..b834636e3a 100644
--- a/development/textadept/textadept.SlackBuild
+++ b/development/textadept/textadept.SlackBuild
@@ -1,8 +1,9 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for textadept
+# Copyright 2023 Yth | Pont-en-Royans, France | yth@ythogtha.org
# Ryan P.C. McQuen | Everett, WA | ryanpcmcquen@member.fsf.org
-# Copyright 2018 Brenton Earl <brent@exitstatusone.com>
+# Copyright 2018, 2019 Brenton Earl <brent@exitstatusone.com>
# 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
@@ -22,10 +23,13 @@
# along with this program (most likely, a file named COPYING). If
# not, see <https://www.gnu.org/licenses/>.
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=textadept
-VERSION=${VERSION:-10.1}
+VERSION=${VERSION:-12.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -35,7 +39,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}
@@ -43,19 +54,15 @@ OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
- SRCARCH=i386
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
- SRCARCH=i386
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
- SRCARCH=x86_64
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
- SRCARCH=i386
fi
DOCS="CHANGELOG.md FAQ.md LICENSE MEDIA.md README.md TECHNOLOGY.md THANKS.md"
@@ -65,9 +72,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM\_$VERSION.$SRCARCH
-tar xvf $CWD/$PRGNAM\_$VERSION.$SRCARCH.tgz
-cd $PRGNAM\_$VERSION.$SRCARCH/
+rm -rf $PRGNAM-$PRGNAM\_$VERSION
+tar xvf $CWD/$PRGNAM-$PRGNAM\_$VERSION.tar.gz
+cd $PRGNAM-$PRGNAM\_$VERSION/
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -75,29 +82,60 @@ 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 {} \;
-mkdir -p $PKG/opt/$PRGNAM/
-cp -a * $PKG/opt/$PRGNAM/
+mkdir -p build/_deps
+ln -s $CWD/*t20200923.tar.gz build/_deps/t20200923.tar.gz
+ln -s $CWD/*libiconv-1.17.tar.gz build/_deps/libiconv-1.17.tar.gz
+ln -s $CWD/*lexilla510.tgz build/_deps/lexilla510.tgz
+ln -s $CWD/*1_8_0.zip build/_deps/v1_8_0.zip
+ln -s $CWD/*lpeg-1.1.0.tar.gz build/_deps/lpeg-1.1.0.tar.gz
+ln -s $CWD/*lua-5.4.6.tar.gz build/_deps/lua-5.4.6.tar.gz
+ln -s $CWD/*PDCurses-3.9.zip build/_deps/PDCurses-3.9.zip
+ln -s $CWD/*1.0.zip build/_deps/1.0.zip
+ln -s $CWD/*scinterm_5.0.zip build/_deps/scinterm_5.0.zip
+ln -s $CWD/*scintilla541.tgz build/_deps/scintilla541.tgz
+ln -s $CWD/*48a6fc9511ec67993e43ac7f5a33efc616b7ea32.zip build/_deps/48a6fc9511ec67993e43ac7f5a33efc616b7ea32.zip
+ln -s $CWD/*3.4.0.zip build/_deps/v3.4.0.zip
+ln -s $CWD/*libtermkey-0.22.tar.gz build/_deps/libtermkey-0.22.tar.gz
+cmake -S . -B build -D CMAKE_BUILD_TYPE=Release \
+ -D CMAKE_INSTALL_PREFIX=$PKG/usr \
+ -D CMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -D CMAKE_CXX_FLAGS:STRING="$SLKCFLAGS"
+cmake --build build -j
+cmake --install build
+
+# Generate HTML documentation if markdown-it is available.
+if [ -e /usr/bin/markdown-it ]; then
+ pushd build/_deps/lua-src; make; popd
+ LUA=$(pwd)/build/_deps/lua-src/src/lua
+ # Copied from textadept's github workflow, and adapted to our environment
+ FILL_LAYOUT=$(pwd)/scripts/fill_layout.lua
+ sed -i 's/markdown -f toc -T/markdown-it/;s/read\(..\)a/read\1*a/;s/:match.*ul.*//' $FILL_LAYOUT
+
+ pushd $PKG/usr/share/$PRGNAM/docs
+ for file in `ls *.md`; do
+ cat _layouts/default.html | $LUA $FILL_LAYOUT $file > `basename -s .md $file`.html
+ done
+ rm _layouts/default.html
+ rmdir _layouts
+ popd
+fi
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/bin/
-ln -sf /opt/$PRGNAM/"${PRGNAM}" $PKG/usr/bin/
-ln -sf /opt/$PRGNAM/"${PRGNAM}"-curses $PKG/usr/bin/
-ln -sf /opt/$PRGNAM/"${PRGNAM}"jit $PKG/usr/bin/
-ln -sf /opt/$PRGNAM/"${PRGNAM}"jit-curses $PKG/usr/bin/
-ln -sf /opt/$PRGNAM/"${PRGNAM}" $PKG/usr/bin/tad
-ln -sf /opt/$PRGNAM/"${PRGNAM}"-curses $PKG/usr/bin/tadc
-
-mkdir -p $PKG/usr/share/pixmaps/
-ln -sf /opt/$PRGNAM/core/images/${PRGNAM}.png $PKG/usr/share/pixmaps/
-ln -sf /opt/$PRGNAM/core/images/${PRGNAM}-curses.png $PKG/usr/share/pixmaps/
+# More compact binary names
+ln -sf ${PRGNAM} $PKG/usr/bin/tad
+ln -sf ${PRGNAM}-gtk $PKG/usr/bin/tadg
+ln -sf ${PRGNAM}-curses $PKG/usr/bin/tadc
-mkdir -p $PKG/usr/share/applications
-install -m644 src/$PRGNAM.desktop $PKG/usr/share/applications
-install -m644 src/$PRGNAM-curses.desktop $PKG/usr/share/applications
+# Better menu entry : differentiates between Qt and Gtk version
+sed -i 's/Name=Textadept/Name=Textadept (Qt)/' $PKG/usr/share/$PRGNAM/"${PRGNAM}".desktop
+sed -i 's/Name=Textadept/Name=Textadept (Gtk)/' $PKG/usr/share/$PRGNAM/"${PRGNAM}"-gtk.desktop
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/
+cp -a README* LICENSE* $PKG/usr/doc/$PRGNAM-$VERSION/
+# Doc in /usr/share/$PRGNAM/docs is used for help inside program
+ln -sf /usr/share/$PRGNAM/docs $PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
@@ -105,4 +143,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