graphics/luxrender: Migrated to luxcorerender 2.6.

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
klaatu 2022-03-08 07:36:17 +13:00 committed by Willy Sudiarto Raharjo
parent ca2eaec02a
commit efabb12379
No known key found for this signature in database
GPG key ID: 3F617144D7238786
13 changed files with 118 additions and 134 deletions

View file

@ -0,0 +1,40 @@
LuxCoreRender 3D rendering engine
LuxRender is a physically based and unbiased rendering engine.
LuxRender simulates the flow of light according to physical equations,
producing realistic images of photographic quality.
It is fully-featured, with a command-line application (`pyluxcoretools`)
as well as a GUI (`luxrenderui`), widespread render farm support,
instancing, volumetrics, motion blur, and more.
This package supports 64-bit systems only, because it installs the
pre-compiled LuxRender package. It is possible to install LuxRender on
32-bit systems, but it requires building from source.
Optional Depencencies:
------------
* cudatoolkit
* nvidia-driver
Install Options:
----------------
You must rename `/etc/OpenCL/vendors/mesa.icd` so LuxCore can locate
a usable OpenCL device.
Use the OPENCL variable when running this script if you want that
done for you (but if you uninstall this package, you must remember
to change it back yourself).
```
$ OPENCL=yes ./luxcorerender.SlackBuild
```
Blender Plugin
--------------
This package is for the stand-alone LuxCoreRender engine.
A Blender plugin is available from luxcorerender.org

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -1,5 +1,5 @@
if [ -x /usr/bin/xdg-mime ]; then
/usr/bin/xdg-mime install /usr/doc/luxrender-1.4/mime-lux.xml
/usr/bin/xdg-mime install /usr/doc/luxcorerender-2.6/mime-luxcore.xml
fi
if [ -x /usr/bin/update-desktop-database ]; then

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -3,7 +3,7 @@
# Slackware build script for luxrender
# Copyright 2013 Giorgio Peron Campodarsego, PD, Italy
# Copyright 2015 Klaatu Wellington, NZ
# Copyright 2015-22 Klaatu Wellington, NZ
#
# All rights reserved.
#
@ -26,25 +26,19 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=luxrender
SHORT=lux
VERSION=${VERSION:-1.4}
PRGNAM=luxcorerender
SHORTNAM=LuxCore
SHORT=luxcore
VERSION=${VERSION:-2.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
if [ -z $OPENCL ]; then
OPENCL="-OpenCL"
else
OPENCL=""
fi
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) echo "32 bit builds not supported." && exit 1
i?86) echo "This package is available for x86_64 only." && exit 1
;;
arm*) ARCH=arm
LIBDIRSUFFIX=""
arm*) echo "This package is available for x86_64 only." && exit 1
;;
*) ARCH=$( uname -m )
LIBDIRSUFFIX="64"
@ -52,9 +46,7 @@ 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 PRINT_PACKAGE_NAME is set, print name of package
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@ -64,28 +56,17 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -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 $SHORT-$VERSION
tar xvjf $CWD/$SHORT-v"$VERSION"-x86_64-sse2"$OPENCL".tar.bz2
cd $SHORT-v"$VERSION"-$(uname -m)-sse2"$OPENCL"
rm -rf $PRGNAM-$VERSION
mkdir $PRGNAM-$VERSION
tar xvjf $CWD/$PRGNAM-v"$VERSION"-linux64.tar.bz2 \
--strip-components=1 -C $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@ -93,48 +74,46 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# manual installation
mkdir -p $PKG/usr/bin/
cp luxconsole $PKG/usr/bin/
cp lux*r $PKG/usr/bin/
cp slg4 $PKG/usr/bin/
chmod +x $PKG/usr/bin/slg4
mkdir -p $PKG/usr/lib"$LIBDIRSUFFIX"
cp *.so $PKG/usr/lib"$LIBDIRSUFFIX"
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
# are we using default SBo location of blender?
if [ -z $BLENDER ]; then
BLENDER=$(egrep '^opt\/blender\/2\....?\/scripts\/$' /var/log/packages/blender-*_SBo 2> /dev/null) || BLENDER="no"
fi
if [ X"$BLENDER" != "Xno" ]; then
mkdir -p $PKG/$BLENDER
unzip luxblend/luxblend.zip -d $PKG/$BLENDER/addons/
unzip luxblend/luxblend-presets.zip -d $PKG/$BLENDER/presets/
else
mkdir -p $PKG/usr/share/$PRGNAM-$VERSION/luxblend
cp luxblend/luxblend.zip $PKG/usr/share/$PRGNAM-$VERSION/luxblend
cp luxblend/luxblend-presets.zip $PKG/usr/share/$PRGNAM-$VERSION/luxblend
## install to opt
mkdir $PKG/opt
mv $TMP/$PRGNAM-$VERSION $PKG/opt/$PRGNAM-$VERSION
# if user requests it using OPENCL=yes, then set doinst.sh to
# rename dummy OpenCL definition so Lux can find valid OpenCL device
if [ $OPENCL ]; then
cat <<EOF >>$CWD/doinst.sh
if [ -e /etc/OpenCL/vendors/mesa.icd ]; then
mv /etc/OpenCL/vendors/mesa.icd /etc/OpenCL/vendors/mesa.icd-dummy
fi
EOF
fi
# desktop conveniences
mkdir -p $PKG/usr/share/applications
mkdir -p $PKG/usr/share/$PRGNAM-$VERSION
cp -r examples $PKG/usr/share/$PRGNAM-$VERSION
cp $CWD/$PRGNAM.desktop $PKG/usr/share/applications
cp $CWD/luxcoreui.desktop $PKG/usr/share/applications
cp $CWD/pyluxcoretools.desktop $PKG/usr/share/applications
#icons
mkdir -p $PKG/usr/share/icons/hicolor/scalable/mimetypes
cp $CWD/application-x-lux.svg $PKG/usr/share/icons/hicolor/scalable/mimetypes
cp $CWD/luxrender.svg $PKG/usr/share/icons/hicolor/scalable/apps
# icons
mkdir -p $PKG/usr/share/icons/hicolor/scalable/{mimetypes,apps}
cp $CWD/application-x-$SHORT.svg \
$PKG/usr/share/icons/hicolor/scalable/mimetypes
cp $CWD/$SHORT.svg $PKG/usr/share/icons/hicolor/scalable/apps
#mimetypes
# mimetypes
mkdir -p $PKG/usr/share/mime/application/
# no front-end is provided for it, so
# provide a command to the Python zipapp
mkdir $PKG/usr/bin/
cat $CWD/pyluxcoretools.sh > $PKG/usr/bin/pyluxcoretools
chmod +x $PKG/usr/bin/pyluxcoretools
# docs
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp README $PKG/usr/doc/$PRGNAM-$VERSION
mv README.md AUTHORS.txt COPYING.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/mime-"$SHORT".xml > $PKG/usr/doc/$PRGNAM-$VERSION/mime-"$SHORT".xml

View file

@ -0,0 +1,10 @@
PRGNAM="luxrender"
VERSION="2.6"
HOMEPAGE="https://luxcorerender.org"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
DOWNLOAD_x86_64="https://github.com/LuxCoreRender/LuxCore/releases/download/luxcorerender_v2.6/luxcorerender-v2.6-linux64.tar.bz2"
MD5SUM_x86_64="d4a2166db693751d52d8234c0e6fbe47"
REQUIRES=""
MAINTAINER="Klaatu"
EMAIL="klaatu@member.fsf.org"

View file

@ -0,0 +1,9 @@
[Desktop Entry]
Name=Lux Core UI
GenericName=Lux Core UI
Comment=LuxCore rendering
Exec=LD_LIBRARY_PATH=/usr/lib64/luxcorerender-2.6 /opt/luxcorerender-2.6/luxcoreui
Icon=/usr/share/icons/hicolor/scalable/apps/luxcore.svg
Terminal=false
Type=Application
Categories=Graphics;3DGraphics;

View file

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<mime-info
xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="application/x-lux">
<mime-type type="application/x-luxcore">
<comment>LuxRender File</comment>
<glob pattern="*.lxm"/>
<glob pattern="*.lxo"/>

View file

@ -0,0 +1,12 @@
#!/bin/sh
if [ "$1" = "--help" -o "$1" = "-h" ]; then
PYTHONPATH=$PYTHONPATH:/opt/luxcorerender-2.6 python3 \
/opt/luxcorerender-2.6/pyluxcoretools.zip \
help
exit
fi
PYTHONPATH=$PYTHONPATH:/opt/luxcorerender-2.6 python3 \
/opt/luxcorerender-2.6/pyluxcoretools.zip "$@"

View file

@ -13,7 +13,7 @@ luxrender: Based on state of the art algorithms, LuxRender simulates the flow
luxrender: of light according to physical equations, thus producing realistic
luxrender: images of photographic quality.
luxrender:
luxrender: homepage: http://www.luxrender.net
luxrender: homepage: http://www.luxcorerender.org
luxrender:
luxrender:
luxrender:

View file

@ -1,45 +0,0 @@
luxrender (rendering engine)
LuxRender is a physically based and unbiased rendering engine.
Based on state of the art algorithms, LuxRender simulates the flow of
light according to physical equations, thus producing realistic images
of photographic quality. It is fully-featured, with a command line
application as well as a GUI, widespread render farm support, instancing,
volumetrics, motion blur, and more.
This package supports 64-bit systems only, because it installs the
pre-compiled LuxRender package. It is possible to install LuxRender on
32-bit systems, but it requires building from source.
Optional Depencencies:
------------
cudatoolkit
nvidia-driver
Install Options:
----------------
To install without OpenCL support, launch this script like this:
$ OPENCL=no ./luxrender.SlackBuild
Blender Plugin
--------------
By default, this SlackBuild:
1. Attempts to auto-detect where your Blender install is by grepping
/var/log/packages.
2. Attempts to install the Blender plugin to that location.
If you do not want it to attempt to do this, do:
$ BLENDER=no ./luxrender.SlackBuild
The Blender plugin will be copied to /usr/share/luxrender-VERSION
If you do have Blender, but in a different path than the SlackBuilds.org
path, or not listed in /var/log/packages for some reason, then you can
hardcode the path:
$ BLENDER=/path/to/blender/scripts ./luxrender.SlackBuild
IMPORTANT: Point to your Blender **scripts** directory.

View file

@ -1,9 +0,0 @@
[Desktop Entry]
Name=Lux
GenericName=Lux Renderer
Comment=LuxRender unbiased rendering system
Exec=luxrender
Icon=/usr/share/pixmaps/luxrender.svg
Terminal=false
Type=Application
Categories=Graphics;3DGraphics;

View file

@ -1,12 +0,0 @@
PRGNAM="luxrender"
VERSION="1.4"
HOMEPAGE="http://www.luxrender.net/"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
DOWNLOAD_x86_64="https://slackware.uk/~urchlay/src/lux-v1.4-x86_64-sse2-OpenCL.tar.bz2 \
https://slackware.uk/~urchlay/src/lux-v1.4-x86_64-sse2.tar.bz2"
MD5SUM_x86_64="6635929c033c55c4300c8fc928fa1647 \
ec37591dd3efca4c0ab2051bcc9e64e1"
REQUIRES="FreeImage"
MAINTAINER="Klaatu"
EMAIL="klaatu@member.fsf.org"