diff options
Diffstat (limited to 'patches')
-rw-r--r-- | patches/packages/emacs-29.3-x86_64-2_slack15.0.txt (renamed from patches/packages/emacs-29.3-x86_64-1_slack15.0.txt) | 0 | ||||
-rw-r--r-- | patches/packages/krusader-2.8.1-x86_64-1_slack15.0.txt (renamed from patches/packages/krusader-2.8.0-x86_64-1_slack15.0.txt) | 0 | ||||
-rw-r--r-- | patches/packages/ruby-3.0.7-x86_64-1_slack15.0.txt (renamed from patches/packages/ruby-3.0.6-x86_64-1_slack15.0.txt) | 0 | ||||
-rwxr-xr-x | patches/source/emacs/emacs.SlackBuild | 128 |
4 files changed, 58 insertions, 70 deletions
diff --git a/patches/packages/emacs-29.3-x86_64-1_slack15.0.txt b/patches/packages/emacs-29.3-x86_64-2_slack15.0.txt index 23df85fc9..23df85fc9 100644 --- a/patches/packages/emacs-29.3-x86_64-1_slack15.0.txt +++ b/patches/packages/emacs-29.3-x86_64-2_slack15.0.txt diff --git a/patches/packages/krusader-2.8.0-x86_64-1_slack15.0.txt b/patches/packages/krusader-2.8.1-x86_64-1_slack15.0.txt index a12040167..a12040167 100644 --- a/patches/packages/krusader-2.8.0-x86_64-1_slack15.0.txt +++ b/patches/packages/krusader-2.8.1-x86_64-1_slack15.0.txt diff --git a/patches/packages/ruby-3.0.6-x86_64-1_slack15.0.txt b/patches/packages/ruby-3.0.7-x86_64-1_slack15.0.txt index 1adf40b95..1adf40b95 100644 --- a/patches/packages/ruby-3.0.6-x86_64-1_slack15.0.txt +++ b/patches/packages/ruby-3.0.7-x86_64-1_slack15.0.txt diff --git a/patches/source/emacs/emacs.SlackBuild b/patches/source/emacs/emacs.SlackBuild index cfd09e29e..4a8ef5bf2 100755 --- a/patches/source/emacs/emacs.SlackBuild +++ b/patches/source/emacs/emacs.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2008, 2009, 2010, 2011, 2012, 2014, 2015, 2017, 2018, 2019, 2020, 2021, 2024 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2011, 2012, 2014, 2015, 2017, 2018, 2019, 2020, 2021, 2023, 2024 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -26,10 +26,11 @@ cd $(dirname $0) ; CWD=$(pwd) -PKGNAM=emacs -BUILD=${BUILD:-1_slack15.0} +PKGNAM=${PKGNAM:-emacs} +SRCNAM=emacs +BUILD=${BUILD:-2_slack15.0} # Determine version number the tarball is labeled with: -TARBALLVER=${TARBALLVER:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +TARBALLVER=${TARBALLVER:-$(echo $SRCNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} # OK, now what's being used as the source directory version number... account # for subversions a, b, c, and d in the $TARBALLVER: SRCDIRVER=$(echo $TARBALLVER | tr -d a | tr -d b | tr -d c | tr -d d) @@ -37,11 +38,40 @@ SRCDIRVER=$(echo $TARBALLVER | tr -d a | tr -d b | tr -d c | tr -d d) # defining it is traditional: VERSION=$SRCDIRVER +# Build Emacs with native compilation. This has better performance, but the +# installed package is larger. Pass NATIVECOMP=NO to do a normal build. +NATIVECOMP=${NATIVECOMP:-NO} + +# Do we want X support? (causes Emacs to be linked with many X11 libraries): +WITHX=${WITHX:-YES} + +# Pass this variable set to "--with-pgtk" to use GTK+3 without linking to X11 +# libraries. This might be suitable if you're going to run under Wayland. +PGTK_OPTION=${PGTK_OPTION:-} + +# Set the X related options. The default X_TOOLKIT will be GTK+3, but you may +# set the X_TOOLKIT variable to any of these: gtk, gtk2, gtk3, lucid, athena, motif. +if [ "$WITHX" = "YES" ]; then + if [ "$PGTK_OPTION" = "--with-pgtk" ]; then + X_TOOLKIT=gtk3 + fi + X_OPTIONS="--with-x --with-x-toolkit=${X_TOOLKIT:-gtk3}" +else + X_OPTIONS="--with-x=no" +fi + +# Set the proper options for native compilation or not: +if [ "$NATIVECOMP" = "YES" ]; then + PDUMPER=${PDUMPER:-"--with-dumping=pdumper --with-native-compilation"} +else + PDUMPER=${PDUMPER:-"--with-pdumper=auto --without-native-compilation"} +fi + # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$(uname -m)" in i?86) ARCH=i586 ;; - arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$(uname -m) ;; esac @@ -70,9 +100,6 @@ else SLKCFLAGS="-O2" fi -# Without this, the emacs-no-x11 binary won't work with the installed files: -PDUMPER=${PDUMPER:-"--with-pdumper=no --with-dumping=unexec"} - # Don't use icecream: PATH=$(echo $PATH | sed "s|/usr/libexec/icecc/bin||g" | tr -s : | sed "s/^://g" | sed "s/:$//g") @@ -84,9 +111,9 @@ PKG=$TMP/package-$PKGNAM rm -rf $PKG mkdir -p $TMP $PKG cd $TMP -rm -rf $PKGNAM-$TARBALLVER -tar xvf $CWD/$PKGNAM-$TARBALLVER.tar.xz || exit 1 -cd $PKGNAM-$SRCDIRVER || exit 1 +rm -rf $SRCNAM-$TARBALLVER +tar xvf $CWD/$SRCNAM-$TARBALLVER.tar.xz || exit 1 +cd $SRCNAM-$SRCDIRVER || exit 1 chown -R root:root . find . \ @@ -99,8 +126,6 @@ find . \ # memory given the amount available on modern systems: sed -i "s/#define SYSTEM_PURESIZE_EXTRA 0/#define SYSTEM_PURESIZE_EXTRA 100000/g" src/puresize.h -#autoreconf -vif - CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ @@ -114,66 +139,18 @@ CXXFLAGS="$SLKCFLAGS" \ --without-gconf \ --without-gsettings \ --with-modules \ - --with-x \ - --with-x-toolkit=${X_TOOLKIT:-gtk3} \ + $X_OPTIONS \ + $PGTK_OPTION \ $PDUMPER \ --build=${ARCH}-slackware-linux || exit 1 -make $NUMJOBS || make || exit 1 +if [ "$NATIVECOMP" = "YES" ]; then + make NATIVE_FULL_AOT=1 bootstrap $NUMJOBS || make NATIVE_FULL_AOT=1 || exit 1 +else + make $NUMJOBS || make || exit 1 +fi make install DESTDIR=$PKG || exit 1 -( cd $PKG/usr/bin - rm emacs - mv emacs-${SRCDIRVER} emacs-${TARBALLVER}-with-x11 -) - -# Also add a version of the binary that is not linked to X11: -cd $TMP -rm -rf $PKGNAM-$TARBALLVER -tar xvf $CWD/$PKGNAM-$TARBALLVER.tar.xz || exit 1 -cd $PKGNAM-$SRCDIRVER || exit 1 - -zcat $CWD/d48bb4874bc6cd3e69c7a15fc3c91cc141025c51.patch.gz | patch -p1 --verbose || exit 1 - -chown -R root:root . -find . \ - \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \+ -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \+ - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --program-prefix="" \ - --program-suffix="" \ - --mandir=/usr/man \ - --infodir=/usr/info \ - --without-gconf \ - --without-gsettings \ - --with-modules \ - --with-x=no \ - $PDUMPER \ - --build=${ARCH}-slackware-linux || exit 1 - -make $NUMJOBS || make || exit 1 - -# Install the non-x version: -cat src/emacs > $PKG/usr/bin/emacs-${TARBALLVER}-no-x11 -chown root:root $PKG/usr/bin/emacs-${TARBALLVER}-no-x11 -chmod 1755 $PKG/usr/bin/emacs-${TARBALLVER}-no-x11 - -# Create unversioned symlinks for both versions of emacs: -( cd $PKG/usr/bin - ln -sf emacs-${TARBALLVER}-with-x11 emacs-with-x11 - ln -sf emacs-${TARBALLVER}-no-x11 emacs-no-x11 - # Create a plain "emacs" symlink pointing to emacs-with-x11: - ln -sf emacs-with-x11 emacs -) - # Seems like this nonsense is finally obsolete: if [ -d $PKG/var/games/emacs ]; then # I don't care for broken permissions. @@ -205,9 +182,16 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" \ mkdir -p $PKG/usr/doc/$PKGNAM-$TARBALLVER cp -a \ - AUTHORS COPYING* INSTALL README* \ + AUTHORS* COPYING* INSTALL* README* \ $PKG/usr/doc/$PKGNAM-$TARBALLVER +# Link the latest NEWS file: +( cd $PKG/usr/doc/$PKGNAM-$TARBALLVER + if [ -r $PKG/usr/share/emacs/$SRCDIRVER/etc/NEWS ]; then + ln -sf /usr/share/emacs/$SRCDIRVER/etc/NEWS . + fi +) + # If there's a ChangeLog, installing at least part of the recent history # is useful, but don't let it get totally out of control: if [ -r ChangeLog ]; then @@ -222,7 +206,11 @@ zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh # Tag packages that use a toolkit other than default (currently gtk3): if [ -z "$TAG" ] && [ ! -z "$X_TOOLKIT" ]; then - TAG="_$X_TOOLKIT" + if [ "$PGTK_OPTION" = "--with-pgtk" ]; then + TAG="_pgtk" + else + TAG="_$X_TOOLKIT" + fi fi cd $PKG |