Re: git: 450aafcba559 - main - textproc/tinyxml2: Update to 10.0.0

From: <jbo_at_insane.engineer>
Date: Thu, 22 Feb 2024 21:27:22 UTC
On Wednesday, February 21st, 2024 at 16:20, Po-Chuan Hsieh <sunpoet@FreeBSD.org> wrote: 
> The branch main has been updated by sunpoet:
> 
> URL: https://cgit.FreeBSD.org/ports/commit/?id=450aafcba559f95c94c5f195d83b5fe4fdc3748a
> 
> commit 450aafcba559f95c94c5f195d83b5fe4fdc3748a
> Author: Po-Chuan Hsieh sunpoet@FreeBSD.org
> 
> AuthorDate: 2024-02-21 14:29:27 +0000
> Commit: Po-Chuan Hsieh sunpoet@FreeBSD.org
> 
> CommitDate: 2024-02-21 15:06:47 +0000
> 
> textproc/tinyxml2: Update to 10.0.0
> 
> - Convert to meson
> - Fix 0c022f0fc854184d95ff3303049a063a39b1f551
> - Bump PORTREVISION for package change
> - Bump PORTREVISION of dependent ports for shlib change
> - Remove duplicate PORTREVISION from math/linbox
> 
> Changes: https://github.com/leethomason/tinyxml2/releases
> https://github.com/leethomason/tinyxml2/commits/master
> ---
> devel/ignition-common/Makefile | 2 +-
> games/aquaria/Makefile | 2 +-
> games/irrlamb/Makefile | 2 +-
> games/stuntrally/Makefile | 2 +-
> games/trigger-rally/Makefile | 2 +-
> math/linbox/Makefile | 3 +--
> misc/dartsim/Makefile | 2 +-
> misc/sdformat/Makefile | 2 +-
> net/ecal/Makefile | 4 ++--
> net/ecal/files/patch-CMakeLists.txt | 13 +++++++++--
> .../patch-app_rec_rec__server__core_CMakeLists.txt | 18 +++++++++++++++
> .../files/patch-app_sys_sys__core_CMakeLists.txt | 18 +++++++++++++++
> sysutils/fusefs-encfs/Makefile | 2 +-
> textproc/tinyxml2/Makefile | 26 +++++++++++++---------
> textproc/tinyxml2/pkg-plist | 7 ++----
> 15 files changed, 76 insertions(+), 29 deletions(-)
> 
> diff --git a/devel/ignition-common/Makefile b/devel/ignition-common/Makefile
> index c72ad19d551d..037d37d1be2f 100644
> --- a/devel/ignition-common/Makefile
> +++ b/devel/ignition-common/Makefile
> @@ -1,6 +1,6 @@
> PORTNAME= ignition-common
> DISTVERSION= 3.0.0
> -PORTREVISION= 7
> +PORTREVISION= 8
> CATEGORIES= devel
> MASTER_SITES= https://bitbucket.org/${BB_ACCOUNT}/${BB_PROJECT}/get/${BB_COMMIT}.tar.gz?dummy=/
> 
> diff --git a/games/aquaria/Makefile b/games/aquaria/Makefile
> index 0190b93653c5..1c88efd31d6a 100644
> --- a/games/aquaria/Makefile
> +++ b/games/aquaria/Makefile
> @@ -2,7 +2,7 @@ PORTNAME= aquaria
> DISTVERSIONPREFIX= OSE-v
> DISTVERSION= 1.002-22
> DISTVERSIONSUFFIX= -g84366ad
> -PORTREVISION= 9
> +PORTREVISION= 10
> CATEGORIES= games
> 
> PATCH_SITES= https://github.com/AquariaOSE/Aquaria/commit/
> diff --git a/games/irrlamb/Makefile b/games/irrlamb/Makefile
> index f7af030fc0fc..b73849fa824f 100644
> --- a/games/irrlamb/Makefile
> +++ b/games/irrlamb/Makefile
> @@ -1,6 +1,6 @@
> PORTNAME= irrlamb
> PORTVERSION= 1.0.3
> -PORTREVISION= 2
> +PORTREVISION= 3
> DISTVERSIONPREFIX= v
> CATEGORIES= games
> 
> diff --git a/games/stuntrally/Makefile b/games/stuntrally/Makefile
> index be93e34acbc1..16a17e50fd3a 100644
> --- a/games/stuntrally/Makefile
> +++ b/games/stuntrally/Makefile
> @@ -1,6 +1,6 @@
> PORTNAME= stuntrally
> PORTVERSION= 2.7
> -PORTREVISION= 1
> +PORTREVISION= 2
> CATEGORIES= games
> 
> MAINTAINER= amdmi3@FreeBSD.org
> diff --git a/games/trigger-rally/Makefile b/games/trigger-rally/Makefile
> index ff6d08904240..d398cfe85fe9 100644
> --- a/games/trigger-rally/Makefile
> +++ b/games/trigger-rally/Makefile
> @@ -1,6 +1,6 @@
> PORTNAME= trigger-rally
> PORTVERSION= 0.6.6.1
> -PORTREVISION= 4
> +PORTREVISION= 5
> CATEGORIES= games
> MASTER_SITES= SF/trigger-rally/trigger-${PORTVERSION}
> 
> diff --git a/math/linbox/Makefile b/math/linbox/Makefile
> index e1c1f52f8fd2..feb5573bb39e 100644
> --- a/math/linbox/Makefile
> +++ b/math/linbox/Makefile
> @@ -1,8 +1,7 @@
> PORTNAME= linbox
> PORTVERSION= 1.7.0
> -PORTREVISION= 1
> DISTVERSIONPREFIX= v
> -PORTREVISION= 1
> +PORTREVISION= 2
> CATEGORIES= math
> 
> MAINTAINER= thierry@FreeBSD.org
> diff --git a/misc/dartsim/Makefile b/misc/dartsim/Makefile
> index cb519fbc0c7e..99e20177cc9d 100644
> --- a/misc/dartsim/Makefile
> +++ b/misc/dartsim/Makefile
> @@ -1,7 +1,7 @@
> PORTNAME= dartsim
> DISTVERSIONPREFIX= v
> DISTVERSION= 6.13.0
> -PORTREVISION= 4
> +PORTREVISION= 5
> CATEGORIES= misc
> 
> MAINTAINER= yuri@FreeBSD.org
> diff --git a/misc/sdformat/Makefile b/misc/sdformat/Makefile
> index 055c562630b8..3452825ca889 100644
> --- a/misc/sdformat/Makefile
> +++ b/misc/sdformat/Makefile
> @@ -1,6 +1,6 @@
> PORTNAME= sdformat
> DISTVERSION= 8.0.0
> -PORTREVISION= 4
> +PORTREVISION= 5
> CATEGORIES= misc
> MASTER_SITES= https://bitbucket.org/${BB_ACCOUNT}/${BB_PROJECT}/get/${BB_COMMIT}.tar.gz?dummy=/
> 
> diff --git a/net/ecal/Makefile b/net/ecal/Makefile
> index 7fc5223617ab..b984fdfc6696 100644
> --- a/net/ecal/Makefile
> +++ b/net/ecal/Makefile
> @@ -1,7 +1,7 @@
> PORTNAME= ecal
> DISTVERSIONPREFIX= v
> DISTVERSION= 5.12.1
> -PORTREVISION= 3
> +PORTREVISION= 4
> CATEGORIES= net devel
> 
> MAINTAINER= yuri@FreeBSD.org
> @@ -53,7 +53,7 @@ CMAKE_ARGS= -DGIT_REVISION_MAJOR=${DISTVERSION:R:R} \
> -Dqwt_LIBRARY=${LOCALBASE}/lib/qt5/libqwt6.so
> 
> CXXFLAGS+= -pthread # see https://github.com/eclipse-ecal/ecal/issues/933
> -LDFLAGS+= -labsl_hash -labsl_log_internal_message -labsl_log_internal_nullguard -labsl_spinlock_wait
> +LDFLAGS+= -labsl_hash -labsl_log_internal_message -labsl_log_internal_nullguard -labsl_spinlock_wait -ltinyxml2
> USE_CXXSTD= c++17
> 
> PLIST_SUB= VERSION=${DISTVERSION}
> diff --git a/net/ecal/files/patch-CMakeLists.txt b/net/ecal/files/patch-CMakeLists.txt
> index 2f925210f236..86a38629e154 100644
> --- a/net/ecal/files/patch-CMakeLists.txt
> +++ b/net/ecal/files/patch-CMakeLists.txt
> @@ -1,6 +1,15 @@
> ---- CMakeLists.txt.orig 2022-12-23 09:10:20 UTC
> +--- CMakeLists.txt.orig 2023-10-27 08:38:06 UTC
> +++ CMakeLists.txt
> -@@ -231,7 +231,7 @@ endif()
> +@@ -182,7 +182,7 @@ endif()
> + set(possible_subprojects
> + Protobuf
> + spdlog
> +- tinyxml2
> ++ #tinyxml2
> + fineftp
> + termcolor
> + recycle
> +@@ -234,7 +234,7 @@ endif()
> 
> find_package(CMakeFunctions REQUIRED)
> 
> diff --git a/net/ecal/files/patch-app_rec_rec__server__core_CMakeLists.txt b/net/ecal/files/patch-app_rec_rec__server__core_CMakeLists.txt
> new file mode 100644
> index 000000000000..25e820f74e07
> --- /dev/null
> +++ b/net/ecal/files/patch-app_rec_rec__server__core_CMakeLists.txt
> @@ -0,0 +1,18 @@
> +--- app/rec/rec_server_core/CMakeLists.txt.orig 2023-10-27 08:38:06 UTC
> ++++ app/rec/rec_server_core/CMakeLists.txt
> +@@ -20,7 +20,6 @@ find_package(Threads REQUIRED)
> + find_package(Protobuf REQUIRED)
> + find_package(spdlog REQUIRED)
> + find_package(fineftp REQUIRED)
> +-find_package(tinyxml2 REQUIRED)
> +
> + set(PROJECT_NAME rec_server_core)
> +
> +@@ -66,7 +65,6 @@ create_targets_protobuf()
> +
> + target_link_libraries(${PROJECT_NAME}
> + PRIVATE
> +- tinyxml2::tinyxml2
> + protobuf::libprotobuf
> + eCAL::core
> + eCAL::app_pb
> diff --git a/net/ecal/files/patch-app_sys_sys__core_CMakeLists.txt b/net/ecal/files/patch-app_sys_sys__core_CMakeLists.txt
> new file mode 100644
> index 000000000000..67c058691f49
> --- /dev/null
> +++ b/net/ecal/files/patch-app_sys_sys__core_CMakeLists.txt
> @@ -0,0 +1,18 @@
> +--- app/sys/sys_core/CMakeLists.txt.orig 2023-10-27 08:38:06 UTC
> ++++ app/sys/sys_core/CMakeLists.txt
> +@@ -21,7 +21,6 @@ project(sys_core)
> + find_package(Threads REQUIRED)
> + find_package(Protobuf REQUIRED)
> + find_package(spdlog REQUIRED)
> +-find_package(tinyxml2 REQUIRED)
> +
> + set(ecalsyscore_src
> + include/ecalsys/ecal_sys.h
> +@@ -88,7 +87,6 @@ create_targets_protobuf()
> +
> + target_link_libraries(${PROJECT_NAME}
> + Threads::Threads
> +- tinyxml2::tinyxml2
> + spdlog::spdlog
> + protobuf::libprotobuf
> + eCAL::core
> diff --git a/sysutils/fusefs-encfs/Makefile b/sysutils/fusefs-encfs/Makefile
> index 533886cd24a9..4734f5ee05ea 100644
> --- a/sysutils/fusefs-encfs/Makefile
> +++ b/sysutils/fusefs-encfs/Makefile
> @@ -1,7 +1,7 @@
> PORTNAME= encfs
> DISTVERSIONPREFIX= v
> DISTVERSION= 1.9.5
> -PORTREVISION= 6
> +PORTREVISION= 7
> CATEGORIES= sysutils
> PKGNAMEPREFIX= fusefs-
> 
> diff --git a/textproc/tinyxml2/Makefile b/textproc/tinyxml2/Makefile
> index c465308fda25..1dc724e82cf4 100644
> --- a/textproc/tinyxml2/Makefile
> +++ b/textproc/tinyxml2/Makefile
> @@ -1,27 +1,30 @@
> PORTNAME= tinyxml2
> -DISTVERSION= 10.0.0
> +PORTVERSION= 10.0.0
> +PORTREVISION= 1
> PORTEPOCH= 1
> CATEGORIES= textproc
> 
> MAINTAINER= sunpoet@FreeBSD.org
> COMMENT= Small C++ XML Parser
> -WWW= https://github.com/leethomason/tinyxml2
> +WWW= https://leethomason.github.io/tinyxml2/ \
> + https://github.com/leethomason/tinyxml2
> 
> LICENSE= ZLIB
> LICENSE_FILE= ${WRKSRC}/LICENSE.txt
> 
> -USES= cmake:testing compiler:c++11-lang cpe dos2unix pathfix
> -CPE_VENDOR= tinyxml2_project
> +USES= compiler:c++11-lang cpe dos2unix meson pathfix
> +
> +MESON_ARGS= --default-library=both \
> + -Ddebug=false \
> + -Dtests=true
> USE_LDCONFIG= yes
> 
> -USE_GITHUB= yes
> -GH_ACCOUNT= leethomason
> +PLIST_SUB= PORTVERSION=${PORTVERSION}
> 
> -CMAKE_TESTING_ON= tinyxml2_BUILD_TESTING
> -PLIST_SUB= DISTVERSION=${DISTVERSION}
> +GH_ACCOUNT= leethomason
> +USE_GITHUB= yes
> 
> -CMAKE_OFF= tinyxml2_BUILD_TESTING
> -CMAKE_ON= BUILD_SHARED_LIBS
> +CPE_VENDOR= tinyxml2_project
> 
> OPTIONS_DEFINE= EXAMPLES
> 
> @@ -29,4 +32,7 @@ post-install-EXAMPLES-on:
> ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/
> cd ${WRKSRC}/ && ${COPYTREE_SHARE} resources ${STAGEDIR}${EXAMPLESDIR}/
> 
> +do-test:
> + cd ${WRKSRC}/ && _build/xmltest
> +
> .include <bsd.port.mk>
> 
> diff --git a/textproc/tinyxml2/pkg-plist b/textproc/tinyxml2/pkg-plist
> index c12561808480..d18bc5bb434e 100644
> --- a/textproc/tinyxml2/pkg-plist
> +++ b/textproc/tinyxml2/pkg-plist
> @@ -1,11 +1,8 @@
> include/tinyxml2.h
> -lib/cmake/tinyxml2/tinyxml2-config-version.cmake
> -lib/cmake/tinyxml2/tinyxml2-config.cmake
> -lib/cmake/tinyxml2/tinyxml2-shared-targets-%%CMAKE_BUILD_TYPE%%.cmake
> -lib/cmake/tinyxml2/tinyxml2-shared-targets.cmake
> +lib/libtinyxml2.a
> lib/libtinyxml2.so
> lib/libtinyxml2.so.10
> -lib/libtinyxml2.so.%%DISTVERSION%%
> +lib/libtinyxml2.so.%%PORTVERSION%%
> libdata/pkgconfig/tinyxml2.pc
> %%PORTEXAMPLES%%%%EXAMPLESDIR%%/resources/dream.xml
> %%PORTEXAMPLES%%%%EXAMPLESDIR%%/resources/empty.xml

Hi,

This commit is in my opinion problematic.
The change in build system is causing consumers to no longer being able to use CMake's find_package() and 
the workaround that was put into place for some consumers is hacky at best and unacceptable at worst.
find_package() is doing a lot more under the hood than just setting an LDFLAG.

At least one consumer is still broken now (devel/gpds).

See PR #277227

Also, the commit message suggests that there was an update to 10.0.0 but the port was already at 10.0.0.


Best regards,
~ jbo