Skip to content

[lib3mf] New port. Introduces version 2.3.2#39886

Merged
BillyONeal merged 65 commits intomicrosoft:masterfrom
3MFConsortium:master
Aug 1, 2024
Merged

[lib3mf] New port. Introduces version 2.3.2#39886
BillyONeal merged 65 commits intomicrosoft:masterfrom
3MFConsortium:master

Conversation

@vijaiaeroastro
Copy link
Copy Markdown
Contributor

This PR introduces a new port for lib3mf. The version is 2.3.2

  • 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.

@vijaiaeroastro
Copy link
Copy Markdown
Contributor Author

@microsoft-github-policy-service agree company="3MF Consortium"

@vijaiaeroastro vijaiaeroastro marked this pull request as ready for review July 12, 2024 17:35
@WangWeiLin-MV WangWeiLin-MV added the category:new-port The issue is requesting a new library to be added; consider making a PR! label Jul 15, 2024
@vijaiaeroastro
Copy link
Copy Markdown
Contributor Author

@dg0yt I have made the following changes

  • Removed all instances where i checked for "vcpkg" tool chain
  • Removed dependency version from vcpkg.json file and lib3mfConfig.cmake files

I will discuss and implement your other suggestions in the upstream project in future releases.

@vijaiaeroastro
Copy link
Copy Markdown
Contributor Author

@WangWeiLin-MV Could you please let me know if all the issues have been resolved? Thanks.

vijaiaeroastro and others added 2 commits July 30, 2024 13:30
Co-authored-by: WangWeiLin-MV <156736127+WangWeiLin-MV@users.noreply.github.com>
@vijaiaeroastro
Copy link
Copy Markdown
Contributor Author

@WangWeiLin-MV I have committed the requested changes.

Copy link
Copy Markdown
Contributor

@WangWeiLin-MV WangWeiLin-MV left a comment

Choose a reason for hiding this comment

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

The port usage tests pass with the following triplets:

  • x64-linux
  • x64-windows

Invalid check after update.

vijaiaeroastro and others added 2 commits July 30, 2024 16:36
Co-authored-by: WangWeiLin-MV <156736127+WangWeiLin-MV@users.noreply.github.com>
WangWeiLin-MV
WangWeiLin-MV previously approved these changes Jul 31, 2024
Copy link
Copy Markdown
Contributor

@WangWeiLin-MV WangWeiLin-MV left a comment

Choose a reason for hiding this comment

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

The port usage tests pass with the following triplets:

  • x64-linux
  • x64-windows

@WangWeiLin-MV WangWeiLin-MV added the info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this. label Jul 31, 2024
@vijaiaeroastro
Copy link
Copy Markdown
Contributor Author

@WangWeiLin-MV @dg0yt Thank you so much for valuable time and comments.

Comment on lines +115 to +116
+ find_dependency(libzip)
+ find_dependency(ZLIB)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Here these are controlled by VCPKG_TOOLCHAIN but elsewhere they're controlled by separate options. What controls find_dependency should always match what controls it in the CMakeLists.txt

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.

As written the patch seems inapplicable for either the goal of minimizing the size of the patch in vcpkg, as well as the goal of matching exactly what upstream should do. To that end, I would like to see something like one of the following.

Option A: Minimize the size of the patch to only what vcpkg needs to touch, I've submitted as 3MFConsortium#2

Option B: Actually wire up the new options correctly with respect to what upstream needs to do to be correct in their CMake configs; I've submitted that as 3MFConsortium#3

@BillyONeal BillyONeal removed the info:needs-maintainer-attention Lets the current 'on rotation' vcpkg maintainer know they need to look at this. label Aug 1, 2024
Reduce the size of the patch by removing optionality vcpkg does not use.
@vijaiaeroastro
Copy link
Copy Markdown
Contributor Author

@BillyONeal Thank you so much for taking the time. I have accepted your Option A. Kindly check and let me know if its good enough to be approved.

Copy link
Copy Markdown
Contributor

@WangWeiLin-MV WangWeiLin-MV left a comment

Choose a reason for hiding this comment

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

The port usage tests pass with the following triplets:

  • x64-linux
  • x64-windows

@BillyONeal BillyONeal merged commit ba0cb49 into microsoft:master Aug 1, 2024
@BillyONeal
Copy link
Copy Markdown
Member

Thanks for the new port!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:new-port The issue is requesting a new library to be added; consider making a PR!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants