summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rwxr-xr-xsource/d/cargo-vendor-filterer/cargo-vendor-filterer.SlackBuild (renamed from source/xap/mozilla-firefox/build-deps/nodejs/nodejs.build)91
-rwxr-xr-xsource/d/cargo-vendor-filterer/fetch-sources.sh45
-rw-r--r--source/d/cargo-vendor-filterer/slack-desc19
-rwxr-xr-xsource/d/cbindgen/cbindgen.SlackBuild (renamed from source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.build)91
-rwxr-xr-xsource/d/cbindgen/fetch-sources.sh34
-rw-r--r--source/d/cbindgen/slack-desc19
-rwxr-xr-xsource/d/rust-bindgen/fetch-sources.sh35
-rwxr-xr-xsource/d/rust-bindgen/rust-bindgen.SlackBuild126
-rw-r--r--source/d/rust-bindgen/slack-desc19
-rwxr-xr-xsource/l/pcre2/pcre2.SlackBuild2
-rw-r--r--source/l/pcre2/pcre2.url3
-rwxr-xr-xsource/n/proftpd/proftpd.SlackBuild4
-rwxr-xr-xsource/x/mesa/mesa.SlackBuild2
-rw-r--r--source/x/x11/build/xdm2
-rw-r--r--source/x/x11/doinst.sh/xdm5
-rw-r--r--source/x/x11/patch/xdm.patch6
-rw-r--r--source/x/x11/patch/xdm/xdm-1.1.11-setproctitle-include.patch37
-rw-r--r--source/x/x11/patch/xdm/xdm.arc4random.diff67
-rw-r--r--source/x/x11/patch/xdm/xdm.glibc.crypt.diff42
-rwxr-xr-xsource/xap/mozilla-firefox/build-deps.sh8
-rwxr-xr-xsource/xap/mozilla-firefox/build-deps/cbindgen/cbindgen.build57
-rw-r--r--source/xap/mozilla-firefox/build-deps/cbindgen/cbindgen.url1
-rw-r--r--source/xap/mozilla-firefox/build-deps/nodejs/nodejs.url2
-rwxr-xr-xsource/xap/mozilla-thunderbird/build-deps.sh8
-rwxr-xr-xsource/xap/mozilla-thunderbird/build-deps/cbindgen/cbindgen.build57
-rw-r--r--source/xap/mozilla-thunderbird/build-deps/cbindgen/cbindgen.url1
-rw-r--r--source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.url2
-rwxr-xr-xsource/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild3
-rw-r--r--source/xap/mozilla-thunderbird/thunderbird.cbindgen-0.24.3.diff10
29 files changed, 447 insertions, 351 deletions
diff --git a/source/xap/mozilla-firefox/build-deps/nodejs/nodejs.build b/source/d/cargo-vendor-filterer/cargo-vendor-filterer.SlackBuild
index aa09beaba..74eaedbbb 100755
--- a/source/xap/mozilla-firefox/build-deps/nodejs/nodejs.build
+++ b/source/d/cargo-vendor-filterer/cargo-vendor-filterer.SlackBuild
@@ -1,6 +1,7 @@
-#!/bin/sh
+#!/bin/bash
-# Copyright 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2022 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2022 Heinz Wiesinger, Amsterdam, The Netherlands
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,18 +21,29 @@
# 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)
-PKGNAM=node
+PKGNAM=cargo-vendor-filterer
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i686 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
+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 "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -56,39 +68,58 @@ else
LIBDIRSUFFIX=""
fi
-CWD=$(pwd)
TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
-mkdir -p $TMP
-mkdir -p $TMP/mozilla-firefox-build-deps/usr
+rm -rf $PKG
+mkdir -p $TMP $PKG
cd $TMP
-rm -rf node-$VERSION
-tar xvf $CWD/node-$VERSION.tar.?z || exit 1
-cd node-$VERSION
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+tar xvf $CWD/cargo-$PKGNAM-$VERSION.tar.?z || exit 1
+mv cargo-$PKGNAM-$VERSION vendor
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
+ -exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
+ -exec chmod 644 {} \+
-# Fix paths for $LIBDIRSUFFIX (if needed):
-if [ ! -z $LIBDIRSUFFIX ]; then
- sed -i "s|\"lib\"|\"lib${LIBDIRSUFFIX}\"|" deps/npm/lib/npm.js
- sed -i "s/'lib'/'lib${LIBDIRSUFFIX}'/" lib/module.js
- sed -i "s|lib/|lib${LIBDIRSUFFIX}/|g" tools/install.py
-fi
+# Configure cargo for offline builds
+mkdir -p .cargo
+cat << EOF >> .cargo/config.toml
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "vendor"
+EOF
-# Use gcc as there have been linker failures with objects build with clang:
-CC="gcc" \
-CXX="g++" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=$TMP/mozilla-firefox-build-deps/usr \
- --shared-zlib \
- --without-ssl
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
+OPENSSL_NO_VENDOR=1 \
+cargo build \
+ --offline \
+ --release \
+ --target $ARCH-unknown-linux-gnu \
+ $NUMJOBS
+
+mkdir -p $PKG/usr/bin
+install -m 755 target/$ARCH-unknown-linux-gnu/release/cargo-vendor-filterer \
+ $PKG/usr/bin/
+
+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/doc/$PKGNAM-$VERSION
+cp -a *.md LICENSE \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/d/cargo-vendor-filterer/fetch-sources.sh b/source/d/cargo-vendor-filterer/fetch-sources.sh
new file mode 100755
index 000000000..bab3da7c4
--- /dev/null
+++ b/source/d/cargo-vendor-filterer/fetch-sources.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+VERSION=${VERSION:-0.5.7}
+
+rm -rf cargo-vendor-filterer-*.tar.?z cargo-cargo-vendor-filterer*
+
+echo "Downloading cargo-vendor-filterer-$VERSION..."
+
+wget --content-disposition "https://github.com/coreos/cargo-vendor-filterer/archive/refs/tags/v$VERSION.tar.gz"
+
+tar xf cargo-vendor-filterer-$VERSION.tar.gz
+
+tar cf cargo-vendor-filterer-$VERSION.tar cargo-vendor-filterer-$VERSION
+
+cd cargo-vendor-filterer-$VERSION
+
+ # Configure cargo-vendor-filterer
+ cat << EOF >> Cargo.toml
+[package.metadata.vendor-filter]
+platforms = ["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu"]
+all-features = true
+exclude-crate-paths = [
+ { name = "openssl-src", exclude = "openssl" },
+]
+EOF
+
+
+ if ! [ -f /usr/bin/cargo-vendor-filterer ]; then
+ echo "WARNING: Creating unfiltered vendor libs tarball!"
+ cargo vendor
+ else
+ cargo vendor-filterer
+ fi
+
+ mv vendor ../cargo-cargo-vendor-filterer-$VERSION
+cd ..
+
+tar cf cargo-cargo-vendor-filterer-$VERSION.tar cargo-cargo-vendor-filterer-$VERSION
+
+plzip -9 cargo-cargo-vendor-filterer-$VERSION.tar
+plzip -9 cargo-vendor-filterer-$VERSION.tar
+
+rm -rf cargo-vendor-filterer-$VERSION
+rm -rf cargo-cargo-vendor-filterer-$VERSION
+rm -f cargo-vendor-filterer-$VERSION.tar.gz
diff --git a/source/d/cargo-vendor-filterer/slack-desc b/source/d/cargo-vendor-filterer/slack-desc
new file mode 100644
index 000000000..1c8d67c1e
--- /dev/null
+++ b/source/d/cargo-vendor-filterer/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+cargo-vendor-filterer: cargo-vendor-filterer (Vendor rust libraries based on filters)
+cargo-vendor-filterer:
+cargo-vendor-filterer: cargo-vendor-filterer works like "cargo vendor", but supports filters
+cargo-vendor-filterer: that allow excluding libraries one isn't interested in, like
+cargo-vendor-filterer: libraries only needed on other platforms, etc.
+cargo-vendor-filterer:
+cargo-vendor-filterer: Homepage: https://github.com/coreos/cargo-vendor-filterer
+cargo-vendor-filterer:
+cargo-vendor-filterer:
+cargo-vendor-filterer:
+cargo-vendor-filterer:
diff --git a/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.build b/source/d/cbindgen/cbindgen.SlackBuild
index e07f5a72e..eafbb61a0 100755
--- a/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.build
+++ b/source/d/cbindgen/cbindgen.SlackBuild
@@ -1,6 +1,7 @@
-#!/bin/sh
+#!/bin/bash
-# Copyright 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2022 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2022 Heinz Wiesinger, Amsterdam, The Netherlands
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,18 +21,29 @@
# 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)
-PKGNAM=node
+PKGNAM=cbindgen
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i686 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
+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 "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -56,39 +68,58 @@ else
LIBDIRSUFFIX=""
fi
-CWD=$(pwd)
TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
-mkdir -p $TMP
-mkdir -p $TMP/mozilla-thunderbird-build-deps/usr
+rm -rf $PKG
+mkdir -p $TMP $PKG
cd $TMP
-rm -rf node-$VERSION
-tar xvf $CWD/node-$VERSION.tar.?z || exit 1
-cd node-$VERSION
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+tar xvf $CWD/cargo-$PKGNAM-$VERSION.tar.?z || exit 1
+mv cargo-$PKGNAM-$VERSION vendor
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
+ -exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
+ -exec chmod 644 {} \+
-# Fix paths for $LIBDIRSUFFIX (if needed):
-if [ ! -z $LIBDIRSUFFIX ]; then
- sed -i "s|\"lib\"|\"lib${LIBDIRSUFFIX}\"|" deps/npm/lib/npm.js
- sed -i "s/'lib'/'lib${LIBDIRSUFFIX}'/" lib/module.js
- sed -i "s|lib/|lib${LIBDIRSUFFIX}/|g" tools/install.py
-fi
+# Configure cargo for offline builds
+mkdir -p .cargo
+cat << EOF >> .cargo/config.toml
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "vendor"
+EOF
-# Use gcc as there have been linker failures with objects build with clang:
-CC="gcc" \
-CXX="g++" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=$TMP/mozilla-thunderbird-build-deps/usr \
- --shared-zlib \
- --without-ssl
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
+RUSTONIG_DYNAMIC_LIBONIG=1 \
+cargo build \
+ --offline \
+ --release \
+ --target $ARCH-unknown-linux-gnu \
+ --verbose \
+ $NUMJOBS || exit 1
+
+mkdir -p $PKG/usr/bin
+install -m 755 target/$ARCH-unknown-linux-gnu/release/cbindgen $PKG/usr/bin
+
+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/doc/$PKGNAM-$VERSION
+cp -a CHANGES *.md LICENSE* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/d/cbindgen/fetch-sources.sh b/source/d/cbindgen/fetch-sources.sh
new file mode 100755
index 000000000..17822dd6a
--- /dev/null
+++ b/source/d/cbindgen/fetch-sources.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+VERSION=${VERSION:-0.24.3}
+
+rm -rf cbindgen-*.tar.?z cargo-cbindgen*
+
+echo "Downloading cbindgen-$VERSION..."
+
+wget --content-disposition "https://github.com/eqrion/cbindgen/archive/refs/tags/v$VERSION.tar.gz"
+
+tar xf cbindgen-$VERSION.tar.gz
+
+tar cf cbindgen-$VERSION.tar cbindgen-$VERSION
+
+cd cbindgen-$VERSION
+
+ if ! [ -f /usr/bin/cargo-vendor-filterer ]; then
+ echo "WARNING: Creating unfiltered vendor libs tarball!"
+ cargo vendor
+ else
+ cargo vendor-filterer --platform="x86_64-unknown-linux-gnu" --platform="i686-unknown-linux-gnu"
+ fi
+
+ mv vendor ../cargo-cbindgen-$VERSION
+cd ..
+
+tar cf cargo-cbindgen-$VERSION.tar cargo-cbindgen-$VERSION
+
+plzip -9 cargo-cbindgen-$VERSION.tar
+plzip -9 cbindgen-$VERSION.tar
+
+rm -rf cbindgen-$VERSION
+rm -rf cargo-cbindgen-$VERSION
+rm -f cbindgen-$VERSION.tar.gz
diff --git a/source/d/cbindgen/slack-desc b/source/d/cbindgen/slack-desc
new file mode 100644
index 000000000..059507fca
--- /dev/null
+++ b/source/d/cbindgen/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+cbindgen: cbindgen (Generate C/C++ headers for Rust libraries)
+cbindgen:
+cbindgen: cbindgen creates C/C++11 headers for Rust libraries which expose a
+cbindgen: public C API. While you could do this by hand, it's not a particularly
+cbindgen: good use of your time. It's also much more likely to be error-prone
+cbindgen: than machine-generated headers that are based on your actual Rust
+cbindgen: code. The cbindgen developers have also worked closely with the
+cbindgen: developers of Rust to ensure that the headers we generate reflect
+cbindgen: actual guarantees about Rust's type layout and ABI.
+cbindgen:
+cbindgen: Homepage: https://github.com/eqrion/cbindgen
diff --git a/source/d/rust-bindgen/fetch-sources.sh b/source/d/rust-bindgen/fetch-sources.sh
new file mode 100755
index 000000000..3a2ad0074
--- /dev/null
+++ b/source/d/rust-bindgen/fetch-sources.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+#VERSION=$1
+VERSION=0.63.0
+
+rm -rf rust-bindgen-*.tar.?z cargo-rust-bindgen*
+
+echo "Downloading rust-bindgen-$VERSION..."
+
+wget --content-disposition "https://github.com/rust-lang/rust-bindgen/archive/refs/tags/v$VERSION.tar.gz"
+
+tar xf rust-bindgen-$VERSION.tar.gz
+
+tar cf rust-bindgen-$VERSION.tar rust-bindgen-$VERSION
+
+cd rust-bindgen-$VERSION
+
+ if ! [ -f /usr/bin/cargo-vendor-filterer ]; then
+ echo "WARNING: Creating unfiltered vendor libs tarball!"
+ cargo vendor
+ else
+ cargo vendor-filterer --platform="x86_64-unknown-linux-gnu" --platform="i686-unknown-linux-gnu"
+ fi
+
+ mv vendor ../cargo-rust-bindgen-$VERSION
+cd ..
+
+tar cf cargo-rust-bindgen-$VERSION.tar cargo-rust-bindgen-$VERSION
+
+plzip -9 cargo-rust-bindgen-$VERSION.tar
+plzip -9 rust-bindgen-$VERSION.tar
+
+rm -rf rust-bindgen-$VERSION
+rm -rf cargo-rust-bindgen-$VERSION
+rm -f rust-bindgen-$VERSION.tar.gz
diff --git a/source/d/rust-bindgen/rust-bindgen.SlackBuild b/source/d/rust-bindgen/rust-bindgen.SlackBuild
new file mode 100755
index 000000000..cc39557f1
--- /dev/null
+++ b/source/d/rust-bindgen/rust-bindgen.SlackBuild
@@ -0,0 +1,126 @@
+#!/bin/bash
+
+# Copyright 2022 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2022 Heinz Wiesinger, Amsterdam, The Netherlands
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# 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)
+
+PKGNAM=rust-bindgen
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i686 ;;
+ arm*) readelf /usr/bin/file -A | egrep -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
+ export ARCH
+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 "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+tar xvf $CWD/cargo-$PKGNAM-$VERSION.tar.?z || exit 1
+mv cargo-$PKGNAM-$VERSION vendor
+
+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 {} \+
+
+# Configure cargo for offline builds
+mkdir -p .cargo
+cat << EOF >> .cargo/config.toml
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "vendor"
+EOF
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+RUSTONIG_DYNAMIC_LIBONIG=1 \
+cargo build \
+ --offline \
+ --release \
+ --target $ARCH-unknown-linux-gnu \
+ --verbose \
+ $NUMJOBS || exit 1
+
+mkdir -p $PKG/usr/bin
+install -m 755 target/$ARCH-unknown-linux-gnu/release/bindgen \
+ $PKG/usr/bin/
+
+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/doc/$PKGNAM-$VERSION
+cp -a *.md LICENSE* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/d/rust-bindgen/slack-desc b/source/d/rust-bindgen/slack-desc
new file mode 100644
index 000000000..c8a4bfa68
--- /dev/null
+++ b/source/d/rust-bindgen/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+rust-bindgen: rust-bindgen (Generate Rust FFI bindings to C and C++ libraries)
+rust-bindgen:
+rust-bindgen: bindgen automatically generates Rust FFI bindings to C (and some C++)
+rust-bindgen: libraries.
+rust-bindgen:
+rust-bindgen: Homepage: https://github.com/rust-lang/rust-bindgen
+rust-bindgen:
+rust-bindgen:
+rust-bindgen:
+rust-bindgen:
+rust-bindgen:
diff --git a/source/l/pcre2/pcre2.SlackBuild b/source/l/pcre2/pcre2.SlackBuild
index 07bfdd6b8..b67da25a1 100755
--- a/source/l/pcre2/pcre2.SlackBuild
+++ b/source/l/pcre2/pcre2.SlackBuild
@@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=pcre2
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
diff --git a/source/l/pcre2/pcre2.url b/source/l/pcre2/pcre2.url
index a7a28ed13..ec7286f89 100644
--- a/source/l/pcre2/pcre2.url
+++ b/source/l/pcre2/pcre2.url
@@ -1 +1,2 @@
-https://github.com/PhilipHazel/pcre2/releases
+https://github.com/PCRE2Project/pcre2
+https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.41/pcre2-10.41.tar.bz2
diff --git a/source/n/proftpd/proftpd.SlackBuild b/source/n/proftpd/proftpd.SlackBuild
index c4b3564bd..caae41eed 100755
--- a/source/n/proftpd/proftpd.SlackBuild
+++ b/source/n/proftpd/proftpd.SlackBuild
@@ -23,8 +23,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=proftpd
-VERSION=1.3.7e
-DIRVER=1.3.7e
+VERSION=1.3.8
+DIRVER=1.3.8
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
diff --git a/source/x/mesa/mesa.SlackBuild b/source/x/mesa/mesa.SlackBuild
index 36a80cf73..6f42f6607 100755
--- a/source/x/mesa/mesa.SlackBuild
+++ b/source/x/mesa/mesa.SlackBuild
@@ -131,6 +131,8 @@ meson setup \
-Dplatforms=x11,wayland \
-Dgallium-opencl=icd \
-Dgallium-nine=true \
+ -Dgallium-rusticl=true \
+ -Drust_std=2021 \
-Dosmesa=true \
-Dgallium-drivers=$GALLIUM_DRIVERS \
-Dvulkan-drivers=amd,intel,swrast \
diff --git a/source/x/x11/build/xdm b/source/x/x11/build/xdm
index 8351c1939..d00491fd7 100644
--- a/source/x/x11/build/xdm
+++ b/source/x/x11/build/xdm
@@ -1 +1 @@
-14
+1
diff --git a/source/x/x11/doinst.sh/xdm b/source/x/x11/doinst.sh/xdm
index fc3b5a679..78d53d822 100644
--- a/source/x/x11/doinst.sh/xdm
+++ b/source/x/x11/doinst.sh/xdm
@@ -21,3 +21,8 @@ do
config etc/X11/xdm/${conffile}.new
done
+# Prevent a black background for login/password when upgrading from xdm-1.1.1
+# and ignoring the .new files :-)
+if ! grep -q inpColor etc/X11/xdm/Xresources ; then
+ echo 'xlogin*inpColor: grey80' >> etc/X11/xdm/Xresources
+fi
diff --git a/source/x/x11/patch/xdm.patch b/source/x/x11/patch/xdm.patch
deleted file mode 100644
index e9b5ec3cd..000000000
--- a/source/x/x11/patch/xdm.patch
+++ /dev/null
@@ -1,6 +0,0 @@
-zcat $CWD/patch/xdm/xdm.glibc.crypt.diff.gz | patch -p1 --verbose || \
- { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-zcat $CWD/patch/xdm/xdm-1.1.11-setproctitle-include.patch.gz | patch -p1 --verbose || \
- { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
-zcat $CWD/patch/xdm/xdm.arc4random.diff.gz | patch -p1 --verbose || \
- { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/x/x11/patch/xdm/xdm-1.1.11-setproctitle-include.patch b/source/x/x11/patch/xdm/xdm-1.1.11-setproctitle-include.patch
deleted file mode 100644
index 0a3f32bbe..000000000
--- a/source/x/x11/patch/xdm/xdm-1.1.11-setproctitle-include.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -ur a/xdm/choose.c b/xdm/choose.c
---- a/xdm/choose.c 2011-09-25 09:35:47.000000000 +0200
-+++ b/xdm/choose.c 2014-01-06 16:33:09.628065364 +0100
-@@ -54,6 +54,14 @@
- # include <tiuser.h>
- # endif
-
-+# ifdef HAVE_SETPROCTITLE
-+# ifdef __linux__
-+# include <bsd/unistd.h>
-+# else
-+# include <unistd.h>
-+# endif
-+# endif
-+
- # include <time.h>
- # define Time_t time_t
-
-diff -ur a/xdm/session.c b/xdm/session.c
---- a/xdm/session.c 2011-09-25 09:35:47.000000000 +0200
-+++ b/xdm/session.c 2014-01-06 16:40:57.508072789 +0100
-@@ -54,6 +54,15 @@
- # include <usersec.h>
- #endif
-
-+# ifdef HAVE_SETPROCTITLE
-+# include <sys/types.h>
-+# ifdef __linux__
-+# include <bsd/unistd.h>
-+# else
-+# include <unistd.h>
-+# endif
-+# endif
-+
- #ifndef USE_PAM /* PAM modules should handle these */
- # ifdef SECURE_RPC
- # include <rpc/rpc.h>
diff --git a/source/x/x11/patch/xdm/xdm.arc4random.diff b/source/x/x11/patch/xdm/xdm.arc4random.diff
deleted file mode 100644
index 06948e63e..000000000
--- a/source/x/x11/patch/xdm/xdm.arc4random.diff
+++ /dev/null
@@ -1,67 +0,0 @@
-diff -aurN xdm-1.1.11/xdm/genauth.c xdm-20220911_468b760/xdm/genauth.c
---- xdm-1.1.11/xdm/genauth.c 2011-09-25 09:35:47.000000000 +0200
-+++ xdm-20220911_468b760/xdm/genauth.c 2022-10-08 06:24:57.000000000 +0200
-@@ -40,6 +40,22 @@
-
- #include <errno.h>
-
-+#ifdef HAVE_ARC4RANDOM
-+# ifdef __linux__
-+# if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
-+# if __GLIBC_PREREQ(2, 36)
-+# include <stdlib.h>
-+# else
-+# include <bsd/stdlib.h>
-+# endif
-+# else
-+# include <bsd/stdlib.h>
-+# endif
-+# else
-+# include <stdlib.h>
-+# endif
-+#endif
-+
- #include <time.h>
- #define Time_t time_t
-
-@@ -372,7 +388,7 @@
- randomDevice, errno);
- }
- # endif
-- /* Try some pseudo-random number genrator daemon next */
-+ /* Try some pseudo-random number generator daemon next */
- if (prngdSocket != NULL || prngdPort != 0) {
- if (get_prngd_bytes((char *)tmpkey, sizeof(tmpkey), prngdPort,
- prngdSocket) == 0) {
-@@ -408,15 +424,20 @@
- static int xdmcpAuthInited;
- long ldata[2];
-
--# ifdef ITIMER_REAL
-+# ifndef HAVE_ARC4RANDOM
-+# ifdef ITIMER_REAL
- struct timeval now;
-
- X_GETTIMEOFDAY (&now);
- ldata[0] = now.tv_usec;
- ldata[1] = now.tv_sec;
--# else
-+# else
- ldata[0] = time ((long *) 0);
- ldata[1] = getpid ();
-+# endif
-+# else
-+ ldata[0] = arc4random();
-+ ldata[1] = arc4random();
- # endif
-
- longtochars (ldata[0], data+0);
-@@ -462,7 +483,7 @@
- LogError("Cannot open randomDevice \"%s\", errno = %d\n",
- randomDevice, errno);
- # endif /* DEV_RANDOM */
-- /* Try some pseudo-random number genrator daemon next */
-+ /* Try some pseudo-random number generator daemon next */
- if (prngdSocket != NULL || prngdPort != 0) {
- if (get_prngd_bytes(auth, len, prngdPort, prngdSocket) == 0) {
- return 1;
diff --git a/source/x/x11/patch/xdm/xdm.glibc.crypt.diff b/source/x/x11/patch/xdm/xdm.glibc.crypt.diff
deleted file mode 100644
index 076df37dc..000000000
--- a/source/x/x11/patch/xdm/xdm.glibc.crypt.diff
+++ /dev/null
@@ -1,42 +0,0 @@
-From 8d1eb5c74413e4c9a21f689fc106949b121c0117 Mon Sep 17 00:00:00 2001
-From: mancha <mancha1@hush.com>
-Date: Wed, 22 May 2013 14:20:26 +0000
-Subject: Handle NULL returns from glibc 2.17+ crypt().
-
-Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL
-(w/ NULL return) if the salt violates specifications. Additionally,
-on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords
-passed to crypt() fail with EPERM (w/ NULL return).
-
-If using glibc's crypt(), check return value to avoid a possible
-NULL pointer dereference.
-
-Reviewed-by: Matthieu Herrb <matthieu@herrb.eu>
-Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
----
-diff --git a/greeter/verify.c b/greeter/verify.c
-index db3cb7d..b009e2b 100644
---- a/greeter/verify.c
-+++ b/greeter/verify.c
-@@ -329,6 +329,7 @@ Verify (struct display *d, struct greet_info *greet, struct verify_info *verify)
- struct spwd *sp;
- # endif
- char *user_pass = NULL;
-+ char *crypted_pass = NULL;
- # endif
- # ifdef __OpenBSD__
- char *s;
-@@ -464,7 +465,9 @@ Verify (struct display *d, struct greet_info *greet, struct verify_info *verify)
- # if defined(ultrix) || defined(__ultrix__)
- if (authenticate_user(p, greet->password, NULL) < 0)
- # else
-- if (strcmp (crypt (greet->password, user_pass), user_pass))
-+ crypted_pass = crypt (greet->password, user_pass);
-+ if ((crypted_pass == NULL)
-+ || (strcmp (crypted_pass, user_pass)))
- # endif
- {
- if(!greet->allow_null_passwd || strlen(p->pw_passwd) > 0) {
---
-cgit v0.9.0.2-2-gbebe
-
diff --git a/source/xap/mozilla-firefox/build-deps.sh b/source/xap/mozilla-firefox/build-deps.sh
index e70ed7b9d..8c22c29ba 100755
--- a/source/xap/mozilla-firefox/build-deps.sh
+++ b/source/xap/mozilla-firefox/build-deps.sh
@@ -26,16 +26,10 @@ mkdir -p $TMP/mozilla-firefox-build-deps
# This will be at the beginning of the $PATH, so protect against nonsense
# happening in /tmp:
chmod 700 $TMP/mozilla-firefox-build-deps
-PATH=$TMP/mozilla-firefox-build-deps/usr/bin:$HOME/.cargo/bin:$PATH
-# cbindgen is a build-time dependency:
-( cd $CWD/build-deps/cbindgen ; ./cbindgen.build ) || exit 1
-
-if /bin/ls build-deps*.txz 1> /dev/null 2> /dev/null ; then # use prebuilt autoconf/nodejs
+if /bin/ls build-deps*.txz 1> /dev/null 2> /dev/null ; then # use prebuilt
( cd $TMP/mozilla-firefox-build-deps ; tar xf $CWD/build-deps*.txz )
else
# We need to use the incredibly ancient autoconf-2.13 for this :/
( cd $CWD/build-deps/autoconf ; ./autoconf.build ) || exit 1
- ## And node.js... WHY
- #( cd $CWD/build-deps/nodejs ; ./nodejs.build ) || exit 1
fi
diff --git a/source/xap/mozilla-firefox/build-deps/cbindgen/cbindgen.build b/source/xap/mozilla-firefox/build-deps/cbindgen/cbindgen.build
deleted file mode 100755
index a4659df29..000000000
--- a/source/xap/mozilla-firefox/build-deps/cbindgen/cbindgen.build
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-
-# Copyright 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-PKGNAM=cbindgen
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-
-mkdir -p $TMP
-
-cd $TMP
-rm -rf cbindgen-$VERSION
-tar xvf $CWD/cbindgen-$VERSION.tar.?z || exit 1
-cd cbindgen-$VERSION
-
-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 {} \;
-
-cargo build --release
-rm /root/.cargo/bin 2> /dev/null
-mkdir -p /root/.cargo/bin
-install -Dm755 target/release/cbindgen /root/.cargo/bin
diff --git a/source/xap/mozilla-firefox/build-deps/cbindgen/cbindgen.url b/source/xap/mozilla-firefox/build-deps/cbindgen/cbindgen.url
deleted file mode 100644
index f9f55c57d..000000000
--- a/source/xap/mozilla-firefox/build-deps/cbindgen/cbindgen.url
+++ /dev/null
@@ -1 +0,0 @@
-https://github.com/eqrion/cbindgen
diff --git a/source/xap/mozilla-firefox/build-deps/nodejs/nodejs.url b/source/xap/mozilla-firefox/build-deps/nodejs/nodejs.url
deleted file mode 100644
index 75f7f4d38..000000000
--- a/source/xap/mozilla-firefox/build-deps/nodejs/nodejs.url
+++ /dev/null
@@ -1,2 +0,0 @@
-https://nodejs.org/dist/v10.16.0/node-v10.16.0.tar.gz
-#https://github.com/nodejs/node
diff --git a/source/xap/mozilla-thunderbird/build-deps.sh b/source/xap/mozilla-thunderbird/build-deps.sh
index c1ad0491b..090876bdd 100755
--- a/source/xap/mozilla-thunderbird/build-deps.sh
+++ b/source/xap/mozilla-thunderbird/build-deps.sh
@@ -26,16 +26,10 @@ mkdir -p $TMP/mozilla-thunderbird-build-deps
# This will be at the beginning of the $PATH, so protect against nonsense
# happening in /tmp:
chmod 700 $TMP/mozilla-thunderbird-build-deps
-PATH=$TMP/mozilla-thunderbird-build-deps/usr/bin:$HOME/.cargo/bin:$PATH
-# cbindgen is a build-time dependency:
-( cd $CWD/build-deps/cbindgen ; ./cbindgen.build ) || exit 1
-
-if /bin/ls build-deps*.txz 1> /dev/null 2> /dev/null ; then # use prebuilt autoconf/nodejs
+if /bin/ls build-deps*.txz 1> /dev/null 2> /dev/null ; then # use prebuilt
( cd $TMP/mozilla-thunderbird-build-deps ; tar xf $CWD/build-deps*.txz )
else
# We need to use the incredibly ancient autoconf-2.13 for this :/
( cd $CWD/build-deps/autoconf ; ./autoconf.build ) || exit 1
- ## And node.js... WHY
- #( cd $CWD/build-deps/nodejs ; ./nodejs.build ) || exit 1
fi
diff --git a/source/xap/mozilla-thunderbird/build-deps/cbindgen/cbindgen.build b/source/xap/mozilla-thunderbird/build-deps/cbindgen/cbindgen.build
deleted file mode 100755
index a4659df29..000000000
--- a/source/xap/mozilla-thunderbird/build-deps/cbindgen/cbindgen.build
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-
-# Copyright 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-PKGNAM=cbindgen
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-
-mkdir -p $TMP
-
-cd $TMP
-rm -rf cbindgen-$VERSION
-tar xvf $CWD/cbindgen-$VERSION.tar.?z || exit 1
-cd cbindgen-$VERSION
-
-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 {} \;
-
-cargo build --release
-rm /root/.cargo/bin 2> /dev/null
-mkdir -p /root/.cargo/bin
-install -Dm755 target/release/cbindgen /root/.cargo/bin
diff --git a/source/xap/mozilla-thunderbird/build-deps/cbindgen/cbindgen.url b/source/xap/mozilla-thunderbird/build-deps/cbindgen/cbindgen.url
deleted file mode 100644
index f9f55c57d..000000000
--- a/source/xap/mozilla-thunderbird/build-deps/cbindgen/cbindgen.url
+++ /dev/null
@@ -1 +0,0 @@
-https://github.com/eqrion/cbindgen
diff --git a/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.url b/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.url
deleted file mode 100644
index 75f7f4d38..000000000
--- a/source/xap/mozilla-thunderbird/build-deps/nodejs/nodejs.url
+++ /dev/null
@@ -1,2 +0,0 @@
-https://nodejs.org/dist/v10.16.0/node-v10.16.0.tar.gz
-#https://github.com/nodejs/node
diff --git a/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild b/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
index c5730f5d6..1ad24f533 100755
--- a/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
+++ b/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
@@ -180,6 +180,9 @@ fi
# Don't define a function that's included starting in glibc-2.36:
zcat $CWD/arc4random_buf.glibc-2.36.diff.gz | patch -p1 --verbose || exit 1
+# Fix building with newer cbindgen:
+zcat $CWD/thunderbird.cbindgen-0.24.3.diff.gz | patch -p1 --verbose || exit 1
+
# Fetch localization, if requested:
if [ ! -z $MOZLOCALIZE ]; then
LOC_TAG="THUNDERBIRD_$( echo $VERSION | tr \. _ )_RELEASE"
diff --git a/source/xap/mozilla-thunderbird/thunderbird.cbindgen-0.24.3.diff b/source/xap/mozilla-thunderbird/thunderbird.cbindgen-0.24.3.diff
new file mode 100644
index 000000000..cd05437d2
--- /dev/null
+++ b/source/xap/mozilla-thunderbird/thunderbird.cbindgen-0.24.3.diff
@@ -0,0 +1,10 @@
+--- ./gfx/webrender_bindings/webrender_ffi.h.orig 2022-11-29 09:56:59.000000000 -0600
++++ ./gfx/webrender_bindings/webrender_ffi.h 2022-12-07 13:03:07.952026999 -0600
+@@ -73,7 +73,6 @@
+ struct WrPipelineIdAndEpoch;
+ using WrPipelineIdEpochs = nsTArray<WrPipelineIdAndEpoch>;
+
+-const uint64_t ROOT_CLIP_CHAIN = ~0;
+
+ } // namespace wr
+ } // namespace mozilla