Skip to content

[steamworks-sdk] New port#51368

Draft
Waffle0823 wants to merge 11 commits intomicrosoft:masterfrom
Waffle0823:master
Draft

[steamworks-sdk] New port#51368
Waffle0823 wants to merge 11 commits intomicrosoft:masterfrom
Waffle0823:master

Conversation

@Waffle0823
Copy link
Copy Markdown

  • Changes comply with the maintainer guide.
  • The packaged project shows strong association with the chosen port name. Check this box if at least one of the following criteria is met:
    • The project is in Repology: https://repology.org//versions
    • The project is amongst the first web search results for "" or " C++". Include a screenshot of the search engine results in the PR.
    • The port name follows the 'GitHubOrg-GitHubRepo' form or equivalent Owner-Project form.
  • Optional dependencies of the build are all controlled by the port. A dependency is controlled if it is declared an unconditional dependency in vcpkg.json, or explicitly disabled through patches or build system arguments such as CMAKE_DISABLE_FIND_PACKAGE_Xxx or VCPKG_LOCK_FIND_PACKAGE
  • 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 brief and accurate. See adding-usage for context. Don't add a usage file if the automatically generated usage is correct.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Exactly one version is added in each modified versions file.

@Waffle0823
Copy link
Copy Markdown
Author

please read the following Contributor License Agreement

@microsoft-github-policy-service agree

@BillyONeal BillyONeal marked this pull request as draft April 25, 2026 01:24
@BillyONeal
Copy link
Copy Markdown
Member

Drafting due to build failures.

@Waffle0823 Waffle0823 marked this pull request as ready for review April 25, 2026 07:55
Copy link
Copy Markdown
Member

@vicroms vicroms left a comment

Choose a reason for hiding this comment

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

This port is packaging prebuilt binaries and creating a CMake wrapper on top of those bits. Aside from that, the way it downloads the Steamworks SDK is not compatible with our asset caching mechanism.

if(STEAMWORKS_USE_SDK_MIRROR)
    set(SWSDK_LINK "https://github.com/Waffle0823/SteamworksSDK-Mirror/archive/refs/tags/v${SWSDK_VERSION}.tar.gz" CACHE STRING "Steamworks SDK download link")
else()
    string(REPLACE "." "" SWSDK_VERSION_NODOT "${SWSDK_VERSION}")
    set(SWSDK_LINK "https://partner.steamgames.com/downloads/steamworks_sdk_${SWSDK_VERSION_NODOT}.zip" CACHE STRING "Steamworks SDK download link")
endif()

_steamworks_download_sdk(STEAMWORKS_SDK_ROOT)

@Waffle0823
Copy link
Copy Markdown
Author

@vicroms
Can I ask is there any way to make pre-built assets compatible with asset caching system?

Copy link
Copy Markdown
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.

Can I ask is there any way to make pre-built assets compatible with asset caching system?

All touching the network needs to be in portfile.cmake and use vcpkg_download_distfile or one of the helpers that transitively calls that.

At a minimum "steamworks-sdk" seems to be known in repology for coming from https://partner.steamgames.com/downloads/list and it's not even clear that the sources this is using are supposed to be public. The content at https://github.com/Waffle0823/SteamworksSDK-Mirror does not have a license grant from Valve allowing that content to be redistributed, and all their official downloads go to a login page for me. The existence of https://github.com/Waffle0823/SteamworksSDK-Mirror may constitute copyright infringement.

I don't think even changing the name to waffle0823-steamworks-sdk to avoid the naming problem fixes the situation; I think we need a statement from Valve that this is acceptable, or a documented license allowing redistribution of this, to proceed.

@BillyONeal BillyONeal marked this pull request as draft April 29, 2026 07:34
@BillyONeal
Copy link
Copy Markdown
Member

https://partner.steamgames.com/documentation/sdk_access_agreement

I am not a lawyer but they appear to be explicitly prohibiting redistribution to me, emphasis mine:

1.1 License Grant. Valve hereby grants Licensee a nonexclusive, royalty-free, terminable, worldwide, nontransferable license to:

(a) use and locally reproduce the SDK in source code form, solely to develop the Licensee Software; and

@Waffle0823
Copy link
Copy Markdown
Author

Waffle0823 commented Apr 29, 2026

https://partner.steamgames.com/documentation/sdk_access_agreement

I am not a lawyer but they appear to be explicitly prohibiting redistribution to me, emphasis mine:

1.1 License Grant. Valve hereby grants Licensee a nonexclusive, royalty-free, terminable, worldwide, nontransferable license to:
(a) use and locally reproduce the SDK in source code form, solely to develop the Licensee Software; and

Thanks for your response.
I’m currently checking with Steam Support to confirm the licensing details. Once that’s clarified, I’ll update port.cmake to support the vcpkg caching system.

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