Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.2:FactoryCandidates
blender
cmake_manpage_fix.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File cmake_manpage_fix.patch of Package blender
From 4c7deb1580ecf0c98468c7490c85c8953a00f462 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel <brecht@blender.org> Date: Thu, 23 Nov 2023 21:34:21 +0100 Subject: [PATCH 1/3] Fix #115056: man page fails to build with non-portable install This reverts 329474f01, and again runs the executable from the build instead of the install location. But now setting environment variables so it can find the required bundled libraries. --- source/creator/CMakeLists.txt | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index ab73ab435ca..8fd0b76f11a 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -636,7 +636,6 @@ if(UNIX AND NOT APPLE) # none of the other files are needed currently elseif(WITH_INSTALL_PORTABLE) - set(BLENDER_BIN "blender") install( TARGETS blender DESTINATION "." @@ -691,7 +690,6 @@ file(REMOVE ${CMAKE_BINARY_DIR}/bin/lib/libglapi.so.0.0.0)\n endif() else() # main blender binary - set(BLENDER_BIN "bin/blender") install( TARGETS blender DESTINATION "./bin" @@ -1454,7 +1452,6 @@ elseif(APPLE) COMMAND SetFile -d ${SETFILE_DATE} -m ${SETFILE_DATE} ${EXECUTABLE_OUTPUT_PATH}/Blender.app ) - set(BLENDER_BIN "bin/blender") install( TARGETS blender DESTINATION "." @@ -1769,7 +1766,6 @@ endif() # Setup launcher if(WIN32 AND NOT WITH_PYTHON_MODULE) - set(BLENDER_BIN "blender.exe") install( TARGETS blender blender-launcher COMPONENT Blender @@ -1804,7 +1800,7 @@ if(UNIX AND NOT APPLE) # Blender's requirement of libraries mean the installation path must be used. install( CODE "\ -set(BLENDER_BIN \"${CMAKE_INSTALL_PREFIX}/${BLENDER_BIN}\")\n\ +set(BLENDER_BIN \"${EXECUTABLE_OUTPUT_PATH}/blender\")\n\ set(MANPAGE_GEN \"${CMAKE_SOURCE_DIR}/doc/manpage/blender.1.py\")\n\ set(MANPAGE_OUT \"${CMAKE_CURRENT_BINARY_DIR}/blender.1\")\n\ if(\n\ @@ -1819,7 +1815,8 @@ detect_leaks=0\"\n\ )\n\ execute_process(\n\ OUTPUT_QUIET\n\ - COMMAND $\{BLENDER_BIN\}\n\ + COMMAND ${CMAKE_COMMAND} -E env ${PLATFORM_ENV_BUILD}\n\ + $\{BLENDER_BIN\}\n\ --background\n\ --factory-startup\n\ --python $\{MANPAGE_GEN\}\n\ -- 2.30.2 From 6f1a099c6c65f29e210e9a6675b0ae46f787b2f8 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel <brecht@blender.org> Date: Fri, 24 Nov 2023 20:19:03 +0100 Subject: [PATCH 2/3] Fix man page build failing with DESTDIR --- source/creator/CMakeLists.txt | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 8fd0b76f11a..5b06b3bd6c1 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -636,6 +636,7 @@ if(UNIX AND NOT APPLE) # none of the other files are needed currently elseif(WITH_INSTALL_PORTABLE) + set(BLENDER_BIN "blender") install( TARGETS blender DESTINATION "." @@ -690,6 +691,7 @@ file(REMOVE ${CMAKE_BINARY_DIR}/bin/lib/libglapi.so.0.0.0)\n endif() else() # main blender binary + set(BLENDER_BIN "bin/blender") install( TARGETS blender DESTINATION "./bin" @@ -1452,6 +1454,7 @@ elseif(APPLE) COMMAND SetFile -d ${SETFILE_DATE} -m ${SETFILE_DATE} ${EXECUTABLE_OUTPUT_PATH}/Blender.app ) + set(BLENDER_BIN "bin/blender") install( TARGETS blender DESTINATION "." @@ -1766,6 +1769,7 @@ endif() # Setup launcher if(WIN32 AND NOT WITH_PYTHON_MODULE) + set(BLENDER_BIN "blender.exe") install( TARGETS blender blender-launcher COMPONENT Blender @@ -1796,13 +1800,22 @@ if(UNIX AND NOT APPLE) # Only run the command to generate the man-page when it may be outdated. # The `IS_NEWER_THAN` checks always run when files are missing. - # NOTE: While `${EXECUTABLE_OUTPUT_PATH}/blender` may work in some cases - # Blender's requirement of libraries mean the installation path must be used. + # This runs the Blender executable from the install directory. + # + # BLENDER_SYSTEM_RESOURCES is set because DESTDIR may cause the + # effective install directory to be different than the install + # prefix compiled into the binary. + # + # PLATFORM_ENV_BUILD sets LD_LIBRATY_PATH to find dynamic + # precompiled libraries if needed. install( CODE "\ -set(BLENDER_BIN \"${EXECUTABLE_OUTPUT_PATH}/blender\")\n\ set(MANPAGE_GEN \"${CMAKE_SOURCE_DIR}/doc/manpage/blender.1.py\")\n\ set(MANPAGE_OUT \"${CMAKE_CURRENT_BINARY_DIR}/blender.1\")\n\ +set(BLENDER_INSTALL_DIR \"${CMAKE_INSTALL_PREFIX_WITH_CONFIG}\")\n\ +if(DEFINED ENV\{DESTDIR\})\n\ + set(BLENDER_INSTALL_DIR $ENV\{DESTDIR\}/$\{BLENDER_INSTALL_DIR\})\n\ +endif()\n\ if(\n\ ($\{BLENDER_BIN\} IS_NEWER_THAN $\{MANPAGE_OUT\}) OR\n\ ($\{MANPAGE_GEN\} IS_NEWER_THAN $\{MANPAGE_OUT\})\n\ @@ -1815,8 +1828,12 @@ detect_leaks=0\"\n\ )\n\ execute_process(\n\ OUTPUT_QUIET\n\ - COMMAND ${CMAKE_COMMAND} -E env ${PLATFORM_ENV_BUILD}\n\ - $\{BLENDER_BIN\}\n\ + COMMAND + ${CMAKE_COMMAND} -E env\n\ + BLENDER_SYSTEM_RESOURCES=$\{BLENDER_INSTALL_DIR\}/${TARGETDIR_VER}\n\ + --\n\ + ${PLATFORM_ENV_BUILD}\n\ + $\{BLENDER_INSTALL_DIR\}/${BLENDER_BIN}\n\ --background\n\ --factory-startup\n\ --python $\{MANPAGE_GEN\}\n\ -- 2.30.2 From d25075afe08efd38626ca3955e0a3e04faab74e1 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel <brecht@blender.org> Date: Fri, 24 Nov 2023 20:30:48 +0100 Subject: [PATCH 3/3] Fix mistake --- source/creator/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 5b06b3bd6c1..daed6fdd1cb 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -1831,8 +1831,8 @@ detect_leaks=0\"\n\ COMMAND ${CMAKE_COMMAND} -E env\n\ BLENDER_SYSTEM_RESOURCES=$\{BLENDER_INSTALL_DIR\}/${TARGETDIR_VER}\n\ - --\n\ ${PLATFORM_ENV_BUILD}\n\ + --\n\ $\{BLENDER_INSTALL_DIR\}/${BLENDER_BIN}\n\ --background\n\ --factory-startup\n\ -- 2.30.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor