summaryrefslogtreecommitdiff
path: root/extra/source
diff options
context:
space:
mode:
Diffstat (limited to 'extra/source')
-rwxr-xr-xextra/source/aspell-word-lists/aspell-dict.SlackBuild83
-rw-r--r--extra/source/aspell-word-lists/build/aspell-af1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-br1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-cy1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-fr1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-gv1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-hr1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-ia1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-is1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-mi1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-mk1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-ms1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-mt1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-nb1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-nl1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-nn1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-no1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-pt1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-rw1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-sl1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-sv1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-sw1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-tr1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-wa1
-rw-r--r--extra/source/aspell-word-lists/build/aspell-zu1
-rw-r--r--extra/source/aspell-word-lists/build/aspell5-be1
-rw-r--r--extra/source/aspell-word-lists/build/aspell5-da1
-rw-r--r--extra/source/aspell-word-lists/build/aspell5-fo1
-rw-r--r--extra/source/aspell-word-lists/build/aspell5-gd1
-rw-r--r--extra/source/aspell-word-lists/build/aspell5-hil1
-rw-r--r--extra/source/aspell-word-lists/build/aspell5-id1
-rw-r--r--extra/source/aspell-word-lists/build/aspell5-mg1
-rw-r--r--extra/source/aspell-word-lists/build/aspell5-ny1
-rw-r--r--extra/source/aspell-word-lists/build/aspell5-sc1
-rw-r--r--extra/source/aspell-word-lists/build/aspell5-tet1
-rw-r--r--extra/source/aspell-word-lists/build/aspell5-tl1
-rw-r--r--extra/source/aspell-word-lists/build/aspell5-tn1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-am1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-az1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-bn1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-ca1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-cs1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-csb1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-de1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-et1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-fi1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-he1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-hu1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-it1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-la1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-lv1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-mr1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-nds1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-or1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-pa1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-qu1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-ru1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-sr1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-ta1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-te1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-vi1
-rw-r--r--extra/source/aspell-word-lists/build/aspell6-yi1
-rwxr-xr-xextra/source/aspell-word-lists/build/increment-all-dict.sh12
-rwxr-xr-xextra/source/aspell-word-lists/build/increment.sh17
-rwxr-xr-xextra/source/bash-completion/bash-completion.SlackBuild30
-rw-r--r--extra/source/bash-completion/patches/0001-tar-Don-t-write-to-tmp-jetel.patch25
-rw-r--r--extra/source/bash-completion/patches/0002-test-suite-Add-tar-xvf-filename-test-case.patch27
-rw-r--r--extra/source/bash-completion/patches/0003-tar-Fix-GNU-tar-help-output-parsing-regex-fixes-15.patch25
-rw-r--r--extra/source/bash-completion/patches/0004-tar-Remove-unused-variable.patch25
-rw-r--r--extra/source/bash-completion/patches/0005-tar-Detect-GNU-other-from-version-only-once-per-sess.patch46
-rw-r--r--extra/source/bash-completion/patches/0006-Remove-mplayer-aliased-completion.patch22
-rw-r--r--extra/source/bash-completion/slack-desc10
-rw-r--r--extra/source/bittornado/slack-desc6
-rw-r--r--extra/source/bittorrent/slack-desc12
-rwxr-xr-xextra/source/brltty/brltty.SlackBuild23
-rw-r--r--extra/source/brltty/brltty.fix.blanks.diff27
-rw-r--r--extra/source/brltty/slack-desc10
-rw-r--r--extra/source/emacspeak/slack-desc10
-rwxr-xr-xextra/source/flashplayer-plugin/flashplayer-plugin.SlackBuild6
-rw-r--r--extra/source/flashplayer-plugin/slack-desc10
-rw-r--r--extra/source/fltk/Fl_XFont_On_Demand.patch42
-rwxr-xr-xextra/source/fltk/fltk.SlackBuild20
-rw-r--r--extra/source/fltk/fltk.fltk-config.in.diff98
-rw-r--r--extra/source/fltk/slack-desc10
-rwxr-xr-xextra/source/java/java.SlackBuild29
-rw-r--r--extra/source/java/slack-desc.jdk10
-rw-r--r--extra/source/java/slack-desc.jre6
-rwxr-xr-xextra/source/mplayerplug-in/mplayerplug-in.SlackBuild247
-rw-r--r--extra/source/mplayerplug-in/slack-desc19
-rw-r--r--extra/source/pure-alsa-system/pure-alsa-system.buildlist34
-rw-r--r--extra/source/pure-alsa-system/xfce4-mixer/0001-Make-Unique-support-optional.patch87
-rw-r--r--extra/source/pure-alsa-system/xfce4-mixer/0001-Use-datadir-xfce4-mixer-as-MIXER_DATADIR.patch63
-rw-r--r--extra/source/pure-alsa-system/xfce4-mixer/0001-icons-Makefile.am-Remove-unnecessary-gtk-update-icon.patch36
-rw-r--r--extra/source/pure-alsa-system/xfce4-mixer/README.ALSA4
-rw-r--r--extra/source/pure-alsa-system/xfce4-mixer/doinst.sh14
-rw-r--r--extra/source/pure-alsa-system/xfce4-mixer/slack-desc19
-rwxr-xr-xextra/source/pure-alsa-system/xfce4-mixer/xfce4-mixer.SlackBuild125
-rw-r--r--extra/source/pure-alsa-system/xfce4-volumed/0001-Removed-deprecated-Encoding-entry-in-.desktop-file-t.patch37
-rw-r--r--extra/source/pure-alsa-system/xfce4-volumed/0003-Removing-edge-case-memleaks.patch80
-rw-r--r--extra/source/pure-alsa-system/xfce4-volumed/slack-desc19
-rwxr-xr-xextra/source/pure-alsa-system/xfce4-volumed/xfce4-volumed.SlackBuild117
-rw-r--r--extra/source/recordmydesktop/recordmydesktop-bitrate.patch50
-rwxr-xr-xextra/source/recordmydesktop/recordmydesktop.SlackBuild90
-rw-r--r--extra/source/recordmydesktop/shmstr-to-shmproto.patch20
-rw-r--r--extra/source/recordmydesktop/slack-desc6
-rw-r--r--extra/source/sendmail/Build29
-rwxr-xr-xextra/source/sendmail/SlackBuild-sendmail170
-rwxr-xr-xextra/source/sendmail/SlackBuild-sendmail-cf57
-rw-r--r--extra/source/sendmail/linux.uucp.mc8
-rw-r--r--extra/source/sendmail/openssl-1.1.0.patch242
-rw-r--r--extra/source/sendmail/sendmail-slackware-tls-sasl.mc61
-rw-r--r--extra/source/sendmail/sendmail-slackware-tls.mc56
-rw-r--r--extra/source/sendmail/sendmail-slackware.mc42
-rwxr-xr-xextra/source/sendmail/sendmail.SlackBuild3
-rw-r--r--extra/source/sendmail/site.config.m48
-rw-r--r--extra/source/sendmail/slack-desc.sendmail19
-rw-r--r--extra/source/sendmail/slack-desc.sendmail-cf19
-rw-r--r--extra/source/tigervnc/patches/force_protocol_3.3_for_UVNCSC.patch17
-rw-r--r--extra/source/tigervnc/patches/tigervnc-support-xorg120.patch58
-rw-r--r--extra/source/tigervnc/patches/tigervnc-xorg118-QueueKeyboardEvents.patch100
-rw-r--r--extra/source/tigervnc/patches/tigervnc.support.xorg.118.patch14
-rw-r--r--extra/source/tigervnc/patches/xserver118.patch137
-rw-r--r--extra/source/tigervnc/patches/xserver120.patch91
-rw-r--r--extra/source/tigervnc/slack-desc6
-rwxr-xr-xextra/source/tigervnc/tigervnc.SlackBuild22
-rw-r--r--extra/source/wicd/slack-desc6
-rwxr-xr-xextra/source/wicd/wicd.SlackBuild27
-rw-r--r--extra/source/wicd/wicd.netentry_curses.py.save.settings.patch31
-rw-r--r--extra/source/xf86-video-fbdev/slack-desc6
129 files changed, 2077 insertions, 921 deletions
diff --git a/extra/source/aspell-word-lists/aspell-dict.SlackBuild b/extra/source/aspell-word-lists/aspell-dict.SlackBuild
new file mode 100755
index 00000000..4f78446c
--- /dev/null
+++ b/extra/source/aspell-word-lists/aspell-dict.SlackBuild
@@ -0,0 +1,83 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2016, 2018 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.
+
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-aspell-dict
+
+# 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 ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+cd src
+for file in aspell*bz2 ; do
+ NAME=$(echo $file | cut -f 1-2 -d -)-$(echo $file | cut -f 3- -d - | rev | cut -b9- | rev | tr '[\-]' '[_]')
+ if [ -r $CWD/build/$(basename $file | cut -f 1,2 -d -) ]; then
+ BUILD="$(cat $CWD/build/$(basename $file | cut -f 1,2 -d -))"
+ else
+ BUILD=1
+ fi
+ rm -rf $PKG
+ mkdir -p $TMP $PKG
+ cd $TMP
+ rm -rf $(basename $file .tar.bz2)
+ tar xjf $CWD/src/$file
+ cd $(basename $file .tar.bz2)
+ chown -R root:root .
+ ./configure || exit 1
+ make || exit 1
+ make install DESTDIR=$PKG || exit 1
+ # Use a uniform package name.
+ NAME=$(echo $NAME | sed 's/aspell5/aspell/' | sed 's/aspell6/aspell/')
+ mkdir -p $PKG/usr/doc/${NAME}
+ cp -a \
+ README* Copyright* COPYING* \
+ $PKG/usr/doc/${NAME}
+ # Overwrite from doc/ is fine:
+ cp -a \
+ doc/* \
+ $PKG/usr/doc/${NAME}
+ chmod 644 $PKG/usr/doc/${NAME}/*
+ mkdir $PKG/install
+ SLACKDESC=$(echo $NAME | cut -f 1-2 -d -)
+ echo "${SLACKDESC}: ${SLACKDESC}" > $PKG/install/slack-desc
+ echo "${SLACKDESC}:" >> $PKG/install/slack-desc
+ echo "${SLACKDESC}: $(head -n 1 README)." >> $PKG/install/slack-desc
+ echo "${SLACKDESC}:" >> $PKG/install/slack-desc
+ echo "${SLACKDESC}:" >> $PKG/install/slack-desc
+ echo "${SLACKDESC}:" >> $PKG/install/slack-desc
+ echo "${SLACKDESC}:" >> $PKG/install/slack-desc
+ echo "${SLACKDESC}:" >> $PKG/install/slack-desc
+ echo "${SLACKDESC}:" >> $PKG/install/slack-desc
+ echo "${SLACKDESC}:" >> $PKG/install/slack-desc
+ echo "${SLACKDESC}:" >> $PKG/install/slack-desc
+ cd $PKG
+ makepkg -l y -c n $TMP/${NAME}-$ARCH-$BUILD.txz
+done || exit 1
diff --git a/extra/source/aspell-word-lists/build/aspell-af b/extra/source/aspell-word-lists/build/aspell-af
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-af
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-br b/extra/source/aspell-word-lists/build/aspell-br
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-br
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-cy b/extra/source/aspell-word-lists/build/aspell-cy
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-cy
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-fr b/extra/source/aspell-word-lists/build/aspell-fr
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-fr
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-gv b/extra/source/aspell-word-lists/build/aspell-gv
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-gv
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-hr b/extra/source/aspell-word-lists/build/aspell-hr
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-hr
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-ia b/extra/source/aspell-word-lists/build/aspell-ia
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-ia
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-is b/extra/source/aspell-word-lists/build/aspell-is
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-is
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-mi b/extra/source/aspell-word-lists/build/aspell-mi
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-mi
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-mk b/extra/source/aspell-word-lists/build/aspell-mk
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-mk
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-ms b/extra/source/aspell-word-lists/build/aspell-ms
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-ms
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-mt b/extra/source/aspell-word-lists/build/aspell-mt
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-mt
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-nb b/extra/source/aspell-word-lists/build/aspell-nb
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-nb
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-nl b/extra/source/aspell-word-lists/build/aspell-nl
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-nl
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-nn b/extra/source/aspell-word-lists/build/aspell-nn
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-nn
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-no b/extra/source/aspell-word-lists/build/aspell-no
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-no
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-pt b/extra/source/aspell-word-lists/build/aspell-pt
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-pt
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-rw b/extra/source/aspell-word-lists/build/aspell-rw
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-rw
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-sl b/extra/source/aspell-word-lists/build/aspell-sl
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-sl
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-sv b/extra/source/aspell-word-lists/build/aspell-sv
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-sv
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-sw b/extra/source/aspell-word-lists/build/aspell-sw
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-sw
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-tr b/extra/source/aspell-word-lists/build/aspell-tr
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-tr
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-wa b/extra/source/aspell-word-lists/build/aspell-wa
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-wa
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell-zu b/extra/source/aspell-word-lists/build/aspell-zu
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell-zu
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell5-be b/extra/source/aspell-word-lists/build/aspell5-be
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell5-be
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell5-da b/extra/source/aspell-word-lists/build/aspell5-da
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell5-da
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell5-fo b/extra/source/aspell-word-lists/build/aspell5-fo
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell5-fo
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell5-gd b/extra/source/aspell-word-lists/build/aspell5-gd
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell5-gd
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell5-hil b/extra/source/aspell-word-lists/build/aspell5-hil
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell5-hil
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell5-id b/extra/source/aspell-word-lists/build/aspell5-id
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell5-id
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell5-mg b/extra/source/aspell-word-lists/build/aspell5-mg
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell5-mg
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell5-ny b/extra/source/aspell-word-lists/build/aspell5-ny
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell5-ny
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell5-sc b/extra/source/aspell-word-lists/build/aspell5-sc
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell5-sc
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell5-tet b/extra/source/aspell-word-lists/build/aspell5-tet
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell5-tet
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell5-tl b/extra/source/aspell-word-lists/build/aspell5-tl
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell5-tl
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell5-tn b/extra/source/aspell-word-lists/build/aspell5-tn
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell5-tn
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-am b/extra/source/aspell-word-lists/build/aspell6-am
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-am
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-az b/extra/source/aspell-word-lists/build/aspell6-az
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-az
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-bn b/extra/source/aspell-word-lists/build/aspell6-bn
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-bn
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-ca b/extra/source/aspell-word-lists/build/aspell6-ca
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-ca
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-cs b/extra/source/aspell-word-lists/build/aspell6-cs
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-cs
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-csb b/extra/source/aspell-word-lists/build/aspell6-csb
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-csb
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-de b/extra/source/aspell-word-lists/build/aspell6-de
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-de
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-et b/extra/source/aspell-word-lists/build/aspell6-et
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-et
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-fi b/extra/source/aspell-word-lists/build/aspell6-fi
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-fi
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-he b/extra/source/aspell-word-lists/build/aspell6-he
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-he
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-hu b/extra/source/aspell-word-lists/build/aspell6-hu
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-hu
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-it b/extra/source/aspell-word-lists/build/aspell6-it
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-it
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-la b/extra/source/aspell-word-lists/build/aspell6-la
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-la
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-lv b/extra/source/aspell-word-lists/build/aspell6-lv
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-lv
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-mr b/extra/source/aspell-word-lists/build/aspell6-mr
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-mr
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-nds b/extra/source/aspell-word-lists/build/aspell6-nds
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-nds
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-or b/extra/source/aspell-word-lists/build/aspell6-or
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-or
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-pa b/extra/source/aspell-word-lists/build/aspell6-pa
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-pa
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-qu b/extra/source/aspell-word-lists/build/aspell6-qu
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-qu
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-ru b/extra/source/aspell-word-lists/build/aspell6-ru
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-ru
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-sr b/extra/source/aspell-word-lists/build/aspell6-sr
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-sr
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-ta b/extra/source/aspell-word-lists/build/aspell6-ta
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-ta
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-te b/extra/source/aspell-word-lists/build/aspell6-te
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-te
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-vi b/extra/source/aspell-word-lists/build/aspell6-vi
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-vi
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/aspell6-yi b/extra/source/aspell-word-lists/build/aspell6-yi
new file mode 100644
index 00000000..7ed6ff82
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/aspell6-yi
@@ -0,0 +1 @@
+5
diff --git a/extra/source/aspell-word-lists/build/increment-all-dict.sh b/extra/source/aspell-word-lists/build/increment-all-dict.sh
new file mode 100755
index 00000000..99861dc6
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/increment-all-dict.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+# A script to increment build numbers of all the dictionaries.
+#
+# Any that are newly added should not have a build file in
+# here (or it should contain "1"). The usual method is to run this
+# script and then remove the build files for any new driver versions.
+
+for DICTSRC in ../src/* ; do
+ DICTBASENAME=$(basename $DICTSRC | cut -f 1,2 -d -)
+ ./increment.sh $DICTBASENAME
+done
+
diff --git a/extra/source/aspell-word-lists/build/increment.sh b/extra/source/aspell-word-lists/build/increment.sh
new file mode 100755
index 00000000..eff1356f
--- /dev/null
+++ b/extra/source/aspell-word-lists/build/increment.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# A script to increment build numbers.
+# Call it with the list of the build numbers to increase by one:
+#
+# ./increment.sh aspell6-pt_BR aspell6-qu
+#
+# If a build file does not exist, it will be created with a value of 2.
+
+for build in $* ; do
+ if [ ! -r $build ]; then
+ echo "Creating $build with value 2"
+ echo 2 > $build
+ else
+ echo "Incrementing $build $(cat $build) -> $(expr $(cat $build) + 1)"
+ echo $(expr $(cat $build) + 1) > $build
+ fi
+done
diff --git a/extra/source/bash-completion/bash-completion.SlackBuild b/extra/source/bash-completion/bash-completion.SlackBuild
index fd7206aa..364c10ea 100755
--- a/extra/source/bash-completion/bash-completion.SlackBuild
+++ b/extra/source/bash-completion/bash-completion.SlackBuild
@@ -22,9 +22,9 @@
# Slackware build script for bash-completion
-VERSION=2.2
+VERSION=2.8
ARCH=noarch
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
CWD=$(pwd)
TMP=${TMP:-/tmp}
@@ -34,8 +34,8 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf bash-completion-$VERSION
-tar xvf $CWD/bash-completion-$VERSION.tar.?z*
-cd bash-completion-$VERSION
+tar xvf $CWD/bash-completion-$VERSION.tar.?z || exit 1
+cd bash-completion-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -43,20 +43,14 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Add some patches from git
+for file in $CWD/patches/*.patch.gz ; do
+ zcat $file | patch -p1 --verbose || exit 1
+done
+
# Fixup sh completion for us
zcat $CWD/fixup-sh-script-completions.diff.gz | patch -p1 --verbose || exit 1
-# Add some patches from git to fix tar filename completion and related
-# https://github.com/scop/bash-completion/issues/15
-zcat $CWD/patches/0001-tar-Don-t-write-to-tmp-jetel.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/0002-test-suite-Add-tar-xvf-filename-test-case.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/0003-tar-Fix-GNU-tar-help-output-parsing-regex-fixes-15.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/0004-tar-Remove-unused-variable.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/0005-tar-Detect-GNU-other-from-version-only-once-per-sess.patch.gz | patch -p1 --verbose || exit 1
-
-# Don't symlink mpv -> mplayer as it reportedly doesn't work well. Upstream patch.
-zcat $CWD/patches/0006-Remove-mplayer-aliased-completion.patch.gz | patch -p1 --verbose || exit 1
-
autoreconf -vif
./configure \
@@ -69,6 +63,12 @@ autoreconf -vif
make || exit 1
make install DESTDIR=$PKG || exit 1
+# Don't clobber mount and umount completions from util-linux:
+mv $PKG/usr/share/bash-completion/completions/mount \
+ $PKG/usr/share/bash-completion/completions/_mount
+mv $PKG/usr/share/bash-completion/completions/umount \
+ $PKG/usr/share/bash-completion/completions/_umount
+
# Create the local directory for admin changes/additions:
mkdir -p $PKG/etc/bash_completion.d/
diff --git a/extra/source/bash-completion/patches/0001-tar-Don-t-write-to-tmp-jetel.patch b/extra/source/bash-completion/patches/0001-tar-Don-t-write-to-tmp-jetel.patch
deleted file mode 100644
index 82cbeb0d..00000000
--- a/extra/source/bash-completion/patches/0001-tar-Don-t-write-to-tmp-jetel.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 6bdd92202f55d7c530dcbeb2a243604dac546cf1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
-Date: Tue, 15 Mar 2016 19:49:55 +0200
-Subject: [PATCH 1/5] tar: Don't write to /tmp/jetel
-
----
- completions/tar | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/completions/tar b/completions/tar
-index ef18ad6..6e4c74c 100644
---- a/completions/tar
-+++ b/completions/tar
-@@ -411,7 +411,7 @@ __tar_try_list_archive()
- shift
-
- read tarball <<<"$(printf -- '%s\n' "$@" \
-- | command sed -n "/^.\{1,\}$regex\$/p" | tee /tmp/jetel)"
-+ | command sed -n "/^.\{1,\}$regex\$/p")"
- if [[ -n "$tarball" ]]; then
- local IFS=$'\n'
- COMPREPLY=($(compgen -o filenames -W "$(
---
-2.7.2
-
diff --git a/extra/source/bash-completion/patches/0002-test-suite-Add-tar-xvf-filename-test-case.patch b/extra/source/bash-completion/patches/0002-test-suite-Add-tar-xvf-filename-test-case.patch
deleted file mode 100644
index 8e647374..00000000
--- a/extra/source/bash-completion/patches/0002-test-suite-Add-tar-xvf-filename-test-case.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 807f903f86ad647425c83f7ad6fc499014c6734e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
-Date: Tue, 15 Mar 2016 20:19:10 +0200
-Subject: [PATCH 2/5] test suite: Add tar xvf filename test case
-
----
- test/lib/completions/tar.exp | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/test/lib/completions/tar.exp b/test/lib/completions/tar.exp
-index 70e38d0..7cdef94 100644
---- a/test/lib/completions/tar.exp
-+++ b/test/lib/completions/tar.exp
-@@ -59,6 +59,10 @@ set test "old option: create and members"
- assert_complete_dir "dir/ dir2/ archive.tar.xz escape.tar" "tar cTfvv NOT_EXISTS DONT_CREATE.tar " $::srcdir/fixtures/tar
- sync_after_int
-
-+set test "old option: extract and archive"
-+assert_complete_dir "dir/ dir2/ archive.tar.xz escape.tar" "tar xvf " $::srcdir/fixtures/tar
-+sync_after_int
-+
- if { "$tar_version" == "gnu" } {
- set test "check short options"
- assert_complete_any "tar -c"
---
-2.7.2
-
diff --git a/extra/source/bash-completion/patches/0003-tar-Fix-GNU-tar-help-output-parsing-regex-fixes-15.patch b/extra/source/bash-completion/patches/0003-tar-Fix-GNU-tar-help-output-parsing-regex-fixes-15.patch
deleted file mode 100644
index 621ccd12..00000000
--- a/extra/source/bash-completion/patches/0003-tar-Fix-GNU-tar-help-output-parsing-regex-fixes-15.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 0b7189d4eee4597e11cab02e6b4dcae488db5ca8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
-Date: Wed, 16 Mar 2016 12:28:29 +0200
-Subject: [PATCH 3/5] tar: Fix GNU tar help output parsing regex, fixes #15
-
----
- completions/tar | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/completions/tar b/completions/tar
-index 6e4c74c..0a5f588 100644
---- a/completions/tar
-+++ b/completions/tar
-@@ -105,7 +105,7 @@ __gnu_tar_parse_help()
- # or more options separated by ', ' separator string. We are matching
- # like this then: ^<spaces>(<separator>?<option>)+<whatever>$
- if [[ "$line" =~ \
-- ^[[:blank:]]{1,10}(((,[[:blank:]])?(--?([\]\[a-zA-Z0-9?-=]+))(,[[:space:]])?)+).*$ ]]; then
-+ ^[[:blank:]]{1,10}(((,[[:blank:]])?(--?([\]\[a-zA-Z0-9?=-]+))(,[[:space:]])?)+).*$ ]]; then
-
- line=${BASH_REMATCH[1]}
- str="${line//,/ }"
---
-2.7.2
-
diff --git a/extra/source/bash-completion/patches/0004-tar-Remove-unused-variable.patch b/extra/source/bash-completion/patches/0004-tar-Remove-unused-variable.patch
deleted file mode 100644
index 767d9bc9..00000000
--- a/extra/source/bash-completion/patches/0004-tar-Remove-unused-variable.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7ab05bf9d97ce5a6ced7acdfc21235e06542c3f2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
-Date: Wed, 16 Mar 2016 12:39:06 +0200
-Subject: [PATCH 4/5] tar: Remove unused variable
-
----
- completions/tar | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/completions/tar b/completions/tar
-index 0a5f588..9c44dc7 100644
---- a/completions/tar
-+++ b/completions/tar
-@@ -696,7 +696,7 @@ _posix_tar()
-
- _tar()
- {
-- local cmd=${COMP_WORDS[0]} output line
-+ local cmd=${COMP_WORDS[0]} line
- read line <<<"$($cmd --version)"
- case "$line" in
- *GNU*)
---
-2.7.2
-
diff --git a/extra/source/bash-completion/patches/0005-tar-Detect-GNU-other-from-version-only-once-per-sess.patch b/extra/source/bash-completion/patches/0005-tar-Detect-GNU-other-from-version-only-once-per-sess.patch
deleted file mode 100644
index 3e5e06e0..00000000
--- a/extra/source/bash-completion/patches/0005-tar-Detect-GNU-other-from-version-only-once-per-sess.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 88c671a2c74bfde3bc2ec7c6f74133ac613c61da Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
-Date: Wed, 16 Mar 2016 12:44:40 +0200
-Subject: [PATCH 5/5] tar: Detect GNU/other from --version only once per
- session
-
----
- completions/tar | 15 ++++++++++++---
- 1 file changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/completions/tar b/completions/tar
-index 9c44dc7..7b3a486 100644
---- a/completions/tar
-+++ b/completions/tar
-@@ -696,16 +696,25 @@ _posix_tar()
-
- _tar()
- {
-- local cmd=${COMP_WORDS[0]} line
-+ local cmd=${COMP_WORDS[0]} func line
- read line <<<"$($cmd --version)"
- case "$line" in
- *GNU*)
-- _gtar "$@"
-+ func=_gtar
- ;;
- *)
-- _posix_tar "$@"
-+ func=_posix_tar
- ;;
- esac
-+ $func "$@"
-+
-+ # Install real completion for subsequent completions
-+ if [ -n "${COMP_TAR_INTERNAL_PATHS:-}" ]; then
-+ complete -F $func -o dirnames tar
-+ else
-+ complete -F $func tar
-+ fi
-+ unset -f _tar
- }
-
-
---
-2.7.2
-
diff --git a/extra/source/bash-completion/patches/0006-Remove-mplayer-aliased-completion.patch b/extra/source/bash-completion/patches/0006-Remove-mplayer-aliased-completion.patch
deleted file mode 100644
index 7046f89e..00000000
--- a/extra/source/bash-completion/patches/0006-Remove-mplayer-aliased-completion.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- ./completions/Makefile.in.orig 2016-03-03 06:12:35.000000000 -0600
-+++ ./completions/Makefile.in 2016-05-31 14:01:42.323415707 -0500
-@@ -1236,7 +1236,7 @@
- rm -f $(targetdir)/$$file && \
- $(LN_S) mcrypt $(targetdir)/$$file ; \
- done
-- for file in mplayer2 mencoder gmplayer kplayer mpv ; do \
-+ for file in mplayer2 mencoder gmplayer kplayer ; do \
- rm -f $(targetdir)/$$file && \
- $(LN_S) mplayer $(targetdir)/$$file ; \
- done
---- ./completions/Makefile.am.orig 2016-03-02 13:42:58.000000000 -0600
-+++ ./completions/Makefile.am 2016-05-31 14:01:33.554416246 -0500
-@@ -802,7 +802,7 @@
- rm -f $(targetdir)/$$file && \
- $(LN_S) mcrypt $(targetdir)/$$file ; \
- done
-- for file in mplayer2 mencoder gmplayer kplayer mpv ; do \
-+ for file in mplayer2 mencoder gmplayer kplayer ; do \
- rm -f $(targetdir)/$$file && \
- $(LN_S) mplayer $(targetdir)/$$file ; \
- done
diff --git a/extra/source/bash-completion/slack-desc b/extra/source/bash-completion/slack-desc
index 8f9e35b7..73193984 100644
--- a/extra/source/bash-completion/slack-desc
+++ b/extra/source/bash-completion/slack-desc
@@ -1,19 +1,19 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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 ':'.
|-----handy-ruler------------------------------------------------------|
bash-completion: bash-completion (programmable completion for the bash shell)
bash-completion:
-bash-completion: Adds programmable completion to the bash shell. A new file called
+bash-completion: Adds programmable completion to the bash shell. A new file called
bash-completion: /etc/profile.d/bash_completion.sh will be sourced for interactive
bash-completion: bash shells adding all sorts of enhanced command completion features.
bash-completion: Once installed, you may get a list of all commands that have
bash-completion: associated completions with 'complete -p', and examine the code for
bash-completion: the shell functions with 'declare -f'.
bash-completion:
-bash-completion: Homepage: https://alioth.debian.org/projects/bash-completion/
+bash-completion: Homepage: https://github.com/scop/bash-completion
bash-completion:
diff --git a/extra/source/bittornado/slack-desc b/extra/source/bittornado/slack-desc
index 6e156cad..fecbf789 100644
--- a/extra/source/bittornado/slack-desc
+++ b/extra/source/bittornado/slack-desc
@@ -1,8 +1,8 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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 ':'.
|-----handy-ruler------------------------------------------------------|
diff --git a/extra/source/bittorrent/slack-desc b/extra/source/bittorrent/slack-desc
index e5ba9aa4..4c32bb58 100644
--- a/extra/source/bittorrent/slack-desc
+++ b/extra/source/bittorrent/slack-desc
@@ -1,8 +1,8 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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 ':'.
|-----handy-ruler------------------------------------------------------|
@@ -10,10 +10,10 @@ bittorrent: bittorrent (BitTorrent file distribution utility)
bittorrent:
bittorrent: BitTorrent is a file distribution utility which utilizes the upload
bittorrent: capacity of machines which are downloading a file to help distribute
-bittorrent: it to other downloading machines. This makes it possible to provide
+bittorrent: it to other downloading machines. This makes it possible to provide
bittorrent: large files (such as the Slackware Linux ISO images) to many people
-bittorrent: without the usual problem of insufficient bandwidth. The more
-bittorrent: downloaders, the more bandwidth. Problem solved.
+bittorrent: without the usual problem of insufficient bandwidth. The more
+bittorrent: downloaders, the more bandwidth. Problem solved.
bittorrent:
bittorrent: Bram Cohen is the genius behind BitTorrent.
bittorrent:
diff --git a/extra/source/brltty/brltty.SlackBuild b/extra/source/brltty/brltty.SlackBuild
index b53c14ac..983c777a 100755
--- a/extra/source/brltty/brltty.SlackBuild
+++ b/extra/source/brltty/brltty.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright 2010, 2012, 2013, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2010, 2012, 2013, 2016, 2017, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Set initial variables:
-CWD=`pwd`
+cd $(dirname $0) ; CWD=$(pwd)
if [ "$TMP" = "" ]; then
TMP=/tmp
fi
@@ -31,8 +31,8 @@ fi
PKG=/tmp/package-brltty
PKGNAM=brltty
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+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
@@ -44,6 +44,14 @@ if [ -z "$ARCH" ]; then
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 "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
if [ "$ARCH" = "x86_64" ]; then
LIBDIRSUFFIX="64"
else
@@ -56,11 +64,10 @@ rm -rf $PKG
mkdir -p $PKG
cd $TMP
rm -rf brltty-$VERSION
-tar xvf $CWD/brltty-$VERSION.tar.?z* || exit 1
-cd brltty-$VERSION
+tar xvf $CWD/brltty-$VERSION.tar.?z || exit 1
+cd brltty-$VERSION || exit 1
zcat $CWD/brltty.brlapi.pyx.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/brltty.fix.blanks.diff.gz | patch -p1 --verbose || exit 1
sh autogen
@@ -89,7 +96,7 @@ chmod 755 $PKG/bin/* $PKG/lib${LIBDIRSUFFIX}/brltty/*
# Add udev rules:
mkdir -p $PKG/lib/udev/rules.d
-cp Autostart/Udev/udev.rules $PKG/lib/udev/rules.d/40-usb-brltty.rules
+cp Autostart/Udev/rules $PKG/lib/udev/rules.d/40-usb-brltty.rules || exit 1
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/extra/source/brltty/brltty.fix.blanks.diff b/extra/source/brltty/brltty.fix.blanks.diff
deleted file mode 100644
index 19e4cefe..00000000
--- a/extra/source/brltty/brltty.fix.blanks.diff
+++ /dev/null
@@ -1,27 +0,0 @@
-From 74171852c8c11ebd4725e93cfac6a19906821272 Mon Sep 17 00:00:00 2001
-From: Dave Mielke <dave@mielke.cc>
-Date: Mon, 8 Feb 2016 22:06:45 -0500
-Subject: [PATCH] The Linux screen driver should prefer a blank [U+0020] if the
- same glyph is also used for other characters. (dm)
-
----
- Drivers/Screen/Linux/screen.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/Drivers/Screen/Linux/screen.c b/Drivers/Screen/Linux/screen.c
-index bb5e273..bc2f2c4 100644
---- a/Drivers/Screen/Linux/screen.c
-+++ b/Drivers/Screen/Linux/screen.c
-@@ -912,7 +912,9 @@ setTranslationTable (int force) {
- const struct unipair *sfm = &screenFontMapTable[--screenFontMapIndex];
-
- if (sfm->fontpos < count) {
-- translationTable[sfm->fontpos] = sfm->unicode;
-+ wchar_t *character = &translationTable[sfm->fontpos];
-+ if (*character == 0X20) continue;
-+ *character = sfm->unicode;
- }
- }
- }
---
-2.1.1.1.g1fb337f
diff --git a/extra/source/brltty/slack-desc b/extra/source/brltty/slack-desc
index d1cb59db..55d4fb72 100644
--- a/extra/source/brltty/slack-desc
+++ b/extra/source/brltty/slack-desc
@@ -1,18 +1,18 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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 ':'.
|-----handy-ruler------------------------------------------------------|
brltty: brltty (Braille display daemon)
brltty:
brltty: BRLTTY is a daemon which provides access to the Linux console (text
-brltty: mode) for a blind person using a soft braille display. It drives the
+brltty: mode) for a blind person using a soft braille display. It drives the
brltty: braille terminal and provides complete screen review functionality.
brltty:
-brltty: Homepage: http://mielke.cc/brltty/
+brltty: Homepage: http://mielke.cc/brltty/
brltty:
brltty:
brltty:
diff --git a/extra/source/emacspeak/slack-desc b/extra/source/emacspeak/slack-desc
index c8a6db3a..8cd00c4d 100644
--- a/extra/source/emacspeak/slack-desc
+++ b/extra/source/emacspeak/slack-desc
@@ -1,18 +1,18 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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 ':'.
|-----handy-ruler------------------------------------------------------|
emacspeak: emacspeak (Emacs speech interface)
emacspeak:
emacspeak: Emacspeak is a speech interface that allows visually impaired users to
-emacspeak: interact independently and efficiently with the computer. By
+emacspeak: interact independently and efficiently with the computer. By
emacspeak: seamlessly blending all aspects of the Internet such as Web-surfing
emacspeak: and messaging, Emacspeak speech-enables local and remote information
-emacspeak: via a consistent and well-integrated user interface. Emacspeak has
+emacspeak: via a consistent and well-integrated user interface. Emacspeak has
emacspeak: dramatically changed how the author, T. V. Raman, and hundreds of
emacspeak: blind and visually impaired users around the world interact with the
emacspeak: personal computer and the Internet.
diff --git a/extra/source/flashplayer-plugin/flashplayer-plugin.SlackBuild b/extra/source/flashplayer-plugin/flashplayer-plugin.SlackBuild
index 27c091cd..5dca2ec4 100755
--- a/extra/source/flashplayer-plugin/flashplayer-plugin.SlackBuild
+++ b/extra/source/flashplayer-plugin/flashplayer-plugin.SlackBuild
@@ -39,7 +39,7 @@
PRGNAM=flashplayer-plugin
# Determine the latest version by checking the web page:
-VERSION=${VERSION:-"$(wget -O - http://www.adobe.com/software/flash/about/ 2>/dev/null | sed -n "/Firefox - NPAPI/{N;p}" | tr -d ' '| tail -1 | tr '<>' ' ' | cut -f3 -d ' ')"}
+VERSION=${VERSION:-"$(wget -O - http://www.adobe.com/software/flash/about/ 2>/dev/null | grep -2 "Firefox - NPAPI" | tail -1 | cut -f 2 -d '>' | cut -f 1 -d '<')"}
MAJVER=$(echo $VERSION | cut -d. -f1)
BUILD=${BUILD:-1}
TAG=${TAG:-}
@@ -71,8 +71,8 @@ case "$MARCH" in
;;
esac
-SOURCE="$SRCDIR/install_flash_player_${VERSION}_linux_${ARCH}.tar.gz"
-SRCURL="http://fpdownload.macromedia.com/get/flashplayer/pdc/${VERSION}/install_flash_player_${MAJVER}_linux.${ARCH}.tar.gz"
+SOURCE="$SRCDIR/flash_player_npapi_linux.${VERSION}.${ARCH}.tar.gz"
+SRCURL="http://fpdownload.macromedia.com/get/flashplayer/pdc/${VERSION}/flash_player_npapi_linux.${ARCH}.tar.gz"
##
## --- with a little luck, you won't have to edit below this point --- ##
diff --git a/extra/source/flashplayer-plugin/slack-desc b/extra/source/flashplayer-plugin/slack-desc
index e7fb949a..f06362dc 100644
--- a/extra/source/flashplayer-plugin/slack-desc
+++ b/extra/source/flashplayer-plugin/slack-desc
@@ -1,8 +1,8 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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 ':'.
|-----handy-ruler-----------------------------------------|
@@ -12,8 +12,8 @@ flashplayer-plugin: Provides Adobe Flash plugin for browsers that recognize
flashplayer-plugin: /usr/lib/mozilla/plugins as a valid plugin directory
flashplayer-plugin:
flashplayer-plugin: Plugin is subject to Adobe terms of use:
-flashplayer-plugin: http://www.adobe.com/go/labs_term_of_use
+flashplayer-plugin: http://www.adobe.com/go/labs_term_of_use
flashplayer-plugin:
flashplayer-plugin: Plugin is subject to Adobe Flash EULA:
-flashplayer-plugin: http://labs.adobe.com/technologies/eula/flashplayer.html
+flashplayer-plugin: http://labs.adobe.com/technologies/eula/flashplayer.html
flashplayer-plugin:
diff --git a/extra/source/fltk/Fl_XFont_On_Demand.patch b/extra/source/fltk/Fl_XFont_On_Demand.patch
deleted file mode 100644
index b61def2a..00000000
--- a/extra/source/fltk/Fl_XFont_On_Demand.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Index: src/fl_font.cxx
-===================================================================
---- src/fl_font.cxx (revision 10503)
-+++ src/fl_font.cxx (revision 10504)
-@@ -55,6 +55,12 @@
- # include "fl_font_x.cxx"
- #endif // WIN32
-
-+#if ! (defined(WIN32) || defined(__APPLE__))
-+XFontStruct *fl_X_core_font()
-+{
-+ return fl_xfont.value();
-+}
-+#endif
-
- double fl_width(const char* c) {
- if (c) return fl_width(c, (int) strlen(c));
-Index: src/gl_draw.cxx
-===================================================================
---- src/gl_draw.cxx (revision 10503)
-+++ src/gl_draw.cxx (revision 10504)
-@@ -81,7 +81,7 @@
- * then sorting through them at draw time (for normal X rendering) to find which one can
- * render the current glyph... But for now, just use the first font in the list for GL...
- */
-- XFontStruct *font = fl_xfont;
-+ XFontStruct *font = fl_X_core_font();
- int base = font->min_char_or_byte2;
- int count = font->max_char_or_byte2-base+1;
- fl_fontsize->listbase = glGenLists(256);
-Index: FL/x.H
-===================================================================
---- FL/x.H (revision 10503)
-+++ FL/x.H (revision 10504)
-@@ -132,6 +132,7 @@
- XFontStruct *ptr;
- };
- extern FL_EXPORT Fl_XFont_On_Demand fl_xfont;
-+extern FL_EXPORT XFontStruct* fl_X_core_font();
-
- // this object contains all X-specific stuff about a window:
- // Warning: this object is highly subject to change!
diff --git a/extra/source/fltk/fltk.SlackBuild b/extra/source/fltk/fltk.SlackBuild
index 7ed940e3..c866daf1 100755
--- a/extra/source/fltk/fltk.SlackBuild
+++ b/extra/source/fltk/fltk.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2015, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,9 +20,10 @@
# 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=fltk
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 2 -d - | rev)}
+VERSION=$(basename $(echo $PKGNAM-*.tar.lz | cut -f 2- -d -) -source.tar.lz)
BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
@@ -36,6 +37,14 @@ if [ -z "$ARCH" ]; then
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-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
NUMJOBS=${NUMJOBS:-" -j7 "}
if [ "$ARCH" = "i386" ]; then
@@ -64,7 +73,6 @@ else
LIBDIRSUFFIX=""
fi
-CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
@@ -73,10 +81,10 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-${VERSION}-source.tar.?z* || exit 1
+tar xvf $CWD/$PKGNAM-${VERSION}-source.tar.lz || exit 1
cd $PKGNAM-$VERSION || exit 1
-zcat $CWD/Fl_XFont_On_Demand.patch.gz | patch -p0 --verbose || exit 1
+zcat $CWD/fltk.fltk-config.in.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
@@ -152,5 +160,5 @@ 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
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz
diff --git a/extra/source/fltk/fltk.fltk-config.in.diff b/extra/source/fltk/fltk.fltk-config.in.diff
new file mode 100644
index 00000000..1125f61b
--- /dev/null
+++ b/extra/source/fltk/fltk.fltk-config.in.diff
@@ -0,0 +1,98 @@
+diff -Naur fltk-1.3.3-orig/fltk-config.in fltk-1.3.3/fltk-config.in
+--- fltk-1.3.3-orig/fltk-config.in 2014-12-31 15:43:07.203519633 -0500
++++ fltk-1.3.3/fltk-config.in 2014-12-31 15:49:01.636277725 -0500
+@@ -54,21 +54,6 @@
+ bindir="$selfdir/fluid"
+ includedir="$selfdir"
+ libdir="$selfdir/lib"
+-
+- if test -f "$libdir/libfltk_jpeg.a"; then
+- CFLAGS="-I$includedir/jpeg $CFLAGS"
+- CXXFLAGS="-I$includedir/jpeg $CXXFLAGS"
+- fi
+-
+- if test -f "$libdir/libfltk_z.a"; then
+- CFLAGS="-I$includedir/zlib $CFLAGS"
+- CXXFLAGS="-I$includedir/zlib $CXXFLAGS"
+- fi
+-
+- if test -f "$libdir/libfltk_png.a"; then
+- CFLAGS="-I$includedir/png $CFLAGS"
+- CXXFLAGS="-I$includedir/png $CXXFLAGS"
+- fi
+ fi
+
+ if test -d $includedir/FL/images; then
+@@ -76,11 +61,6 @@
+ CXXFLAGS="-I$includedir/FL/images $CXXFLAGS"
+ fi
+
+-if test -f "$libdir/libfltk_cairo.a"; then
+- CFLAGS="$CAIROFLAGS $CFLAGS"
+- CXXFLAGS="$CAIROFLAGS $CXXFLAGS"
+-fi
+-
+ # libraries to link with:
+ LIBNAME="@LIBNAME@"
+ DSONAME="@DSONAME@"
+@@ -230,25 +210,20 @@
+ fi
+
+ # Calculate needed libraries
+-LDSTATIC="$libdir/libfltk.a $LDLIBS"
+ LDLIBS="-lfltk$SHAREDSUFFIX $LDLIBS"
+
+ if test x$use_forms = xyes; then
+ LDLIBS="-lfltk_forms$SHAREDSUFFIX $LDLIBS"
+- LDSTATIC="$libdir/libfltk_forms.a $LDSTATIC"
+ fi
+ if test x$use_gl = xyes; then
+ LDLIBS="-lfltk_gl$SHAREDSUFFIX @GLLIB@ $LDLIBS"
+- LDSTATIC="$libdir/libfltk_gl.a @GLLIB@ $LDSTATIC"
+ fi
+ if test x$use_images = xyes; then
+ LDLIBS="-lfltk_images$SHAREDSUFFIX $IMAGELIBS $LDLIBS"
+- LDSTATIC="$libdir/libfltk_images.a $STATICIMAGELIBS $LDSTATIC"
+ fi
+
+ if test x$use_cairo = xyes; then
+ LDLIBS="-lfltk_cairo$SHAREDSUFFIX $CAIROLIBS $LDLIBS"
+- LDSTATIC="$libdir/libfltk_cairo.a $CAIROLIBS $LDSTATIC"
+ fi
+
+ LDLIBS="$DSOLINK $LDFLAGS $libs $LDLIBS"
+@@ -359,26 +334,26 @@
+ fi
+
+ if test "$echo_libs" = "yes"; then
+- USELIBS="$libdir/libfltk.a"
++ USELIBS="$libdir/libfltk.so"
+
+ if test x$use_forms = xyes; then
+- USELIBS="$libdir/libfltk_forms.a $USELIBS"
++ USELIBS="$libdir/libfltk_forms.so $USELIBS"
+ fi
+
+ if test x$use_gl = xyes; then
+- USELIBS="$libdir/libfltk_gl.a $USELIBS"
++ USELIBS="$libdir/libfltk_gl.so $USELIBS"
+ fi
+
+ if test x$use_cairo = xyes; then
+- USELIBS="$libdir/libfltk_cairo.a $USELIBS"
++ USELIBS="$libdir/libfltk_cairo.so $USELIBS"
+ fi
+
+ if test x$use_images = xyes; then
+- USELIBS="$libdir/libfltk_images.a $USELIBS"
++ USELIBS="$libdir/libfltk_images.so $USELIBS"
+
+ for lib in fltk_jpeg fltk_png fltk_z; do
+- if test -f $libdir/lib$lib.a; then
+- USELIBS="$libdir/lib$lib.a $USELIBS"
++ if test -f $libdir/lib$lib.so; then
++ USELIBS="$libdir/lib$lib.so $USELIBS"
+ fi
+ done
+ fi
+
diff --git a/extra/source/fltk/slack-desc b/extra/source/fltk/slack-desc
index 3175b3e8..4779089a 100644
--- a/extra/source/fltk/slack-desc
+++ b/extra/source/fltk/slack-desc
@@ -1,8 +1,8 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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 ':'.
|-----handy-ruler------------------------------------------------------|
@@ -10,9 +10,9 @@ fltk: fltk (The Fast Light Tool Kit)
fltk:
fltk: The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a a cross-
fltk: platform C++ GUI toolkit for UNIX(r)/Linux(r) (X11), Microsoft(r)
-fltk: Windows(r), and MacOS(r) X. FLTK provides modern GUI functionality
+fltk: Windows(r), and MacOS(r) X. FLTK provides modern GUI functionality
fltk: without the bloat and supports 3D graphics via OpenGL(r) and its
-fltk: built-in GLUT emulation. The Fast Light Tool Kit was originally
+fltk: built-in GLUT emulation. The Fast Light Tool Kit was originally
fltk: developed by Mr. Bill Spitzak.
fltk:
fltk: fltk home: http://www.fltk.org
diff --git a/extra/source/java/java.SlackBuild b/extra/source/java/java.SlackBuild
index 80542817..37aed193 100755
--- a/extra/source/java/java.SlackBuild
+++ b/extra/source/java/java.SlackBuild
@@ -1,26 +1,21 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
+# Copyright 2008, 2009, 2010, 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, MN, USA
#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
+# 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
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-# 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.
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
-CWD=$(pwd)
+cd $(dirname $0) ; CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-java
rm -rf $PKG
diff --git a/extra/source/java/slack-desc.jdk b/extra/source/java/slack-desc.jdk
index 57dfb7e0..d3087499 100644
--- a/extra/source/java/slack-desc.jdk
+++ b/extra/source/java/slack-desc.jdk
@@ -1,18 +1,18 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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 ':'.
|-----handy-ruler------------------------------------------------------|
jdk: Java(TM) 2 Platform Standard Edition Development Kit.
jdk:
jdk: The Java 2 SDK software includes tools for developing, testing, and
-jdk: running programs written in the Java programming language. This
+jdk: running programs written in the Java programming language. This
jdk: package contains everything you need to run Java(TM).
jdk:
jdk: For additional information, refer to this web page:
-jdk: http://java.com/
+jdk: http://java.com/
jdk:
jdk:
jdk:
diff --git a/extra/source/java/slack-desc.jre b/extra/source/java/slack-desc.jre
index 643ff763..ef283dc5 100644
--- a/extra/source/java/slack-desc.jre
+++ b/extra/source/java/slack-desc.jre
@@ -1,8 +1,8 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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 ':'.
|-----handy-ruler------------------------------------------------------|
jre: Java(TM) 2 Platform Standard Edition Runtime Environment.
diff --git a/extra/source/mplayerplug-in/mplayerplug-in.SlackBuild b/extra/source/mplayerplug-in/mplayerplug-in.SlackBuild
deleted file mode 100755
index d37232fc..00000000
--- a/extra/source/mplayerplug-in/mplayerplug-in.SlackBuild
+++ /dev/null
@@ -1,247 +0,0 @@
-#!/bin/sh
-# $Id: mplayerplug-in.SlackBuild,v 1.3 2008/08/08 11:36:29 root Exp root $
-# Copyright (c) 2006-2008 Eric Hameleers <alien@slackware.com>, Eindhoven,NL
-# All rights reserved.
-#
-# Permission to use, copy, modify, and distribute this software for
-# any purpose with or without fee is hereby granted, provided that
-# the above copyright notice and this permission notice appear in all
-# copies.
-#
-# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
-# CONTRIBUTORS 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.
-# -----------------------------------------------------------------------------
-#
-# Slackware SlackBuild script
-# ===========================
-# By: Eric Hameleers <alien@slackware.com>
-# For: mplayerplug-in
-# Descr: embedded video player for mozilla based browsers
-# URL: http://mplayerplug-in.sourceforge.net/
-# Needs: MPlayer >= 1.0rc2
-# Changelog:
-# 3.31-1: 05/Nov/2006 by Eric Hameleers <alien@slackware.com>
-# * Initial build.
-# 3.55-1: 08/Aug/2008 by Eric Hameleers <alien@slackware.com>
-# * Update.
-#
-# Run 'sh mplayerplug-in.SlackBuild --cleanup' to build a Slackware package.
-# The package (.txz) plus descriptive .txt file are created in /tmp .
-# Install using 'installpkg'.
-#
-# -----------------------------------------------------------------------------
-
-# Set initial variables:
-
-PRGNAM=mplayerplug-in
-VERSION=${VERSION:-3.55}
-ARCH=${ARCH:-x86_64}
-BUILD=${BUILD:-1}
-TAG=${TAG:-}
-
-DOCS="ChangeLog INSTALL LICENSE README TODO"
-
-# Where do we look for sources?
-SRCDIR=$(cd $(dirname $0); pwd)
-
-# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
-TMP=${TMP:-/tmp/build}
-PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp}
-
-SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.tar.gz"
-SRCURL="http://downloads.sourceforge.net/${PRGNAM}/${PRGNAM}-${VERSION}.tar.gz"
-
-##
-## --- with a little luck, you won't have to edit below this point --- ##
-##
-
-# Exit the script on errors:
-set -e
-trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR
-# Catch unitialized variables:
-set -u
-P1=${1:-1}
-
-# Slackware 11 and up need other option (gcc > 3.3.x)
-if [ $(gcc -dumpversion | tr -d '.' |cut -c 1-2) -gt 33 ]; then
- MOPT=tune
-else
- MOPT=cpu
-fi
-
-case "$ARCH" in
- i486) SLKCFLAGS="-O2 -march=i486 -m${MOPT}=i686"
- SLKLDFLAGS=""; LIBDIRSUFFIX=""
- ;;
- s390) SLKCFLAGS="-O2"
- SLKLDFLAGS=""; LIBDIRSUFFIX=""
- ;;
- powerpc) SLKCFLAGS="-O2"
- SLKLDFLAGS=""; LIBDIRSUFFIX=""
- ;;
- x86_64) SLKCFLAGS="-O2 -fPIC"
- SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
- ;;
- athlon-xp) SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
- SLKLDFLAGS=""; LIBDIRSUFFIX=""
- ;;
-esac
-
-# Create working directories:
-mkdir -p $OUTPUT # place for the package to be saved
-mkdir -p $TMP/tmp-$PRGNAM # location to build the source
-mkdir -p $PKG # place for the package to be built
-rm -rf $PKG/* # always erase old package's contents
-rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
-
-# Source file availability:
-if ! [ -f ${SOURCE} ]; then
- if ! [ "x${SRCURL}" == "x" ]; then
- # Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
- [ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)"
- echo "Source '$(basename ${SOURCE})' not available yet..."
- echo "Will download file to $(dirname $SOURCE)"
- wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true
- if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then
- echo "Downloading '$(basename ${SOURCE})' failed... aborting the build."
- mv -f "${SOURCE}" "${SOURCE}".FAIL
- exit 1
- fi
- else
- echo "File '$(basename ${SOURCE})' not available... aborting the build."
- exit 1
- fi
-fi
-
-if [ "$P1" == "--download" ]; then
- echo "Download complete."
- exit 0
-fi
-
-# --- PACKAGE BUILDING ---
-
-echo "++"
-echo "|| $PRGNAM-$VERSION"
-echo "++"
-
-cd $TMP/tmp-$PRGNAM
-echo "Extracting the source archive(s) for $PRGNAM..."
-if $(file ${SOURCE} | grep -q ": bzip2"); then
- tar -xjvf ${SOURCE}
-elif $(file ${SOURCE} | grep -q ": gzip"); then
- tar -xzvf ${SOURCE}
-fi
-cd ${PRGNAM}-${VERSION}
-chown -R root:root .
-chmod -R u+w,go+r-w,a-s .
-
-echo Building ...
-LDFLAGS="$SLKLDFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-CFLAGS="$SLKCFLAGS" \
-./configure --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --localstatedir=/var \
- --sysconfdir=/etc \
- --mandir=/usr/man \
- --enable-wmp \
- --enable-qt \
- --enable-rm \
- --enable-gmp \
- --enable-dvx \
- --program-prefix="" \
- --program-suffix="" \
- --build=$ARCH-slackware-linux \
- 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
-make 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
-
-# Install all the needed stuff to the package dir
-# Use installwatch if available, to produce a logfile of the installation
-# process that is more easily readable:
-if $(which installwatch > /dev/null 2>&1); then
- installwatch -o $OUTPUT/install-${PRGNAM}.log make DESTDIR=$PKG install
-else
- make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log
-fi
-
-# Prepare the config files:
-mv $PKG/etc/mplayerplug-in.conf{,.new}
-mv $PKG/etc/mplayerplug-in.types{,.new}
-
-# Add this to the doinst.sh
-! [ -d $PKG/install ] && mkdir -p $PKG/install
-cat <<EOINS >> $PKG/install/doinst.sh
-# Handle the incoming configuration files:
-config() {
- for infile in \$1; do
- NEW="\$infile"
- OLD="\`dirname \$NEW\`/\`basename \$NEW .new\`"
- # If there's no config file by that name, mv it over:
- if [ ! -r \$OLD ]; then
- mv \$NEW \$OLD
- elif [ "\`cat \$OLD | md5sum\`" = "\`cat \$NEW | md5sum\`" ]; then
- # toss the redundant copy
- rm \$NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
- done
-}
-
-config etc/mplayerplug-in.conf.new
-config etc/mplayerplug-in.types.new
-
-EOINS
-
-# Add documentation:
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
-cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
-find $PKG/usr/doc -type f -exec chmod 644 {} \;
-
-# Compress the man page(s):
-if [ -d $PKG/usr/man ]; then
- find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
- for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-fi
-
-# Strip binaries:
-cd $PKG
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-cd -
-
-# Add a package description:
-mkdir -p $PKG/install
-cat $SRCDIR/slack-desc > $PKG/install/slack-desc
-if [ -f $SRCDIR/doinst.sh ]; then
- cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh
-fi
-
-# Build the package:
-cd $PKG
-makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
-cd $OUTPUT
-md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz.md5
-cd -
-cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
-if [ -f $PKG/install/slack-required ]; then
- cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.dep
-fi
-
-# Clean up the extra stuff:
-if [ "$P1" = "--cleanup" ]; then
- rm -rf $TMP/tmp-$PRGNAM
- rm -rf $PKG
-fi
diff --git a/extra/source/mplayerplug-in/slack-desc b/extra/source/mplayerplug-in/slack-desc
deleted file mode 100644
index 5e847c96..00000000
--- a/extra/source/mplayerplug-in/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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 ':'.
-
- |-----handy-ruler------------------------------------------------------|
-mplayerplug-in: mplayerplug-in (embedded video player for mozilla based browsers)
-mplayerplug-in:
-mplayerplug-in: mplayerplug-in is a browser plugin to allow playing embedded
-mplayerplug-in: movies on web pages, using MPlayer.
-mplayerplug-in: Media is played embedded in the page or in a separate window
-mplayerplug-in: depending on how the author of the webpage intended the media to
-mplayerplug-in: be displayed.
-mplayerplug-in:
-mplayerplug-in:
-mplayerplug-in: mplayerplug-in homepage: http://mplayerplug-in.sf.net/
-mplayerplug-in:
diff --git a/extra/source/pure-alsa-system/pure-alsa-system.buildlist b/extra/source/pure-alsa-system/pure-alsa-system.buildlist
new file mode 100644
index 00000000..874d9acd
--- /dev/null
+++ b/extra/source/pure-alsa-system/pure-alsa-system.buildlist
@@ -0,0 +1,34 @@
+# Before running this buildlist, remove the following packages:
+# removepkg pulseaudio pamixer pavucontrol xfce4-pulseaudio-plugin
+#
+# Then, build/install the ALSA-only packages with these commands:
+# cd ../../../source
+# BUILDLIST=../extra/source/pure-alsa-system/pure-alsa-system.buildlist ./make_world.sh
+#
+# After the build/install is complete, move the asound.conf.new into place:
+# mv /etc/asound.conf.new /etc/asound.conf
+#
+# If you use Xfce, add the audio mixer plugin to your panel.
+#
+# A reboot might be needed to release the pulseaudio processes/libraries.
+#
+# Enjoy! :-)
+#
+l/alsa-lib/alsa-lib.SlackBuild
+l/libao/libao.SlackBuild
+l/libcanberra/libcanberra.SlackBuild
+l/fluidsynth/fluidsynth.SlackBuild
+l/gst-plugins-good0/gst-plugins-good0.SlackBuild
+l/gst-plugins-good/gst-plugins-good.SlackBuild
+l/alsa-plugins/alsa-plugins.SlackBuild
+xap/audacious-plugins/audacious-plugins.SlackBuild
+l/ffmpeg/ffmpeg.SlackBuild
+l/phonon/phonon.SlackBuild
+xap/xine-lib/xine-lib.SlackBuild
+ap/sox/sox.SlackBuild
+ap/mpg123/mpg123.SlackBuild
+xap/MPlayer/MPlayer.SlackBuild
+kde/kde.SlackBuild kdebase:kde-runtime
+kde/kde.SlackBuild kdemultimedia:kmix
+../extra/source/pure-alsa-system/xfce4-mixer/xfce4-mixer.SlackBuild
+../extra/source/pure-alsa-system/xfce4-volumed/xfce4-volumed.SlackBuild
diff --git a/extra/source/pure-alsa-system/xfce4-mixer/0001-Make-Unique-support-optional.patch b/extra/source/pure-alsa-system/xfce4-mixer/0001-Make-Unique-support-optional.patch
new file mode 100644
index 00000000..c53cd566
--- /dev/null
+++ b/extra/source/pure-alsa-system/xfce4-mixer/0001-Make-Unique-support-optional.patch
@@ -0,0 +1,87 @@
+From 7a18841c988edb593127842ec5c919df537f9ce0 Mon Sep 17 00:00:00 2001
+From: Andrzej <ndrwrdck@gmail.com>
+Date: Sat, 12 Apr 2014 08:53:09 +0100
+Subject: [PATCH] Make Unique support optional
+
+---
+ configure.ac.in | 4 +++-
+ xfce4-mixer/main.c | 21 +++++++++++++++++++++
+ 2 files changed, 24 insertions(+), 1 deletion(-)
+
+--- ./configure.ac.in.orig 2014-04-09 14:44:50.000000000 -0500
++++ ./configure.ac.in 2018-04-24 12:36:10.442764602 -0500
+@@ -98,7 +98,6 @@
+ XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.84])
+ XDT_CHECK_PACKAGE([GST_PLUGINS_BASE], [gstreamer-plugins-base-0.10], [0.10.25])
+ XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.20.0])
+-XDT_CHECK_PACKAGE([UNIQUE], [unique-1.0], [1.1])
+ XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.10.0])
+ XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.10.0])
+ XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-1.0], [4.10.0])
+--- ./xfce4-mixer/main.c.orig 2014-04-09 14:44:50.000000000 -0500
++++ ./xfce4-mixer/main.c 2018-04-24 12:35:56.340763434 -0500
+@@ -30,7 +30,10 @@
+ #include <gst/gst.h>
+
+ #include <gtk/gtk.h>
++
++#ifdef HAVE_UNIQUE
+ #include <unique/unique.h>
++#endif
+
+ #include <libxfce4util/libxfce4util.h>
+ #include <libxfce4ui/libxfce4ui.h>
+@@ -42,6 +45,7 @@
+
+
+
++#ifdef HAVE_UNIQUE
+ static UniqueResponse
+ message_received (UniqueApp *app,
+ UniqueCommand command,
+@@ -68,6 +72,7 @@
+
+ return response;
+ }
++#endif
+
+
+
+@@ -75,7 +80,9 @@
+ main (int argc,
+ char **argv)
+ {
++#ifdef HAVE_UNIQUE
+ UniqueApp *app;
++#endif
+ GtkWidget *window;
+ GError *error = NULL;
+ gboolean debug_mode = FALSE;
+@@ -162,6 +169,7 @@
+ if (debug_mode)
+ xfce_mixer_dump_gst_data ();
+
++#ifdef HAVE_UNIQUE
+ /* Create unique application */
+ app = unique_app_new ("org.xfce.xfce4-mixer", NULL);
+ if (unique_app_is_running (app))
+@@ -192,6 +200,19 @@
+ /* Destroy the window */
+ gtk_widget_destroy (window);
+ }
++#else
++ /* Create the mixer window */
++ window = xfce_mixer_window_new ();
++
++ /* Display the mixer window */
++ gtk_widget_show (window);
++
++ /* Enter the GTK+ main loop */
++ gtk_main ();
++
++ /* Destroy the window */
++ gtk_widget_destroy (window);
++#endif
+
+ /* Shutdown the mixer library */
+ xfce_mixer_shutdown ();
diff --git a/extra/source/pure-alsa-system/xfce4-mixer/0001-Use-datadir-xfce4-mixer-as-MIXER_DATADIR.patch b/extra/source/pure-alsa-system/xfce4-mixer/0001-Use-datadir-xfce4-mixer-as-MIXER_DATADIR.patch
new file mode 100644
index 00000000..f0b32dad
--- /dev/null
+++ b/extra/source/pure-alsa-system/xfce4-mixer/0001-Use-datadir-xfce4-mixer-as-MIXER_DATADIR.patch
@@ -0,0 +1,63 @@
+From a60d7b81674449d1753fcf8bb15c57fc178424e6 Mon Sep 17 00:00:00 2001
+From: Robby Workman <rworkman@slackware.com>
+Date: Thu, 19 Feb 2015 19:36:21 -0600
+Subject: [PATCH 1/2] Use $(datadir)/xfce4/mixer/ as MIXER_DATADIR
+
+Follow common practice of other Xfce componenets and use
+$(datadir)/xfce4/mixer/ instead of $(datadir)/xfce4-mixer/.
+---
+ icons/16x16/Makefile.am | 2 +-
+ icons/scalable/Makefile.am | 2 +-
+ libxfce4mixer/Makefile.am | 2 +-
+ xfce4-mixer/Makefile.am | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/icons/16x16/Makefile.am b/icons/16x16/Makefile.am
+index 803a2e4..ace4a07 100644
+--- a/icons/16x16/Makefile.am
++++ b/icons/16x16/Makefile.am
+@@ -1,4 +1,4 @@
+-iconsdir = $(pkgdatadir)/icons/hicolor/16x16/status
++iconsdir = $(datadir)/xfce4/mixer/icons/hicolor/16x16/status
+ icons_DATA = audio-input-microphone-muted.png
+
+ EXTRA_DIST = $(icons_DATA)
+diff --git a/icons/scalable/Makefile.am b/icons/scalable/Makefile.am
+index 5bfc12c..5212e63 100644
+--- a/icons/scalable/Makefile.am
++++ b/icons/scalable/Makefile.am
+@@ -1,4 +1,4 @@
+-iconsdir = $(pkgdatadir)/icons/hicolor/scalable/status
++iconsdir = $(datadir)/xfce4/mixer/icons/hicolor/scalable/status
+ icons_DATA = audio-input-microphone-muted.svg
+
+ EXTRA_DIST = $(icons_DATA)
+diff --git a/libxfce4mixer/Makefile.am b/libxfce4mixer/Makefile.am
+index 792a95e..e864ea8 100644
+--- a/libxfce4mixer/Makefile.am
++++ b/libxfce4mixer/Makefile.am
+@@ -25,7 +25,7 @@ libxfce4mixer_la_CPPFLAGS = \
+ -DDATADIR=\"$(datadir)\" \
+ -DPACKAGE_LOCALE_DIR=\"$(localedir)\" \
+ -DG_LOG_DOMAIN=\"libxfce4mixer\" \
+- -DMIXER_DATADIR=\"$(pkgdatadir)\"
++ -DMIXER_DATADIR=\"$(datadir)/xfce4/mixer\"
+
+ libxfce4mixer_la_CFLAGS = \
+ $(PLATFORM_CFLAGS) \
+diff --git a/xfce4-mixer/Makefile.am b/xfce4-mixer/Makefile.am
+index 4af69e9..f979b92 100644
+--- a/xfce4-mixer/Makefile.am
++++ b/xfce4-mixer/Makefile.am
+@@ -23,7 +23,7 @@ xfce4_mixer_CPPFLAGS = \
+ -I$(top_srcdir) \
+ -DPACKAGE_LOCALE_DIR=\"$(localedir)\" \
+ -DDATADIR=\"$(datadir)\" \
+- -DMIXER_DATADIR=\"$(pkgdatadir)\" \
++ -DMIXER_DATADIR=\"$(datadir)/xfce4/mixer\" \
+ -DG_LOG_DOMAIN=\"xfce4-mixer\"
+
+ xfce4_mixer_CFLAGS = \
+--
+2.3.1
+
diff --git a/extra/source/pure-alsa-system/xfce4-mixer/0001-icons-Makefile.am-Remove-unnecessary-gtk-update-icon.patch b/extra/source/pure-alsa-system/xfce4-mixer/0001-icons-Makefile.am-Remove-unnecessary-gtk-update-icon.patch
new file mode 100644
index 00000000..ce1eae68
--- /dev/null
+++ b/extra/source/pure-alsa-system/xfce4-mixer/0001-icons-Makefile.am-Remove-unnecessary-gtk-update-icon.patch
@@ -0,0 +1,36 @@
+From 735927c7a72b69f60f13fe7bcf4a10c1a80ca151 Mon Sep 17 00:00:00 2001
+From: Robby Workman <rworkman@slackware.com>
+Date: Thu, 19 Feb 2015 19:07:06 -0600
+Subject: [PATCH] icons/Makefile.am: Remove unnecessary gtk-update-icon-cache
+
+No icons are installed in the standard paths any more, so this
+appears to be leftover code.
+---
+ icons/Makefile.am | 13 -------------
+ 1 file changed, 13 deletions(-)
+
+diff --git a/icons/Makefile.am b/icons/Makefile.am
+index 70638c1..035476a 100644
+--- a/icons/Makefile.am
++++ b/icons/Makefile.am
+@@ -4,17 +4,4 @@ SUBDIRS = \
+ 16x16 \
+ scalable
+
+-gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
+-
+-install-data-hook:
+- @-if test -z "$(DESTDIR)"; then \
+- echo "Updating Gtk icon cache."; \
+- $(gtk_update_icon_cache); \
+- else \
+- echo "*** Icon cache not updated. Remember to run:"; \
+- echo "***"; \
+- echo "*** $(gtk_update_icon_cache)"; \
+- echo "***"; \
+- fi
+-
+ # vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
+--
+2.3.1
+
diff --git a/extra/source/pure-alsa-system/xfce4-mixer/README.ALSA b/extra/source/pure-alsa-system/xfce4-mixer/README.ALSA
new file mode 100644
index 00000000..9e7947ce
--- /dev/null
+++ b/extra/source/pure-alsa-system/xfce4-mixer/README.ALSA
@@ -0,0 +1,4 @@
+This package is only useful on a pure ALSA system, and so it is not built
+by default. For information about removing PulseAudio and switching to
+pure ALSA (this is not generally recommended, but some use-cases demand it),
+please see the files in ../../l/alsa-lib.
diff --git a/extra/source/pure-alsa-system/xfce4-mixer/doinst.sh b/extra/source/pure-alsa-system/xfce4-mixer/doinst.sh
new file mode 100644
index 00000000..9830478e
--- /dev/null
+++ b/extra/source/pure-alsa-system/xfce4-mixer/doinst.sh
@@ -0,0 +1,14 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -x /usr/bin/update-mime-database ]; then
+ /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
+fi
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
+
diff --git a/extra/source/pure-alsa-system/xfce4-mixer/slack-desc b/extra/source/pure-alsa-system/xfce4-mixer/slack-desc
new file mode 100644
index 00000000..dbf29ce0
--- /dev/null
+++ b/extra/source/pure-alsa-system/xfce4-mixer/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 ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xfce4-mixer: xfce4-mixer (Sound mixer applet for Xfce)
+xfce4-mixer:
+xfce4-mixer: The xfce4-mixer package contains a volume control application based
+xfce4-mixer: on GStreamer written to conceptually fit into the Xfce desktop
+xfce4-mixer: environment. It also contains a plugin for the Xfce panel which is
+xfce4-mixer: especially designed for use with the mouse wheel.
+xfce4-mixer:
+xfce4-mixer:
+xfce4-mixer:
+xfce4-mixer:
+xfce4-mixer:
diff --git a/extra/source/pure-alsa-system/xfce4-mixer/xfce4-mixer.SlackBuild b/extra/source/pure-alsa-system/xfce4-mixer/xfce4-mixer.SlackBuild
new file mode 100755
index 00000000..9e38cdb0
--- /dev/null
+++ b/extra/source/pure-alsa-system/xfce4-mixer/xfce4-mixer.SlackBuild
@@ -0,0 +1,125 @@
+#!/bin/bash
+
+# Slackware build script for xfce4-mixer
+
+# Copyright 2010, 2011 Robby Workman, Northport, Alabama, USA
+# Copyright 2018 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.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=xfce4-mixer
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1_alsa}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+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
+
+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
+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 {} \;
+
+zcat $CWD/0001-Make-Unique-support-optional.patch | patch -p1 --verbose || exit 1
+zcat $CWD/0001-Use-datadir-xfce4-mixer-as-MIXER_DATADIR.patch | patch -p1 --verbose || exit 1
+zcat $CWD/0001-icons-Makefile.am-Remove-unnecessary-gtk-update-icon.patch | patch -p1 --verbose || exit 1
+
+xdt-autogen
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc/xfce \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --disable-debug \
+ --disable-unique \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+gzip -9 $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* HACKING INSTALL NEWS README* THANKS TODO \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# 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
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/extra/source/pure-alsa-system/xfce4-volumed/0001-Removed-deprecated-Encoding-entry-in-.desktop-file-t.patch b/extra/source/pure-alsa-system/xfce4-volumed/0001-Removed-deprecated-Encoding-entry-in-.desktop-file-t.patch
new file mode 100644
index 00000000..f3f43ea1
--- /dev/null
+++ b/extra/source/pure-alsa-system/xfce4-volumed/0001-Removed-deprecated-Encoding-entry-in-.desktop-file-t.patch
@@ -0,0 +1,37 @@
+From 2ee3b12be641501ee3a9ce0278291b8c5a865021 Mon Sep 17 00:00:00 2001
+From: Steve Dodier <sidnioulz@gmail.com>
+Date: Thu, 3 Mar 2011 11:43:26 +0100
+Subject: [PATCH 1/3] Removed deprecated "Encoding" entry in .desktop file
+ (thanks to Samuli Suominen)
+
+---
+ ChangeLog | 3 +++
+ data/xfce4-volumed.desktop | 1 -
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index e1690ba..beeb5f6 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,4 +1,7 @@
+ 2011-03-03 Steve Dodier <sidnioulz@gmail.com>
++ * Removed deprecated "Encoding" entry in .desktop file (thanks to Samuli Suominen)
++
++2011-03-03 Steve Dodier <sidnioulz@gmail.com>
+ * Allow compatibility with Libnotify 0.7 (thanks to Samuli Suominen for the patch)
+
+ 2011-03-03 Steve Dodier <sidnioulz@gmail.com>
+diff --git a/data/xfce4-volumed.desktop b/data/xfce4-volumed.desktop
+index 8ac7dc7..be362c5 100644
+--- a/data/xfce4-volumed.desktop
++++ b/data/xfce4-volumed.desktop
+@@ -1,6 +1,5 @@
+
+ [Desktop Entry]
+-Encoding=UTF-8
+ Type=Application
+ Terminal=false
+ Name=XFCE Volume Daemon
+--
+2.3.0
+
diff --git a/extra/source/pure-alsa-system/xfce4-volumed/0003-Removing-edge-case-memleaks.patch b/extra/source/pure-alsa-system/xfce4-volumed/0003-Removing-edge-case-memleaks.patch
new file mode 100644
index 00000000..8d45bae3
--- /dev/null
+++ b/extra/source/pure-alsa-system/xfce4-volumed/0003-Removing-edge-case-memleaks.patch
@@ -0,0 +1,80 @@
+From ac129e178c24d7ec79b020a7912cc680a6008c5b Mon Sep 17 00:00:00 2001
+From: Steve Dodier-Lazaro <sidnioulz@gmail.com>
+Date: Wed, 10 Dec 2014 03:38:32 +0000
+Subject: [PATCH 3/3] Removing edge-case memleaks
+
+---
+ src/main.c | 2 +-
+ src/xvd_mixer.c | 30 ++++++++++++++++++------------
+ 2 files changed, 19 insertions(+), 13 deletions(-)
+
+diff --git a/src/main.c b/src/main.c
+index 18e8e01..d04920c 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -81,7 +81,7 @@ xvd_shutdown()
+ xvd_keys_release (Inst);
+ xvd_xfconf_shutdown (Inst);
+
+- //TODO xvd_instance_free
++ g_free (Inst);
+ }
+
+ static void
+diff --git a/src/xvd_mixer.c b/src/xvd_mixer.c
+index 1d580bf..cef3151 100644
+--- a/src/xvd_mixer.c
++++ b/src/xvd_mixer.c
+@@ -102,31 +102,37 @@ _xvd_mixer_bus_message (GstBus *bus, GstMessage *message,
+ {
+ gst_mixer_message_parse_mute_toggled (message, &msg_track, &Inst->muted);
+ g_object_get (msg_track, "label", &label, NULL);
+- if (g_strcmp0 (Inst->track_label, label) != 0)
+- return;
++
++ if (g_strcmp0 (Inst->track_label, label) == 0)
++ {
+ #ifdef HAVE_LIBNOTIFY
+- if (Inst->muted)
+- xvd_notify_notification (Inst, "audio-volume-muted", 0);
+- else {
+- xvd_mixer_init_volume (Inst);
+- xvd_notify_volume_notification (Inst);
++ if (Inst->muted)
++ xvd_notify_notification (Inst, "audio-volume-muted", 0);
++ else {
++ xvd_mixer_init_volume (Inst);
++ xvd_notify_volume_notification (Inst);
+ #endif
++ }
+ }
++
+ g_free (label);
+ }
+ else if (type == GST_MIXER_MESSAGE_VOLUME_CHANGED)
+ {
+ gst_mixer_message_parse_volume_changed (message, &msg_track, &volumes, &num_channels);
+ g_object_get (msg_track, "label", &label, NULL);
+- if (g_strcmp0 (Inst->track_label, label) != 0)
+- return;
+- xvd_calculate_avg_volume (Inst, volumes, num_channels);
++ if (g_strcmp0 (Inst->track_label, label) == 0)
++ {
++ xvd_calculate_avg_volume (Inst, volumes, num_channels);
+ #ifdef HAVE_LIBNOTIFY
+- xvd_notify_volume_notification (Inst);
++ xvd_notify_volume_notification (Inst);
+ #endif
++ }
++
+ g_free (label);
+ }
+- else if (type == GST_MIXER_MESSAGE_MIXER_CHANGED) {
++ else if (type == GST_MIXER_MESSAGE_MIXER_CHANGED)
++ {
+ // This kind of message shouldn't happen on an hardware card
+ g_debug ("GST_MIXER_MESSAGE_MIXER_CHANGED event\n");
+ }
+--
+2.3.0
+
diff --git a/extra/source/pure-alsa-system/xfce4-volumed/slack-desc b/extra/source/pure-alsa-system/xfce4-volumed/slack-desc
new file mode 100644
index 00000000..d7918924
--- /dev/null
+++ b/extra/source/pure-alsa-system/xfce4-volumed/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 ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+xfce4-volumed: xfce4-volumed (audio volume management daemon)
+xfce4-volumed:
+xfce4-volumed: This daemon is responsible for making the volume up/down and mute
+xfce4-volumed: keys of the keyboard work automatically, and uses the XFCE mixer's
+xfce4-volumed: defined card and track for choosing which track to act on.
+xfce4-volumed:
+xfce4-volumed: It also provides volume change and mute toggle notifications if
+xfce4-volumed: a notification daemon is running (using libnotify).
+xfce4-volumed:
+xfce4-volumed: Homepage: https://launchpad.net/xfce4-volumed
+xfce4-volumed:
diff --git a/extra/source/pure-alsa-system/xfce4-volumed/xfce4-volumed.SlackBuild b/extra/source/pure-alsa-system/xfce4-volumed/xfce4-volumed.SlackBuild
new file mode 100755
index 00000000..ea72fdf9
--- /dev/null
+++ b/extra/source/pure-alsa-system/xfce4-volumed/xfce4-volumed.SlackBuild
@@ -0,0 +1,117 @@
+#!/bin/sh
+
+# Slackware build script for xfce4-volumed
+
+# Copyright 2006-2011 Robby Workman Northport, Alabama, USA
+# Copyright 2009, 2018 Patrick J. Volkerding, Sebeka, MN, 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.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=xfce4-volumed
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-4_alsa}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+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
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || 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 {} \;
+
+zcat $CWD/0001-Removed-deprecated-Encoding-entry-in-.desktop-file-t.patch | patch -p1 --verbose || exit 1
+zcat $CWD/0003-Removing-edge-case-memleaks.patch | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-debug=no \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs 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 \
+ AUTHORS COPYING* INSTALL NEWS README* THANKS \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# 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
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+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/extra/source/recordmydesktop/recordmydesktop-bitrate.patch b/extra/source/recordmydesktop/recordmydesktop-bitrate.patch
new file mode 100644
index 00000000..9b014486
--- /dev/null
+++ b/extra/source/recordmydesktop/recordmydesktop-bitrate.patch
@@ -0,0 +1,50 @@
+diff -ru recordmydesktop-0.3.8.1.old/src/rmd_initialize_data.c recordmydesktop-0.3.8.1/src/rmd_initialize_data.c
+--- recordmydesktop-0.3.8.1.old/src/rmd_initialize_data.c 2009-11-25 10:05:58.708779029 -0500
++++ recordmydesktop-0.3.8.1/src/rmd_initialize_data.c 2009-11-25 09:28:07.629507987 -0500
+@@ -224,7 +224,7 @@
+ args->channels = 1;
+ args->frequency = 22050;
+ args->buffsize = 4096;
+- args->v_bitrate = 45000;
++ args->v_bitrate = 0;
+ args->v_quality = 63;
+ args->s_quality = 10;
+
+diff -ru recordmydesktop-0.3.8.1.old/src/rmd_parseargs.c recordmydesktop-0.3.8.1/src/rmd_parseargs.c
+--- recordmydesktop-0.3.8.1.old/src/rmd_parseargs.c 2009-11-25 10:06:07.409777969 -0500
++++ recordmydesktop-0.3.8.1/src/rmd_parseargs.c 2009-11-25 09:39:32.786757292 -0500
+@@ -104,10 +104,10 @@
+ "Encoding Options\n"
+ "\t--on-the-fly-encoding\tEncode the audio-video data, while recording.\n"
+ "\t--v_quality n\t\tA number from 0 to 63 for"
+- " desired encoded video quality(default 63).\n"
++ " desired encoded video quality(default 63).\n\t (set quality to zero for bitrate controlled usage)\n"
+
+- "\t--v_bitrate n\t\tA number from 45000 to 2000000"
+- " for desired encoded video bitrate(default 45000).\n"
++ "\t--v_bitrate n\t\tA number from 0 to 200000000"
++ " for desired encoded video bitrate(default 0 = not rate controlled).\n"
+
+ "\t--s_quality n\t\tDesired audio quality(-1 to 10).\n\n"
+
+@@ -327,17 +327,17 @@
+ strcmp(argv[i], "-v_bitrate") == 0) {
+ if(i+1<argc){
+ int num=atoi(argv[i+1]);
+- if((num>=45000)&&(num<=2000000))
++ if((num>=0)&&(num<=200000000))
+ arg_return->v_bitrate=num;
+ else{
+ fprintf(stderr,"Argument Usage:"
+- " --v_bitrate n(number 45000-2000000)\n");
++ " --v_bitrate n(number 0-200000000)\n");
+ return FALSE;
+ }
+ }
+ else{
+ fprintf(stderr,"Argument Usage:"
+- " --v_bitrate n(number 45000-2000000)\n");
++ " --v_bitrate n(number 0-200000000)\n");
+ return FALSE;
+ }
+ i++;
diff --git a/extra/source/recordmydesktop/recordmydesktop.SlackBuild b/extra/source/recordmydesktop/recordmydesktop.SlackBuild
index 837f873e..f4655deb 100755
--- a/extra/source/recordmydesktop/recordmydesktop.SlackBuild
+++ b/extra/source/recordmydesktop/recordmydesktop.SlackBuild
@@ -1,6 +1,7 @@
#!/bin/sh
# $Id: recordmydesktop.SlackBuild,v 1.8 2009/05/12 22:14:43 root Exp root $
# Copyright (c) 2008 Eric Hameleers <alien@slackware.com>
+# Copyright 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -43,16 +44,16 @@
# Set initial variables:
-PRGNAM=recordmydesktop
+PKGNAM=recordmydesktop
VERSION=${VERSION:-0.3.8.1}
QTVER=${QTVER:-0.3.8}
-BUILD=${BUILD:-3}
-NUMJOBS=${NUMJOBS:" -j4 "}
+BUILD=${BUILD:-4}
+NUMJOBS=${NUMJOBS:" -j7 "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
@@ -60,22 +61,30 @@ if [ -z "$ARCH" ]; then
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
+
DOCS="AUTHORS COPYING README ChangeLog"
QTDOCS="AUTHORS COPYING README ChangeLog"
# Where do we look for sources?
-SRCDIR=$(cd $(dirname $0); pwd)
+cd $(dirname $0) ; SRCDIR=$(pwd)
# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
TMP=${TMP:-/tmp/build}
-PKG=$TMP/package-$PRGNAM
+PKG=$TMP/package-$PKGNAM
OUTPUT=${OUTPUT:-/tmp}
-SOURCE[0]="$SRCDIR/${PRGNAM}-${VERSION}.tar.gz"
-SRCURL[0]="http://downloads.sourceforge.net/${PRGNAM}/${PRGNAM}-${VERSION}.tar.gz"
+SOURCE[0]="$SRCDIR/${PKGNAM}-${VERSION}.tar.gz"
+SRCURL[0]="http://downloads.sourceforge.net/${PKGNAM}/${PKGNAM}-${VERSION}.tar.gz"
-SOURCE[1]="$SRCDIR/qt-${PRGNAM}-${QTVER}.tar.gz"
-SRCURL[1]="http://downloads.sourceforge.net/${PRGNAM}/qt-${PRGNAM}-${QTVER}.tar.gz"
+SOURCE[1]="$SRCDIR/qt-${PKGNAM}-${QTVER}.tar.gz"
+SRCURL[1]="http://downloads.sourceforge.net/${PKGNAM}/qt-${PKGNAM}-${QTVER}.tar.gz"
##
## --- with a little luck, you won't have to edit below this point --- ##
@@ -83,13 +92,13 @@ SRCURL[1]="http://downloads.sourceforge.net/${PRGNAM}/qt-${PRGNAM}-${QTVER}.tar.
# Exit the script on errors:
set -e
-trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR
+trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PKGNAM}.log' ERR
# Catch unitialized variables:
set -u
P1=${1:-1}
case "$ARCH" in
- i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ i586) SLKCFLAGS="-O2 -march=i586 -mtune=i686"
SLKLDFLAGS=""; LIBDIRSUFFIX=""
;;
s390) SLKCFLAGS="-O2"
@@ -108,11 +117,11 @@ esac
# Create working directories:
mkdir -p $OUTPUT # place for the package to be saved
-mkdir -p $TMP/tmp-$PRGNAM # location to build the source
+mkdir -p $TMP/tmp-$PKGNAM # location to build the source
mkdir -p $PKG # place for the package to be built
rm -rf $PKG/* # always erase old package's contents
-rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
-rm -rf $OUTPUT/{configure,make,install,error,makepkg}-$PRGNAM.log
+rm -rf $TMP/tmp-$PKGNAM/* # remove the remnants of previous build
+rm -rf $OUTPUT/{configure,make,install,error,makepkg}-$PKGNAM.log
# remove old log files
# Source file availability:
@@ -144,11 +153,11 @@ fi
# --- PACKAGE BUILDING ---
echo "++"
-echo "|| $PRGNAM-$VERSION"
+echo "|| $PKGNAM-$VERSION"
echo "++"
-cd $TMP/tmp-$PRGNAM
-echo "Extracting the source archive(s) for $PRGNAM..."
+cd $TMP/tmp-$PKGNAM
+echo "Extracting the source archive(s) for $PKGNAM..."
for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do
tar -xvf ${SOURCE[$i]}
done
@@ -158,7 +167,10 @@ chmod -R u+w,go+r-w,a-s *
echo Building ...
# First, the commandline program:
-cd ${PRGNAM}-${VERSION}
+cd ${PKGNAM}-${VERSION}
+ # Apply bugfix patches from Arch:
+ zcat $SRCDIR/recordmydesktop-bitrate.patch.gz | patch -p1 --verbose || exit 1
+ zcat $SRCDIR/shmstr-to-shmproto.patch.gz | patch -p0 --verbose || exit 1
LDFLAGS="$SLKLDFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
CFLAGS="$SLKCFLAGS" \
@@ -170,18 +182,18 @@ cd ${PRGNAM}-${VERSION}
--program-prefix= \
--program-suffix= \
--build=$ARCH-slackware-linux \
- 2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
- make 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
+ 2>&1 | tee $OUTPUT/configure-${PKGNAM}.log
+ make 2>&1 | tee $OUTPUT/make-${PKGNAM}.log
if $(which installwatch > /dev/null 2>&1); then
- installwatch -o $OUTPUT/install-${PRGNAM}.log make DESTDIR=$PKG install
+ installwatch -o $OUTPUT/install-${PKGNAM}.log make DESTDIR=$PKG install
else
- make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log
+ make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PKGNAM}.log
fi
cd ..
# Next, the QT4 GUI program:
-cd qt-${PRGNAM}-${QTVER}
+cd qt-${PKGNAM}-${QTVER}
LDFLAGS="$SLKLDFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
CFLAGS="$SLKCFLAGS" \
@@ -193,13 +205,13 @@ cd qt-${PRGNAM}-${QTVER}
--program-prefix= \
--program-suffix= \
--build=$ARCH-slackware-linux \
- 2>&1 | tee $OUTPUT/configure-qt-${PRGNAM}.log
- make 2>&1 | tee $OUTPUT/make-qt-${PRGNAM}.log
+ 2>&1 | tee $OUTPUT/configure-qt-${PKGNAM}.log
+ make 2>&1 | tee $OUTPUT/make-qt-${PKGNAM}.log
if $(which installwatch > /dev/null 2>&1); then
- installwatch -o $OUTPUT/install-${PRGNAM}.log make DESTDIR=$PKG install
+ installwatch -o $OUTPUT/install-${PKGNAM}.log make DESTDIR=$PKG install
else
- make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log
+ make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PKGNAM}.log
fi
cd ..
@@ -214,15 +226,15 @@ fi
EOT
# Add documentation:
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/qt-${PRGNAM}
-( cd ${PRGNAM}-${VERSION}
- cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/qt-${PKGNAM}
+( cd ${PKGNAM}-${VERSION}
+ cp -a $DOCS $PKG/usr/doc/$PKGNAM-$VERSION || true
)
-( cd qt-${PRGNAM}-${QTVER}
- cp -a $QTDOCS $PKG/usr/doc/$PRGNAM-$VERSION/qt-${PRGNAM} || true
+( cd qt-${PKGNAM}-${QTVER}
+ cp -a $QTDOCS $PKG/usr/doc/$PKGNAM-$VERSION/qt-${PKGNAM} || true
)
-cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PKGNAM-$VERSION/$PKGNAM.SlackBuild
+chown -R root:root $PKG/usr/doc/$PKGNAM-$VERSION
find $PKG/usr/doc -type f -exec chmod 644 {} \;
# Compress the man page(s):
@@ -244,12 +256,12 @@ fi
# Build the package:
cd $PKG
-makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
+makepkg --linkadd y --chown n $OUTPUT/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz 2>&1 | tee $OUTPUT/makepkg-${PKGNAM}.log
cd $OUTPUT
-md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txz.md5
+md5sum ${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz > ${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz.md5
cd -
-cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txt
+cat $PKG/install/slack-desc | grep "^${PKGNAM}" > $OUTPUT/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txt
if [ -f $PKG/install/slack-required ]; then
- cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.dep
+ cat $PKG/install/slack-required > $OUTPUT/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.dep
fi
diff --git a/extra/source/recordmydesktop/shmstr-to-shmproto.patch b/extra/source/recordmydesktop/shmstr-to-shmproto.patch
new file mode 100644
index 00000000..6fc446e9
--- /dev/null
+++ b/extra/source/recordmydesktop/shmstr-to-shmproto.patch
@@ -0,0 +1,20 @@
+--- src/rmd_getzpixmap.c 2008-12-13 17:04:10.000000000 +0100
++++ src/rmd_getzpixmap.c 2009-11-11 11:30:18.000000000 +0100
+@@ -32,7 +32,7 @@
+
+ #include <X11/Xlib.h>
+ #include <X11/Xlibint.h>
+-#include <X11/extensions/shmstr.h>
++#include <X11/extensions/shmproto.h>
+ #include <X11/extensions/XShm.h>
+
+
+--- src/rmd_update_image.c 2008-12-13 17:20:49.000000000 +0100
++++ src/rmd_update_image.c 2009-11-11 11:30:34.000000000 +0100
+@@ -32,7 +32,7 @@
+ #include "rmd_types.h"
+
+ #include <X11/Xlibint.h>
+-#include <X11/extensions/shmstr.h>
++#include <X11/extensions/shmproto.h>
+ #include <X11/extensions/XShm.h>
diff --git a/extra/source/recordmydesktop/slack-desc b/extra/source/recordmydesktop/slack-desc
index 68091c86..49f1d726 100644
--- a/extra/source/recordmydesktop/slack-desc
+++ b/extra/source/recordmydesktop/slack-desc
@@ -1,8 +1,8 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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 ':'.
|-----handy-ruler------------------------------------------------------|
diff --git a/extra/source/sendmail/Build b/extra/source/sendmail/Build
new file mode 100644
index 00000000..21950d49
--- /dev/null
+++ b/extra/source/sendmail/Build
@@ -0,0 +1,29 @@
+#!/bin/sh
+# Copyright 2004 Slackware Linux, Inc. Concord, CA 94520
+# Copyright 2007, 2008 Patrick J. Volkerding, Sebeka, MN, 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.
+#
+
+# A script to build .cf files from .mc files:
+
+for mcfile in $* ; do
+ /usr/bin/m4 /usr/share/sendmail/cf/m4/cf.m4 $mcfile > $(basename $mcfile .mc).cf
+done
+
diff --git a/extra/source/sendmail/SlackBuild-sendmail b/extra/source/sendmail/SlackBuild-sendmail
new file mode 100755
index 00000000..a477d16a
--- /dev/null
+++ b/extra/source/sendmail/SlackBuild-sendmail
@@ -0,0 +1,170 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2012, 2013, 2014, 2015 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.
+
+VERSION=8.15.2
+BUILD=${BUILD:-3}
+
+# 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}
+PKG=$TMP/package-sendmail
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# Explode the package framework:
+cd $PKG
+explodepkg $CWD/_sendmail.tar.gz
+[ -n "${LIBDIRSUFFIX}" ] && mv $PKG/usr/lib $PKG/usr/lib${LIBDIRSUFFIX}
+
+echo "+=================+"
+echo "| sendmail.$VERSION |"
+echo "+=================+"
+OSCPU="`uname -srm | tr ' ' '.'`"
+cd $TMP
+rm -rf sendmail-$VERSION
+tar xvf $CWD/sendmail.$VERSION.tar.gz || exit 1
+cd sendmail-$VERSION
+
+zcat $CWD/openssl-1.1.0.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 {} \;
+
+# Add TLS support to the sendmail binary:
+cat $CWD/site.config.m4 > devtools/Site/site.config.m4
+
+# Build .cf files for Linux:
+cd $TMP/sendmail-$VERSION/cf/cf
+cp $CWD/*.mc .
+cp linux.uucp.mc config.mc
+sh Build config.cf
+mv config.cf $PKG/usr/share/sendmail/linux.uucp.cf
+cp sendmail-slackware.mc config.mc
+sh Build config.cf
+mv config.cf $PKG/usr/share/sendmail/sendmail-slackware.cf
+cp sendmail-slackware-tls.mc config.mc
+sh Build config.cf
+mv config.cf $PKG/usr/share/sendmail/sendmail-slackware-tls.cf
+cp sendmail-slackware-tls-sasl.mc config.mc
+sh Build config.cf
+mv config.cf $PKG/usr/share/sendmail/sendmail-slackware-tls-sasl.cf
+
+# Add a sample sendmail.cf:
+cat $PKG/usr/share/sendmail/sendmail-slackware.cf > $PKG/etc/mail/sendmail.cf.new
+cat submit.cf > $PKG/etc/mail/submit.cf.new
+
+cd $TMP/sendmail-$VERSION
+## All "Build" does is call make while screwing up the options :-)
+## sh Build
+make O="$SLKCFLAGS"
+#O="$SLKCFLAGS" sh Build
+cat sendmail/mailq.1 | gzip -9c > $PKG/usr/man/man1/mailq.1.gz
+cat sendmail/newaliases.1 | gzip -9c > $PKG/usr/man/man1/newaliases.1.gz
+mkdir -p $PKG/usr/doc/sendmail-$VERSION
+cp -a \
+ FAQ INSTALL KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \
+ $PKG/usr/doc/sendmail-$VERSION
+( cd doc ; cp -a op $PKG/usr/doc/sendmail-$VERSION )
+
+cd obj.$OSCPU/sendmail
+cat sendmail > $PKG/usr/sbin/sendmail.new
+cat aliases.5 | gzip -9c > $PKG/usr/man/man5/aliases.5.gz
+cat sendmail.8 | gzip -9c > $PKG/usr/man/man8/sendmail.8.gz
+cat statistics > $PKG/etc/mail/statistics
+cat ../../sendmail/helpfile > $PKG/etc/mail/helpfile
+cd ../makemap
+cat makemap > $PKG/usr/sbin/makemap
+cat makemap.8 | gzip -9c > $PKG/usr/man/man8/makemap.8.gz
+cd ../mailstats
+cat mailstats > $PKG/usr/sbin/mailstats
+cat mailstats.8 | gzip -9c > $PKG/usr/man/man8/mailstats.8.gz
+cd ../praliases
+cat praliases > $PKG/usr/bin/praliases
+chmod 755 $PKG/usr/bin/praliases
+cat praliases.8 | gzip -9c > $PKG/usr/man/man8/praliases.8.gz
+cd ../rmail
+cat rmail > $PKG/usr/bin/rmail
+cat rmail.8 | gzip -9c > $PKG/usr/man/man8/rmail.8.gz
+cd ../smrsh
+cat smrsh > $PKG/usr/sbin/smrsh
+cat smrsh.8 | gzip -9c > $PKG/usr/man/man8/smrsh.8.gz
+cd ../mail.local
+cat mail.local > $PKG/usr/sbin/mail.local
+cat mail.local.8 | gzip -9c > $PKG/usr/man/man8/mail.local.8.gz
+cd ../vacation
+cat vacation > $PKG/usr/bin/vacation
+cat vacation.1 | gzip -9c > $PKG/usr/man/man1/vacation.1.gz
+cd ../editmap
+cat editmap > $PKG/usr/sbin/editmap
+cat editmap.8 | gzip -9c > $PKG/usr/man/man8/editmap.8.gz
+
+# Add libmilter:
+cd $TMP/sendmail-$VERSION/libmilter
+./Build
+cd ..
+mkdir -p $PKG/usr/include
+mkdir -p $PKG/usr/include/libmilter
+cp -a include/libmilter/mfapi.h $PKG/usr/include/libmilter
+cp -a include/libmilter/mfdef.h $PKG/usr/include/libmilter
+cp -a obj.*/libmilter/libmilter.a $PKG/usr/lib${LIBDIRSUFFIX}
+strip -g $PKG/usr/lib${LIBDIRSUFFIX}/libmilter.a
+chmod 644 $PKG/usr/lib${LIBDIRSUFFIX}/libmilter.a $PKG/usr/include/libmilter/*
+mkdir -p $PKG/usr/doc/sendmail-$VERSION/libmilter
+cp -a libmilter/README $PKG/usr/doc/sendmail-$VERSION/libmilter
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+cat $CWD/slack-desc.sendmail > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/sendmail-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/extra/source/sendmail/SlackBuild-sendmail-cf b/extra/source/sendmail/SlackBuild-sendmail-cf
new file mode 100755
index 00000000..32e88023
--- /dev/null
+++ b/extra/source/sendmail/SlackBuild-sendmail-cf
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2012, 2013, 2014, 2015 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.
+
+VERSION=8.15.2
+ARCH=noarch
+BUILD=${BUILD:-3}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-sendmail-cf
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+echo "+====================+"
+echo "| sendmail.cf.$VERSION |"
+echo "+====================+"
+( cd $TMP/sendmail-$VERSION ; find . -name "*~" -print -exec rm {} \; )
+cd $PKG
+mkdir -p usr/share/sendmail/cf
+cd usr/share/sendmail/cf
+cp -a $TMP/sendmail-$VERSION/cf/README .
+cp -a $TMP/package-sendmail/usr/share/sendmail/README.linux .
+for dir in cf domain feature hack m4 mailer ostype sh siteconfig ; do
+ cp -a $TMP/sendmail-$VERSION/cf/$dir .
+done
+# Replace the sendmail Build script with a simple (working) one:
+cp -a $PKG/usr/share/sendmail/cf/cf/Build $PKG/usr/share/sendmail/cf/cf/Build.orig
+zcat $CWD/Build.gz > $PKG/usr/share/sendmail/cf/cf/Build
+chown -R root.root *
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc.sendmail-cf > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/sendmail-cf-$VERSION-noarch-$BUILD.txz
+
diff --git a/extra/source/sendmail/linux.uucp.mc b/extra/source/sendmail/linux.uucp.mc
new file mode 100644
index 00000000..ffd242bb
--- /dev/null
+++ b/extra/source/sendmail/linux.uucp.mc
@@ -0,0 +1,8 @@
+include(`../m4/cf.m4')
+VERSIONID(`linux for setup with uucp which uses domain names')dnl
+OSTYPE(linux)
+FEATURE(always_add_domain)dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+MAILER(uucp)
+define(`SMART_HOST', uucp-dom:otheruucphost)
diff --git a/extra/source/sendmail/openssl-1.1.0.patch b/extra/source/sendmail/openssl-1.1.0.patch
new file mode 100644
index 00000000..bbca0454
--- /dev/null
+++ b/extra/source/sendmail/openssl-1.1.0.patch
@@ -0,0 +1,242 @@
+From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+Date: Sat, 10 Sep 2016 19:27:17 +0000
+Subject: [PATCH] sendmail: compile against openssl 1.1.0
+
+Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+---
+
+--- a/sendmail/tls.c
++++ b/sendmail/tls.c
+@@ -60,18 +60,58 @@ static unsigned char dh512_g[] =
+ 0x02
+ };
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000
++
++static inline int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
++{
++ /* If the fields p and g in d are NULL, the corresponding input
++ * parameters MUST be non-NULL. q may remain NULL.
++ */
++ if ((dh->p == NULL && p == NULL)
++ || (dh->g == NULL && g == NULL))
++ return 0;
++
++ if (p != NULL) {
++ BN_free(dh->p);
++ dh->p = p;
++ }
++ if (q != NULL) {
++ BN_free(dh->q);
++ dh->q = q;
++ }
++ if (g != NULL) {
++ BN_free(dh->g);
++ dh->g = g;
++ }
++
++ if (q != NULL) {
++ dh->length = BN_num_bits(q);
++ }
++
++ return 1;
++}
++#endif
++
+ static DH *
+ get_dh512()
+ {
+ DH *dh = NULL;
++ BIGNUM *p;
++ BIGNUM *g;
+
+- if ((dh = DH_new()) == NULL)
+- return NULL;
+- dh->p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL);
+- dh->g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL);
+- if ((dh->p == NULL) || (dh->g == NULL))
+- return NULL;
++ dh = DH_new();
++ p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL);
++ g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL);
++ if (!dh || !p || !g)
++ goto err;
++ if (!DH_set0_pqg(dh, p, NULL, g))
++ goto err;
+ return dh;
++err:
++ DH_free(dh);
++ BN_free(p);
++ BN_free(g);
++ return NULL;
+ }
+
+ # if 0
+@@ -117,17 +157,22 @@ get_dh2048()
+ };
+ static unsigned char dh2048_g[]={ 0x02, };
+ DH *dh;
++ BIGNUM *p;
++ BIGNUM *g;
+
+- if ((dh=DH_new()) == NULL)
+- return(NULL);
+- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
+- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
+- if ((dh->p == NULL) || (dh->g == NULL))
+- {
+- DH_free(dh);
+- return(NULL);
+- }
++ dh = DH_new();
++ p = BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
++ g = BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
++ if (!dh || !p || !g)
++ goto err;
++ if (!DH_set0_pqg(dh, p, NULL, g))
++ goto err;
+ return(dh);
++err:
++ DH_free(dh);
++ BN_free(p);
++ BN_free(g);
++ return NULL;
+ }
+ # endif /* !NO_DH */
+
+@@ -926,7 +971,7 @@ inittls(ctx, req, options, srv, certfile
+ {
+ /* get a pointer to the current certificate validation store */
+ store = SSL_CTX_get_cert_store(*ctx); /* does not fail */
+- crl_file = BIO_new(BIO_s_file_internal());
++ crl_file = BIO_new(BIO_s_file());
+ if (crl_file != NULL)
+ {
+ if (BIO_read_filename(crl_file, CRLFile) >= 0)
+@@ -1000,26 +1045,43 @@ inittls(ctx, req, options, srv, certfile
+ ** maybe we should do it only on demand...
+ */
+
+- if (bitset(TLS_I_RSA_TMP, req)
+ # if SM_CONF_SHM
+- && ShmId != SM_SHM_NO_ID &&
+- (rsa_tmp = RSA_generate_key(RSA_KEYLENGTH, RSA_F4, NULL,
+- NULL)) == NULL
+-# else /* SM_CONF_SHM */
+- && 0 /* no shared memory: no need to generate key now */
+-# endif /* SM_CONF_SHM */
+- )
++ if (bitset(TLS_I_RSA_TMP, req)
++ && ShmId != SM_SHM_NO_ID)
+ {
+- if (LogLevel > 7)
++ BIGNUM *bn;
++
++ bn = BN_new();
++ rsa_tmp = RSA_new();
++ if (!bn || !rsa_tmp || !BN_set_word(bn, RSA_F4)) {
++ RSA_free(rsa_tmp);
++ rsa_tmp = NULL;
++ }
++ if (rsa_tmp)
+ {
+- sm_syslog(LOG_WARNING, NOQID,
+- "STARTTLS=%s, error: RSA_generate_key failed",
+- who);
+- if (LogLevel > 9)
+- tlslogerr(LOG_WARNING, who);
++ if (!RSA_generate_key_ex(rsa_tmp, RSA_KEYLENGTH, bn, NULL))
++ {
++ RSA_free(rsa_tmp);
++ rsa_tmp = NULL;
++ }
++ }
++ BN_free(bn);
++ if (!rsa_tmp)
++ {
++ if (LogLevel > 7)
++ {
++ sm_syslog(LOG_WARNING, NOQID,
++ "STARTTLS=%s, error: RSA_generate_key failed",
++ who);
++ if (LogLevel > 9)
++ tlslogerr(LOG_WARNING, who);
++ }
++ return false;
+ }
+- return false;
+ }
++# else /* SM_CONF_SHM */
++ /* no shared memory: no need to generate key now */
++# endif /* SM_CONF_SHM */
+ # endif /* !TLS_NO_RSA */
+
+ /*
+@@ -1210,9 +1272,15 @@ inittls(ctx, req, options, srv, certfile
+ sm_dprintf("inittls: Generating %d bit DH parameters\n", bits);
+
+ /* this takes a while! */
+- dsa = DSA_generate_parameters(bits, NULL, 0, NULL,
+- NULL, 0, NULL);
+- dh = DSA_dup_DH(dsa);
++ dsa = DSA_new();
++ if (dsa) {
++ int r;
++
++ r = DSA_generate_parameters_ex(dsa, bits, NULL, 0,
++ NULL, NULL, NULL);
++ if (r != 0)
++ dh = DSA_dup_DH(dsa);
++ }
+ DSA_free(dsa);
+ }
+ else if (dh == NULL && bitset(TLS_I_DHFIXED, req))
+@@ -1733,6 +1801,9 @@ tmp_rsa_key(s, export, keylength)
+ int export;
+ int keylength;
+ {
++ BIGNUM *bn;
++ int ret;
++
+ # if SM_CONF_SHM
+ extern int ShmId;
+ extern int *PRSATmpCnt;
+@@ -1742,10 +1813,22 @@ tmp_rsa_key(s, export, keylength)
+ return rsa_tmp;
+ # endif /* SM_CONF_SHM */
+
+- if (rsa_tmp != NULL)
+- RSA_free(rsa_tmp);
+- rsa_tmp = RSA_generate_key(RSA_KEYLENGTH, RSA_F4, NULL, NULL);
+- if (rsa_tmp == NULL)
++ if (rsa_tmp == NULL) {
++ rsa_tmp = RSA_new();
++ if (!rsa_tmp)
++ return NULL;
++ }
++
++ bn = BN_new();
++ if (!bn)
++ return NULL;
++ if (!BN_set_word(bn, RSA_F4)) {
++ BN_free(bn);
++ return NULL;
++ }
++ ret = RSA_generate_key_ex(rsa_tmp, RSA_KEYLENGTH, bn, NULL);
++ BN_free(bn);
++ if (!ret)
+ {
+ if (LogLevel > 0)
+ sm_syslog(LOG_ERR, NOQID,
+@@ -1971,9 +2054,9 @@ x509_verify_cb(ok, ctx)
+ {
+ if (LogLevel > 13)
+ tls_verify_log(ok, ctx, "x509");
+- if (ctx->error == X509_V_ERR_UNABLE_TO_GET_CRL)
++ if (X509_STORE_CTX_get_error(ctx) == X509_V_ERR_UNABLE_TO_GET_CRL)
+ {
+- ctx->error = 0;
++ X509_STORE_CTX_set_error(ctx, 0);
+ return 1; /* override it */
+ }
+ }
diff --git a/extra/source/sendmail/sendmail-slackware-tls-sasl.mc b/extra/source/sendmail/sendmail-slackware-tls-sasl.mc
new file mode 100644
index 00000000..ed5753b4
--- /dev/null
+++ b/extra/source/sendmail/sendmail-slackware-tls-sasl.mc
@@ -0,0 +1,61 @@
+dnl# This is the a sendmail .mc file for Slackware with TLS support.
+dnl# To generate the sendmail.cf file from this (perhaps after making
+dnl# some changes), use the m4 files in /usr/share/sendmail/cf like this:
+dnl#
+dnl# cp sendmail-slackware-tls.mc /usr/share/sendmail/cf/config.mc
+dnl# cd /usr/share/sendmail/cf
+dnl# sh Build config.mc
+dnl#
+dnl# You may then install the resulting .cf file:
+dnl# cp config.cf /etc/mail/sendmail.cf
+dnl#
+include(`../m4/cf.m4')
+VERSIONID(`TLS supporting setup for Slackware Linux')dnl
+OSTYPE(`linux')dnl
+dnl#
+dnl# You will need to create the certificates below with OpenSSL first:
+define(`confCACERT_PATH', `/etc/mail/certs/')
+define(`confCACERT', `/etc/mail/certs/CA.cert.pem')
+define(`confSERVER_CERT', `/etc/mail/certs/smtp.cert.pem')
+define(`confSERVER_KEY', `/etc/mail/certs/smtp.key.pem')
+dnl# These settings help protect against people verifying email addresses
+dnl# at your site in order to send you email that you probably don't want:
+define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
+dnl# Uncomment the line below to send outgoing mail through an external server:
+dnl define(`SMART_HOST',`mailserver.example.com')
+dnl# No timeout for ident:
+define(`confTO_IDENT', `0')dnl
+dnl# Enable the line below to use smrsh to restrict what sendmail can run:
+dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
+dnl# See the README in /usr/share/sendmail/cf for a ton of information on
+dnl# how these options work:
+FEATURE(`use_cw_file')dnl
+FEATURE(`use_ct_file')dnl
+FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
+FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
+FEATURE(`access_db', `hash -T<TMPF> /etc/mail/access')dnl
+FEATURE(`blacklist_recipients')dnl
+FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl
+FEATURE(`always_add_domain')dnl
+FEATURE(`redirect')dnl
+FEATURE(`no_default_msa')dnl
+dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail:
+dnl FEATURE(`accept_unresolvable_domains')dnl
+EXPOSED_USER(`root')dnl
+dnl# Also accept mail for localhost.localdomain:
+LOCAL_DOMAIN(`localhost.localdomain')dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+MAILER(procmail)dnl
+dnl# Allow SASL authentication/relaying:
+define(`confAUTH_OPTIONS', `A p y')dnl
+define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
+TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
+DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
+dnl# Daemon options after M= below that might need to be changed are:
+dnl# s (allow SSL, not only TLS)
+dnl# a (require authentication)
+DAEMON_OPTIONS(`Port=smtps, Name=MSA-SSL, M=Esa')dnl
+LOCAL_CONFIG
+dnl# Do not allow the weak SSLv2:
+O CipherList=ALL:!ADH:!NULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:+SSLv3:+TLSv1:-SSLv2:+EXP:+eNULL
diff --git a/extra/source/sendmail/sendmail-slackware-tls.mc b/extra/source/sendmail/sendmail-slackware-tls.mc
new file mode 100644
index 00000000..01a66775
--- /dev/null
+++ b/extra/source/sendmail/sendmail-slackware-tls.mc
@@ -0,0 +1,56 @@
+dnl# This is the a sendmail .mc file for Slackware with TLS support.
+dnl# To generate the sendmail.cf file from this (perhaps after making
+dnl# some changes), use the m4 files in /usr/share/sendmail/cf like this:
+dnl#
+dnl# cp sendmail-slackware-tls.mc /usr/share/sendmail/cf/config.mc
+dnl# cd /usr/share/sendmail/cf
+dnl# sh Build config.mc
+dnl#
+dnl# You may then install the resulting .cf file:
+dnl# cp config.cf /etc/mail/sendmail.cf
+dnl#
+include(`../m4/cf.m4')
+VERSIONID(`TLS supporting setup for Slackware Linux')dnl
+OSTYPE(`linux')dnl
+dnl#
+dnl# You will need to create the certificates below with OpenSSL first:
+define(`confCACERT_PATH', `/etc/mail/certs/')
+define(`confCACERT', `/etc/mail/certs/CA.cert.pem')
+define(`confSERVER_CERT', `/etc/mail/certs/smtp.cert.pem')
+define(`confSERVER_KEY', `/etc/mail/certs/smtp.key.pem')
+dnl# These settings help protect against people verifying email addresses
+dnl# at your site in order to send you email that you probably don't want:
+define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
+dnl# Uncomment the line below to send outgoing mail through an external server:
+dnl define(`SMART_HOST',`mailserver.example.com')
+dnl# No timeout for ident:
+define(`confTO_IDENT', `0')dnl
+dnl# Enable the line below to use smrsh to restrict what sendmail can run:
+dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
+dnl# See the README in /usr/share/sendmail/cf for a ton of information on
+dnl# how these options work:
+FEATURE(`use_cw_file')dnl
+FEATURE(`use_ct_file')dnl
+FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
+FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
+FEATURE(`access_db', `hash -T<TMPF> /etc/mail/access')dnl
+FEATURE(`blacklist_recipients')dnl
+FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl
+FEATURE(`always_add_domain')dnl
+FEATURE(`redirect')dnl
+dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail:
+dnl FEATURE(`accept_unresolvable_domains')dnl
+EXPOSED_USER(`root')dnl
+dnl# Also accept mail for localhost.localdomain:
+LOCAL_DOMAIN(`localhost.localdomain')dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+MAILER(procmail)dnl
+DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
+dnl# Daemon options after M= below that might need to be changed are:
+dnl# s (allow SSL, not only TLS)
+dnl# a (require authentication)
+DAEMON_OPTIONS(`Port=smtps, Name=MSA-SSL, M=Es')dnl
+LOCAL_CONFIG
+dnl# Do not allow the weak SSLv2:
+O CipherList=ALL:!ADH:!NULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:+SSLv3:+TLSv1:-SSLv2:+EXP:+eNULL
diff --git a/extra/source/sendmail/sendmail-slackware.mc b/extra/source/sendmail/sendmail-slackware.mc
new file mode 100644
index 00000000..4fd4620b
--- /dev/null
+++ b/extra/source/sendmail/sendmail-slackware.mc
@@ -0,0 +1,42 @@
+dnl# This is the default sendmail .mc file for Slackware. To generate
+dnl# the sendmail.cf file from this (perhaps after making some changes),
+dnl# use the m4 files in /usr/share/sendmail/cf like this:
+dnl#
+dnl# cp sendmail-slackware.mc /usr/share/sendmail/cf/config.mc
+dnl# cd /usr/share/sendmail/cf
+dnl# sh Build config.cf
+dnl#
+dnl# You may then install the resulting .cf file:
+dnl# cp config.cf /etc/mail/sendmail.cf
+dnl#
+include(`../m4/cf.m4')
+VERSIONID(`default setup for Slackware Linux')dnl
+OSTYPE(`linux')dnl
+dnl# These settings help protect against people verifying email addresses
+dnl# at your site in order to send you email that you probably don't want:
+define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
+dnl# Uncomment the line below to send outgoing mail through an external server:
+dnl define(`SMART_HOST',`mailserver.example.com')
+dnl# No timeout for ident:
+define(`confTO_IDENT', `0')dnl
+dnl# Enable the line below to use smrsh to restrict what sendmail can run:
+dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
+dnl# See the README in /usr/share/sendmail/cf for a ton of information on
+dnl# how these options work:
+FEATURE(`use_cw_file')dnl
+FEATURE(`use_ct_file')dnl
+FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
+FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
+FEATURE(`access_db', `hash -T<TMPF> /etc/mail/access')dnl
+FEATURE(`blacklist_recipients')dnl
+FEATURE(`local_procmail',`',`procmail -t -Y -a $h -d $u')dnl
+FEATURE(`always_add_domain')dnl
+FEATURE(`redirect')dnl
+dnl# Turn this feature on if you don't always have DNS, or enjoy junk mail:
+dnl FEATURE(`accept_unresolvable_domains')dnl
+EXPOSED_USER(`root')dnl
+dnl# Also accept mail for localhost.localdomain:
+LOCAL_DOMAIN(`localhost.localdomain')dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+MAILER(procmail)dnl
diff --git a/extra/source/sendmail/sendmail.SlackBuild b/extra/source/sendmail/sendmail.SlackBuild
new file mode 100755
index 00000000..462f16e9
--- /dev/null
+++ b/extra/source/sendmail/sendmail.SlackBuild
@@ -0,0 +1,3 @@
+#!/bin/sh
+./SlackBuild-sendmail $*
+./SlackBuild-sendmail-cf $*
diff --git a/extra/source/sendmail/site.config.m4 b/extra/source/sendmail/site.config.m4
new file mode 100644
index 00000000..09b1d72f
--- /dev/null
+++ b/extra/source/sendmail/site.config.m4
@@ -0,0 +1,8 @@
+APPENDDEF(`confENVDEF', `-DNETINET6')
+APPENDDEF(`confMAPDEF', `-DNEWDB -DSTARTTLS -DSASL=2 -DTCPWRAPPERS -DNIS -DMAP_REGEX -DSOCKETMAP')
+APPENDDEF(`confLIBS', `-lnsl -lssl -lcrypto -lsasl2 -lwrap -lm -ldb -lresolv')
+APPENDDEF(`conf_libmilter_ENVDEF', `-DMILTER')
+APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER')
+APPENDDEF(`conf_libmilter_ENVDEF', `-D_FFR_MILTER_ROOT_UNSAFE ')
+APPENDDEF(`confENVDEF', `-DBROKEN_PTHREAD_SLEEP')
+APPENDDEF(`confENVDEF', `-D_FFR_TLS_1')dnl
diff --git a/extra/source/sendmail/slack-desc.sendmail b/extra/source/sendmail/slack-desc.sendmail
new file mode 100644
index 00000000..e7cec1ee
--- /dev/null
+++ b/extra/source/sendmail/slack-desc.sendmail
@@ -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 ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+sendmail: sendmail (mail transfer agent)
+sendmail:
+sendmail: Eric Allman's mail transport agent. The _Unix System Administration
+sendmail: Handbook_ calls sendmail 'The most complex and complete mail delivery
+sendmail: system in common use...'
+sendmail:
+sendmail: Ready-made configuration files are included for systems connected by
+sendmail: TCP/IP (with or without a nameserver) and for systems using UUCP.
+sendmail:
+sendmail: The procmail package is required to handle local mail delivery.
+sendmail:
diff --git a/extra/source/sendmail/slack-desc.sendmail-cf b/extra/source/sendmail/slack-desc.sendmail-cf
new file mode 100644
index 00000000..8f15a212
--- /dev/null
+++ b/extra/source/sendmail/slack-desc.sendmail-cf
@@ -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 ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+sendmail-cf: sendmail-cf (configuration files for sendmail)
+sendmail-cf:
+sendmail-cf: These files are used to create sendmail.cf configuration files. The
+sendmail-cf: m4 macro processor is also required in order to make use of these
+sendmail-cf: files.
+sendmail-cf:
+sendmail-cf: The files and documentation in /usr/share/sendmail should make it
+sendmail-cf: possible to support virtually any mail configuration. NOTE: You
+sendmail-cf: probably won't need this package if you're planning to use one of the
+sendmail-cf: sendmail.cf samples included in the sendmail package.
+sendmail-cf:
diff --git a/extra/source/tigervnc/patches/force_protocol_3.3_for_UVNCSC.patch b/extra/source/tigervnc/patches/force_protocol_3.3_for_UVNCSC.patch
new file mode 100644
index 00000000..56096edc
--- /dev/null
+++ b/extra/source/tigervnc/patches/force_protocol_3.3_for_UVNCSC.patch
@@ -0,0 +1,17 @@
+diff -Naur tigervnc-1.8.0.orig/common/rfb/CConnection.cxx tigervnc-1.8.0/common/rfb/CConnection.cxx
+--- tigervnc-1.8.0.orig/common/rfb/CConnection.cxx 2017-05-16 15:53:28.000000000 +0200
++++ tigervnc-1.8.0/common/rfb/CConnection.cxx 2018-05-15 09:44:02.021640000 +0200
+@@ -138,6 +138,13 @@
+ vlog.info("Server supports RFB protocol version %d.%d",
+ cp.majorVersion, cp.minorVersion);
+
++ // Mark's Hack
++ if (cp.minorVersion==16) {
++ cp.setVersion(3,3);
++ vlog.info("Hack #1 for 3.16");
++ cp.minorVersion=3;
++ }
++
+ // The only official RFB protocol versions are currently 3.3, 3.7 and 3.8
+ if (cp.beforeVersion(3,3)) {
+ vlog.error("Server gave unsupported RFB protocol version %d.%d",
diff --git a/extra/source/tigervnc/patches/tigervnc-support-xorg120.patch b/extra/source/tigervnc/patches/tigervnc-support-xorg120.patch
new file mode 100644
index 00000000..dcb50db9
--- /dev/null
+++ b/extra/source/tigervnc/patches/tigervnc-support-xorg120.patch
@@ -0,0 +1,58 @@
+diff --git a/unix/xserver/hw/vnc/xorg-version.h b/unix/xserver/hw/vnc/xorg-version.h
+index 9d1c0eb..79ff79a 100644
+--- a/unix/xserver/hw/vnc/xorg-version.h
++++ b/unix/xserver/hw/vnc/xorg-version.h
+@@ -52,8 +52,10 @@
+ #define XORG 118
+ #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (19 * 100000) + (99 * 1000))
+ #define XORG 119
++#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (20 * 100000) + (99 * 1000))
++#define XORG 120
+ #else
+-#error "X.Org newer than 1.19 is not supported"
++#error "X.Org newer than 1.20 is not supported"
+ #endif
+
+ #endif
+diff --git a/unix/xserver/hw/vnc/xvnc.c b/unix/xserver/hw/vnc/xvnc.c
+index 93d8af4..1517809 100644
+--- a/unix/xserver/hw/vnc/xvnc.c
++++ b/unix/xserver/hw/vnc/xvnc.c
+@@ -202,6 +202,7 @@ vfbBitsPerPixel(int depth)
+
+ static void vfbFreeFramebufferMemory(vfbFramebufferInfoPtr pfb);
+
++#if XORG < 120
+ #ifdef DPMSExtension
+ /* Why support DPMS? Because stupid modern desktop environments
+ such as Unity 2D on Ubuntu 11.10 crashes if DPMS is not
+@@ -219,6 +220,7 @@ Bool DPMSSupported(void)
+ return FALSE;
+ }
+ #endif
++#endif
+
+ #if XORG < 111
+ void ddxGiveUp()
+@@ -1491,6 +1491,12 @@ vfbCloseScreen(ScreenPtr pScreen)
+ #endif
+ }
+
++#if XORG >= 120
++static void vncDPMS(ScreenPtr pScreen, int level)
++{
++}
++#endif
++
+ static Bool
+ #if XORG < 113
+ vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv)
+@@ -1661,6 +1667,9 @@ vfbScreenInit(ScreenPtr pScreen, int arg
+ if (!ret) return FALSE;
+ #endif
+
++#if XORG >= 120
++ pScreen->DPMS = vncDPMS;
++#endif
+
+ return TRUE;
diff --git a/extra/source/tigervnc/patches/tigervnc-xorg118-QueueKeyboardEvents.patch b/extra/source/tigervnc/patches/tigervnc-xorg118-QueueKeyboardEvents.patch
deleted file mode 100644
index 55a6da83..00000000
--- a/extra/source/tigervnc/patches/tigervnc-xorg118-QueueKeyboardEvents.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-<title>tigervnc.git - tigervnc</title>
-<meta name='generator' content='cgit v0.11.2'/>
-<meta name='robots' content='index, nofollow'/>
-<link rel='stylesheet' type='text/css' href='/cgit-data/cgit.css'/>
-<link rel='shortcut icon' href='/favicon.ico'/>
-<link rel='alternate' title='Atom feed' href='http://pkgs.fedoraproject.org/cgit/tigervnc.git/atom/tigervnc-xorg118-QueueKeyboardEvents.patch?h=master' type='application/atom+xml'/>
-<link rel='vcs-git' href='git://pkgs.fedoraproject.org/tigervnc.git' title='tigervnc.git Git repository'/>
-<link rel='vcs-git' href='ssh://pkgs.fedoraproject.org/tigervnc.git' title='tigervnc.git Git repository'/>
-<link rel='vcs-git' href='http://pkgs.fedoraproject.org/git/tigervnc.git' title='tigervnc.git Git repository'/>
-</head>
-<body>
-<script src="https://apps.fedoraproject.org/fedmenu/js/jquery-1.11.2.min.js"></script>
-<script src="https://apps.fedoraproject.org/fedmenu/js/fedmenu.js"></script>
-
-<script>
- var base = 'https://apps.fedoraproject.org/';
- var tokens = window.location.href.split('/');
- var repo = null;
- if (tokens.length > 4 && tokens[4] != '') {
- repo = tokens[4].split('.')[0];
- }
- fedmenu({
- 'url': base + 'js/data.js',
- 'mimeType': 'application/javascript',
- 'position': 'bottom-right',
- 'package': repo,
- });
-</script>
-<div id='cgit'><table id='header'>
-<tr>
-<td class='logo' rowspan='2'><a href='/cgit/'><img src='/cgit-data/cgit.png' alt='cgit logo'/></a></td>
-<td class='main'><a href='/cgit/'>index</a> : <a title='tigervnc.git' href='/cgit/tigervnc.git/'>tigervnc.git</a></td><td class='form'><form method='get' action=''>
-<select name='h' onchange='this.form.submit();'>
-<option value='el5'>el5</option>
-<option value='f11'>f11</option>
-<option value='f12'>f12</option>
-<option value='f13'>f13</option>
-<option value='f14'>f14</option>
-<option value='f15'>f15</option>
-<option value='f16'>f16</option>
-<option value='f17'>f17</option>
-<option value='f18'>f18</option>
-<option value='f19'>f19</option>
-<option value='f20'>f20</option>
-<option value='f21'>f21</option>
-<option value='f22'>f22</option>
-<option value='f23'>f23</option>
-<option value='master' selected='selected'>master</option>
-<option value='private-twaugh-bz1137023-f20'>private-twaugh-bz1137023-f20</option>
-</select> <input type='submit' name='' value='switch'/></form></td></tr>
-<tr><td class='sub'>tigervnc</td><td class='sub right'>Jesse Keating</td></tr></table>
-<table class='tabs'><tr><td>
-<a href='/cgit/tigervnc.git/'>summary</a><a href='/cgit/tigervnc.git/refs/'>refs</a><a href='/cgit/tigervnc.git/log/tigervnc-xorg118-QueueKeyboardEvents.patch'>log</a><a class='active' href='/cgit/tigervnc.git/tree/tigervnc-xorg118-QueueKeyboardEvents.patch'>tree</a><a href='/cgit/tigervnc.git/commit/tigervnc-xorg118-QueueKeyboardEvents.patch'>commit</a><a href='/cgit/tigervnc.git/diff/tigervnc-xorg118-QueueKeyboardEvents.patch'>diff</a><a href='/cgit/tigervnc.git/stats/tigervnc-xorg118-QueueKeyboardEvents.patch'>stats</a></td><td class='form'><form class='right' method='get' action='/cgit/tigervnc.git/log/tigervnc-xorg118-QueueKeyboardEvents.patch'>
-<select name='qt'>
-<option value='grep'>log msg</option>
-<option value='author'>author</option>
-<option value='committer'>committer</option>
-<option value='range'>range</option>
-</select>
-<input class='txt' type='text' size='10' name='q' value=''/>
-<input type='submit' value='search'/>
-</form>
-</td></tr></table>
-<div class='path'>path: <a href='/cgit/tigervnc.git/tree/'>root</a>/<a href='/cgit/tigervnc.git/tree/tigervnc-xorg118-QueueKeyboardEvents.patch'>tigervnc-xorg118-QueueKeyboardEvents.patch</a></div><div class='content'>blob: 4eb738b791cee91551ecf74de4aa35305984e7b8 (<a href='/cgit/tigervnc.git/plain/tigervnc-xorg118-QueueKeyboardEvents.patch'>plain</a>)
-<table summary='blob content' class='blob'>
-<tr><td class='linenumbers'><pre><a id='n1' href='#n1'>1</a>
-<a id='n2' href='#n2'>2</a>
-<a id='n3' href='#n3'>3</a>
-<a id='n4' href='#n4'>4</a>
-<a id='n5' href='#n5'>5</a>
-<a id='n6' href='#n6'>6</a>
-<a id='n7' href='#n7'>7</a>
-<a id='n8' href='#n8'>8</a>
-<a id='n9' href='#n9'>9</a>
-<a id='n10' href='#n10'>10</a>
-<a id='n11' href='#n11'>11</a>
-<a id='n12' href='#n12'>12</a>
-</pre></td>
-<td class='lines'><pre><code>diff --git a/unix/xserver/hw/vnc/Input.c b/unix/xserver/hw/vnc/Input.c
---- a/unix/xserver/hw/vnc/Input.c
-+++ b/unix/xserver/hw/vnc/Input.c
-@@ -301,7 +301,7 @@ static inline void pressKey(DeviceIntPtr dev, int kc, Bool down, const char *msg
- n = GetKeyboardEvents(eventq, dev, action, kc);
- enqueueEvents(dev, n);
- #else
-- QueueKeyboardEvents(dev, action, kc, NULL);
-+ QueueKeyboardEvents(dev, action, kc);
- #endif
- }
-
-</code></pre></td></tr></table>
-</div> <!-- class=content -->
-<div class='footer'>generated by <a href='http://git.zx2c4.com/cgit/about/'>cgit v0.11.2</a> at 2015-11-12 22:24:09 (GMT)</div>
-</div> <!-- id=cgit -->
-</body>
-</html>
diff --git a/extra/source/tigervnc/patches/tigervnc.support.xorg.118.patch b/extra/source/tigervnc/patches/tigervnc.support.xorg.118.patch
deleted file mode 100644
index a0d5b930..00000000
--- a/extra/source/tigervnc/patches/tigervnc.support.xorg.118.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- ./unix/xserver/hw/vnc/xorg-version.h.orig 2015-07-11 08:00:36.000000000 -0500
-+++ ./unix/xserver/hw/vnc/xorg-version.h 2015-11-12 16:19:53.643193478 -0600
-@@ -48,8 +48,10 @@
- #define XORG 116
- #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (17 * 100000) + (99 * 1000))
- #define XORG 117
-+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (18 * 100000) + (99 * 1000))
-+#define XORG 118
- #else
--#error "X.Org newer than 1.17 is not supported"
-+#error "X.Org newer than 1.18 is not supported"
- #endif
-
- #endif
diff --git a/extra/source/tigervnc/patches/xserver118.patch b/extra/source/tigervnc/patches/xserver118.patch
deleted file mode 100644
index 8a21040c..00000000
--- a/extra/source/tigervnc/patches/xserver118.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-diff -up xorg-server-1.17.1/configure.ac.vnc xorg-server-1.17.1/configure.ac
---- xorg-server-1.17.1/configure.ac.vnc 2015-02-10 22:43:52.000000000 +0000
-+++ xorg-server-1.17.1/configure.ac 2015-02-13 16:14:05.074515927 +0000
-@@ -74,6 +74,7 @@ dnl forcing an entire recompile.x
- AC_CONFIG_HEADERS(include/version-config.h)
-
- AM_PROG_AS
-+AC_PROG_CXX
- AC_PROG_LN_S
- LT_PREREQ([2.2])
- LT_INIT([disable-static win32-dll])
-@@ -1795,6 +1796,10 @@ if test "x$XVFB" = xyes; then
- AC_SUBST([XVFB_SYS_LIBS])
- fi
-
-+dnl Xvnc DDX
-+AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"])
-+AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"])
-+AC_SUBST([XVNC_SYS_LIBS], ["$GLX_SYS_LIBS"])
-
- dnl Xnest DDX
-
-@@ -1830,6 +1835,8 @@ if test "x$XORG" = xauto; then
- fi
- AC_MSG_RESULT([$XORG])
-
-+AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
-+
- if test "x$XORG" = xyes; then
- XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
- XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
-@@ -2059,7 +2066,6 @@ if test "x$XORG" = xyes; then
- AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
- AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
- AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
-- AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
- AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
- AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
- AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
-@@ -2599,6 +2605,7 @@ hw/dmx/Makefile
- hw/dmx/man/Makefile
- hw/vfb/Makefile
- hw/vfb/man/Makefile
-+hw/vnc/Makefile
- hw/xnest/Makefile
- hw/xnest/man/Makefile
- hw/xwin/Makefile
-diff -up xorg-server-1.17.1/hw/Makefile.am.vnc xorg-server-1.17.1/hw/Makefile.am
---- xorg-server-1.17.1/hw/Makefile.am.vnc 2014-04-16 21:24:00.000000000 +0100
-+++ xorg-server-1.17.1/hw/Makefile.am 2015-02-13 16:14:05.131516821 +0000
-@@ -38,7 +38,8 @@ SUBDIRS = \
- $(DMX_SUBDIRS) \
- $(KDRIVE_SUBDIRS) \
- $(XQUARTZ_SUBDIRS) \
-- $(XWAYLAND_SUBDIRS)
-+ $(XWAYLAND_SUBDIRS) \
-+ vnc
-
- DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive xwayland
-
-diff -up xorg-server-1.17.1/mi/miinitext.c.vnc xorg-server-1.17.1/mi/miinitext.c
---- xorg-server-1.17.1/mi/miinitext.c.vnc 2015-01-17 23:42:52.000000000 +0000
-+++ xorg-server-1.17.1/mi/miinitext.c 2015-02-13 16:14:05.131516821 +0000
-@@ -111,6 +111,10 @@ SOFTWARE.
- #include "micmap.h"
- #include "globals.h"
-
-+#ifdef TIGERVNC
-+extern void vncExtensionInit(INITARGS);
-+#endif
-+
- /* The following is only a small first step towards run-time
- * configurable extensions.
- */
-@@ -235,6 +239,9 @@ EnableDisableExtensionError(const char *
-
- /* List of built-in (statically linked) extensions */
- static const ExtensionModule staticExtensions[] = {
-+#ifdef TIGERVNC
-+ {vncExtensionInit, "VNC-EXTENSION", NULL},
-+#endif
- {GEExtensionInit, "Generic Event Extension", &noGEExtension},
- {ShapeExtensionInit, "SHAPE", NULL},
- #ifdef MITSHM
-diff -up xorg-server-1.17.1/os/WaitFor.c.vnc xorg-server-1.17.1/os/WaitFor.c
---- xorg-server-1.17.1/os/WaitFor.c.vnc 2015-01-26 18:40:30.000000000 +0000
-+++ xorg-server-1.17.1/os/WaitFor.c 2015-02-13 16:14:05.132516837 +0000
-@@ -125,6 +125,9 @@ static void DoTimer(OsTimerPtr timer, CA
- static void CheckAllTimers(void);
- static volatile OsTimerPtr timers = NULL;
-
-+extern void vncWriteBlockHandler(fd_set *fds);
-+extern void vncWriteWakeupHandler(int nfds, fd_set *fds);
-+
- /*****************
- * WaitForSomething:
- * Make the server suspend until there is
-@@ -150,6 +153,7 @@ WaitForSomething(int *pClientsReady)
- INT32 timeout = 0;
- fd_set clientsReadable;
- fd_set clientsWritable;
-+ fd_set socketsWritable;
- int curclient;
- int selecterr;
- static int nready;
-@@ -212,6 +216,9 @@ WaitForSomething(int *pClientsReady)
- XFD_COPYSET(&AllSockets, &LastSelectMask);
- }
-
-+ FD_ZERO(&socketsWritable);
-+ vncWriteBlockHandler(&socketsWritable);
-+
- BlockHandler((void *) &wt, (void *) &LastSelectMask);
- if (NewOutputPending)
- FlushAllOutput();
-@@ -223,10 +230,20 @@ WaitForSomething(int *pClientsReady)
- i = Select(MaxClients, &LastSelectMask, &clientsWritable, NULL, wt);
- }
- else {
-- i = Select(MaxClients, &LastSelectMask, NULL, NULL, wt);
-+ if (AnyClientsWriteBlocked)
-+ XFD_ORSET(&socketsWritable, &ClientsWriteBlocked, &socketsWritable);
-+
-+ if (XFD_ANYSET(&socketsWritable)) {
-+ i = Select(MaxClients, &LastSelectMask, &socketsWritable, NULL, wt);
-+ if (AnyClientsWriteBlocked)
-+ XFD_ANDSET(&clientsWritable, &socketsWritable, &ClientsWriteBlocked);
-+ } else {
-+ i = Select(MaxClients, &LastSelectMask, NULL, NULL, wt);
-+ }
- }
- selecterr = GetErrno();
- WakeupHandler(i, (void *) &LastSelectMask);
-+ vncWriteWakeupHandler(i, &socketsWritable);
- if (i <= 0) { /* An error or timeout occurred */
- if (dispatchException)
- return 0;
diff --git a/extra/source/tigervnc/patches/xserver120.patch b/extra/source/tigervnc/patches/xserver120.patch
new file mode 100644
index 00000000..7d0f603c
--- /dev/null
+++ b/extra/source/tigervnc/patches/xserver120.patch
@@ -0,0 +1,91 @@
+diff -Naur xorg-server-1.20.0.orig/configure.ac xorg-server-1.20.0/configure.ac
+--- xorg-server-1.20.0.orig/configure.ac 2018-05-10 18:32:34.000000000 +0200
++++ xorg-server-1.20.0/configure.ac 2018-05-15 09:29:33.770640000 +0200
+@@ -74,6 +74,7 @@
+ AC_CONFIG_HEADERS(include/version-config.h)
+
+ AM_PROG_AS
++AC_PROG_CXX
+ AC_PROG_LN_S
+ LT_PREREQ([2.2])
+ LT_INIT([disable-static win32-dll])
+@@ -1777,6 +1778,10 @@
+ AC_SUBST([XVFB_SYS_LIBS])
+ fi
+
++dnl Xvnc DDX
++AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"])
++AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"])
++AC_SUBST([XVNC_SYS_LIBS], ["$GLX_SYS_LIBS"])
+
+ dnl Xnest DDX
+
+@@ -1812,6 +1817,8 @@
+ fi
+ AC_MSG_RESULT([$XORG])
+
++AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
++
+ if test "x$XORG" = xyes; then
+ XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
+ XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
+@@ -2029,7 +2036,6 @@
+ AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
+ AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
+ AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
+- AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
+ AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs])
+ AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
+ AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
+@@ -2565,6 +2571,7 @@
+ hw/dmx/man/Makefile
+ hw/vfb/Makefile
+ hw/vfb/man/Makefile
++hw/vnc/Makefile
+ hw/xnest/Makefile
+ hw/xnest/man/Makefile
+ hw/xwin/Makefile
+diff -Naur xorg-server-1.20.0.orig/hw/Makefile.am xorg-server-1.20.0/hw/Makefile.am
+--- xorg-server-1.20.0.orig/hw/Makefile.am 2018-05-10 18:32:34.000000000 +0200
++++ xorg-server-1.20.0/hw/Makefile.am 2018-05-15 09:27:21.684640000 +0200
+@@ -38,7 +38,8 @@
+ $(DMX_SUBDIRS) \
+ $(KDRIVE_SUBDIRS) \
+ $(XQUARTZ_SUBDIRS) \
+- $(XWAYLAND_SUBDIRS)
++ $(XWAYLAND_SUBDIRS) \
++ vnc
+
+ DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive xwayland
+
+diff -Naur xorg-server-1.20.0.orig/include/os.h xorg-server-1.20.0/include/os.h
+--- xorg-server-1.20.0.orig/include/os.h 2018-05-10 18:32:36.000000000 +0200
++++ xorg-server-1.20.0/include/os.h 2018-05-15 09:27:21.685640000 +0200
+@@ -633,7 +633,7 @@
+ extern _X_EXPORT void
+ LogClose(enum ExitCode error);
+ extern _X_EXPORT Bool
+-LogSetParameter(LogParameter param, int value);
++LogSetParameter(enum _LogParameter param, int value);
+ extern _X_EXPORT void
+ LogVWrite(int verb, const char *f, va_list args)
+ _X_ATTRIBUTE_PRINTF(2, 0);
+diff -Naur xorg-server-1.20.0.orig/mi/miinitext.c xorg-server-1.20.0/mi/miinitext.c
+--- xorg-server-1.20.0.orig/mi/miinitext.c 2018-05-10 18:32:37.000000000 +0200
++++ xorg-server-1.20.0/mi/miinitext.c 2018-05-15 09:30:23.087640000 +0200
+@@ -107,8 +107,15 @@
+ #include "os.h"
+ #include "globals.h"
+
++#ifdef TIGERVNC
++extern void vncExtensionInit(INITARGS);
++#endif
++
+ /* List of built-in (statically linked) extensions */
+ static const ExtensionModule staticExtensions[] = {
++#ifdef TIGERVNC
++ {vncExtensionInit, "VNC-EXTENSION", NULL},
++#endif
+ {GEExtensionInit, "Generic Event Extension", &noGEExtension},
+ {ShapeExtensionInit, "SHAPE", NULL},
+ #ifdef MITSHM
diff --git a/extra/source/tigervnc/slack-desc b/extra/source/tigervnc/slack-desc
index e433dd5f..088392ab 100644
--- a/extra/source/tigervnc/slack-desc
+++ b/extra/source/tigervnc/slack-desc
@@ -1,8 +1,8 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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 ':'.
|-----handy-ruler------------------------------------------------------|
diff --git a/extra/source/tigervnc/tigervnc.SlackBuild b/extra/source/tigervnc/tigervnc.SlackBuild
index bc0b8d8b..ea80ca23 100755
--- a/extra/source/tigervnc/tigervnc.SlackBuild
+++ b/extra/source/tigervnc/tigervnc.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/bash
# $Id: tigervnc.SlackBuild,v 1.25 2015/08/26 18:24:43 root Exp root $
# Copyright 2010, 2011, 2012, 2013, 2014, 2015 Eric Hameleers, Eindhoven. NL
-# Copyright 2015 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -76,9 +76,9 @@
# -----------------------------------------------------------------------------
PKGNAM=tigervnc
-VERSION=${VERSION:-1.6.0}
-PVER=$(echo $VERSION | cut -f1,2 -d. --output-delimiter=)
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-1.8.0}
+PVER=$(echo $VERSION | cut -f 1,2 -d . | tr -d .)
+BUILD=${BUILD:-5}
NUMJOBS=${NUMJOBS:" -j7 "}
TAG=${TAG:-}
@@ -183,14 +183,14 @@ EOT
cd $PKGNAM-$VERSION || exit 1
-# Explicitly link against libpng to prevent linking errors:
-cat $CWD/patches/tigervnc13_link_png.patch | patch -p1 --verbose || exit 1
+# HACK! Force protocol 3.3 for UVNCSC
+patch -p1 < $CWD/patches/force_protocol_3.3_for_UVNCSC.patch
-# Allow compiling for xorg-server-1.18.x:
-cat $CWD/patches/tigervnc.support.xorg.118.patch | patch -p1 --verbose || exit 1
+# Patch to support x.org 1.20
+cat $CWD/patches/tigervnc-support-xorg120.patch | patch -p1 --verbose || exit 1
-# Fix a compile error with xorg-server-1.18.x:
-cat $CWD/patches/tigervnc-xorg118-QueueKeyboardEvents.patch | patch -p1 --verbose || exit 1
+# Explicitly link against libpng to prevent linking errors:
+cat $CWD/patches/tigervnc13_link_png.patch | patch -p1 --verbose || exit 1
[ "$DO_APPLET" = "YES" ] && CMAKE_JAVA="ON" || CMAKE_JAVA="OFF"
# Explicitly put the java applet into a directory named 'tigervnc':
@@ -244,7 +244,7 @@ cd build/unix/xserver/
# Default font paths to be used by the X server
DEF_FONTPATH="/usr/share/fonts/local,/usr/share/fonts/TTF,/usr/share/fonts/OTF,/usr/share/fonts/Type1,/usr/share/fonts/misc,/usr/share/fonts/CID,/usr/share/fonts/75dpi/:unscaled,/usr/share/fonts/100dpi/:unscaled,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/cyrillic"
- CFLAGS="$CFLAGS -std=c99" \
+ CFLAGS="$CFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/extra/source/wicd/slack-desc b/extra/source/wicd/slack-desc
index 4a5513d8..33aed290 100644
--- a/extra/source/wicd/slack-desc
+++ b/extra/source/wicd/slack-desc
@@ -1,8 +1,8 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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 ':'.
|-----handy-ruler-------------------------------------------------------|
diff --git a/extra/source/wicd/wicd.SlackBuild b/extra/source/wicd/wicd.SlackBuild
index 25fd947e..80b2750b 100755
--- a/extra/source/wicd/wicd.SlackBuild
+++ b/extra/source/wicd/wicd.SlackBuild
@@ -20,9 +20,9 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-PRGNAM=wicd
+PKGNAM=wicd
VERSION=${VERSION:-1.7.4}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine architecture for build & packaging:
if [ -z "$ARCH" ]; then
@@ -35,7 +35,7 @@ fi
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PRGNAM
+PKG=$TMP/package-$PKGNAM
if [ "$ARCH" = "i586" ]; then
LIBDIRSUFFIX=""
@@ -50,9 +50,9 @@ fi
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.xz || exit 1
-cd $PRGNAM-$VERSION || exit 1
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
@@ -62,7 +62,7 @@ find . \
-exec chmod 644 {} \;
# Bypass the need for pybabel (thanks, dapal!)
-zcat $CWD/manually-compile-translations.diff.gz | patch -p1 || exit 1
+zcat $CWD/manually-compile-translations.diff.gz | patch -p1 --verbose || exit 1
for pofile in $(find po/ -type f -name "*.po") ; do
mkdir -p translations/$(basename ${pofile} .po)/LC_MESSAGES
msgfmt -o translations/$(basename ${pofile} .po)/LC_MESSAGES/wicd.mo ${pofile}
@@ -72,13 +72,16 @@ done
# Might be useful someday, but for now since the only thing in Slackware that uses
# urwid is wicd, just use a 1.0.x version.
# Thanks to ArchLinux
-#zcat $CWD/wicd-1.7.3-urwid-1.3.0.patch.gz | patch -p0 || exit 1
+#zcat $CWD/wicd-1.7.3-urwid-1.3.0.patch.gz | patch -p0 --verbose || exit 1
# Crash fix. Thanks to ArchLinux.
-zcat $CWD/wicd-1421918.patch.gz | patch -p0 || exit 1
+zcat $CWD/wicd-1421918.patch.gz | patch -p0 --verbose || exit 1
# Thanks to Void Linux
-zcat $CWD/curses_bitrate_fix.patch.gz | patch -p0 || exit 1
+zcat $CWD/curses_bitrate_fix.patch.gz | patch -p0 --verbose || exit 1
+
+# Fix settings save crash:
+zcat $CWD/wicd.netentry_curses.py.save.settings.patch.gz | patch -p1 --verbose || exit 1
python setup.py configure \
--lib=/usr/lib${LIBDIRSUFFIX}/wicd \
@@ -108,11 +111,11 @@ mv $PKG/etc/rc.d/rc.wicd $PKG/etc/rc.d/rc.wicd.new
find . -type f -exec gzip -9 {} \;
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
)
-cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE
+cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PKGNAM-$VERSION/README.SLACKWARE
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
-/sbin/makepkg -c n -l y $TMP/$PRGNAM-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -c n -l y $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/extra/source/wicd/wicd.netentry_curses.py.save.settings.patch b/extra/source/wicd/wicd.netentry_curses.py.save.settings.patch
new file mode 100644
index 00000000..512a467a
--- /dev/null
+++ b/extra/source/wicd/wicd.netentry_curses.py.save.settings.patch
@@ -0,0 +1,31 @@
+--- ./curses/netentry_curses.py.orig 2018-03-15 12:02:07.569646094 -0500
++++ ./curses/netentry_curses.py 2018-03-15 12:03:15.711650457 -0500
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python2
+ """
+ netentry_curses -- everyone's favorite networks settings dialogs... in text
+ form!
+@@ -538,12 +538,16 @@
+ self.bitrates = wireless.GetAvailableBitrates()
+ self.bitrates.append('auto')
+ self.bitrate_combo.set_list(self.bitrates)
+- if wireless.GetWirelessProperty(networkID, 'bitrate'):
+- self.bitrate_combo.set_focus(
+- self.bitrates.index(
+- wireless.GetWirelessProperty(networkID, 'bitrate')
+- )
+- )
++
++ # bitrate property is sometimes None
++ chosen_bitrate = wireless.GetWirelessProperty(networkID, 'bitrate')
++ if chosen_bitrate not in self.bitrates:
++ chosen_bitrate = 'auto'
++
++ self.bitrate_combo.set_focus(
++ self.bitrates.index(chosen_bitrate)
++ )
++
+ self.allow_lower_bitrates_chkbox.set_state(
+ to_bool(self.format_entry(networkID, 'allow_lower_bitrates'))
+ )
diff --git a/extra/source/xf86-video-fbdev/slack-desc b/extra/source/xf86-video-fbdev/slack-desc
index 08a636a1..c451f5df 100644
--- a/extra/source/xf86-video-fbdev/slack-desc
+++ b/extra/source/xf86-video-fbdev/slack-desc
@@ -1,8 +1,8 @@
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# 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
+# 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 ':'.
|-----handy-ruler------------------------------------------------------|