summaryrefslogtreecommitdiffstats
path: root/libraries/OptiX-Headers
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/OptiX-Headers')
-rw-r--r--libraries/OptiX-Headers/OptiX-Headers.SlackBuild90
-rw-r--r--libraries/OptiX-Headers/OptiX-Headers.info10
-rw-r--r--libraries/OptiX-Headers/README15
-rw-r--r--libraries/OptiX-Headers/slack-desc19
4 files changed, 134 insertions, 0 deletions
diff --git a/libraries/OptiX-Headers/OptiX-Headers.SlackBuild b/libraries/OptiX-Headers/OptiX-Headers.SlackBuild
new file mode 100644
index 0000000000..393a9b34d7
--- /dev/null
+++ b/libraries/OptiX-Headers/OptiX-Headers.SlackBuild
@@ -0,0 +1,90 @@
+#!/bin/bash
+
+# Slackware build script for OptiX-Headers
+
+# Copyright 2023, Tobias M. Monckton, Fairhope, Alabama.
+# 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)
+
+PRGNAM=OptiX-Headers
+VERSION=${VERSION:-7.6}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+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}
+
+# Yes, the "if" part of the following conditional winds up being quite fugly,
+# but due to the nature of how OptiX headers are used (installed under /opt)
+# there's no need for either a SRCARCH or a LIBDIRSUFFIX, hence the empty
+# conditional statement.
+if [ "$ARCH" = "x86_64" ]; then
+ :
+else
+ echo "This architecture is unsupported by OptiX. Aborting."
+ exit 1
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+
+cd $PKG
+unzip $CWD/OptiX-7.6-Include.zip
+chown -R root:root .
+# Make sure all include file directories have only the proper permissions.
+find . -type d -exec chmod 0755 {} \;
+
+mkdir -p $PKG/opt/OptiX-Headers-7.6
+mkdir -p $PKG/opt/OptiX-Headers-7.6/internal
+
+install -m0644 -t "$PKG/opt/OptiX-Headers-7.6/" *.h
+install -m0644 -t "$PKG/opt/OptiX-Headers-7.6/internal/" internal/*.h
+
+# prevent duplicate copies of headers
+
+rm -f *.h
+rm -r -f internal/
+
+mkdir -p $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
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
+
diff --git a/libraries/OptiX-Headers/OptiX-Headers.info b/libraries/OptiX-Headers/OptiX-Headers.info
new file mode 100644
index 0000000000..51ccc837a2
--- /dev/null
+++ b/libraries/OptiX-Headers/OptiX-Headers.info
@@ -0,0 +1,10 @@
+PRGNAM="OptiX-Headers"
+VERSION="7.6"
+HOMEPAGE="https://developer.nvidia.com/optix"
+DOWNLOAD="UNSUPPORTED"
+MD5SUM=""
+DOWNLOAD_x86_64="https://developer.download.nvidia.com/redist/optix/v7.6/OptiX-7.6-Include.zip"
+MD5SUM_x86_64="32f170454a9a6c944854ca6fef8c5ec1"
+REQUIRES="%README%"
+MAINTAINER="Tobias M. Monckton"
+EMAIL="tmmonckton@gmail.com"
diff --git a/libraries/OptiX-Headers/README b/libraries/OptiX-Headers/README
new file mode 100644
index 0000000000..7ce38053c9
--- /dev/null
+++ b/libraries/OptiX-Headers/README
@@ -0,0 +1,15 @@
+These are the headers for NVIDIA's OptiX ray tracing API. Usage of this
+API allows for an application to offload its ray tracing calculations
+to the system's onboard NVIDIA GPU card, potentially drastically
+render speeds.
+
+Currently, this is only present in the SlackBuilds.org repository as an
+optional dependency for graphics/Blender. If this is installed, the
+graphics/Blender SlackBuild will automatically detect the OptiX headers
+and Blender will be built with support for OptiX, allowing to use it
+for rendering, as well as GPGPU-accelerated image denoising.
+
+This SlackBuild also requires a recent CUDA toolkit (probably newer
+than the current one available in the SBo repository). It will install
+without it, it just will be useless without it.
+
diff --git a/libraries/OptiX-Headers/slack-desc b/libraries/OptiX-Headers/slack-desc
new file mode 100644
index 0000000000..35214fae9f
--- /dev/null
+++ b/libraries/OptiX-Headers/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 lasat 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 ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+OptiX-Headers: OptiX-Headers (Headers for NVIDIA's ray-tracing API)
+OptiX-Headers:
+OptiX-Headers: Header files for NVIDIA's OptiX ray-tracing API. Any application
+OptiX-Headers: developed using these can outsource its ray-tracing to the onboard
+OptiX-Headers: NVIDIA GPU, potentially providing a dramatic performance increase,
+OptiX-Headers: especially when compared to CPU-bound ray-tracing operations.
+OptiX-Headers:
+OptiX-Headers: https://developer.nvidia.com/optix
+OptiX-Headers:
+OptiX-Headers:
+OptiX-Headers: