mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-29 11:38:52 +02:00
Blender: bump version, updated patchset (#1130)
This commit is contained in:
@@ -1,94 +0,0 @@
|
||||
SUMMARY="3D Creation/Animation/Publishing System"
|
||||
DESCRIPTION="
|
||||
Blender is the free and open source 3D creation suite. It supports the entirety \
|
||||
of the 3D pipeline—modeling, rigging, animation, simulation, rendering, \
|
||||
compositing and motion tracking, even video editing and game creation. \
|
||||
Advanced users employ Blender’s API for Python scripting to customize the \
|
||||
application and write specialized tools; often these are included in Blender’s \
|
||||
future releases. Blender is well suited to individuals and small studios who \
|
||||
benefit from its unified pipeline and responsive development process.
|
||||
"
|
||||
HOMEPAGE="http://www.blender.org"
|
||||
SOURCE_URI="http://download.blender.org/source/blender-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="5b99649a89bdcd53bef8e668fbf2be5b3e9611f52f9e9c5f7e7c814c778e5835"
|
||||
REVISION="1"
|
||||
LICENSE="GNU GPL v2"
|
||||
COPYRIGHT="2002-2009 Blender Foundation"
|
||||
ARCHITECTURES="!x86 x86_64"
|
||||
PYTHON_VERSION="3.5"
|
||||
|
||||
PATCHES="blender-$portVersion.patchset"
|
||||
|
||||
PROVIDES="
|
||||
blender = $portVersion compat >= 2
|
||||
cmd:blender
|
||||
cmd:blender_thumbnailer.py
|
||||
"
|
||||
|
||||
REQUIRES="
|
||||
haiku
|
||||
lib:libfreetype$secondaryArchSuffix
|
||||
lib:libgl$secondaryArchSuffix
|
||||
lib:libglew$secondaryArchSuffix
|
||||
lib:libglu$secondaryArchSuffix
|
||||
lib:libjpeg$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libtiff$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
lib:libopenimageio$secondaryArchSuffix
|
||||
lib:libpython${PYTHON_VERSION}m$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku_devel
|
||||
devel:libfreetype$secondaryArchSuffix
|
||||
devel:libgl$secondaryArchSuffix
|
||||
devel:libglew$secondaryArchSuffix
|
||||
devel:libglu$secondaryArchSuffix
|
||||
devel:libjpeg$secondaryArchSuffix
|
||||
devel:libpng16$secondaryArchSuffix
|
||||
devel:libtiff$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
devel:libopenimageio$secondaryArchSuffix
|
||||
devel:libpython${PYTHON_VERSION}m$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_PREREQUIRES="
|
||||
python3_numpy
|
||||
python3_requests
|
||||
cmd:python${PYTHON_VERSION}
|
||||
cmd:cmake
|
||||
cmd:make
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
mkdir -p build_haiku
|
||||
make $jobArgs BUILD_DIR=`pwd`/build_haiku \
|
||||
BUILD_CMAKE_ARGS="-DPYTHON_INCLUDE_DIR=/system/develop/headers/python${PYTHON_VERSION}m/ \
|
||||
-DPYTHON_LIBRARY=/system/lib/libpython${PYTHON_VERSION}m.so.1.0 \
|
||||
-DPYTHON_EXECUTABLE=/bin/python${PYTHON_VERSION} \
|
||||
-DWITH_CYCLES=OFF \
|
||||
-DWITH_BOOST=OFF \
|
||||
-DWITH_PYTHON_INSTALL=OFF \
|
||||
-DWITH_PYTHON_INSTALL_NUMPY=OFF \
|
||||
-DWITH_PYTHON_INSTALL_REQUESTS=OFF \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=$prefix"
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cd build_haiku
|
||||
make install
|
||||
|
||||
mkdir -p $binDir $dataDir $docDir $appsDir
|
||||
mv $prefix/blender $prefix/blender-thumbnailer.py $binDir/
|
||||
mv $prefix/GPL-license.txt $prefix/LICENSE-bfont.ttf.txt \
|
||||
$prefix/Python-license.txt $prefix/copyright.txt $prefix/readme.html \
|
||||
$prefix/blender.svg $docDir
|
||||
mv $prefix/$portVersion/* $dataDir/
|
||||
mv $prefix/blender.desktop $appsDir/
|
||||
rmdir $prefix/$portVersion
|
||||
}
|
||||
121
media-gfx/blender/blender-2.78a.recipe
Normal file
121
media-gfx/blender/blender-2.78a.recipe
Normal file
@@ -0,0 +1,121 @@
|
||||
SUMMARY="3D Creation/Animation/Publishing System"
|
||||
DESCRIPTION="Blender is the free and open source 3D creation suite. It \
|
||||
supports the entirety of the 3D pipeline—modeling, rigging, animation, \
|
||||
simulation, rendering, compositing and motion tracking, even video editing \
|
||||
and game creation.
|
||||
Advanced users employ Blender’s API for Python scripting to customize the \
|
||||
application and write specialized tools; often these are included in Blender’s \
|
||||
future releases. Blender is well suited to individuals and small studios who \
|
||||
benefit from its unified pipeline and responsive development process."
|
||||
HOMEPAGE="http://www.blender.org"
|
||||
COPYRIGHT="2002-2017 Blender Foundation"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="http://download.blender.org/source/blender-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="014a14b1ba00c0e651f106469b2e5dd444f11be5a7af48056f0ed59de90cceaf"
|
||||
PATCHES="blender-$portVersion.patchset"
|
||||
ARCHITECTURES="!x86_gcc2 !x86 x86_64"
|
||||
|
||||
PYTHON_VERSION="3.5"
|
||||
PORT_SUBFOLDER=`echo $portVersion | sed 's/.$//'`
|
||||
INSTALL_PATH="$appsDir/Blender"
|
||||
|
||||
PROVIDES="
|
||||
blender = $portVersion compat >= 2
|
||||
cmd:blender
|
||||
cmd:blender_thumbnailer.py
|
||||
"
|
||||
REQUIRES="
|
||||
haiku
|
||||
lib:libfreetype
|
||||
lib:libgcc_s
|
||||
lib:libgl
|
||||
lib:libglew
|
||||
lib:libglu
|
||||
lib:libgomp
|
||||
lib:libhalf
|
||||
lib:libiex_2_2
|
||||
lib:libilmimf_2_2
|
||||
lib:libilmthread_2_2
|
||||
lib:libimath_2_2
|
||||
lib:libjpeg
|
||||
lib:libopenimageio
|
||||
lib:libpng16
|
||||
lib:libsdl2_2.0
|
||||
lib:libtiff
|
||||
lib:libz
|
||||
lib:libpython${PYTHON_VERSION}m
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku_devel
|
||||
devel:libfreetype
|
||||
devel:libgl
|
||||
devel:libglew
|
||||
devel:libglu
|
||||
devel:libgomp
|
||||
devel:libhalf
|
||||
devel:libiex_2_2
|
||||
devel:libilmimf_2_2
|
||||
devel:libilmthread_2_2
|
||||
devel:libimath_2_2
|
||||
devel:libjpeg
|
||||
devel:libopenimageio
|
||||
devel:libpng16
|
||||
devel:libsdl2_2.0
|
||||
devel:libtiff
|
||||
devel:libz
|
||||
devel:libpython${PYTHON_VERSION}m
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:git
|
||||
cmd:gcc
|
||||
cmd:ld
|
||||
cmd:make
|
||||
cmd:python${PYTHON_VERSION}
|
||||
cmd:sed
|
||||
#python3_numpy #maybe later
|
||||
#python3_requests #maybe later
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
mkdir -p build_haiku
|
||||
cd build_haiku
|
||||
|
||||
cmake .. \
|
||||
-DPYTHON_VERSION=${PYTHON_VERSION} \
|
||||
-DPYTHON_INCLUDE_DIR=/system/develop/headers/python${PYTHON_VERSION}m/ \
|
||||
-DPYTHON_LIBRARY=/system/lib/libpython${PYTHON_VERSION}m.so.1.0 \
|
||||
-DPYTHON_EXECUTABLE=/bin/python${PYTHON_VERSION} \
|
||||
-DWITH_CYCLES:BOOL=OFF \
|
||||
-DWITH_BOOST:BOOL=OFF \
|
||||
-DWITH_PYTHON_INSTALL:BOOL=OFF \
|
||||
-DWITH_PYTHON_INSTALL_NUMPY:BOOL=OFF \
|
||||
-DWITH_PYTHON_INSTALL_REQUESTS:BOOLv=OFF \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=$INSTALL_PATH \
|
||||
-DWITH_SDL:BOOL=ON \
|
||||
-DWITH_GHOST_SDL:BOOL=ON \
|
||||
-Wno-dev
|
||||
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cd build_haiku
|
||||
make install
|
||||
|
||||
cd $INSTALL_PATH
|
||||
mkdir -p $binDir $docDir/blender
|
||||
|
||||
mv GPL-license.txt GPL3-license.txt \
|
||||
LICENSE-bfont.ttf.txt jemalloc-license.txt \
|
||||
Python-license.txt copyright.txt readme.html \
|
||||
blender.svg ocio-license.txt $docDir/blender
|
||||
|
||||
rm -rf blender.desktop
|
||||
|
||||
strip blender
|
||||
}
|
||||
682
media-gfx/blender/patches/blender-2.78a.patchset
Normal file
682
media-gfx/blender/patches/blender-2.78a.patchset
Normal file
@@ -0,0 +1,682 @@
|
||||
From ef7aeda91a0f2f5916e04cab369a744014e9d799 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Wed, 1 Feb 2017 21:55:43 +0100
|
||||
Subject: [PATCH] Haiku supporting patch
|
||||
|
||||
---
|
||||
CMakeLists.txt | 4 +-
|
||||
build_files/cmake/Modules/FindFftw3.cmake | 2 +
|
||||
build_files/cmake/Modules/FindGLEW.cmake | 2 +
|
||||
build_files/cmake/Modules/FindIcuLinux.cmake | 2 +
|
||||
build_files/cmake/Modules/FindLZO.cmake | 2 +
|
||||
build_files/cmake/Modules/FindOpenColorIO.cmake | 2 +
|
||||
build_files/cmake/Modules/FindOpenEXR.cmake | 2 +
|
||||
build_files/cmake/Modules/FindOpenImageIO.cmake | 2 +
|
||||
build_files/cmake/Modules/FindOpenJPEG.cmake | 2 +
|
||||
build_files/cmake/Modules/FindPCRE.cmake | 2 +
|
||||
build_files/cmake/Modules/FindSDL2.cmake | 5 +-
|
||||
build_files/cmake/Modules/FindSndFile.cmake | 2 +
|
||||
build_files/cmake/Modules/FindXML2.cmake | 2 +
|
||||
build_files/cmake/macros.cmake | 3 +
|
||||
build_files/cmake/platform/platform_unix.cmake | 6 +-
|
||||
extern/glog/src/config.h | 2 +
|
||||
extern/glog/src/config_haiku.h | 172 +++++++++++++++++++++
|
||||
intern/guardedalloc/intern/mallocn_intern.h | 3 +
|
||||
intern/libmv/libmv/numeric/numeric.h | 2 +-
|
||||
source/blender/blenkernel/intern/bvhutils.c | 13 ++
|
||||
source/blender/blenkernel/intern/font.c | 14 ++
|
||||
source/blender/blenkernel/intern/particle_system.c | 14 ++
|
||||
source/blender/blenkernel/intern/subsurf_ccg.c | 15 ++
|
||||
source/blender/blenlib/BLI_sys_types.h | 2 +-
|
||||
source/blender/blenlib/BLI_threads.h | 4 +
|
||||
source/blender/blenlib/intern/fileops.c | 12 ++
|
||||
source/blender/blenlib/intern/storage.c | 2 +-
|
||||
27 files changed, 288 insertions(+), 7 deletions(-)
|
||||
create mode 100644 extern/glog/src/config_haiku.h
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 578f913..73a17e6 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -193,7 +193,7 @@ endif()
|
||||
# Options
|
||||
|
||||
# First platform spesific non-cached vars
|
||||
-if(UNIX AND NOT APPLE)
|
||||
+if(UNIX AND NOT (APPLE OR HAIKU))
|
||||
set(WITH_X11 ON)
|
||||
endif()
|
||||
|
||||
@@ -858,7 +858,7 @@ set(CC_REMOVE_STRICT_FLAGS)
|
||||
|
||||
# libraries to link the binary with passed to target_link_libraries()
|
||||
# known as LLIBS to scons
|
||||
-set(PLATFORM_LINKLIBS "")
|
||||
+set(PLATFORM_LINKLIBS "-lnetwork")
|
||||
|
||||
# Added to linker flags in setup_liblinks
|
||||
# - CMAKE_EXE_LINKER_FLAGS
|
||||
diff --git a/build_files/cmake/Modules/FindFftw3.cmake b/build_files/cmake/Modules/FindFftw3.cmake
|
||||
index 197d4aa..bb51040 100644
|
||||
--- a/build_files/cmake/Modules/FindFftw3.cmake
|
||||
+++ b/build_files/cmake/Modules/FindFftw3.cmake
|
||||
@@ -33,6 +33,8 @@ SET(_fftw3_SEARCH_DIRS
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
+ /system/lib # Haiku
|
||||
+ /system/develop/headers # Haiku
|
||||
)
|
||||
|
||||
FIND_PATH(FFTW3_INCLUDE_DIR
|
||||
diff --git a/build_files/cmake/Modules/FindGLEW.cmake b/build_files/cmake/Modules/FindGLEW.cmake
|
||||
index 2f098d5..6910661 100644
|
||||
--- a/build_files/cmake/Modules/FindGLEW.cmake
|
||||
+++ b/build_files/cmake/Modules/FindGLEW.cmake
|
||||
@@ -30,6 +30,8 @@ ENDIF()
|
||||
SET(_glew_SEARCH_DIRS
|
||||
${GLEW_ROOT_DIR}
|
||||
/usr/local
|
||||
+ /system/lib # Haiku
|
||||
+ /system/develop/headers # Haiku
|
||||
)
|
||||
|
||||
FIND_PATH(GLEW_INCLUDE_DIR
|
||||
diff --git a/build_files/cmake/Modules/FindIcuLinux.cmake b/build_files/cmake/Modules/FindIcuLinux.cmake
|
||||
index e0e5873..cca1026 100644
|
||||
--- a/build_files/cmake/Modules/FindIcuLinux.cmake
|
||||
+++ b/build_files/cmake/Modules/FindIcuLinux.cmake
|
||||
@@ -36,6 +36,8 @@ SET(_icu_SEARCH_DIRS
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
+ /system/lib # Haiku
|
||||
+ /system/develop/headers # Haiku
|
||||
)
|
||||
|
||||
# We don't need includes, only libs to link against...
|
||||
diff --git a/build_files/cmake/Modules/FindLZO.cmake b/build_files/cmake/Modules/FindLZO.cmake
|
||||
index a21aa0a..9086456 100644
|
||||
--- a/build_files/cmake/Modules/FindLZO.cmake
|
||||
+++ b/build_files/cmake/Modules/FindLZO.cmake
|
||||
@@ -33,6 +33,8 @@ SET(_lzo_SEARCH_DIRS
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
+ /system/lib # Haiku
|
||||
+ /system/develop/headers # Haiku
|
||||
)
|
||||
|
||||
FIND_PATH(LZO_INCLUDE_DIR lzo/lzo1x.h
|
||||
diff --git a/build_files/cmake/Modules/FindOpenColorIO.cmake b/build_files/cmake/Modules/FindOpenColorIO.cmake
|
||||
index bd1ecac..e7495c7 100644
|
||||
--- a/build_files/cmake/Modules/FindOpenColorIO.cmake
|
||||
+++ b/build_files/cmake/Modules/FindOpenColorIO.cmake
|
||||
@@ -40,6 +40,8 @@ SET(_opencolorio_SEARCH_DIRS
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
/opt/lib/ocio
|
||||
+ /system/lib # Haiku
|
||||
+ /system/develop/headers # Haiku
|
||||
)
|
||||
|
||||
FIND_PATH(OPENCOLORIO_INCLUDE_DIR
|
||||
diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake
|
||||
index 41e60a7..021d9de 100644
|
||||
--- a/build_files/cmake/Modules/FindOpenEXR.cmake
|
||||
+++ b/build_files/cmake/Modules/FindOpenEXR.cmake
|
||||
@@ -52,6 +52,8 @@ SET(_openexr_SEARCH_DIRS
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
/opt/lib/openexr
|
||||
+ /system/lib # Haiku
|
||||
+ /system/develop/headers # Haiku
|
||||
)
|
||||
|
||||
FIND_PATH(OPENEXR_INCLUDE_DIR
|
||||
diff --git a/build_files/cmake/Modules/FindOpenImageIO.cmake b/build_files/cmake/Modules/FindOpenImageIO.cmake
|
||||
index 789097d..86e362d 100644
|
||||
--- a/build_files/cmake/Modules/FindOpenImageIO.cmake
|
||||
+++ b/build_files/cmake/Modules/FindOpenImageIO.cmake
|
||||
@@ -36,6 +36,8 @@ SET(_openimageio_SEARCH_DIRS
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
/opt/lib/oiio
|
||||
+ /system/lib # Haiku
|
||||
+ /system/develop/headers # Haiku
|
||||
)
|
||||
|
||||
FIND_PATH(OPENIMAGEIO_INCLUDE_DIR
|
||||
diff --git a/build_files/cmake/Modules/FindOpenJPEG.cmake b/build_files/cmake/Modules/FindOpenJPEG.cmake
|
||||
index d765103..48bd9e1 100644
|
||||
--- a/build_files/cmake/Modules/FindOpenJPEG.cmake
|
||||
+++ b/build_files/cmake/Modules/FindOpenJPEG.cmake
|
||||
@@ -33,6 +33,8 @@ SET(_openjpeg_SEARCH_DIRS
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
+ /system/lib # Haiku
|
||||
+ /system/develop/headers # Haiku
|
||||
)
|
||||
|
||||
FIND_PATH(OPENJPEG_INCLUDE_DIR
|
||||
diff --git a/build_files/cmake/Modules/FindPCRE.cmake b/build_files/cmake/Modules/FindPCRE.cmake
|
||||
index ff4b726..999d404 100644
|
||||
--- a/build_files/cmake/Modules/FindPCRE.cmake
|
||||
+++ b/build_files/cmake/Modules/FindPCRE.cmake
|
||||
@@ -33,6 +33,8 @@ SET(_pcre_SEARCH_DIRS
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
+ /system/lib # Haiku
|
||||
+ /system/develop/headers # Haiku
|
||||
)
|
||||
|
||||
FIND_PATH(PCRE_INCLUDE_DIR pcre.h
|
||||
diff --git a/build_files/cmake/Modules/FindSDL2.cmake b/build_files/cmake/Modules/FindSDL2.cmake
|
||||
index 2a835cf..75de7c6 100644
|
||||
--- a/build_files/cmake/Modules/FindSDL2.cmake
|
||||
+++ b/build_files/cmake/Modules/FindSDL2.cmake
|
||||
@@ -35,6 +35,9 @@ SET(_sdl2_SEARCH_DIRS
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
+ /system/lib # Haiku
|
||||
+ /system/develop/headers # Haiku
|
||||
+
|
||||
)
|
||||
|
||||
FIND_PATH(SDL2_INCLUDE_DIR
|
||||
@@ -43,7 +46,7 @@ FIND_PATH(SDL2_INCLUDE_DIR
|
||||
HINTS
|
||||
${_sdl2_SEARCH_DIRS}
|
||||
PATH_SUFFIXES
|
||||
- include/SDL2 include
|
||||
+ include/SDL2 include SDL2
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SDL2_LIBRARY
|
||||
diff --git a/build_files/cmake/Modules/FindSndFile.cmake b/build_files/cmake/Modules/FindSndFile.cmake
|
||||
index 1b685ea..a7c2022 100644
|
||||
--- a/build_files/cmake/Modules/FindSndFile.cmake
|
||||
+++ b/build_files/cmake/Modules/FindSndFile.cmake
|
||||
@@ -33,6 +33,8 @@ SET(_sndfile_SEARCH_DIRS
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
+ /system/lib # Haiku
|
||||
+ /system/develop/headers # Haiku
|
||||
)
|
||||
|
||||
FIND_PATH(SNDFILE_INCLUDE_DIR sndfile.h
|
||||
diff --git a/build_files/cmake/Modules/FindXML2.cmake b/build_files/cmake/Modules/FindXML2.cmake
|
||||
index 40cc332..09237ee 100644
|
||||
--- a/build_files/cmake/Modules/FindXML2.cmake
|
||||
+++ b/build_files/cmake/Modules/FindXML2.cmake
|
||||
@@ -33,6 +33,8 @@ SET(_xml2_SEARCH_DIRS
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
+ /system/lib # Haiku
|
||||
+ /system/develop/headers # Haiku
|
||||
)
|
||||
|
||||
FIND_PATH(XML2_INCLUDE_DIR libxml2/libxml/xpath.h
|
||||
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
|
||||
index 5a67ac9..b518956 100644
|
||||
--- a/build_files/cmake/macros.cmake
|
||||
+++ b/build_files/cmake/macros.cmake
|
||||
@@ -1532,6 +1532,7 @@ function(find_python_package
|
||||
PATH_SUFFIXES
|
||||
site-packages
|
||||
dist-packages
|
||||
+ vendor-packages
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
@@ -1542,6 +1543,8 @@ function(find_python_package
|
||||
"'${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/site-packages/${package}', "
|
||||
"'${PYTHON_LIBPATH}/python${PYTHON_VERSION}/dist-packages/${package}', "
|
||||
"'${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/dist-packages/${package}', "
|
||||
+ "'${PYTHON_LIBPATH}/python${PYTHON_VERSION}/vendor-packages/${package}', "
|
||||
+ "'${PYTHON_LIBPATH}/python${_PY_VER_MAJOR}/vendor-packages/${package}', "
|
||||
"\n"
|
||||
"The 'WITH_PYTHON_INSTALL_${_upper_package}' option will be ignored when installing Python.\n"
|
||||
"The build will be usable, only add-ons that depend on this package won't be functional."
|
||||
diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake
|
||||
index e33141f..ad0d20a 100644
|
||||
--- a/build_files/cmake/platform/platform_unix.cmake
|
||||
+++ b/build_files/cmake/platform/platform_unix.cmake
|
||||
@@ -358,7 +358,11 @@ if(WITH_OPENSUBDIV OR WITH_CYCLES_OPENSUBDIV)
|
||||
endif()
|
||||
|
||||
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
|
||||
-list(APPEND PLATFORM_LINKLIBS -lutil -lc -lm)
|
||||
+if(HAIKU)
|
||||
+ list(APPEND PLATFORM_LINKLIBS -lm -lnetwork)
|
||||
+else()
|
||||
+ list(APPEND PLATFORM_LINKLIBS -lutil -lc -lm)
|
||||
+endif()
|
||||
|
||||
find_package(Threads REQUIRED)
|
||||
list(APPEND PLATFORM_LINKLIBS ${CMAKE_THREAD_LIBS_INIT})
|
||||
diff --git a/extern/glog/src/config.h b/extern/glog/src/config.h
|
||||
index f5c9c0b..2703b7b 100644
|
||||
--- a/extern/glog/src/config.h
|
||||
+++ b/extern/glog/src/config.h
|
||||
@@ -14,4 +14,6 @@
|
||||
#include "windows/config.h"
|
||||
#elif defined(__GNU__)
|
||||
#include "config_hurd.h"
|
||||
+#elif defined(__HAIKU__)
|
||||
+ #include "config_haiku.h"
|
||||
#endif
|
||||
diff --git a/extern/glog/src/config_haiku.h b/extern/glog/src/config_haiku.h
|
||||
new file mode 100644
|
||||
index 0000000..7d19272
|
||||
--- /dev/null
|
||||
+++ b/extern/glog/src/config_haiku.h
|
||||
@@ -0,0 +1,172 @@
|
||||
+/* src/config.h. Generated from config.h.in by configure. */
|
||||
+/* src/config.h.in. Generated from configure.ac by autoheader. */
|
||||
+
|
||||
+/* Namespace for Google classes */
|
||||
+#define GOOGLE_NAMESPACE google
|
||||
+
|
||||
+/* Define if you have the `dladdr' function */
|
||||
+/* #undef HAVE_DLADDR */
|
||||
+
|
||||
+/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
+#define HAVE_DLFCN_H 1
|
||||
+
|
||||
+/* Define to 1 if you have the <execinfo.h> header file. */
|
||||
+#undef HAVE_EXECINFO_H
|
||||
+
|
||||
+/* Define if you have the `fcntl' function */
|
||||
+#define HAVE_FCNTL 1
|
||||
+
|
||||
+/* Define to 1 if you have the <glob.h> header file. */
|
||||
+#define HAVE_GLOB_H 1
|
||||
+
|
||||
+/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
+#define HAVE_INTTYPES_H 1
|
||||
+
|
||||
+/* Define to 1 if you have the `pthread' library (-lpthread). */
|
||||
+/* #undef HAVE_LIBPTHREAD */
|
||||
+
|
||||
+/* Define to 1 if you have the <libunwind.h> header file. */
|
||||
+/* #undef HAVE_LIBUNWIND_H */
|
||||
+
|
||||
+/* define if you have google gflags library */
|
||||
+#define HAVE_LIB_GFLAGS 1
|
||||
+
|
||||
+/* define if you have google gmock library */
|
||||
+/* #undef HAVE_LIB_GMOCK */
|
||||
+
|
||||
+/* define if you have google gtest library */
|
||||
+/* #undef HAVE_LIB_GTEST */
|
||||
+
|
||||
+/* define if you have libunwind */
|
||||
+/* #undef HAVE_LIB_UNWIND */
|
||||
+
|
||||
+/* Define to 1 if you have the <memory.h> header file. */
|
||||
+#define HAVE_MEMORY_H 1
|
||||
+
|
||||
+/* define if the compiler implements namespaces */
|
||||
+#define HAVE_NAMESPACES 1
|
||||
+
|
||||
+/* Define if you have the 'pread' function */
|
||||
+#define HAVE_PREAD 1
|
||||
+
|
||||
+/* Define if you have POSIX threads libraries and header files. */
|
||||
+#define HAVE_PTHREAD 1
|
||||
+
|
||||
+/* Define to 1 if you have the <pwd.h> header file. */
|
||||
+#define HAVE_PWD_H 1
|
||||
+
|
||||
+/* Define if you have the 'pwrite' function */
|
||||
+#define HAVE_PWRITE 1
|
||||
+
|
||||
+/* define if the compiler implements pthread_rwlock_* */
|
||||
+#define HAVE_RWLOCK 1
|
||||
+
|
||||
+/* Define if you have the `sigaltstack' function */
|
||||
+#define HAVE_SIGALTSTACK 1
|
||||
+
|
||||
+/* Define to 1 if you have the <stdint.h> header file. */
|
||||
+#define HAVE_STDINT_H 1
|
||||
+
|
||||
+/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
+#define HAVE_STDLIB_H 1
|
||||
+
|
||||
+/* Define to 1 if you have the <strings.h> header file. */
|
||||
+#define HAVE_STRINGS_H 1
|
||||
+
|
||||
+/* Define to 1 if you have the <string.h> header file. */
|
||||
+#define HAVE_STRING_H 1
|
||||
+
|
||||
+/* Define to 1 if you have the <syscall.h> header file. */
|
||||
+/* #undef HAVE_SYSCALL_H */
|
||||
+
|
||||
+/* Define to 1 if you have the <syslog.h> header file. */
|
||||
+#define HAVE_SYSLOG_H 1
|
||||
+
|
||||
+/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
+#define HAVE_SYS_STAT_H 1
|
||||
+
|
||||
+/* Define to 1 if you have the <sys/syscall.h> header file. */
|
||||
+/* #undef HAVE_SYS_SYSCALL_H */
|
||||
+
|
||||
+/* Define to 1 if you have the <sys/time.h> header file. */
|
||||
+#define HAVE_SYS_TIME_H 1
|
||||
+
|
||||
+/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
+#define HAVE_SYS_TYPES_H 1
|
||||
+
|
||||
+/* Define to 1 if you have the <sys/ucontext.h> header file. */
|
||||
+/* #undef HAVE_SYS_UCONTEXT_H */
|
||||
+
|
||||
+/* Define to 1 if you have the <sys/utsname.h> header file. */
|
||||
+#define HAVE_SYS_UTSNAME_H 1
|
||||
+
|
||||
+/* Define to 1 if you have the <ucontext.h> header file. */
|
||||
+/* #undef HAVE_UCONTEXT_H */
|
||||
+
|
||||
+/* Define to 1 if you have the <unistd.h> header file. */
|
||||
+#define HAVE_UNISTD_H 1
|
||||
+
|
||||
+/* define if the compiler supports using expression for operator */
|
||||
+#define HAVE_USING_OPERATOR 1
|
||||
+
|
||||
+/* define if your compiler has __attribute__ */
|
||||
+#define HAVE___ATTRIBUTE__ 1
|
||||
+
|
||||
+/* define if your compiler has __builtin_expect */
|
||||
+#define HAVE___BUILTIN_EXPECT 1
|
||||
+
|
||||
+/* define if your compiler has __sync_val_compare_and_swap */
|
||||
+/* #undef HAVE___SYNC_VAL_COMPARE_AND_SWAP */
|
||||
+
|
||||
+/* Name of package */
|
||||
+#define PACKAGE "glog"
|
||||
+
|
||||
+/* Define to the address where bug reports for this package should be sent. */
|
||||
+#define PACKAGE_BUGREPORT "opensource@google.com"
|
||||
+
|
||||
+/* Define to the full name of this package. */
|
||||
+#define PACKAGE_NAME "glog"
|
||||
+
|
||||
+/* Define to the full name and version of this package. */
|
||||
+#define PACKAGE_STRING "glog 0.3.2"
|
||||
+
|
||||
+/* Define to the one symbol short name of this package. */
|
||||
+#define PACKAGE_TARNAME "glog"
|
||||
+
|
||||
+/* Define to the version of this package. */
|
||||
+#define PACKAGE_VERSION "0.3.2"
|
||||
+
|
||||
+/* How to access the PC from a struct ucontext */
|
||||
+/* #define PC_FROM_UCONTEXT uc_mcontext.gregs[REG_RIP] */
|
||||
+
|
||||
+/* Define to necessary symbol if this constant uses a non-standard name on
|
||||
+ your system. */
|
||||
+/* #undef PTHREAD_CREATE_JOINABLE */
|
||||
+
|
||||
+/* The size of `void *', as computed by sizeof. */
|
||||
+#define SIZEOF_VOID_P 8
|
||||
+
|
||||
+/* Define to 1 if you have the ANSI C header files. */
|
||||
+/* #undef STDC_HEADERS */
|
||||
+
|
||||
+#define STDC_HEADERS 1
|
||||
+/* the namespace where STL code like vector<> is defined */
|
||||
+#define STL_NAMESPACE std
|
||||
+
|
||||
+/* location of source code */
|
||||
+#define TEST_SRC_DIR "."
|
||||
+
|
||||
+/* Version number of package */
|
||||
+#define VERSION "0.3.2"
|
||||
+
|
||||
+/* Stops putting the code inside the Google namespace */
|
||||
+#define _END_GOOGLE_NAMESPACE_ }
|
||||
+
|
||||
+/* Puts following code inside the Google namespace */
|
||||
+#define _START_GOOGLE_NAMESPACE_ namespace google {
|
||||
+
|
||||
+/* isn't getting defined by configure script when clang compilers are used
|
||||
+ and cuases compilation errors in stactrace/unwind modules */
|
||||
+#ifdef __clang__
|
||||
+# define NO_FRAME_POINTER
|
||||
+#endif
|
||||
diff --git a/intern/guardedalloc/intern/mallocn_intern.h b/intern/guardedalloc/intern/mallocn_intern.h
|
||||
index 3f7e462..38abccb 100644
|
||||
--- a/intern/guardedalloc/intern/mallocn_intern.h
|
||||
+++ b/intern/guardedalloc/intern/mallocn_intern.h
|
||||
@@ -63,6 +63,9 @@
|
||||
#elif defined(WIN32)
|
||||
# include <malloc.h>
|
||||
# define malloc_usable_size _msize
|
||||
+#elif defined(__HAIKU__)
|
||||
+# include <malloc.h>
|
||||
+size_t malloc_usable_size(void *ptr);
|
||||
#else
|
||||
# pragma message "We don't know how to use malloc_usable_size on your platform"
|
||||
# undef USE_MALLOC_USABLE_SIZE
|
||||
diff --git a/intern/libmv/libmv/numeric/numeric.h b/intern/libmv/libmv/numeric/numeric.h
|
||||
index a42dab8..cd3c5e3 100644
|
||||
--- a/intern/libmv/libmv/numeric/numeric.h
|
||||
+++ b/intern/libmv/libmv/numeric/numeric.h
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
#if !defined(__MINGW64__)
|
||||
# if defined(_WIN32) || defined(__APPLE__) || \
|
||||
- defined(__FreeBSD__) || defined(__NetBSD__)
|
||||
+ defined(__FreeBSD__) || defined(__NetBSD__) || defined(__HAIKU__)
|
||||
static void sincos(double x, double *sinx, double *cosx) {
|
||||
*sinx = sin(x);
|
||||
*cosx = cos(x);
|
||||
diff --git a/source/blender/blenkernel/intern/bvhutils.c b/source/blender/blenkernel/intern/bvhutils.c
|
||||
index 264d87b..93e3c88 100644
|
||||
--- a/source/blender/blenkernel/intern/bvhutils.c
|
||||
+++ b/source/blender/blenkernel/intern/bvhutils.c
|
||||
@@ -51,6 +51,16 @@ static ThreadRWMutex cache_rwlock = BLI_RWLOCK_INITIALIZER;
|
||||
/* -------------------------------------------------------------------- */
|
||||
/** \name Local Callbacks
|
||||
* \{ */
|
||||
+
|
||||
+#ifdef __HAIKU__
|
||||
+static pthread_once_t sInitOnce = PTHREAD_ONCE_INIT;
|
||||
+
|
||||
+static void
|
||||
+init_cache_rwlock()
|
||||
+{
|
||||
+ pthread_rwlock_init(&cache_rwlock, NULL);
|
||||
+}
|
||||
+#endif
|
||||
|
||||
/* Math stuff for ray casting on mesh faces and for nearest surface */
|
||||
|
||||
@@ -1299,6 +1309,9 @@ void bvhcache_insert(BVHCache **cache_p, BVHTree *tree, int type)
|
||||
*/
|
||||
void bvhcache_init(BVHCache **cache_p)
|
||||
{
|
||||
+#ifdef __HAIKU__
|
||||
+ pthread_once(&sInitOnce, &init_cache_rwlock);
|
||||
+#endif
|
||||
*cache_p = NULL;
|
||||
}
|
||||
|
||||
diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c
|
||||
index 580842f..6c4cc40 100644
|
||||
--- a/source/blender/blenkernel/intern/font.c
|
||||
+++ b/source/blender/blenkernel/intern/font.c
|
||||
@@ -64,6 +64,16 @@
|
||||
|
||||
static ThreadRWMutex vfont_rwlock = BLI_RWLOCK_INITIALIZER;
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+static pthread_once_t sInitOnce = PTHREAD_ONCE_INIT;
|
||||
+
|
||||
+static void
|
||||
+init_vfont_rwlock()
|
||||
+{
|
||||
+ pthread_rwlock_init(&vfont_rwlock, NULL);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/* The vfont code */
|
||||
void BKE_vfont_free_data(struct VFont *vfont)
|
||||
{
|
||||
@@ -655,6 +665,10 @@ bool BKE_vfont_to_curve_ex(Main *bmain, Object *ob, int mode, ListBase *r_nubase
|
||||
|
||||
BLI_assert(ob->type == OB_FONT);
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ pthread_once(&sInitOnce, &init_vfont_rwlock);
|
||||
+#endif
|
||||
+
|
||||
/* Set font data */
|
||||
vfont = cu->vfont;
|
||||
|
||||
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
|
||||
index efaf1f9..59fab74 100644
|
||||
--- a/source/blender/blenkernel/intern/particle_system.c
|
||||
+++ b/source/blender/blenkernel/intern/particle_system.c
|
||||
@@ -105,6 +105,16 @@
|
||||
|
||||
static ThreadRWMutex psys_bvhtree_rwlock = BLI_RWLOCK_INITIALIZER;
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+static pthread_once_t sInitOnce = PTHREAD_ONCE_INIT;
|
||||
+
|
||||
+static void
|
||||
+init_psys_bvhtree_rwlock()
|
||||
+{
|
||||
+ pthread_rwlock_init(&psys_bvhtree_rwlock, NULL);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/************************************************/
|
||||
/* Reacting to system events */
|
||||
/************************************************/
|
||||
@@ -4156,6 +4166,10 @@ void particle_system_update(Scene *scene, Object *ob, ParticleSystem *psys, cons
|
||||
ParticleSettings *part = psys->part;
|
||||
float cfra;
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ pthread_once(&sInitOnce, &init_psys_bvhtree_rwlock);
|
||||
+#endif
|
||||
+
|
||||
/* drawdata is outdated after ANY change */
|
||||
if (psys->pdd) psys->pdd->flag &= ~PARTICLE_DRAW_DATA_UPDATED;
|
||||
|
||||
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c
|
||||
index 88d3311..0e862b1 100644
|
||||
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
|
||||
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
|
||||
@@ -91,6 +91,17 @@
|
||||
static ThreadRWMutex loops_cache_rwlock = BLI_RWLOCK_INITIALIZER;
|
||||
static ThreadRWMutex origindex_cache_rwlock = BLI_RWLOCK_INITIALIZER;
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+static pthread_once_t sInitOnce = PTHREAD_ONCE_INIT;
|
||||
+
|
||||
+static void
|
||||
+init_cache_rwlock()
|
||||
+{
|
||||
+ pthread_rwlock_init(&loops_cache_rwlock, NULL);
|
||||
+ pthread_rwlock_init(&origindex_cache_rwlock, NULL);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
|
||||
int drawInteriorEdges,
|
||||
int useSubsurfUv,
|
||||
@@ -4675,6 +4686,10 @@ static void set_ccgdm_all_geometry(CCGDerivedMesh *ccgdm,
|
||||
MPoly *mpoly = NULL;
|
||||
bool has_edge_cd;
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ pthread_once(&sInitOnce, &init_cache_rwlock);
|
||||
+#endif
|
||||
+
|
||||
edgeSize = ccgSubSurf_getEdgeSize(ss);
|
||||
gridSize = ccgSubSurf_getGridSize(ss);
|
||||
gridFaces = gridSize - 1;
|
||||
diff --git a/source/blender/blenlib/BLI_sys_types.h b/source/blender/blenlib/BLI_sys_types.h
|
||||
index 7929e1d..562bfc2 100644
|
||||
--- a/source/blender/blenlib/BLI_sys_types.h
|
||||
+++ b/source/blender/blenlib/BLI_sys_types.h
|
||||
@@ -47,7 +47,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
-#if defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__) || defined(__GNU__)
|
||||
+#if defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__) || defined(__GNU__) || defined(__HAIKU__)
|
||||
|
||||
/* Linux-i386, Linux-Alpha, Linux-ppc */
|
||||
#include <stdint.h>
|
||||
diff --git a/source/blender/blenlib/BLI_threads.h b/source/blender/blenlib/BLI_threads.h
|
||||
index 0b1b4d8..a302506 100644
|
||||
--- a/source/blender/blenlib/BLI_threads.h
|
||||
+++ b/source/blender/blenlib/BLI_threads.h
|
||||
@@ -127,7 +127,11 @@ void BLI_spin_end(SpinLock *spin);
|
||||
#define THREAD_LOCK_READ 1
|
||||
#define THREAD_LOCK_WRITE 2
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#define BLI_RWLOCK_INITIALIZER {}
|
||||
+#else
|
||||
#define BLI_RWLOCK_INITIALIZER PTHREAD_RWLOCK_INITIALIZER
|
||||
+#endif
|
||||
|
||||
typedef pthread_rwlock_t ThreadRWMutex;
|
||||
|
||||
diff --git a/source/blender/blenlib/intern/fileops.c b/source/blender/blenlib/intern/fileops.c
|
||||
index db4b3bc..196a8ff 100644
|
||||
--- a/source/blender/blenlib/intern/fileops.c
|
||||
+++ b/source/blender/blenlib/intern/fileops.c
|
||||
@@ -617,6 +617,11 @@ static int recursive_operation(const char *startfrom, const char *startto,
|
||||
for (i = 0; i < n; i++) {
|
||||
const struct dirent * const dirent = dirlist[i];
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ struct stat st;
|
||||
+ char filename[512];
|
||||
+#endif
|
||||
+
|
||||
if (FILENAME_IS_CURRPAR(dirent->d_name))
|
||||
continue;
|
||||
|
||||
@@ -624,7 +629,14 @@ static int recursive_operation(const char *startfrom, const char *startto,
|
||||
if (to)
|
||||
join_dirfile_alloc(&to_path, &to_alloc_len, to, dirent->d_name);
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ snprintf(filename, sizeof(filename), "%s/%s", startfrom, dirent->d_name);
|
||||
+ lstat(filename, &st);
|
||||
+ if (S_ISDIR(st.st_mode)) {
|
||||
+#else
|
||||
+
|
||||
if (dirent->d_type == DT_DIR) {
|
||||
+#endif
|
||||
/* recursively dig into a subfolder */
|
||||
ret = recursive_operation(from_path, to_path, callback_dir_pre, callback_file, callback_dir_post);
|
||||
}
|
||||
diff --git a/source/blender/blenlib/intern/storage.c b/source/blender/blenlib/intern/storage.c
|
||||
index 3edc00a..30e9ab1 100644
|
||||
--- a/source/blender/blenlib/intern/storage.c
|
||||
+++ b/source/blender/blenlib/intern/storage.c
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
-#if defined(__NetBSD__) || defined(__DragonFly__) || defined(__sun__) || defined(__sun)
|
||||
+#if defined(__NetBSD__) || defined(__DragonFly__) || defined(__sun__) || defined(__sun) || defined(__HAIKU__)
|
||||
/* Other modern unix os's should probably use this also */
|
||||
# include <sys/statvfs.h>
|
||||
# define USE_STATFS_STATVFS
|
||||
--
|
||||
2.11.0
|
||||
|
||||
Reference in New Issue
Block a user