From 9827994d9b4f697b0c3bc08c87f728517930e198 Mon Sep 17 00:00:00 2001
From: Erik Kundiman <erik@megapahit.org>
Date: Sat, 31 Aug 2024 14:45:16 +0800
Subject: Revert "macOS uses prebuilt Collada DOM binaries"

This reverts commit 3bba39cf3e4d56da5aba883479539ed89fa578b9.
---
 autobuild.xml                 |  2 +-
 indra/cmake/LLPrimitive.cmake | 86 ++++++++++++++++++++++---------------------
 2 files changed, 45 insertions(+), 43 deletions(-)

diff --git a/autobuild.xml b/autobuild.xml
index a33c994055..ee5dcdb8d9 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -248,7 +248,7 @@
               <key>hash_algorithm</key>
               <string>sha1</string>
               <key>url</key>
-              <string>https://megapahit.net/downloads/colladadom-2.3.8500178177-darwin64-8500178177.tar.zst</string>
+              <string>https://github.com/secondlife/3p-colladadom/releases/download/v2.3-r4/colladadom-2.3.8500178177-darwin64-8500178177.tar.zst</string>
             </map>
             <key>name</key>
             <string>darwin64</string>
diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake
index 216f4d574a..9ea7ff899e 100644
--- a/indra/cmake/LLPrimitive.cmake
+++ b/indra/cmake/LLPrimitive.cmake
@@ -29,7 +29,7 @@ if(LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD )
 endif(LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD )
 
 if( USESYSTEMLIBS )
-  if ( NOT DARWIN AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0) )
+  if ( ${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0 )
     if (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4.tar.gz)
       file(DOWNLOAD
         https://github.com/secondlife/3p-colladadom/archive/refs/tags/v2.3-r4.tar.gz
@@ -45,24 +45,47 @@ if( USESYSTEMLIBS )
     pkg_check_modules(Minizip REQUIRED minizip)
     pkg_check_modules(Libxml2 REQUIRED libxml-2.0)
     pkg_check_modules(Libpcrecpp libpcrecpp)
-    try_compile(COLLADADOM_RESULT
-      PROJECT colladadom
-      SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
-      BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
-      TARGET collada14dom
-      CMAKE_FLAGS
-        -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-        -DOPT_COLLADA14:BOOL=ON
-        -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:FILEPATH=${LIBS_PREBUILT_DIR}/include/collada
-        -DCOLLADA_DOM_SOVERSION:STRING=0
-        -DCOLLADA_DOM_VERSION:STRING=2.3-r4
-        -DEXTRA_COMPILE_FLAGS:STRING="-I${Minizip_INCLUDE_DIRS} -I${Libxml2_INCLUDE_DIRS} -I${Libpcrecpp_INCLUDE_DIRS}"
-        -DCMAKE_SHARED_LINKER_FLAGS:STRING="-L${Libxml2_LIBRARY_DIRS} -l${Libxml2_LIBRARIES}"
-        -Dlibpcrecpp_LIBRARIES:STRING=pcrecpp
-        -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem
-        -DBoost_SYSTEM_LIBRARY:STRING=boost_system
-      OUTPUT_VARIABLE colladadom_installed
-      )
+    if (DARWIN)
+      try_compile(COLLADADOM_RESULT
+        PROJECT colladadom
+        SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
+        BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
+        TARGET collada14dom
+        CMAKE_FLAGS
+          -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+          -DOPT_COLLADA14:BOOL=ON
+          -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:FILEPATH=${LIBS_PREBUILT_DIR}/include/collada
+          -DCOLLADA_DOM_SOVERSION:STRING=0
+          -DCOLLADA_DOM_VERSION:STRING=2.3-r4
+          -DEXTRA_COMPILE_FLAGS:STRING="-I${Minizip_INCLUDE_DIRS} -I${Libxml2_INCLUDE_DIRS}"
+          -DCMAKE_SHARED_LINKER_FLAGS:STRING="-L${Libxml2_LIBRARY_DIRS} -l${Libxml2_LIBRARIES}"
+          -Dlibpcrecpp_LIBRARIES:STRING=pcrecpp
+          -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem-mt
+          -DBoost_SYSTEM_LIBRARY:STRING=boost_system-mt
+          -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
+          -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.15
+        OUTPUT_VARIABLE colladadom_installed
+        )
+    else (DARWIN)
+      try_compile(COLLADADOM_RESULT
+        PROJECT colladadom
+        SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
+        BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
+        TARGET collada14dom
+        CMAKE_FLAGS
+          -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+          -DOPT_COLLADA14:BOOL=ON
+          -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:FILEPATH=${LIBS_PREBUILT_DIR}/include/collada
+          -DCOLLADA_DOM_SOVERSION:STRING=0
+          -DCOLLADA_DOM_VERSION:STRING=2.3-r4
+          -DEXTRA_COMPILE_FLAGS:STRING="-I${Minizip_INCLUDE_DIRS} -I${Libxml2_INCLUDE_DIRS} -I${Libpcrecpp_INCLUDE_DIRS}"
+          -DCMAKE_SHARED_LINKER_FLAGS:STRING="-L${Libxml2_LIBRARY_DIRS} -l${Libxml2_LIBRARIES}"
+          -Dlibpcrecpp_LIBRARIES:STRING=pcrecpp
+          -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem
+          -DBoost_SYSTEM_LIBRARY:STRING=boost_system
+        OUTPUT_VARIABLE colladadom_installed
+        )
+    endif (DARWIN)
     if (${COLLADADOM_RESULT})
       file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/include/collada)
       file(
@@ -75,36 +98,15 @@ if( USESYSTEMLIBS )
         )
       file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "0")
     endif (${COLLADADOM_RESULT})
-  endif ( NOT DARWIN AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0) )
+  endif( ${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0 )
 else( USESYSTEMLIBS )
 use_system_binary( colladadom )
-endif( USESYSTEMLIBS )
 
-if( DARWIN OR NOT USESYSTEMLIBS )
 use_prebuilt_binary(colladadom)
-  if( DARWIN )
-    execute_process(
-      COMMAND lipo -archs libcollada14dom.2.3-r4.dylib
-      WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/lib/release
-      OUTPUT_VARIABLE colladadom_archs
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-      )
-    if( NOT ${colladadom_archs} STREQUAL ${CMAKE_OSX_ARCHITECTURES} )
-      execute_process(
-        COMMAND lipo
-          libcollada14dom.2.3-r4.dylib
-          -thin ${CMAKE_OSX_ARCHITECTURES}
-          -output libcollada14dom.2.3-r4.dylib
-        WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/lib/release
-        )
-    endif( NOT ${colladadom_archs} STREQUAL ${CMAKE_OSX_ARCHITECTURES} )
-  endif( DARWIN )
-endif( DARWIN OR NOT USESYSTEMLIBS )
-if( NOT USESYSTEMLIBS )
 use_prebuilt_binary(minizip-ng) # needed for colladadom
 use_prebuilt_binary(pcre)
 use_prebuilt_binary(libxml2)
-endif( NOT USESYSTEMLIBS )
+endif( USESYSTEMLIBS )
 
 target_link_libraries( ll::pcre INTERFACE pcrecpp pcre )
 
-- 
cgit v1.2.3


From 07bd37da5f7c22e0b5c2795e26d821639b0c9823 Mon Sep 17 00:00:00 2001
From: Erik Kundiman <erik@megapahit.org>
Date: Sat, 31 Aug 2024 14:45:42 +0800
Subject: Make sure ColladaDOM gets built now

Spaces are really just troublesome in argument passing. They can't
really be escaped, quoting from -D would even replace spaces with
semicolons. Hence making use of every variable that can be used in
Collada DOM's CMakeLists.txt.
---
 indra/cmake/LLPrimitive.cmake | 56 ++++++++++++++++++++++++++++++-------------
 1 file changed, 40 insertions(+), 16 deletions(-)

diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake
index 9ea7ff899e..b07ff2f850 100644
--- a/indra/cmake/LLPrimitive.cmake
+++ b/indra/cmake/LLPrimitive.cmake
@@ -53,19 +53,32 @@ if( USESYSTEMLIBS )
         TARGET collada14dom
         CMAKE_FLAGS
           -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+          -DCMAKE_SHARED_LINKER_FLAGS:STRING=-L${Libxml2_LIBRARY_DIRS}
+          -Dlibpcrecpp_LIBRARIES:STRING=pcrecpp
+          -DZLIB_LIBRARIES:STRING=${Libxml2_LIBRARIES}
+          -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem-mt
+          -DBoost_SYSTEM_LIBRARY:STRING=boost_system-mt
+          -Dlibpcrecpp_CFLAGS_OTHERS:STRING=-I${Libpcrecpp_INCLUDE_DIRS}/libxml2
+          -DEXTRA_COMPILE_FLAGS:STRING=-I${Minizip_INCLUDE_DIRS}
+          -DBoost_CFLAGS:STRING=-I${Libpcrecpp_INCLUDE_DIRS}
           -DOPT_COLLADA14:BOOL=ON
           -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:FILEPATH=${LIBS_PREBUILT_DIR}/include/collada
           -DCOLLADA_DOM_SOVERSION:STRING=0
           -DCOLLADA_DOM_VERSION:STRING=2.3-r4
-          -DEXTRA_COMPILE_FLAGS:STRING="-I${Minizip_INCLUDE_DIRS} -I${Libxml2_INCLUDE_DIRS}"
-          -DCMAKE_SHARED_LINKER_FLAGS:STRING="-L${Libxml2_LIBRARY_DIRS} -l${Libxml2_LIBRARIES}"
-          -Dlibpcrecpp_LIBRARIES:STRING=pcrecpp
-          -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem-mt
-          -DBoost_SYSTEM_LIBRARY:STRING=boost_system-mt
           -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
           -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.15
         OUTPUT_VARIABLE colladadom_installed
         )
+      if (${COLLADADOM_RESULT})
+        file(
+          COPY
+            ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/src/1.4/libcollada14dom.2.3-r4.dylib
+            ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/src/1.4/libcollada14dom.0.dylib
+            ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/src/1.4/libcollada14dom.dylib
+          DESTINATION ${LIBS_PREBUILT_DIR}/lib/release
+          FOLLOW_SYMLINK_CHAIN
+          )
+      endif (${COLLADADOM_RESULT})
     else (DARWIN)
       try_compile(COLLADADOM_RESULT
         PROJECT colladadom
@@ -74,28 +87,39 @@ if( USESYSTEMLIBS )
         TARGET collada14dom
         CMAKE_FLAGS
           -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+          -DCMAKE_SHARED_LINKER_FLAGS:STRING=-L${Libxml2_LIBRARY_DIRS}
+          -Dlibpcrecpp_LIBRARIES:STRING=pcrecpp
+          -DZLIB_LIBRARIES:STRING=${Libxml2_LIBRARIES}
+          -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem
+          -DBoost_SYSTEM_LIBRARY:STRING=boost_system
+          -Dlibpcrecpp_CFLAGS_OTHERS:STRING=-I${Libxml2_INCLUDE_DIRS}
+          -DEXTRA_COMPILE_FLAGS:STRING=-I${Minizip_INCLUDE_DIRS}
+-I${Libpcrecpp_INCLUDE_DIRS}
           -DOPT_COLLADA14:BOOL=ON
           -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:FILEPATH=${LIBS_PREBUILT_DIR}/include/collada
           -DCOLLADA_DOM_SOVERSION:STRING=0
           -DCOLLADA_DOM_VERSION:STRING=2.3-r4
-          -DEXTRA_COMPILE_FLAGS:STRING="-I${Minizip_INCLUDE_DIRS} -I${Libxml2_INCLUDE_DIRS} -I${Libpcrecpp_INCLUDE_DIRS}"
-          -DCMAKE_SHARED_LINKER_FLAGS:STRING="-L${Libxml2_LIBRARY_DIRS} -l${Libxml2_LIBRARIES}"
-          -Dlibpcrecpp_LIBRARIES:STRING=pcrecpp
-          -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem
-          -DBoost_SYSTEM_LIBRARY:STRING=boost_system
         OUTPUT_VARIABLE colladadom_installed
         )
+      if (${COLLADADOM_RESULT})
+        file(
+          COPY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/src/1.4/libcollada14dom.a
+          DESTINATION ${LIBS_PREBUILT_DIR}/lib/release
+          )
+      endif (${COLLADADOM_RESULT})
     endif (DARWIN)
     if (${COLLADADOM_RESULT})
-      file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/include/collada)
+      file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/include/collada/1.4)
       file(
-        COPY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/dom/include
+        COPY
+          ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/include/1.4
+          ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/include/1.5
+          ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/include/dae
+          ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/include/dae.h
+          ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/include/dom.h
+          ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/include/modules
         DESTINATION ${LIBS_PREBUILT_DIR}/include/collada
         )
-      file(
-        COPY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/dom/libcollada14dom.a
-        DESTINATION ${LIBS_PREBUILT_DIR}/lib/release
-        )
       file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "0")
     endif (${COLLADADOM_RESULT})
   endif( ${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0 )
-- 
cgit v1.2.3


From e012d5116ec19bd37f833b951960771e33b77e42 Mon Sep 17 00:00:00 2001
From: Erik Kundiman <erik@megapahit.org>
Date: Sat, 31 Aug 2024 15:07:51 +0800
Subject: Make sure webrtc gets emptied before refilling it

on macOS arm64, the header directory.
---
 indra/cmake/WebRTC.cmake | 1 +
 1 file changed, 1 insertion(+)

diff --git a/indra/cmake/WebRTC.cmake b/indra/cmake/WebRTC.cmake
index 79d8d30991..92d9d135c6 100644
--- a/indra/cmake/WebRTC.cmake
+++ b/indra/cmake/WebRTC.cmake
@@ -19,6 +19,7 @@ if (CMAKE_OSX_ARCHITECTURES MATCHES arm64)
             INPUT ${CMAKE_BINARY_DIR}/libwebrtc-macos-arm64.tar.xz
             DESTINATION ${LIBS_PREBUILT_DIR}
             )
+        file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/include/webrtc)
         file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/webrtc)
         foreach(directory
           api
-- 
cgit v1.2.3


From 3d6fbf35477f6c79faa16c86bb939f815a9504eb Mon Sep 17 00:00:00 2001
From: Erik Kundiman <erik@megapahit.org>
Date: Sat, 31 Aug 2024 16:58:48 +0800
Subject: Fix Error: Dae parsing issue on FreeBSD

by managing to compile LL's ColladaDOM 2.3 on-the-fly.
---
 indra/cmake/LLPrimitive.cmake | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake
index b07ff2f850..88db8313ae 100644
--- a/indra/cmake/LLPrimitive.cmake
+++ b/indra/cmake/LLPrimitive.cmake
@@ -18,16 +18,6 @@ if( USE_CONAN )
     "${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/1.4/" )
 endif()
 
-if(LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD )
-  include(FindPkgConfig)
-  pkg_check_modules(Colladadom REQUIRED collada-dom)
-  target_compile_definitions( ll::colladadom INTERFACE COLLADA_DOM_SUPPORT141 )
-  target_include_directories( ll::colladadom SYSTEM INTERFACE ${Colladadom_INCLUDE_DIRS} ${Colladadom_INCLUDE_DIRS}/1.4 )
-  target_link_directories( ll::colladadom INTERFACE ${Colladadom_LIBRARY_DIRS} )
-  target_link_libraries( ll::colladadom INTERFACE ${Colladadom_LIBRARIES} )
-  return ()
-endif(LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD )
-
 if( USESYSTEMLIBS )
   if ( ${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0 )
     if (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4.tar.gz)
@@ -45,7 +35,7 @@ if( USESYSTEMLIBS )
     pkg_check_modules(Minizip REQUIRED minizip)
     pkg_check_modules(Libxml2 REQUIRED libxml-2.0)
     pkg_check_modules(Libpcrecpp libpcrecpp)
-    if (DARWIN)
+    if( DARWIN )
       try_compile(COLLADADOM_RESULT
         PROJECT colladadom
         SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
@@ -79,7 +69,12 @@ if( USESYSTEMLIBS )
           FOLLOW_SYMLINK_CHAIN
           )
       endif (${COLLADADOM_RESULT})
-    else (DARWIN)
+    elseif( CMAKE_SYSTEM_NAME MATCHES FreeBSD )
+      execute_process(
+        COMMAND sed -i "" -e "s/linux/FreeBSD/g" dae/daeUtils.cpp
+        COMMAND sed -i "" -e "s/SHARED/STATIC/g" 1.4/CMakeLists.txt
+        WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/src
+        )
       try_compile(COLLADADOM_RESULT
         PROJECT colladadom
         SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4
@@ -94,7 +89,7 @@ if( USESYSTEMLIBS )
           -DBoost_SYSTEM_LIBRARY:STRING=boost_system
           -Dlibpcrecpp_CFLAGS_OTHERS:STRING=-I${Libxml2_INCLUDE_DIRS}
           -DEXTRA_COMPILE_FLAGS:STRING=-I${Minizip_INCLUDE_DIRS}
--I${Libpcrecpp_INCLUDE_DIRS}
+          -DBoost_CFLAGS:STRING=-I${Libpcrecpp_INCLUDE_DIRS}
           -DOPT_COLLADA14:BOOL=ON
           -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:FILEPATH=${LIBS_PREBUILT_DIR}/include/collada
           -DCOLLADA_DOM_SOVERSION:STRING=0
@@ -107,7 +102,7 @@ if( USESYSTEMLIBS )
           DESTINATION ${LIBS_PREBUILT_DIR}/lib/release
           )
       endif (${COLLADADOM_RESULT})
-    endif (DARWIN)
+    endif( DARWIN )
     if (${COLLADADOM_RESULT})
       file(REMOVE_RECURSE ${LIBS_PREBUILT_DIR}/include/collada/1.4)
       file(
@@ -154,6 +149,6 @@ if (WINDOWS)
     target_link_libraries(ll::colladadom INTERFACE libcollada14dom23-s ll::libxml ll::minizip-ng )
 elseif (DARWIN)
     target_link_libraries(ll::colladadom INTERFACE collada14dom ll::libxml ll::minizip-ng)
-elseif (LINUX)
+else ()
     target_link_libraries(ll::colladadom INTERFACE collada14dom ll::libxml ll::minizip-ng)
 endif()
-- 
cgit v1.2.3


From 818b1d521f444b9b5732b4a3573a991dd586d872 Mon Sep 17 00:00:00 2001
From: Erik Kundiman <erik@megapahit.org>
Date: Sat, 31 Aug 2024 20:02:17 +0800
Subject: Remove Collada DOM dependency on FreeBSD

and replace it with direct dependencies on Minizip and PCRE.
---
 README.md                    | 4 ++--
 indra/newview/CMakeLists.txt | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 7c2e865dfd..2a0fc88b9f 100644
--- a/README.md
+++ b/README.md
@@ -87,13 +87,13 @@ $ megapahit
 ```
 $ setenv LL_BUILD "-O3 -std=c++17 -fPIC"
 $ sudo su -
-# portmaster devel/cmake devel/pkgconf audio/freealut devel/apr1 devel/collada-dom x11-toolkits/fltk math/glm textproc/hunspell misc/meshoptimizer graphics/nanosvg graphics/openjpeg devel/sdl20 net/uriparser multimedia/vlc audio/libvorbis net/xmlrpc-epi devel/xxhash
+# portmaster devel/cmake devel/pkgconf audio/freealut devel/apr1 x11-toolkits/fltk math/glm textproc/hunspell misc/meshoptimizer archivers/minizip graphics/nanosvg graphics/openjpeg devel/pcre devel/sdl20 net/uriparser multimedia/vlc audio/libvorbis net/xmlrpc-epi devel/xxhash
 # exit
 $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON ../indra
 $ make -j`nproc`
 $ sudo cpack -G FREEBSD
 $ sudo pkg add megapahit-`cat newview/viewer_version.txt`-FreeBSD.pkg
-$ sudo pkg set -yA 1 freealut apr1 collada-dom fltk hunspell meshoptimizer nanosvg openjpeg sdl20 uriparser vlc libvorbis xmlrpc-epi
+$ sudo pkg set -yA 1 freealut apr1 fltk hunspell meshoptimizer minizip nanosvg openjpeg pcre sdl20 uriparser vlc libvorbis xmlrpc-epi
 $ megapahit
 ```
 
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 0890288a02..968ef7414d 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -2232,7 +2232,7 @@ elseif (USESYSTEMLIBS)
     set(CPACK_FREEBSD_PACKAGE_ORIGIN net/${VIEWER_BINARY_NAME}
       CACHE STRING "FreeBSD package origin.")
     set(CPACK_FREEBSD_PACKAGE_DEPS
-      "audio/freealut;devel/collada-dom;graphics/libGLU;textproc/hunspell;misc/meshoptimizer;www/libnghttp2;graphics/openjpeg;net/uriparser;multimedia/vlc;audio/libvorbis;net/xmlrpc-epi"
+      "audio/freealut;graphics/libGLU;textproc/hunspell;misc/meshoptimizer;archivers/minizip;www/libnghttp2;graphics/openjpeg;devel/pcre;net/uriparser;multimedia/vlc;audio/libvorbis;net/xmlrpc-epi"
       CACHE STRING "FreeBSD package dependencies.")
   endif (CMAKE_SYSTEM_NAME MATCHES FreeBSD AND PACKAGE)
 endif (LINUX)
-- 
cgit v1.2.3


From ab3f483a3e5ed213882a83b882095cfdb6a4de57 Mon Sep 17 00:00:00 2001
From: Erik Kundiman <erik@megapahit.org>
Date: Sat, 31 Aug 2024 20:06:50 +0800
Subject: Revert GNU/Linux to use system Collada DOM for now

---
 indra/cmake/LLPrimitive.cmake | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake
index 88db8313ae..4aa46a5cf8 100644
--- a/indra/cmake/LLPrimitive.cmake
+++ b/indra/cmake/LLPrimitive.cmake
@@ -19,6 +19,15 @@ if( USE_CONAN )
 endif()
 
 if( USESYSTEMLIBS )
+  if( LINUX )
+    include(FindPkgConfig)
+    pkg_check_modules(Colladadom REQUIRED collada-dom)
+    target_compile_definitions( ll::colladadom INTERFACE COLLADA_DOM_SUPPORT141 )
+    target_include_directories( ll::colladadom SYSTEM INTERFACE ${Colladadom_INCLUDE_DIRS} ${Colladadom_INCLUDE_DIRS}/1.4 )
+    target_link_directories( ll::colladadom INTERFACE ${Colladadom_LIBRARY_DIRS} )
+    target_link_libraries( ll::colladadom INTERFACE ${Colladadom_LIBRARIES} )
+    return ()
+  endif( LINUX )
   if ( ${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0 )
     if (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4.tar.gz)
       file(DOWNLOAD
@@ -69,9 +78,14 @@ if( USESYSTEMLIBS )
           FOLLOW_SYMLINK_CHAIN
           )
       endif (${COLLADADOM_RESULT})
-    elseif( CMAKE_SYSTEM_NAME MATCHES FreeBSD )
+    else( DARWIN )
+      if( CMAKE_SYSTEM_NAME MATCHES FreeBSD )
+        execute_process(
+          COMMAND sed -i "" -e "s/linux/FreeBSD/g" dae/daeUtils.cpp
+          WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/src
+          )
+      endif( CMAKE_SYSTEM_NAME MATCHES FreeBSD )
       execute_process(
-        COMMAND sed -i "" -e "s/linux/FreeBSD/g" dae/daeUtils.cpp
         COMMAND sed -i "" -e "s/SHARED/STATIC/g" 1.4/CMakeLists.txt
         WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r4/src
         )
-- 
cgit v1.2.3