[libfyaml] new port, [appstream] update to 1.1.2#51490
[libfyaml] new port, [appstream] update to 1.1.2#51490brunvonlope wants to merge 2 commits intomicrosoft:masterfrom
Conversation
a2cc5c0 to
a38f3a7
Compare
|
Drafting due to build failures in the new port. |
70c3ef2 to
778012a
Compare
3e113bd to
91a61d4
Compare
492d07b to
f41ce33
Compare
|
@BillyONeal May be in decent shape for review now :) |
| set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -Wno-error=incompatible-pointer-types") | ||
| set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -Wno-error=incompatible-pointer-types") |
There was a problem hiding this comment.
Usually we want to get rid of -Werror.
There was a problem hiding this comment.
Could you rephrase? I did not get it
There was a problem hiding this comment.
AFAIU these lines disable -Wno-error for a particular warning. I see that as a symptom of -Werror being used during the port build. (Correct me if I'm wrong.)
In general, it is not desired to have -Werror in port builds. That flags is a helpful tool in controlled environments (i.e. upstream CI, or actual developer). But it is breaking builds too easily when toolchains, targets and time vary over a wide range.
So I suggest to check the buildsystem and logs for signs of -Werror, and to disable that flag.
There was a problem hiding this comment.
appstream uses a lot of -Werror on the main meson.build. I tried passing -Wno-error VCPKG_C*_FLAGS and with meson build options but no success.
The only one that makes to build is disabling -Wno-error=incompatible-pointer-type specifially.
20a4646 to
dc5a7d2
Compare
Needed for appstream port
48b015e to
483ad2b
Compare
BillyONeal
left a comment
There was a problem hiding this comment.
I believe GPT 5.4 is correct about this:
The main review findings are bundled third-party code with likely incomplete license metadata and host-dependent optional components that are not explicitly controlled by the port.
Declared Metadata
- License:
MIT—ports\libfyaml\vcpkg.json:6
Build Invocation Summary
- Primary build helper(s):
vcpkg_cmake_configure,vcpkg_cmake_install,vcpkg_fixup_pkgconfig,vcpkg_copy_tools,vcpkg_cmake_config_fixup—ports\libfyaml\portfile.cmake:31-44 - Key options:
-DBUILD_TESTING=OFF—ports\libfyaml\portfile.cmake:31-35
Vendored Dependencies
-
Bundled component:
xxHash- Evidence:
buildtrees\libfyaml\src\...\src\xxhash\xxhash.c; compiled intofyamlviaCMakeLists.txt:869; BSD-2-Clause notice insrc\xxhash\xxhash.h:9-35 - Status: installed as part of the shipped library
- Assessment: bundled third-party code is used in the library, but it is not modeled in
ports\libfyaml\vcpkg.json
- Evidence:
-
Bundled component: Windows
getopt- Evidence:
CMakeLists.txt:1246-1249addssrc\getopt\getopt.con Windows;fy-toolis installed viaCMakeLists.txt:1684-1690and copied byports\libfyaml\portfile.cmake:42; BSD-3-Clause text insrc\getopt\LICENSE.getopt - Status: installed indirectly in the shipped
fy-tool.exe - Assessment: bundled Windows-only dependency, also not modeled in metadata
- Evidence:
-
Bundled component:
BLAKE3- Evidence:
CMakeLists.txt:877-907,897compilessrc\blake3\*intofyamland installsinclude\libfyaml\libfyaml-blake3.h; installed package containsinclude\libfyaml\libfyaml-blake3.h - Status: installed as part of the shipped library and public headers
- Assessment: bundled code is definitely shipped; its third-party notice coverage should be reviewed
- Evidence:
Optional Dependency Risks
-
Dependency / feature:
libyaml- Evidence: upstream auto-detects it with
find_package(yaml QUIET CONFIG)/pkg_check_modules(LIBYAML yaml-0.1)—buildtrees\libfyaml\src\...\CMakeLists.txt:210-227 - Why it is risky:
ports\libfyaml\vcpkg.jsondoes not declareyaml, andports\libfyaml\portfile.cmakedoes not explicitly disable or gate it. If present on the host, it changes the build by enablinglibfyaml-parser—CMakeLists.txt:1300-1335 - Suggested packaging change: explicitly disable this path or add a feature/dependency for it
- Evidence: upstream auto-detects it with
-
Dependency / feature:
Sphinx- Evidence: upstream does
find_program(SPHINX_EXECUTABLE)and conditionally installs generated manpages —CMakeLists.txt:1592-1654; otherwise it installs a canned fallback manpage —CMakeLists.txt:1665-1680 - Why it is risky: installed content varies with host tooling; builders with
sphinx-buildcan install extra manpages that are absent otherwise - Suggested packaging change: patch docs off, or force the canned-manpage path for reproducible packaging
- Evidence: upstream does
License / Installed Content Findings
-
Finding: declared
MITappears incomplete for the shipped contents- Declared license:
MIT - Observed installed content:
packages\libfyaml_x64-windows\bin\fyaml.dll,packages\libfyaml_x64-windows\tools\libfyaml\fy-tool.exe,packages\libfyaml_x64-windows\share\libfyaml\copyright - Evidence: installed copyright is only upstream MIT text; bundled
xxHashcarries BSD-2-Clause text (src\xxhash\xxhash.h:9-35), and bundled Windowsgetoptcarries BSD-3-Clause text (src\getopt\LICENSE.getopt) - Assessment: the port likely needs a broader SPDX expression and/or bundled third-party notices in the installed copyright
- Declared license:
-
Finding: bundled
BLAKE3code is shipped but not obviously covered by installed notices- Declared license:
MIT - Observed installed content:
packages\libfyaml_x64-windows\include\libfyaml\libfyaml-blake3.h - Evidence:
src\blake3\*is compiled intofyamland the public BLAKE3 header is installed —CMakeLists.txt:877-907,897 - Assessment: verify upstream licensing for the
src\blake3subtree and include any required attribution in the package metadata/notices
- Declared license:
Other Port Review Suggestions
- Suggestion: consider feature-gating the CLI tool
- Evidence:
fy-toolis always installed by upstream (CMakeLists.txt:1684-1690) and always copied by the port (ports\libfyaml\portfile.cmake:42) - Rationale: if the intended default is “library-only”, a
toolsfeature would reduce package surface and avoid always shipping the extra executable
- Evidence:
Recommended Follow-ups
- Audit the bundled
xxhash,getopt, andblake3subtrees and updatelicense/ installed notices accordingly. - Make
libyamldetection explicit: either disable it or model it as a feature with a declared dependency. - Remove host-tool variance from docs packaging by explicitly disabling Sphinx-generated docs or forcing the canned-manpage path.
483ad2b to
8c5df4b
Compare
|
@BillyONeal I appreciate the effort to make a review with the chatbot but would prefer a human, non overly verbose, and actionable review |
Supersedes #49474
./vcpkg x-add-version --alland committing the result.