[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55516] trunk/blender/build_files/ build_environment/install_deps.sh: Patch [#34680] Updated install_deps script, by Ejner Fergo (ejnersan), thanks!
Bastien Montagne
montagne29 at wanadoo.fr
Fri Mar 22 17:26:34 CET 2013
Revision: 55516
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55516
Author: mont29
Date: 2013-03-22 16:26:33 +0000 (Fri, 22 Mar 2013)
Log Message:
-----------
Patch [#34680] Updated install_deps script, by Ejner Fergo (ejnersan), thanks!
The script is updated with:
Arch Linux support
Numpy 1.7.0 final
Fedora 17 / 18 support
OpenSUSE 12.2 / 12.3 support
Use FFMPEG from RPM-distro repos
RPM-distro fixes
Removed Schroedinger codec
Fixes for Cmake/Scons config
Reviewed by Sergey and me.
Modified Paths:
--------------
trunk/blender/build_files/build_environment/install_deps.sh
Modified: trunk/blender/build_files/build_environment/install_deps.sh
===================================================================
--- trunk/blender/build_files/build_environment/install_deps.sh 2013-03-22 16:11:00 UTC (rev 55515)
+++ trunk/blender/build_files/build_environment/install_deps.sh 2013-03-22 16:26:33 UTC (rev 55516)
@@ -168,8 +168,7 @@
PYTHON_FORCE_REBUILD=false
PYTHON_SKIP=false
-#Could not get numpy-1.6.2 to compile with python-3.3
-NUMPY_VERSION="1.7.0rc1"
+NUMPY_VERSION="1.7.0"
NUMPY_VERSION_MIN="1.7"
NUMPY_SOURCE="http://sourceforge.net/projects/numpy/files/NumPy/$NUMPY_VERSION/numpy-$NUMPY_VERSION.tar.gz"
NUMPY_FORCE_REBUILD=false
@@ -224,8 +223,6 @@
# FFMPEG optional libs.
VORBIS_USE=false
VORBIS_DEV=""
-SCHRO_USE=false
-SCRHO_DEV=""
THEORA_USE=false
THEORA_DEV=""
XVID_USE=false
@@ -471,10 +468,10 @@
detect_distro() {
if [ -f /etc/debian_version ]; then
DISTRO="DEB"
+ elif [ -f /etc/arch-release ]; then
+ DISTRO="ARCH"
elif [ -f /etc/redhat-release -o /etc/SuSE-release ]; then
DISTRO="RPM"
- elif [ -f /etc/arch-release ]; then
- DISTRO="ARCH"
fi
}
@@ -1144,11 +1141,6 @@
extra="$extra --enable-libtheora"
fi
- # XXX At least under Debian, static schro gives problem at blender linking time... :/
- if $SCHRO_USE && ! $ALL_STATIC; then
- extra="$extra --enable-libschroedinger"
- fi
-
if $XVID_USE; then
extra="$extra --enable-libxvid"
fi
@@ -1362,14 +1354,6 @@
install_packages_DEB $VPX_DEV
VPX_USE=true
fi
-
- INFO ""
- SCHRO_DEV="libschroedinger-dev"
- check_package_DEB $SCHRO_DEV
- if [ $? -eq 0 ]; then
- install_packages_DEB $SCHRO_DEV
- SCHRO_USE=true
- fi
fi
INFO ""
@@ -1607,9 +1591,10 @@
# Enable non-free repositories for all flavours
rpm_flavour
if [ $RPM = "FEDORA" ]; then
+ _fedora_rel="`egrep "[0-9]{1,}" /etc/fedora-release -o`"
sudo yum -y localinstall --nogpgcheck \
- http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm \
- http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
+ http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$_fedora_rel.noarch.rpm \
+ http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$_fedora_rel.noarch.rpm
sudo yum -y update
@@ -1636,6 +1621,11 @@
fi
elif [ $RPM = "SUSE" ]; then
+ # Install this now to avoid using the version from packman repository...
+ if $WITH_ALL; then
+ install_packages_RPM libjack-devel
+ fi
+
_suse_rel="`grep VERSION /etc/SuSE-release | gawk '{print $3}'`"
sudo zypper ar -f http://packman.inode.at/suse/openSUSE_$_suse_rel/ packman
@@ -1647,11 +1637,10 @@
VORBIS_DEV="libvorbis-devel"
THEORA_DEV="libtheora-devel"
- _packages="gcc gcc-c++ make scons libpng-devel libtiff-devel \
- freetype-devel libX11-devel libXi-devel wget ncurses-devel \
+ _packages="gcc gcc-c++ make scons libtiff-devel freetype-devel libjpeg-devel\
+ libpng-devel libX11-devel libXi-devel wget ncurses-devel \
readline-devel $OPENJPEG_DEV openal-soft-devel \
- glew-devel yasm $THEORA_DEV $VORBIS_DEV SDL-devel fftw-devel \
- libjpeg-devel patch"
+ glew-devel yasm $THEORA_DEV $VORBIS_DEV patch"
OPENJPEG_USE=true
VORBIS_USE=true
@@ -1659,10 +1648,10 @@
if [ $RPM = "FEDORA" -o $RPM = "RHEL" ]; then
- _packages="$_packages libsqlite3-devel openexr-devel"
+ _packages="$_packages libsqlite3x-devel openexr-devel fftw-devel SDL-devel"
if $WITH_ALL; then
- _packages="$_packages jack-audio-connection-kit-devel libspnav-devel"
+ _packages="$_packages jack-audio-connection-kit-devel"
fi
INFO ""
@@ -1696,12 +1685,8 @@
elif [ $RPM = "SUSE" ]; then
- _packages="$_packages cmake sqlite3-devel libopenexr-devel"
+ _packages="$_packages cmake sqlite3-devel libopenexr-devel fftw3-devel libSDL-devel"
- if $WITH_ALL; then
- _packages="$_packages libjack-devel libspnav-devel"
- fi
-
INFO ""
install_packages_RPM $_packages
@@ -1740,16 +1725,10 @@
install_packages_RPM $VPX_DEV
VPX_USE=true
fi
-
INFO ""
- SCHRO_DEV="schroedinger-devel"
- check_package_RPM $SCHRO_DEV
- if [ $? -eq 0 ]; then
- install_packages_RPM $SCHRO_DEV
- SCHRO_USE=true
- fi
+ install_packages_RPM libspnav-devel
fi
-
+
INFO ""
if $PYTHON_SKIP; then
INFO "WARNING! Skipping Python installation, as requested..."
@@ -1822,22 +1801,27 @@
if $LLVM_SKIP; then
INFO "WARNING! Skipping LLVM installation, as requested (this also implies skipping OSL!)..."
else
- check_package_RPM llvm-$LLVM_VERSION-devel
+ # Problem compiling with LLVM 3.2 so match version 3.1 ...
+ check_package_version_match_RPM llvm $LLVM_VERSION
if [ $? -eq 0 ]; then
- install_packages_RPM llvm-$LLVM_VERSION-devel clang
+ if [ $RPM = "SUSE" ]; then
+ install_packages_RPM llvm-devel llvm-clang-devel
+ else
+ install_packages_RPM llvm-devel clang-devel
+ fi
have_llvm=true
LLVM_VERSION_FOUND=$LLVM_VERSION
else
#
# Better to compile it than use minimum version from repo...
#
- install_packages_RPM libffi-devel
- # LLVM can't find the fedora ffi header dir...
- _FFI_INCLUDE_DIR=`rpm -ql libffi-devel | grep -e ".*/ffi.h" | sed -r 's/(.*)\/ffi.h/\1/'`
- INFO ""
- compile_LLVM
- have_llvm=true
- LLVM_VERSION_FOUND=$LLVM_VERSION
+ install_packages_RPM libffi-devel
+ # LLVM can't find the fedora ffi header dir...
+ _FFI_INCLUDE_DIR=`rpm -ql libffi-devel | grep -e ".*/ffi.h" | sed -r 's/(.*)\/ffi.h/\1/'`
+ INFO ""
+ compile_LLVM
+ have_llvm=true
+ LLVM_VERSION_FOUND=$LLVM_VERSION
fi
fi
@@ -1872,17 +1856,289 @@
fi
fi
+ if $FFMPEG_SKIP; then
+ INFO "WARNING! Skipping FFMpeg installation, as requested..."
+ else
+ check_package_version_ge_RPM ffmpeg $FFMPEG_VERSION_MIN
+ if [ $? -eq 0 ]; then
+ install_packages_RPM ffmpeg ffmpeg-devel
+ else
+ INFO ""
+ compile_FFmpeg
+ fi
+ fi
+}
+
+
+get_package_version_ARCH() {
+ pacman -Si $1 | grep Version | tail -n 1 | sed -r 's/.*:\s+(([0-9]+\.?)+).*/\1/'
+}
+
+check_package_ARCH() {
+ r=`pacman -Si $1 | grep -c 'Description'`
+
+ if [ $r -ge 1 ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+check_package_version_match_ARCH() {
+ v=`get_package_version_ARCH $1`
+
+ if [ -z "$v" ]; then
+ return 1
+ fi
+
+ version_match $v $2
+ return $?
+}
+
+check_package_version_ge_ARCH() {
+ v=`get_package_version_ARCH $1`
+
+ if [ -z "$v" ]; then
+ return 1
+ fi
+
+ version_ge $v $2
+ return $?
+}
+
+install_packages_ARCH() {
+ sudo pacman -S --needed --noconfirm $@
+ if [ $? -ge 1 ]; then
+ ERROR "pacman failed to install requested packages, exiting."
+ exit 1
+ fi
+}
+
+install_ARCH() {
INFO ""
+ INFO "Installing dependencies for ARCH-based distribution"
+ INFO ""
+ INFO "`eval _echo "$COMMON_INFO"`"
+ INFO ""
+
+ read -p "Do you want to continue (Y/n)?"
+ [ "$(echo ${REPLY:=Y} | tr [:upper:] [:lower:])" != "y" ] && exit
+
+ # Check for sudo...
+ if [ ! -x "/usr/bin/sudo" ]; then
+ INFO ""
+ INFO "This script requires sudo but it is not installed."
+ INFO "Please setup sudo according to:"
+ INFO "https://wiki.archlinux.org/index.php/Sudo"
+ INFO "and try again."
+ INFO ""
+ exit
+ fi
+
+ sudo pacman -Sy
+
+ # These libs should always be available in arch official repository...
+ OPENJPEG_DEV="openjpeg"
+ VORBIS_DEV="libvorbis"
+ THEORA_DEV="libtheora"
+
+ _packages="base-devel scons cmake libxi glew libpng libtiff wget openal \
+ $OPENJPEG_DEV $VORBIS_DEV $THEORA_DEV openexr yasm sdl fftw"
+
+ OPENJPEG_USE=true
+ VORBIS_USE=true
+ THEORA_USE=true
+
+ if $WITH_ALL; then
+ # No libspacenav in official arch repos...
+ _packages="$_packages jack"
+ fi
+
+ INFO ""
+ install_packages_ARCH $_packages
+
+ INFO ""
+ X264_DEV="x264"
+ check_package_version_ge_ARCH $X264_DEV $X264_VERSION_MIN
+ if [ $? -eq 0 ]; then
+ install_packages_ARCH $X264_DEV
+ X264_USE=true
+ fi
+
+ if $WITH_ALL; then
+ INFO ""
+ XVID_DEV="xvidcore"
+ check_package_ARCH $XVID_DEV
+ if [ $? -eq 0 ]; then
+ install_packages_ARCH $XVID_DEV
+ XVID_USE=true
+ fi
+
+ INFO ""
+ MP3LAME_DEV="lame"
+ check_package_ARCH $MP3LAME_DEV
+ if [ $? -eq 0 ]; then
+ install_packages_ARCH $MP3LAME_DEV
+ MP3LAME_USE=true
+ fi
+
+ INFO ""
+ VPX_DEV="libvpx"
+ check_package_version_ge_ARCH $VPX_DEV $VPX_VERSION_MIN
+ if [ $? -eq 0 ]; then
+ install_packages_ARCH $VPX_DEV
+ VPX_USE=true
+ fi
+ fi
+
+ INFO ""
+ if $PYTHON_SKIP; then
+ INFO "WARNING! Skipping Python installation, as requested..."
+ else
+ check_package_version_ge_ARCH python $PYTHON_VERSION_MIN
+ if [ $? -eq 0 ]; then
+ install_packages_ARCH python
+ INFO ""
+ if $WITH_NUMPY; then
+ if $NUMPY_SKIP; then
+ INFO "WARNING! Skipping NumPy installation, as requested..."
+ else
+ check_package_version_ge_ARCH python-numpy $NUMPY_VERSION_MIN
+ if [ $? -eq 0 ]; then
+ install_packages_ARCH python-numpy
+ else
+ INFO "WARNING! Sorry, using python package but no numpy package available!"
+ fi
+ fi
+ fi
+ else
+ compile_Python
+ INFO ""
+ if $WITH_NUMPY; then
+ if $NUMPY_SKIP; then
+ INFO "WARNING! Skipping NumPy installation, as requested..."
+ else
+ compile_Numpy
+ fi
+ fi
+ fi
+ fi
+
+ INFO ""
+ if $BOOST_SKIP; then
+ INFO "WARNING! Skipping Boost installation, as requested..."
+ else
+ check_package_version_ge_ARCH boost $BOOST_VERSION_MIN
+ if [ $? -eq 0 ]; then
+ install_packages_ARCH boost
+ else
+ compile_Boost
+ fi
+ fi
+
+ INFO ""
+ if $OCIO_SKIP; then
+ INFO "WARNING! Skipping OpenColorIO installation, as requested..."
+ else
+ check_package_version_ge_ARCH opencolorio $OCIO_VERSION_MIN
+ if [ $? -eq 0 ]; then
+ install_packages_ARCH opencolorio yaml-cpp tinyxml
+ else
+ install_packages_ARCH yaml-cpp tinyxml
+ compile_OCIO
+ fi
+ fi
+
+ INFO ""
+ if $OIIO_SKIP; then
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list