From ae3d33b8e067e28b47de089cc35a7ddb95f215e3 Mon Sep 17 00:00:00 2001 From: Socrates Date: Wed, 19 Mar 2025 11:25:18 +0800 Subject: [PATCH 1/3] add pugixml to thirdlibrary --- dist/LICENSE-dist.txt | 1 + dist/licenses/LICENSE-pugixml.txt | 24 ++++++++++++++++++++++++ thirdparty/CHANGELOG.md | 1 + thirdparty/build-thirdparty.sh | 17 +++++++++++++++++ thirdparty/vars.sh | 6 ++++++ 5 files changed, 49 insertions(+) create mode 100644 dist/licenses/LICENSE-pugixml.txt diff --git a/dist/LICENSE-dist.txt b/dist/LICENSE-dist.txt index 512897abb8f0f0..edcdc388417cb0 100644 --- a/dist/LICENSE-dist.txt +++ b/dist/LICENSE-dist.txt @@ -1537,3 +1537,4 @@ Other dependencies: * concurrentqueue: 1.0.3 -- licenses/LICENSE-concurrentqueue.txt * FlameGraph -- licenses/LICENSE-CDDL-1.0.txt * icu 75.1 -- licenses/LICENSE-icu.txt + * pugixml 1.15 -- licenses/LICENSE-pugixml.txt diff --git a/dist/licenses/LICENSE-pugixml.txt b/dist/licenses/LICENSE-pugixml.txt new file mode 100644 index 00000000000000..8cb76c9df6d17a --- /dev/null +++ b/dist/licenses/LICENSE-pugixml.txt @@ -0,0 +1,24 @@ +MIT License + +Copyright (c) 2006-2025 Arseny Kapoulkine + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/CHANGELOG.md b/thirdparty/CHANGELOG.md index 6dae50f66538ff..17cdc21f9d355c 100644 --- a/thirdparty/CHANGELOG.md +++ b/thirdparty/CHANGELOG.md @@ -9,6 +9,7 @@ This file contains version of the third-party dependency libraries in the build- ## 20250318 - Modified: hadoop-libs 3.3.6.5 -> 3.3.6.6 +- Added: pugixml 1.15, a C++ XML processing library. ## 20250225 diff --git a/thirdparty/build-thirdparty.sh b/thirdparty/build-thirdparty.sh index 1f6c346e563f5f..6867c934ce4eb6 100755 --- a/thirdparty/build-thirdparty.sh +++ b/thirdparty/build-thirdparty.sh @@ -1866,6 +1866,22 @@ build_jindofs() { cp -r ${TP_SOURCE_DIR}/${JINDOFS_SOURCE}/* "${TP_INSTALL_DIR}/jindofs_libs/" } +# pugixml +build_pugixml() { + check_if_source_exist "${PUGIXML_SOURCE}" + cd "${TP_SOURCE_DIR}/${PUGIXML_SOURCE}" + + rm -rf "${BUILD_DIR}" + mkdir -p "${BUILD_DIR}" + cd "${BUILD_DIR}" + + "${CMAKE_CMD}" -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DCMAKE_BUILD_TYPE=Release .. + "${BUILD_SYSTEM}" -j "${PARALLEL}" + "${BUILD_SYSTEM}" install + + cp -r "${TP_SOURCE_DIR}/${PUGIXML_SOURCE}/src"/* "${TP_INSTALL_DIR}/include/" +} + if [[ "${#packages[@]}" -eq 0 ]]; then packages=( jindofs @@ -1937,6 +1953,7 @@ if [[ "${#packages[@]}" -eq 0 ]]; then dragonbox brotli icu + pugixml ) if [[ "$(uname -s)" == 'Darwin' ]]; then read -r -a packages <<<"binutils gettext ${packages[*]}" diff --git a/thirdparty/vars.sh b/thirdparty/vars.sh index df6a1c739ea17e..685865d56da1cd 100644 --- a/thirdparty/vars.sh +++ b/thirdparty/vars.sh @@ -532,6 +532,11 @@ JINDOFS_NAME=jindofs-6.3.4-libs.tar.gz JINDOFS_SOURCE=jindofs-6.3.4-libs JINDOFS_MD5SUM="75e4869a3f179cb1d8c4c440ae92a356" +# pugixml +PUGIXML_DOWNLOAD="https://github.com/zeux/pugixml/releases/download/v1.15/pugixml-1.15.tar.gz" +PUGIXML_NAME=pugixml-1.15.tar.gz +PUGIXML_SOURCE=pugixml-1.15 +PUGIXML_MD5SUM="3b894c29455eb33a40b165c6e2de5895" # all thirdparties which need to be downloaded is set in array TP_ARCHIVES export TP_ARCHIVES=( @@ -612,6 +617,7 @@ export TP_ARCHIVES=( 'DRAGONBOX' 'ICU' 'JINDOFS' + 'PUGIXML' ) if [[ "$(uname -s)" == 'Darwin' ]]; then From f718aa31d3cba1209820f2c4430dc75e1a6a5600 Mon Sep 17 00:00:00 2001 From: Socrates Date: Mon, 24 Mar 2025 15:36:55 +0800 Subject: [PATCH 2/3] fix --- thirdparty/CHANGELOG.md | 5 ++++- thirdparty/build-thirdparty.sh | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/thirdparty/CHANGELOG.md b/thirdparty/CHANGELOG.md index 17cdc21f9d355c..fd7e694c95ea3c 100644 --- a/thirdparty/CHANGELOG.md +++ b/thirdparty/CHANGELOG.md @@ -2,6 +2,10 @@ This file contains version of the third-party dependency libraries in the build-env image. The docker build-env image is apache/doris, and the tag is `build-env-${version}` +## 20250324 + +- Added: pugixml 1.15, a C++ XML processing library. + ## 20250319 - Added: jindofs 6.3.4 @@ -9,7 +13,6 @@ This file contains version of the third-party dependency libraries in the build- ## 20250318 - Modified: hadoop-libs 3.3.6.5 -> 3.3.6.6 -- Added: pugixml 1.15, a C++ XML processing library. ## 20250225 diff --git a/thirdparty/build-thirdparty.sh b/thirdparty/build-thirdparty.sh index 6867c934ce4eb6..fea8884688aabf 100755 --- a/thirdparty/build-thirdparty.sh +++ b/thirdparty/build-thirdparty.sh @@ -1879,7 +1879,7 @@ build_pugixml() { "${BUILD_SYSTEM}" -j "${PARALLEL}" "${BUILD_SYSTEM}" install - cp -r "${TP_SOURCE_DIR}/${PUGIXML_SOURCE}/src"/* "${TP_INSTALL_DIR}/include/" + cp -r "${TP_SOURCE_DIR}/${PUGIXML_SOURCE}/src/*.hpp" "${TP_INSTALL_DIR}/include/" } if [[ "${#packages[@]}" -eq 0 ]]; then From deba78409f8846d9ec96d79b6b4db69236864afe Mon Sep 17 00:00:00 2001 From: Socrates Date: Mon, 24 Mar 2025 17:43:52 +0800 Subject: [PATCH 3/3] fix --- thirdparty/build-thirdparty.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/thirdparty/build-thirdparty.sh b/thirdparty/build-thirdparty.sh index fea8884688aabf..71cdecdf709251 100755 --- a/thirdparty/build-thirdparty.sh +++ b/thirdparty/build-thirdparty.sh @@ -1879,7 +1879,8 @@ build_pugixml() { "${BUILD_SYSTEM}" -j "${PARALLEL}" "${BUILD_SYSTEM}" install - cp -r "${TP_SOURCE_DIR}/${PUGIXML_SOURCE}/src/*.hpp" "${TP_INSTALL_DIR}/include/" + cp "${TP_SOURCE_DIR}/${PUGIXML_SOURCE}/src/pugixml.hpp" "${TP_INSTALL_DIR}/include/" + cp "${TP_SOURCE_DIR}/${PUGIXML_SOURCE}/src/pugiconfig.hpp" "${TP_INSTALL_DIR}/include/" } if [[ "${#packages[@]}" -eq 0 ]]; then