You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

568 lines
18 KiB

#!/bin/sh
# Generated by Alien's SlackBuild Toolkit: http://slackware.com/~alien/AST
# Copyright 2009, 2010, 2011, 2012, 2013, 2014, 2015 Eric Hameleers, Eindhoven, Netherlands
# Copyright 2015-2017 Thorn Inurcide
# Copyright 2015-2017 tde-slackbuilds project on GitHub
# 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.
# Thanks to Slackware 12.2 SlackBuild for kdebase
PRGNAM=tdebase
VERSION=$TDEVERSION
BUILD=${BUILD:-1}
TAG=${TAG:-_tde}
source ../../get-source.sh
getsource_fn
untar_fn
## make default tdm screen text clearer against dark background and align login button with clickable area
## edit color="#ffff74" and/or color="#ff0000" for your own choice
echo $'
--- tdm/kfrontend/themes/o2_enterprise/enterprise.xml
+++ tdm/kfrontend/themes/o2_enterprise/enterprise.xml
@@ -12 +12 @@
- <normal color="#000000" font="Sans 10" />
+ <normal color="#ffff74" font="Sans 10" />
@@ -39 +39 @@
- <pos width="box" x="540" y="188" anchor="c" height="box" />
+ <pos width="38" x="540" y="188" anchor="c" height="box" />
@@ -42 +42 @@
- <pos x="90%" y="50%" anchor="c" />
+ <pos x="40%" y="50%" anchor="c" />
@@ -59 +59 @@
- <normal color="#000000" font="Sans Condensed 10" />
+ <normal color="#ffff74" font="Sans Condensed 10" />
@@ -64 +64 @@
- <normal color="#000000" font="Sans Condensed 10" />
+ <normal color="#ffff74" font="Sans Condensed 10" />
@@ -86,2 +86,2 @@
- <pos x="435" y="293" anchor="s" />
- <normal color="#CD0000" font="Sans 10" />
+ <pos x="435" y="240" anchor="s" />
+ <normal color="#ff0000" font="Sans 11" />
@@ -93,2 +93,2 @@
- <normal color="#CD0000" font="Sans 10" />
- <pos x="435" y="323" anchor="s" />
+ <normal color="#ff0000" font="Sans 11" />
+ <pos x="435" y="260" anchor="s" />
' | patch -N -p0 || true
## enable konqueror filemanagement ViewMode to be set - TDE bug 1963
echo $'
--- konqueror/listview/konq_detailedlistview.desktop
+++ konqueror/listview/konq_detailedlistview.desktop
@@ -86,0 +87 @@
+X-TDE-BrowserView-Built-Into=konqueror
--- konqueror/iconview/konq_iconview.desktop
+++ konqueror/iconview/konq_iconview.desktop
@@ -87,0 +88 @@
+X-TDE-BrowserView-Built-Into=konqueror
--- konqueror/iconview/konq_multicolumnview.desktop
+++ konqueror/iconview/konq_multicolumnview.desktop
@@ -87,0 +88 @@
+X-TDE-BrowserView-Built-Into=konqueror
--- konqueror/listview/konq_infolistview.desktop
+++ konqueror/listview/konq_infolistview.desktop
@@ -84,0 +85 @@
+X-TDE-BrowserView-Built-Into=konqueror
--- konqueror/listview/konq_textview.desktop
+++ konqueror/listview/konq_textview.desktop
@@ -87,0 +88 @@
+X-TDE-BrowserView-Built-Into=konqueror
--- konqueror/listview/konq_treeview.desktop
+++ konqueror/listview/konq_treeview.desktop
@@ -87,0 +88 @@
+X-TDE-BrowserView-Built-Into=konqueror
' | patch -N -p0 || true
## allow for configuration files directory == *tde*
## and plugins in $INSTALL_TDE/lib$LIBDIRSUFFIX/tde
sed -i "s|trinity|$PLUGIN_INSTALL_DIR|g" tdm/config.def || true
sed -i "s|/etc/trinity|$INSTALL_TDE/share/config|" tdm/kfrontend/gentdmconf.c || true
sed -i "s|trinity|$PLUGIN_INSTALL_DIR|" tdm/kfrontend/gentdmconf.c || true
sed -i "s|trinity|$PLUGIN_INSTALL_DIR|" kcontrol/hwmanager/devicepropsdlg.cpp || true
sed -i "s|trinity|$PLUGIN_INSTALL_DIR|" tdeioslave/trash/testtrash.cpp || true
patch -N -p0 << EOF || true
--- translations/desktop_files/kcontrol-desktops/en_GB.po
+++ translations/desktop_files/kcontrol-desktops/en_GB.po
@@ -1355,3 +1355,3 @@
msgid "Configure display ICC color profile"
-msgstr ""
+msgstr "Configure display ICC colour profile"
@@ -1360,3 +1360,3 @@
msgid "ICC;display;color;profile;"
-msgstr ""
+msgstr "ICC;display;colour;profile;"
@@ -1365,3 +1365,3 @@
msgid "Color Profile"
-msgstr ""
+msgstr "Colour Profile"
EOF
## find htsearch - add this Slackware default path to list of possible locations
## rather than set HTDIG_SEARCH_BINARY which fixes the location
sed -i 's|HINTS|&\n /var/www/cgi-bin|' khelpcenter/searchhandlers/CMakeLists.txt
listdocs_fn
chown_fn
cd_builddir_fn
[[ $TDEVERSION != 14.0.12 ]] && {
## Add man pages for development builds
MANDIR=-DMAN_INSTALL_DIR=$INSTALL_TDE/man
sed -i "s|/etc/trinity|$INSTALL_TDE/share/config|" ../doc/man/{gentdmconf,tdm}.1
[[ $TDE_CNF_DIR == *tde* ]] && \
sed -i 's|trinity,kde,kde2,kde1|tde|' ../doc/man/*.1 && \
sed -i 's|trinity|tde|g' ../doc/man/*.1 || \
sed -i 's|trinity,kde,kde2,kde1|trinity|' ../doc/man/*.1
sed -i "s|http://bugs.*desktop.org|https://mirror.git.trinitydesktop.org/gitea/TDE/$PRGNAM/issues|" ../doc/man/*.1
## kfrontend/CMakeLists.txt runs gentdmconf to set up the tdm configuration files
## - after that, add the TDM configuration README
echo '
if( BUILD_TDM )
install(
FILES ../README
RENAME README-config
DESTINATION ${CONFIG_INSTALL_DIR}/tdm
)
endif( )
' >> ../tdm/kfrontend/CMakeLists.txt
#
sed -i "s|/opt/.*/share/doc/tdm/README.gz|$INSTALL_TDE/share/config/tdm/README-config|" ../doc/man/tdm{,ctl}.1
}
cmake ${G_NINJA:-} ${CMAKE_OPTS:-} \
-DCMAKE_C_FLAGS="$SLKRCFLAGS" \
-DCMAKE_CXX_FLAGS="$SLKRCFLAGS" \
-DCMAKE_C_COMPILER=$COMPILER \
-DCMAKE_CXX_COMPILER=$COMPILER_CXX \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$INSTALL_TDE \
-DLIB_SUFFIX=$LIBDIRSUFFIX \
-DPLUGIN_INSTALL_DIR=$INSTALL_TDE/lib$LIBDIRSUFFIX/$PLUGIN_INSTALL_DIR \
${MANDIR:-} \
-DWITH_ARTS="ON" \
-DWITH_ELFICON="OFF" \
-DWITH_GCC_VISIBILITY=${GCC_VIS:-} \
-DWITH_HAL="OFF" \
-DWITH_I8K="OFF" \
-DWITH_LDAP="OFF" \
-DWITH_LIBART="ON" \
-DWITH_LIBCONFIG="OFF" \
-DWITH_LIBRAW1394="OFF" \
-DWITH_LIBUSB="OFF" \
-DWITH_OPENEXR="ON" \
-DWITH_OPENGL="ON" \
-DWITH_PAM="OFF" \
-DWITH_PCRE="ON" \
-DWITH_SAMBA="OFF" \
-DWITH_SASL="OFF" \
-DWITH_SENSORS="ON" \
-DWITH_SHADOW="ON" \
-DWITH_SUDO_KONSOLE_SUPER_USER_COMMAND="ON" \
-DWITH_SUDO_TDESU_BACKEND="ON" \
-DWITH_TDEHWLIB="ON" \
-DWITH_UPOWER="ON" \
-DWITH_XCOMPOSITE="ON" \
-DWITH_XCURSOR="ON" \
-DWITH_XDMCP="ON" \
-DWITH_XFIXES="ON" \
-DWITH_XINERAMA="ON" \
-DWITH_XRANDR="ON" \
-DWITH_XRENDER="ON" \
-DWITH_XSCREENSAVER="OFF" \
-DWITH_XTEST="ON" \
-DBUILD_APPLNK="ON" \
-DBUILD_CRASHTEST="ON" \
-DBUILD_DOC="ON" \
-DBUILD_DRKONQI="ON" \
-DBUILD_KAPPFINDER="ON" \
-DBUILD_KATE="ON" \
-DBUILD_KCHECKPASS="ON" \
-DBUILD_KCMINIT="ON" \
-DBUILD_KCONTROL="ON" \
-DBUILD_KDCOP="ON" \
-DBUILD_KDESKTOP="ON" \
-DBUILD_KDIALOG="ON" \
-DBUILD_KFIND="ON" \
-DBUILD_KHELPCENTER="ON" \
-DBUILD_KHOTKEYS="ON" \
-DBUILD_KICKER="ON" \
-DBUILD_KLIPPER="ON" \
-DBUILD_KMENUEDIT="ON" \
-DBUILD_KNETATTACH="ON" \
-DBUILD_KONQUEROR="ON" \
-DBUILD_KONSOLE="ON" \
-DBUILD_KPAGER="ON" \
-DBUILD_KPERSONALIZER="ON" \
-DBUILD_KREADCONFIG="ON" \
-DBUILD_KROOTBACKING="ON" \
-DBUILD_KSMSERVER="ON" \
-DBUILD_KSPLASHML="ON" \
-DBUILD_KSTART="ON" \
-DBUILD_KSYSGUARD="ON" \
-DBUILD_KSYSTRAYCMD="ON" \
-DBUILD_KTIP="ON" \
-DBUILD_KXKB="ON" \
-DBUILD_L10N="ON" \
-DBUILD_LIBKONQ="ON" \
-DBUILD_NSPLUGINS="ON" \
-DBUILD_PICS="ON" \
-DBUILD_PROFILE_SHUTDOWN="OFF" \
-DBUILD_STARTTDE="ON" \
-DBUILD_TDEDEBUGDIALOG="ON" \
-DBUILD_TDEEJECT="ON" \
-DBUILD_TDEINIT="ON" \
-DBUILD_TDEIOSLAVES="ON" \
-DBUILD_TDEKBDLEDSYNC="ON" \
-DBUILD_TDEPASSWD="ON" \
-DBUILD_TDEPRINT="ON" \
-DBUILD_TDESCREENSAVER="ON" \
-DBUILD_TDESU="ON" \
-DBUILD_TDM="ON" \
-DBUILD_TDM_SYSTEMD_UNIT_FILE="OFF" \
-DBUILD_TQT3INTEGRATION="ON" \
-DBUILD_TSAK="ON" \
-DBUILD_TWIN="ON" \
-Wno-dev \
..
make_fn
installdocs_fn
[[ $TDEVERSION != 14.0.12 ]] && mangzip_fn
strip_fn
##############################################################################
# Add xinitrc:
mkdir -p $PKG/etc/X11/xinit
echo '#!''/bin/sh
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
if [ -f $sysresources ]; then
/usr/bin/xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
/usr/bin/xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
/usr/bin/xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
/usr/bin/xmodmap $usermodmap
fi
if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
exec ck-launch-session dbus-launch --exit-with-session '"$INSTALL_TDE"'/bin/starttde
else
exec dbus-launch --exit-with-session '"$INSTALL_TDE"'/bin/starttde
fi
' > $PKG/etc/X11/xinit/xinitrc.tde
chmod 755 $PKG/etc/X11/xinit/xinitrc.tde
[[ $(cat $TMPVARS/RUNLEVEL) == *xinitrc* ]] && {
(cd $PKG/etc/X11/xinit/
ln -sf xinitrc.tde xinitrc)
}
##############################################################################
## create tde.{,c}sh:
mkdir -p $PKG/etc/profile.d
echo '#!'"/bin/sh
# TDE additions:
export TDEDIR=$INSTALL_TDE
# upgradepkg runs installpkg twice, so test for the second run:
[[ \"\$XDG_CONFIG_DIRS\" != *$INSTALL_TDE/etc/xdg* ]] && {
if [ ! \"\$XDG_CONFIG_DIRS\" = \"\" ]; then
export XDG_CONFIG_DIRS=\$XDG_CONFIG_DIRS:$INSTALL_TDE/etc/xdg
else
export XDG_CONFIG_DIRS=/etc/xdg:$INSTALL_TDE/etc/xdg
fi
}
## Re: https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.6.html
## If XDG_DATA_DIRS is null or unset, the default is /usr/local/share:/usr/share
[[ \$XDG_DATA_DIRS == \"\" ]] && \\
export XDG_DATA_DIRS=/usr/local/share:/usr/share:$INSTALL_TDE/share || {
[[ \$XDG_DATA_DIRS != *$INSTALL_TDE/share* ]] && \\
export XDG_DATA_DIRS=\$XDG_DATA_DIRS:$INSTALL_TDE/share
}
" > $PKG/etc/profile.d/tde.sh
echo '#!'"/bin/csh
# TDE additions:
if ( ! \$?TDEDIR ) then
setenv TDEDIR $INSTALL_TDE
endif
if ( \$?XDG_CONFIG_DIRS ) then
setenv XDG_CONFIG_DIRS \$XDG_CONFIG_DIRS:$INSTALL_TDE/etc/xdg
else
setenv XDG_CONFIG_DIRS /etc/xdg:$INSTALL_TDE/etc/xdg
endif
setenv XDG_DATA_DIRS /usr/local/share:/usr/share:$INSTALL_TDE/share
" > $PKG/etc/profile.d/tde.csh
chmod 755 $PKG/etc/profile.d/tde.{,c}sh
##############################################################################
# Set sane permissions for the include files.
if [ -d $PKG$INSTALL_TDE/include ]; then
find $PKG$INSTALL_TDE/include -type f -exec chmod 0644 {} \;
fi
################################# TDM stuff #################################
# Allow root to login
sed 's|AllowRootLogin=false|AllowRootLogin=true|' $PKG$INSTALL_TDE/share/config/tdm/tdmrc > $PKG$INSTALL_TDE/share/config/tdm/tdmrc.new
## Remove tdmrc which has AllowRootLogin=false set and would be used for a new installation
## If it doesn't exist, tdmrc will be created by doinst.sh from tdmrc.new
rm $PKG$INSTALL_TDE/share/config/tdm/tdmrc
mv $PKG$INSTALL_TDE/share/config/tdm/Xsession $PKG$INSTALL_TDE/share/config/tdm/Xsession.orig
#
## new Xsession:
echo '#!'' /bin/sh
# Xsession - run as user
# Merged in parts of the old Xsession to load defaults from
# Xresources and Xmodmap files, 2006-02-09 volkerdi
session=$1
# This section is borrowed from the old X11 Xsession file:
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -r $sysresources ]; then
/usr/bin/xrdb -merge $sysresources
fi
if [ -r $sysmodmap ]; then
/usr/bin/xmodmap $sysmodmap
fi
if [ -r $userresources ]; then
/usr/bin/xrdb -merge $userresources
fi
if [ -r $usermodmap ]; then
/usr/bin/xmodmap $usermodmap
fi
# Note that the respective logout scripts are not sourced.
case $SHELL in
*/bash)
[ -z "$BASH" ] && exec $SHELL $0 "$@"
set +o posix
[ -f /etc/profile ] && . /etc/profile
if [ -f $HOME/.bash_profile ]; then
. $HOME/.bash_profile
elif [ -f $HOME/.bash_login ]; then
. $HOME/.bash_login
elif [ -f $HOME/.profile ]; then
. $HOME/.profile
fi
;;
*/zsh)
[ -z "$ZSH_NAME" ] && exec $SHELL $0 "$@"
emulate -R zsh
[ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc
zhome=${ZDOTDIR:-$HOME}
# zshenv is always sourced automatically.
[ -f $zdir/zprofile ] && . $zdir/zprofile
[ -f $zhome/.zprofile ] && . $zhome/.zprofile
[ -f $zdir/zlogin ] && . $zdir/zlogin
[ -f $zhome/.zlogin ] && . $zhome/.zlogin
;;
*/csh|*/tcsh)
# [t]cshrc is always sourced automatically.
# Note that sourcing csh.login after .cshrc is non-standard.
xsess_tmp=`mktemp`
$SHELL -c "if (-f /etc/csh.login) source /etc/csh.login; if (-f ~/.login) source ~/.login; /bin/sh -c export >! $xsess_tmp"
. $xsess_tmp
rm -f $xsess_tmp
;;
*) # Plain sh, ksh, and anything we don'\''t know.
[ -f /etc/profile ] && . /etc/profile
[ -f $HOME/.profile ] && . $HOME/.profile
;;
esac
[ -f /etc/xprofile ] && . /etc/xprofile
[ -f $HOME/.xprofile ] && . $HOME/.xprofile
case $session in
"")
exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session."
;;
failsafe)
exec xterm -geometry 80x24-0-0
;;
custom)
exec $HOME/.xsession
;;
default)
exec '"$INSTALL_TDE"'/bin/starttde
;;
*)
eval exec "$session"
;;
esac
exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop."
' > $PKG$INSTALL_TDE/share/config/tdm/Xsession
# Add rc.4.local to give TDM priority over rc.4 X11 session manager options
# Assumes that rc.4.new from sysvinit-scripts still has the rc.4.local option
mkdir $PKG/etc/rc.d
echo '#!'" /bin/sh
# Start TDM:
if [ -x $INSTALL_TDE/bin/tdm ]; then
echo 'Using TDM (Trinity Login Manager).'
echo
# log_cleanup '/var/log/tdm.log'
exec $INSTALL_TDE/bin/tdm -nodaemon -error /var/log/tdm.log
fi
" > $PKG/etc/rc.d/rc.4.local.tdm
chmod 755 $PKG/etc/rc.d/rc.4.local.tdm
mv $PKG$INSTALL_TDE/share/config/tdm/backgroundrc $PKG$INSTALL_TDE/share/config/tdm/backgroundrc.new
##############################################################################
mkdir_install_fn
##############################################################################
## create doinst.sh:
echo '# Save old config files:
config() {
NEW="$1"
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...
}
config .'"$INSTALL_TDE"'/share/config/tdm/tdmrc.new
config .'"$INSTALL_TDE"'/share/config/tdm/backgroundrc.new
# update PATH
# upgradepkg runs installpkg twice, so even though '"$TQTDIR"'/bin might be
# a new PATH, it needs to be tested for the second run
if ! grep '"$TQTDIR"'/bin /etc/profile
then
echo "PATH='"$TQTDIR"'/bin:\$PATH" >> /etc/profile
fi
if ! grep '"$INSTALL_TDE"'/bin /etc/profile
then
echo "PATH='"$INSTALL_TDE"'/bin:\$PATH" >> /etc/profile
fi
# update MANPATH
if ! grep '"$INSTALL_TDE"'/man /etc/profile
then
echo "export MANPATH=\$MANPATH:'"$INSTALL_TDE"'/man" >> /etc/profile
fi
## you may not want to do this ##
# start a '\''konsole'\'' with system-wide profile
[[ ! $(grep -x "source /etc/profile" $HOME/.bashrc ) ]] && echo "source /etc/profile" >> $HOME/.bashrc || true
# don'\''t want this
sed -i '\''s|source /etc/profile.d/mc.sh|#source /etc/profile.d/mc.sh|'\'' $HOME/.bashrc || true
' > $PKG/install/doinst.sh
## set TDEHOME and TDEROOTHOME variables - defaults ~/.trinity and /root/.trinity
[[ $TDE_CNF_DIR == *tde* ]] && {
echo "# upgradepkg runs installpkg twice, so firstly remove any previous TDE*HOME entries
sed -i '/TDE.*HOME/d' /etc/profile
echo 'export TDEHOME=~/.tde' >> /etc/profile
echo 'export TDEROOTHOME=/root/.tde' >> /etc/profile
" >> $PKG/install/doinst.sh
}
## Set up doinst.sh according to the TDM options selected
[[ $(cat $TMPVARS/RUNLEVEL) == *rc4l* ]] && {
echo '## login manager TDM selected
cp etc/rc.d/rc.4.local.tdm etc/rc.d/rc.4.local
' >> $PKG/install/doinst.sh
}
#
[[ $(cat $TMPVARS/RUNLEVEL) == *rl4* ]] && {
echo "## set default runlevel to 4 for TDM
sed -i 's|id:[1-5]|id:4|' etc/inittab
" >> $PKG/install/doinst.sh
}
doinst_sh_fn
##############################################################################
echo "
# 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------------------------------------------------------|
$PRGNAM: tdebase (The Trinity Desktop base)
$PRGNAM:
$PRGNAM: tdebase is the second mandatory package (besides tdelibs) for the
$PRGNAM: Trinity Desktop Environment. Here we have various applications and
$PRGNAM: infrastructure files and libraries.
$PRGNAM:
$PRGNAM:
$PRGNAM:
$PRGNAM:
$PRGNAM:
$PRGNAM:
" > $PKG/install/slack-desc
makepkg_fn