diff options
Diffstat (limited to 'development/textadept/textadept.SlackBuild')
-rw-r--r-- | development/textadept/textadept.SlackBuild | 94 |
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 |