Skip to content

Conversation

@toge
Copy link
Contributor

@toge toge commented Nov 1, 2025

  • Changes comply with the maintainer guide.
  • The name of the port matches an existing name for this component on https://repology.org/ if possible, and/or is strongly associated with that component on search engines.
  • Optional dependencies are resolved in exactly one way. For example, if the component is built with CMake, all find_package calls are REQUIRED, are satisfied by vcpkg.json's declared dependencies, or disabled with CMAKE_DISABLE_FIND_PACKAGE_Xxx.
  • The versioning scheme in vcpkg.json matches what upstream says.
  • The license declaration in vcpkg.json matches what upstream says.
  • The installed as the "copyright" file matches what upstream says.
  • The source code of the component installed comes from an authoritative source.
  • The generated "usage text" is accurate. See adding-usage for context.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Only one version is in the new port's versions file.
  • Only one version is added to each modified port's versions file.

https://github.com/repology/libversion

vcpkg_fixup_pkgconfig()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig")
Copy link
Contributor

Choose a reason for hiding this comment

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

There are different binaries, there must be different pc files.

@BillyONeal
Copy link
Member

[x] The name of the port matches an existing name for this component on https://repology.org/ if possible, and/or is strongly associated with that component on search engines.

https://github.com/microsoft/vcpkg/pull/48066/files#diff-551cef7e324008f4f42c59d78363096452294c9867d9b0ea418e530912f152d9R5 👀

Not every day we see this line EXTRA met

Copy link
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

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

Thanks for the new port!

@BillyONeal BillyONeal merged commit 46a114b into microsoft:master Nov 3, 2025
18 checks passed
@dg0yt dg0yt mentioned this pull request Nov 6, 2025
7 tasks
@dg0yt
Copy link
Contributor

dg0yt commented Nov 6, 2025

This port breaks Windows packages.

libversion:arm64-windows-static-md:/debug/lib/version.lib
libversion:arm64-windows-static-md:/lib/version.lib

hides Version.lib from Windows, leading to

SDL2-staticd.lib(SDL_windowskeyboard.c.obj) : error LNK2019: unresolved external symbol GetFileVersionInfoSizeA referenced in function IME_GetId
SDL2-staticd.lib(SDL_windowskeyboard.c.obj) : error LNK2019: unresolved external symbol GetFileVersionInfoA referenced in function IME_GetId
SDL2-staticd.lib(SDL_windowskeyboard.c.obj) : error LNK2019: unresolved external symbol VerQueryValueA referenced in function IME_GetId

https://learn.microsoft.com/en-us/windows/win32/api/winver/nf-winver-getfileversioninfoa

BillyONeal added a commit to BillyONeal/libversion that referenced this pull request Nov 7, 2025
"version.lib" is in the Windows SDK and provides Windows functions like `GetFileVersionInfo`. After we added a `libversion` port to vcpkg, we now see other ports fail to build as a result of this conflict. See for example:

```console
SDL2-staticd.lib(SDL_windowskeyboard.c.obj) : error LNK2019: unresolved external symbol GetFileVersionInfoSizeA referenced in function IME_GetId
SDL2-staticd.lib(SDL_windowskeyboard.c.obj) : error LNK2019: unresolved external symbol GetFileVersionInfoA referenced in function IME_GetId
SDL2-staticd.lib(SDL_windowskeyboard.c.obj) : error LNK2019: unresolved external symbol VerQueryValueA referenced in function IME_GetId
```

microsoft/vcpkg#48066

The .pc file seems to only ever select a static version, so I used the static output name there.
@BillyONeal
Copy link
Member

I submitted repology/libversion#40

BillyONeal added a commit to BillyONeal/vcpkg that referenced this pull request Nov 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants