Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 0 additions & 20 deletions ports/xalan-c/fix-linux-no-bin.patch

This file was deleted.

48 changes: 0 additions & 48 deletions ports/xalan-c/fix-missing-dll-error.patch

This file was deleted.

15 changes: 0 additions & 15 deletions ports/xalan-c/fix-win-deprecated-err.patch

This file was deleted.

41 changes: 1 addition & 40 deletions ports/xalan-c/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,40 +1 @@
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO apache/xalan-c
REF 4055bb0c58e3053b04fcd0c68fdcda8f84411213 #1.12
SHA512 0d591f5a07dbc69050c7b696189c46a32e6dd7a80a302fd38dcc82f9454688729e361c4d5c3b0aacfc3acc7df78c0981ba54eb3ce82b1ca6566a30aa19648280
PATCHES
fix-win-deprecated-err.patch
fix-missing-dll-error.patch
fix-linux-no-bin.patch
)

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_ICU=ON
)

vcpkg_install_cmake()
vcpkg_copy_tools(TOOL_NAMES Xalan AUTO_CLEAN)

if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake)
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/xalanc)
else()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/XalanC TARGET_PATH share/xalanc)
endif()

# cleanup
file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/debug/include
${CURRENT_PACKAGES_DIR}/debug/share
)

# Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

vcpkg_copy_pdbs()

vcpkg_fixup_pkgconfig()
SET(VCPKG_POLICY_EMPTY_PACKAGE enabled)
10 changes: 3 additions & 7 deletions ports/xalan-c/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
{
"name": "xalan-c",
"version": "1.12",
"port-version": 1,
"description": "Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types",
"homepage": "https://github.com/apache/xalan-c",
"dependencies": [
"xerces-c"
]
"version-string": "deprecated",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change makes it impossible to add more patches (port versions) to 1.12.

"description": "Retired port. libxslt, qt5xmlpatterns and SaxonC are alternatives to consider.",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

qt5xmlpatterns is deprecated, saxonc is paid...
Btw why remove port? Just issue a warning in portfile

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The retirement of the Xalan-C project is a wholly separate concern from what other projects are or are not doing. I have put them in the PR as suggestions for users who will be affected to consider. You're right that the alternatives aren't necessarily good either, but the Xalan-C project is being wound up and end-users will need to consider their options. It may well be the case that paying for SaxonC is the better choice.

With regard to deprecation, I've followed the pattern used by other projects in vcpkg. I haven't seen any which are both marked deprecated and which are still buildable. That doesn't appear to be possible with the current practice of putting "deprecated" into the version string, rather than having some additional metadata for that purpose.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

other projects in vcpkg

please give example projects. I also see no reason to remove the port itself.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Examples: gdcm2, lodepng-c, qt5-modularscripts, qtquickcontrols2. Two of these have a dependency on their replacement. That's not possible to do in the case of xalan-c.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The examples you give have not been removed. They either have been renamed within vcpkg or been integrated into other ports. As such the libraries they represent still exist within vcpkg. (especially qt5-modularscripts was just an unnecessary internal vcpkg helper port)

As long as the github repo exists I don't see any real reason to remove it.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If vcpkg provides a mechanism to deprecate a port while retaining the ability to build it, then please point me to an example of this and I'll be happy to update this PR to follow that example. But if that's something which vcpkg doesn't currently cater for, then that's perhaps something the vcpkg maintainers need to provide some mechanism for.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The version string is not suitable here: The version-string will not take part in version number resolution for manifest requirements. But vcpkg may need to add new patches to the current version.

"license": "Apache-2.0"
}
4 changes: 2 additions & 2 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -7993,8 +7993,8 @@
"port-version": 7
},
"xalan-c": {
"baseline": "1.12",
"port-version": 1
"baseline": "deprecated",
"port-version": 0
},
"xapian": {
"baseline": "1.4.21",
Expand Down