diff options
Diffstat (limited to 'development/lazarus/lazarus.SlackBuild')
-rw-r--r-- | development/lazarus/lazarus.SlackBuild | 95 |
1 files changed, 69 insertions, 26 deletions
diff --git a/development/lazarus/lazarus.SlackBuild b/development/lazarus/lazarus.SlackBuild index 11b00e1d66..49821eec55 100644 --- a/development/lazarus/lazarus.SlackBuild +++ b/development/lazarus/lazarus.SlackBuild @@ -2,7 +2,9 @@ # Slackware build script for Lazarus IDE -# Written by Andre Barboza <bmg.andre@gmail.com> +# Maintained by Antonio Leal <antonioleal@yahoo.com> +# Previously maintained by B. Watson <urchlay@slackware.uk> +# Originally written by Andre Barboza <email removed> # Redistribution and use of this script, with or without modification, is # permitted provided that the following conditions are met: @@ -21,19 +23,40 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# 20231229 ALe: Upgrade to Lazarus 3.0 +# - moved fpc-source to fpc package (with new option for the user to exclude it). +# - added option to build lazarus with qt5 instead of gtk2. +# - commented lhelp link correction as sbopkglint does not complain anymore. + +# 20220414 bkw: BUILD=2 +# - fix PRINT_PACKAGE_NAME when ARCH not set in environment. +# - add gtk-update-icon-cache to doinst.sh. +# - remove empty files from doc dir. +# - fix broken symlink. + +# 20210905 bkw: +# - take over maintenance +# - update for v2.0.12 +# - get rid of fpc-source dep; include the source in this package + cd $(dirname $0) ; CWD=$(pwd) PRGNAM=lazarus -VERSION=${VERSION:-2.0.6} +VERSION=${VERSION:-3.2} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} LCL=${LCL:-gtk2} +OPT=${OPT:--v000} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + *) ARCH=$( uname -m ) ;; + esac +fi -# 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 @@ -43,13 +66,6 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - *) ARCH=$( uname -m ) ;; - esac -fi - if [ "$ARCH" != "x86_64" ] && [ "$ARCH" != "i586" ] && [ "$ARCH" != "i686" ]; then printf "\nThis won't build on $ARCH.\n\n" exit 1 @@ -57,24 +73,30 @@ fi set -e +fixperms() { + chown -R root:root . + find -L . -type l -o \ + -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ +} + +# extract source tarball rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +tar xvf $CWD/$PRGNAM-$VERSION-0.tar.gz cd $PRGNAM -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 \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# fix permssions +fixperms + +# patch things up sed -i -e 's:share/man:man:' install/man/Makefile # Compilation doesn't need ./configure make clean -make -j1 all \ +make -j1 bigide \ PREFIX=/usr \ LCL_PLATFORM=${LCL} \ OPT=${OPT} @@ -88,20 +110,41 @@ make install \ ln -sf ../share/lazarus/lazbuild ln -sf ../share/lazarus/startlazarus ) +# add link to lazarus-ide man page +( cd $PKG/usr/man/man1 + ln -sf lazarus-ide.1.gz lazarus.1.gz +) -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 +# strip binaries and libraries +find $PKG -print0 -type f -a -perm /111 | \ + xargs -0 file -m /etc/file/magic/elf | \ + grep -e "executable" -e "shared object" | \ + grep ELF | \ + cut -f 1 -d : | \ + xargs strip --strip-unneeded 2> /dev/null || true -# Install desktop file, icon, and mime entry +# install desktop file, icon, and mime entry mkdir -p $PKG/usr/share/{applications,pixmaps,mime/packages} cat install/lazarus.desktop > $PKG/usr/share/applications/lazarus.desktop cat images/ide_icon48x48.png > $PKG/usr/share/pixmaps/lazarus.png cat install/lazarus-mime.xml > $PKG/usr/share/mime/packages/lazarus-mime.xml -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -ra COPYING* README.txt docs/* examples/ $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +# copy documentation and examples +PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION +mkdir -p $PKGDOC +cp -ra COPYING* README.md docs/* examples/ $PKGDOC +cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild + +rm -f $PKGDOC/INSTALL.txt +find $PKGDOC -depth -type d -empty -delete + +# 20220414 bkw: this symlink is mistargeted... fixed, and don't freak out +# if sbopkglint complains about a filesystem loop (there really is one). +# 20231229 ALe: sbopkglint does not complain anymore +#rm -f $PKG/usr/share/lazarus/components/chmhelp/lhelp/lhelp.app/Contents/MacOS/lhelp +#ln -s ../../../../lhelp $PKG/usr/share/lazarus/components/chmhelp/lhelp/lhelp.app/Contents/MacOS/lhelp +# build package mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh |