LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 10-16-2021, 06:50 PM   #4411
lagavulin16
LQ Newbie
 
Registered: Aug 2017
Distribution: Slackware
Posts: 27

Rep: Reputation: Disabled

Looks like new office/evince 40.4 needs an external "libhandy" library for successful building, but this library doesn't exist in stock Slackware nor in slackbuilds.
Of course, it can be taken from here (https://slack.conraid.net/repository...rent/libhandy/), or built by yourself, but still.
 
Old 10-17-2021, 12:43 AM   #4412
MDKDIO
Member
 
Registered: Mar 2004
Location: Sweden
Distribution: Slackware 15
Posts: 521

Rep: Reputation: 187Reputation: 187
Quote:
Originally Posted by USUARIONUEVO View Post
Some chance to kodi ?

I can build a matrix version 19.2 ,but need extra work , and extra slackbuilds.

Version on SBo not build cause i think gcc upgrades and error says not support c++17
I guess you have already found this out, that these packages are also required in order to build Kodi...

From current (kodi 17.6 @ Ponce repo) kodi.info:
REQUIRES="jdk libass crossguid yajl tinyxml libmicrohttpd"

These are also required, as of Kodi 19:
REQUIRES="rapidjson, pycryptodomex, libnfs, libdvdcss, platform, libcec, dav1d"

(I don't think 19.x require crossguid, yajl).

Of course, all these packages need to be up-to-date, so one will have to go through them all and update accordingly.

Note: I've only built/installed 19.1, so 19.2 might require something more/else.
 
1 members found this post helpful.
Old 10-17-2021, 07:20 AM   #4413
brobr
Member
 
Registered: Oct 2003
Location: uk
Distribution: Slackware
Posts: 977

Rep: Reputation: 239Reputation: 239Reputation: 239
Quote:
Originally Posted by lagavulin16 View Post
Looks like new office/evince 40.4 needs an external "libhandy" library for successful building, but this library doesn't exist in stock Slackware nor in slackbuilds.
Of course, it can be taken from here (https://slack.conraid.net/repository...rent/libhandy/), or built by yourself, but still.
https://www.linuxquestions.org/quest...ml#post6291523

EDIT: adding slackbuild for link lagavulin16 gave (which was to a pkg):
https://github.com/conraid/SlackBuil...aster/libhandy

Last edited by brobr; 10-19-2021 at 12:45 PM.
 
1 members found this post helpful.
Old 10-17-2021, 06:06 PM   #4414
Richard Cranium
Senior Member
 
Registered: Apr 2009
Location: McKinney, Texas
Distribution: Slackware64 15.0
Posts: 3,858

Rep: Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225Reputation: 2225
graphics/OpenSubdiv does not build
 
Old 10-17-2021, 07:27 PM   #4415
willysr
Senior Member
 
Registered: Jul 2004
Location: Jogja, Indonesia
Distribution: Slackware-Current
Posts: 4,686

Rep: Reputation: 1801Reputation: 1801Reputation: 1801Reputation: 1801Reputation: 1801Reputation: 1801Reputation: 1801Reputation: 1801Reputation: 1801Reputation: 1801Reputation: 1801
works fine here
Code:
OpenSubdiv:
  MD5SUM check for OpenSubDiv-3.4.4.tar.gz ... OK
  Building package OpenSubdiv-3.4.4-x86_64-1_SBo.tgz ... OK
 
Old 10-17-2021, 07:43 PM   #4416
Daedra
Senior Member
 
Registered: Dec 2005
Location: Springfield, MO
Distribution: Slackware64-15.0
Posts: 2,713

Rep: Reputation: 1392Reputation: 1392Reputation: 1392Reputation: 1392Reputation: 1392Reputation: 1392Reputation: 1392Reputation: 1392Reputation: 1392Reputation: 1392
Quote:
Originally Posted by Richard Cranium View Post
graphics/OpenSubdiv does not build
Just checked it and it built fine on my machine on latest -current.
 
Old 10-18-2021, 12:42 AM   #4417
Lockywolf
Member
 
Registered: Jul 2007
Posts: 683

Rep: Reputation: 253Reputation: 253Reputation: 253
shiboken2 needs this patchset for python3.10: https://codereview.qt-project.org/c/...setup/+/348390

Except this patchset is for pyside6 not pyside2.

But I tweaked it by quite bluntly renaming 6 with 2, and it builds. (attached patch)

Also, what is the point of building tests? I guess it is the question to the SlackBuild author, but building them makes the installation ~5 times slower, for apparently no gain.
Attached Files
File Type: txt patch-shiboken2-python310-81e9cff.diff.txt (5.9 KB, 2 views)
 
Old 10-18-2021, 01:00 AM   #4418
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,129

Original Poster
Rep: Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201
Quote:
Originally Posted by Lockywolf View Post
shiboken2 needs this patchset for python3.10: https://codereview.qt-project.org/c/...setup/+/348390

Except this patchset is for pyside6 not pyside2.

But I tweaked it by quite bluntly renaming 6 with 2, and it builds. (attached patch)

Also, what is the point of building tests? I guess it is the question to the SlackBuild author, but building them makes the installation ~5 times slower, for apparently no gain.
Hi Lockywolf,

python modules shows problems only when you import/use them, not at build time.
also, shiboken2 is a dependency of pyside2 and both are dependencies of FreeCAD: you should check also the dependees and test the resulting FreeCAD application.
IMHO, the better course of action in this case, is to contact the maintainer (that's using current) and check if he has already upgraded the builds for the latest python-3.10 addition and to propose some patches to his attention if he has not...
 
Old 10-18-2021, 01:17 AM   #4419
Lockywolf
Member
 
Registered: Jul 2007
Posts: 683

Rep: Reputation: 253Reputation: 253Reputation: 253
Quote:
Originally Posted by ponce View Post
Hi Lockywolf,

python modules shows problems only when you import/use them, not at build time.
also, shiboken2 is a dependency of pyside2 and both are dependencies of FreeCAD: you should check also the dependees and test the resulting FreeCAD application.
IMHO, the better course of action in this case, is to contact the maintainer (that's using current) and check if he has already upgraded the builds for the latest python-3.10 addition and to propose some patches to his attention if he has not...
Yeah, you are right. There is still something broken in this patchset, pyside2 build itself breaks due to a python exception. I will need to have a look.

But I do not think Qt company would be likely to fix this problem, as they have Qt6 already.

Meanwhile, PyStemmer needs this:

Code:
sed -i 's/++Py_REFCNT(o)/Py_SET_REFCNT( o, 1 + Py_REFCNT(o) )/g' src/Stemmer.c
sed -i 's/--Py_REFCNT(o)/Py_SET_REFCNT( o, Py_REFCNT(o) - 1 )/g' src/Stemmer.c

Last edited by Lockywolf; 10-18-2021 at 01:19 AM.
 
Old 10-18-2021, 01:30 AM   #4420
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,129

Original Poster
Rep: Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201
Quote:
Originally Posted by Lockywolf View Post
PyStemmer needs this:

Code:
sed -i 's/++Py_REFCNT(o)/Py_SET_REFCNT( o, 1 + Py_REFCNT(o) )/g' src/Stemmer.c
sed -i 's/--Py_REFCNT(o)/Py_SET_REFCNT( o, Py_REFCNT(o) - 1 )/g' src/Stemmer.c
Andrew Clemons, the maintainer of PyStemmer, is one of the new SBo admins: can you please send this to his attention?
 
Old 10-18-2021, 01:43 AM   #4421
Lockywolf
Member
 
Registered: Jul 2007
Posts: 683

Rep: Reputation: 253Reputation: 253Reputation: 253
Quote:
Originally Posted by ponce View Post
Andrew Clemons, the maintainer of PyStemmer, is one of the new SBo admins: can you please send this to his attention?
Emailed him.

Also, python3-gmpy needs this:

Code:
sed -i 's/_PyHASH_NAN/0/g' src/gmpy_mpfr.c
(taken from Fedora)
 
Old 10-18-2021, 02:04 AM   #4422
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,129

Original Poster
Rep: Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201Reputation: 4201
Quote:
Originally Posted by Lockywolf View Post
python3-gmpy needs this:

Code:
sed -i 's/_PyHASH_NAN/0/g' src/gmpy_mpfr.c
(taken from Fedora)
looking also at the other fedora commits, as it seems there are other part of the code that have changed to be python-3.10 compatible, maybe is better to update to version 2.1.0rc1 that should already include everything needed: thanks for the report!

https://git.slackbuilds.org/slackbui...it/?id=b668fdc
 
Old 10-18-2021, 05:43 PM   #4423
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Quote:
Originally Posted by USUARIONUEVO View Post
Some chance to kodi ?

I can build a matrix version 19.2 ,but need extra work , and extra slackbuilds.

Version on SBo not build cause i think gcc upgrades and error says not support c++17
Quote:
Originally Posted by MDKDIO View Post
I guess you have already found this out, that these packages are also required in order to build Kodi...

From current (kodi 17.6 @ Ponce repo) kodi.info:
REQUIRES="jdk libass crossguid yajl tinyxml libmicrohttpd"

These are also required, as of Kodi 19:
REQUIRES="rapidjson, pycryptodomex, libnfs, libdvdcss, platform, libcec, dav1d"

(I don't think 19.x require crossguid, yajl).

Of course, all these packages need to be up-to-date, so one will have to go through them all and update accordingly.

Note: I've only built/installed 19.1, so 19.2 might require something more/else.
Has the build system for kodi v19 changed much from v18? v18 was a mess with trying to get official addons included with the source built with kodi. This was required to be able to use 3rd-party addons like Netflix or Amazon. I could only install the addons to the main filesystem (the build system didn't support DESTDIR for the addons) and then I would move them to the package directory. It makes it difficult to do an in-place upgrade.

A kodi dev said (see link above) that we should build the addons as separate packages, which would supposedly fix the DESTDIR, but then you're going to have 80ish extra packages that need to be built to use kodi (depending on how many you feel is necessary).

I haven't updated my system yet to v19, but if anyone wanted to use my previous v18 SlackBuild (I never went beyond 18.5), it is below. It is mostly untouched from Larry's SlackBuild except for switching the build system to cmake and adding the section to build the addons. The dependencies I built beforehand were: avahi, crossguid, cwiid, flatbuffers, jdk, libass, lebcec, libdaemon, libmicrohttpd, libnfs, lirc, platform, pybluez, python-gattlib, python3-PyYAML, shairplay, tinyxml, yajl, rapidjson, and pycryptodome. I, unfortunately, don't remember which were required or optional. I never checked to see if there was any pollution outside of the /usr/share/kodi/addons/ directory.

I was going to tackle v19 once 15.0 is released and I upgrade my htpc, but hopefully we can get an updated official build beforehand. I'm happy to spin up a VM to work on an updated one if it's possible to actually use a DESTDIR for the addons.

Code:
#!/bin/sh

# 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.

PRGNAM=kodi
SRCNAM=xbmc
CODNAM=Leia
VERSION=${VERSION:-18.5}
FFMPEGVER=${FFMPEGVER:-4.0.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i586 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

CWD=$(pwd)
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
# Don't have the Makefile download ffmpeg during install.
ln -s $CWD/FFmpeg-${FFMPEGVER}-${CODNAM}.tar.gz \
  tools/depends/target/ffmpeg/ffmpeg-${FFMPEGVER}-${CODNAM}.tar.gz
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 {} \;

# No need to show Git: "Version" in a release build.
sed -i '/Git:/s|.*|  return GetVersionShort();|' $SRCNAM/utils/SystemInfo.cpp

# The version of ffmpeg on SBo is too old to compile kodi.
# Optional ffmpeg is still available but not turned on by
# default.
if [ "${FFMPEG:-no}" == "yes" ]; then
  OPT_DEPS="--with-ffmpeg=shared"
else
  OPT_DEPS=""
fi

# Build webserver. Requires libmicrohttpd.
if [ "${WEBSERVER:-yes}" == "yes" ]; then
  OPT_DEPS="$OPT_DEPS --enable-webserver"
else
  OPT_DEPS="$OPT_DEPS --disable-webserver"
fi

export PATH="$PATH:$PWD/tools/depends/native/JsonSchemaBuilder/bin"

mkdir -p build
cd build
  cmake \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DENABLE_INTERNAL_FMT=ON \
    -DENABLE_INTERNAL_FSTRCMP=ON \
    -DCMAKE_BUILD_TYPE=Release ..
  make

  # Wii controller usage. Default is no.
  if ! [ "${WII:-no}" = "no" ]; then
    make eventclients DESTDIR=$PKG WII_EXTRA_OPTS="-DCWIID_OLD"
    find $PKG/usr/lib${LIBDIRSUFFIX}/python* -iname "*\.py" -exec chmod 0644 '{}' \;
    # Create byte-compiled python files.
    python -m compileall $PKG/usr/lib${LIBDIRSUFFIX}/python*/site-packages/$PRGNAM 2>/dev/null
  fi

  make install DESTDIR=$PKG
cd ..

python -m compileall $PKG/usr/share/$PRGNAM/addons/service.xbmc.versioncheck

# Build addons
make -C tools/depends/target/binary-addons PREFIX=/usr
cp -r /usr/share/kodi/addons/* $PKG/usr/share/kodi/addons/.
cp tools/depends/target/binary-addons/native/inputstream.adaptive-prefix/src/inputstream.adaptive-build/inputstream.adaptive.so* $PKG/usr/share/kodi/addons/inputstream.adaptive/.
rm -r /usr/share/kodi/

install -m 0755 build/build/texturepacker/TexturePacker $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM

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.1 $PRGNAM.1 $PRGNAM-standalone.1; do
  install -m 0644 docs/manpages/$i $PKG/usr/man/man1/$i
done

if ! [ "${WII:-no}" = "no" ]; then
  for i in $PRGNAM-ps3remote.1 $PRGNAM-send.1 $PRGNAM-wiiremote.1; do
    install -m 0644 docs/manpages/$i $PKG/usr/man/man1/$i
  done
fi
gzip -9 $PKG/usr/man/man?/*.?

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a tools/EventClients/README.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

# Final clean up.
#find $PKG \( -name "Makefile*" -o -name "*cmake*" -o -name "*\.in" \) -exec rm -f '{}' \;

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:-tgz}
 
Old 10-19-2021, 02:33 AM   #4424
MDKDIO
Member
 
Registered: Mar 2004
Location: Sweden
Distribution: Slackware 15
Posts: 521

Rep: Reputation: 187Reputation: 187
This slackbuild should work for current AND with Kodi 19.2

Note: This one is also made for use when compiling for ARM*

Feedback is welcome!!

Original slackbuild made by minime (Thank you!!)

Note2: This require a downgrade to Python 3.9

Edit: He (minime) is testing with Python 3.10 now, reporting back when he's done...

Code:
#!/bin/sh

# Slackware build script for kodi 19.2

# Copyright 2020-2021 Minime <slackwareinfo[at]slackwarelinux[dot]se>
# 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.
#
# -----------------------------------------------------------------------------
#
# Slackware SlackBuild script 
# ===========================
# By:              Minime <slackwareinfo[at]slackwarelinux[dot]se>
# For:             kodi
# Descr:           Open Source version of kodi
# URL:             https://kodi.tv/
# Build needs:     - jdk;
#                  - libass >= 0.14.0;
#                  - tinyxml >= 2.6.2;
#                  - libmicrohttpd >= 0.9.70;
#                  - rapidjson >= 1.1.0;
#                  - libnfs >= 4.0.0;
#                  - libdvdcss >= 1.4.0;
#                  - platform >= 2.1.0;
#                  - libcec >= 4.0.4;
#                  - dav1d >= 0.5.2;
#                  - gcc >= 8 or llvm/clang >= 12;
#                  - cmake >= 3.13.4;
#                  - make >= 4.3;
#                  - python3 >= 3.7, python3-setuptools;
#                  - git >= 2.30;
#                  - Internet access (for downloading source code)
#
# -----------------------------------------------------------------------------
#
# Run 'sh kodi.SlackBuild' to build a Slackware package.
# The package (.txz) and .txt file as well as build logs are created in /tmp .
# Install it using 'installpkg'.
#
# -----------------------------------------------------------------------------

PRGNAM=kodi
SRCNAM=xbmc
CODNAM=Matrix
VERSION=${VERSION:-19.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SLse}

# Use llvm/clang, for a faster build
# and make the binaries smaller.
USE_CLANG=${USE_CLANG:-1}

# Use systems llvm/clang
SYS_CLANG=${SYS_CLANG:-1}

# Path to custom llvm/clang
CUST_CLANG_PATH="/opt/llvm/bin"

MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
  case "$MARCH" in
    i?86)    ARCH=i586 ;;
    arm*)    ARCH=$MARCH ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
    *)       ARCH=$MARCH ;;
  esac
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/SLse}
PKG=$TMP/package-$PRGNAM
ADDPKG=$TMP/package-$PRGNAM-addons
KODIBUILD=$TMP/$PRGNAM-build
OUTPUT=${OUTPUT:-/tmp}

case "$ARCH" in
  i?86)      SLKCFLAGS="-O2 -march=${ARCH} -mtune=i686"
             SARCH=i586
             LIBDIRSUFFIX=""
             CORE_PLATFORM="x11"
             RENDER_SYSTEM="gl"
             DO_VAAPI=ON
             DO_VDPAU=ON
             ;;
  x86_64)    SLKCFLAGS="-O2 -fPIC"
             SARCH=x86_64
             LIBDIRSUFFIX="64"
             CORE_PLATFORM="x11"
             RENDER_SYSTEM="gl"
             DO_VAAPI=ON
             DO_VDPAU=ON
             ;;
  armv8*)    SLKCFLAGS="-O2 -march=armv8-a -mtune=cortex-a72 mfpu=neon-fp-armv8 -mfloat-abi=hard"
             SARCH=arm64
             LIBDIRSUFFIX=""
             CORE_PLATFORM="x11 gbm" #Change this to "gbm" if you want to use gbm instead of x11
             RENDER_SYSTEM="gles"
             DO_VAAPI=OFF # Does not support Intel, AMD and Nvidia. (Pi uses Broadcom chips)
             DO_VDPAU=OFF # Does not support NVIDIA GPU. (Pi uses Broadcom chips)
             ;;
  armv7*)    SLKCFLAGS="-O2 -march=armv7-a -mtune=cortex-a72 -mfpu=vfpv3-d16 -mfloat-abi=hard"
             SARCH=arm
             LIBDIRSUFFIX=""
             CORE_PLATFORM="x11" #Change this to "gbm" if you want to use gbm instead of x11
                                     # if you want to compile wayland just add this or all three: CORE_PLATFORM="x11 wayland gbm"
             RENDER_SYSTEM="gles"
             DO_VAAPI=OFF # Does not support Intel, AMD and Nvidia. (Pi uses Broadcom chips)
             DO_VDPAU=OFF # Does not support NVIDIA GPU. (Pi uses Broadcom chips)
             ;;
  armv6*)    SLKCFLAGS="-O2 -march=armv6 -mfpu=vfp"
             SARCH=arm
             LIBDIRSUFFIX=""
             CORE_PLATFORM="x11 gbm" #Change this to "gbm" if you want to use gbm instead of x11
             RENDER_SYSTEM="gles"
             DO_VAAPI=OFF # Does not support Intel, AMD and Nvidia. (Pi uses Broadcom chips)
             DO_VDPAU=OFF # Does not support NVIDIA GPU. (Pi uses Broadcom chips)
             ;;
  *)         SLKCFLAGS="-O2"
             SARCH=$MARCH
             LIBDIRSUFFIX=""
             CORE_PLATFORM="x11"
             RENDER_SYSTEM="gl"
             DO_VAAPI=ON
             DO_VDPAU=ON
             ;;
esac

# Building with llvm/clang or gcc/c++
if [ ${USE_CLANG} -eq 1 ] && [ ${SYS_CLANG} -eq 0 ]; then
  export PATH="$CUST_CLANG_PATH:$PATH"
  CCOMPILER=$CUST_CLANG_PATH/clang
  CPPCOMPILER=$CUST_CLANG_PATH/clang++
  export LD="$CUST_CLANG_PATH/lld"
elif [ ${USE_CLANG} -eq 1 ] && [ ${SYS_CLANG} -eq 1 ]; then
  CCOMPILER=clang
  CPPCOMPILER=clang++
else
  CCOMPILER=gcc
  CPPCOMPILER=g++
fi

export CC="$CCOMPILER"
export CXX="$CPPCOMPILER"

export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"

set -e

rm -rf $ADDPKG $PKG $KODIBUILD
mkdir -p $TMP $PKG $ADDPKG $KODIBUILD $OUTPUT

# Fix missing lib folder-path 19.0
mkdir -p $PKG/usr/lib/$PRGNAM/addons

cd $TMP
rm -rf $SRCNAM-$VERSION-$CODNAM

# Download source from git directly
# If you prefure to use the tar file you chan change this here.
# However there was an issue with the tar.gz file in 19.2 when compiling the addons.
#tar xvf $CWD/$SRCNAM-$VERSION-$CODNAM.tar.gz
git clone -b $CODNAM https://github.com/xbmc/xbmc $SRCNAM-$VERSION-$CODNAM

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 {} \;

# Optional ffmpeg is still available but is turned off by default.
# This means that the script will use kodis own optimized version of ffmpeg.
# Note: If compiling ffmpeg with Slackware-Currents own package
# kodi might not build all the addons.
if [ "${FFMPEG:-yes}" == "yes" ]; then
  OPT_FFMPEG="ON"
else
  OPT_FFMPEG="OFF"
fi

# Build webserver. Requires libmicrohttpd.
if [ "${WEBSERVER:-yes}" == "yes" ]; then
  OPT_WEB="ON"
else
  OPT_WEB="OFF"
fi

# Wii controller usage. Default is no.
if ! [ "${WII:-yes}" == "no" ]; then
  OPT_WII="ON"
else
  OPT_WII="OFF"
fi

for PLATFORMS in $CORE_PLATFORM ; do
  cd $KODIBUILD

  # Compile and create pkg
  cmake ../$SRCNAM-$VERSION-$CODNAM \
     -DCMAKE_INSTALL_PREFIX=/usr \
     -DCMAKE_INSTALL_LIBDIR=/usr/lib$LIBDIRSUFFIX \
     -DCORE_PLATFORM_NAME=$PLATFORMS \
     -DAPP_RENDER_SYSTEM=$RENDER_SYSTEM \
     -DENABLE_EVENTCLIENTS=$OPT_WII \
     -DENABLE_INTERNAL_FFMPEG=$OPT_FFMPEG \
     -DENABLE_INTERNAL_FSTRCMP=ON \
     -DENABLE_INTERNAL_CROSSGUID=ON \
     -DENABLE_INTERNAL_FLATBUFFERS=ON \
     -DENABLE_INTERNAL_FMT=ON \
     -DENABLE_INTERNAL_UDFREAD=ON \
     -DENABLE_INTERNAL_GTEST=ON \
     -DENABLE_INTERNAL_SPDLOG=ON \
     -DENABLE_INTERNAL_DAV1D=OFF \
     -DENABLE_INTERNAL_RapidJSON=OFF \
     -DENABLE_MICROHTTPD=$OPT_WEB \
     -DENABLE_AVAHI=OFF \
     -DENABLE_AIRTUNES=OFF \
     -DENABLE_VAAPI=$DO_VAAPI \
     -DENABLE_VDPAU=$DO_VDPAU \
     2>&1 | tee $OUTPUT/$PRGNAM-$PLATFORMS-configure.log

  # Start compile
  cmake --build . -- VERBOSE=1 -j$(getconf _NPROCESSORS_ONLN) \
     2>&1 | tee $OUTPUT/$PRGNAM-$PLATFORMS-build.log

  # Install compiled files to $PKG directory
  make install DESTDIR=$PKG \
    2>&1 | tee $OUTPUT/$PRGNAM-$PLATFORMS-pkg_install.log
done

# Compile and install the addons
cd ../$SRCNAM-$VERSION-$CODNAM

# Compile only inputstream.adaptive addon
#make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/binary-addons PREFIX=$ADDPKG/usr ADDONS="inputstream.adaptive pvr.vuplus" \
#   2>&1 | tee $OUTPUT/$PRGNAM-addon-build.log
make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/binary-addons PREFIX=$ADDPKG/usr ADDONS="inputstream.adaptive" \
   2>&1 | tee $OUTPUT/$PRGNAM-addon-build.log

# Compile all addons
#make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/binary-addons PREFIX=$ADDPKG/usr \
#   2>&1 | tee $OUTPUT/$PRGNAM-addon-build.log

# Fix addons path 64-bit system
if [ "$LIBDIRSUFFIX" = "64" ]; then
  mkdir -p $ADDPKG/usr/lib$LIBDIRSUFFIX/$PRGNAM
  mv $PKG/usr/lib/$PRGNAM/addons $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM
  mv $ADDPKG/usr/lib/$PRGNAM/addons $ADDPKG/usr/lib$LIBDIRSUFFIX/$PRGNAM
  rm -rf $PKG/usr/lib/$PRGNAM
  rm -rf $ADDPKG/usr/lib/$PRGNAM
fi

# Install manpages.
mkdir -p $PKG/usr/man/man1
for i in $PRGNAM.bin.1 $PRGNAM.1 $PRGNAM-standalone.1; do
  install -m 0644 docs/manpages/$i $PKG/usr/man/man1/$i
done

gzip -9 $PKG/usr/man/man?/*.?

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a tools/EventClients/README.txt $PKG/usr/doc/$PRGNAM-$VERSION
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-$SARCH-$BUILD$TAG.${PKGTYPE:-tgz} \
   2>&1 | tee $OUTPUT/makepkg-$PRGNAM.log

cd $ADDPKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-addons-$VERSION-$SARCH-$BUILD$TAG.${PKGTYPE:-tgz} \
   2>&1 | tee $OUTPUT/makepkg-$PRGNAM-addons.log

Last edited by MDKDIO; 10-19-2021 at 05:22 AM. Reason: added info reg python version
 
1 members found this post helpful.
Old 10-19-2021, 04:23 AM   #4425
Lockywolf
Member
 
Registered: Jul 2007
Posts: 683

Rep: Reputation: 253Reputation: 253Reputation: 253
hdf5 SlackBuild has the following line:

Code:
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.settings
This is not correct, libhdf5.settings is actually required when building programs using hdf5, such as hdfview.
 
  


Reply

Tags
current, sbo, sbopkg, slackrepo



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Error building gst1-plugins-good 1.4.1 from SBO l0rddarkf0rce Slackware 4 10-06-2014 05:58 PM
[SOLVED] Failure building nvidia-kernel Slackbuild from SBo sysfce2 Slackware 7 07-02-2011 01:10 AM
problems building fontforge from SBo gtludwig Slackware 7 05-12-2010 01:52 PM
Pls help me take my 1st step! verysoon Fedora - Installation 2 12-12-2005 07:49 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 05:27 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration