Merge branch 'release/1.10.x'

This commit is contained in:
rdb 2020-12-22 16:45:24 +01:00
commit 131ae98bfd
4 changed files with 58 additions and 13 deletions

View File

@ -1,3 +1,25 @@
------------------------ RELEASE 1.10.8 -----------------------
Recommended maintenance release.
* Support building for macOS 11 "Big Sur" and "Apple Silicon" (arm64)
* Fix a memory leak, particularly noticeable with multithreaded pipeline (#1077)
* Fix problem building Windows binaries using deployment system
* Fix DirectEntry/PGEntry flickering in the multithreaded pipeline (#1070)
* Fix sounds resuming on reactivation if stop() was called while inactive (#559)
* Collision traverser now releases GIL during traversal (#1033)
* Fix crash caused by some gamepad drivers on Linux (#1066)
* Skinning-enabled shaders can now properly render unskinned models as well
* BitMask, SparseArray, BitArray types can now be pickled (#886)
* VFSImporter now properly detects source file encodings in Python 3
* Workaround for lighting bug with scenes imported using panda3d-gltf/blend2bam
* Fix compilation error with Bullet 2.90+
* Assimp library was updated in Windows thirdparty packages (#1020)
* libCg is now shipped as library instead of framework on macOS (#1079)
* Fix ability to use deployment system when compiling without OpenSSL (#1073)
* Fix assorted issues with rgbPanel
* Fix comparison operator of RenderEffects object
------------------------ RELEASE 1.10.7 ----------------------- ------------------------ RELEASE 1.10.7 -----------------------
This is primarily a bugfix release, but includes a few new features as well. This is primarily a bugfix release, but includes a few new features as well.

View File

@ -255,9 +255,11 @@ get_cwd() {
*/ */
bool ExecutionEnvironment:: bool ExecutionEnvironment::
ns_has_environment_variable(const string &var) const { ns_has_environment_variable(const string &var) const {
#ifdef PREREAD_ENVIRONMENT if (_variables.count(var) != 0) {
return _variables.count(var) != 0; return true;
#else }
#ifndef PREREAD_ENVIRONMENT
return getenv(var.c_str()) != nullptr; return getenv(var.c_str()) != nullptr;
#endif #endif
} }

View File

@ -30,6 +30,7 @@ SetCompressor ${COMPRESSOR}
!include "MUI2.nsh" !include "MUI2.nsh"
!include "Sections.nsh" !include "Sections.nsh"
!include "WinMessages.nsh" !include "WinMessages.nsh"
!include "WinVer.nsh"
!include "WordFunc.nsh" !include "WordFunc.nsh"
!include "x64.nsh" !include "x64.nsh"
@ -89,7 +90,6 @@ LangString DESC_SecMaxPlugins ${LANG_ENGLISH} "Plug-ins for Autodesk 3ds Max (${
LangString DESC_SecMayaPlugins ${LANG_ENGLISH} "Plug-ins and scripts for Autodesk Maya (${REGVIEW}-bit) that can be used to export models to Panda3D." LangString DESC_SecMayaPlugins ${LANG_ENGLISH} "Plug-ins and scripts for Autodesk Maya (${REGVIEW}-bit) that can be used to export models to Panda3D."
var READABLE var READABLE
var MANPAGE
; See http://nsis.sourceforge.net/Check_if_a_file_exists_at_compile_time for documentation ; See http://nsis.sourceforge.net/Check_if_a_file_exists_at_compile_time for documentation
!macro !defineifexist _VAR_NAME _FILE_NAME !macro !defineifexist _VAR_NAME _FILE_NAME
@ -373,12 +373,14 @@ SectionGroup "Python modules" SecGroupPython
!insertmacro PyBindingSection 3.7-32 .cp37-win32.pyd !insertmacro PyBindingSection 3.7-32 .cp37-win32.pyd
!insertmacro PyBindingSection 3.8-32 .cp38-win32.pyd !insertmacro PyBindingSection 3.8-32 .cp38-win32.pyd
!insertmacro PyBindingSection 3.9-32 .cp39-win32.pyd !insertmacro PyBindingSection 3.9-32 .cp39-win32.pyd
!insertmacro PyBindingSection 3.10-32 .cp310-win32.pyd
!else !else
!insertmacro PyBindingSection 3.5 .cp35-win_amd64.pyd !insertmacro PyBindingSection 3.5 .cp35-win_amd64.pyd
!insertmacro PyBindingSection 3.6 .cp36-win_amd64.pyd !insertmacro PyBindingSection 3.6 .cp36-win_amd64.pyd
!insertmacro PyBindingSection 3.7 .cp37-win_amd64.pyd !insertmacro PyBindingSection 3.7 .cp37-win_amd64.pyd
!insertmacro PyBindingSection 3.8 .cp38-win_amd64.pyd !insertmacro PyBindingSection 3.8 .cp38-win_amd64.pyd
!insertmacro PyBindingSection 3.9 .cp39-win_amd64.pyd !insertmacro PyBindingSection 3.9 .cp39-win_amd64.pyd
!insertmacro PyBindingSection 3.10 .cp310-win_amd64.pyd
!endif !endif
SectionGroupEnd SectionGroupEnd
@ -483,14 +485,32 @@ Function .onInit
!insertmacro MaybeEnablePyBindingSection 3.6-32 !insertmacro MaybeEnablePyBindingSection 3.6-32
!insertmacro MaybeEnablePyBindingSection 3.7-32 !insertmacro MaybeEnablePyBindingSection 3.7-32
!insertmacro MaybeEnablePyBindingSection 3.8-32 !insertmacro MaybeEnablePyBindingSection 3.8-32
${If} ${AtLeastWin8}
!insertmacro MaybeEnablePyBindingSection 3.9-32 !insertmacro MaybeEnablePyBindingSection 3.9-32
!insertmacro MaybeEnablePyBindingSection 3.10-32
${EndIf}
!else !else
!insertmacro MaybeEnablePyBindingSection 3.5 !insertmacro MaybeEnablePyBindingSection 3.5
!insertmacro MaybeEnablePyBindingSection 3.6 !insertmacro MaybeEnablePyBindingSection 3.6
!insertmacro MaybeEnablePyBindingSection 3.7 !insertmacro MaybeEnablePyBindingSection 3.7
!insertmacro MaybeEnablePyBindingSection 3.8 !insertmacro MaybeEnablePyBindingSection 3.8
${If} ${AtLeastWin8}
!insertmacro MaybeEnablePyBindingSection 3.9 !insertmacro MaybeEnablePyBindingSection 3.9
!insertmacro MaybeEnablePyBindingSection 3.10
${EndIf}
!endif !endif
; These versions of Python require Windows 8.1 or higher.
${Unless} ${AtLeastWin8}
!ifdef SecPyBindings3.9
SectionSetFlags ${SecPyBindings3.9} ${SF_RO}
SectionSetInstTypes ${SecPyBindings3.9} 0
!endif
!ifdef SecPyBindings3.10
SectionSetFlags ${SecPyBindings3.10} ${SF_RO}
SectionSetInstTypes ${SecPyBindings3.10} 0
!endif
${EndUnless}
FunctionEnd FunctionEnd
Function .onSelChange Function .onSelChange
@ -599,13 +619,14 @@ Section "Sample programs" SecSamples
SetOutPath $INSTDIR SetOutPath $INSTDIR
WriteINIStr $INSTDIR\Website.url "InternetShortcut" "URL" "https://www.panda3d.org/" WriteINIStr $INSTDIR\Website.url "InternetShortcut" "URL" "https://www.panda3d.org/"
WriteINIStr $INSTDIR\Manual.url "InternetShortcut" "URL" "https://www.panda3d.org/manual/index.php" WriteINIStr $INSTDIR\Manual.url "InternetShortcut" "URL" "https://docs.panda3d.org/${MAJOR_VER}"
WriteINIStr $INSTDIR\Samples.url "InternetShortcut" "URL" "https://www.panda3d.org/manual/index.php/Sample_Programs_in_the_Distribution" WriteINIStr $INSTDIR\Samples.url "InternetShortcut" "URL" "https://docs.panda3d.org/${MAJOR_VER}/python/more-resources/samples/index"
SetOutPath $INSTDIR SetOutPath $INSTDIR
CreateShortCut "$SMPROGRAMS\${TITLE}\Panda3D Manual.lnk" "$INSTDIR\Manual.url" "" "$INSTDIR\pandaIcon.ico" 0 "" "" "Panda3D Manual" CreateShortCut "$SMPROGRAMS\${TITLE}\Panda3D Manual.lnk" "$INSTDIR\Manual.url" "" "$INSTDIR\pandaIcon.ico" 0 "" "" "Panda3D Manual"
CreateShortCut "$SMPROGRAMS\${TITLE}\Panda3D Website.lnk" "$INSTDIR\Website.url" "" "$INSTDIR\pandaIcon.ico" 0 "" "" "Panda3D Website" CreateShortCut "$SMPROGRAMS\${TITLE}\Panda3D Website.lnk" "$INSTDIR\Website.url" "" "$INSTDIR\pandaIcon.ico" 0 "" "" "Panda3D Website"
CreateShortCut "$SMPROGRAMS\${TITLE}\Sample Program Manual.lnk" "$INSTDIR\Samples.url" "" "$INSTDIR\pandaIcon.ico" 0 "" "" "Sample Program Manual" CreateShortCut "$SMPROGRAMS\${TITLE}\Sample Program Manual.lnk" "$INSTDIR\Samples.url" "" "$INSTDIR\pandaIcon.ico" 0 "" "" "Sample Program Manual"
${Unless} ${AtLeastWin8}
FindFirst $0 $1 $INSTDIR\samples\* FindFirst $0 $1 $INSTDIR\samples\*
loop: loop:
StrCmp $1 "" done StrCmp $1 "" done
@ -620,16 +641,10 @@ Section "Sample programs" SecSamples
Call Capitalize Call Capitalize
Pop $R0 Pop $R0
StrCpy $READABLE $R0 StrCpy $READABLE $R0
Push $1
Push "-"
Push "_"
Call StrRep
Pop $R0
StrCpy $MANPAGE $R0
DetailPrint "Creating shortcuts for sample program $READABLE" DetailPrint "Creating shortcuts for sample program $READABLE"
CreateDirectory "$SMPROGRAMS\${TITLE}\Sample Programs\$READABLE" CreateDirectory "$SMPROGRAMS\${TITLE}\Sample Programs\$READABLE"
SetOutPath $INSTDIR\samples\$1 SetOutPath $INSTDIR\samples\$1
WriteINIStr $INSTDIR\samples\$1\ManualPage.url "InternetShortcut" "URL" "https://www.panda3d.org/wiki/index.php/Sample_Programs:_$MANPAGE" WriteINIStr $INSTDIR\samples\$1\ManualPage.url "InternetShortcut" "URL" "https://docs.panda3d.org/${MAJOR_VER}/python/more-resources/samples/$1"
CreateShortCut "$SMPROGRAMS\${TITLE}\Sample Programs\$READABLE\Manual Page.lnk" "$INSTDIR\samples\$1\ManualPage.url" "" "$INSTDIR\pandaIcon.ico" 0 "" "" "Manual Entry on this Sample Program" CreateShortCut "$SMPROGRAMS\${TITLE}\Sample Programs\$READABLE\Manual Page.lnk" "$INSTDIR\samples\$1\ManualPage.url" "" "$INSTDIR\pandaIcon.ico" 0 "" "" "Manual Entry on this Sample Program"
CreateShortCut "$SMPROGRAMS\${TITLE}\Sample Programs\$READABLE\View Source Code.lnk" "$INSTDIR\samples\$1" CreateShortCut "$SMPROGRAMS\${TITLE}\Sample Programs\$READABLE\View Source Code.lnk" "$INSTDIR\samples\$1"
iloop: iloop:
@ -643,6 +658,7 @@ Section "Sample programs" SecSamples
FindNext $0 $1 FindNext $0 $1
Goto loop Goto loop
done: done:
${EndUnless}
SectionEnd SectionEnd
!endif !endif
@ -803,12 +819,14 @@ Section Uninstall
!insertmacro RemovePythonPath 3.7-32 !insertmacro RemovePythonPath 3.7-32
!insertmacro RemovePythonPath 3.8-32 !insertmacro RemovePythonPath 3.8-32
!insertmacro RemovePythonPath 3.9-32 !insertmacro RemovePythonPath 3.9-32
!insertmacro RemovePythonPath 3.10-32
!else !else
!insertmacro RemovePythonPath 3.5 !insertmacro RemovePythonPath 3.5
!insertmacro RemovePythonPath 3.6 !insertmacro RemovePythonPath 3.6
!insertmacro RemovePythonPath 3.7 !insertmacro RemovePythonPath 3.7
!insertmacro RemovePythonPath 3.8 !insertmacro RemovePythonPath 3.8
!insertmacro RemovePythonPath 3.9 !insertmacro RemovePythonPath 3.9
!insertmacro RemovePythonPath 3.10
!endif !endif
SetDetailsPrint both SetDetailsPrint both
@ -876,12 +894,14 @@ SectionEnd
!insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.7-32} $(DESC_SecPyBindings3.7-32) !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.7-32} $(DESC_SecPyBindings3.7-32)
!insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.8-32} $(DESC_SecPyBindings3.8-32) !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.8-32} $(DESC_SecPyBindings3.8-32)
!insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.9-32} $(DESC_SecPyBindings3.9-32) !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.9-32} $(DESC_SecPyBindings3.9-32)
!insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.10-32} $(DESC_SecPyBindings3.10-32)
!else !else
!insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.5} $(DESC_SecPyBindings3.5) !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.5} $(DESC_SecPyBindings3.5)
!insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.6} $(DESC_SecPyBindings3.6) !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.6} $(DESC_SecPyBindings3.6)
!insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.7} $(DESC_SecPyBindings3.7) !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.7} $(DESC_SecPyBindings3.7)
!insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.8} $(DESC_SecPyBindings3.8) !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.8} $(DESC_SecPyBindings3.8)
!insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.9} $(DESC_SecPyBindings3.9) !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.9} $(DESC_SecPyBindings3.9)
!insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.10} $(DESC_SecPyBindings3.10)
!endif !endif
!ifdef INCLUDE_PYVER !ifdef INCLUDE_PYVER
!insertmacro MUI_DESCRIPTION_TEXT ${SecPython} $(DESC_SecPython) !insertmacro MUI_DESCRIPTION_TEXT ${SecPython} $(DESC_SecPython)

View File

@ -153,6 +153,7 @@ def MakeInstallerNSIS(version, file, title, installdir, compressor="lzma", **kwa
'BUILT' : '..\\' + outputdir, 'BUILT' : '..\\' + outputdir,
'SOURCE' : '..', 'SOURCE' : '..',
'REGVIEW' : regview, 'REGVIEW' : regview,
'MAJOR_VER' : '.'.join(version.split('.')[:2]),
} }
# Are we shipping a version of Python? # Are we shipping a version of Python?