[gifdec]: add new port - #53208
[gifdec]: add new port#53208Saikari (luadebug) wants to merge 14 commits into
Conversation
Billy O'Neal (BillyONeal)
left a comment
There was a problem hiding this comment.
There seem to be a lot of unresolved CVEs submitted to https://github.com/lecram/gifdec/issues ; GPT 5.6 explicitly points to lecram/gifdec#23 . I guess we technically don't typically reject things for that kind of reason but I fear for anyone trying to actually use this.
Thanks for the new port submission nonetheless!
| @@ -0,0 +1,3 @@ | |||
| @PACKAGE_INIT@ | |||
| include("${CMAKE_CURRENT_LIST_DIR}/unofficial-gifdec-targets.cmake") | |||
| check_required_components("gifdec") | |||
There was a problem hiding this comment.
GPT 5.6:
unofficial-gifdec-config.cmake.incallscheck_required_components("gifdec")although the package isunofficial-gifdec. Consequently,find_package(unofficial-gifdec REQUIRED COMPONENTS nonexistent)incorrectly succeeds.
There was a problem hiding this comment.
Thanks, it looks like resolved by your follow up PR. 👍🏻
| file(WRITE "${SOURCE_PATH}/LICENSE" [[gifdec is released into the public domain, as stated in its README file.]]) | ||
| vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") |
There was a problem hiding this comment.
| file(WRITE "${SOURCE_PATH}/LICENSE" [[gifdec is released into the public domain, as stated in its README file.]]) | |
| vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") | |
| vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/README") |
We generally don't want to write license text ourselves even for public domain stuff like this because we are not the copyright holders.
There was a problem hiding this comment.
Thanks, it looks like resolved by your follow up PR. 👍🏻
| int main() | ||
| { | ||
| gd_GIF *gif; | ||
| gif = gd_open_gif("test.gif"); |
There was a problem hiding this comment.
Should we give this thing a real gif? This probably just returns nullptr right now.
There was a problem hiding this comment.
I guess we aren't actually running it anyways
There was a problem hiding this comment.
I think if it was actually running it would become CVE nightmare 🐞 . So vcpkg-ci-%PORT% actually just checks build success but does not execute?
There was a problem hiding this comment.
So vcpkg-ci-%PORT% actually just checks build success but does not execute?
I mean, it does whatever portfile.cmake says. We have examples of both. For instance #53010 added a running example
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
[gifdec] Fix package metadata
We could apply that PR's diff as patch without storing it here. I dont know maybe its called "CVE-2022-43359". |
I try to not do that for PRs because any triggered re-merge GitHub does would invalidate the SHA512. |
|
Also, applying a change the upstream maintainers have not is the exact kind of "putting words in upstream's mouth" that we try to avoid most of the time. https://learn.microsoft.com/vcpkg/contributing/maintainer-guide#patching If upstream is gone enough that they have unfixed CVEs for that long that's a reason to not be in our registry in the first place. Is this something you're adding because you have a particular need for it or did you just go "adding the |
|
Drafted due to merge conflicts |
That is because I try to debundle that for aui PR, certainly adding MIT/Public Domain ones is maybe useful. |
So that's better option to store patch in vcpkg repo in that case? |
Yes please |
That is already in PR content by d1a4134 ? |
Sorry I wrote that at close to midnight half asleep; I was just replying to the question not re-reviewing. Unfortunately our robot overlords do not like the actual patch there:
Oh, I see, this is my fault for #53142 (review) Maybe we should just accept that the one thing vendoring this is the lesser of the available evils :( |
|
vcpkg-team-review with #53142 : keep gifdec vendored there and don't add this because it is an exploitable mess? |
|
Hi. I think "gifdec.h" and "gif_load.h" are not used anywhere once we git checkout to "v7.1.2" for "aui". The used headers are "nsgif.h" and "stb_image_write.h" and "stb_image.h". It is mine mistake to think to debundle them. |
Owner-Projectform.vcpkg.json, or explicitly disabled through patches or build system arguments such as CMAKE_DISABLE_FIND_PACKAGE_Xxx or VCPKG_LOCK_FIND_PACKAGEvcpkg.jsonmatches what upstream says.vcpkg.jsonmatches what upstream says../vcpkg x-add-version --alland committing the result.