When will https://slackbuilds.org/ have 15.0 in their repos?
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Ok one more to knock off the list. openmw only needs two things fixed. First it needs a version bump to 0.47.0 to get pass the qt4 failure. Second its dependency bullet needs to be build with "-DUSE_DOUBLE_PRECISION=ON". After those two changes openmw compiles fine.
#These have issues as noted before I stopped and moved on.
graphics/freewrl
-javascript_engine issues, last released in 2018, no other builds have it as a dependency
graphics/ipe
-old builds/archive no longer at location, only available version on github is newer with new REQs: libspiro(no slackbuild), might be more, stopped here.
-mobiperl and pipe-viewer have it as dependency
I have kodi building and all optional dependencies autodetected (see README for the list of optional dependencies). I still intend to get at least inputstream.adaptive working, either within the SlackBuild or as a separate SlackBuild before submitted a PR, but it's getting late and I have an early morning tomorrow. if anyone wants to test, feel free (I'm open to any suggestions, complaints, or criticisms). The slack-desc and doinst.sh remain unchanged, so I won't add them here. If preferred, see the attached patch.
BTW, kodi's autodetection of "optional" dependencies really sucks. You'll get through the cmake config, but compilation will bomb out unless explicitly disabled. I decided to add autodetection rather than require users to pass variables to the SlackBuild or just making them all mandatory dependencies.
kodi.SlackBuild
Code:
#!/bin/bash
# Slackware build script for kodi
# Copyright 2009-2018 Larry Hajali <larryhaja[at]gmail[dot]com>
# 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 ''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)
PRGNAM=kodi
SRCNAM=xbmc
CODNAM=Matrix
VERSION=${VERSION:-19.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
fi
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
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
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION-$CODNAM
tar xvf $CWD/$SRCNAM-$VERSION-$CODNAM.tar.gz
cd $SRCNAM-$VERSION-$CODNAM
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Autodetection of "optional" dependencies sucks. It does not work and
# compilation will fail on each of these if not explicitly disabled.
# Figured I'd mplemented my own autodetection instead of requiring
# passing a bunch of annoying flags :)
if pkg-config --exists avahi-core ; then AVAHI=ON; else AVAHI=OFF; fi
if pkg-config --exists cwiid ; then CWIID=ON; else CWIID=OFF; fi
if pkg-config --exists dav1d ; then DAV1D=ON; else DAV1D=OFF; fi
if pkg-config --exists libmicrohttpd ; then WEBSERVER=ON; else WEBSERVER=OFF; fi
if pkg-config --exists libcec ; then CEC=ON; else CEC=OFF; fi
if pkg-config --exists libnfs ; then NFS=ON; else NFS=OFF; fi
if pkg-config --exists lirc ; then LIRC=ON; else LIRC=OFF; fi
if [ -f /usr/bin/shairplay ] ; then AIRPLAY=ON; else AIRPLAY=OFF; fi
mkdir -p $TMP/$PRGNAM-build
cd $TMP/$PRGNAM-build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DAPP_RENDER_SYSTEM=gl \
-DCORE_PLATFORM_NAME="x11" \
-DENABLE_INTERNAL_FSTRCMP=ON \
-DENABLE_INTERNAL_UDFREAD=ON \
-DENABLE_AIRTUNES=$AIRPLAY \
-DENABLE_AVAHI=$AVAHI \
-DENABLE_CEC=$LIBCEC \
-DENABLE_DAV1D=$DAV1D \
-DENABLE_EVENTCLIENTS=$CWIID \
-DENABLE_LIRCCLIENT=$LIRC \
-DENABLE_MICROHTTPD=$WEBSERVER \
-DENABLE_NFS=$NFS \
-DCMAKE_BUILD_TYPE=Release ../$SRCNAM-$VERSION-$CODNAM
make
make install/strip DESTDIR=$PKG
cd ..
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Install manpages
mkdir -p $PKG/usr/man/man1
for i in {$PRGNAM{,.bin,-standalone},TexturePacker}.1; do
install -m 0644 $SRCNAM-$VERSION-$CODNAM/docs/manpages/$i $PKG/usr/man/man1/$i
done
# Install Event Control manpages if enabled
if [ $CWIID == "ON" ]; then
for i in $PRGNAM{-ps3remote,-wiiremote,-send}.1; do
install -m 0644 $SRCNAM-$VERSION-$CODNAM/docs/manpages/$i $PKG/usr/man/man1/$i
done
fi
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
(
cd $SRCNAM-$VERSION-$CODNAM
cp -a README.md privacy-policy.txt version.txt docs/MANIFESTO.md $PKG/usr/doc/$PRGNAM-$VERSION
if [ $EVENTCL == "ON" ]; then
cat tools/EventClients/README.txt > $PKG/usr/doc/$PRGNAM-$VERSION/Event-Client-README.txt
fi
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
)
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
Kodi is an award winning media center application for Linux, Mac OS X,
Windows and XBox. The ultimate hub for all your media, Kodi is easy to
use, looks slick, and has a large helpful community. Kodi supports
viewing and playing a vast library of audio, video and image formats.
Kodi has a sophisticated library management system that allows you to
organize all your media to give you quick and immediate access.
Optional autodetected dependencies:
avahi - Network discovery
cwiid - Controller support
dav1d - AV1 codec support
libcec - CEC support
libmicrohttpd - Web interface support
libnfs - Browse NFS shares
lirc - Remote support
shairplay - Airplay Support
NOTE:
Kodi can be compiled with jdk11 instead of zulu-openjdk11.
I have kodi building and all optional dependencies autodetected (see README for the list of optional dependencies). I still intend to get at least inputstream.adaptive working, either within the SlackBuild or as a separate SlackBuild before submitted a PR, but it's getting late and I have an early morning tomorrow. if anyone wants to test, feel free (I'm open to any suggestions, complaints, or criticisms). The slack-desc and doinst.sh remain unchanged, so I won't add them here. If preferred, see the attached patch.
BTW, kodi's autodetection of "optional" dependencies really sucks. You'll get through the cmake config, but compilation will bomb out unless explicitly disabled. I decided to add autodetection rather than require users to pass variables to the SlackBuild or just making them all mandatory dependencies.
kodi.SlackBuild
Code:
#!/bin/bash
# Slackware build script for kodi
# Copyright 2009-2018 Larry Hajali <larryhaja[at]gmail[dot]com>
# 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 ''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)
PRGNAM=kodi
SRCNAM=xbmc
CODNAM=Matrix
VERSION=${VERSION:-19.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
fi
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
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
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION-$CODNAM
tar xvf $CWD/$SRCNAM-$VERSION-$CODNAM.tar.gz
cd $SRCNAM-$VERSION-$CODNAM
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Autodetection of "optional" dependencies sucks. It does not work and
# compilation will fail on each of these if not explicitly disabled.
# Figured I'd mplemented my own autodetection instead of requiring
# passing a bunch of annoying flags :)
if pkg-config --exists avahi-core ; then AVAHI=ON; else AVAHI=OFF; fi
if pkg-config --exists cwiid ; then CWIID=ON; else CWIID=OFF; fi
if pkg-config --exists dav1d ; then DAV1D=ON; else DAV1D=OFF; fi
if pkg-config --exists libmicrohttpd ; then WEBSERVER=ON; else WEBSERVER=OFF; fi
if pkg-config --exists libcec ; then CEC=ON; else CEC=OFF; fi
if pkg-config --exists libnfs ; then NFS=ON; else NFS=OFF; fi
if pkg-config --exists lirc ; then LIRC=ON; else LIRC=OFF; fi
if [ -f /usr/bin/shairplay ] ; then AIRPLAY=ON; else AIRPLAY=OFF; fi
mkdir -p $TMP/$PRGNAM-build
cd $TMP/$PRGNAM-build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DAPP_RENDER_SYSTEM=gl \
-DCORE_PLATFORM_NAME="x11" \
-DENABLE_INTERNAL_FSTRCMP=ON \
-DENABLE_INTERNAL_UDFREAD=ON \
-DENABLE_AIRTUNES=$AIRPLAY \
-DENABLE_AVAHI=$AVAHI \
-DENABLE_CEC=$LIBCEC \
-DENABLE_DAV1D=$DAV1D \
-DENABLE_EVENTCLIENTS=$CWIID \
-DENABLE_LIRCCLIENT=$LIRC \
-DENABLE_MICROHTTPD=$WEBSERVER \
-DENABLE_NFS=$NFS \
-DCMAKE_BUILD_TYPE=Release ../$SRCNAM-$VERSION-$CODNAM
make
make install/strip DESTDIR=$PKG
cd ..
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Install manpages
mkdir -p $PKG/usr/man/man1
for i in {$PRGNAM{,.bin,-standalone},TexturePacker}.1; do
install -m 0644 $SRCNAM-$VERSION-$CODNAM/docs/manpages/$i $PKG/usr/man/man1/$i
done
# Install Event Control manpages if enabled
if [ $CWIID == "ON" ]; then
for i in $PRGNAM{-ps3remote,-wiiremote,-send}.1; do
install -m 0644 $SRCNAM-$VERSION-$CODNAM/docs/manpages/$i $PKG/usr/man/man1/$i
done
fi
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
(
cd $SRCNAM-$VERSION-$CODNAM
cp -a README.md privacy-policy.txt version.txt docs/MANIFESTO.md $PKG/usr/doc/$PRGNAM-$VERSION
if [ $EVENTCL == "ON" ]; then
cat tools/EventClients/README.txt > $PKG/usr/doc/$PRGNAM-$VERSION/Event-Client-README.txt
fi
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
)
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
Kodi is an award winning media center application for Linux, Mac OS X,
Windows and XBox. The ultimate hub for all your media, Kodi is easy to
use, looks slick, and has a large helpful community. Kodi supports
viewing and playing a vast library of audio, video and image formats.
Kodi has a sophisticated library management system that allows you to
organize all your media to give you quick and immediate access.
Optional autodetected dependencies:
avahi - Network discovery
cwiid - Controller support
dav1d - AV1 codec support
libcec - CEC support
libmicrohttpd - Web interface support
libnfs - Browse NFS shares
lirc - Remote support
shairplay - Airplay Support
NOTE:
Kodi can be compiled with jdk11 instead of zulu-openjdk11.
I can confirm it works fine here: I'll commit it to SBo's git, thanks!
I have kodi building and all optional dependencies autodetected (see README for the list of optional dependencies). I still intend to get at least inputstream.adaptive working, either within the SlackBuild or as a separate SlackBuild before submitted a PR, but it's getting late and I have an early morning tomorrow. if anyone wants to test, feel free (I'm open to any suggestions, complaints, or criticisms). The slack-desc and doinst.sh remain unchanged, so I won't add them here. If preferred, see the attached patch.
BTW, kodi's autodetection of "optional" dependencies really sucks. You'll get through the cmake config, but compilation will bomb out unless explicitly disabled. I decided to add autodetection rather than require users to pass variables to the SlackBuild or just making them all mandatory dependencies.
<snip>
Glad you didn't get stuck trying to get the internal dependencies working like I did because of that other build I had been using. Had it built with gcc the first time by hand trying to merge the two slackbuilds, then it wouldn't build after that. VM started acting weird too. Only thing I can figure is that the internal dependencies need clang to build properly as once I tried that, it built. Finally gave up on that and built it as you did outside the VM successfully minus the below error.
On line 143 $EVENTCL needs to be quoted as it's not used and throws an error.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.