-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathbuild.sh
95 lines (79 loc) · 2.67 KB
/
build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/bin/bash
# @Author: Your name
# @Date: 2024-09-05 10:14:54
# @Last Modified by: Your name
# @Last Modified time: 2024-10-08 08:02:40
#!/bin/sh
set -xeuo pipefail
mkdir -p $PREFIX/opt
cd $PREFIX/opt
# The Houdini installer expects `bc` to run, but does not fail when
# it is missing. Ensure that it is installed before running the installer
bc --help
# Example messages:
# Install Houdini
INSTALLER=$SRC_DIR/installer/houdini.install
# date of the EULA agreement, not the current date
EULAdate=2021-10-13
$INSTALLER \
--auto-install \
--accept-EULA $EULAdate \
--no-install-engine-maya \
--no-install-engine-unity \
--no-install-menus \
--no-install-bin-symlink \
--no-install-hfs-symlink \
--no-install-license \
--no-install-hqueue-server \
--no-root-check \
--make-dir $PREFIX/opt/houdini
HOUDINI_DIR=$PREFIX/opt/houdini
# The Houdini version without the build number
HOUDINI_VERSION=${PKG_VERSION%.*}
# Remove the documentation, it's not needed on the farm
rm -r $HOUDINI_DIR/houdini/help
# Create symlinks
mkdir -p $PREFIX/bin
for BINARY in houdini houdini-bin houdinicore houdinifx \
hscript hython hbatch karma karma_cc mantra mantra-bin \
vmantra vmantra-bin; do
ln -r -s $HOUDINI_DIR/bin/$BINARY $PREFIX/bin/$BINARY
done
# Install Houdini dependencies from local package manager
mkdir -p $SRC_DIR/download
cd $SRC_DIR/download
dnf download --resolve -y alsa-lib fontconfig libXScrnSaver libX* libGL libXcomposite libxkbcommon
# Install python deadline package
pip install deadline-cloud-for-houdini
for rpm_file in $(realpath $SRC_DIR/download/*.rpm); do
rpm2cpio "$rpm_file" | cpio -idm
done
# Copy .so's to Houdini installation
for so_file in $(find . -iname "*.so.*"); do
cp $so_file $HOUDINI_DIR/dsolib/.
done
# Script to set environment variables during activation
mkdir -p $PREFIX/etc/conda/activate.d
cat <<EOF > $PREFIX/etc/conda/activate.d/houdini-$PKG_VERSION-vars.sh
export "HOUDINI_LOCATION=\$CONDA_PREFIX/opt/houdini"
export "HOUDINI_VERSION=$HOUDINI_VERSION"
export "HOUDINI_BINARY_PATH=\$HOUDINI_LOCATION/bin"
export "HOUDINI_HOUDINI_PATH=\$HOUDINI_LOCATION/houdini"
export "HOUDINI_INCLUDE_PATH=\$HOUDINI_LOCATION/toolkit/include"
export "HOUDINI_LIBRARY_PATH=\$HOUDINI_LOCATION/bin"
export "HB=\$HOUDINI_LOCATION/dsolib"
export "LD_LIBRARY_PATH=\$HOUDINI_LOCATION/dsolib"
export "SESI_LMHOST=localhost"
EOF
mkdir -p $PREFIX/etc/conda/deactivate.d
cat <<EOF > $PREFIX/etc/conda/deactivate.d/houdini-$PKG_VERSION-vars.sh
unset HOUDINI_LIBRARY_PATH
unset HOUDINI_INCLUDE_PATH
unset HOUDINI_HOUDINI_PATH
unset HOUDINI_BINARY_PATH
unset HOUDINI_VERSION
unset HOUDINI_LOCATION
unset LD_LIBRARY_PATH
unset HB
unset SESI_LMHOST
EOF