Browse Source

Merge branch 'release/1.10.x'

rdb 5 years ago
parent
commit
131ae98bfd
4 changed files with 58 additions and 13 deletions
  1. 22 0
      doc/ReleaseNotes
  2. 5 3
      dtool/src/dtoolutil/executionEnvironment.cxx
  3. 30 10
      makepanda/installer.nsi
  4. 1 0
      makepanda/makepackage.py

+ 22 - 0
doc/ReleaseNotes

@@ -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  -----------------------
 
 This is primarily a bugfix release, but includes a few new features as well.

+ 5 - 3
dtool/src/dtoolutil/executionEnvironment.cxx

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

+ 30 - 10
makepanda/installer.nsi

@@ -30,6 +30,7 @@ SetCompressor ${COMPRESSOR}
 !include "MUI2.nsh"
 !include "Sections.nsh"
 !include "WinMessages.nsh"
+!include "WinVer.nsh"
 !include "WordFunc.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."
 
 var READABLE
-var MANPAGE
 
 ; See http://nsis.sourceforge.net/Check_if_a_file_exists_at_compile_time for documentation
 !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.8-32 .cp38-win32.pyd
         !insertmacro PyBindingSection 3.9-32 .cp39-win32.pyd
+        !insertmacro PyBindingSection 3.10-32 .cp310-win32.pyd
     !else
         !insertmacro PyBindingSection 3.5 .cp35-win_amd64.pyd
         !insertmacro PyBindingSection 3.6 .cp36-win_amd64.pyd
         !insertmacro PyBindingSection 3.7 .cp37-win_amd64.pyd
         !insertmacro PyBindingSection 3.8 .cp38-win_amd64.pyd
         !insertmacro PyBindingSection 3.9 .cp39-win_amd64.pyd
+        !insertmacro PyBindingSection 3.10 .cp310-win_amd64.pyd
     !endif
 SectionGroupEnd
 
@@ -483,14 +485,32 @@ Function .onInit
         !insertmacro MaybeEnablePyBindingSection 3.6-32
         !insertmacro MaybeEnablePyBindingSection 3.7-32
         !insertmacro MaybeEnablePyBindingSection 3.8-32
+        ${If} ${AtLeastWin8}
         !insertmacro MaybeEnablePyBindingSection 3.9-32
+        !insertmacro MaybeEnablePyBindingSection 3.10-32
+        ${EndIf}
     !else
         !insertmacro MaybeEnablePyBindingSection 3.5
         !insertmacro MaybeEnablePyBindingSection 3.6
         !insertmacro MaybeEnablePyBindingSection 3.7
         !insertmacro MaybeEnablePyBindingSection 3.8
+        ${If} ${AtLeastWin8}
         !insertmacro MaybeEnablePyBindingSection 3.9
+        !insertmacro MaybeEnablePyBindingSection 3.10
+        ${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
 
 Function .onSelChange
@@ -599,13 +619,14 @@ Section "Sample programs" SecSamples
 
     SetOutPath $INSTDIR
     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\Samples.url "InternetShortcut" "URL" "https://www.panda3d.org/manual/index.php/Sample_Programs_in_the_Distribution"
+    WriteINIStr $INSTDIR\Manual.url "InternetShortcut" "URL" "https://docs.panda3d.org/${MAJOR_VER}"
+    WriteINIStr $INSTDIR\Samples.url "InternetShortcut" "URL" "https://docs.panda3d.org/${MAJOR_VER}/python/more-resources/samples/index"
     SetOutPath $INSTDIR
     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}\Sample Program Manual.lnk" "$INSTDIR\Samples.url" "" "$INSTDIR\pandaIcon.ico" 0 "" "" "Sample Program Manual"
 
+    ${Unless} ${AtLeastWin8}
     FindFirst $0 $1 $INSTDIR\samples\*
     loop:
         StrCmp $1 "" done
@@ -620,16 +641,10 @@ Section "Sample programs" SecSamples
         Call Capitalize
         Pop $R0
         StrCpy $READABLE $R0
-        Push $1
-        Push "-"
-        Push "_"
-        Call StrRep
-        Pop $R0
-        StrCpy $MANPAGE $R0
         DetailPrint "Creating shortcuts for sample program $READABLE"
         CreateDirectory "$SMPROGRAMS\${TITLE}\Sample Programs\$READABLE"
         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\View Source Code.lnk" "$INSTDIR\samples\$1"
         iloop:
@@ -643,6 +658,7 @@ Section "Sample programs" SecSamples
         FindNext $0 $1
         Goto loop
     done:
+    ${EndUnless}
 SectionEnd
 !endif
 
@@ -803,12 +819,14 @@ Section Uninstall
         !insertmacro RemovePythonPath 3.7-32
         !insertmacro RemovePythonPath 3.8-32
         !insertmacro RemovePythonPath 3.9-32
+        !insertmacro RemovePythonPath 3.10-32
     !else
         !insertmacro RemovePythonPath 3.5
         !insertmacro RemovePythonPath 3.6
         !insertmacro RemovePythonPath 3.7
         !insertmacro RemovePythonPath 3.8
         !insertmacro RemovePythonPath 3.9
+        !insertmacro RemovePythonPath 3.10
     !endif
 
     SetDetailsPrint both
@@ -876,12 +894,14 @@ SectionEnd
     !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.9-32} $(DESC_SecPyBindings3.9-32)
+    !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.10-32} $(DESC_SecPyBindings3.10-32)
   !else
     !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.5} $(DESC_SecPyBindings3.5)
     !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.6} $(DESC_SecPyBindings3.6)
     !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.7} $(DESC_SecPyBindings3.7)
     !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.8} $(DESC_SecPyBindings3.8)
     !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.9} $(DESC_SecPyBindings3.9)
+    !insertmacro MUI_DESCRIPTION_TEXT ${SecPyBindings3.10} $(DESC_SecPyBindings3.10)
   !endif
   !ifdef INCLUDE_PYVER
     !insertmacro MUI_DESCRIPTION_TEXT ${SecPython} $(DESC_SecPython)

+ 1 - 0
makepanda/makepackage.py

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